Guía básica sobre IPTables (Firewall de Linux) Consejos/comandos


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:

  1. iptables se aplica a IPv4.
  2. ip6tables se aplica a IPv6.
  3. arptables se aplica a ARP.
  4. ebtables se aplica a las tramas Ethernet ..

Los archivos principales de IPTables son:

  1. /etc/init.d/iptables: script de inicio para iniciar | detener | reiniciar y guardar conjuntos de reglas.
  2. /etc/sysconfig/iptables: donde se guardan los conjuntos de reglas.
  3. /sbin/iptables: binario.

Actualmente hay tres tablas.

  • Filtro
  • NAT
  • Destrozar

En la actualidad, hay un total de cuatro cadenas:

  1. ENTRADA: Cadena predeterminada que se origina en el sistema.
  2. SALIDA: Cadena predeterminada que se genera desde el sistema.
  3. FORWARD: los paquetes de cadena predeterminados se envían a través de otra interfaz.
  4. 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

Supongamos que desea eliminar la regla número 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 de 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.