Auf Red Hat-basiertem Linux enthält iptables bestimmte Standardregeln. Es ist eine gute Idee, sie zu bereinigen und von vorne anzufangen.
Dieser Artikel ist Teil einer fortlaufenden iptables-Tutorial-Reihe. Dies ist der 2. Artikel in dieser Serie. In unserem ersten Teil haben wir über die Grundlagen von IPTables-Tabellen, -Ketten und -Regeln gesprochen.
Bevor wir anfangen zu lernen, wie man Firewall-Regeln mit iptables hinzufügt, ist es hilfreich zu verstehen, wie man alle bestehenden Standardregeln bereinigt und alles von vorne beginnt.
Standardregeln in IPTables
Starten Sie die iptables-Firewall wie unten gezeigt.
# service iptables status Firewall is stopped. # service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Sie können die Standardregeln unter:iptables -> Filter Table -> RH-Firewall-1-INPUT Chain sehen, wie unten gezeigt. Sie können auch „iptables –list“ verwenden, um alle Regeln anzuzeigen.
# 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
IPTables-Regeln werden in /etc/sysconfig/iptables
gespeichertBitte beachten Sie, dass die iptables-Regeln in der Datei /etc/sysconfig/iptables gespeichert sind. Wenn Sie diese Datei anzeigen, sehen Sie alle Standardregeln.
# 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
Löschen Sie vorübergehend alle Firewall-Regeln
Verwenden Sie die Option „iptables –flush“, um alle Regeln vorübergehend zu löschen.
# 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
Wenn Sie nach dem „iptables –flush“ die iptables neu starten, sehen Sie wieder alle Standardregeln. Also ist –flush nur temporär.
# service iptables stop # service iptables start # iptables --list
Entfernen Sie dauerhaft alle Standard-Firewallregeln
Bevor Sie alle Firewall-Regeln löschen, sehen Sie Folgendes in der Datei /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
Leeren Sie zunächst alle diese Regeln vorübergehend, wie oben besprochen.
# iptables --flush
Speichern Sie als Nächstes die aktuellen iptables (die leer sind, da wir sie gerade geleert haben) in der Datei /etc/sysconfig/iptables zur dauerhaften Verwendung mit „service iptables save“
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Sehen Sie sich schließlich /etc/sysconfig/iptables an, um sicherzustellen, dass keine Regeln vorhanden sind.
# 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
Wenn Sie jetzt die iptables stoppen und starten, sehen Sie die Standardregeln nicht mehr. Denken Sie also daran, „service iptables save“ auszuführen, um „iptables –flush“ dauerhaft zu machen.
# service iptables stop # service iptables start # iptables --list
Jetzt verstehen Sie die Grundlagen von iptables und wie Sie alle vorhandenen Regeln bereinigen, um von vorne zu beginnen. In unserem nächsten Artikel erfahren Sie anhand mehrerer praktischer Beispiele, wie Sie mit dem Hinzufügen neuer iptables-Firewallregeln beginnen.