IPTables

De WikiHost.es - Guía en Administración de Sistemas

Netfilter es un framework disponible en el núcleo Linux que permite interceptar y manipular paquetes de red. Netfilter es también el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux. El componente más popular construido sobre Netfilter es iptables, una herramientas de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log.

Contenido

Averiguar versión IPTables

$ /sbin/iptables -V
iptables v1.2.9


Revisar la configuración actual

$ /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination


Autorizar el acceso a puertos

Abrimos el puerto 22 - SSH

$ /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT 
$ /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp — anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT
target prot opt source destination
  • -A INPUT : situamos nuestra instrucción a la entrada del firewall.
  • -i eth0 : aquí la interfaz ethernet que nos interesa.
  • -p tcp : el protocolo tratado es el TCP, quizás también queramos abrir el UDP.
  • --dport 22 : la instrucción va a ser aplicada sobre el puerto SSH (n° 22).
  • -j ACCEPT : aceptamos este tráfico.


Autorizar el acceso si nosotros establecemos la conexión

Comprobar cual es la interfez de red de nuestro equipo con ifconfig para utilizar en vez de eth0.

$ /sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT


Bloquear el resto

$ /sbin/iptables -A INPUT -i eth0 -j DROP


Autorizar el acceso a un host

$ /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 --source server.wikihost.es -j ACCEPT


Bloquear una IP

$ /sbin/iptables -I INPUT -s xx.xx.xx.xx -j DROP


Bloquear paquetes ICMP (ping)

$ iptables -A INPUT -i eth0 -p icmp -j DROP


Resetear el estado del Firewall

$ /sbin/iptables -F INPUT