6. iptables -A INPUT -p tcp — syn — dport 25 -j ACCEPT
Das ist der Anfang einer Regel, die vor SYN-Flood schützt. Dieser Teil der Regel blockiert DoS-Attacken auf einem E-Mail-Server-Port (anpassbar an die eigenen E-Mail-Server-Anforderungen). Dieser Regelsatz hat noch drei weitere Teile. Der erste besteht darin, dieselbe Regel hinzuzufügen, aber den Port an seine offenen Ports anzupassen. Der nächste Teil lautet iptables -A INPUT -p tcp — syn -m limit — limit 1/s — limit-burst 4 -j ACCEPT, was der eigentlich Schutz vor SYN-Flood ist. Und schließlich sorgt iptables -A INPUT -p tcp — syn -j DROP dafür, dass alle SYN-Flood-Pakete ignoriert werden.
7. iptables -A INPUT -p tcp -m tcp -s MALICIOUS_ADDRESS -j DROP
An dieser Stelle kann man sich um bösartige IP-Adressen kümmern. Damit dies ordnungsgemäß funktioniert, muss man die gefahrbringenden IP-Adressen kennen und wissen, dass man sie tatsächlich unterdrücken will. Das größte Problem stellt dabei eine verschleierte gefährliche Adresse dar. Wenn dies der Fall ist, kann es passieren, dass man legitimen Traffic von seinem Netzwerk abblockt. Daher sollte genau bekannt sein, mit welchen Adressen man es zu tun hat.
8. iptables -N port-scan
Dies ist der Anfang einer Regel zur Unterdrückung von Portscans nach verborgenen Ports. Ein Scan nach verborgenen Ports ist ein Scan, der geschlossene Ports aufspürt, um dadurch herauszufinden, welche Ports offen sind. Zwei weitere Zeilen sind erforderlich, um diese Regel zu vervollständigen:
iptables -A port-scan -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j RETURN
und
iptables -A port-scan -j DROP
Man beachte, dass der obige Satz von Regeln eine neue Kette namens „port-scan“ hinzufügt. Der Name ist dabei im Prinzip beliebig, aber der Überblick ist leichter zu behalten. Der obigen Satz von Regeln lässt sich auch um Timeouts ergänzen:
iptables -A specific-rule-set -p tcp –syn -j syn-flood
und
iptables -A specific-rule-set -p tcp –tcp-flags SYN,ACK,FIN,RST RST -j port-scan
9. iptables -A INPUT -i eth0 -p tcp -m state — state NEW -m multiport — dports ssh,smtp,http,https -j ACCEPT
Diese Kette nutzt das Argument multiport, das ermöglicht, mehrere Ports anzugeben. Mit Hilfe des multiport-Arguments braucht man statt mehrerer nur eine Kette zu schreiben. Sie spart einem also das Schreiben von vier separaten Regeln, jeweils eine für ssh, SMTP, HTTP und HTTPS. Natürlich kann dies auch auf ACCEPT, DENY, REJECT angewandt werden.
10. iptables -A PREROUTING -i eth0 -p tcp — dport 80 -m state — state NEW -m nth — counter 0 — every 4 — packet 0 -j DNAT — to-destination 192.168.1.10:80
Wer für Load Balance zwischen mehreren gespiegelten Servern sorgen möchte (hier für einen Webserver unter 192.168.1.10), braucht diese Regel. Ihr Kern ist die Erweiterung nth, die iptables mitteilt, jedes nth-Paket zu berücksichtigen. Im Beispiel verwendet iptables counter 0 und reagiert auf jedes vierte Paket. Auch für das Load Balancing gespiegelter Sites lässt sich die Regel anpassen. Angenommen, man hat vier gespiegelte Server und möchte die Last gleichmäßig auf diese verteilen. Dazu müsste für jeden Server wie folgt eine Zeile eingerichtet werden:
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 4 –packet 0 -j DNAT –to-destination 192.168.1.10:80
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 4 –packet 1 -j DNAT –to-destination 192.168.1.20:80
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 4 –packet 2 -j DNAT –to-destination 192.168.1.30:80
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 4 –packet 3 -j DNAT –to-destination 192.168.1.40:80
Wie oben ersichtlich, erhält der Server auf .10 jedes Paket mit 0, der Server auf .20 jedes Paket mit 1, der Server auf .30 jedes Paket mit 2 und der Server auf .40 jedes Paket mit 3.
Weitere Optionen?
Diese zehn iptables-Regeln erleichtern das Absichern eines Linux-Servers. Natürlich gibt es wie immer bei Linux mehrere Möglichkeiten, zum selben Ergebnis zu gelangen. Aber diese Regeln sollten als gute Grundlage für die Sicherheit eines Linux-Servers dienen – und auch für die Diskussion über die Sicherheit von Linux.
Neueste Kommentare
Noch keine Kommentare zu Einstieg in iptables: zehn vordefinierte Regeln für ein sicheres Linux
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.