SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en...

22
SISTEMAS DISTRIBUIDOS Introducción a los Firewalls Alumnos: Cristian Caridi C-2936/0 Gustavo Ruiz Sánchez R-1899/6 Jorge Sebastián Arribas A-1682/9

Transcript of SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en...

Page 1: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

SISTEMAS DISTRIBUIDOS

Introducción a los Firewalls

Alumnos:Cristian Caridi C-2936/0Gustavo Ruiz Sánchez R-1899/6Jorge Sebastián Arribas A-1682/9

Page 2: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

Índice

1Prólogo (4)..........................................................................................................................................32TCP/IP. Introducción..........................................................................................................................43 Vulnerabilidades de los protocolos TCP/IP (1).................................................................................5

3.1Suplantación de IP (Spooffing):.................................................................................................. 53.2Conexiones secuestradas (hijacking): .........................................................................................53.3Ataques por husmeo (sniffing) o escucha secreta (eavesdropping): ...........................................63.4Denegación del servicio (Denial of Service - DoS):................................................................... 6

4¿Qué es un Firewall?.......................................................................................................................... 65Tecnologías de Firewalls ................................................................................................................... 7

5.1Packet Filtering Firewall (Filtrado de Paquetes)......................................................................... 75.2Stateful Inspection Firewall (inspección con estado).................................................................. 95.3Proxy Firewall a nivel de Aplicación (Aplication Level Firewall Proxy)................................. 105.4 Servidor Proxy SOCKS............................................................................................................ 11

6Ejemplo sobre el funcionamiento de los distintos Firewalls para el caso de FTP............................126.2Utilizando un Filtrado de Paquetes............................................................................................136.4Utilizando un Proxy a nivel de aplicación.................................................................................146.5Utilizando un Stateful Inspection Firewall................................................................................15

8Arquitecturas de firewalls.................................................................................................................168.1Screening router ( router con filtrado de paquetes ).................................................................. 168.3Dual-Homed Host (anfitriones de bos bases)............................................................................ 178.6Screened Host ........................................................................................................................... 188.7Screened Subnet (DMZ) ...........................................................................................................19

11Consideraciones y problemas de firewall ...................................................................................... 2113Terminología.................................................................................................................................. 2114Bibliografia.....................................................................................................................................22

Page 3: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

1 Prólogo (4)

En la actualidad, las organizaciones son cada vez más dependientes de sus redes informáticas y unproblema que las afecte, por mínimo que sea, puede llegar a comprometer la continuidad de lasoperaciones.La falta de medidas de seguridad en las redes es un problema que está en crecimiento. Cada vez esmayor el número de atacantes y cada vez están más organizados, por lo que van adquiriendo día adía habilidades más especializadas que les permiten obtener mayores beneficios. Tampoco debensubestimarse las fallas de seguridad provenientes del interior mismo de la organización.La propia complejidad de la red es una dificultad para la detección y corrección de los múltiples yvariados problemas de seguridad que van apareciendo. En medio de esta variedad, han idoaumentando las acciones que comprometen la privacidad y la propiedad de recursos y sistemas.“Hackers”, “crakers”, entre otros, han hecho aparición en el vocabulario ordinario de los usuarios yde los administradores de las redes. Además de las técnicas y herramientas criptográficas, esimportante recalcar que un componente muy importante para la protección de los sistemas consisteen la atención y vigilancia continua y sistemática por parte de los responsables de la red.La seguridad informática ha adquirido gran auge, dadas las cambiantes condiciones y las nuevasplataformas de computación disponibles. La posibilidad de interconectarse a través de redes, haabierto nuevos horizontes que permiten explorar más allá de las fronteras de la organización. Estasituación ha llevado a la aparición de nuevas amenazas en los sistemas computarizados.

El objetivo de esta monografía es realizar una introducción a una de las maneras de proporcionarseguridad a una red basada en TCP/IP (intranet o internet): utilizando firewalls

Sistemas Distribuidos - 2002 Firewalls 3 de 22

Page 4: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

2 TCP/IP. IntroducciónInternet no es un nuevo tipo de red física, sino un conjunto de tecnologías que permiteninterconectar redes muy distintas entre sí. Internet no es dependiente de la máquina ni del sistemaoperativo utilizado. De esta manera, podemos transmitir información entre un servidor Unix y unordenador que utilice Windows 98. O entre plataformas completamente distintas como Macintosh,Alpha o Intel. Es más: entre una máquina y otra generalmente existirán redes distintas: redesEthernet, redes Token Ring e incluso enlaces vía satélite. Como vemos, está claro que no podemosutilizar ningún protocolo que dependa de una arquitectura en particular. Lo que se buscó es unmétodo de interconexión general que sea válido para cualquier plataforma, sistema operativo y tipode red. La familia de protocolos que se eligieron para permitir que Internet sea una Red de redes esTCP/IP. Hablamos de familia de protocolos ya que son muchos los protocolos que la integran,aunque en ocasiones para simplificar hablamos sencillamente del protocolo TCP/IP. El protocolo TCP/IP tiene que estar a un nivel superior del tipo de red empleado y funcionar deforma transparente en cualquier tipo de red. Y a un nivel inferior de los programas de aplicación(páginas WEB, correo electrónico…) particulares de cada sistema operativo. Todo esto sugiere elsiguiente modelo de referencia:

Capa de aplicación (HTTP, SMTP, FTP, TELNET...)Capa de transporte (UDP, TCP)

Capa de red (IP)Capa de acceso a la red (Ethernet, Token Ring...)

Capa física (cable coaxial, par trenzado...)

El nivel más bajo es la capa física. Aquí nos referimos al medio físico por el cual se transmite lainformación. Generalmente será un cable aunque no se descarta cualquier otro medio de transmisióncomo ondas o enlaces vía satélite.La capa de acceso a la red determina la manera en que las estaciones (ordenadores) envían yreciben la información a través del soporte físico proporcionado por la capa anterior. Es decir, unavez que tenemos un cable, ¿cómo se transmite la información por ese cable? ¿Cuándo puede unaestación transmitir? ¿Tiene que esperar algún turno o transmite sin más? ¿Cómo sabe una estaciónque un mensaje es para ella? Pues bien, son todas estas cuestiones las que resuelve esta capa. Las dos capas anteriores quedan a un nivel inferior del protocolo TCP/IP, es decir, no forman partede este protocolo. La capa de red define la forma en que un mensaje se transmite a través de distintos tipos de redeshasta llegar a su destino. El principal protocolo de esta capa es el IP aunque también se encuentran aeste nivel los protocolos ARP, ICMP e IGMP. Esta capa proporciona el direccionamiento IP ydetermina la ruta óptima a través de los encaminadores (routers) que debe seguir un paquete desdeel origen al destino. La capa de transporte (protocolos TCP y UDP) ya no se preocupa de la ruta que siguen losmensajes hasta llegar a su destino. Sencillamente, considera que la comunicación extremo aextremo está establecida y la utiliza. Además añade la noción de puertos. Una vez establecida la comunicación desde el origen al destino queda lo más importante, ¿quépodemos transmitir? La capa de aplicación proporciona los distintos servicios de Internet: correoelectrónico, páginas Web, FTP, TELNET…

Sistemas Distribuidos - 2002 Firewalls 4 de 22

Page 5: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

3 Vulnerabilidades de los protocolos TCP/IP (1)

Los protocolos TCP/IP (Transmission Control Protocol/ Internet Protocol), utilizados en internet,protegen contra algunas amenazas; pero esta suite de protocolos no está desarrollada con ese fin;ahora bien, algunas comprobaciones protegen contra las modificaciones que puedan existir en lascabeceras de los paquetes, y aun cuando en TCP, la secuencia de los números protegen contra lospaquetes perdidos o duplicados y otras medidas protegen contra el re-uso de los paquetes, lasprotecciones son débiles, además TCP se encarga tan solo de formar los paquetes de salida yreensamblarlos en la llegada, el envío de estos queda a cargo de IP. El usuario no puede determinarla ruta por la que deberán transitar los paquetes, ni siquiera existe la posibilidad de especificar pordonde precisamente es que no deben pasar (por razones de seguridad), conjuntamente a esto lospaquetes IP no acarrean autenticadores de su carga de datos (una debilidad corregida en la nuevaversión de IP). No existe un lugar común para la identificación y autenticación de la información olos servicios. Para la mayoría, las aplicaciones deben realizar su propia autenticación. Laautenticación del Telnet y FTP recae en las contraseñas transmitidas en el texto plano, ambos sonriesgosos para un host que no está bien asegurado. Las aplicaciones y los accesorios son más fácilesde explotar. De manera que Internet es una red inherentemente insegura, desde su desarrollo laseguridad no fue un objetivo que se persiguiera. Las principales vulnerabilidades son las siguientes:

3.1 Suplantación de IP (Spooffing):

Muchos ataques de Internet se basan en la suplantación de IP, la cual permite que un host sedisfrace como otro. Un paquete es enviado por un host, pero la dirección fuente en el paquete es lade otro host. Esto es peligroso ya que las aplicaciones comúnmente utilizan las direcciones fuentepara identificar las peticiones de los hosts que son confiables, De esta forma el atacante en el hostA, de quien el destino es el host B, suplanta al host T el cual es confiable para B. Un ataque comúnexplota una característica IP llamada encaminamiento de fuente, la cual permite al emisor de unpaquete especificar su ruta y la ruta de regreso. Si la ruta es A, B, C, entonces C debe utilizar la rutade regreso C, B, A. Para que el ataque sea exitoso, el paquete enviado desde A debe parecer que fueenviado desde T, además, si el ataque es para completar algo, la réplica de B debe dirigirse a A no aT. Primero el atacante toma control del host A y cambia su dirección IP a T, entonces envía unpaquete a B, especificando la ruta de la fuente con A como último trayecto de la ruta. El host Bacepta la petición como si viniera de T y reenvía su paquete hacia A. Un firewall puede proteger unared interna contra los ataques de suplantación de IP mediante el rechazo de los paquetes entrantesdireccionados desde cierta fuente. Los hosts dentro del firewall no deben especificar a algún hostexterno para que sea confiable y el firewall debe rechazar cualquier paquete entrante cuya direcciónfuente se encuentra dentro de la red interna. El firewall debe bloquear los paquetes salientes cuyadirección fuente no está dentro de la red interna, esto es para evitar que se convierta en el origen deun ataque.

3.2 Conexiones secuestradas (hijacking):

Un atacante que gana el control de una sesión activa gana los derechos del usuario legítimo. Laautenticación y los servicios de control de acceso no son útiles ya que se toma posesión de la sesióndespués de la autenticación y de que el control de acceso asume que el usuario es el que estáautenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquiermétodo, modifica el kernel para permitir el secuestro de cualquier sesión activa.

Sistemas Distribuidos - 2002 Firewalls 5 de 22

Page 6: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

3.3 Ataques por husmeo (sniffing) o escucha secreta (eavesdropping):

Internet ha sufrido ataques que recolectan contraseñas u otra información que puede ser utilizadapor usuarios no autorizados. A estos ataques se les llama ataques por husmeo ya que utilizanherramientas de monitoreo de red llamadas sniffers (olfateadores o husmeadores). El monitoreo sebasa en una característica de interfase de red llamada modo promiscuo, la cual es útil para laadministración de la red pero no para la seguridad. Una computadora cuya unidad de interfase dered se encuentra en modo promiscuo puede leer todos los paquetes que pasan por la red. Un atacanteque tome posesión de una computadora así, ejecuta un programa que captura los primeros datostransmitidos para cada sesión de la red (como el Telnet y el FTP). Los datos incluyen el nombre delhost remoto, el nombre de la cuenta y la contraseña.

3.4 Denegación del servicio (Denial of Service - DoS):

Impide o inhibe el uso normal o la gestión de recursos informáticos y de comunicaciones. Porejemplo, el intruso podría suprimir todos los mensajes dirigidos a una determinada entidad o sepodría interrumpir el servicio de una red inundándola con mensajes espurios.

4 ¿Qué es un Firewall?

Los Firewalls (o cortafuegos) son sistemas o grupos de sistemas que implementan una política decontrol de acceso entre dos redes, prohibiendo o permitiendo explícitamente una determinadacomunicación, en función del lugar de procedencia, el tipo de servicio o los parámetros que seconfiguren. Estos dispositivos se colocan en el acceso de una red considerada segura a otra que seconsidera insegura (como Internet), de modo que se controlan los mensajes que pasan de una a otray se permite su progresión o no. Este control se realiza de muy diversas maneras (por tipo deservicio, por usuario, por direcciones de origen y/o destino...). Además, la mayoría de los firewallsinforman de los intentos de acceso no permitido, estableciendo acciones de alarma al detectarseactividades sospechosas, y generan estadísticas varias. El firewall constituye un punto donde fijar toda la seguridad, en lugar de obligar a una máscuidadosa gestión de todos los sistemas. Por ello debe ser un elemento de la máxima confianza,cuestión fundamental a la hora de su elección. Por ser los elementos más expuestos a ataques (deberían ser transparentes para evitarlo), debensometerse a auditorías periódicas, de manera que sean realmente eficaces en una detección precozde problemas que puedan afectar a la integridad (accesos fraudulentos) o a las prestaciones (tráficoque deteriore la capacidad del enlace con Internet). (3)

El primer firewall en un ordenador fue una máquina Unix que no realizaba tareas deencaminamiento con conexiones a dos redes distintas. Una tarjeta de red conectada a Internet y laotra al LAN privado. Si quería acceder a Internet desde la red privada, tenía que registrarse en unservidor Unix. Por lo tanto, se utilizaban los recursos del sistema para acceder a Internet. Porejemplo, podría utilizar X-windows para ejecutar el navegador de Netscape con el sistema defirewall y poder usarlo en una estación de trabajo. Con el navegador ejecutado en el firewall se tieneacceso a dos redes. (2)

Sistemas Distribuidos - 2002 Firewalls 6 de 22

Page 7: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

5 Tecnologías de Firewalls

Un firewall puede clasificarse dentro de uno de los siguientes tipos o como una combinación de losmismos:

1. Packet Filtering Firewall (Filtrado de Paquetes)

2. Stateful Inspection Firewall (inspección con estado)

3. Servidor Proxy a nivel de Aplicación (Aplication Level Firewall Proxy)

4. Servidor Proxy SOCKS

5.1 Packet Filtering Firewall (Filtrado de Paquetes)

El sistema de filtrado depaquetes encamina paquetesentre hosts internos yexternos, pero de maneraselectiva. Permite bloquearcierto tipo de paquetes deacuerdo con la política deseguridad de la red. El tipode encaminamiento usadopara filtrar paquetes en unfirewall es conocido comoencaminamiento deprotección - el paquete esanalizado detalladamente yse determina si éste puedeser encaminado o no a ladirección destino y si debeo no ser encaminado conbase en la política deseguridad. Realizar el encaminamiento y la decisión de encaminar es la única protección al sistema.Si la seguridad falla, la red interna está expuesta. Un encaminamiento de protección puede permitiro denegar un servicio, pero no puede proteger operaciones individuales dentro del servicio. Losfirewalls de este tipo trabajan a nivel de red ya que generalmente, toman las decisiones basándoseen el origen, dirección de destino y puertos que leen en la cabecera de los paquetes IP.Algunas de las políticas que el filtrado comúnmente hace cumplir son: Permitir los servicios de correo electrónico y de directorio de ambos lados, el Telnet saliente;

denegar todo lo demás. Permitir la comunicación sólo con un conjunto designado de hosts. Denegar el tráfico entrante a un conjunto designado de puertos (ya que proveen servicios que

son riesgosos). Permitir sólo los servicios de correo electrónico y directorio.

Sistemas Distribuidos - 2002 Firewalls 7 de 22

Page 8: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

Los encaminadores son utilizados para construir firewalls de filtrado de paquetes alrededor de lasLANs. Las cajas comerciales que cuestan casi lo mismo que una estación de trabajo permite a losadministradores de la LAN especificar sus propias políticas de firewall. Los encaminadores seejecutan bien y son transparentes para los usuarios. Un encaminador puede redireccionar unpaquete, así el tráfico de un usuario remoto va a través de una computadora de entrada queimplementa la autenticación más compresiva y audita antes que permitir a un usuario remoto teneracceso al host destino.El filtrado de paquetes tiene varias desventajas serias, esto recae en las direcciones cuya integridadno puede ser garantizada; la suplantación de IP puede derrotar cualquier control de acceso basado enel host fuente. Si la política de seguridad no es muy simple, las reglas de filtrado de paquetes sevuelven complejas y difíciles de escribir correctamente.

Sistemas Distribuidos - 2002 Firewalls 8 de 22

Page 9: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

5.2 Stateful Inspection Firewall (inspección con estado)

Es el método más actual deinspección. Consiste en unainspección lógica que, añadida alfiltrado de paquetes da un altonivel de protección. El " StatefulInspection " analiza cada paquetede salida (solicitud) a Internet, yanaliza los paquetes de respuesta.Si ambos no mantienen unacoherencia, los descarta. Es decir,descarta automáticamente todoaquello que no es razonable enun contexto determinado a fin deevitar ataques desde el exterior.Un Ejemplo de este es elFirewall-1. Este inserta unmódulo denominado InspectionModule en el núcleo del sistemaoperativo sobre el que se instala,en el nivel software más bajoposible (por debajo incluso delnivel de red), tal como se muestra en la figura ; así, desde ese nivel tan bajo, puede interceptar yanalizar todos los paquetes antes de que lleguen al resto del sistema: se garantiza que ningúnpaquete es procesado por ninguno de los protocolos superiores hasta que Firewall-1 comprueba queno viola la política de seguridad definida en el cortafuegos.Es capaz de analizarla información deuna trama en cadauno de los sieteniveles OSI y a lavez analizarinformación deestado registrada deanteriorescomunicaciones; elcortafuegosentiende laestructura de losdiferentesprotocolos TCP/IP (incluso de los ubicados en la capa de aplicación), de forma que el InspectionModule extrae la información relevante de cada paquete para construir tablas dinámicas que seactualizan constantemente, tablas que el firewall utiliza para analizar comunicaciones posteriores.En el módulo de inspección se implantan las políticas de seguridad definidas en cada organizaciónmediante un lenguaje denominado INSPECT, también diseñado por Check Point SoftwareTechnologies; desde un interfaz se genera un script en este lenguaje, que se compila y se inserta enel Inspection Module.

Sistemas Distribuidos - 2002 Firewalls 9 de 22

Page 10: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

5.3 Proxy Firewall a nivel de Aplicación (Aplication Level FirewallProxy)

Comparado con el filtrado de paquetes, un gateway de aplicación utiliza el más alto protocolo de lacapa de información e implementa servicios adicionales de seguridad. Es típicamente implementadoen una o más computadoras anfitrionas (hosts) y envuelven software personalizado y desarrolladopara la organización. Un gateway de aplicación provee servicios proxy que controlan el acceso a losservicios reales como el Telnet, FTP y X Windows. Para el Telnet, esto trabajaría como sigue:

1. Un usuario hace un Telnet al gateway y entra el nombre de un host destino. 2. El gateway verifica la dirección IP de la fuente y acepta o rechaza el intento. 3. El usuario es autenticado. 4. El servicio proxy crea una conexión Telnet entre el gateway y el host destino. 5. El servicio proxy pasa datos entre las dos conexiones. 6. El gateway registra la conexión.

Muchas organizaciones utilizan gateways de correo. Un gateway puede ejecutar la identificación delusuario y la autenticación para los usuarios remotos. Puede permitir el tráfico limitado entre dossubredes. Un gateway puede controlar el flujo de información saliente. Una desventaja de losgateways de aplicación es su incompatibilidad con el cifrado punto a punto que se realiza en latransportación o capa de red. El gateways necesita el más alto protocolo de la capa de informaciónasí tendría que descifrar y volver a cifrar, entonces el cifrado no puede ser punto a punto.

Sistemas Distribuidos - 2002 Firewalls 10 de 22

Page 11: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

5.4 Servidor Proxy SOCKSUn servidor proxy SOCKS se parece bastante a un panel de conmutación. Tan sóloestablece la conexión entre su sistema y otro sistema externo.La mayoría de los servidores SOCKS presentan el inconveniente de que sólo trabajancon conexiones del tipo TCP y como firewalls no suministran autenticación para losusuarios. Sin embargo, su ventaja es que registran los sitios a los que cada usuario se haconectado.

Sistemas Distribuidos - 2002 Firewalls 11 de 22

Page 12: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

6 Ejemplo sobre el funcionamiento de los distintos Firewallspara el caso de FTP

El FTP ( File Transfer Protocol) se utiliza para la transferencia de archivos. Utiliza dos conexionestrasparentes para el usuario

• Una de control– con el puerto 21 del servidor– Se envían comandos y respuestas– Dura mientras dure la conexión ftp entre cliente y servidor• Una de datos– Se crea y se destruye cada vez que se transmite un fichero• cuando se hace un “dir”, se transmite un fichero.• dura sólo mientras dura esa transferencia

La conexión de datos se abre y se cierra cada vez que se tiene que usar.

– La apertura de conexión la inicia siempre el cliente (get, put, dir)– Elige un puerto local libre y queda a la escucha– Envía este nº de puerto al servidor usando el comando PORT– El servidor abre una conexión de datos desde su puerto 20 al indicado en el comando PORT delcliente.

Sistemas Distribuidos - 2002 Firewalls 12 de 22

Page 13: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

6.1

6.2 Utilizando un Filtrado de Paquetes.

El filtrado de paquetes cuenta con dos elecciones para las conexiones salientes de FTP.Puede dejar abierto el rango superior de puertos (mayores que 1023) para permitir que la sesión de

transferencia ubique dinámicamente los puertos, pero esto expone la red interna; o bien puedecerrar todo el rango superior de puertos para asegurar la red interna. Esto no es aceptable paraun usuario en la actualidad.

Sistemas Distribuidos - 2002 Firewalls 13 de 22

Page 14: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

6.3

6.4 Utilizando un Proxy a nivel de aplicación

Utilizando un proxy para el FTP, la aplicación duplica el numero de sesiones actuando como unagente entre el cliente y el servidor obviamente tiene una baja performance.

En resumen cada servicio necesita al proxy como propietario. El numero de servicios puede serlimitado.

Esto además expone al sistema operativo a amenazas externas

Sistemas Distribuidos - 2002 Firewalls 14 de 22

Page 15: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

6.5 Utilizando un Stateful Inspection Firewall.

El Stateful Inspection firewall rastrea o sigue la sesión de FTP examinando los datos de la capa deaplicación. Cuado el cliente peticiona que el servidor genere una conexión (comando FTPPORT), el firewall extrae el número de puerto del pedido.

Ambas direcciones IP, la del cliente y la del servidor son guardadas en una lista de peticionespendientes. Cuando la conexión FTP es intentada el firewall verifica que la respuesta alpedido sea valida. La lista de conexiones es mantenida dinámicamente por lo tanto solo elpuerto de FTP (21) se requiere que este abierto. Apenas la sesión es cerrada los puertos sonbloqueados.

Sistemas Distribuidos - 2002 Firewalls 15 de 22

Page 16: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

7

8 Arquitecturas de firewalls

8.1 Screening router ( router con filtrado de paquetes )

Un firewall sencillo puede consistir en un dispositivo capaz de filtrar paquetes, un choke: se tratadel modelo de cortafuegos más antiguo, basado simplemente en aprovechar la capacidad dealgunos routers (denominados screening routers) para hacer un enrutado selectivo, es decir,para bloquear o permitir el tránsito de paquetes mediante listas de control de acceso enfunción de ciertas características de las tramas, de forma que el router actúe como pasarela(gateway) de toda la red. Generalmente estas características para determinar el filtrado son lasdirecciones origen y destino, el protocolo, los puertos origen y destino (en el caso de TCP yUDP), el tipo de mensaje (en el caso de ICMP) y los interfaces de entrada y salida de la tramaen el router. En un cortafuegos de filtrado de paquetes los accesos desde la red interna al exterior que noestán bloqueados son directos (no hay necesidad de utilizar proxies, como sucede en loscortafuegos basados en una máquina con dos tarjetas de red), por lo que esta arquitectura es lamás simple de implementar (en muchos casos sobre hardware ya ubicado en la red) y la másutilizada en organizaciones que no precisan grandes niveles de seguridad. No obstante, elegirun cortafuegos tan sencillo puede no ser recomendable en ciertas situaciones, o paraorganizaciones que requieren una mayor seguridad para su subred, ya que los simples chokespresentan más desventajas que beneficios para la red protegida. El principal problema es queno disponen de un sistema de monitorización sofisticado, por lo que muchas veces eladministrador no puede determinar si el router está siendo atacado o si su seguridad ha sidocomprometida. Además las reglas de filtrado pueden llegar a ser complejas de establecer, ypor tanto es difícil comprobar su corrección: habitualmente sólo se comprueba a través depruebas directas, con los problemas de seguridad que esto puede implicar. Es general se bloquean todos los servicios que no se utilicen desde el exterior (especialmenteNFS, X-windows y TFTP), así como el acceso desde máquinas no confiables hacia nuestrasubred.

8.2

Sistemas Distribuidos - 2002 Firewalls 16 de 22

Page 17: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

8.3 Dual-Homed Host (anfitriones de bos bases)

El segundo modelo de cortafuegos está formado por simples máquinas Unix (o Linux) equipadascon dos o más tarjetas de red y denominadas host (anfitriones) de dos bases (dual-homedhosts) o multibase (multi-homed hosts), y en las que una de las tarjetas se suele conectar a lared interna a proteger y la otra a la red externa a la organización. En esta configuración elchoke y el bastión coinciden en el mismo equipo: la máquina Unix. El sistema ha de ejecutar al menos un servidor proxy para cada uno de los servicios quedeseemos pasar a través del cortafuegos, y también es necesario que el IP Forwarding estédeshabilitado en el equipo: aunque una máquina con dos tarjetas puede actuar como un router,para aislar el tráfico entre la red interna y la externa es necesario que el choke no enrutepaquetes entre ellas. Así, los sistemas externos “verán” al host a través de una de las tarjetas ylos internos a través de la otra, pero entre las dos partes no puede existir ningún tipo de tráficoque no pase por el cortafuegos: todo el intercambio de datos entre las redes se ha de realizarbien a través de servidores proxy situados en el host bastión o bien permitiendo a los usuariosconectar directamente al mismo. La segunda de estas aproximaciones es sin duda pocorecomendable, ya que un usuario que consiga aumentar su nivel de privilegios en el sistemapuede romper toda la protección del cortafuegos, por ejemplo reactivando el IP Forwarding;además - esto ya no relativo a la seguridad sino a la funcionalidad del sistema - suele serincómodo para los usuarios tener que acceder a una máquina que haga de puente entre ellos eInternet. De esta forma, la ubicación de proxies es lo más recomendable, pero puede serproblemático el configurar cierto tipo de servicios o protocolos que no se diseñaron teniendoen cuenta la existencia de un proxy entre los dos extremos de una conexión.

8.4

Sistemas Distribuidos - 2002 Firewalls 17 de 22

Page 18: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

8.5

8.6 Screened Host

Un paso más en términos de seguridad de los cortafuegos es la arquitectura screened host o choke-gate, que combina un router con un host bastión, y donde el principal nivel de seguridadproviene del filtrado de paquetes (es decir, el router es la primera y más importante línea dedefensa). En la máquina bastión, único sistema accesible desde el exterior, se ejecutan losproxies de las aplicaciones, mientras que el choke se encarga de filtrar los paquetes que sepuedan considerar peligrosos para la seguridad de la red interna, permitiendo únicamente lacomunicación con un reducido número de servicios.

Pero, ¿dónde situar el sistema bastión, en la red interna o en el exterior del router? La mayoríade autores, recomiendan situar el router entre la red exterior y el host bastión, pero otrosdefienden justo lo contrario: situar el bastión en la red exterior no provoca aparentemente unadegradación de la seguridad, y además ayuda al administrador a comprender la necesidad deun elevado nivel de fiabilidad en esta máquina, ya que está sujeta a ataques externos y notiene por qué ser un host fiable; de cualquier forma, la `no-degradación' de la seguridadmediante esta aproximación es más que discutible, ya que habitualmente es más fácil deproteger un router que una máquina con un operativo de propósito general, como Unix, queademás por definición ha de ofrecer ciertos servicios. En todo caso, aparte de por estosmatices, asumiremos la primera opción por considerarla mayoritaria entre los expertos enseguridad informática; así, cuando una máquina de la red interna desea comunicarse con elexterior existen dos posibilidades:

El choke permite la salida de algunos servicios a todas o a parte de las máquinas internas a través deun simple filtrado de paquetes.

El choke prohibe todo el tráfico entre máquinas de la red interna y el exterior, permitiendo sólo lasalida de ciertos servicios que provienen de la máquina bastión y que han sido autorizados porla política de seguridad de la organización. Así, estamos obligando a los usuarios a que lasconexiones con el exterior se realicen a través de los servidores proxy situados en el bastión.

La primera aproximación entraña un mayor nivel de complejidad a la hora de configurar las listas decontrol de acceso del router, mientras que si elegimos la segunda la dificultad está enconfigurar los servidores proxy (no todas las aplicaciones soportan bien estos mecanismos) enel host bastión. Desde el punto de vista de la seguridad es más recomendable la segundaopción, ya que la probabilidad de dejar escapar tráfico no deseado es menor. Por supuesto, enfunción de la política de seguridad que definamos en nuestro entorno, se pueden combinarambas aproximaciones, por ejemplo permitiendo el tráfico entre las máquinas internas y elexterior de ciertos protocolos difíciles de encaminar a través de un proxy o sencillamente queno entrañen mucho riesgo para nuestra seguridad (típicamente, DNS...), y obligando para elresto de servicios a utilizar el host bastión.

La arquitectura screened host puede parecer a primera vista más peligrosa que la basada enuna simple máquina con varias interfaces de red; en primer lugar, tenemos no uno sino dossistemas accesibles desde el exterior, por lo que ambos han de ser configurados con lasmáximas medidas de seguridad. Además, la mayor complejidad de diseño hace más fácil lapresencia de errores que puedan desembocar en una violación de la política implantada,mientras que con un host con dos tarjetas nos aseguramos de que únicamente aquellosservicios con un proxy configurado podrán generar tráfico entre la red externa y la interna (ano ser que por error activemos el IP Forwarding). Sin embargo, aunque estos problemas sonreales, se solventan tomando las precauciones necesarias a la hora de diseñar e implantar elcortafuegos y definiendo una política de seguridad correcta. De cualquier forma, en la prácticaesta arquitectura de cortafuegos está cada vez más en desuso debido a que presenta dos puntosúnicos de fallo, el choke y el bastión: si un atacante consigue controlar cualquiera de ellos,

Sistemas Distribuidos - 2002 Firewalls 18 de 22

Page 19: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

tiene acceso a toda la red protegida; por tanto, es más popular, y recomendable, unaarquitectura screened subnet, de la que vamos a hablar a continuación.

8.7 Screened Subnet (DMZ)

La arquitectura Screened Subnet, también conocida como red perimétrica o De-Militarized Zone(DMZ) es con diferencia la más utilizada e implantada hoy en día, ya que añade un nivel deseguridad en las arquitecturas de cortafuegos situando una subred (DMZ) entre las redesexterna e interna, de forma que se consiguen reducir los efectos de un ataque exitoso al hostbastión: como hemos venido comentando, en los modelos anteriores toda la seguridad secentraba en el bastión16.1, de forma que si la seguridad del mismo se veía comprometida, laamenaza se extendía automáticamente al resto de la red. Como la máquina bastión es unobjetivo interesante para muchos piratas, la arquitectura DMZ intenta aislarla en una redperimétrica de forma que un intruso que accede a esta máquina no consiga un acceso total a lasubred protegida.

Screened subnet es la arquitectura más segura, pero también la más compleja; se utilizan dosrouters, denominados exterior e interior, conectados ambos a la red perimétrica como semuestra en la figura 15.2. En esta red perimétrica, que constituye el sistema cortafuegos, seincluye el host bastión y también se podrían incluir sistemas que requieran un accesocontrolado, como baterías de módems o el servidor de correo, que serán los únicos elementosvisibles desde fuera de nuestra red. El router exterior tiene como misión bloquear el tráfico nodeseado en ambos sentidos (hacia la red perimétrica y hacia la red externa), mientras que elinterior hace lo mismo pero con el tráfico entre la red interna y la perimétrica: así, un atacantehabría de romper la seguridad de ambos routers para acceder a la red protegida; incluso esposible implementar una zona desmilitarizada con un único router que posea tres o másinterfaces de red, pero en este caso si se compromete este único elemento se rompe todanuestra seguridad, frente al caso general en que hay que comprometer ambos, tanto el externocomo el interno. También podemos, si necesitamos mayores niveles de seguridad, definirvarias redes perimétricas en serie, situando los servicios que requieran de menor fiabilidad en

Sistemas Distribuidos - 2002 Firewalls 19 de 22

Page 20: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

las redes más externas: así, el atacante habrá de saltar por todas y cada una de ellas paraacceder a nuestros equipos; evidentemente, si en cada red perimétrica se siguen las mismasreglas de filtrado, niveles adicionales no proporcionan mayor seguridad. En el capítulo 4 de[CZ95] podemos consultar con más detalle las funciones de cada elemento del sistemacortafuegos, así como aspectos de su implementación y configuración.

Arquitectura DMZ.

Esta arquitectura de cortafuegos elimina los puntos únicos de fallo presentes en las anteriores:antes de llegar al bastión (por definición, el sistema más vulnerable) un atacante ha de saltarselas medidas de seguridad impuestas por el enrutador externo. Si lo consigue, como hemosaislado la máquina bastión en una subred estamos reduciendo el impacto de un atacante quelogre controlarlo, ya que antes de llegar a la red interna ha de comprometer también alsegundo router; en este caso extremo (si un pirata logra comprometer el segundo router), laarquitectura DMZ no es mejor que un screened host. Por supuesto, en cualquiera de los trescasos (compromiso del router externo, del host bastión, o del router interno) las actividades deun pirata pueden violar nuestra seguridad, pero de forma parcial: por ejemplo, simplementeaccediendo al primer enrutador puede aislar toda nuestra organización del exterior, creandouna negación de servicio importante, pero esto suele ser menos grave que si lograra acceso ala red protegida.

Aunque, como hemos dicho antes, la arquitectura DMZ es la que mayores niveles deseguridad puede proporcionar, no se trata de la panacea de los cortafuegos. Evidentementeexisten problemas relacionados con este modelo: por ejemplo, se puede utilizar el firewallpara que los servicios fiables pasen directamente sin acceder al bastión, lo que puede dar lugara un incumplimiento de la política de la organización. Un segundo problema, quizás másgrave, es que la mayor parte de la seguridad reside en los routers utilizados; como hemosdicho antes las reglas de filtrado sobre estos elementos pueden ser complicadas de configurary comprobar, lo que puede dar lugar a errores que abran importantes brechas de seguridad ennuestro sistema.

9

Sistemas Distribuidos - 2002 Firewalls 20 de 22

Page 21: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

10

11 Consideraciones y problemas de firewall

Un firewall está muy alejado de una solución completa de los problemas de seguridad. No proveeprotección contra el mal uso interno. De manera adicional, una persona enterada puedecooperar con una persona externa para tunelear bajo el firewall. Tunelear significa encapsularuna unidad de datos de un protocolo a una unidad de datos de otro protocolo (o del mismo). Porejemplo, los paquetes IP pueden ser escondidos en paquetes TCP, cualquier módem puedeproveer una puerta trasera a través del firewall. El firewall no previene ataques en los cuales elcontenido de un mensaje active la vulnerabilidad de un servicio. No protege contra el ataque dedatos manejados, en el cual el host ejecuta algo que recibe.

son aplicaciones o programas servidores intermediarios entre hosts internos de una red y los hostsde Internet de tal forma que reciben las requisiciones de unos y se las pasan a los otros previaverificación de accesos y privilegios.

12

13 TerminologíaBastión Host: Un sistema o computadora que debe ser latamente segura porque es vulnerable a

ataques debido a que esta expuesta a internet y es el punto de contacto de los usuarios internosy externos( Bastion host: A computer system that must be highly secured because it isvulnerable to attack, usually because it is exposed to the Internet and is a main point of contactfor users of internal networks.)

Dirección IP: Una dirección única que identifica a un equipo en una red mediante una dirección de32 bits que es única en toda la red TCP/IP. Las direcciones IP se suelen representar en notacióndecimal con puntos, que representan cada octeto (8 bits o 1 byte) de una dirección IP como suvalor decimal y separa cada octeto con un punto; por ejemplo, 209.40.101.7.

Firewall: elemento basado en Hardware, Software o en una combinación de ambos, que controla elflujo de datos que entra y sale de una red.

Gateway: Ordenador ú Dispositivo que conecta redes diferentes.Host : anfitrión/albergar, hospedar.Host system: (sistema anfitrión, sistema principal) Ordenador que, mediante la utilización de losLAN: Red de Area Local.Máscara de Subred: Un parámetro de configuración de TCP/IP que extrae la configuración de red

y de host a partir de una dirección IP. Este valor de 32 bits permite que el destinatario de lospaquetes IP distinga, en la dirección IP, la parte de Id. de red (nombre de dominio) y el Id. delhost (Nombre de host).

MRouter: Router que soporta protocolos MultiCasting.MultiCasting: Técnica de transmisión de datos a través de internet, en la que se envían paquetes

desde un punto a varios simultáneamente.NAT: Network Address Translation. Básicamente es un sistema de encapsulación de IP de

terminales de LAN en los paquetes enviados.Nombre de Dominio: El nombre de equipo que substituye a una dirección IP de red. Por ejemplo,

www.maestrosdelweb.com en vez de la dirección IP 209.40.101.7. También se llama Nombredescriptivo.

Nombre del Host: El nombre dado a un equipo que forma parte de un dominio y que se utiliza paraautenticar a los clientes. También se denomina Nombre de equipo.

Sistemas Distribuidos - 2002 Firewalls 21 de 22

Page 22: SISTEMAS DISTRIBUIDOS Introducción a los Firewalls · autenticado. En los sistemas UNIX en Internet el atacante penetra al sistema utilizando cualquier método, modifica el kernel

OSI: Interconexión de Sistemas abiertos. Modelo de referencia de Interconexión de SistemasAbiertos propuesto por la ISO. Divide las tareas de la red en 7 capas.

Packet filtering (Filtrado de Paquetes): La acción que un dispositivo toma para controlar el flujode datos selectivamente a y desde una red. Un Packet Filtering permiten o bloquea paquetesnormalmente mientras los rutea de una red a la otra.

Paquete: Cantidad mínima de datos que se transmiten en una red o entre dispositivos. Tieneestructura y longitud variable según el protocolo utilizado. (The fundamental unit ofcommunication on the Internet.).

Perimeter network: A network added between a protected network and an external network, inorder to provide an additional layer of security. A perimeter network is sometimes called aDMZ, which stands for De-Militarized Zone (named after the zone separating North and SouthKorea).

Protocolo: El software que permite que los equipos se comuniquen a través de una red. Elprotocolo de Internet es TCP/IP.

Proxy server: A program that deals with external servers on behalf of internal clients. Proxy clientstalk to proxy servers, which relay approved client requests on to real servers, and relay answersback to clients.

Puerto: Es un número que identifica a una aplicación que interviene o va a intervenir en unacomunicación bajo TCP.

RDSI: Red Digital de Servicios Integrados (ISDN).Router: Elemento Hardware que trabaja a nivel de red y entre otras cosas se utiliza para conectar

una LAN a una WAN. Un Router (enrutador) asigna el encabezado del paquete a una ubicaciónde una LAN y elige la mejor ruta de acceso para el paquete, con lo que optimiza el rendimientode la red.

Screened Host: Host ProtegidoSocket: Es la combinación de la IP de la máquina y del número de puerto utilizado por el TCP.TCP: Protocolo de Control de Transmisión.WAN: Red de Área Extensa, como por ejemplo Internet.

14 Bibliografia

[1] http://mx.geocities.com/fundamentosdeseguridad/SEMINARIO/TEMA_8.htm[2] Cómo de Firewalls y Servidor Proxy. Mark Grennan, [email protected][3] Redes de ordenadores Firewalls y seguridad[4] Manual de Seguridad en Redes. ArCERT. Coordinación de Emergencia Coordinación de

Emergencia en Redes Teleinformáticas de la Administración Pública Argentina. Subsecretaríade Tecnologías Informáticas. Secretaría de la Función Pública

[5] http://www.rediris.es/cert/doc/unixsec/node23.html[6] Building Internet Firewalls .O’Reilly. By D. Brent Chapman & Elizabeth D. Zwicky; ISBN 1-

56592-124-0, 517 pages. First Edition, November 1995.

Sistemas Distribuidos - 2002 Firewalls 22 de 22