Su Linux basato su Red Hat, iptables viene fornito con alcune regole predefinite. È una buona idea pulirli e ricominciare da zero.
Questo articolo fa parte di una serie di tutorial in corso su iptables. Questo è il secondo articolo di quella serie. Nella nostra prima parte, abbiamo discusso di tabelle, catene e nozioni fondamentali sulle regole di IPTables.
Prima di iniziare a imparare come aggiungere regole firewall utilizzando iptables, è utile capire come ripulire tutte le regole predefinite esistenti e iniziare tutto da zero.
Regole predefinite in IPtables
Avvia il firewall iptables come mostrato di seguito.
# service iptables status Firewall is stopped. # service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Puoi vedere le regole predefinite in:iptables -> Filter Table -> RH-Firewall-1-INPUT Chain, come mostrato di seguito. Puoi anche utilizzare 'iptables –list' per visualizzare tutte le regole.
# 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
Le regole di IPTables sono archiviate in /etc/sysconfig/iptables
Tieni presente che le regole di iptables sono memorizzate nel file /etc/sysconfig/iptables. Se visualizzi questo file, vedrai tutte le regole predefinite.
# 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
Elimina temporaneamente tutte le regole del firewall
Usa l'opzione 'iptables –flush' per eliminare temporaneamente tutte le regole.
# 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
Dopo "iptables –flush", se riavvii iptables, vedrai di nuovo tutte le regole predefinite. Quindi, –flush è solo temporaneo.
# service iptables stop # service iptables start # iptables --list
Rimuovi definitivamente tutte le regole firewall predefinite
Prima di eliminare tutte le regole del firewall, vedrai quanto segue nel file /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
Innanzitutto, svuota temporaneamente tutte queste regole, come discusso sopra.
# iptables --flush
Quindi, salva l'iptables corrente (che è vuoto, come l'abbiamo appena scaricato) nel file /etc/sysconfig/iptables per un uso permanente usando 'servizio iptables save'
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Infine, visualizza /etc/sysconfig/iptables per assicurarti che non ci siano regole.
# 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
Ora, se interrompi e avvii iptables, non vedrai più le regole predefinite. Quindi, ricorda di fare "servizio iptables save" per rendere permanente "iptables –flush".
# service iptables stop # service iptables start # iptables --list
Ora capisci i fondamenti di iptables e come ripulire tutte le regole esistenti per ricominciare da zero. Nel prossimo articolo imparerai come iniziare ad aggiungere nuove regole del firewall iptables con diversi esempi pratici.