Firewall Beispielscript: Unterschied zwischen den Versionen
Buli (Diskussion | Beiträge) |
Buli (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
− | #!/bin/sh | + | #!/bin/sh |
− | locip=169.254.0.1 | + | locip=169.254.0.1 |
− | aport=1024:65535 | + | aport=1024:65535 |
− | iptunset(){ | + | iptunset(){ |
# erst mal ordentlich aufräumen ... | # erst mal ordentlich aufräumen ... |
Version vom 25. September 2006, 18:39 Uhr
#!/bin/sh locip=169.254.0.1 aport=1024:65535
iptunset(){
- erst mal ordentlich aufräumen ...
iptables -F iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT }
iptset(){
- alles sperren
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
- Loopback wieder aktivieren
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
- eth0 für ICMP freischalten
iptables -A INPUT -i eth0 -p icmp -j ACCEPT iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
- Anfragen von diesem Client an Nameserver erlauben
iptables -A OUTPUT -o eth0 -p udp -s $locip --sport $aport -d 0/0 --dport 53 -j ACCEPT iptables -A INPUT -i eth0 -p udp -s 0/0 --sport 53 -d $locip --dport $aport -j ACCEPT
- Port 80 freischalten (Anfragen an fremden Webserver)
iptables -A OUTPUT -o eth0 -p tcp -s $locip --sport $aport -d 0/0 --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp ! --syn -s 0/0 --sport 80 -d $locip --dport $aport -j ACCEPT
- Anfragen an entfernten ftp freischalten (Port 20/21/alle unpreviligierten)
iptables -A OUTPUT -o eth0 -p tcp -s $locip --sport $aport -d 0/0 --dport 21 -j ACCEPT iptables -A INPUT -i eth0 -p tcp ! --syn -s 0/0 --sport 21 -d $locip --dport $aport -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -s 0/0 --sport 20 -d $locip --dport $aport -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $locip --sport $aport -d 0/0 --dport 20 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -s $locip --sport $aport -d 0/0 --dport $aport -j ACCEPT iptables -A INPUT -i eth0 -p tcp ! --syn -s 0/0 --sport $aport -d $locip --dport $aport -j ACCEPT }
case "$1" in s) iptset;; u) iptunset;;
- ) echo "Usage: $0 s|u (set|unset)"
esac