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

Shorewall: Un firewall bueno, bonito y barato

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.

3 comentarios para “Shorewall: Un firewall bueno, bonito y barato”

  1. setoide dice:

    Muy interesante, la verdad es que el mantenimiento de los scripts de iptables es bastante costoso, lo he sufrido en mis carnes durante mucho tiempo, y está bien tener alternativas.

    Otra de las ventajas de utilizar sistemas basados en Linux cómo cortafuegos es que podemos utilizar otras características avanzadas cómo por ejemplo añadir balanceo de carga con IPVS o montar varios cortafuegos en alta disponibilidad con heartbeat… si lo pensamos bien tenemos una gran capacidad de expansión que otros sistemas no basados en linux no nos ofrecen.

    Un saludote.

  2. Jacob dice:

    Que fuerte lo tuyo, promocionando Shorewall cuando existe mejor software libre hecho en tu propia ciudad y que hará estas tareas mucho mejor…

  3. Jorge dice:

    Jacob: No es lo mismo. Estoy hablando de algo muy técnico y muy restringido a su función, como es shorewall. Se maneja por consola, desde SSH y no requiere de un sistema dedicado, puede funcionar en cualquier servidor como medida añadida de seguridad.

    Yo lo uso mucho y es por eso que hablo de él en esta página que, más sincero no puedo ser, es para promocionarme a mí mismo y a los servicios que ofrezco, si además puedo dar algo de información util, mejor que mejor.

    La plataforma eBox, si es a eso a lo que te refieres, es algo mucho más grande y que sirve para muchas otras cosas y que desde luego requerirá por mi parte de un artículo completo y dedicado a ella.

    No sé si te consta además, pero si no te lo cuento, que las empresas de las que surgió dicha plataforma, DBS y Warp, están compuestas por muy buenos amigos míos, y también cuento algunos amigos entre la spin-off actual, eBox Technologies, imposible olvidarme de ellos, ni queriendo.

    Por otro lado, igual es muy presuntuoso por mi parte, pero he sido un gran promotor de esta plataforma, recomendándola hasta la saciedad, haciendo instalaciones de demo e incluso organizando un curso de certificación en el propio local de Hispalinux en Zaragoza.

    Espero que a la vista de todo ello, la cosa te parezca un poco menos fuerte, y en todo caso gracias por el apunte.

    Abrazos.