Firewall Beispielscript
Version vom 23. November 2013, 16:04 Uhr von Gehrke (Diskussion | Beiträge) (intene Verlinkung, Category)
#!/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)/kann man auch sein lassen 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