En esta guía verás como configurar un potente firewall en Linux a partir de Iptables, el cortafuego que viene integrado en el propio Kernel, pero que viene deshabilitado en muchas distribuciones tan populares como Ubuntu, Debian o Linux Mint. Para hacerlo, utilizaremos un script denominado Arno’s Iptables Firewall o AIF.
Su uso te facilitará enormemente la tarea de configurar Iptables, aplicando de forma automática una serie de reglas restrictivas por defecto, a la vez que te posibilitará abrir puertos manualmente cuando lo necesites.
Tabla de contenidos:
- Porqué debes contar con un cortafuegos
- Arno’s Iptables para gestionar el firewall del kernel
- Instalar Arno Iptables
- Configuración inicial
- Comandos básicos que debes conocer
Porqué Debes Contar con un Cortafuegos
Un firewall o cortafuegos es de las primeras líneas de defensa de cualquier sistema lógico que esté conectado a la red. Funciona como una barrera entre una red privada y el resto de Internet, o entre un dispositivo y el exterior.
Aunque, a nivel de red, la mayoría de routers domésticos ya cuentan con una capa de protección para prevenir todo tipo de conexiones entrantes desde el exterior, no deja de ser importante contar con un firewall de software en tu PC. Entre otras cosas porqué, si tienes un portátil, no siempre vas a estar conectado a una red de confianza como la de tu casa..
El cortafuegos es uno de los pilares básicos a la hora de proteger tu sistema. Esto, obviamente, no te exime de tomar otras medidas, como mantener las actualizaciones al día, instalar software solo desde los repos oficiales, contar un mecanismo de control de acceso como AppArmor, que por suerte muchas distribuciones ya lo lleban por defecto, o incluso instalar un antivirus para Linux como ClamAV, sobretodo si compartes muchos archivos con otros ordenadores con Windows.
Arno’s Iptables Para Gestionar el Firewall del Kernel Linux
Seguramente ya sabrás que Linux ya incluye en su base un potente firewall denominado Iptables. Hasta aquí, todas, o casi todas las distribuciones GNU/Linux parten de la misma base.
A partir de aquí, para que el cortafuegos funcione necesitamos aplicarle reglas, y en muchas distribuciones viene sin configurar y deshabilitado por defecto, dejando al usuario la tarea de aplicar las reglas que mas le convengan.
Distribuciones como Ubuntu y Debian, por ejemplo, no vienen con el firewall habilitado por defecto. Eso no significa que tengas que aplicar reglas manualmente en Iptables, ya que en Ubuntu, y en Debian también, dispones de una aplicación llamada UFW que te permite una gestión muy simplificada de Iptables.
Si utilizas Ubuntu y quieres decantarte por la opción por Default, es decir utilizar UFW, en este artículo te explico como hacerlo para dejarlo habilitado, abrir o cerrar puertos a través de él, etc.
Otra alternativa, sin embargo, es valerse del script Arno’s Iptables firewall. Este es mi favorito a la hora de habilitar el firewall en Ubuntu y Debian, ya que es muy sencillo y rápido de configurar, y, a simple vista, parece que da mas información que UFW. Así que, si no lo conocías, sigue leyendo…
Instalar Arno Iptables Firewall
Arno’s Iptables firewall está disponible en los repositorios oficiales de muchas distribuciones GNU/Linux, tal como es el caso de Debian, Ubuntu, y en general muchas de las distribuciones derivadas de Debian.
Si este es el caso, la mejor forma de instalar el script es mediante la Terminal. Para ello, tan solo tienes que hacer uso de apt-get, apt o aptitude.
Para instalar Arno’s Iptables firewall desde Ubuntu:
$ sudo apt install arno-iptables-firewall
Para instalar Arno’s Iptables firewall en Debian:
$ su # aptitude install arno-iptables-firewall
Configuración Inicial
Una vez instalados los paquetes correspondientes, en el mismo proceso de instalación el script te pedirá seleccionar los parámetros básicos de configuración.
Realmente, los primeros pasos para tener el cortafuegos bien configurado y habilitado por defecto son muy sencillos y rápidos, y tan solo tendremos que tener en cuenta si necesitamos permitir el acceso a ciertos puertos desde el exterior. A continuación tienes los pasos:
El primer paso es indicar que queremos manejar la configuración inicial con la utilidad debconf. Esta es la opción más recomendable en todas las distribuciones Debian based.

Seguidamente deberás especificar la interfaz externa de red. Si tu conexión es por cable ethernet, lo mas probable es que la interfaz sea eth0 o enp0s3 mientras que si tu conexión es por WiFi, seguramente será wlan0. Si dudas, puedes ir al menú de conexiones de red, y a Información de la conexión encontrarás el dato de la interfaz de red.

El siguiente paso es especificar los puertos TCP que desees abrir. Aquí la configuración por defecto es denegar todo el trafico entrante proveniente de las interfaces externas, es decir, de Internet. Si tu PC no presta ningún servicio al exterior, lo más recomendable es dejar esto en blanco y mantener la política por defecto.

Aquí deberás especificar los puertos UDP que quieres abrir. Como en el caso anterior, si no prestas ningún servicio al exterior lo más seguro es denegar todo el tráfico entrante que provenga de Internet.

Si tienes una red interna con varios PC, y compartes información entre ellos, en este punto deberás indicar la interfaz interna de red para permitir la comunicación entre ordenadores.
Nuevamente, si no necesitas compartir archivos con otros PC de tu red, lo más seguro es dejar esto en blanco y denegar, también, todo el tráfico entrante proveniente de tu red interna.
A continuación, se te pedirá un par de veces de reiniciar el script para que los cambios tengan efecto, y con esto ya tendrás el firewall habilitado en el inicio del sistema, y, a menos que hayas especificado lo contrario, con la política de denegar todas las conexiones entrantes a tu PC o dispositivo.
Comandos Básicos Que Debes Conocer
Una vez configurado Arno’s Iptables, no está de más conocer los cuatro comandos básicos para operar con el script y permitir realizar tareas tan básicas como habilitar o deshabilitar el firewall, o reconfigurar el script.
A continuación tienes los comandos más importantes que necesitas conocer. Ten en cuenta que necesitaras permisos de superusuario para poder operar con el script.
Para deshabilitar el firewall, cosa nada recomandable a menos que sea puntualmente, puedes usar el comando que se muestra debajo:
sudo arno-iptables-firewall stop
Para habilitar el firewall, puedes valerte del siguiente comando:
sudo arno-iptables-firewall start
Para comprobar el estado del firewall, puedes mostrar el comando que se muestra a continuación. En este caso, si el cortafuegos está habilitado, el script te mostrará una lista casi interminable de reglas que son justamente las reglas que se están aplicando a Iptables.
sudo arno-iptables-firewall status
Si quieres reconfigurar el script de nuevo, ya sea para cambiar la interfaz de red, o para abrir un puerto concreto, puedes valerte del comando de abajo. Con esta opción, también tendrás la posibilidad de escoger si deseas aceptar o bloquear los intentos de PING desde el exterior.
sudo dpkg-reconfigure arno-iptables-firewall
Con estos simples pasos, ya tendrás configurado y habilitado Iptables en el inicio del sistema, con una política por defecto de denegar todo el trafico entrante que provenga de la red externa y, a menos que hayamos especificado lo contrario, también el que provenga de la red interna.
Como añadido, también tendrás la posibilidad de bloquear los intentos de PING hacía tu PC.
Y eso es todo. En cuanto a ti, ¿has usado o usas Arno Ipables para configurar tu firewall en Linux? Me encantará leerte en los comentarios. ¡Hasta la próxima!
Uri Te agradezco mucho compartieras este conocimiento me oriento mucho,para poder proteger i linux ubunto 16.04 de intrusos. Quiero comentarte un detalle que me surgió llevo unos días de estar buscando como pueda quedar habilitado desde el arranque sin éxito. Cada que enciendo el ordenador debo ejecutar el comando /etc/init.d/arno-iptables-firewall start. Te agradezco cualquier comentario.
Me gustaMe gusta
Hola Dave,
Se me ocurre que, como Ubuntu 16.04 ya utiliza systemd como gestor de arranque, alomejor el comando que comentas (que es un script de init.d) no tenga efecto entre diferentes arranques del sistema.
Podrías probar de utilizar este otro comando, a ver si ahora te funciona entre sesiones:
sudo arno-iptables-firewall start
Si no dime cualquier cosa!
Me gustaMe gusta
Muchas gracias Oriol. Lo ejecutare. ¿cómo podría hacer una prueba o evaluación para saber si ya esta encendido desde el arranque?. Gracias saludos.
Me gustaMe gusta
Así fue como lo genere muchas gracias.
:~$ sudo systemctl enable arno-iptables-firewall.service
:~$ reboot
/*Los siguientes comandos fue la forma en la que evalué o verifique*/
:~$ systemctl is-active arno-iptables-firewall.service
active
:~$ systemctl status arno-iptables-firewall.service
● arno-iptables-firewall.service – Arno’s Iptables Firewall
Loaded: loaded (/lib/systemd/system/arno-iptables-firewall.service; enabled;
Active: active (exited) since vie 2018-05-11 16:31:05 CDT; 18min ago
Process: 428 ExecStart=/usr/sbin/arno-iptables-firewall start (code=exited, st
Main PID: 428 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/arno-iptables-firewall.service
Me gustaLe gusta a 1 persona
Genial Dave,
Muchísimas gracias a ti por esta info. Remitiré tu comentario en el post (si no te importa, jeje), por que creo que es muy útil.
Si lo quieres probar, además de esto, el comando de abajo también da dos outputs diferentes, en caso de estar habilitado o deshabilitado.
sudo arno-iptables-firewall status
Creo que Lynis (que te permite realizar una auditoria de seguridad en tu sistema) también detecta y tiene en cuenta si hay un cortafuegos habilitado a nivel de kernel.
Gracias de nuevo Dave!
Me gustaMe gusta
Muy interesánte ésta aplicacíon, la provare en slackware 14.2.. Gracias por la informacion.. un saludo.
Me gustaMe gusta