Iptables-tulemüür

Allikas: Pingviini viki

Skript, mis genereerib sobiva tulemüürireeglistiku kodumasina jaoks. Kui otsustad seda kasutada, siis asenda IP aadressid oma võrgu aadressidega. Loe hoolikalt kommentaare!

#!/bin/sh
 
#Kustutame ära kõik olemasolevad reeglid ja ahelad
iptables -F
iptables -X
 
# Määrame vaikereeglistiku. Kui edaspidi ei ole reegleid, 
# mis väidaksid vastupidist, siis lubatakse ainult väljaminevad
# paketid.
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
 
# Ignoreerime pakke, mis on mingil põhjusel vigased ja logime need
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix " INPUT invalid: " 
iptables -A INPUT -m state --state INVALID -j DROP
 
# Lubame kohalikud sissetulevad paketid
iptables -A INPUT -i lo -j ACCEPT
 
# Kui sissetulev pakett eksisteerib, kui me tulemüüri käivitame või
# on seotud olemasolevaga, siis lubame ühenduse. Kui seda reeglit pole,
# siis interneti põhimõtteliselt kasutada ei saa, kuna eelnevalt keelasime
# kõik sissetulevad paketid.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
# Keelame pordid 135 kuni 139, mida windowsi masinad genereerivad. Nii jälle
# logi puhtam.
iptables -A INPUT -p UDP -i eth0 -d 192.168.1.255 --destination-port 135:139 -j DROP
 
# Dropime dhcp päringud, et need ei satuks logisse.
iptables -A INPUT -p UDP -i eth0 -d 255.255.255.255 --destination-port 67:68 -j DROP
 
# Port 113 kinni, et irc ei uimerdaks
#iptables -A INPUT -p tcp --dport 113 -j LOG --log-prefix " Ipv4 identd "
iptables -A INPUT -p tcp --dport 113 -j REJECT
iptables -A INPUT -p udp --dport 113 -j REJECT
 
# Avame pordi 55555
# -i eth0 võib asendada mingi muu liidesega või üldse ära jätta.
iptables -A INPUT -p tcp -i eth0 --dport 55555 -j ACCEPT
#iptables -A INPUT -p udp -i eth0 --dport 55555 -j ACCEPT
 
# Esimene reegel lubab pingida sisevõrgust ilma piirangudeta.
# Teine reegel lubab esimese 5 ICMP paketti olenemata nende saabumise
# kiirusest, pärast seda ainult 10 paketti per minut.
# Kolmas reegel logib kõik juhud, mille teine reegel blokeerib.
# Neljas reegel ütleb, et kõik, mis ei mahu esimese kahe reegli alla, tuleb
# maha lüüa.
#iptables -A INPUT -p icmp -m iprange --src-range 192.168.1.60-192.168.1.65 -j ACCEPT 
iptables -A INPUT -p icmp -m limit --limit 10/m --limit-burst 5 -j ACCEPT
iptables -A INPUT -p icmp -j LOG --log-prefix " Jube ping: "
iptables -A INPUT -p icmp -j DROP
 
# Logime juhud, mis ei mahu eelnevate reeglite alla
# Logi kirjutatakse /var/log/messages faili, kui (r)syslog-is pole teisiti määratud.
iptables -A INPUT -j LOG --log-prefix " INPUT DROP: "
 
# Logime FORWARD INVALID paketid ja DROPime need. See masin ei ole ruuter.
iptables -A FORWARD -m state --state INVALID -j LOG --log-prefix " FORWARD invalid: "
iptables -A FORWARD -m state --state INVALID -j DROP
 
# Logime FORWARD DROP juhud
iptables -A FORWARD -j LOG --log-prefix " FORWARD DROP: "
 
# Logime OUTPUT INVALID paketid ja DROPime need
# iptables -A OUTPUT -m state --state INVALID -j LOG --log-prefix " OUTPUT invalid: "
iptables -A OUTPUT -m state --state INVALID -j DROP
 
#EOF