Este tutorial le guía cómo funciona el firewall en el sistema operativo Linux y qué es IPTables en Linux. El cortafuegos decide el destino de los paquetes entrantes y salientes en el sistema. IPTables es un firewall basado en reglas y está preinstalado en la mayoría de los sistemas operativos Linux. De forma predeterminada, se ejecuta sin reglas. IPTables se incluyó en Kernel 2.4 , antes se llamaba ipchains o ipfwadm . IPTables es una herramienta de front-end para hablar con el kernel y decide los paquetes a filtrar. Esta guía puede ayudarlo a obtener una idea aproximada y los comandos básicos de IPTables, donde describiremos reglas prácticas de iptables que puede consultar y personalizar según sus necesidades.
Se utilizan diferentes servicios para diferentes protocolos como:
- iptables se aplica a IPv4 .
- ip6tables se aplica a IPv6 .
- arptables se aplica a ARP .
- ebtables se aplica a las tramas Ethernet .
Los archivos principales de IPTables son:
- /etc/init.d/iptables – script de inicio para iniciar | detener | reiniciar y guardar conjuntos de reglas.
- / etc / sysconfig / iptables : donde se guardan los conjuntos de reglas.
- / sbin / iptables : binario.
Actualmente hay tres tablas.
- Filtrar
- NAT
- Mutilar
En la actualidad, hay un total de cuatro cadenas:
- ENTRADA : Cadena predeterminada que se origina en el sistema.
- SALIDA : Cadena predeterminada generada desde el sistema.
- FORWARD : los paquetes de cadena predeterminados se envían a través de otra interfaz.
- RH-Firewall-1-INPUT : La cadena personalizada definida por el usuario.
Nota: Los archivos principales anteriores pueden diferir ligeramente en Ubuntu Linux .
Cómo iniciar, detener y reiniciar Iptabe Firewall.
# /etc/init.d/iptables start # /etc/init.d/iptables stop # /etc/init.d/iptables restart
Para iniciar IPTables en el arranque del sistema, use el siguiente comando.
#chkconfig --level 345 iptables on
Guardar conjuntos de reglas de IPTables con el siguiente comando. Siempre que el sistema reiniciaba y reiniciaba el servicio IPTables, las reglas existentes se eliminaban o se restablecían. Debajo del comando, guarde los conjuntos de reglas de TPTables en el archivo / etc / sysconfig / iptables de forma predeterminada y las reglas se aplican o restauran en caso de que IPTables se vacíe.
#service iptables save
Comprobando el estado de IPTables / Firewall. Opciones “ -L ” (conjunto de reglas de lista), “ -v ” (detallado) y “ -n ” (se muestra en formato numérico).
[[email protected] ]# iptables -L -n -v Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 6 396 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 5 packets, 588 bytes) pkts bytes target prot opt in out source destination
Muestra las reglas de IPTables con números. Con la ayuda del argumento “ –line-numbers ” puede agregar o eliminar reglas.
[[email protected] ]# iptables -n -L -v --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 51 4080 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 45 packets, 5384 bytes) num pkts bytes target prot opt in out source destination
Vaciar o eliminar reglas de IPTables. El siguiente comando eliminará todas las reglas de las tablas. Realice una copia de seguridad de los conjuntos de reglas antes de ejecutar el comando anterior.
[[email protected] ]# iptables -F
Eliminando o agregando reglas, veamos primero las reglas en cadenas. Los siguientes comandos mostrarán conjuntos de reglas en las cadenas INPUT y OUTPUT con números de regla que nos ayudarán a agregar o eliminar reglas
[[email protected] ]# iptables -L INPUT -n --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
[[email protected] ]# iptables -L OUTPUT -n --line-numbers Chain OUTPUT (policy ACCEPT) num target prot opt source destination
Digamos si desea eliminar la regla no 5 de la cadena INPUT . Utilice el siguiente comando.
[[email protected] ]# iptables -D INPUT 5
Para insertar o agregar una regla a la cadena INPUT entre 4 y 5 conjuntos <strong>de</strong> reglas.
[[email protected] ]# iptables -I INPUT 5 -s ipaddress -j DROP
Acabamos de tratar de cubrir los usos y funciones básicos de IPTables para principiantes. Puede crear reglas complejas una vez que tenga una comprensión completa de TCP / IP y un buen conocimiento de su configuración.
Cortafuegos , código abierto