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.

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:

wget https://github.com/jgmdev/ddos-deflate/archive/master.zip
unzip master.zip
cd ddos-deflate-master
./install.sh

DDOS Deflate konfigurieren

Die DDOS Deflate Whitelists für IP-Addressen und Hostnamen finden sich hier:

/etc/ddos/ignore.ip.list
/etc/ddos/ignore.host.list

Die Konfiguration von DDOS Deflate ist zentral in dieser Datei abgelegt:

/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:

/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:

#!/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:

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.