sábado, 4 de junio de 2016

Firewalls Distribuidos

Introducción

Desde que las empresas e individuos comenzaron a comunicarse mediante Internet ha surgido un problema de seguridad que afecta a los datos que mantienen en sus sistemas privados así como aquellos que son enviados a sitios remotos de la red mundial.
Los firewalls ofrecen una solución a estos problemas y ha surgido una amplia variedad de tecnologías y estrategias de entre las cuales se encuentran, como innovación de los últimos tiempos, los firewalls distribuidos, que permiten establecer políticas más flexibles y robustas que los sistemas convencionales que dependen fuertemente de la topología de la red sobre la cual se implementen.
La primera parte de este documento introduce el problema de la seguridad en las comunicaciones existentes entre una red local y la red mundial a la está conectado y los requerimientos funcionales que exige una solución a este problema. La segunda parte introduce las diferentes tecnologías en las cuales están basadas todas las soluciones firewalls, y las posibles estrategias a asumir. Luego, en la tercera parte se presentan algunas soluciones convencionales y finalmente se muestra como los firewalls distribuidos ofrecen una solución diferente con mayores ventajas sobre sus antecesores.
Considero necesario introducir las tecnologías utilizadas en la implementación de un firewall tradicional ya que estas son la base sobre la cual se desarrollaron los firewalls distribuidos.

Necesidad de seguridad

El uso de las computadoras se ha convertido en la herramienta esencial para el manejo de información en nuestra vida cotidiana y más aún en la realización de los negocios de hoy en día.
Como consecuencia ha surgido una necesidad de compartir información entre usuarios y entre estos y organizaciones o empresas. Esta necesidad ha sido dirigida por dos fuerzas: los laboratorios y proyectos de investigación, que ante la necesidad de colaboración necesitaron compartir información entre diferentes grupos situados en lugares remotos y desarrollaron protocolos y métodos para transferir datos (como por ejemplo TCP/IP); y por otro lado los intereses de las empresas, la necesidad de mejorar el intercambio de información corporativa entre oficinas o edificios llevó al desarrollo de varios protocolos desarrollados para estos fines.
Luego, la necesidad de comunicación se extendió a grandes áreas y surgieron nuevas industrias en la manipulación de routers, gateways y otros dispositivos para posibilitar tal transmisión de datos. Así mismo se estableció una tendencia al uso de protocolos estándares de uso común entre multitud de organizaciones que les permitiría intercomunicarse de forma apropiada.
A la par de este crecimiento surgieron varios aspectos importantes como lo es el de la seguridad de la información. La mayor parte de las compañías utilizan Internet como herramienta clave para realizar sus negocios y dependen de ella para continuar existiendo, lo que puede llevar a exponer información privada poniendo en peligro la confidencialidad de sus operaciones. Muchas organizaciones ofrecen servicios mediante sus sistemas de comunicación, la efectivización de tales servicios requiere el acceso a recursos críticos del sistema de información de la empresa (archivos, dispositivos de almacenamiento, líneas telefónicas, etc). Dichos recursos deben ser protegidos contra el uso indiscriminado y malicioso por parte de usuarios no deseados. Si un sistema de comunicación es vulnerable a estos tipos de ataques, el riesgo de perdida de datos es importante. Este riesgo potencial de seguridad aumenta junto con el nivel de dependencia en tecnología de información, lo que requiere el uso sistemas de seguridad más confiables y robustos.
Las redes son riesgosas por tres razones:
  1. Existen muchos puntos vulnerables desde donde puede ser lanzado un ataque,
  2. El perímetro físico del sistema de comunicación se ha extendido, existiendo mensajes de entrada y salida, manteniendo contacto con todos los otros sistemas conectados a la red,
  3. Las redes ofrecen múltiples servicios de conexión, cada uno con un punto de acceso propio. Cada uno de estos requiere una protección adecuada contra intrusos y cada una ofrece una complejidad y dificultad propia.
Las organizaciones poseen un conjunto de computadoras conectadas a la red propia y al exterior (no son simples computadoras conectadas unas a otras), que deben ser capaces de establecer comunicaciones confiables con cualquier dispositivo en la red (completa). Puesto de esta forma, parece ser una tarea bastante complicada en lo que a seguridad se refiere. Afortunadamente la red puede ser configurada de manera que solo una computadora necesite comunicarse con el exterior. Tal dispositivo dedicado es llamado "compuerta cortafuegos" (firewall gateway) y suele ser el principio de una estrategia de seguridad.

Requerimientos funcionales de una solución de seguridad

La implementación de un buen sistema de seguridad requiere el uso de ciertas funciones que permitirán asegurar la confidencialidad e integridad de los recursos de nuestra red contra los ataques de intrusos. De este planteo surgen algunas cuestiones [Ches-Bell], previas a la elección de las tecnologías a utilizar, que deberán se resueltas al momento de implementar un mecanismo de seguridad efectivo para una red:
¿Que recursos tratamos de proteger? Un determinado host posee ciertos recursos y tiene acceso a otros recursos de la red. Deben determinarse qué recursos son críticos para la organización y deben, por lo tanto, ser protegidos contra el acceso de intrusos. Tales recursos pueden ser archivos confidenciales, dispositivos de almacenamiento u otro tipo, líneas de conexiones, etc. Estas decisiones determinarán las medidas a tomar o estrategia que asegurarán la aplicación de los permisos de acceso a los recursos para cada posible usuario (host confiable o no); por ejemplo, si queremos proteger todos esos recursos, debemos efectuar un control en un punto previo a la entrada a la red local.
Estas decisiones deben tomar en consideración otra cuestión referida a dónde se originan los problemas de seguridad, es decir ¿contra quien defendemos nuestros sistemas?. Es posible que un intruso asuma la identidad de un host confiable para la red y tenga acceso a recursos que de otra forma no tendría. Además debemos tener en cuenta qué tan severo sería que la seguridad sea quebrada y los recursos de la red sean accedidos por usuarios no deseables. El objetivo es que esto nunca suceda por lo que podríamos decidir implementar una estrategia severa con mecanismos de alta calidad, pero estamos dejando de lado otro importante factor.
¿Cuánta seguridad podemos afrontar? Es decir, el costo que estamos dispuestos a cubrir. Esto se relaciona, en cierta forma, con que tan deseables son los recursos de nuestra organización para los usuarios de la red externa, aunque es una cuestión un tanto discutible y muy relativa. También debemos considerar la conveniencia de la solución de seguridad en cuanto al servicio, es decir ¿afecta el mecanismo de seguridad, al desempeño del servicio brindado?
El objetivo de una solución de seguridad es "aislar" el segmento de la red local del resto de Internet y controlar el tráfico que llega y sale de ella. De aquí surgen dos aspectos básicos a cubrir por una solución de seguridad para redes, seguridad en tránsito y regulación de tráfico, los cuales, cuando son combinados, ayudan a garantizar que la información correcta sea entregada de forma segura al lugar correcto. Existe también la necesidad de asegurar que los hosts que reciban la información, la procesen apropiadamente, de aquí surge el espectro completo de seguridad de los hosts.
La protección de una red contra amenazas no puede ser lograda por una sola tecnología o servicio por lo que es necesario diseñar una estrategia balanceada que permita cubrir los puntos débiles en la seguridad de una red.
Todas las comunicaciones entre sitios que forman parte de una red publica son vulnerables a ataques de escuchas, éste riesgo está asociado con la importancia que tiene la información para quien tenga la habilidad de interceptar dicha comunicación. La seguridad en transito enfatiza la necesidad de mantener los datos seguros mientras transitan una red pública como Internet. Así, disponemos de ciertas funciones o servicios que cubren distintos puntos de este aspecto.

Limitar la exposición de la red interna

De esta forma podemos ocultar "todo" lo que sucede dentro de la red de la organización de la red publica, que de otra forma significaría un riesgo en la seguridad de las comunicaciones y los recursos.
Mediante este servicio es posible ocultar el esquema de direcciones de la red interior, para evitar que cualquier host no confiable efectúe comunicaciones de forma directa con alguno de los host de nuestra red, así como también asegurar que todo el trafico entre hosts confiables de la red privada que atraviese una red publica se mantenga de esa forma (es decir, solo accesible a aquellos hosts a quienes está destinada la comunicación). Estas funcionalidades pueden ser logradas mediante el uso de la Traducción de Direcciones de Red (NAT) y de Redes Privadas Virtuales (VPN) respectivamente.

Criptografía

La necesidad de comunicarnos nos ha llevado a un nivel de conexión que nos permite enviar datos a cualquier sitio del mundo. Surge entonces el riesgo de que cualquiera pueda interceptar nuestros mensajes; si nuestros datos tienen cierta confidencialidad sería entonces deseable que nadie, que intercepte dicha comunicación, pueda acceder a ellos, sino solo el receptor deseado.
La criptografía es la transformación de un mensaje, mediante mecanismos y claves, en una forma ilegible y sin sentido propio. De esta forma, quien intercepte un mensaje encriptado no será capaz de saber que es lo que tiene en su poder. Los mecanismos de encriptación utilizados en la actualidad aseguran que solo el receptor deseado sea capaz de leer el mensaje recibido aplicando el proceso inverso de encriptación.
La criptografía ofrece una segunda funcionalidad: autenticación. ¿Sabemos con quién nos comunicamos en Internet? ¿Es confiable la otra parte? La criptografía agrega a las comunicaciones sobre Internet un aspecto de seguridad muy importante, la certeza de la identidad de aquellos terceros con quien se establecen comunicaciones y se intercambia información. El hecho de poder desencriptar un mensaje correctamente, por parte del receptor deseado, le da la seguridad de quién lo ha enviado ya que solo dicha entidad pudo encriptar el mensaje que ha sido recibido (aunque existen algunas consideraciones a este respecto que serán tratadas más adelante). Así, se detectará si un tercero intenta modificar el mensaje o inyectar uno falso, ya que no posee los mismos medios que el emisor original para encriptar el mensaje.
Existen variados métodos de encriptación más o menos complejos y efectivos que exige una decisión en términos de economía, nivel de protección e impacto sobre los sistemas existentes sobre los que se implementará.

Tunneling de Tráfico, Puntos de control y Monitoreo

La transmisión de paquetes entre dos sistemas finales remotos en Internet involucra la intervención de varios sistemas intermedios que pueden tener acceso a la información transmitida si no se considera ningún esquema de privacidad.
Un túnel es un tipo especial de conexión entre dos sistemas a través de una red. La conexión establecida es directa y virtual es decir que simulan una conexión por cable directa que comunica dos sistemas. Estas conexiones pueden ser usadas para evitar las limitaciones de una topología ya que un paquete enviado a través de un túnel pasa inadvertido de los nodos que intervienen en la ruta real hasta el destinatario (quien también tiene configurado el túnel). Por ejemplo un túnel puede comunicar dos sitios remotos que estén conectados mediante proveedores de conexión a redes públicas (como un ISP). Este tipo de conexiones proveen de servicios tales como encriptado de datos, autenticación, control de acceso (autorización) e integridad de datos Dos firewalls conectados mediante túneles ofrecen protección del exterior mientras que el túnel provee conectividad. Si el tráfico del túnel es encriptado, los riesgos son menores y los beneficios son importantes.
Con la utilización de un túnel, un host que se encuentra físicamente en otra red, pertenece virtualmente a nuestra red local con lo que es posible que un servidor ofrezca un servicio más confiable y transparente a sus usuarios. En favor de esto último, las conexiones de túnel existen más allá del tiempo de conexión, es decir, no terminan cuando la transmisión de datos entre los dos sistemas ha finalizado; es una conexión acordada y configurada previa a cualquier transmisión de datos y, en principio, permanente.
Configurados adecuadamente, los túneles permiten forzar el tráfico (de entrada y salida) de un firewall a través de puntos de control específicos del mismo y de esta forma es posible monitorear la actividad de la red en tales puntos de acceso; utilizando alarmas y habilitando el registro del firewall podemos buscar actividades sospechosas para detectar la presencia de intrusos, además de los beneficios ya comentados de utilizar un túnel.
Otro de los aspectos importantes acerca de la seguridad de las redes es regular de cerca qué tipos de paquetes pueden viajar entre redes. Si un paquete que puede hacer algo malicioso a un host remoto nunca llega a él, el host remoto no se verá afectado. La regulación del tráfico provee este servicio entre hosts y sitios remotos. Esto sucede en tres áreas básicas de la red: routers, firewalls y hosts. Cada uno provee servicios similares en diferentes puntos de la red. De hecho, la línea que los diferencia es arbitraria y difusa.

Política de seguridad

Una política de seguridad es un conjunto de decisiones que determinan, de forma colectiva, la postura asumida con respecto a las medidas de seguirdad implementadas (o a implementar) en una red de computadoras. Es decir, permite determinar los límites de comportamiento aceptable en lo concerniente a qué está y qué no está permitido [Ches-Bell].
La política de seguridad deber ser una de las primeras consideraciones al diseñar una solución de seguridad pues será la que guíe la elección y configuración de la tecnología a utilizar. Y en su definición influye un factor clave: la postura del diseñador, es decir la actitud ante los riesgos que corre la red por su conexión a una red pública. Está afectada por la opinión y habilidades del diseñador y responderá a una filosofía que será más o menos flexible (aceptamos solo aquello que sea seguro -porque lo conocemos-, o rechazar solo aquello que es malo -porque lo conocemos-). No elegir o seleccionar una politica de seguridad, es también en sí misma una política de seguridad: la de permitir todo. Una filosofía apropiada es aquella que no considere que todo es absoluto, es decir, que encuentre un punto intermedio que se ajuste a las necesidades de la organización. Sería deseable que pueda minimizar el peligro y proveer a la vez los beneficios de una conexión de red.
Con esto debe quedar en claro que no existe una fórmula para la política de seguridad de una red privada sino que cada responsable debe diseñarla según el caso, las necesidades, las directivas, las restricciones y otros factores que fundamenten o no una determinada decisión. Tales decisiones son necesariamente dependientes del contexto. Las consideraciones de una política de seguridad están dirigidas por las necesidades estructurales, de negocios o tecnológicas de la organización y pueden involucrar decisiones tales como restringir el tráfico de salida de red que permita a los empleados exportar datos valiosos, restringir el software importado por los empleados sin permiso de la compañía, impedir el uso de un determinado protocolo de comunicación porque no puede ser administrado de forma segura, entre otras. Este es un proceso iterativo que permite modificar la filosofía para ajustarse a las necesidades del momento.
El funcionamiento de un firewall está fuertemente asociado a la política de seguridad elegida. Definir los límites de comportamiento es fundamental para la operación de un firewall. Por lo tanto, una vez que se haya establecido y documentado apropiadamente una sólida política de seguridad, el firewall debe ser configurado para reflejarla y es su trabajo aplicarla como parte de una defensa de perímetro (siguiendo el enfoque tradicional). Consecuentemente se configura un firewall para rechazar todo, a menos que hayamos elegido explícitamente aceptarlo y correr el riesgo. Tomar el camino opuesto de rechazar solo a los ofensores conocidos es una opción extremadamente peligrosa. Por último, cualquier cambio hecho al firewall debería se corregido en la política de seguridad y viceversa.

Filtros y listas de acceso

Los filtros son programas que generalmente se encuentran situados en los sistemas que proveen conectividad entre redes, es decir los puntos de acceso a la red, routers, firewalls y gateways (aunque esto no es así para todos los casos). Estos efectúan un análisis para determinar el destino del paquete completo en base a la información contenida en el encabezado de los paquetes que llegan a dichos sistemas y en función de un conjunto de reglas. De aquí podría decidir desechar el paquete, es decir, no permitir que continúe viajando por la red en la dirección original (entrando o saliendo); aceptar el paquete, con lo cual continuaría atravesando la red, o hacer algo más (por ejemplo, redireccionarlo a otro punto de la red).
Las reglas especifican patrones o propiedades en los datos del encabezado de un paquete asociados con la acción a tomar con dicho paquete. Cada paquete que atraviesa el filtro es comparado contra la lista de reglas también conocida como cadena de reglas. Para decidir el destino de un paquete, el filtro busca, a través del conjunto de reglas, alguna que coincida con el contenido del encabezado del paquete. Una vez encontrada dicha regla, se lleva a cabo la acción indicada por la regla para el paquete. Esta lista de reglas debe ser configurada para reflejar la politica de seguridad asumida por la solución de seguridad de la red.
Con la utilización de un filtro es posible bloquear toda comunicación con ciertas partes (sitios) de la red externa para evitar determinados comportamientos no deseables en los sistemas finales de la red privada; permite restringir todas las comunicaciones entrantes a ciertos servicios de la red para evitar el acceso a recursos privados; y habilitar alarmas o avisos que adviertan que paquetes entran, salen o son rechazados. Por lo tanto el filtro de paquetes puede actuar tanto para la entrada como para la salida de paquetes de la red.
Partiendo de la necesidad de implantar estos servicios para una solución firewall, se ha definido un modelo de referencia [Peri] que establece los diferentes componentes que deben estar presentes (ver Figura 1)
Modelo de Referencia para Firewalls
Figura 1 - Modelo de Referencia para Firewalls
Función de Auditoría o Monitoreo: permite el registro de eventos relevantes del sistema, muy útil para la detección de intrusos.
Función de Autenticación: permite la identificación certera de la entidad con la cual se establece una comunicación.
Función de Integridad: asegura que el paquete ha sido recibido tal cual fue enviado y que no ha sido falseado en el transcurso de su transmisión.
Función de control de Acceso (filtrado de paquetes): en base a información dentro del paquete, se verifican las reglas de seguridad para determinar el destino del paquete.
Función de cumplimiento del Acceso: realiza el control final de los datos entrantes derivando la decisión a los módulos apropiados; éste es un servicio de la misma naturaleza que el de control de acceso, solo que a un nivel superior (referido a la aplicación responsable de procesar el paquete).
Este modelo no hace referencia a una función de confidencialidad, es decir, encriptado de los datos que transitan una red pública; hace énfasis en la regulación del tráfico, y no en la seguridad en tránsito. De todas formas, dicha función podría delegarse a algún sistema intermedio que comunique de forma segura la red externa con los sistemas finales, enfocados en implementar este modelo, con lo cual se obtiene una solución bastante flexible (planteada en este documento). Además se observa que este modelo es bastante flexible ya que responde tanto a una solución tradicional, perimetral, como a un enfoque basado en la seguridad de sistemas finales

Tecnologías y aspectos de seguridad

Anteriormente se vieron cuáles son los servicios de seguridad que debería ofrecer una solución firewall. Para poder implementar y llevar a cabo estos servicios se necesita de una arquitectura de hardware apropiada sobre la cual se configurarán los diferentes servicios.
Existen diferentes formas de configurar una solución (que se tratarán en la tercera parte), pero básicamente lo componentes principales de cualquier sistema de comunicaciones protegido por un firewall son: Routers, Gateways, Proxies y Hosts o Sistemas finales que conforman la red, todos ellos comunicados por algún medio de transmisión. A continuación se describe brevemente cada uno de estos sistemas. Luego se describirán las tecnologías que hacen posible ofrecer los servicios mencionados, sobre qué componente pueden ser instaladas y cómo.

Routers

Un router es un dispositivo que reenvía o retransmite paquetes entre dos o más redes (ver Figura 2). Operan sobre la capa de red por lo que no necesitan implementar los niveles superiores de la arquitectura de red (aunque también es posible encontrar la capa de Transporte lo que permite extender algunos servicios).
A medida que los paquetes son recibidos por el router, utiliza información de direccionamiento de los paquetes IP para determinar la mejor ruta que puede tomar para llegar a su destino final. El paquete es ruteado a través de la red mediante un algoritmo que utiliza una tabla de ruteo que contiene información de todas las redes conocidas por él, el número de nodos hasta una red determinada, y la dirección del router en la dirección de la red destino.
Funcionamiento básico de un Router
Figura 2: Funcionamiento básico de un Router

Gateways y Proxies

Un gateway o puerta de enlace es un sistema que actúa como intermediario o compuerta entre una red privada y una red a la cual está conectada (generalmente Internet), es decir que todo el tráfico existente entre ambas redes pasa por esta compuerta (ver Figura 3). Está encargado de capturar y redirigir todos los mensajes y solicitudes de conexión provenientes de la red pública, destinados a servicios ofrecidos por sistemas finales (servidores de aplicación, por Ej. Web, FTP, HTTP, etc) dentro de la red privada y vise versa. Este servicio es implementado en el gateway mediante el uso de aplicaciones de software llamadas proxies.
Un servidor proxy es una aplicación situada entre una aplicación cliente y un servidor real (por Ej. un servidor Web), actuando como cliente de éste último. Intercepta todas las solicitudes al servidor real; si él puede responder la solicitud lo hace (con información previamente obtenida del servidor), sino redirecciona la solicitud al mismo.
Funcionamiento básico de un Servidor Proxy
Figura 3: Funcionamiento básico de un Servidor Proxy
Los proxies comprenden la sintaxis de un protocolo pero no implementan ninguna de sus funcionalidades. Simplemente verifican que un mensaje proveniente de un host externo es apropiado, y luego lo envía al sistema encargado de procesar los datos (el servidor real al cual estaba dirigido el mensaje).
El uso de un proxy tiene dos propósitos: mejorar el desempeño de la red: los servidores proxy pueden mejorar en gran medida el desempeño para un grupo de usuarios ya que ahorra la obtención de los resultados (consultas al servidor real) de todas las solicitudes para una cierta cantidad de tiempo; y filtrar solicitudes: de esta forma puede ofrecer un servicio de seguridad básico y muy importante para proteger una intranet o un sistema de información conectado a una red pública.
Otra ventaja de utilizar estos sistemas es que permite monitorear y controlar toda actividad de la red que involucre comunicación con el exterior (en ambas direcciones).
Cuando este sistema actúa como firewall, verifica si tales solicitudes o mensajes son permitidos y las rechaza en caso de que así lo determine, en función a las reglas que se le hayan impuesto.
El gateway está asociado con un router para determinar dónde son enviados los paquetes en función de tablas de ruteo e información del paquete.

Sistemas finales

Los sistemas finales de una red son tanto aquellos equipos destinados a ofrecer un servicio, como por ejemplo un servidor Web, un servidor FTP, un servidor de Correo Electrónico, etc., como aquellos sistemas utilizados por los integrantes de la organización que posee la red, para administración o simple uso de los recursos existentes. Estos también son conocidos como hosts.
Cuando se habla de seguridad en una red, la idea es proteger a los sistemas finales de ataques o intrusos que intenten tomar provecho de los recursos disponibles a través de la red, y no de impedir que atraviesen los puntos de acceso; éste es el medio por el cual se logra el objetivo final (comunicarse).
Todos los dispositivos de una red son capaces de soportar e implementar los servicios de seguridad necesarios para proveer protección a los sistemas finales (inclusive ellos mismos). El lugar (dispositivo) en la red donde se instalen los distintos servicios de seguridad determina la flexibilidad y granularidad de la protección. Un ataque puede provenir desde cualquier sitio de la red, tanto interna como externa por lo que los sistemas finales deberían protegerse por sí mismos de los intrusos.
La literatura suele referirse a diferentes tipos de hosts según la función que cumplen, como por ejemplo, un host gateway es aquel que cumple la función de un gateway o host firewall, aquel que realiza funciones de un firewall. Un término de particular importancia es el de “host bastión”. Éste es un sistema de cómputo altamente protegido ya que está expuesto a Internet y es el principal punto de contacto con usuarios de la red interna por lo que es vulnerable a los ataques. Generalmente implementan varias funciones y mecanismos de control combinando funciones de filtrado de paquetes y servicios proxies.
Existen diferentes estrategias y configuraciones para implementar una solución de seguridad que deberá responder a las necesidades de protección de los sistemas finales y a las restricciones impuestas por los recursos disponibles para llevarla a cabo.
Mediante la adopción de una política de seguridad es posible identificar las amenazas de las cuales se intenta proteger los recursos de la red, los mecanismos de seguridad a implementar y el nivel de protección requerido.
La política de seguridad misma responderá a la posición que asuma la organización ante tales amenazas. Esta posición se traduce en la determinación de una estrategia de seguridad que corresponde a un enfoque en particular para la elección de las reglas y medidas a tomar para proteger la red.
Ajustarse a una estrategia de seguridad es una decisión muy importante al momento de construir una solución de seguridad firewall ya que será determinante de la estructura resultante de dicha solución.
Existen algunas estrategias generales que responden a diferentes principios asumidos para llevar a cabo la implementación de una solución de seguridad [Chap-Zwi] [secinf.net 4].

Mínimo privilegio

Este es uno de los principios más fundamentales de seguridad. La estrategia consiste en conceder a cada objeto (usuario, programa, sistema, etc) solo aquellos permisos o privilegios que son necesarios para realizar las tareas que se programó para ellos. El tipo de objeto al cual se apliquen los permisos determinará la granularidad de la seguridad obtenida.
Esta estrategia permite limitar la exposición a ataques y limitar el daño causado por ataques particulares. Está basada en el razonamiento de que todos los servicios ofrecidos por una red están pensados para ser utilizados por algún perfil de usuario en particular, y no que todos los usuarios pueden utilizar todos los servicios de la red. De esta forma es posible reducir los privilegios requeridos para varias operaciones sin afectar al servicio prestado a los usuarios de la red.
Muchas soluciones utilizadas en la protección de un sitio utilizan técnicas para implementar una estrategia de mínimo privilegio, como es el caso de los sistemas de filtrado de paquetes, que solo permiten el paso de paquetes únicamente para los servicios deseados.
Esta estrategia es difícil de implementar cuando no está prevista como una característica de diseño en los programas y protocolos que estén siendo utilizados. Debe tenerse cuidado en asegurarse si realmente se está logrando implementar esta estrategia. En cualquier caso, es posible que se termine por implementar algo menos que el mínimo privilegio, o mucho más. Esta consideración esta relacionada con el objeto sobre el cual se aplica la restricción, es decir la granularidad de la protección. Por ejemplo, aplicar la restricción sobre los usuarios, puede restringir el uso de servicios que fueron pensados para todos los usuarios.
Para cada servicio debe establecerse cuidadosamente el objeto y las restricciones que se le aplican.

Defensa en profundidad

Esta estrategia se basa en la implementación de varios mecanismos de seguridad y que cada uno de ellos refuerce a los demás. De esta forma se evita que la falla de uno de los mecanismos deje vulnerable a la red completa.
La idea es hacerle más difícil y costoso a un atacante la tarea de violar la seguridad de la red. Esto se logra con la multiplicidad y redundancia de la protección, es decir, con cada mecanismo respaldando a los demás mecanismos de seguridad y cubriendo aspectos solapados, de forma que si uno de esos mecanismos falla, existen otras barreras más que vencer. Por ejemplo, se pueden aplicar política de seguridad de red, junto con políticas de seguridad de hosts y seguridad humana (educación de seguridad para los integrantes de la organización y usuarios de los servicios de red). Para el caso de la seguridad de red, por ejemplo, con un firewall, es común utilizar una solución de múltiples capas donde puede existir más de un filtro de paquetes, donde uno de ellos es capaz de filtrar aquellos paquetes que deberían haber sido rechazados por el filtro anterior.
Un aspecto importante de esta estrategia es la necesidad de evitar fallas de modo común es decir que los diferentes mecanismos deben ser cuidadosamente configurados para evitar que las fallas de un mecanismo no se propaguen al resto.

Punto de Ahogo (acceso)

Esta estrategia consiste en depender de un único punto de acceso a la red privada para todas las comunicaciones entre ésta y la red pública. Ya que no existe otro camino para el tráfico de entrada y salida, los esfuerzos de control y mecanismos de seguridad se centran y simplifican en monitorear un solo sitio de la red.
Esta estrategia se considera como una solución “todo en uno”. Como consecuencia, uno de los problemas que presenta es que si un atacante es capaz de traspasar la seguridad de este único punto del acceso tendrá acceso a todos los recursos de la red. Esta situación puede ser tratada utilizando mecanismos de protección redundantes y reforzar la seguridad de dicho punto.
Adicionalmente, otro de los inconvenientes que puede provocar esta estrategia, es que pueden producirse bajas en el desempeño de la comunicación de la red con el exterior, si se ve superada la capacidad del punto de acceso de registrar los sucesos y controlar todo el tráfico de entrada y salida.
En muchas soluciones este punto de acceso es implementado por un firewall perimetral por lo que éste debe tener la capacidad de procesar todo el tráfico que por él pase sin afectar en gran medida el desempeño de las comunicaciones.
La alternativa a este problema es proveer más caminos de acceso a la red pero estos también deben ser protegidos por algún mecanismo de seguridad y hace mas compleja la solución.
La estrategia del punto de ahogo no es útil si existe una forma alternativa de acceder a la red, por lo que estos caminos deben ser cuidadosamente localizados y restringidos del acceso exterior.

El enlace más débil

Esta estrategia responde a un principio de seguridad que, aplicado a redes, establece que un sitio es tan seguro como lo es su enlace más débil. Este enlace suele ser el objetivo de los ataques a la privacidad de una red.
El objetivo de esta estrategia es identificar aquellos enlaces débiles de acceso a la red privada y tratar de eliminarlos, reforzarlos y/o monitorearlos. Aunque no por esto debe restarse importancia a la seguridad de otros aspectos de la red.
De todas formas, siempre habrá algún enlace que será más débil que todos, la idea que ese enlace debe ser lo suficientemente seguro en proporción al riesgo que implica que sea vulnerado.

Estado a prueba de fallos

Esta estrategia considera un importante factor en la seguridad de redes: ninguna solución de seguridad es 100% segura. Más o menos segura, una protección puede fallar. La pregunta es ¿cómo responderá la red a esta falla?. Obviamente se tratará de reestablecer la barrera cuanto antes, pero, mientras tanto...
Uno de los principios fundamentales en la seguridad de redes es que si un mecanismo de seguridad fallara, debería negarse el acceso a todo usuario, inclusive aquellos usuarios permitidos (no podemos determinar si lo son si la función de autenticación no está funcionando), es decir debe fallar en un estado seguro.
Este principio debe ser considerado al diseñar firewalls de Internet. Los filtros de paquetes y gateways, deben fallar en tal forma que el trafico desde y hacia Internet sea detenido.
La mayoría de las aplicaciones y dispositivos utilizados en una solución firewall, como routers de filtrado de paquetes y servidores proxy, dejan de retransmitir información si fallan; con excepción de los sistemas de filtrado basados en hosts, que generalmente poseen servicios mediante aplicaciones independientes de estos sistemas, siguen recibiendo conexiones por este otro servicio. Estos casos deben ser evitados, ya que no llevan a cabo esta estrategia y tienden a ofrecer “puertas” abiertas a posibles ataques.
Esta estrategia está apoyada por la implementación de una posición específica con respecto a decisiones de seguridad y políticas. Existen dos posibles posiciones:
  • Rechazar por defecto: Se establece cuales son las comunicaciones que serán permitidas, cualquiera que no sea considerada, será rechazada.
  • Aceptar por defecto: Se establece cuales son las comunicaciones que no son permitidas, cualquiera que no sea considerada, será aceptada.
Es claro que la posición de rechazar por defecto es una estrategia a prueba de fallos ya que si el mecanismo falla no habrá comunicación se que sea aceptada. Para determinar qué será permitido, deben considerarse las siguientes tareas:
  • Examinar los servicios a ofrecer a los usuarios.
  • Tener en cuenta qué implica ofrecer estos servicios en términos de seguridad y como pueden ser implementados de forma segura en balance con las necesidades de los usuarios.
  • Permitir solo aquellos servicios necesarios, conocidos y que puedan ser protegidos de forma segura utilizando mecanismos disponibles.
Por otro lado, la posición de Aceptar por defecto, asume que todo es permitido a menos que se conozca que es inseguro, en cuyo caso se prohíbe su acceso. Esta posición no es en absoluto una implementación de una estrategia de estado a prueba de fallos.

Protección Universal

Más que una estrategia, es un principio que debería cumplir toda solución de seguridad. Se plantea que todo individuo en la organización que posee la red privada debe colaborar en mantener y cumplir las medidas de seguridad que permitan ofrecer una protección efectiva sus sistemas. De otra forma, un atacante podría aprovechar la debilidad de aquellos sistemas a cargo de estas personas para poder llegar al resto de los recursos de la red.
Un ejemplo claro de esto sería el caso de alguien que desde su equipo decidiera establecer una conexión telefónica a Internet utilizando un modem, sin ningún tipo de protección. Estaría abriendo una “puerta trasera” a posibles atacantes.
Esta colaboración es necesaria ya que al administrador de seguridad de la red no puede estar en todos lados; al menos no debería convertirse en una batalla entre éste y los individuos de la organización.

Diversidad de la Defensa

Esta estrategia plantea el uso de diferentes tipos de sistemas, es decir, de diferentes proveedores para implementar los diferentes mecanismos se seguridad. Esta estrategia puede complementarse a la de defensa en profundidad.
El objetivo de esta variedad es reducir las posibilidades de fallas comunes en todos los sistemas utilizados para proteger la red, debidas a errores propios de los sistemas o de configuración.
Esta estrategia tiene la desventaja del posible costo adicional, tanto económico como de tiempo y complejidad, ya que se debe conocer el funcionamiento y manejo de más de un producto. Otra de las posibles desventajas es la incompatibilidad de los sistemas, aunque actualmente existen estándares en varias áreas de la seguridad que hacen posible que diferentes sistemas puedan coexistir en la misma red colaborando para lograr una solución integral.
Adicionalmente estos sistemas pueden ser configurados por distintos administradores de seguridad para evitar que algún error conceptual por parte de los mismos afecte a la protección completa.
Estas consideraciones deberían ser evaluadas por la organización para determinar la conveniencia de aplicar esta estrategia.

Seguridad a través de “Oscuridad”

La idea de esta estrategia está basada en mantener oculta la verdadera naturaleza de la red privada y hacer público un perfil bajo (o no hacerlo). De esta forma, un atacante no lo notará, o lo pasará por alto como una posible víctima.
Esta suposición es algo ingenua ya que varios estudios han demostrado que el interés de un atacante por un determinado sitio no solo está determinado por el interés que éste tenga sobre la información de la red. Generalmente, los ataques involucran varios sistemas y varias cuentas de usuarios para poder ganar acceso no autorizado a otros sistemas antes de alcanzar su objetivo real. Un sitio puede ser comprometido solo para proveer un escenario de ataque a otros sitios, y para el atacante, no significa más que una dirección de IP más.
Esta estrategia, aunque puede ser útil en el comienzo de la vida de un sitio, y una buena precaución, es una base pobre para una solución de seguridad a largo término ya que la información tiende a filtrarse y los atacantes son habilidosos para obtener información relevante del sitio
Una de las medidas que suelen tomar muchas compañías es la no publicación de los números de teléfono de sus módems de servicio de conexión; solo los divulgan para usuarios que contraten sus servicios.

Simplicidad

Se sabe que cuanto más grande y complejo es un sistema, más errores tendrá, será más difícil y costoso de testear. Probablemente posea agujeros de seguridad no conocidos que un atacante puede explotar, por más complejos que sean.
La simplicidad de los sistemas de seguridad es un factor importante de una sólida defensa de red. Particularmente los sistemas de seguridad de red a nivel de aplicación no deberían tener funcionalidades desconocidas y deberían mantenerse lo más simples posible.

Seguridad basada en Hosts

En este modelo, los esfuerzos de protección están enfocados en los sistemas finales de una red privada, es decir que los mecanismos de seguridad son implementados en estos sistemas, y son ellos mismos quienes deciden si aceptar o no los paquetes de una comunicación.
Probablemente sea el modelo de seguridad para computadoras mas comúnmente usado en la actualidad, aunque el mayor problema con este modelo es que no es escalable sin no se considera un esquema de administración apropiado, por lo que solo es usado en ambientes muy chicos o donde no existe una red configurada que pueda ofrecer tal protección.
El mayor impedimento para hacer efectiva la seguridad de estos sistemas en ambientes de redes de computadoras actuales es la complejidad y heterogeneidad de esos ambientes. Inclusive si todos los hosts fueran idénticos o si tal heterogeneidad fuera superada, un sitio con un gran número de hosts hace que sea difícil asegurar de forma efectiva a cada uno. Mantener e implementar efectivamente la protección a este nivel requiere una importante cantidad de tiempo y esfuerzo, y es una tarea compleja.
En pocas palabras, puede no ser rentable implementar un nivel de seguridad a nivel de hosts para sitios grandes ya que requieran muchas restricciones, y mucho personal de seguridad.
Adicionalmente, este modelo presenta un problema importante en cuanto a puntos de ahogo y enlaces débiles: no existe un único punto de acceso ya que existen múltiples conexiones, una para cada host, muchas de las cuales pueden estar débilmente protegidas.

Seguridad basada en la Red

El modelo de seguridad de red se enfoca en controlar el acceso a la red, y no en asegurar los hosts en sí mismos. Este modelo esta diseñado para tratar los problemas identificados en el ambiente de seguridad de hosts, aplicando los mecanismos de protección en un lugar en común por el cual circula todo el tráfico desde y hacia los hosts: los puntos de acceso a la red.
Un enfoque de seguridad de red involucra la construcción de firewalls para proteger redes confiadas de redes no confiables, utilizando sólidas técnicas de autenticación, y usando encriptación para proteger la confidencialidad e integridad de los datos a medida que atraviesan la red.
La ventaja sobre el modelo de seguridad de hosts es una considerable reducción del costo para proveer la misma o mejor protección, ya que solo se necesita proteger unos pocos puntos de acceso (en muchos casos, uno) lo que permite concentrar todos los esfuerzos en una solución perimetral. Este modelo es escalable en la medida de que la solución perimetral pueda soportar los cambios sin afectar su desempeño.
Una desventaja de este modelo es que es muy dependiente de algunos pocos puntos de acceso por lo que pueden producirse reducciones en el desempeño del trafico de entrada y salida de la red; por otro lado, la protección lograda no es flexible y posee un bajo grado de granularidad, es decir, no es posible especializar la protección necesaria para cada host y sistema final de la red privada.
Luego de haber decidido una estrategia de seguridad y, en función de ella, una política de seguridad para una red, es necesario llevar estas especificaciones a la implementación. Tal implementación corresponde a un Firewall,

Definición de firewall

Un firewall es la combinación de diferentes componentes: dispositivos físicos (hardware), programas (software) y actividades de administración, que, en conjunto, permitirán aplicar una política de seguridad de una red, haciendo efectiva una estrategia particular, para restringir el acceso entre ésta red y la red pública a la cual esté conectada. El objetivo es protegerla de cualquier acción hostil proveniente de un host externo1 a la red.
La función de un firewall es tal que todo el tráfico de entrada y salida de la red privada debe pasar a través de él; el tráfico permitido por el firewall es autorizado mediante su evaluación en base a la política de seguridad;
En general no existe una terminología completamente consistente para arquitecturas de firewalls y sus componentes. Diferentes autores usan términos de diferentes formas (o incluso conflictivas). Es apropiado referirse como “firewall” al conjunto de estrategias y políticas de seguridad y como “sistema firewall” a los elementos de hardware y software utilizados en la implementación de esas políticas (hablar de políticas incluye implícitamente una estrategia ya que se ve reflejada en la primera).
El enfoque de firewalls está basado en el concepto de permitir a los usuarios locales el uso de todos los servicios de red internos a su red local y otros servicios ofrecidos por la Internet, controlando, además, el acceso de los usuarios externos a los recursos de la red local.

Funciones principales de un Firewall

Un firewall permite proteger una red privada contra cualquier acción hostil, al limitar su exposición a una red no confiable2 aplicando mecanismos de control para restringir el acceso desde y hacia ella al nivel definido en la política de seguridad. Generalmente un firewall es utilizado para hacer de intermediario entre una red de una organización e Internet u otra red no confiable.
Estos mecanismos de control actúan sobre los medios de comunicación entre las dos redes, en particular, sobre la familia de protocolos utilizada para la comunicación de sistemas remotos. La más comúnmente usada es TCP/IP ya que dispone de amplios desarrollos de mecanismos estándares para su uso en varios aspectos, incluyendo en seguridad.
La tarea de un firewall consiste en inspeccionar y controlar todo el tráfico entre la red local e Internet. De esta forma se intenta detectar y rechazar todo el tráfico potencialmente peligroso antes de que alcance otras partes de la red interna, en algunos casos también se efectúan registros de tales actividades. La determinación de qué es peligroso para la red local, es especificada en la política de seguridad adoptada por el sitio.
La protección que provee un firewall es de diferentes tipos:
  • Bloquea tráfico no deseado;
  • Redirecciona tráfico de entrada a sistemas internos de más confianza;
  • Oculta sistemas vulnerables, que pueden ser fácilmente asegurados, de Internet;
  • Puede registrar el tráfico desde y hacia la red privada;
  • Puede ocultar información como ser nombres de sistemas, topología de la red, tipos de dispositivos de red, e identificadores de usuarios internos, de Internet;
  • Puede proveer autenticación más robusta que las aplicaciones estándares;
  • ... entre otros.
El firewall permite lograr esta protección aislando el segmento de la topología correspondiente a la red local del resto de Internet, controlando todo el tráfico que llega y sale de la misma.
Un firewall ayuda a manejar una variedad de aspectos en el punto de acceso a la red pública manteniendo a los intrusos fuera, mientras permite a la red interna concentrarse en ofrecer sus servicios. La idea básica es permitir a los usuarios de una red protegida acceder a una red pública y al mismo tiempo hacer disponibles a la red pública los servicios y productos de la compañía, ofrecidos por esta red protegida.
El control de acceso que ofrece un firewall a un sistema de red permite que algunos servidores pueden hacerse disponibles desde la red externa, mientras otros puedan ser cerrados del acceso externo no deseado. Previniendo, de esta forma, que los servicios inseguros o vulnerables sean explotados por atacantes externos, es posible el uso de estos servicios con un riesgo reducido de exposición ya que solo algunos protocolos seleccionados serán capaces de pasar a través del firewall.

Estrategia de un firewall

Generalmente un firewall se encuentra situado en los puntos de entrada a la red que protege. Este es un enfoque tradicional que surge a partir de la forma más simple de conexión de una red privada a Internet: mediante un único enlace. Aunque es posible utilizar otros enfoques para diferentes topologías de interconexión. Pero en cada caso, cada conexión (punto de acceso) de la red local a Internet estará equipada con un firewall
Ya que todo el tráfico debe pasar por él, puede considerarse como el foco de todas las decisiones de seguridad. Concentrando las defensas en este punto, es posible reducir la sobrecarga de seguridad del sistema interno ya que el esfuerzo se limita a unos pocos dispositivos de toda la red (los que forman parte del firewall).
De esta forma, un firewall centraliza el control de acceso. Los usuarios remotos pueden acceder a la red interna de forma controlada y segura, pasando a través del firewall.
Un firewall será transparente a los usuarios si no advierten su existencia para poder acceder a la red. Los firewalls generalmente son configurados para ser transparentes para los usuarios de la red interna, mientras que para los usuarios de la red externa, no.

Fundamento de los firewalls

Alguien podría cuestionarse lo siguiente: si queremos proteger nuestra red privada porque permitimos que una red de dominio público como Internet, pueda acceder a ella? La respuesta es simple: porque queremos que nuestra red acceda a ella. Muchas compañías dependen de Internet para publicitar sus productos y servicios. Por lo que es necesario proteger los datos, transmisiones y transacciones de cualquier incidente, ya sea, causado por actos maliciosos o no intencionales.
En el caso de una red local directamente conectada a Internet sin un firewall, la red entera está sujeta a ataques (ver Figura 21). La experiencia práctica muestra que es muy difícil asegurar que todo host de la red esté protegido. Una contraseña mal elegida puede comprometer la seguridad de toda la red.
Figura 21: Red Local sin firewall
Figura 21: Red Local sin firewall
Si la red local está protegida por un firewall, solo existe acceso directo para un conjunto seleccionado de hosts y la zona de riesgo es reducida al firewall en sí mismo o a un conjunto seleccionado de hosts de la red interna. (ver Figura 22)
Red Local con firewall.
Figura 22: Red Local con firewall.
Un firewall no es tanto una solución de seguridad sino una respuesta al problema de ingeniería/administración: configurar un gran numero de sistemas de hosts para una buena seguridad. Un firewall solo no asegurará una red. Solo es parte de un área más amplia dedicada a proteger un sitio y efectuar operaciones de red.

Limitaciones de los firewalls

En el enfoque tradicional comentado, un firewall no puede ofrecer protección contra conexiones que no pasen a través de él, por lo que el firewall no puede proteger la red contra atacantes internos.
Adicionalmente un firewall restringirá el acceso a ciertos dispositivos o funcionalidades, si existen conexiones no protegidas que pueden comunicar los sistemas de la red interna con la externa, es posible que algún usuario no autorizado intente saltear el firewall para obtener acceso a esas funcionalidades. Este tipo de amenaza solo puede ser tratada por procedimientos de administración que estén incorporados a las políticas de seguridad de las organizaciones y aseguren la protección o eliminación de estas conexiones.
Obviamente un firewall no ofrecerá protección contra aquellas amenazas que no hayan sido consideradas en el diseño de la estrategia y la política de seguridad.

Ventajas y Desventajas de los firewalls

Obviamente, la principal ventaja de un firewall es que permite la interconexión segura de una red privada con una red pública para aprovechar los beneficios que ésta ofrece. Un firewall puede resultar en una reducción de costos si todo el software de seguridad puede ser situado en un único sistema firewall, en lugar de ser distribuido en cada servidor o máquina de la red privada.
Existen algunas desventajas de los firewalls: cosas de las cuales los firewalls no puede proteger, como ser amenazas de puntos de acceso alternativos no previstos (backdoors) y ataques originados en el interior de la red. El problema de los firewalls es que limitan el acceso desde y hacia Internet, pero es un precio que se debe pagar y es una cuestión de análisis de costo / beneficio al desarrollar una implementación de seguridad.

Implementación

Para asegurar una red privada, se debe definir qué idea se tiene del “perímetro” de red. En base a éstas y otras consideraciones se define una política de seguridad y se establecen los mecanismos para aplicar la política y los métodos que se van a emplear. Existe una variedad de mecanismos para la implementación de firewalls que pueden incrementar en gran medida el nivel de seguridad.
Antes de definir qué tipo de firewall se ajusta a las necesidades de la red, se necesitará analizar la topología de la red para determinar si los componentes tales como hubs, routers y cableado son apropiados para un modelo de firewall especifico.
La red debe ser analizada en base a las diferentes capas del modelo de red. Un firewall pasa a través de todas estas capas y actúa en aquellas responsables del envió de paquetes, establecimiento y control de la conexión y del procesamiento de las aplicaciones. Por eso, con un firewall podemos controlar el flujo de información durante el establecimiento de sesiones, inclusive determinando que operaciones serán o no permitidas.
  1. El término “externo” hace referencia a un host que no pertenece lógicamente a la misma red de la organización ya que puede tratarse de usuarios conectados de forma remota como usuarios confiables de la red.
  2. En este contexto, el término “confiable” se refiere a la confianza que se tiene a los usuarios conectados a dicha red para el uso de los recursos de la red privada.

No hay comentarios:

Publicar un comentario