Componentes de un firewall distribuido
En función del comportamiento presentado de un firewall distribuido, son necesarios tres componentes principales para el funcionamiento de ésta arquitectura (ver Figura 28).
Primero se necesita de un lenguaje para expresar las políticas y resolver consultas para determinar si una determinada comunicación será o no permitida. Básicamente, las sentencias escritas serán funcionalmente similares a aquellas reglas utilizadas en el filtrado de paquetes, pero deben utilizar un sistema extensible para que otros tipos de aplicaciones y controles de seguridad puedan ser especificados y aplicados en el futuro. El lenguaje y el mecanismo de resolución deben soportar algún tipo de certificado para la delegación de derechos y para propósitos de autenticación.
Como segundo componente, es necesario un mecanismo para distribuir de forma segura las políticas de seguridad (un protocolo de administración de claves u otro). Este debe garantizar la integridad de las políticas transferidas ya sea a través del protocolo de comunicación o como parte de la descripción de la política (es decir firmadas digitalmente, por ejemplo).
Por ultimo se necesita de un mecanismo que aplique la política de seguridad asignada a cada host. Este debe poder reconocer el lenguaje en el que estén expresadas las políticas para poder aplicarlas. Existen, además, para este componente, cuestiones de compatibilidad con respecto a las plataformas donde se utilice.
Figura 28: Interacción de los componentes principales de un Firewall Distribuido
Básicamente, la instalación de un firewall distribuido consiste en la instalación del mecanismo de aplicación de la política, que según el producto podrá efectuarse de forma distribuida o individualmente en cada sistema final, pero en general, esta tarea es relativamente simple, similar a la instalación de cualquier producto de software. También se instalará el modulo de administración central en una de las máquinas de la red privada.
Luego, toda tarea de configuración y administración posterior será dirigida desde la consola central. Allí se especificará la política de seguridad para cada sistema o grupo de sistemas, de acuerdo a la definición decidida, que luego será distribuida automáticamente a los dispositivos de la red. Una vez instalada cada política, el mecanismo situado en cada sistema final será el encargado de realizar la función principal del firewall: el control de acceso. Las tareas de monitoreo serán llevadas a cabo por el sistema de administración central.
Ventajas sobre el enfoque tradicional
La arquitectura que propone un firewall distribuido ofrece ciertas ventajas sobre el enfoque tradicional.
A diferencia de un firewall perimetral, un firewall distribuido, residente en los sistemas finales, puede filtrar el tráfico proveniente tanto de la red externa como de la red interna ya que se ha movido el punto de control de acceso del perímetro a cada host de la red. El concepto de “red no confiable” se extiende, de esta forma, a aquellos hosts situados en la red privada, para responder a la necesidad de ofrecer una protección contra uno de los ataques más comunes: aquellos que provienen de la red interna, ya sea originados dentro de la red de la organización o por acción de un ataque que ha simulado una de las identidades de la red interna.
Es más efectivo ya que éstas tareas de control de acceso se sitúan en los niveles más bajos del sistema operativo, y provee una protección que abarca al servidor o sistema final y a todas las interfaces de red. Con un firewall distribuido se incrementa la seguridad a través de la simplificación: diseñando reglas especificas para cada sistema, se logra una protección altamente especializada y su aplicación involucra solo a aquellos hosts relacionados con determinado tipo de comunicación (protocolos) con el que trabajen; mientras que en un firewall tradicional, un solo punto de control debe hacerse responsable de aplicar una protección general, acomodada para cada sistema critico de la red, en ciertos casos conflictivas.
Los firewalls tradicionales deben ser diseñados y configurados dentro de la red, como parte de la configuración y arquitectura de la red. Un firewall distribuido es software que se instala (y desinstala) en poco tiempo, independientemente de la arquitectura de la red existente.
La administración de un firewall tradicional debe estar a cargo del administrador especializado (generalmente, el administrador de la red), en cambio, un firewall distribuido puede ser administrado por administradores locales o de sectores apropiadamente instruidos y en coordinación con el administrador de la red. Esto permite una máxima fluidez en la administración de la seguridad de una red.
Un firewall tradicional está basado en dispositivos de interconexión de redes con un desempeño de transmisión de datos limitado, por lo que es un factor determinante en el desempeño de la red completa, así como de expansión de la red protegida. Un firewall distribuido permite una escalabilidad mayor sin afectar en gran medida el desempeño de la red total, ya que no depende de un único dispositivo de interconexión. Aunque cada host tiene una carga adicional de procesamiento, ésta se encuentra distribuida entre todos los dispositivos de una red (servidores y sistemas finales) permitiendo un crecimiento ilimitado de la misma, sin afectar el desempeño actual de los servicios ofrecidos.
Los firewalls tradicionales requieren el uso de hardware dedicado por lo que debe ser instalado como parte de la arquitectura de red y no sobre ella, con el consecuente costo de dificultad y tiempo; en general, estos sistemas son costosos.
Ya que los firewalls distribuidos son exclusivamente sistemas de software pueden ser desplegados sobre una arquitectura de red existente, y cuestan una fracción del precio de un dispositivo para un firewall tradicional. Además el costo de instalación (en tiempo y dificultad) es mucho menor, ya que no requiere una reconexión de la red actual de una organización y consecuente interrupción de las aplicaciones que se ejecutan en la red.
La forma de protección de un firewall distribuido permite que la solución de seguridad sea totalmente escalable en cualquier medida a una multitud y variedad de sistemas conectados a la red, permite ofrecer una solución de seguridad en ambientes heterogéneos. Además elimina al firewall tradicional como único punto de falla ya que la seguridad de cada host depende de sí mismo, es decir, cada host debe aplicar las reglas de control de acceso asignadas según la política de seguridad diseñada para él.
De todas formas, la introducción de un firewall distribuido en una red no elimina por completo la necesidad de un firewall tradicional, ya que éste es útil para ciertas tareas:
- Es más apropiado para proteger la red de ataques de infraestructura aunque ésta es una característica de implementación, no hay razón para que un firewall distribuido no pueda operar en capas básicas arbitrarias;
- La protección contra ataques de denegación de servicio es más efectivas en los puntos de ingreso a la red;
- Los sistemas de detección de intrusos son mas efectivos cuando son situados en un firewall perimetral, donde se dispone de información de tráfico completa;
- El firewall tradicional puede proteger hosts finales que no soporten los mecanismos de los firewalls distribuidos. La integración con la especificación de la política y mecanismos de distribución es especialmente importante aquí, para evitar filtros duplicados y puntos de acceso vulnerables;
- Un firewall tradicional puede actuar como mecanismo de seguridad a prueba de fallos.
Ya que la mayoría de las funciones de seguridad han sido movidas a los hosts, la tarea de un firewall tradicional operando en una infraestructura de firewall distribuido es más simple.