Translate

domingo, 19 de julio de 2009

IPTABLES: USO PRACTICO

Definiciones previas

:: Iptables trabaja con tres tablas:

INPUT: Para conexiones entrantes
OUTPUT: Para conxciones salientes
FORDWARD: Para reenvió de paquetes a la red

:: La operaciones que podemos realizar con IPTABLES son:

Crear una nueva cadena o tabla:
iptables -N cadena (opciones)

Borrar una cadena:
iptables -X cadena (opciones)

Modificar políticas para una cadena pre-armada:
iptables -P cadena (opciones)

Listar las reglas de una cadena:
iptables -L cadena (opciones)

Vaciar las reglas de una cadena:
iptables -F cadena (opciones)

Resetear contadores de paquetes y bytes de todas las reglas de una cadena:
iptables -Z cadena (opciones)

:: Comandos que manipulan reglas de cadenas:
Agregar un nueva regla a una cadena: -A
Insertar un nueva regla en cierta posición de una cadena: -I
Reemplazar una regla de cierta posición de una cadena: -R
Borrar una regla a cierta posición de un cadena: -D
Borrar la primer regla que se corresponde en una cadena: .D

:: Parámetros de estos comandos:
Destino de paquetes: -j acción 
Donde acción puede ser DROP, ACCEPT o el nombre de otra cadena definida por el usuario

Origen del paquete: -s IP[/BASE]
Donde IP es una dirección 10.0.26.2 y /BASE puede ser la mascara de red expresada en CIDR osea 10.0.26.2/24, pero además /BASE puede ser otra dirección IP para definir un rango osea 10.0.26.2/10.0.26.24

Destino de Red de un paquete: -d IP[/BASE]
Al igual que -s, con la diferencia que esta regla es para los paquetes generados en nuestra red con destino IP[/BASE]

Protocolo de un paquete: -p PROTOCOLO (icmp, udp, tcp, etc).
Todos estos parámetros además pueden contener el símbolo "!" el cual tiene un efecto el cual sera distinto al que especifiquemos, un ejemplo es: -s ! localhost es cualquier paquete que no venga de localhost.

Reglas para utilizarlo mas específicamente

:: Filtrar paquetes desde cierta IP
Hay dos cosas a tener en cuenta IP se debe remplazar por una dirección real y acción por DROP, lo cual hará que los paquetes a esa IP sean descartados , y la otra acción es ACCEPT, haciendo que los paquetes sean aceptados por nuestro firewall:

iptables -A INPUT -s IP -j acción

:: Eliminar regla escrita
Cuando la regla creada ya deja de ser útil a nuestra conveniencia y queremos eliminarla debemos básicamente escribir lo mismo pero con la diferencia que en vez de la opción -A debemos usar -D

iptables -D INPUT -s IP -j acción

:: Filtrar paquetes hacia una IP
iptables -A OUTPUT -d IP -j acción

:: Filtrar el PING
iptables -D INPUT -p icmp -j DROP

:: Filtrar Port 139: NetBIOS Session (TCP), Windows File and Printer Sharing
ipables -A INPUT -i ppp0 -p TCP --dport 139 -j DROP

:: Filtrar TELNET:
iptables -t filter -A INPUT -p all -s red_local -d mi_ip --dport 23 -j ACCEPT
iptables -t filter -A INPUT -p all -s 0/0 -d mi_ip --dport -j DROP


:: Filtrar NIS
iptables -t filter -A INPUT -p all -s red_local -d mi_ip --dport 111 -j ACCEPT
iptables -t filter -A INPUT -p all -s 0/0 -d mi_ip --dport 111 -j DROP

No hay comentarios: