Firewalls personales para Linux

Hoy he desinstalado firestarter. Me hacen falta ciertas reglas de iptables las máquinas virtuales que uso para pruebas, y pensé que con firestarter podría hacerlo sin tener que editar ficheros en línea de comandos. No quería algo tan serio como lo que hago a diario en el trabajo. Quería algo sencillo, relajado, aunque no fuera muy seguro. Al fin y al cabo, es para mi ordenador de escritorio, que ya está detrás de un router/firewall.

Firestarter es muy fácil de usar, pero nunca acabó de funcionar bien del todo. Había permitido que los equipos conectados al interfaz br0 (en el que están las máquinas virtuales) salieran a Internet, pero no funcionaba DHCP. Lo permití desde cualquier sitio y cualquier interfaz, y seguía sin funcionar. Luego descubrí que una VPN que tengo con el ordenador que alberga esta web tampoco funcionaba. Permití todo el tráfico desde la red de la VPN, y seguía sin funcionar. Veía muchos paquetes ICMP rechazados desde sitios que monitorizo con smokeping para ver la salud de la red (extraño, porque era yo quien iniciaba los pings). Permití todos los ICMP ... y seguía sin funcionar.

Hoy he estado buscando alternativas. Hace mucho tiempo había llegado a tres "finalistas": firestarter, otro para KDE que ni recuerdo, y fwbuilder. El problema con el de KDE es que no uso KDE, y el problema con fwbuilder es que, para lo que yo quiero, es demasiado potente. Está muy bien, pero es demasiado para algo tan sencillo como lo que yo quería. Para que se hagan una idea, antes de usar firestarter era un fichero en /etc/init.d con tres o cuatro líneas llamando a iptables.

Pensé en ufw, pero lo descarté porque sólo vale para el propio equipo. Para hacer enmascaramientos y cosas "avanzadas" necesitas hacer algo de magia negra. No hay mucha diferencia entre eso y mis scripts.

Viendo que no hay más remedio, he instalado fwbuilder.

Cosas que no me gustan de fwbuilder:

  • Como ya dije, es demasiado complicado para lo que yo quiero. Necesitas saber de firewalls para usarlo. A mí me da igual, pero no lo recomendaría a alguien que quiere un "firewall de escritorio" típico. Sólo la configuración de un "objeto firewall" ya es bastante liosa si no sabes qué estás haciendo.
  • Necesita entrar por ssh como root en el firewall (localhost, en mi caso) para actualizar las reglas, o con un usuario que por sudo pueda escribir donde las tienes.
  • Es un servicio del sistema. Es decir: no hay un icono en la bandeja del sistema en el que pinchas y puedes cambiar cosas, activar o desactivar el firewall, y todo eso. Tienes que tirar de terminal para hacerlo.
  • Por lo anterior, la instalación requiere que toques cosas en el sistema si quieres que funcione "bien": tienes que configurar un usuario que pueda levantar el firewall con sudo, crear un directorio para las reglas e instalar un script init.d y un fichero en /etc/default que vienen en los ejemplos (no se hace por defecto porque puedes tener el firewall en otro sitio que no sea donde editas las reglas).
  • Mi configuración de fwbuilder tiene cuatro reglas en fitler y una en nat. Para hacerlo, entre media hora y 45 minutos, sobre todo definiendo interfaces y hosts. Soy un poco maniático y estuve buceando entre las opciones de fwbuilder para ver qué podían hacer, pero quitando ese tiempo tardaría un mínimo de 15 minutos en haber configurado mis cuatro reglas.

    Luego hay que añadir otros cinco minutos cuando descubrí que la comunicación desde las máquinas virtuales a Internet funcionaba muy bien, pero no así desde el equipo que hace de firewall. Cuando vi que Google no respondía empecé a sospechar que faltaba afinar un poco el firewall.

    Una vez hecho, no hay mucho más que tocar. Voy a tener durante un tiempo fwbuilder a ver qué resultado da. Me temo que implique volver a lanzar un terminal para activar el firewall cada vez que reinicie (que, por suerte, no es muy a menudo), pero de momento lo asumo. En unas semanas veré si acabo harto y vuelvo a alguna solución más user friendly.