So schützen Sie sich gegen DDoS mit Mod_evasive auf Apache Server
Dieser Artikel ist Teil der Apache Server Guide-Reihe:
- Sicherung von Apache auf Ubuntu - Teil 1
- Sicherung von Apache auf Ubuntu - Teil 2
- Apache-Performance optimieren - Teil 1
- Apache Performance optimieren - Teil 2
- Einrichten von namensbasiertem Virtualhost Apache
- Einrichten von IP und Port-Based Virtualhost in Apache
- So richten Sie das Kennwortschutz-Webverzeichnis in Apache ein
- Einrichten von Apache Server mit SSL-Unterstützung unter Ubuntu
- Einrichten von Fail2ban, um Apache vor einem DDOS-Angriff zu schützen
- Wie man Webdav mit Apache auf Ubuntu einrichtet
- Überwachen Sie Apache Web Server mit Mod_status
- So schützen Sie sich gegen DDoS mit Mod_evasive auf Apache Server
Mod_evasive ist ein Apache-Modul, das im Falle eines HTTP-DoS- oder DDoS-Angriffs oder eines Brute-Force-Angriffs Ausweichmaßnahmen bietet. mod_evasive meldet derzeit schädliche Aktivitäten per E-Mail und Syslog. Das mod_evasive-Modul erstellt eine interne dynamische Hash-Tabelle mit IP-Adressen und URIs und verweigert jede einzelne IP-Adresse unter einer der folgenden Bedingungen:
- Die gleiche Seite mehr als einige Male pro Sekunde anfordern
- Mehr als 50 gleichzeitige Anfragen für dasselbe Kind pro Sekunde erstellen
- Anfragen während temporärer Sperrliste stellen (in einer Sperrliste)
In diesem Tutorial werde ich erklären, wie man mod_evasive auf Ihrem Apache-Server installiert, konfiguriert und verwendet. Dieses Tutorial verwendet einen Ubuntu 14.04 Server.
Installieren von mod_evasive
Stellen Sie zunächst sicher, dass der Apache-Server installiert ist und ausgeführt wird.
Als Nächstes können Sie das Modul mod_evasive installieren, indem Sie Folgendes ausführen:
sudo apt-get installieren libapache2-mod-evasive
Nach der Installation von mod_evasive können Sie dieses Modul überprüfen, indem Sie die folgenden Befehle ausführen:
sudo apachectl -M | Grep ausweichend
Wenn mod_evasive aktiviert ist, wird folgende Ausgabe angezeigt:
evasive20_module (geteilt)
Konfigurieren Sie Mod_evasive
Das mod_evasive-Modul liest seine Konfiguration aus "/etc/apache2/mods-enabled/evasive.conf". Sie können das mod_evasive-Modul einfach über die Konfigurationsdatei "evasive.conf" anpassen. Standardmäßig sind die Konfigurationsoptionen von mod_evasive deaktiviert. Sie müssen sie daher zuerst aktivieren. Bearbeiten Sie dazu die Datei "evasive.conf":
sudo nano /etc/apache2/mods-enabled/evasive.conf
Entfernen Sie #
aus den folgenden Zeilen:
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] DOSLogDir "/ var / log / apache2 /"
Speichern Sie die Datei und starten Sie Apache neu, damit Ihre Änderungen wirksam werden:
sudo /etc/init.d/apache2 neustarten
Sie können die obigen Werte entsprechend der Menge und Art des Datenverkehrs ändern, den Ihr Webserver verarbeiten muss.
DOSHashTableSize :
Diese Anweisung gibt an, wie mod_evasive verfolgt, wer auf was zugreift. Wenn Sie diese Zahl erhöhen, erhalten Sie eine schnellere Suche nach den Websites, die der Client in der Vergangenheit besucht hat.
DOSPageCount :
Diese Anweisung gibt an, wie viele identische Anforderungen an einen bestimmten URI ein Besucher über das DOSPageInterval-Intervall stellen kann.
DOSSiteCount :
Dies entspricht DOSPageCount, entspricht jedoch der Anzahl der Anforderungen, die ein Besucher insgesamt über das DOSSiteInterval-Intervall an Ihre Site stellen kann.
DOSBlockingPeriod :
Wenn ein Besucher die von DOSSPageCount oder DOSSiteCount gesetzten Grenzen überschreitet, wird seine IP-Adresse während der DOSBlockingPeriod-Zeit blockiert. Während dieses Intervalls erhält er einen Fehler 403 (Verboten).
DOSEmailNotify :
Eine E-Mail wird an die angegebene E-Mail-Adresse gesendet, sobald eine IP-Adresse auf die schwarze Liste gesetzt wird.
DOSLogDir :
Diese Anweisung gibt den Speicherort des Protokollverzeichnisses an.
Testen von Mod_evasive
Jetzt ist es an der Zeit zu testen, ob das Modul mod_evasive funktioniert oder nicht. Sie können dies tun, indem Sie ein Perl-Skript "test.pl" verwenden, das sich im Verzeichnis "/ usr / share / doc / libapache2-mod-evasive / examples /" befindet.
Sie können das Skript ausführen, indem Sie den folgenden Befehl ausführen:
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Sie sollten die folgende Ausgabe sehen:
Das Skript stellt 100 Anfragen an Ihren Webserver. Der Antwortcode 403 zeigt an, dass der Zugriff vom Webserver verweigert wird.
Fazit
mod_evasive ist ein sehr wichtiges Werkzeug, um einen Apache Webserver gegen mehrere Bedrohungen zu schützen. Sie können mit verschiedenen Optionen in einer Testumgebung mit mod_evasive experimentieren. Wenn Sie Fragen haben, können Sie sie in das Kommentarfeld unten schreiben.