Seguridad Redes

Dispositivos Firewall

Un firewall es un sistema (o grupo de sistemas) que fortalece a las políticas de seguridad entre una red interna segura y una red no confiable como lo puede ser Internet.

Concepto General de Firewall

Un firewall es un sistema (o grupo de sistemas) que fortalece a las políticas de seguridad entre una red interna segura y una red no confiable como lo puede ser Internet.
Normalmente, los firewall son vistos como un elemento de protección entre Internet y una red privada. Sin embargo, de forma genérica, un firewall se considera como una forma de dividir a las redes en una o más redes seguras, de aquellas que no lo son.

Un firewall puede ser una PC, un enrutador, un servidor o una combinación de estos, simplemente son los dispositivos que determinan cual información o servicios pueden ser accesibles desde el exterior de la red segura.
Generalmente un firewall es instalado en un punto entre la red interna (segura) y la red externa (no confiable), también conocido como "choke point".

Componentes de un Sistema Firewall

Como ya se menciono, un firewall puede ser una PC, un enrutador, un servidor o la combinación de los mismos. Por lo que depende del tipo de solución, un firewall puede tener uno o más de los siguientes componentes:
  • Enrutador con Capacidades de Filtrado
  • Servidor de Control a Nivel Circuito
  • Servidor de Control de Aplicaciones (Proxy)
Cada uno de estos componentes tienen diferentes funciones, sin embargo, estos componentes deben ser usados en conjunto para construir una solución efectiva de firewall.

Enrutador con Capacidades de Filtrado

Normalmente el filtrado de paquetes esta relacionado con las funciones de enrutamiento donde los paquetes serán enrutados o no, de acuerdo a las reglas de filtrado.
Cuando un enrutador con capacidades de filtrado recibe un paquete, el enrutador obtiene cierta información del encabezado del mismo y de acuerdo a las reglas de filtrado toma decisiones, que finalizaran en el reenvío del paquete o en que este sea descartado (ver figura 3.12).
Los datos útiles para este proceso son:
  • Dirección IP origen
  • Dirección IP destino
  • Puerto TCP/UDP origen
  • Puerto TCP/UDP destino
  • Tipo de mensaje ICMP
  • Información del protocolo de encapsulamiento (TCP, UDP, ICMP o IP túnel)
Las reglas para el filtrado de paquetes deben estar basadas en las políticas de seguridad, establecidas para proteger de posibles ataques a la información de la organización.

Tipos de Filtrado de un Enrutador

Los tipos más comunes de filtrado llevados a cabo por un enrutador son:
  • Filtrado por nivel de servicio. Puesto que la mayoría de las aplicaciones utilizan los llamados "puertos bien conocidos", es posible permitir o negar servicios usando este dato para llevar a cabo el filtrado.
  • Filtrado por origen o destino. Un enrutador a través de las reglas de filtrado de paquetes puede permitir o negar el reenvío de un paquete basándose en la información origen o destino del encabezado.
  • Filtros avanzados. Actualmente existen diferentes tipos de ataques que pueden burlar los filtros más comunes, por lo que se tienen que establecer diferentes tipo de filtros que se basen en otro tipo de información como los campos del encabezado IP, el número de fragmentos, la longitud del paquete, etc.

Servidor de Control a Nivel Circuito

Es una aplicación que permite validar un paquete, para reconocer si es una solicitud de conexión o un mensaje de datos perteneciente a una conexión ya establecida, entre un par de protocolos de transporte.
Para validar una sesión, un servidor de control a nivel circuito examina cada establecimiento de conexión a nivel transporte, para asegurarse que lo siguió legítimamente a través del llamado triple saludo o handshake.
El único protocolo de capa de transporte que utiliza el triple saludo es TCP. Los paquetes de datos no son enviados hasta que este proceso sea completado.
El firewall mantiene una tabla de conexiones validas, que incluye el estatus completo de las sesiones y la secuencia del envío de la información, y sólo permite que los paquetes de red sean reenviados cuando la información de dicho paquete concuerda con la información de la tabla de circuitos.
Una vez que la conexión es terminada, la entrada correspondiente es borrada de la tabla, y el circuito virtual entre las capas de transporte de los dispositivos que se estaban comunicando es cerrada.
Cuando una conexión se establece, el servidor de control a nivel circuito normalmente guarda en su tabla la siguiente información:
  • Un identificador único por conexión, que es usado para propósitos de seguimiento.
  • El estado de la conexión: handshake, establecida o cerrada.
  • La información de secuencia de los paquetes.
  • La dirección IP origen.
  • La dirección IP destino
  • La interfaz física por la cual el paquete fue recibido
  • La interfaz física por la cual el paquete será reenviado
Conforme a estos datos, el firewall puede determinar si el destinatario y el receptor son válidos para dicha sesión, sí se esta intentando realizar un ataque spoofing detectando si el número de secuencia de la sesión es válido para la misma o no, así como si quien esta intentado iniciar la sesión lo tiene permitido.
Una clara desventaja es que sólo es válido para sesiones TCP.

Figura 3.13 Arquitectura de un Servidor de Control a Nivel Circuito
Muchas veces referido como Proxy, el servidor de control de aplicaciones provee un control de alto nivel entre el tráfico de dos redes, en las que el contenido de un servicio en particular puede ser monitoreado y filtrado de acuerdo a las políticas de seguridad establecidas.
El Proxy actúa como el servidor real para el cliente y como cliente para el servidor destino real, es decir, se establece a través del Proxy una conexión virtual entre el cliente real y el servidor real.

El Proxy es capaz de monitorear y filtrar cualquier tipo de datos. Por ejemplo, un servidor FTP puede ser accesible desde el exterior, sin embargo, en orden de protegerlo de cualquier posible ataque, se puede colocar un servidor Proxy que niegue los comandos PUT y MPUT.
Un servidor Proxy es un servidor corriendo una aplicación servidor (demonio) específico, donde este dispositivo es accesible tanto desde la red segura como de la no segura. El propósito de este dispositivo es controlar el intercambio de datos entre dos redes a nivel de la capa de aplicación.
Usando un servidor Proxy, es posible hacer un filtrado específico para que las conexiones destinadas al protocolo de aplicación que maneja el servidor Proxy sólo sean entregadas al mismo.
Es importante señalar que los dispositivos clientes deben permitir la configuración para soportar una conexión a través de un Proxy, sin embargo, a pesar de este extra, las ventajas de control a nivel aplicación son superiores, ya que no sólo se puede llevar a cabo el filtrado, sino que el servidor Proxy también puede funcionar como un dispositivo de autenticación independiente de la propia autenticación solicitada por el servidor real.

Ejemplos de Configuraciones Firewall

Un firewall consiste en uno o más elementos de software que corren en uno o más dispositivos. Estos dispositivos pueden ser sistemas de cómputo general o dispositivos más especializados como un enrutador.
Existen cuatro ejemplos importantes de configuraciones de sistemas de firewall:
  1. Firewall por Filtrado de Paquetes
  2. Firewall Dual-Homed
  3. Firewall por Host de Bastión
  4. Firewall por Subred

Firewall por Filtrado de Paquetes

Es comúnmente usado ya que se puede considerar como un firewall que no implica una inversión extra. En este tipo de firewall, se utiliza el mismo enrutador colocado entre dos redes: la red segura interna y la red insegura.

Un enrutador con capacidades de filtrado se configura con las reglas de filtrado para permitir o negar el tráfico entre las redes que esta interconectando. Se configura normalmente al enrutador con capacidades de filtrado para que niegue todo el tráfico que no esta explícitamente permitido.
Aunque con este tipo de firewall se previenen algunos ataques potenciales, sí las reglas de filtrado no son bien configuradas se pueden dejar puertas abiertas que sean aprovechadas maliciosamente.

Firewall Dual-Homed

Este tipo de dispositivo cuenta con al menos dos tarjetas de red y por lo tanto dos direcciones IP. Normalmente se conecta una de estas interfaces al enrutador y la otra a la red LAN obligando a que todo el tráfico IP entre estas dos interfaces pase por el firewall y por lo tanto sea analizado por el mismo. Las funciones de reenvío son deshabilitadas para que solo los paquetes que cumplan con las condiciones de filtrado sean transmitidas hacia su destino (ver fig. 3.16)
Comparándolo con un firewall por filtrado de paquetes, un firewall dual-homed se asegura que todo el tráfico proveniente de o para cualquier servicio desconocido sea bloqueado pudiendo analizar hasta nivel de aplicación. Un firewall dual-homed también implementa el principio de que todo lo que no esta específicamente permitido es negado.

Firewall por Subred, Zona Desmilitarizada (DMZ)
Este tipo de sistema de firewall se compone de dos enrutadores con capacidades de filtrado y un host de bastión. Una DMZ provee un alto nivel de seguridad.
Se crea una zona de seguridad media o DMZ entre la red externa o insegura y la red interna o segura, donde el enrutador conectado directamente a la zona insegura sólo permite conexiones desde el exterior al host de bastión y el enrutador interno sólo permite conexiones desde el interior al mismo host.
El host de bastión es anunciado hacia el exterior con una dirección IP válida (ya sea NAT o no) y es la única dirección que conocen los usuarios externos, por lo que tendrían que romper tres barreras para poder tener acceso a la red interna.

Firewall Cisco
Hace algunos años, Cisco ofrecía firewalls bajo el nombre de PIX firewalls. Sin embargo, en la actualidad ha introducido al mercado una nueva generación de hardware de seguridad, los cuales con conocidos como ASAs (Adaptative Security Appliances).
ASA – Anti-x Anti-x es un término utilizado por Cisco para nombrar al conjunto de aplicaciones que en incorporados con un sistema firewall proveen mayor seguridad a una red.
En la tabla 3.7 se describe a cada una de estas aplicaciones.
Tabla 3.7
AplicaciónDescripción
Anti-virusEscanea el tráfico de una red para prevenir la transmisión de virus conocidos, comparándolo con una base de datos (virus signatures).
Anti-spywareEscanea el tráfico de una red para prevenir la transmisión de programas Spyware.
Anti-spamExamina los correos electrónicos antes de enviarlos a los usuarios, con el fin de eliminar o segregar el correo basura.
Anti-phishingMonitorea los URLs enviados en los mensajes de correo, con el fin de detectar aquellos que son falsos. Filtro URL Filtra sitios webs basándose en la URL, con la finalidad de prevenir que los usuarios se conecten a sitios inapropiados.
Filtro de correo electrónicoProvee herramientas anti-spam. Así mismo, filtra correos electrónicos que contienen material ofensivo o que puede involucrar a la empresa en algún problema legal.
Los nuevos dispositivos ASA proveen todas estas aplicaciones en una sola caja.

Prevención y Detección de Intrusos

En algunas ocasiones no es suficiente con las aplicaciones Anti-x, por lo que es necesario el uso de otras herramientas para prevenir ataques mucho más sofisticados.
A este tipo de herramientas se les clasifica en dos tipos:
  • IDS (Intrution Detection System). Herramientas que son capaces de monitorear en línea el tráfico cursante en una red, con el fin de detectar posibles virus y/o softwares malignos. Los resultados los puede presentar en forma de reporte o incluso enviarlos a otro dispositivo para que se tome una acción determinada.
  • IPS (Intrution Prevention System). Herramientas que al igual que las IDS monitorean en línea el tráfico cursante, sin embargo, son capaces de tomar una acción sin necesidad de la intervención de otro dispositivo o del administrador