Anteriormente pudimos ver qué son los cortafuegos , qué tipos podríamos encontrar y cómo configurar un cortafuegos por software nosotros mismos con IPtables . Como ya mencionamos en el post de configuración del software firewall, las reglas que tuviésemos aplicadas en IPtables, desaparecen al reiniciar el equipo . Pero como con casi todo en Software libre, con unas cuantas líneas de comando podremos programar un script (conjunto de órdenes concatenadas y contenidas en un archivo) para que las restablezca al inicio del sistema.

Lo primero que tendremos que hacer será el script con las reglas que nos interese aplicar. Para esto nos iremos a la terminal de nuestro equipo (en nuestro caso usamos una distribución Linux Mint 14) y ejecutaremos las siguientes órdenes:

cd /etc

Para movernos a la carpeta donde se alojará el script:

nano activar-cortafuegos

Con lo que se nos creará un archivo llamado 'activar-cortafuegos' y se nos abrirá inmediatamente en un editor de texto en el que copiaremos el siguiente texto:

#!/bin/bash
# -- UTF 8 --
iptables="/sbin/iptables"
LAN="eth0"
WIFI="wlan0"

echo ""

## Limpiar tablas ##
$iptables -F
$iptables -X
$iptables -Z
#echo " - FLUSH a iptables, correcto." && echo""

## Definir política DROP por defecto ##
$iptables -P INPUT DROP
$iptables -P FORWARD DROP
#echo " - Política DROP aplicada por defecto, correcto." && echo""

## Permitir todo a localhost ##
$iptables -A INPUT -i lo -j ACCEPT
#echo " - Permitido acceso total para localhost, correcto." && echo""

## Permitir entrar paquetes de conexiones que yo inicie ##
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#echo " - Permitidos paquetes de conexiones realizadas por mi equipo, correcto." && echo""

echo " ------- IPTABLES CORRECTAMENTE CONFIGURADO -------"

Aquí lo único que estamos haciendo es eliminar ( FLUSH ) las reglas que aplica por defecto IPtables al iniciar la máquina para inmediatamente después aplicar las que ya pusimos de ejemplo en post anteriores. Al terminar el script nos mostrará el mensaje de la última línea del archivo, para decirnos que todo se ha activado satisfactoriamente.

Ahora que tenemos creado el script, nos interesa que se ejecute al inicio del sistema por lo que lo primero que tenemos que hacer es otorgar permisos de ejecución al archivo que lo contiene para que sea ejecutable, en caso de no realizar este paso el sistema no tendrá una confirmación nuestra de si queremos que se ejecute dicho script. En una terminal escribimos la siguiente línea:

chmod +x /etc/activar-cortafuegos

Y por último especificamos en el sistema que queremos que se ejecute dicho script, modificando el archivo con nombre 'rc.local' que encontramos en la carpeta /etc. Abrimos terminal y escribimos esto:

nano /etc/rc.local

Y directamente nos abrirá el archivo en un editor de texto que tendremos que dejar tal que así:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/activar-cortafuegos

exit 0

Y con esta modificación al iniciar la máquina se aplicarán las reglas de nuestro cortafuegos de forma automática.

Sólo comentar que la carpeta donde se crea o aloja el script y el nombre de este son totalmente personalizables, siempre que luego se especifique en el 'rc.local' la ruta absoluta del mismo.

No dejéis de suscribiros para estar al tanto de más noticias, tutoriales o artículos muy interesantes.