25 febrero 2015

Arno’s iptables firewall, configura fácilmente un Firewall basado en iptables

Quizá una de las cosas más complicadas en Linux es conseguir un buen conjunto de reglas para iptables, el firewall de Linux que viene integrado en los kernels 2.4 y superiores. Existen aplicaciones gráficas que ayudan a realizar esta tarea, como Firestarter para Gnome o KMyFirewall para KDE. Sin embargo, nunca me ha convencido tener que utilizar una aplicación gráfica de más para una cosa que se puede tener funcionando con un buen script aplicado en iptables.
Es así que buscando he encontrado un programa muy interesante con el que podremos configurar un buen firewall basado en iptables, con el que no necesitaremos una aplicación extra funcionando. Ahorraremos trabajo a nuestro procesador y lo que es más importante, nos facilitará mucho la tarea a la hora de conseguir un buen script para iptables.
El programa en cuestión se llama Arno’s iptables firewall. Y sirve como generador de reglas para configurar iptables. Desde el propio terminal nos preguntará por nuestro tipo de conexión, los puertos que queremos abrir, etc. Con ello nos creará un script que se encargará de pasarle dichas reglas a iptables. Así tendremos un potente firewall integrado en nuestro kernel y que no nos consumirá apenas recursos. Pero vamos a explicar un poco paso a paso como instalarlo y configurarlo.
Lo primero que tenemos que hacer es instalarlo:
apt-get install arno-iptables-firewall
Tras la instalación aparecerá la siguiente ventana preguntando si queremos configurar el paquete usando debconf, a lo que contestamos con un si:
Lo siguiente será indicar qué interfaz usamos para conectarnos a internet, en mi caso es eth2:
Ahora nos preguntará si nuestra conexión se configura mediante DHCP, en mi caso respondo si:
Después le indicaremos los puertos TCP que queremos tener abiertos. Yo suelo abrir un rango puertos para así configurar todos mis programas p2p o cualquiera que use un puerto conocido, para no tener los puertos comunes abiertos y expuestos a algún ataque. Los puertos de servicios comunes, como la conexión por http (puerto 80), ya están configurados por el paquete recién instalado y no es necesario indicarlos. Para definir un rango de puertos separamos los números por dos puntos, por ejemplo 6100:6103:
Lo siguiente será indicarle los puertos UDP que queremos abrir, nuevamente esto va a gusto del consumidor:
Lo siguiente que se nos pregunta es si queremos permitir que nuestro equipo responda a las solicitudes Ping desde otros equipos. Por seguridad prefiero contestar con un no, así estaremos algo más seguros si intentan detectar nuestro equipo lanzándonos un Ping:
Por último ya solo queda contestar si queremos que el firewall se inicie ahora:
Si contestamos con un no, podemos iniciar el firewall en cualquier momento con el siguiente comando:
/etc/init.d/arno-iptables-firewall start (si queremos pararlo en algún momento cambiamos start por stop)
Tras estos sencillos pasos ya tendremos nuestro firewall configurado a medida. Para ilustrar la diferencia entre tener generado un script para iptables o no tenerlo, vemos aquí un test de puertos realizado con el firewall parado (izquierda) y otro con el firewall activado (derecha):
Qué quiere decir esto? A la izquierda vemos como casi todos los puertos nos salen cerrados (azul), dos abiertos (rojo) y unos pocos invisibles (verde). En cambio con el script recién creado todos los puertos son invisibles, lo que hará que nuestro equipo no pueda ser detectado fácilmente.
Si en algún momento quisieramos cambiar la configuración del firewall lo podremos hacer volviendo a mostrar el asistente con:
dpkg-reconfigure arno-iptables-firewall

Tomado de: https://ulibertad.wordpress.com/2007/08/20/arnos-iptables-firewall-configura-facilmente-un-firewall-basado-en-iptables/

No hay comentarios: