Ich habe mir eine kleine Firewall mit iptables geschrieben. Da ich mich aber nicht so gut auskenne, wäre es hilfreich, wenn da mal jemand drüber schauen könnte, ob ich nicht irgendwelche gravirenden Fehler gemacht habe. Danke!
Code: Select all
#!/bin/bash
IPTABLES=`which iptables`
DEV=eth0
test -f $IPTABLES || exit 0
case "$1" in
start|restart)
# Tabellen leeren
$IPTABLES -F
# Per Default alles reinkommende und weiterzuleitende DROPen
# Ausgehendes ACCEPTen
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# Bestehende Verbindungen ACCEPTen
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Lokale Verbindungen ACCEPTen
$IPTABLES -A INPUT -i lo -j ACCEPT
# Diese Verbindungen ACCEPTen
# SSH
$IPTABLES -A INPUT -i $DEV -p tcp --dport 22 -j ACCEPT
# SMTP
$IPTABLES -A INPUT -i $DEV -p tcp --dport 25 -j ACCEPT
# HTTP
$IPTABLES -A INPUT -i $DEV -p tcp --dport 80 -j ACCEPT
# HTTPS
$IPTABLES -A INPUT -i $DEV -p tcp --dport 443 -j ACCEPT
# IMAP/SSL
$IPTABLES -A INPUT -i $DEV -p tcp --dport 993 -j ACCEPT
# Zum Komfort, dies REJECTen
# IMAP
$IPTABLES -A INPUT -i $DEV -p tcp --dport 143 --syn -j REJECT
;;
stop)
$IPTABLES -F
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
;;
*)
echo Wrong usage!
echo Usage: $0 {start,stop,restart}
;;
esac