Software Protection gegen DDoS-Angriffe Debian 5/6/7

[[DDoS]]-Angriffe werden derzeit immer populärer. Auch bekannte Unternehmen
wie Paypal oder Mastercard werden immer mehr ins Ziel von Cyberattacken gesetzt.

Aber nur weil größere Unternehmen mehr und mehr Aufmerksamkeit für DDoS-Angriffe bekommen heißt es
noch lange nicht das kleinere Projekte unbetroffen bleiben.

Nun dagegen kann man sich auch als Otto-Normal-Verbraucher in gewissen Zügen auf Software-Basis schützen.
Mithilfe des kleinen Bash-Scriptes DDoS-Deflate lässt sich auf Software Basis so manch ein DDoS-Angriff abwehren.

Bevor wir DDoS-Deflate installieren legen wir uns in einem beliebigen Verzeichnis einen neuen Ordner an.
In meinem Falle auf /root und navigieren in dieses neue Verzeichnis.

root@localhost:~# mkdir deflate
root@localhost:~# cd deflate

Nun führen wir ein wget aus um das Installationscript für DDoS-Deflate zu laden.
Anschließend setzen wir die richtigen Berechtigungen auf das Script um dieses ausführen zu können.

root@localhost:~/deflate# wget http://www.inetbase.com/scripts/ddos/install.sh
root@localhost:~/deflate# chmod 0700 install.sh
root@localhost:~/deflate# ./install.sh

Nachdem das Script gestartet ist und alles installiert ist können wir q eintippen um die
Lizenzbedingungen zu verlassen.

[AdSense-A]

Nun kommt der entscheidende Teil. Jetzt müssen wir DDoS-Deflate auch konfigurieren.
Die Konfiguration von DDoS-Deflate befindet sich Standardgemäß unter
/usr/local/ddos/ddos.conf

Diese editieren wir nun mit einem beliebigen Editor.

Unter NO_OF_CONNECTIONS= haben wir die Möglichkeit eine Anzahl von Zugriffen pro IP festzulegen die
innerhalb von einer Minute durchgeführt werden dürfen. Wenn diese überschritten wird, wird die jeweilige
IP-Adresse für eine bestimmte Zeit vom Server gebannt.

Diese können wir problemlos von 150 auf 60 runter setzen.

NO_OF_CONNECTIONS=60

Als nächstes kommt die Bann-“Methode” dran. Dort bestimmen wir welche Software verwendet werden soll
um die IP-Adressen zu dropen. Standardgemäß steht die Konfiguration bei APF_BAN= auf 1.

Gesagt sei allerding auch das Standardgemäß APF nicht installiert ist!
Also setzen wir APF_BAN auf 0

APF_BAN=0

Der nächste Punkt ist KILL. Kill bestimmt ob die IP-Adressen die den maximalen Zugriffswert überschritten
hat gedroped werden soll oder nicht. Diesen belassen wir auf 1.

KILL=1

Unter EMAIL_TO= können wir eine Email-Adresse festlegen an die eine Email verschickt werden soll, sobald ein
Besucher das Zugriffslimit überschritten hat und somit auch vom Server gebannt wurde.
Diese steht standardgemäß auf “root”. Kann aber auch ggf. geändert werden.
(Bei Änderungen die Anführungszeichen nicht vergessen!)

EMAIL_TO="root"

Zu guter letzt kommt die Ban Periode dran. Diese legt fest wie lang jemand gebannt werden soll, wenn das Limit
überschritten ist.
Diese hat auch einen Standard-Wert der auf 600 Sekunden definiert ist. Diese Zeit sollte auf jedenfall erhöht werden.
Eine Minute als Bannzeit ist nicht Sinnvoll. Ein DDoS-Angriff dauert meist länger als nur ein paar Minuten und um die
Last zu senken die zu einem Angriff entsteht ist es sinnvoll diese auf mindestens eine halbe Stunde zu setzen.

[AdSense-A]

Sprich 18000 als Wert angeben.

BAN_PERIOD=18000

Nachdem wir mit der Konfiguration fertig sind müssen wir diese noch speichern.

Im selben Ordner (/usr/local/ddos/) befinden sich noch weitere Dateien z.B. auch ignore.ip.list
Dort können wir IP-Adressen definieren welche niemals gedroped werden dürfen. Dies lohnt sich aber auch nur
wenn die jeweilige IP-Adresse statisch ist.

Diese muss nicht konfiguriert werden aber kann.

Zu guter letzt ist es sinnvoll DDoS-Deflate als Cronjob auszuführen.

Dazu müssen wir Crontab editieren.

root@localhost:~/deflate# crontab -e

Unkonfiguriert sieht die Konfiguration von Crontab wie folgt aus:

# m h  dom mon dow   command

Hier müssen wir die Zeit angeben wann der jeweilige Cronjob durchgeführt werden soll, wie aber auch
welcher Befehl zu der jeweiligen Zeit ausgeführt werden muss.

Hier setzen wir einen neuen Eintrag in eine neue Zeile.

* * * * * /usr/local/ddos/ddos.sh

Das Sternchen heißt so viel wie das zu jeder Einheit der Befehl ausgeführt werden soll.
* Minute, * Stunde, * Tag, * Monat, * Jahr wie bei uns bedeutet so viel wie das dieser Cronjob
jede Minute in jeder Stunde, jedem tag und jedem Monat wie auch Jahr ausgeführt werden soll.

Nachdem wir diese Zeile eingefügt haben speichern wir auch diesmal die Konfiguration.

Nun sind wir fertig.

Für Debian 6 (Squeeze) Benutzer wird hierbei DDoS-Deflate nicht lauffähig sein.
Dies müssen wir hierbei ändern.

Dazu editieren wir die Datei /usr/local/ddos/ddos.sh mit einem beliebigen Editor.
Dort ersetzen wir die Zeile

#!/bin/sh

durch

#!/bin/bash

und speichern das Bash-Script. Ab da an muss das Script lauffähig sein.

Gesagt sei zu guter letzt das eine Software Protection niemals so leistungsfähig sein kann wie eine

Hardware Protection. Außerdem hat jede Protection seine eigenen Grenzen, d.h. es bestimmt die Anzahl

der Bots/ PPS wie lang eine DDoS-Protection auch ihren Sinn erfüllt.

8 Comments

  1. Ovidiu April 17, 2012
    • admin April 27, 2012
  2. Caffe BaBBu Juli 15, 2012
    • admin Juli 16, 2012
  3. Sascha Schumann November 26, 2012
    • admin November 26, 2012
  4. Vummi Februar 19, 2013
    • admin Februar 19, 2013

Leave a Reply