Was tun bei einem DDOS Angriff – Anti-DDoS

fehlt wasgeht sogutsehr guthat geholfen (2 votes, average: 5,00 out of 5)
Loading ... Loading ...
Werbung




DDoS Angriffe abwehren ist nicht so einfach. Zunächst sollte man verstehen, was ein DDoS Angriff – ein Distributed Denial of Service ist. Danach erst versteht man die Schwierigkeit, einen solchen als Mieter eines Root-Servers zu bekämpfen.

Es gibt verschiedene Möglichkeiten, einen DDoS Angriff mit iptables zu reduzieren oder auch bei kleineren Angriffen den Server zu entlasten. Allerdings wird der Traffic bleiben. Kontakt mit dem Provider ist unerlässlich.Anti-DDoS mit iptables

iptables ist hier ein Helfer, der die Zugriffe auf die Netzwerkgeräte überwacht und gegebenenfalls auch eingreifen oder abwehren kann.

Um SYN-Food zu begrenzen ist diese Zeile hilfreich

/sbin/iptables -A INPUT -p tcp --syn -m limit --limit 2/s --limit-burst 30 -j ACCEPT

Hier werden max. 30 Zugriffe pro 2 Sekunden zugelassen

Ping-Flood können hier eingegrenzt werden

/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

nur 1 Ping pro Sekunde

Auch Portscanner können abgeschaltet werden, diese stören auch meist nur

/sbin/iptables -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 1/h -j ACCEPT
 /sbin/iptables -A INPUT -p tcp --tcp-flags ALL ALL -m limit --limit 1/h -j ACCEPT

Eine bestimmte Regel, die die TCP Sessions überwacht. Hier muss eine TCP Session mit SYN starten

/sbin/iptables -A INPUT -p tcp ! -syn -m state --state NEW -j LOG --log-prefix "Stealth Scan"
/sbin/iptables -A INPUT -p tcp ! -syn -m state --state NEW -j DROP

Es gibt noch einige Regeln mehr, hier sollte eine Suchmaschine befragt werden um die Regeln zu finden, die für einen sinnvoll sind.

Anti-DDoS mit Programmen

Es gibt mehrere Hilfsmittel, die auf Programm-Ebene Unterstützung gegen DDoS Angriffe bieten.

Setzt man Apache ein, kann man mit dem Plugin mod_evasive gegen DDoS Angriffen vorgehen. Dieses Modul legt listen an und zählt, wie oft Zugriffe von den IPs eingehen. Übersteigt dies einen Richtwert, blockt Apache die Anfrage und der Angreifer erhält eine 403 Forbitten Fehlermeldung.
Allerdings ist mod_evasive machtlos gegen Angriffe, die die gesamte Bandbreite des Servers einnehmen, da das Plugin nur filtert, der Traffic aber dennoch da ist.

DDoS-Deflate

Dieses Skript ist ein kleines bash-Script, welches ebenfalls eine Liste der IPs erzeugt, die sich mit dem Server verbinden. Dazu wird ein Befehl ausgeführt

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

und das Ergebnis ausgewertet.
Das Script unterstützt whitelisting, bestitzt eine einfache konfiguration, entsperrt IPs nach einer vorgegebenen Zeit automatisch, kann in verschiedenen Perioden gestartet werden und verschickt Emails mit den gesperrten IPs.

Wir hosten das Script, die Installation erfolgt einfach:

wget http://www.server-wissen.de/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

Auch ein Deinstallationsscript existriert für dieses Programm:

wget http://www.server-wissen.de/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

Mit fail2ban gegen DDoS Angriffe vorgehen

fail2ban scannt Logfiles und veranlasst entsprechende Aktionen, wenn Schwellenwerte überschritten werden. Ebenfalls wie ddos-deflate wird hier aber nicht der Traffic reduziert sondern Anfragen abgeblockt.
Mit fail2ban können Webserver und Proxys aber gegen unnötige Anfragen geblockt werden.

Hier haben wir ein Beispiel einer fail2ban Konfiguration zur Absicherung von apache2, nginx, varnish, squid oder lighttpd gegen DDoS Angriffe

In der /etc/fail2ban/jail.conf

[http-get-dos]
enabled = true
port = http,https
filter = http-get-dos
logpath = /var/log/varnish/access.log
maxretry = 300
findtime = 300
bantime = 600
action = iptables[name=HTTP, port=http, protocol=tcp]

Der “logpath” muss angepasst werden.

Nun eine neue Datei anlegen: /etc/fail2ban/filter.d/http-get-dos.conf mit dem Inhalt

# Fail2Ban configuration file
[Definition]
# Option: failregex
# Note: This regex will match any GET entry in your logs, so basically all valid and not valid entries are a match.
# You should set up in the jail.conf file, the maxretry and findtime carefully in order to avoid false positives.
failregex = ^ -.*GET

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
ignoreregex =

Nach einem Neustart von fail2ban wird das Logfile geprüft und Clients, die zu häufig anfragen, gesperrt.

Mit Systemeinstellungen in /etc/sysctl.conf gegen DDoS Angriffe angehen

Es gibt noch ein paar Systemeinstellungen, die hilfreich gegen zu viele Anfragen sein können.
Hier eine kleine Auflistung:

tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_default_ttl = 61
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 4
net.ipv4.tcp_synack_retries = 4

Hierbei werden verschiedene Einstellungen vorgenommen, die die Netzwerkgeräte beeinflussen und härtere Regeln veranlassen, wiebeispielsweise das Fallen lassen von SYN Anfragen, Timeouts heruntergesetzt, Filter aktiviert und einiges mehr.

Fazit

Das Fazit fällt gemischt aus. Man kann vieles machen, um den Server zu entlasten. Man muss jedoch bedenken, dass die zusätzlichen Mittel wie mod_evasive, ddos_deflate oder auch fail2ban zusätzlichen Speicher benötigen. Hat man einen DDoS Angriff von vielen verschiedenen Servern mit vielen verschiedenen IP Adressen, so werden die Hash-Tabellen, in denen die IPs gespeichert werden, innerhalb kurzer Zeit anschwellen und den RAM Bedarf steigern. Und verhindert werden kann nicht, dass weitere Angriffe von anderen Servern mit anderen IPs kommt. Bei allen Maßnahmen kann nichts gegen den eingehenden Traffic unternommen werden.

Der Provider kann mit Einstellungen an Switches oder Routern einiges mehr unternehmen. Das Ändern der IP Adresse, sofern möglich, oder ändern des Hostnamens kann eine Erholungspause bringen. Aber der Angreifer wird auch dies merken und entsprechend reagieren. Letzlich und solange vertretbar ist die Abschaltung des Servers eine weitere, aber wohl die letzte Maßnahme.

bisherige Suchbegriffe:

  • ddos deflate
  • anti ddos
  • was tun nach ddos


Werbung


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>