Wer DDOS Deflate unter Plesk installieren möchte, kann das auch ohne Abo tun. Man muss dabei zwar auf die graphische Oberfläche verzichten, wird jedoch dafür mit einigen Zusatz-Features von DDOS Deflate entlohnt. Das folgende Tutorial funktioniert übrigens auch auf Servern ohne Plesk.
Inhaltsverzeichnis:
DDOS Deflate installieren
Zum Einsatz kommt in unserem Beispiel ein Fork des original DDOS Deflate Scripts: jgmdev / DDOS Deflate. Das bringt folgende Vorteile:
- Es können Hostnamen auf die Whitelist gesetzt werden. So lassen sich z.B. Hosts mit dynamischen IP-Adressen sehr einfach auf die Whitelist setzen.
- Unterstützung der folgenden Firewalls: APF, CSF, ipfw und iptables.
- Alle Events werden in /var/log/ddos.log protokolliert.
- Sehr einfache Konfiguration.
Über die folgenden Kommandos wird DDOS Deflate installiert:
1 2 3 4 5 | wget https://github.com/jgmdev/ddos-deflate/archive/master.zip unzip master.zip <span class="pl-c1">cd</span> ddos-deflate-master ./install.sh |
DDOS Deflate konfigurieren
Die DDOS Deflate Whitelists für IP-Addressen und Hostnamen finden sich hier:
1 2 3 | /etc/ddos/ignore.ip.list /etc/ddos/ignore.host.list |
Die Konfiguration von DDOS Deflate ist zentral in dieser Datei abgelegt:
1 | /etc/ddos/ddos.conf |
Die wichtigsten Parameter sind:
- NO_OF_CONNECTIONS:
Die Anzahl der erlaubten Verbindungen pro IP-Adresse. Bei Überschreitung wird die Adresse auf die DDOS Deflate Blacklist gesetzt. Die Voreinstellung ist 150 und hat sich in der Praxis als sehr gut erwiesen. - EMAIL_TO:
Möchte man bei jedem Event eine Nachricht, so kann man hier eine Emailadresse eintragen. - BAN_PERIOD:
Adressen auf der DDOS Deflate Blacklist werden nach der hier angegebenen Dauer wieder freigeschaltet. Dieser Wert sollte auf 604800 Sekunden (=1 Woche) erhöht werden. - HOST_IP:
Hier muss die IP des eigenen Servers eingetragen werden, damit DDOS Deflate seine Firewall-Regeln korrekt erstellen kann.
Nach der Konfiguration kann DDOS Deflate gestartet werden:
1 | /etc/init.d/ddos restart |
DDOS Deflate in der Praxis
Über den Befehl “ddos” lässt sich der DDOS Deflate per Kommandozeile steuern. Die in der Praxis wichtigsten Befehle sind
- ddos -h:
Ausgabe aller Komandozeilen-Parameter von DDOS Deflate. - ddos -i:
Anzeige der DDOS Deflate Whitelist. - ddos -b:
Anzeige der DDOS Deflate Blacklist. - ddos -v:
Anzeige der Anzahl aktiver Verbindungen pro IP-Adresse.
Plesk: IP-Adresse von DDOS Deflate Blacklist entfernen
Das Einzige was nun noch fehlt, ist die Möglichkeit eine IP-Adresse manuell aus der Blacklist zu entfernen. Das kann bei einer ipTables basierenden Firewall, wie von Plesk verwendet, mit dem folgenden Script gelöst werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash # # unban 1.0.0 # # Unban an IP from iptables firewall # # (c)2017 Harald Schneider # if [[ $1 =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then iptables -D INPUT -s $1 -j DROP echo "IP $1 sucessfully removed from ban list" else echo "Please enter an valid IP address." fi |
Der Aufruf ist simpel, zum Beispiel:
1 | unban 64.100.0.12 |
Diese Lösung funktioniert übrigens mit allen ipTables basierenden Firewalls, auch ohne Plesk.
Weitere Details findet ihr direkt im DDOS Deflate Fork Projekt auf Github.