DDoS-Angriffe unter Linux erkennen und stoppen

Als erstes sollten Sie die Verbindungen aus den üblichen Subnetzen (/16 oder /24 sind die am häufigsten verwendeten) überprüfen. Melden Sie sich bei Ihrem Linux-Server an und geben Sie den folgenden Befehl ein, um zu sehen, welche Verbindungen aus demselben Subnetz (/16) kommen:

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2 -d'.'|sed 's/$/.0.0/'|sort|uniq -c|sort -nk1 -r

Wenn der Befehl netstat nicht gefunden wird, müssen Sie ihn mit diesem Befehl installieren:

sudo apt-get install net-tools -y

Um Verbindungen aus dem Subnetz /24 zu finden, würde der Befehl lauten:

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2,3 -d'.'|sed 's/$/.0/'|sort|uniq -c|sort -nk1 -r

Ein weiterer netstat-Befehl listet alle IP-Adressen auf, die sich mit dem Server verbunden haben. Dieser Befehl lautet:

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c

Als Nächstes verwenden wir netstat, um die Anzahl der Verbindungen zu berechnen und zu zählen, die jede IP-Adresse mit Ihrem Server herstellt. Dieser Befehl lautet:

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

Wie man die Angriffe stoppen kann

Das ist nicht annähernd so einfach wie das Aufspüren und Stoppen eines DoS-Angriffs. Die gute Nachricht ist jedoch, dass Sie den DDoS-Angriff auf dieselbe Weise stoppen können, wie Sie den DoS-Angriff gestoppt haben, sobald Sie herausgefunden haben, woher der Angriff kommt. Führen Sie einfach den Befehl aus:

sudo route add ADDRESS reject

Dabei ist ADDRESS die betreffende Adresse. Bei einem DDoS-Angriff müssen Sie den obigen Befehl für jede verdächtige Adresse ausführen, die Sie mit den netstat-Befehlen gefunden haben. Je nachdem, wie viele Rechner Ihren Server angreifen, kann dies viel Zeit in Anspruch nehmen.

Wenn Sie festgestellt haben, dass die Angriffe alle aus einem Subnetz kommen (einem, das keinen Zugriff auf den Server haben sollte), können Sie das gesamte Subnetz mit iptables blockieren, etwa so:

sudo iptables -A INPUT -s ADRESSE/SUBNET -j DROP