Mostrando entradas con la etiqueta gui. Mostrar todas las entradas
Mostrando entradas con la etiqueta gui. Mostrar todas las entradas

02 septiembre 2011

Firewall Builder: la GUI para tu cortafuegos

Cuando me preguntan: profesionalmente, en el mundo de la seguridad perimetral ¿en qué aspecto sientes que te desenvuelves mejor? Mi respuesta suele ser que en el diseño y gestión de políticas y soluciones de seguridad y cortafuegos. Precisamente esta fue mi especialidad a partir del 2001 cuando empecé a dedicarme a "esto de la seguridad".

En estos 10 años he tenido la oportunidad de trabajar con unos cuantos fabricantes de cortafuegos. De los conocidos, de corte comercial, entre otros: Checkpoint Firewall-1 (en alguna entrevista de trabajo he llegado a bromear con que, menos en el microondas de casa, lo instalé sobre cualquier plataforma), Stonegate, Juniper/Netscreen, Fortinet, NetASQ, Watchguard, Sonicwall, Gauntlet, Cisco PIX…

Sin embargo, las empresas no siempre eligen estas tecnologías, ya sea por disponer de un presupuesto cerrado y estricto, en el que los servicios de diseño, despliegue e implantación para una política de seguridad adecuada, ya se llevan una buena parte del presupuesto como para pagar también por hardware específico. En otros casos, por filosofía de compañía, muchas veces se prefiere utilizar software libre y evitar "atarse" a un fabricante de dispositivos determinado que en un momento dado, por una mala fusión pueda llegar a hacer inútil una inversión de muchos miles de euros. Por ello, se prefiere comprar servidores de propósito general y utilizar toda una "suite" de productos libres que permitan proporcionar los mismos servicios que un UTM comercial, pero con un coste fijo y mantenimiento, mucho menores.

En este tipo de situaciones, para la gestión de la política de cortafuegos, quizá sea poco amigable, la gestión de reglas en base a un fichero de comandos de sistema operativo. Para ello se hace imprescindible utilizar una GUI o Front-end adecuado.

Aunque ya hemos hablado en SbD de diferentes proyectos libres de gestión de cortafuegos, quiero hoy analizar en mayor medida el que, para mi gusto se lleva la palma en funcionalidad, diseño y versatilidad: Firewall Builder.

Desde el punto de vista de la administración, cortafuegos hay fundamentalmente dos tipos:
  • Los que pueden gestionarse vía web: por tanto, multiplataforma desde el punto de vista de la gestión.
  • Los que utilizan una herramienta cliente: en los que generalmente, bajo Windows funciona al 100%, pero en los que tienen clientes para otras plataformas, éstas suelen ir un paso por detrás en cuanto a la versión Windows o está menos probada y se pierde buena parte de su funcionalidad.
En el caso de Firewall Builder, se trata de una aplicación cliente que permite diseñar cómodamente la política de seguridad y luego aplicarla a la máquina cortafuegos de forma directa, mediante una conexión SSH. Dispone de una versión libre y funcional para Linux, así como versiones de pago, aunque con un coste muy bajo, para Windows y Mac OS X.

Firewall Builder es una GUI multifirewall. No está enfocada únicamente a permitir la gestión de IPTables en Linux, sino que permite además ipfilter, ipfw o PF como cortafuegos en Linux, Mac OS X, OpenBSD, Solaris y FreeBSD, entre otros; además permite gestionar otros cortafuegos como CISCO (ASA/PIX, ACLs en IOS, etc,…), HP Procurve (supongo que se referirá a ACLs en switches HP), etc,…


La GUI, permite crear un dispositivo cortafuegos y a partir de ahí, especificar el número y tipo de interfaces de red que tiene. Indicaremos si el interfaz es de gestión, externo o interno (importante para controlar el spoofing por ejemplo), pudiendo configurar además diferentes opciones como las que ya detallamos en cómo securizar y optimizar parámetros del kernel mediante sysctl.conf.


Podemos partir de de una política de cortafuegos en blanco o ayudarnos de diversas plantillas ya hechas basadas en escenarios típicos con uno, dos o tres interfaces de red. En mi caso, empiezo siempre con una en blanco y aplico mi propia plantilla mental de diseño de política de seguridad. Sin embargo, "cada maestrillo tiene su librillo" y habrá consultores de seguridad que prefieran partir de una plantilla prediseñada y retocarla a posteriori en vez de enfrentarse a lienzo en blanco.

Firewall Builder permite configurar interfaces de red "normales", interfaces de tipo Bond, así como Bridge e incluso dividir el interfaz en modo lógico usando 802.1Q mediante VLAN tagging. De esta manera será el propio Firewall Builder quien incluya en el script a ejecutar en el cortafuegos los comandos necesarios para levantar y configurar los módulos e interfaces adecuados. Recientemente he tenido que configurar un interfaz PPP también sin problemas.


La pantalla de creación de reglas es sencilla, disponemos de los objetos a la izquierda y las reglas en el panel principal, de manera que se pueda ver de una forma bastante clara cómo va quedando la política de reglas. En la definición de objetos podremos incluso indicar la dirección MAC de cada dispositivo, de manera que forcemos a que una IP lleve asociada una MAC, haciendo más complicado el bypass de la política de seguridad a atacantes.


Viene con los servicios más comunes ya predefinidos, de manera que simplemente arrastremos hacia las reglas lo que queremos permitir/denegar/rechazar de una forma bastante cómoda. Si un servicio o grupo no viene por defecto, podemos definir, en un área específica de objetos de usuario, aquello que necesitemos, permitiéndonos incluso indicar si el servicio será válido si lleva activos o no algunos flags TCP (como SYN, ACK, RST, PUSH, URG, FIN).

 
El logging producido por el cortafuegos será ejecutado via syslog según los parámetros que tenga la máquina predefinidos a nivel de demonio syslog, siendo éste local, remoto o ambos, seleccionando el nivel deseado para poder ser clasificado por el colector de eventos en caso que así lo deseemos.

Desde Firewall Builder podremos también generar la política de NAT, permitiendo ajustar el tipo de publicación de servicios al exterior, así como ocultar o "enmascarar" IPs internas utilizando una o varias direcciones IP del cortafuegos.


Podemos además definir otro tipo de cosas interesantes como intervalos de tiempo entre los cuales queremos que la regla sea o no válida, parámetros de QoS, etc,… en definitiva todo aquello que permita el cortafuegos de forma nativa configurar mediante comandos en un fichero, tiene su correspondencia visual directamente, sin tener que utilizar módulos diferentes como en el caso de otras GUIs más limitadas que para la parte de Traffic Shapping o QoS por ejemplo, hay que basarse en otros proyectos.

Por  supuesto, Firewall Builder viene preparado para generar las reglas para IPv6, de manera que la actualización a lo que se supone que iba a ser el pasado-presente (que personalmente aún veo como futuro - muy futuro) no resulte más traumática que añadir/modificar la configuración IP y se nos generen todas las reglas ad-hoc.  

Conclusiones
  • Firewall Builder es una herramienta de acabado completamente profesional para la gestión de cortafuegos que no tiene nada que envidiar a las GUIs de cortafuegos comerciales, siendo incluso, en algunos casos, más potente que éstas.
  • Está pensado para la gestión de reglas de una única máquina, por lo que si disponemos de un clúster, y efectuamos una modificación, habrá que replicar los cambios en todos los nodos, generando políticas separadas para cada uno de los mismos.
  • La herramienta de gestión es casi idéntica y con las mismas funcionalidades en las plataformas soportadas: Linux, Windows y Mac; cubriendo con estas plataformas el 99% de las utilizadas por los administradores de sistemas y responsables de seguridad.
  • La configuración de cortafuegos es un fichero XML que puede quedarse en el PC local del administrador, con lo que se hace complicado una co-administración por parte de un equipo, por lo que la configuración debería estar en algún recurso compartido por red. El punto negativo es que dicho fichero de configuración se encuentra en claro, por lo que si cae en malas manos, la política de configuración del cortafuegos puede ser conocida por público no autorizado. Podemos complementar esta carencia guardando la política de cortafuegos en un contenedor cifrado, del tipo Truecrypt por ejemplo.
  • Será porque empecé con Checkpoint y Stonegate, cuya administración es vía herramienta cliente también, que me acostumbré a utilizar este tipo de herramientas y me gusta menos las GUIs de cortafuegos vía web, como pueden ser el caso de Shorewall.
  • Llevo desde 2002 utilizando la versión Linux (desde que empecé a usar Linux) y al pasarme a Mac, lo que solía hacer era exportar las X del firewall (Linux) a mi Mac y controlar la GUI remotamente. Esto en una red local funciona "bien", con ciertos lags en cuanto al refresco de la pantalla, haciéndolo un poco incómodo en algunas ocasiones. A la hora de hacerlo remotamente, se hace prácticamente imposible a no ser que el acceso desde Internet sea muy bueno y los planetas estén alineados. La herramienta en local para Windows o Mac, en estos casos funciona perfectamente, permitiendo definir lo que queramos en la política del firewall y luego con la orden Instalar, se envía y se ejecuta vía SSH el fichero con la configuración (en mi caso IPTables) en el dispositivo.
Leer más...