En Linux basado en Red Hat, iptables viene con ciertas reglas predeterminadas. Es buena idea limpiarlos y empezar de cero.
Este artículo es parte de una serie de tutoriales de iptables en curso. Este es el segundo artículo de esa serie. En nuestra primera parte, discutimos sobre los fundamentos de las reglas, las cadenas y las tablas de IPTables.
Antes de comenzar a aprender cómo agregar reglas de firewall usando iptables, es útil comprender cómo limpiar todas las reglas predeterminadas existentes y comenzar todo desde cero.
Reglas por defecto en IPTables
Inicie el firewall de iptables como se muestra a continuación.
# service iptables status Firewall is stopped. # service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Puede ver las reglas predeterminadas en:iptables -> Tabla de filtros -> Cadena RH-Firewall-1-INPUT, como se muestra a continuación. También puede usar 'iptables –list' para ver todas las reglas.
# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Las reglas de IPTables se almacenan en /etc/sysconfig/iptables
Tenga en cuenta que las reglas de iptables se almacenan en el archivo /etc/sysconfig/iptables. Si ve este archivo, verá todas las reglas predeterminadas.
# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
Eliminar temporalmente todas las reglas del cortafuegos
Use la opción 'iptables –flush' para eliminar todas las reglas temporalmente.
# iptables --flush # iptables --list 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 Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination
Después de 'iptables –flush', si reinicia iptables, volverá a ver todas las reglas predeterminadas. Entonces, –flush es solo temporal.
# service iptables stop # service iptables start # iptables --list
Eliminar permanentemente todas las reglas de firewall predeterminadas
Antes de eliminar todas las reglas del cortafuegos, verá lo siguiente en el archivo /etc/sysconfig/iptables.
# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
Primero, elimine todas estas reglas temporalmente, como discutimos anteriormente.
# iptables --flush
A continuación, guarde las iptables actuales (que están vacías, ya que las acabamos de vaciar) en el archivo /etc/sysconfig/iptables para uso permanente usando 'service iptables save'
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Finalmente, vea /etc/sysconfig/iptables para asegurarse de que no haya reglas.
# cat /etc/sysconfig/iptables # Generated by iptables-save v1.3.5 on Thu Oct 28 08:44:01 2010 *filter :INPUT ACCEPT [102:7668] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [78:8560] COMMIT # Completed on Thu Oct 28 08:44:01 2010
Ahora, si detiene e inicia iptables, ya no verá las reglas predeterminadas. Por lo tanto, recuerde hacer 'servicio iptables guardar' para hacer que 'iptables –flush' sea permanente.
# service iptables stop # service iptables start # iptables --list
Ahora comprende los fundamentos de iptables y cómo limpiar todas las reglas existentes para comenzar desde cero. En nuestro próximo artículo, aprenderá cómo comenzar a agregar nuevas reglas de firewall de iptables con varios ejemplos prácticos.