Bienvenido: Por favor, solicita un prespuesto sin ningún compromiso.

Posts Tagged ‘cortafuegos’

Shorewall: Un firewall bueno, bonito y barato

Wednesday, June 17th, 2009

Sobre cortafuegos hay mucho escrito, y hay muchas soluciones aplicables a la hora de construir una solución perimetral de este tipo.

cortafuegosUno, modestamente, ha visto ya de todo. Desde los bonitos “StoneGate“, los famosos “CheckPoint“, las soluciones cerradas de Cisco, Nortel, Juniper, incluso Nokia.

Actualización: Y por supuesto existe una solución libre, tipo sistema dedicado administrable por web, desarrollado en Zaragoza: eBox Platform, pero hace muchas más cosas que un firewall de consola y más adelante le dedicaré un artículo completo. Podríamos decir que eBox es una solución libre muy completa, para un servidor dedicado, y Shorewall es un programita thick as a brick, que puede construir un cortafuegos o un router de forma sencilla sobre un reloj de pulsera.

Los que están basados en algún Linux son muy majos, funcionan muy bien (normalmente), pero necesitan de un operador que se haya estudiado tres libracos enormes y de soporte externo, y no dejan de ser un pequeño ordenador con GNU/Linux y unos módulos privativos (no libres) cargados en el núcleo.

Los más cerrados (IOS, extraños BSDs, PsOS, etc.) también funcionan bien si los configura un experto y si se siguen punto por punto las indicaciones del fabricante, pero ocurre que estas soluciones nos parecen hardware puro que nunca necesita ser actualizado, y sin embargo estas soluciones son principalmente un software extraño, de composición secreta, el simple conocimiento de su configuración se vende a precios desorbitados, y tienen multitud de agujeros de seguridad constantes y documentados que una empresa, ni siquiera de tamaño medio, no está preparada para atender convenientemente.

En el otro extremo tenemos al administrador geek, experto en GNU/Linux y en redes, que se monta su propio firewall con un PC viejo y un script. Muy bien, yo hice eso en tiempos, el sistema se actualiza solo o casi, el script se puede copiar a otras máquinas y guardar en un disquete, y si dominas IPTables es fácil hacer todo tipo de reglas exóticas y virguerías, sin embargo tiene sus inconvenientes:

  • Sólo lo sabemos manejar nosotros. No porque queramos ocultar su funcionamiento, o porque queramos hacernos los imprescindibles, si no porque los demás no llegan y aun cuando llegan tienen que pasarse un rato antes estudiando nuestro sistema.
  • Si no tenemos que tocar el firewall en meses y de repente toca añadir una regla nueva, ya podemos tenerlo muy comentado o tardaremos un par de horas.
  • Por muy bien que programemos scripts, yo mismo me jacto de ello, no tenemos tiempo de incluir más allá de las funcionalidades necesarias en cada momento, y puede que necesitemos inmediatamente algo que sencillamente no habíamos pensado, como por ejemplo probar las reglas y revertir automáticamente al estado anterior si la consola ssh pierde conexión.
  • Cuando se nos pide un informe de la configuración del firewall, tendremos que hacerlo a mano, no podemos imprimir y presentar el script.

Shorewall: Nuestro héroe

shorewallLa solución para no caer en ni en lo privativo, con todos sus problemas, ni en lo ACME-TU-MISMO con todos los suyos, en el caso de los cortafuegos o firewalls, puede ser un pequeño, sencillo y documentado software libre como Shorewall. No es el único, pero si que hace todo lo que os he prometido. De hecho su lema reza: “iptables made easy“.

Es un programa que corre como un servicio, aunque no lo es, cuando lo arranquemos con shorewall start lo que hará es compilar todas las reglas que le hemos configurado y ponerlas a funcionar en iptables. Después de eso el programa termina. Y cuando le mandemos un stop lo que hará es limpiar todas las reglas de iptables de nuestro kernel y dejarlo sin firewalling.

Por supuesto podemos cambiar reglas y pedirle un restart, y lo mejor de todo, contamos con dos comandos seguros: safe-restart y safe-start. Gracias a ellos podemos probar una configuración, y tras introducirla nos preguntará por consola si es correcta, y si no contestamos que sí en unos segundos, revertirá automáticamente todos los cambios, dejando de nuevo accesible la máquina. Imaginaos hacer un cambio en una máquina remota, es urgente, la máquina está en la otra punta de la ciudad, o incluso en otra ciudad, hacemos un cambio que parecía sencillo pero… ¡Oh! ¡La máquina ha quedado fuera de línea! En ese momento es cuando agradeceremos de verdad utilizar shorewall.

La configuración es muy sencilla (sabiendo algo de redes, puertos, capas, protocolos, etc., claro está), y una vez hecho uno… los demás salen como churros. Incluso hay unas guías de configuración rápida para las cosas más usuales.

Por supuesto, cuando necesitemos hacer algo que se sale un poco de lo normal, una búsqueda en Google seguro que nos lo resuelve, ya que hay muchísima gente usando este software, y lo que es más, les gusta poner su conocimiento a disposición de los demás.

Por último quiero haceos notar que os puede servir tanto para construir un firewall perimetral, como uno interno en cada máquina, además de para router o balanceador de carga.