Anterior                                                                      Índice                                                                               Siguiente

3. Componentes de un cortafuegos

En todo cortafuegos existen tres componentes básicos para los cuales se ha de implementar los mecanismos necesarios para hacer cumplir la política de seguridad:

    3.1. El filtrado de paquetes.
    3.2. El proxy de aplicación.
    3.3. La monitorización y detección de actividad sospechosa.

3.1. El filtrado de paquetes

El filtrado de paquetes, además de utilizarse para reducir la carga de red, también se emplea para implementar distintas políticas de seguridad en una red. Respecto al objetivo principal de dichas políticas de seguridad, es habitual el hecho de evitar el acceso no autorizado entre dos redes, manteniendo los accesos autorizados.

Los sistemas de filtrado de paquetes encaminan los paquetes entre los hosts de una red interna y los hosts de una red externa. De modo selectivo,  permiten o bloquean ciertos tipos de paquetes de acuerdo a una política de seguridad, como se puede ver en la figura 3.1.2. El tipo de router que se usa en el filtrado de paquetes se conoce con el nombre de screening router.
 

Figura 3.1.1.: Filtrado de paquetes

El funcionamiento es el siguiente:

    1. Se analiza la cabecera de cada trama,
    2. Se comprueban reglas establecidas de antemano que contemplan:
                - Información de la cabecera de la trama:
                           - el protocolo utilizado (TCP, UDP, ICMP),
                            - las direcciones fuente y destino,
                            - los puertos fuente y destino,
                - Información que conoce el router acerca del paquete:
                            - la interfaz del router por donde se ha de reenviar el paquete,
                            - la interfaz por donde ha llegado el paquete,
    3 En función de dichas reglas, la trama es bloqueada o se le permite seguir su camino.

Un ejemplo sobre cómo se debería programar un screening router para seleccionar los paquetes que van desde y hacia nuestro sistema, sería el siguiente:

- Bloquear todas las posibles conexiones desede sistemas de fuera de la red interna, excepto de las conexiones  SMTP (para poder recibir correo).

- Bloquear todas las conexiones hacia y desde ciertos sistemas que no nos den confianza.

- Permitir los servicios de email y FTP, pero bloquear los servicios peligrosos como TFTP, el sistema X Window, RPC y los servicios "r" (rlogin, rsh, rcp, ...).

Especificación de las reglas

Habitualmente, las reglas se expresan como una simple tabla de condiciones y acciones que se consulta en orden hasta encontrar una regla que permita tomar una decisión sobre el bloqueo o el reenvío de la trama.
 

ORIGEN DESTINO TIPO PUERTO ACCIÓN
158.42.0.0 * * * drop
* 195.53.22.0 * * drop
150.128.40.0 * * * accept
* 193.22.34.0 * * drop
Tabla 3.1.1.: Reglas de filtrado

Por ejemplo, supongamos que se tienen las reglas de filtrado de la tabla 3.1.1, con lo que se pueden dar los siguientes casos:
 

- Llega un paquete procedente de una máquina de la red 158.42.0.0: se bloquea su paso, sin importar el destino de la trama.

- Tráfico hacia la red 195.53.22.0: se bloquea.

- Llega un paquete de un sistema de la red 150.128.40.0 hacia 193.22.34.0: una de las reglas indica que se le permita el paso, pero la siguiente regla indica que se bloquee sin importar el origen:

- si las reglas se comprueban desde el principio, el paquete atravesaría el cortafuegos, ya que al analizar las tercera entrada de la fila se finalizarían las comprobaciones.
- si las reglas se comprueban desde el final, el paquete se bloquearía inmediatamente.
Como se puede ver, el orden de las entradas en la tabla es determinante para lo que pueda suceder.

- Llega un paquete que no cumple ninguna de las reglas: la acción depende de la implementación:

- se deniega el paso por defecto (lo más recomendado),
- se aplica el contrario de la última regla especificada,
- se permite el paso por defecto, ...
ORIGEN
DESTINO
TIPO
PUERTO
ACCIÓN
*
*
*
*
acción
Tabla 3.1.2.: Reglas de filtrado: regla por defecto.
Para evitar el dilema, lo mejor es insertar al final de la tabla una regla con la acción por defecto del tipo, como se puede observar en al tabla 3.1.2, donde acción tomará el valor drop o accept, según los paquetes que no cumplan ninguna de las reglas se deseen bloquear o pemitir el paso respectivamente.
Ciertas implementaciones permiten indicar si el bloqueo de un paquete se notificará a la máquina origen mediante un mensaje ICMP.
 
Servicio Puerto Servicio Puerto Servicio Puerto Servicio Puerto Servicio Puerto
bootp 67,68 shell 514 dns 53 ntp 123 echo 7
tftp 69 syslog 514 gopher 70 imap 143 discard 9
rpc 111 ftp 20,21 http 80 snmp 161 systat 11
rexec 512 telnet 23 pop 109,110 timed 525 finger 79
rlogin 513 smtp 25 uucp 117,540 printer 515 who 513
rsh 514 time 37 nntp 119 rip 520 whois 43
Tabla 3.1.3.: Puertos correspondientes a diferentes servicios.

Podríamos definir una regla que no dejara pasar ningún paquete proveniente de Internet, cuyo destino fuese nuestro ordenador y, más concretamente, el puerto 80 (HTTP) de nuestro ordenador. En la tabla 3.1.3 se muestran algunos de los servicios junto con los puertos correspondientes, que pueden interesar vigilar.

Características:

El filtrado de paquetes cuenta con una serie de puntos fuertes que se indican a continuación:

- Resulta muy rápido y económico instalar un control basado en el filtrado de paquetes.

- Resulta totalmente transparente.

- Si el número de reglas creadas no es muy elevado, no llega a imponer una sobrecarga importante de procesamiento en el screening router, por lo que el rendimiento de la red no se verá afectado.

Por el contrario, también cabe indicar una serie de debilidades del filtrado de paquetes:
- Definir las reglas de filtrado puede convertirse en una tarea muy complicada, ya que existen muchos aspectos en la especificación de los servicios de Internet y de los protocolos que, si no se conocen a fondo para su correcta configuración, pueden dejar abierta la puerta a ataques variados (ataques de falsificación de dirección IP origen, ataques de enrutamiento de origen, ataques de fragmentación, etc.).

- Cuanto mayor sea el número de reglas, menor será el rendimiento del screening router, que en principio está diseñado únicamente para enrutar paquetes, no para tomar decisiones acerca de si debería o no debería hacerlo.

- Si el cortafuegos acepta un servicio no es capaz de bloquear selectivamente ciertos comandos del servicio o rechazar ciertos contenidos, por lo que son susceptibles a ataques basados en datos.

Diferencia entre un router ordinario y un screening router:

Un router ordinario simplemente mira la dirección de destino de cada paquete y escoge el mejor modo de enviar el paquete hacia dicho destino. La decisión sobre cómo manejar el paquete se basa únicamente en su destino. Se pueden dar dos posibles casos:

- el router sabe enviar el paquete hacia su destino y lo envía
- el router no sabe enviar el paquete hacia su destino y devuelve el paquete a su origen con un mensaje ICMP de "destino inalcanzable".
Por otra parte, un screening router examina los paquetes más detenidamente. Además de determinar si puede encaminar el paquete hacia su destino, decide si se debería hacerlo, de acuerdo a la política de seguridad con la que se ha configurado.

3.2. El proxy de aplicación

Un proxy de aplicación es una aplicación software capaz de filtrar las conexiones a servicios, es decir, capaz de reeenviar o bloquear conexiones a servicios.
Los proxies cogen las peticiones de los usuarios sobre servicios de Internet, como FTP y Telnet, y responden a dichas peticiones según la política de seguridad. Los proxies proporcionan conexiones y actúan de pasarela entre la propia máquina o la red interna y la red externa. Por este motivo, también se denominan pasarelas de nivel de aplicación.

La actuación de un proxy entre un usuario de la red interna y un servicio de la red externa es más o menos transparente.
Como se puede observar en la figura 3.2.1 un proxy requiere dos componentes: un servidor proxy  y un proxy cliente. El servidor proxy se ejecuta en un host situado entre la red interna y la externa, mientras que el proxy cliente es una versión especial de un programa cliente normal como Telnet o FTP cliente, que se comunica con el servidor proxy como si fuera el servidor "real" de la red externa. El servidor proxy evalua las peticiones del proxy cliente y decide si aprobar o denegar la petición.Si la petición se aprueba deacuerdo a la política de seguridad, el servidor proxy contacta con el servidor "real" y mandará las respuestas del servidor "real" al proxy cliente.
 

Figura 3.2.1.: Proxy de aplicación.

Con los proxies de aplicación se cuenta con una serie de ventajas sobre seguridad como por ejemplo las siguientes:

- Sólo permiten la utilización de servicios para los que existe un proxy, por lo que el administrador de red tiene un control absoluto sobre los servicios soportados por el proxy.

- En comparación con el filtrado de paquetes, en la pasarela es posible filtrar protocolos basándose en algo más que en la cabecera de las tramas. De este modo, resulta posible tener habilitado un servicio con sólo una serie de comandos permitidos.

- La pasarela de aplicación permite un grado de ocultación de la estructura del perímetro de seguridad, ya que se pueden enmascarar la dirección de las máquinas de la red interna. Es decir, actúan como traductores de direcciones de red (NAT).

- Debido al hecho de que las aplicaciones proxy son componentes software ejecutándose en la máquina bastión, se facilita la autenticación y la auditoría del tráfico sospechoso antes de que alcance el host destino.

- Se simplifican las reglas de filtrado implementadas en el router, ya que únicamente se permite el tráfico hacia la pasarela, bloqueando el resto. Además, la definición de las reglas de filtrado a nivel de aplicación es mucho más sencilla que a nivel de paquete, pudiendo implementar reglas más conservadoras con mayor flexibilidad.

Por otra parte, a la hora de instalar una pasarela de aplicación nos encontramos con los siguientes inconvenientes:
- Los cortafuegos más antiguos requerían que el usuario de la red interna instalara software especial de cliente para cada uno de los servicios habilitados. Otros requerían que, empleando el software de cliente habitual, se siguieran ciertas indicaciones de uso. De este modo, nuevas aplicaciones de Internet exigían escribir e instalar nuevos servicios proxy en el firewall y nuevos clientes proxy en los ordenadores de los usuarios. Hoy en día, los cortafuegos de aplicación son completamente transparentes para los usuarios finales.

- Es un elemento usualmente más caro y de rendimiento menor que un filtro de paquetes.

- En el caso de protocolos cliente-servidor, se requieren dos pasos para conectar hacia la zona segura o hacia el resto de la red.

- Algunas implementaciones necesitan clientes modificados para funcionar correctamente.

- Se puede producir una degradación en el rendimiento, en el caso de que sean muchos los servicios proxy en la misma máquina y las reglas de filtrado sean complejas.

- Para una total seguridad, se requiere un mecanismo adicional que restrinja las comunicaciones directas entre las máquinas de la red interna y las del exterior, como es el filtrado de paquetes.

Una variante de las pasarelas de aplicación la constituyen las pasarelas de nivel de circuito (Circuit-level Gateways), que son sistemas capaces de redirigir conexiones (reenviando tramas). Estos sistemas no pueden procesar o filtrar paquetes en base al protocolo utilizado, sino que se limitan únicamente a autenticar al usuario (a su conexión) antes de establecer el circuito virtual entre sistemas. Además resultan ventajosos en cuanto a que proveen de servicios a un amplio rango de protocolos. Sin embargo, necesitan software especial que tenga las llamadas al sistema clásicas sustituidas por funciones de librería seguras, como SOCKS.
 

3.3.La monitorización y detección de actividad sospechosa

Un firewall, como cualquier sistema de seguridad bueno, ha de permitir el seguimiento de los registros anómalos y permitidos realizados hacia y desde el sistema. Por lo tanto , resulta imprescindible monitorizar la actividad del firewall para la seguridad del perímetro protegido. La monitorización facilita información sobre:
- Intentos de ataque: origen, franjas horarias, tipos de acceso, ...
- Existencia de tramas sospechosas.
La información que se debe registrar es la siguiente:
- Tipos de paquetes recibidos, frecuencias, direcciones fuente y destino,
- Información de la conexión: origen y destino, nombre de usuario, hora y duración,
- Intentos de uso de protocolos denegados,
- Intentos de falsificación de dirección por parte de máquinas internas al perímetro de seguridad (paquetes que llegan desde la red externa con la dirección de un equipo interno)
- Tramas recibidas desde routers desconocidos.
Para registrar esta información es necesario indicar las siguientes características:
- Información de servicio: fecha y hora.
- Información remota: la/s dirección/es IP del presunto atacante, así como su puerto y el protocolo de comunicación utilizado.
- Información Local: dirección IP de destino y su puerto de acceso.
- Filtrado de Información: forma en que ha actuado el filtro que empleamos y qué adaptador de red lo hizo.
- Paquetes de información: primeras líneas (de identificación) de cada uno de los paquetes (generalmente, en formato hexadecimal).
Todos estos registros quedan almacenados en archivos de registro (log), que han de ser leidos con frecuencia y el administrador de la red ha de tomar medidas si se detectan actividades sospechosas.

Cabe mencionar la tecnología Stateful Multi-Layer Inspection (SMLI) que constituye una extensión del filtrado de paquetes, ya que no se limita a examinar los paquetes a nivel de red, sino que los analiza a todos los niveles de la pila de protocolos, al tiempo que extrae información relevante sobre el estado de la comunicación y de la aplicación. Para cada conexión TCP o UDP, el cortafuegos crea una tabla con las direcciones IP de origen y destino, números de puertos origen y destino, números de secuencia de los paquetes, entre otros datos adicionales asociados a la conexión en particular.
De este modo, gracias a su motor de isnpección y la información de estado de la conexión almacenada en las tablas, el firewall puede implantar la política de seguridad de la organización.

Este motor de inspección cuenta con una serie de ventajas como las que se describen a continuación:

- El rendimiento no se ve afectado notablemente, ya que son más rápidos al operar principalmente a los niveles bajos de la pila de protocolos. De este modo, no afecta el número de usuarios conectados a través del cortafuegos.

- Se puede adaptar a protocolos y aplicaciones nuevamente definidos, facilitando así la escalabilidad. Es decir, el cortafuegos es transparente para las aplicaciones y los usuarios, ya que no necesitan modifiacr o instalar software adicional.

Como contrapunto, la tecnología SMLI no es capaz de evitar los ataques más sofisticados enmascarados a nivel de aplicación, como desboradamientos de buffer o comandos de aplicación ilegales o inseguros.


Anterior                                                                          Índice                                                                               Siguiente