Navegación

Firewall

Cada ordenador que se conecta a internet (y, básicamente, a cualquier red de ordenadores) puede ser víctima del ataque de un hacker. La metodología que generalmente usan los hackers consiste en analizar la red (mediante el envío aleatorio de paquetes de datos) en busca de un ordenador conectado. Una vez que encuentra un ordenador, el hacker busca un punto débil en el sistema de seguridad para explotarlo y tener acceso a los datos de la máquina.

Por muchas razones, esta amenaza es aún mayor cuando la máquina está permanente conectada a internet:

  • Es probable que la máquina elegida esté conectada pero no controlada.
  • Generalmente, la máquina conectada que se elige posee un ancho de banda más elevado.
  • La máquina elegida no cambia las direcciones IP o lo hace muy ocasionalmente.

Por lo tanto, es necesario que tanto las redes de las compañías como los usuarios de internet con conexiones por cable o ADSL se protejan contra intrusiones en la red instalando un dispositivo de protección.

¿Qué es un Firewall?

Un firewall es un sistema que protege a un ordenador o a una red de ordenadores contra intrusiones provenientes de redes de terceros (generalmente desde internet). Un sistema de firewall filtra paquetes de datos que se intercambian a través de internet. Por lo tanto, se trata de una pasarela de filtrado que comprende al menos las siguientes interfaces de red:

  • una interfaz para la red protegida (red interna)
  • una interfaz para la red externa.

El sistema firewall es un sistema de software, a menudo sustentado por un hardware de red dedicada, que actúa como intermediario entre la red local (u ordenador local) y una o más redes externas. Un sistema de firewall puede instalarse en ordenadores que utilicen cualquier sistema siempre y cuando:

  • La máquina tenga capacidad suficiente como para procesar el tráfico
  • El sistema sea seguro
  • No se ejecute ningún otro servicio más que el servicio de filtrado de paquetes en el servidor
En caso de que el sistema de firewall venga en una caja negra (llave en mano), se aplica el término "aparato".

Cómo funciona un sistema Firewall

Un sistema firewall contiene un conjunto de reglas predeterminadas que le permiten al sistema:

  • Autorizar la conexión (permitir)
  • Bloquear la conexión (denegar)
  • Rechazar el pedido de conexión sin informar al que lo envió (negar)

Todas estas reglas implementan un método de filtrado que depende de la política de seguridad adoptada por la organización. Las políticas de seguridad se dividen generalmente en dos tipos que permiten:

  • la autorización de sólo aquellas comunicaciones que se autorizaron explícitamente:"Todo lo que no se ha autorizado explícitamente está prohibido"
  • el rechazo de intercambios que fueron prohibidos explícitamente
El primer método es sin duda el más seguro. Sin embargo, impone una definición precisa y restrictiva de las necesidades de comunicación.

Filtrado de paquetes Stateless

Un sistema de firewall opera según el principio del filtrado simple de paquetes, o filtrado de paquetes stateless. Analiza el encabezado de cada paquete de datos (datagrama) que se ha intercambiado entre un ordenador de red interna y un ordenador externo.

Así, los paquetes de datos que se han intercambiado entre un ordenador con red externa y uno con red interna pasan por el firewall y contienen los siguientes encabezados, los cuales son analizados sistemáticamente por el firewall:

  • La dirección IP del ordenador que envía los paquetes
  • La dirección IP del ordenador que recibe los paquetes
  • El tipo de paquete (TCP, UDP, etc.)
  • El número de puerto (recordatorio: un puerto es un número asociado a un servicio o a una aplicación de red).

Las direcciones IP que los paquetes contienen permiten identificar el ordenador que envía los paquetes y el ordenador de destino, mientras que el tipo de paquete y el número de puerto indican el tipo de servicio que se utiliza.

La siguiente tabla proporciona ejemplos de reglas del firewall:

Los puertos reconocidos (cuyos números van del 0 al 1023) están asociados con servicios ordinarios (por ejemplo, los puertos 25 y 110 están asociados con el correo electrónico y el puerto 80 con la Web). La mayoría de los dispositivos de firewall se configuran al menos para filtrar comunicaciones de acuerdo con el puerto que se usa. Normalmente, se recomienda bloquear todos los puertos que no son fundamentales (según la política de seguridad vigente).

Por ejemplo, el puerto 23 a menudo se bloquea en forma predeterminada mediante dispositivos de firewall, ya que corresponde al protocolo TELNET, el cual permite a una persona emular el acceso terminal a una máquina remota para ejecutar comandos a distancia. Los datos que se intercambian a través de TELNET no están codificados. Esto significa que es probable que un hacker observe la actividad de la red y robe cualquier contraseña que no esté codificada. Generalmente, los administradores prefieren el protocolo SSH, el cual tiene la reputación de ser seguro y brinda las mismas funciones que TELNET.

Filtrado Dinámico

El Filtrado de paquetes Stateless sólo intenta examinar los paquetes IP independientemente, lo cual corresponde al nivel 3 del modelo OSI (Interconexión de sistemas abiertos). Sin embargo, la mayoría de las conexiones son admitidas por el protocolo TCP, el cual administra sesiones, para tener la seguridad de que todos los intercambios se lleven a cabo en forma correcta. Asimismo, muchos servicios (por ejemplo, FTP) inician una conexión en un puerto estático. Sin embargo, abren un puerto en forma dinámica (es decir, aleatoria) para establecer una sesión entre la máquina que actúa como servidor y la máquina cliente.

De esta manera, con un filtrado de paquetes stateless, es imposible prever cuáles puertos deberían autorizarse y cuáles deberían prohibirse Para solucionar este problema, el sistema de filtrado dinámico de paquetes se basa en la inspección de las capas 3 y 4 del modelo OSI, lo que permite controlar la totalidad de las transacciones entre el cliente y el servidor. El término que se usa para denominar este proceso es "inspección stateful" o "filtrado de paquetes stateful".

Un dispositivo de firewall con "inspección stateful" puede asegurar el control de los intercambios. Esto significa que toma en cuenta el estado de paquetes previos cuando se definen reglas de filtrado. De esta manera, desde el momento en que una máquina autorizada inicia una conexión con una máquina ubicada al otro lado del firewall, todos los paquetes que pasen por esta conexión serán aceptados implícitamente por el firewall.

El hecho de que el filtrado dinámico sea más efectivo que el filtrado básico de paquetes no implica que el primero protegerá el ordenador contra los hackers que se aprovechan de las vulnerabilidades de las aplicaciones. Aún así, estas vulnerabilidades representan la mayor parte de los riesgos de seguridad.

Filtrado de aplicaciones

El filtrado de aplicaciones permite filtrar las comunicaciones de cada aplicación. El filtrado de aplicaciones opera en el nivel 7 (capa de aplicaciones) del modelo OSI, a diferencia del filtrado simple de paquetes (nivel 4). El filtrado de aplicaciones implica el conocimiento de los protocolos utilizados por cada aplicación.

Como su nombre lo indica, el filtrado de aplicaciones permite filtrar las comunicaciones de cada aplicación. El filtrado de aplicaciones implica el conocimiento de las aplicaciones en la red y un gran entendimiento de la forma en que en ésta se estructuran los datos intercambiados (puertos, etc.).

Un firewall que ejecuta un filtrado de aplicaciones se denomina generalmente "pasarela de aplicaciones" o ("proxy"), ya que actúa como relé entre dos redes mediante la intervención y la realización de una evaluación completa del contenido en los paquetes intercambiados. Por lo tanto, el proxy actúa como intermediario entre los ordenadores de la red interna y la red externa, y es el que recibe los ataques. Además, el filtrado de aplicaciones permite la destrucción de los encabezados que preceden los mensajes de aplicaciones, lo cual proporciona una mayor seguridad.

Este tipo de firewall es muy efectivo y, si se ejecuta correctamente, asegura una buena protección de la red. Por otra parte, el análisis detallado de los datos de la aplicación requiere una gran capacidad de procesamiento, lo que a menudo implica la ralentización de las comunicaciones, ya que cada paquete debe analizarse minuciosamente.

Además, el proxy debe interpretar una gran variedad de protocolos y conocer las vulnerabilidades relacionadas para ser efectivo.

Finalmente, un sistema como este podría tener vulnerabilidades debido a que interpreta pedidos que pasan a través de sus brechas. Por lo tanto, el firewall (dinámico o no) debería disociarse del proxy para reducir los riesgos de comprometer al sistema.

Limitaciones del Firewall

Por supuesto que los sistemas firewall no brindan seguridad absoluta; todo lo contrario. Los firewalls sólo ofrecen protección en tanto todas las comunicaciones salientes pasen sistemáticamente a través de éstos y estén configuradas correctamente. Los accesos a la red externa que sortean el firewall también son puntos débiles en la seguridad. Claramente, éste es el caso de las conexiones que se realizan desde la red interna mediante un módem o cualquier otro medio de conexión que evite el firewall.

Asimismo, la adición de medios externos de almacenamiento a los ordenadores de sobremesa o portátiles de red interna puede dañar enormemente la política de seguridad general.

Para garantizar un nivel máximo de protección, debe ejecutarse un firewall en el ordenador y su registro de actividad debe controlarse para poder detectar intentos de intrusión o anomalías. Además, se recomienda controlar la seguridad (por ejemplo, inscribiéndose para recibir alertas de seguridad de CERT) a fin de modificar los parámetros del dispositivo de firewall en función de las alertas publicadas.

La instalación de un firewall debe llevarse a cabo de la mano de una política de seguridad real.

El concepto de Aislamiento

Los sistemas Firewall permiten definir las reglas de acceso entre dos redes. Sin embargo, en la práctica, las compañías cuentan generalmente con varias subredes con diferentes políticas de seguridad. Por esta razón, es necesario configurar arquitecturas de firewall que aíslen las diferentes redes de una compañía. Esto se denomina "aislamiento de la red".

Arquitectura DMZ

Cuando algunas máquinas de la red interna deben ser accesibles desde una red externa (servidores web, servidores de correo electrónico, servidores FTP), a veces es necesario crear una nueva interfaz hacia una red separada a la que se pueda acceder tanto desde la red interna como por vía externa sin correr el riesgo de comprometer la seguridad de la compañía. El término "zona desmilitarizada" o DMZ hace referencia a esta zona aislada que posee aplicaciones disponibles para el público. La DMZ actúa como una "zona de búfer" entre la red que necesita protección y la red hostil.

DMZ (Zona desmilitarizada)Los servidores en la DMZ se denominan "anfitriones bastión" ya que actúan como un puesto de avanzada en la red de la compañía.

Por lo general, la política de seguridad para la DMZ es la siguiente:

  • El tráfico de la red externa a la DMZ está autorizado
  • El tráfico de la red externa a la red interna está prohibido
  • El tráfico de la red interna a la DMZ está autorizado
  • El tráfico de la red interna a la red externa está autorizado
  • El tráfico de la DMZ a la red interna está prohibido
  • El tráfico de la DMZ a la red externa está denegado

De esta manera, la DMZ posee un nivel de seguridad intermedio, el cual no es lo suficientemente alto para almacenar datos imprescindibles de la compañía.

Debe observarse que es posible instalar las DMZ en forma interna para aislar la red interna con niveles de protección variados y así evitar intrusiones internas.

El concepto de NAT

El proceso de la traducción de direcciones de red (NAT, por sus siglas en inglés) se desarrolló en respuesta a la falta de direcciones de IP con el protocolo IPv4 (el protocolo IPv6 propondrá una solución a este problema).

En efecto: en la asignación de direcciones IPv4, no hay suficientes direcciones IP enrutables (es decir, únicas en el mundo) para permitir que todas las máquinas que necesiten conectarse a internet puedan hacerlo.

El concepto de NAT consiste en utilizar una dirección IP enrutable (o un número limitado de direcciones IP) para conectar todas las máquinas a través de la traducción, en la pasarela de internet, entre la dirección interna (no enrutable) de la máquina que se desea conectar y la dirección IP de la pasarela.

Además, el proceso de traducción de direcciones permite a las compañías asegurar la red interna siempre y cuando oculte la asignación de direcciones internas. Para un observador que se ubica fuera de la red, todos los pedidos parecen provenir de la misma dirección IP.

Espacio para la dirección

El organismo que administra el espacio público de direcciones (direcciones IP enrutables) es el Organismo de Asignación de Números en Internet (IANA, por sus siglas en inglés). El RFC 1918 define un espacio para direcciones privadas que permite a organizaciones asignar direcciones IP a sus máquinas con redes internas sin correr el riesgo de entrar en conflicto con una dirección IP pública asignada por IANA. Estas direcciones, conocidas como no enrutables, corresponden a los siguientes rangos de direcciones:

  • Clase A: va desde 10.0.0.0 hasta 10.255.255.255
  • Clase B: va desde 172.16.0.0 hasta 172.31.255.255  va desde 10.16.0.0 hasta 172.31.255.255
  • Clase C: va desde 192.168.0.0 hasta 192.168.255.55  va desde 192.168.0.0 hasta 172.31.255.255
Todas las máquinas de una red interna que están conectadas a internet a través de un router y que no poseen una dirección IP pública deben utilizar una dirección que se encuentre dentro de uno de estos rangos. Para redes francesas pequeñas, generalmente se utiliza el rango de direcciones que va desde 192.168.0.1 hasta 192.168.0.255.

Traducción estática

El concepto de NAT estática consiste en hacer coincidir una dirección IP pública con una dirección IP de red privada interna. Un router (o, más precisamente, la pasarela) hace coincidir una dirección IP privada (por ejemplo, 192.168.0.1) con una dirección IP pública enrutable en internet y, en cierto sentido, realiza la traducción mediante la modificación de la dirección en el paquete IP.

La traducción de las direcciones estáticas permite conectar máquinas de red interna a internet de manera transparente, aunque no resuelve el problema de escasez de direcciones debido a que se necesitan n direcciones IP enrutables para conectar n máquinas de la red interna.

Traducción dinámica

La NAT dinámica permite compartir una dirección IP enrutable (o una cantidad reducida de direcciones IP enrutables) entre varias máquinas con direcciones privadas. Así, todas las máquinas de la red interna poseen la misma dirección IP virtual en forma externa. Por esta razón, el término "enmascaramiento de IP" se usa en ciertos casos para procesar la NAT dinámica.

Para poder "multiplexar" (compartir) diferentes direcciones IP con una o más direcciones IP enrutables, la NAT dinámica utiliza la traducción de direcciones de puerto, es decir, la asignación de un puerto de origen diferente para cada solicitud, de modo que se pueda mantener una correspondencia entre los pedidos que provienen de la red interna y las respuestas de las máquinas en internet, las cuales están dirigidas a la dirección IP del router.

Para más información, consultar el RFC 3022:

http://www.ietf.org/rfc/rfc3022.txt

http://www.ietf.org/rfc/rfc1918.txt

Comments