Ein Kleines Firewall Script für ihren WebServer

Aus first-vserver.de
Wechseln zu: Navigation, Suche

Im ersten Schritt werden wir jeden eingehenden Traffic verbieten

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

Hier erlauben wir Verbindungen zu ihrem Server der bereits besteht.

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Wir erlauben nun folgende Ports die von aussen erreichbar sein sollen. Dazu gehören SSH, SMTP, DNS (wenn nötig), FTP, HTTP/S, IMAP, IMAPS, POP3, POP3S

iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 20 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 20 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -i eth0 -j ACCEPT

Nun erlauben wir unseren Server alle internen Verbindungen auf localhost zu erlauben. Dies ist sehr wichtig für z.B. MySQL Verbindungen

iptables -A INPUT -i lo -j ACCEPT

Wer möchste kann seinem Server noch erlauben das dieser auf Ping (ICMP) reagiert.

iptables -I INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -I INPUT -p icmp --icmp-type source-quench -j ACCEPT
iptables -I INPUT -p icmp --icmp-type time-exceeded -j ACCEPT