D
Deleted member 11625
Guest
Schon seit Wochen sammle ich allerhand Tipps&Tricks zur Absicherung meines Root-Servers gegen DDoS-Attacken aller Art. Bisher habe ich nur einen Teil aller Tipps umgesetzt, weil viele doch zuviele Nachteile bieten. Jetzt sind nur noch ein paar iptables-Anweisungen offen, bei denen ich mich frage, ob diese Sinn machen. Hier erstmal die Anweisungen:
Die Fragen:
1.) Gibt es davon was, was meinen "guten" Besuchern schadet (langsamer Seitenaufbau, Abbruch der Verbindung usw.)? Das ist nämlich immer der Faktor, bei dem ich abwäge, ob sich so eine Maßnahme lohnt.
2.) Bei 1, 2 und 3 steht "FORWARD". Ist das aber nicht Quatsch? Muss es nicht INPUT sein?
3.) Sind 1 und 6 nicht dasselbe? Wobei bei 6 noch "limit-burst" steht.
4.) Wie starte ich so ein Skript beim Systemstart? Ich habe mal was von /etc/rc.local gelesen. Wenn dort, was trage ich ein? Einfach den Namen meines Skript, z.B. /pfad/antiddos.sh?
Code:
#1 Limit bietet Schutz vor "Syn-Flood-Attacken":
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
#2 Schutz vor "Ping of Death":
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#3 Portscanner ausschalten:
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags ALL ALL -m limit --limit 1/h -j ACCEPT
#4 alle TCP-Sessions müssen mit einem SYN beginnen, sonst werden sie verworfen
$iptables -A INPUT -p tcp ! –syn -m state –state NEW -j LOG –log-prefix “Stealth Scan”
$iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
#5 ungewöhnliche Flags verwerfen
$iptables -A INPUT -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP
$iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
$iptables -A INPUT -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
$iptables -A INPUT -p tcp –tcp-flags SYN,RST SYN,RST -j DROP
$iptables -A INPUT -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP
#6 SYN-Flood-Schutz
$iptables -N syn-flood
$iptables -A INPUT -p tcp –syn -j syn-flood
$iptables -A syn-flood -m limit –limit 1/s –limit-burst 4 -j RETURN
$iptables -A syn-flood -j DROP
#7 Setzt die MMS (Maximum Segment Size) auf weniger 40Bytes für SYN,RST SYN Packete
$iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu
Die Fragen:
1.) Gibt es davon was, was meinen "guten" Besuchern schadet (langsamer Seitenaufbau, Abbruch der Verbindung usw.)? Das ist nämlich immer der Faktor, bei dem ich abwäge, ob sich so eine Maßnahme lohnt.
2.) Bei 1, 2 und 3 steht "FORWARD". Ist das aber nicht Quatsch? Muss es nicht INPUT sein?
3.) Sind 1 und 6 nicht dasselbe? Wobei bei 6 noch "limit-burst" steht.
4.) Wie starte ich so ein Skript beim Systemstart? Ich habe mal was von /etc/rc.local gelesen. Wenn dort, was trage ich ein? Einfach den Namen meines Skript, z.B. /pfad/antiddos.sh?
Last edited by a moderator: