Linuxiando un Rato

lunes, septiembre 11, 2006

Conceptos sobre firewalls de filtrado de paquetes

Alejandro Rincón Linares
Administrador de servidores GNU/Linux
Red UDNET – Universidad Distrital


Abstract:

La masificación de Internet, la globalización de la información y el potencial casi infinito que ofrece la red para ofrecer productos y servicios han hecho de la información uno de los activos mas valiosos para las organizaciones actuales y de la seguridad informática uno de los campos mas delicados e indispensables para las empresas y organizaciones que se basan en la difusión de información y la realización de transacciones en la red.

En este ámbito, los firewalls de filtrado de paquetes se convierten en la primera línea de defensa contra ataques malintencionados e intentos de intrusión en todo tipo de redes. GNU/Linux ofrece la posibilidad de implementar este tipo de firewalls mediante iptables, sistema incorporado en su kernel (núcleo del sistema operativo).

La filosofía de software libre que se encuentra detrás de GNU/Linux hacen que este tipo de implementaciones puedan ser rápidamente adoptadas, fácilmente personalizables y extensibles y de muy bajo costo; lo cual beneficia a grandes, medianas y pequeñas empresas e instituciones.


Conceptos básicos:

Firewall: Un firewall (cortafuegos) es un sistema de control montado en un dispositivo físico por medio del cual tiene que pasar obligatoriamente todo el tráfico de paquetes entre dos o más redes y que tiene por objetivo controlar el tráfico entre diferentes zonas.

Para que sirve un firewall: Un firewall se encarga de filtrar el tráfico entre las redes que une, denegando o aceptando conexiones basándose en reglas o listas de control de acceso.

Estas reglas o listas de control de acceso definen el conjunto de decisiones que serán tomadas basándose en las características especificas de cada paquete (tipo de paquete o protocolo, origen, destino, estado de conexión, etc.) y las medidas que para ellos se estipule en las directivas de seguridad implementadas (aceptar, denegar, rechazar, contabilizar, alterar, etc.)

Tipos de firewall: Un firewall puede ser un dispositivo de hardware especializado o un sistema de software instalado en un servidor que será en encargado de enrutar el tráfico entre dos o más redes.

Clasificación de los Firewall:

1. Filtros de paquetes (stateless packet filtering):

Estos firewall se basan en un conjunto de reglas que especifican la acción a tomar dependiendo de las características del paquete analizado:

  • IP origen
  • IP destino
  • Puerto de origen (en paquetes TCP o UDP)
  • Puerto de destino (en paquetes TCP o UDP)
  • Cabeceras de estado (en paquetes TCP)

Este tipo de firewall no almacena un registro de que conexiones han sido establecidas con éxito, debido a esto y al hecho de que las cabeceras TCP/IP de un paquete pueden ser falsificadas estos filtros son susceptibles a Spoofing de paquetes.

2. Filtros de circuito (stateful packet filtering):

Además del filtro de paquetes tradicional, este tipo de firewall crea y mantiene una tabla donde se registran todas las conexiones establecidas con éxito (es decir, todas aquellas cuyo paso hubiera sido permitido inicialmente por el filtro de paquetes).

Esto significo una mejora en el desempeño al permitir que los paquetes que pertenecen a conexiones ya establecidas y validas pasen a través del firewall sin tener que ser analizados nuevamente, y una mayor confiabilidad al verificar la validez de las conexiones evitando que paquetes con cabeceras falsificadas vulneren la seguridad del entorno que se pretende proteger.

3. Filtros a nivel de aplicación:

Estos firewall son grandes suites que, además de realizar filtrado de paquetes con control de estado de conexión, incluyen o utilizan software de Proxy para protocolos específicos.

Este software de Proxy analiza los paquetes a nivel de contenido y puede, por ejemplo:

  • Filtrar contenidos en transferencias HTTP o FTP
  • Examinar el tráfico de correo electrónico en busca de SPAM o virus

Este tipo de firewall es ideal para entornos corporativos que dispongan del capital necesario para mantener este tipo de soluciones, ya que se requiere una gran capacidad de procesamiento para que el análisis del trafico sea realizado de manera optima y no se convierta en un cuello de botella, adicionalmente los servicios de soporte y actualización de definiciones de virus y filtros suelen ser vendidos por suscripción anual y a un precio bastante alto.


Políticas de filtrado

En la etapa de filtrado, cada paquete puede tener 3 destinos:

  1. Entrada (INPUT): Paquetes cuyo destino es el firewall
  2. Salida (OUTPUT): Paquetes cuyo origen es el firewall
  3. Enrutamiento (FORWARD): Paquetes que pasan a través del firewall desde y hacia otras maquinas.



Cada uno de los tres destinos tiene asociado una política por defecto y conjunto de reglas que son comparadas una a una y de forma secuencial con las características del paquete analizado. Si a dicho paquete no corresponde ninguna de las reglas existentes, le es aplicada la política por defecto.

Si el paquete coincide con alguna regla, se toma la acción establecida para dicha regla y sale de la cadena de análisis.




Las políticas por defecto en la tabla de filtrado pueden ser:

  1. ACEPTAR: Se permite el paso del paquete a su destino
  2. DENEGAR: Se prohíbe el paso del paquete a su destino. El paquete es descartado silenciosamente
  3. RECHAZAR: Se prohíbe el paso del paquete a su destino. Se envía un mensaje de error al emisor del paquete.

Se recomienda elegir la política de DENEGAR frente a la política de RECHAZAR debido a:

  • se duplica el tráfico de red
  • ofrece información útil a un posible atacante
  • en caso de paquetes con cabeceras falsificadas, los mensajes de error puede ser redirigidos por un atacante y utilizados para atacar un equipo de terceros

- Aceptar todo de forma predeterminada




Con este esquema es posible tener inmediatamente un firewall que permita acceder a todos los servicios proporcionados en la red tanto para servidores como para estaciones cliente, ya que todo el trafico estará permitido por defecto y el administrador generara reglas explicitas para el trafico que desea bloquear.

La desventaja de este método radica en que es prácticamente imposible prever todo el trafico que se debe denegar y es posible que solo se pueda bloquear el trafico no deseado después de detectado, es decir, no se prevendrán los ataques sino que se reaccionara ante ellos.


- Denegar todo de forma predeterminada




Este esquema requiere mas tiempo de diseño, ya que se debe tener un esquema de red completo, incluyendo el listado de los servicios que se prestan y de los cuales se va a ser cliente para generar las reglas de aceptación correspondientes pero ofrece un esquema seguro por defecto. Este es el esquema recomendado.


Algunos esquemas de Firewall generalmente utilizados:


- protección de host (Personal Firewall)





- firewall bastión




- firewall con DMZ





- firewall bastión y firewall de contención (perimetral)




Alejandro Rincón Linares
alejandro{punto}rincon{arroba}gmail{punto}com

5 Comentarios:

  • Muy bueno el blog

    La informacion referida a firewall nos sirvio de mucho para hacer una investigacion de seguridad.

    Por Anonymous Anónimo, at 12:54 p. m.  

  • Estimado:

    Alejandro soy un egresado de Administración de redes,trabajo en soporte de hardware hace 7 meses ,trabaje a cargo de los laboratorios de computación de mi universiaad 3 semestres,siento que me falta mucho que aprender,me gustaría llegar a ser un administrador de Linux, que me aconsejas que haga para poder llegar a serlo,quiero trabajar en el área de sistemas linux pero con poca experiencia es difícil.


    Saludos...

    Por Anonymous Anónimo, at 8:14 p. m.  

  • Estimado:

    Alejandro soy un egresado de Administración de redes,trabajo en soporte de hardware hace 7 meses ,trabaje a cargo de los laboratorios de computación de mi universidad 3 semestres,siento que me falta mucho que aprender,me gustaría llegar a ser un administrador de Linux, que me aconsejas que haga para poder llegar a serlo,quiero trabajar en el área de sistemas linux pero con poca experiencia es difícil.


    Saludos...

    Por Anonymous Anónimo, at 8:16 p. m.  

  • Definitivamente maestro, sabia que este articulo me iba a servir, garacias

    Por Anonymous Anónimo, at 7:01 p. m.  

  • gracias por esta informacion! yo vivo en uno de los departamentos en Recoleta y trabajo de analista de sistema, mientras mas conocimientos sepa mejor

    Por Blogger Monica, at 7:46 p. m.  

Publicar un comentario


Locations of visitors to this page