Na Linuxu založeném na Red Hatu přichází iptables s určitými výchozími pravidly. Je dobré je vyčistit a začít od nuly.
Tento článek je součástí probíhající série výukových programů iptables. Toto je 2. článek v této sérii. V naší 1. části jsme diskutovali o tabulkách IPTables, řetězcích a základech pravidel.
Než se začneme učit přidávat pravidla brány firewall pomocí iptables, je užitečné pochopit, jak vyčistit všechna stávající výchozí pravidla a začít vše od začátku.
Výchozí pravidla v IPTtables
Spusťte bránu firewall iptables, jak je uvedeno níže.
# service iptables status Firewall is stopped. # service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Výchozí pravidla můžete vidět pod:iptables -> Tabulka filtrů -> Řetězec RH-Firewall-1-INPUT, jak je znázorněno níže. K zobrazení všech pravidel můžete také použít ‘iptables –list’.
# 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
Pravidla IPTables jsou uložena v /etc/sysconfig/iptables
Upozorňujeme, že pravidla iptables jsou uložena v souboru /etc/sysconfig/iptables. Pokud si prohlédnete tento soubor, uvidíte všechna výchozí pravidla.
# 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
Dočasně odstraňte všechna pravidla brány firewall
Pomocí možnosti „iptables –flush“ dočasně smažte všechna pravidla.
# 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
Pokud po „iptables –flush“ restartujete iptables, znovu uvidíte všechna výchozí pravidla. Takže – flush je pouze dočasný.
# service iptables stop # service iptables start # iptables --list
Trvale odebrat všechna výchozí pravidla brány firewall
Před odstraněním všech pravidel brány firewall uvidíte v souboru /etc/sysconfig/iptables následující.
# 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
Nejprve dočasně propláchněte všechna tato pravidla, jak jsme probrali výše.
# iptables --flush
Dále uložte aktuální iptables (který je prázdný, protože jsme ho právě vyprázdnili) do souboru /etc/sysconfig/iptables pro trvalé použití pomocí ‘service iptables save’
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Nakonec si prohlédněte /etc/sysconfig/iptables, abyste se ujistili, že neexistují žádná pravidla.
# 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
Pokud nyní zastavíte a spustíte iptables, již neuvidíte výchozí pravidla. Nezapomeňte tedy provést ‚service iptables save‘, aby ‚iptables –flush‘ bylo trvalé.
# service iptables stop # service iptables start # iptables --list
Nyní rozumíte základům iptables a jak vyčistit všechna existující pravidla, abyste mohli začít od nuly. V našem dalším článku se na několika praktických příkladech dozvíte, jak začít přidávat nová pravidla brány firewall iptables.