Utilizar listas con Iptables
El siguiente es un script de ejemplo de como utilizar listas blancas y negras en un script simple de firewalling con IPTables.
La idea es permitir la conexión a determinados puertos solo a los equipos que se encuentran en una lista blanca (un archivo de texto en algún directorio) y descartar las conexiones de los equipos que figuran en una lista negra.
Quizás es mas simple utilizar una lista blanca y luego bloquear todo el trafico,en vez de utilizar una lista negra. Oarmar un script que permita todo el trafico menos las conexiones de determinados hosts (lista negra).
En todo caso, el script que vean a continuación es a modo instructivo.
#!/bin/sh
# Creacion de variables
IPTABLES=/sbin/iptables
LISTA_BLANCA=/usr/local/lista_blanca
LISTA_NEGRA=/usr/local/lista_negra
PUERTOS="80 443 22 25 110"
# Borrar cualquier politica existente
$IPTABLES -f
# LISTA BLANCA
for HOST in `grep -v ^# $LISTA_BLANCA | awk '{print $1}'`; do
$IPTABLES -A INPUT -t filter -s $HOST -j ACCEPT
done
#LISTA NEGRA
for HOST in `grep -v ^# $LISTA_NEGRA | awk '{print $1}'`; do
$IPTABLES -A INPUT -t filter -s $HOST -j DROP
done
# PUERTOS A LOS QUE SE CONECTAN LOS
for PUERTO in $PUERTOS; do
$IPTABLES -A INPUT -t filter -p tcp --dport $PUERTO -j ACCEPT
done;
#Se bloquean intentos de conexión de otros protocolos.
$IPTABLES -A INPUT -t filter -p tcp --syn -j DROP
Los archivos de lista blanca y negra pueden ser números de IP o FQDN’s , uno por renglón, permitiendose comentarios en el mismo renglòn (separado por TAB) y líneas de comentarios (que comiencen con ‘#‘), como en el siguiente ejemplo:
#Líneas comentadas
10.0.0.1 # Comentario en un renglon
10.0.0.2
# Comentarios
10.0.1.1 # Comentarios

April 16th, 2008 at 9:39 pm
BUENISIMOOOOOOOOOOOOOOOOO (esto es lo que buscaba justamente).
Te consulto, será posible que te pase un correo para consultarte sobre un tema de infraestructura que quiero realizar?
Muchas Gracias!!!! y felicitaciones nuevamente!
April 17th, 2008 at 9:36 am
Que bueno que te haya sido util. Y gracias por dejar tu comentario!mey-online.com.ar
Para comincarte con la produccion: mey
Saludos!!!
June 20th, 2008 at 8:23 am
[...] dejo un enlace a un artículo muy interesante donde se explica como manejar “listas” en [...]
February 22nd, 2010 at 1:27 pm
Estaba haciendo algo parecido, pero con la lista dentro del script.
pero esto es mejor!!!! me lo llevo!!!
Saludos y gracias