Вы находитесь на странице: 1из 9

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 1

Pag.

IMPLEMENTACIN DE CLUSTERS BEOWULF COMO FIREWALL


Luis Alejandro Fletscher Bocanegra
lfletscher@ucauca.edu.co Facultad de Ingeniera Electrnica y telecomunicaciones Universidad del Cauca

Resumen
La Seguridad Computacional es un aspecto de vital importancia hoy en da en las redes de datos, la necesidad de proteger la privacidad y autenticidad de la informacin manejada ha llevado a buscar mecanismos que resguarden el interior de la red de las amenazas presentes en Internet. Uno de los mecanismos preferidos son los denominados Firewalls ya que permiten mantener control sobre el funcionamiento de la red y la informacin que esta intercambia con el exterior. El presente artculo muestra la forma en que la tecnologa de computacin distribuida Clusters BeoWulf puede utilizarse para servir de soporte a la seguridad de las redes de datos, especficamente como sistema Firewall. Esta ponencia es producto del proyecto que actualmente est desarrollando la lnea de Seguridad Computacional del grupo de I+D en Tecnologas de la Informacin de la Universidad del Cauca.

necesario contar con sistemas robustos de gran capacidad de procesamiento. Beowulf no es un paquete de software especial, ni una nueva topologa de red ni un ncleo modificado. Beowulf es una tecnologa para agrupar computadores basados en el sistema operativo Linux buscando formar un supercomputador virtual paralelo. En 1994 bajo el patrocinio del proyecto ESS del Centro de la Excelencia en Ciencias de los Datos y de la Informacin del Espacio (CESDIS), Thomas Sterling y Don Becker crearon el primer cluster Beowulf con fines de investigacin.

2. Qu es un BeoWulf?
Famed was this Beowulf: far flew the boast of him, son of Scyld, in the Scandian lands. So becomes it a youth to quit him well with his father's friends, by fee and gift, that to aid him, aged, in after days, come warriors willing, should war draw nigh, liegemen loyal: by lauded deeds shall an earl have honor in every clan. Beowulf es el poema pico ms antiguo que se conserva escrito en ingls. Es la historia de un hroe de gran fuerza y valenta que derrot a un monstruo llamado Grendel. A pesar de que existen diversas definiciones de lo que es un cluster

Palabras Claves
BeoWulf, Firewall, Linux, Seguridad.

1. Introduccin
Una de las herramientas de ms auge en la actualidad son los llamados cluster Beowulf, los cuales presentan diversas capacidades para el cmputo paralelo con un relativo alto rendimiento, siendo muy atractivo para campos como el de la seguridad computacional donde se hace

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 2

Pag.

BeoWulf, a continuacin se enuncia una posible definicin que trata de armonizar las diferentes opiniones: Beowulf es una arquitectura multicomputador que puede ser usada para computacin paralela. Es un sistema que generalmente consiste en un nodo servidor y uno o varios nodos clientes conectados a travs de Ethernet u otro sistema de red. Es un sistema construido mediante hardware corriente, como cualquier PC capaz de ejecutar Linux, tarjetas de red Ethernet y cables. No contiene ningn componente hardware especfico y es fcilmente reproducible. Beowulf tambin usa software corriente, como el sistema operativo Linux, la Parallel Virtual Machine (PVM) y el Message Passing Interface (MPI). El nodo servidor controla el cluster completo y sirve los ficheros a los nodos clientes. De igual forma hace de consola del cluster y es su enlace con el mundo exterior. Los grandes sistemas Beowulf pueden tener ms de un nodo servidor, y tambin algunos nodos dedicados a tareas especficas, en la mayora de los casos, los nodos clientes de un sistema Beowulf son mudos, y cuanto ms mudos, mejor. Los nodos son configurados y controlados por el nodo servidor, y slo hacen lo que se les dice que hagan. En las configuraciones donde los clientes no tienen discos, los nodos clientes ni siquiera conocen su IP hasta que el servidor les dice cul es, generalmente los nodos clientes no tienen teclado ni monitor, y slo se puede acceder a ellos a travs de acceso remoto o por medio de terminales serie. Puede pensarse en un nodo Beowulf como un conjunto CPU + memoria que puede ser conectado al cluster, del mismo modo que una CPU o un mdulo de memoria puede ser

conectado a una placa base. En la figura 1 podemos observar la arquitectura de un sistema BoeWulf.

Fig. 1 Arquitectura de Cluster Beowulf A pesar de que hay muchos paquetes de software, como modificaciones del ncleo, bibliotecas para PVM y MPI y herramientas de configuracin que hacen ms rpida, fcil de configurar y de usar la arquitectura Beowulf, cualquiera puede construir una mquina de tipo Beowulf usando una distribucin normal de Linux sin ningn software adicional, si se poseen dos computadores Linux en red que comparten el sistema de ficheros /home via NFS y se permiten ejecutar shells remotos (rsh), entonces podra decirse que se tiene una mquina Beowulf simple de dos nodos. 2.1 Clasificacin de los BeoWulf Los sistemas Beowulf han sido construidos con piezas de muy distintos tipos. Para obtener el mximo rendimiento, a veces se han empleado componentes especializados, no de consumo masivo. Con el objetivo de enumerar los distintos tipos de sistemas se ha prepuesto la siguiente clasificacin: BEOWULF CLASE I Este tipo de mquinas son construidas completamente a partir de componentes

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 3

Pag.

comerciales, los que se pueden encontrar en tiendas, revistas y catlogos de todo el mundo. BEOWULF CLASE II Un Beowulf CLASE II es cualquier mquina que no pasa el test de Computer Shopper (alguno de sus componentes no aparece en, al menos, tres catlogos de productos de diferentes pases). Esto no es necesariamente malo, en realidad, es slo una forma de clasificar las mquinas. Una clase no es necesariamente mejor que la otra. Todo depende de las necesidades y el presupuesto disponible. 2.2 Diseo del sistema A la hora de construir un cluster Beowulf es necesario tener en cuenta diversos factores para el diseo del mismo de forma que las decisiones a tomar contribuyan al mejor desenvolvimiento de la mquina segn los propsitos para los cuales se implementan. Los diferentes puntos que se deben estudiar en el diseo de un cluster Beowulf son los siguientes. a. Disco Existen varios mtodos para configurar los medios de almacenamiento en un cluster Beowulf, los cuales difieren en rendimiento, precio y facilidades en la administracin. Clientes sin disco (Disk-less) Los nodos esclavos o clientes no poseen disco duro interno y toman todos los sistemas de archivos a travs de la red. Es el nodo maestro el que proporciona a travs de NFS los sistemas de archivos para los nodos esclavos. Instalacin Clientes Local Completa en los

Todo el software, tanto el sistema operativo como las aplicaciones, son instaladas en los discos internos de cada nodo cliente. Esta configuracin reduce a cero el trfico NFS para obtener el sistema operativo o cualquier otra aplicacin por parte de los nodos esclavos. Instalacin NFS Estndar Esta configuracin es el punto medio de las dos anteriores. El sistema operativo se encuentra en los discos internos de los nodos esclavos y estos obtienen los directorios home de los usuarios y los sistemas de archivos que contienen las aplicaciones, a travs de NFS, desde el nodo maestro. Sistemas de Archivos Distribuidos Los sistemas de archivos son aquellos que son compartidos por todos los nodos, es decir, cada nodo posee una parte del sistema de archivos lo cual incrementa la velocidad en los accesos a la informacin debido a la presencia de ms de un dispositivo fsico para el manejo de los datos. Sin embargo, esta configuracin esta en fase experimental y por esta razn no es recomendada. b. Memoria La seleccin de la cantidad de memoria depende de dos factores primordialmente, los recursos econmicos con que se cuentan y los requerimientos de memoria de las aplicaciones que se ejecutarn en el cluster. La razn principal para contar con una capacidad de memoria razonable es evitar que las aplicaciones necesiten de reas de swap para continuar con su ejecucin normal. Intercambiar localidades de memoria hacia el rea de swap reduce considerablemente el rendimiento de los programas. Se debe

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 4

Pag.

tomar en cuenta que en algunas configuraciones del cluster (Disk-less) no es posible contar con particiones destinadas para memoria virtual debido a la ausencia de discos locales, lo cual impone una razn de peso para instalar memoria RAM suficiente. c. Procesador Los clusters generalmente son construidos con procesadores Alpha o Intel x86. La utilizacin de otro tipo de procesador es permitido, sin embargo, no se consideran de uso comn, ya que se elimina una de las principales caractersticas de Beowulf (uso de componentes comunes), la cual permite reemplazar de forma fcil y con bajos costos cualquier componente del sistema. d. Simetric MultiProcessor (SMP) Las mquinas con ms de un procesador son utilizadas comnmente en clusters Beowulf debido a la gran capacidad de prestaciones que proporcionan. Una de las principales ventajas en la utilizacin de SMP, adems del incremento de poder, es la reduccin de la cantidad de tarjetas de red y por supuesto el trfico en la red. e. Red La topologa de red recomendada es un Bus, debido a la facilidad para proporcionar escalabilidad a la hora de agregar nuevos nodos al cluster. Protocolos como Ethernet, Fast Ethernet, 10/100 Mbps Switched Ethernet, etc, son tecnologas apropiadas para ser utilizadas en Beowulf.

barrera que el fuego de un posible incendio no sea capaz de atravesar. De igual forma en la mecnica automotriz, se lo considera una lmina protectora/separadora entre el habitculo de un vehculo y las partes combustibles del motor, que protege a sus pasajeros en caso de incendio. En el campo de la seguridad computacional, un Firewall es una aplicacin o sistema que acta como intermediario entre dos redes restringiendo la comunicacin entre ellas mediante un conjunto de reglas definidas, es decir, software o hardware, que con la intencin de aumentar la seguridad de una comunicacin, la filtra. En otras palabras, protege una red privada del resto de la red (pblica), garantizando que si nuestra red tiene algn tipo de conexin hacia el mundo exterior, o hacia otras redes, sta sea segura, evitando violaciones, y permitiendo pasar slo los paquetes de red autorizados, por tal motivo se deben configurar los Firewalls para lograr que sean transparente a los usuarios normales de la red, y totalmente slido para los "otros usuarios". La figura 2 nos muestra la estructura de un Firewall.

3. Firewalls
Firewall es el trmino que se emplea para referirse a una franja de bosque que se limpia de rboles, vegetacin, y cualquier materia inflamable, con el fin de crear una

Figura 2 Estructura de un Firewall

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 5

Pag.

Sin duda el mejor firewall es el que no genera una huella visible en una red, es el que posee un sistema operativo que es totalmente desconocido, o que no posee un sistema operativo en el concepto completo que todos poseemos del mismo. Hoy en da, existen productos que permiten, a travs de algoritmos muy avanzados, generar redes privadas virtuales en Internet, a travs de la desaparicin de las mquinas que se estn conectando, ya que el nuevo protocolo no necesita de direccin IP para lograr el xito de la comunicacin, el mismo se basa en el concepto de la creacin de un "tnel" dentro de internet. 3.1 Funcionamiento Bsico de los Firewall De forma muy somera se puede describir la implementacin y el funcionamiento bsico de un Firewall de la siguiente manera: Se toma un computador con capacidad de enrutar (por ejemplo un PC con LiNUX). Se le ponen dos interfaces (por ejemplo interfaces serie, o ethernet, o de paso de testigo en anillo (Token Ring), etc...) Se le deshabilita el reenvo de paquetes IP (IP forwarding) Se conecta una interfaz a la Internet Se conecta la otra interfaz a la red que se quiere proteger Ahora hay dos redes distintas que comparten un computador, el computador Firewall, el cual puede comunicarse tanto con la red protegida como con Internet. La red protegida no puede comunicarse con Internet, y la Internet no puede comunicarse con la red protegida, dado que

se ha deshabilitado el reenvo IP en el nico computador que las conecta. Si se quiere llegar a la Internet desde la red protegida inicialmente se debe utilizar el Firewall, y acceder a la Internet desde l. Del mismo modo, para acceder a la red protegida desde la Internet, se debe antes pasar por el Firewall. Este es un mecanismo de seguridad excelente contra ataques desde la Internet. Si alguien quiere atacar la red protegida, primero tiene que atravesar el Firewall, de esta manera el ataque se divide en dos pasos, y, por lo tanto, se dificulta. Si alguien quiere atacar la red protegida por mtodos ms comunes, como el bombardeo de emails, o el nefasto "Gusano de Internet", simplemente no podr alcanzarla. 3.2 Esquemas de proteccin Firewall Para poder configurar un firewall correctamente, se debe tener una idea de la red que se desea proteger, por lo que se deben estudiar todos los posibles puntos de acceso a la misma. Ahora bien, luego de tener un mapa de la red a proteger, quiz existan varias posibilidades de configuracin y/o ubicacin del Firewall. En el primer caso, se vislumbra la necesidad de proteger la red interna por completo desde un punto de acceso nico, tal y como se muestra en la figura 3. Este es el esquema ms sencillo, ya que no se poseen zonas abiertas al publico, y slo se garantiza el acceso a la red a aquellos usuarios que estn especficamente validados para navegar dentro de la red interna, as como a pasar a travs del Firewall.

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 6

Pag.

desarrollados para que las mquinas se comuniquen, no para restringir su comunicacin. Tal es el caso de TCP/IP, el cual es un protocolo que donde aparece genera el efecto broadcast, es decir, al igual que las ondas de radio, puede ser captado por cualquier aparato que "entienda" el lenguaje en el que ha sido transmitido. Esto tiene sus pros y sus contras, a saber: Cualquier mquina puede captar sus paquetes Cualquier mquina puede SNIFFEAR sus paquetes Un filtro de paquetes, o packet filter, es un sistema, de software o hardware embebido que valindose de la lectura de los headers de cada paquete, realiza un "accept" (aceptacin del paquete), "reject" (descarte del paquete, informando de donde vino), o un " deny" (descarte del paquete, sin dejar huellas). Lo ms interesante de todo, es que Linux, con su sencillez, posee la capacidad de realizar filtrado de paquetes en su propio kernel, as como un gran conjunto de acciones a desarrollar con los mismos, por lo que los BeoWulf (soportados por Linux) se convierten en un Firewall ideal.

Figura 3 Proteccin total de la red mediante un Firewall De igual forma tambin se puede buscar proteger a un host en particular de los ataques provenientes de Internet, y en el segundo caso, se busca, dentro de una red, proteger de los propios usuarios de la misma a un host en particular, que puede ser el servidor web, algn host conteniendo informacin de caractersticas bastante crticas, en lo que a seguridad de informacin se trata. Lo que se observa comn a todas las configuraciones, es que siempre el firewall est separando dos puntos de la red, es por esto que el presente proyecto se centrar en este esquema. Como es sabido el trfico entre las mquinas de una red se manifiesta en forma de paquetes, estos, en su primera seccin, indican de su origen, destino, tipo de paquete que son, y dems informaciones para uso del protocolo en s mismo. Esta seccin del paquete es conocida como "header", o cabecera, todo el resto del paquete contiene los datos intrnsecos que estn siendo transmitidos, esta seccin es conocida como el "body", o cuerpo del paquete. Como es de esperar, para que se genere la conexin entre dos mquinas, se debe entablar primero un dilogo para lo que son necesarios los paquetes de setup. Es conveniente saber que cierto tipo de redes, y de protocolos, han sido

4. BeoWulf como Firewall


Una vez especificados los conceptos bsicos sobre BeoWulf y Firewalls veremos la forma de integrar estas tecnologas buscando utilizar las caractersticas de los primeros para que realicen las funciones de los segundos. El procedimiento a seguir para la implementacin del BeoWulf como

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 7

Pag.

Firewall se describe en las secciones siguientes. 4.1 Configuracin del hardware El paso inicial para implementar el BeoWulf como Firewall consiste en configurar los diferentes computadores que servirn de nodo maestro y de nodos esclavos, teniendo en cuenta los requerimientos fsicos del sistema (procesadores, tarjetas de red, memoria, discos duros, etc.) especialmente los del servidor maestro, de acuerdo a las aplicaciones para las que ser utilizado y al tipo de configuracin de BeoWulf que se haya decidido (nodos inteligentes, nodos totalmente dependientes, etc). 4.2 Instalacin y configuracin del Software El siguiente paso a implementar es la instalacin del S.O que servir como soporte para la aplicacin, en el caso especfico de los BeoWulf se trata de Linux (distribuciones como Red Hat, Caldera o Slackware funcionan perfectamente para este tipo de sistemas). De acuerdo al tipo de arquitectura que se haya escogido para el BeoWulf se tendrn dos casos generales: Se utiliza el Servidor maestro como sistema de almacenamiento de la informacin de todo el BeoWulf, y los nodos esclavos trabajando sin discos duros y tomando los archivos necesarios del maestro (en este caso se requiere que el servidor maestro posea alta capacidad de procesamiento y almacenamiento). Tanto el servidor maestro como los terminales esclavos poseen discos duros y por lo tanto pueden albergar de

forma total o parcial (en el caso de los esclavos) los archivos del sistema. Es recomendable que las versiones de Linux que se instalen tanto al servidor maestro como a los nodos esclavos sean la misma para evitar futuros problemas de incompatibilidad en cuanto a la comunicacin entre procesos. De igual forma, en lo referente a los servicios a elegir durante la instalacin de Linux no es necesario que se seleccionen todos, bsicamente se requieren los relacionados con soporte para red y exclusivamente aquellos que se vayan a utilizar, esta discriminacin debe ser an ms rigurosa si se instala Linux en los nodos esclavo ya que estos generalmente no poseen gran capacidad de almacenamiento ni de procesamiento. 4.3 Instalacin y configuracin de aplicaciones especficas para BeoWulf A pesar de que Linux por si mismo provee las capacidades para el desarrollo del BeoWulf existen algunas herramientas que facilitan su gestin y funcionamiento y que seria conveniente tenerlas en nuestro servidor maestro siempre y cuando sus capacidades lo permitan. Entre dichas aplicaciones tenemos: secure shell. El acceso al cluster se hace por medio de secure shell, para incrementar la seguridad, por lo tanto el acceso a travs de telnet est restringido. Mosix. Es una herramienta diseada para realizar balanceo de cargas en el cluster de forma totalmente transparente de manera tal que los nodos del cluster se comportan como una sola mquina, y de esta manera

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 8

Pag.

incrementar el aprovechamiento de cada uno de los nodos. bWatch (Beowulf Watch). Es un programa para el monitoreo de los nodos que integran un cluster. PVM (Parallel Virtual Machine). Es un paquete de software que permite a una coleccin heterognea de computadoras, con sistema operativo UNIX, que estn conectadas a travs de una red, ser usadas como una sola mquina paralela. Una vez configurado el BeoWulf y realizadas las pruebas que garanticen su correcto funcionamiento se prosigue con la configuracin de este como Firewall, utilizando para ello las herramientas que provee Linux y adaptndose a la arquitectura elegida para este sistemas de acuerdo a las necesidades de la red. 4.4 Configuracin del BeoWulf como Firewall Para la configuracin del firewall se pude utilizar la herramienta IPChains disponible en las versiones recientes de Linux, el ipchains soporta una gran variedad de posibles configuraciones, permitiendo apuntar reglas a accept (aceptacin del paquete), deny (descarte del paquete, sin dejar huellas), reject (descarte del paquete, informando de donde vino), masq, redirect (redireccionar los paquetes al lugar especificado) o return (retornar el paquete a su origen) o a una cadena definida por el usuario. Como tal esta herramienta es bastante eficiente, se podra, por ejemplo, redireccionar todos los paquetes destinados al puerto 80 (trfico www) de la puerta de enlace para que se redirijan al puerto local 3128, el correspondiente a un servidor

proxy. Tambin se puede utilizar esto junto con el routing de calidad de servicio, para priorizar el trfico sobre un enlace PPP, se le puede dar una prioridad ms alta al trfico de telnet que al de, por ejemplo, ftp, reduciendo los problemas de latencia causados por un enlace saturado. Por lo general se crea un fichero /etc/rc.d/init.d/ipchains-sh (o en cualquier otro lugar apropiado) y se inicia inmediatamente despus de que arranca la red, lo cual deja un tiempo pequeo durante el cual el servidor es vulnerable, pero de forma mnima, pues todava no se estn ejecutando demonios de red.

5. Conclusin
A pesar de ser un tecnologa relativamente antigua y poco explotada en nuestro pas, los clusters BeoWulf se convierten en una excelente alternativa para aplicaciones que requieren gran capacidad de procesamiento y en nuestro caso especfico para aplicaciones de seguridad, ya que por sus caractersticas e implicaciones esta es un rea donde se hace indispensable que los sistemas sean cada da ms robustos y giles. Adicionalmente al atractivo que implica la gran capacidad de procesamiento que se puede obtener, los BeoWulf cuentan con la enorme ventaja de ser sistemas que se pueden implementar utilizando herramientas software y hardware de uso libre y fcil configuracin, siendo por lo tanto muy viable su ejecucin prctica.

6. Referencias
http://beowulf.gsfc.nasa.gov/ http://www.insflug.org/ http://swift.lanl.gov/avalon/ http://www.nas.nasa.gov/Software/NPB

Implementacin de Clusters BeoWulf como Firewall

Universidad del Cauca Facultad de Ingeniera Electrnica y Telecomunicaciones 9

Pag.

http://www.linux.org.ar/AULA/biblioteca/t ecnicos/firewalls/HSaltiel-1.htm http://segurinet.com/gsal http://www.linuxspain.org/docs/manuales

Implementacin de Clusters BeoWulf como Firewall

Вам также может понравиться