Soy considerado por algunos como un paranoico cuando de seguridad se trata, es por ello que el uso de un firewall me es imprescindible. En mi laptop tengo información sensible, de alta importancia para mí; y debido a que el firewall es para la PC como un cerradura o caja fuerte para nosotros, además recordando que en el ordenador guardamos passwords de acceso a emails, datos de cuentas bancarias (quien las tenga), información de servidores, y demás información virtual que nos influye directamente en nuestra vida física … bueno, sin lugar a dudas andar por la red sin un firewall configurado, sin la debida seguridad en nuestro ordenador no es algo que se recomiende.
Tiempo atrás les mostré cómo iniciar reglas de iptables automáticamente en distros como Debian, Ubuntu u otras que contengan el archivo /etc/rc.local, no obstante en ArchLinux como usa systemd este archivo no existe.
Entonces, la forma que encontré para que mi iptables se configure como yo deseo es crear un script en bash que configure iptables, y luego modificar el archivo /usr/lib/systemd/system/iptables.service … pero, vamos por partes 🙂
1. Debemos crear un script bash que contenga nuestras reglas de iptables, algo así como esto: Ejemplo de script bash + iptables
2. Luego de haber creado el script, escrito nuestras reglas en él y darle permisos de ejecución pasamos a editar el servicio de iptables de systemd:
sudo nano /usr/lib/systemd/system/iptables.service
Nos encontraremos con algo como esto:
[Unit] Description=Packet Filtering Framework [Service] Type=oneshot ExecStart=/usr/bin/iptables-restore /etc/iptables/iptables.rules ExecReload=/usr/bin/iptables-restore /etc/iptables/iptables.rules ExecStop=/usr/lib/systemd/scripts/iptables-flush RemainAfterExit=yes [Install] WantedBy=multi-user.target
3. Suponiendo que el script que creamos previamente esté ubicado en /home/miusuario/script-iptables.sh entonces dejaremos el archivo iptables.service que tenemos abierto de la siguiente forma:
[Unit] Description=Packet Filtering Framework [Service] Type=oneshot ExecStart=/home/miusuario/script-iptables.sh ExecReload=/home/miusuario/script-iptables.sh ExecStop=/usr/lib/systemd/scripts/iptables-flush RemainAfterExit=yes [Install] WantedBy=multi-user.target
4. Luego debemos asegurarnos de que iptables se inicie automáticamente:
sudo systemctl enable iptables
5. Lo iniciamos:
sudo systemctl start iptables
6. Y podemos verificar las reglas:
sudo iptables -nL
Esto es solo la forma más simple que encontré de (1) tener mi propio script en bash que me configure iptables, también (2) que las reglas se inicien automáticamente y por último (3) que el script mismo fuese algo independiente, o sea, que si mañana deseo usarlo en un Debian que me instale (por ejemplo) no tener que reconfigurar mucho.
En fin, espero les resulte de utilidad 🙂
Saludos
Interesante….
No hubiera sido mas fácil editar el archivo iptables.rules, si ya se tiene acceso de root con sudo valdría la pena modificarlo, no?
Yo lo hago de una manera un poco diferente, aunque aprovechando también el script que has subido para lanzar las reglas.
1- Lanzamos el servicio (si aun no lo hemos hecho):
# systemctl enable iptables.service
# systemctl start iptables.service
2- Vemos qué reglas tenemos activas (suponemos que esta todo abierto si no hemos tocado nada)
sudo iptables -nvL
3- Cambiamos a las reglas que queremos, lanzando el script de configuración:
# sh /home/miusuario/script-iptables.sh
4- Vemos cómo han cambiado las reglas activas:
# iptables -nvL
5- Guardamos la nueva configuración de iptables para futuros reinicios:
# iptables-save > /etc/iptables/iptables.rules
5b- Si editamos a mano el fichero /etc/iptables/iptables.rules para cambiar las reglas, debemos recargar la configuración:
# systemctl reload iptables
Al menos para mi así resulta más facil. Estoy intentando aprender algo de bash y kdialog para gestionar las configuraciones de una forma mas grafica. Posteriormente intentaré hacer algo más completo con qtcreator por ejemplo, para poder tener varios scripts de configuracion en funcion del equipo que estemos configurando (router, PC, etc…) a ver si me sale.
La interfaz que tengo en mente es algo asi como esto.
Arch
http://i1178.photobucket.com/albums/x380/beatfenix/kortafuegos_arch_zpscec2122d.jpeg
Debian
http://i1178.photobucket.com/albums/x380/beatfenix/kortafuegos_deb_zps75ada7c4.jpeg
Este captcha para los comentarios es un colador de bugs, por favor cambien a otro o actualizen este porque se vuelve molesto a los varios intentos.
Es el mismo usado por humanOS, Firefoxmanía.. a lo mejor es algo con la caché.
Pues yo ya ni comento en esos dos.
Saludos,
Este es un tema de extrema utilidad.
Sin duda para quienes interesa la seguridad de la información almacenada en nuestra PC; «iptables» es una de las herramientas que debe aprenderse a usar; aunque, por su propia importancia sea un poco complicado de aprender.
Encontré este vídeo sobre el tema del cual espero me permitan compartir su dirección electrónica «http://www.youtube.com/watch?v=Z6a-K_8FT_Y» ; mi sorpresa fue, que es algo diferente de lo que aquí se trata. Pero en fin, supongo que será por la diversidad de distribuciones que posee GNU/Linux (ARCH, DEBIAN, SUSE, etc), habrá que aprender de todos modos.