Konfigurieren Sie mod_evasive, um DoS- und DDoS-Angriffe auf CentOS zu verhindern

In diesem Artikel erfahren Sie, wie Sie mod_evasive installieren und konfigurieren, um DoS- und DDoS-Angriffe auf CentOS zu verhindern.

Für diese Demonstration haben wir den dedizierten CentOS 7 64-Bit-Server verwendet.

Lass uns anfangen.

Das mod_evasive Apache-Modul. Es hilft, Distributed Denial of Service (DoS & DDoS)-Angriffe und Brute-Force-Angriffe auf den Apache-Webserver aufrechtzuerhalten. Die mod_evasive arbeiten, indem sie eingehende Anfragen überwachen und Missbrauch über E-Mail- und Syslog-Funktionen melden. Es soll ein Erkennungs- und Netzwerkverwaltungstool sein und schnell konfiguriert werden, um mit ipchains, Firewalls, Routern und mehr zu kommunizieren.

Das mod_evasive überwacht verdächtige Anfragen und verweigert jede einzelne IP-Adresse von einer der folgenden:

  • Mehr als ein paar Mal pro Sekunde dieselbe Seite anfordern
  • Mehr als 50 gleichzeitige Anfragen an dasselbe Kind pro Sekunde stellen
  • Anfragen stellen, während Sie vorübergehend auf der schwarzen Liste stehen

Voraussetzungen

  • CentOS 7 64-Bit dedizierter Server oder Cloud-Server (funktioniert auch mit CentOS 6)
  • Apache Webserver LAMP (Linux, Apache, MySQL, PHP) installiert und konfiguriert
  • Mail-Server

1. Halten Sie den Server auf dem neuesten Stand:

# yum update -y

2. Installieren Sie EPEL (Zusatzpakete für Enterprise Linux):

# yum install epel-release -y

3. Installieren Sie die Voraussetzung von mod_evasive:

# yum install httpd-devel

4. Mod_evasive installieren:

# yum install mod_evasive -y

Jetzt ist mod_evasive installiert

5. So fügen Sie die mod_evasive-Konfiguration zu Ihrer Apache-Konfigurationsdatei hinzu:

Standardmäßig wird die LoadModule- Zeile in der Konfigurationsdatei mod_evasive.conf hinzugefügt. Öffnen Sie die Datei und fügen Sie die folgende Zeile hinzu, falls sie noch nicht vorhanden ist.

# vi /etc/httpd/conf.d/mod_evasive.conf

LoadModule evasive20_module modules/mod_evasive24.so

Öffnen Sie die Konfigurationsdatei mod_evasive.conf und überprüfen Sie die folgenden Einträge.

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify

Sie können die obigen Einträge nach Ihren Anforderungen konfigurieren. Ändern DOSEmailNotify an Ihre E - Mail - ID.

Um die IP-Adresse auf die Whitelist zu setzen, fügen Sie die folgende Zeile in die Konfigurationsdatei ein:

DOSWhitelist 127.0.0.1

DOSWhitelist 127.0.0.*

Sie können auch mehrere IP-Adressen hinzufügen.

Ein weiterer Eintrag muss DOSLogDir ändern . Standardmäßig bezieht es sich auf /tmp für einen Sperrmechanismus.

Neues Verzeichnis in /var/log/ erstellen :

# mkdir /var/log/mod_evasive

Legen Sie den Besitz auf den Apache-Benutzer fest:

# chown -R apache:apache /var/log/mod_evasive

Bearbeiten Sie nun die folgende Zeile in der mod_evasive-Konfiguration und ändern Sie den Verzeichnispfad:

DOSLogDir  /var/log/mod_evasive

Speichern und beenden Sie die Konfigurationsdatei mod_evasive.

Starten Sie als Nächstes den Apache neu:

# systemctl restart httpd.service

Das war's, mod_evasive installiert und konfiguriert.

Weitere Informationen zu mod_evasive- Konfigurationsoptionen
Diese Beschreibungen der Konfigurationsoptionen wurden direkt aus der README-Datei übernommen.

DOSHashTableSize

Die Hash-Tabellengröße definiert die Anzahl der Knoten der obersten Ebene für die Hash-Tabelle jedes untergeordneten Elements. Das Erhöhen dieser Zahl führt zu einer schnelleren Leistung, indem die Anzahl der Iterationen verringert wird, die erforderlich sind, um zum Datensatz zu gelangen, aber mehr Arbeitsspeicher für den Tabellenbereich verbrauchen. Sie sollten diesen Wert erhöhen, wenn Sie einen ausgelasteten Webserver haben. Der von Ihnen angegebene Wert wird automatisch bis zur nächsten Primzahl in der Primzahlliste hochgestuft (siehe mod_evasive.c für eine Liste der verwendeten Primer).

DOSPageCount

Dies ist der Schwellenwert für die Anzahl der Anforderungen für dieselbe Seite (oder URI) pro Seitenintervall. Sobald der Schwellenwert für dieses Intervall überschritten wurde, wird die IP-Adresse des Clients der Sperrliste hinzugefügt.

DOSSiteCount

Dies ist der Schwellenwert für die Gesamtzahl der Anforderungen für ein beliebiges Objekt von demselben Client auf demselben Listener pro Site-Intervall. Sobald der Schwellenwert für dieses Intervall überschritten wurde, wird die IP-Adresse des Clients der Sperrliste hinzugefügt.

DOSPageInterval

Das Intervall für den Schwellenwert für die Seitenanzahl; standardmäßig auf 1-Sekunden-Intervalle.

DOSSiteInterval

Das Intervall für den Schwellenwert für die Site-Anzahl; standardmäßig auf 1-Sekunden-Intervalle.

DOSBlockingPeriode

Die Sperrfrist ist die Zeitspanne (in Sekunden), für die ein Client gesperrt wird, wenn er zur Sperrliste hinzugefügt wird. Während dieser Zeit führen alle nachfolgenden Anfragen des Clients zu einem 403 (Forbidden) und der Timer wird zurückgesetzt (zB weitere 10 Sekunden). Da der Timer bei jeder nachfolgenden Anfrage zurückgesetzt wird, ist keine lange Sperrzeit erforderlich; Im Falle eines DoS-Angriffs wird dieser Timer immer wieder zurückgesetzt.

DOSEmailNotify

Wenn dieser Wert festgelegt ist, wird eine E-Mail an die angegebene Adresse gesendet, wenn eine IP-Adresse auf die schwarze Liste gesetzt wird. Ein Sperrmechanismus mit /tmp verhindert das kontinuierliche Senden von E-Mails.

Notiz:

Stellen Sie sicher, dass MAILER in mod_evasive.c (oder mod_evasive20.c) richtig eingestellt ist. Der Standardwert ist „/bin/mail -t %s“, wobei %s verwendet wird, um die in der Konfiguration festgelegte Ziel-E-Mail-Adresse anzugeben. Wenn Sie unter Linux oder einem anderen Betriebssystem mit einem anderen Mailer-Typ arbeiten, müssen Sie dies ändern.

DOSSystemCommand

Wenn dieser Wert gesetzt ist, wird der angegebene Systembefehl immer dann ausgeführt, wenn eine IP-Adresse auf die schwarze Liste gesetzt wird. Dies wurde entwickelt, um Systemaufrufe an IP-Filter oder andere Tools zu ermöglichen. Ein Sperrmechanismus mit /tmp verhindert kontinuierliche Systemaufrufe. Verwenden Sie %s, um die IP-Adresse der IP-Adresse auf der schwarzen Liste anzugeben.

DOSLogDir

Wählen Sie ein alternatives temporäres Verzeichnis
Standardmäßig wird „/tmp“ für den Sperrmechanismus verwendet, was einige Sicherheitsprobleme aufwirft, wenn Ihr System für Shell-Benutzer geöffnet ist. Falls Sie nicht privilegierte Shell-Benutzer haben, sollten Sie ein Verzeichnis erstellen, das nur für den Benutzer beschreibbar ist, unter dem Apache ausgeführt wird (normalerweise root), und legen Sie dies dann in Ihrer httpd.conf fest.

In diesem Artikel haben wir behandelt, wie unser Support-Techniker mod_evasive installiert und konfiguriert, um DoS- und DDoS-Angriffe auf CentOS zu verhindern.


FIX: „Der Editor hat einen unerwarteten Fehler festgestellt“ in WordPress nach dem Update

FIX: „Der Editor hat einen unerwarteten Fehler festgestellt“ in WordPress nach dem Update

Sie können mit dem neuen Block-Editor in WordPress keinen neuen Beitrag schreiben? Die Chancen stehen gut, dass Sie "Der Redakteur" bekommen

So beheben Sie WordPress 5.0-Probleme

So beheben Sie WordPress 5.0-Probleme

Das WordPress 5.0 wird endlich ausgerollt und bringt mit dem Gutenberg ein brandneues Bearbeitungserlebnis mit sich

So deaktivieren Sie den Block-Editor und installieren den klassischen Editor in WordPress 5.0

So deaktivieren Sie den Block-Editor und installieren den klassischen Editor in WordPress 5.0

Ab WordPress 5.0 ist der Standard-Editor von WordPress der neue Block-Editor. Der neue Editor ist radikal anders

🔧 FIX: Deiner PHP-Installation scheint die MySQL-Erweiterung zu fehlen, die von WordPress benötigt wird

🔧 FIX: Deiner PHP-Installation scheint die MySQL-Erweiterung zu fehlen, die von WordPress benötigt wird

Möchten Sie eine selbstverwaltete WordPress-Site betreiben? Groß. Sie werden zig Dinge lernen. Einer der kritischen Teile der Einstellung

So aktualisieren Sie Ordnerelemente in Windows 11

So aktualisieren Sie Ordnerelemente in Windows 11

Wenn die Option Aktualisieren im Kontextmenü fehlt, können Sie Elemente im Datei-Explorer unter Windows 11 aktualisieren.

So beheben Sie den Sortierfehler „utf8mb4_0900_ai_ci“ beim Importieren der WordPress-Datenbank

So beheben Sie den Sortierfehler „utf8mb4_0900_ai_ci“ beim Importieren der WordPress-Datenbank

Wenn Sie Ihre WordPress-Installation von einem MySQL 8-Server auf MySQL 5.7 (oder niedriger) umstellen, werden Sie höchstwahrscheinlich auf

So legen Sie den Classic Editor als Standardeditor in WordPress anstelle von Gutenberg fest

So legen Sie den Classic Editor als Standardeditor in WordPress anstelle von Gutenberg fest

Der Gutenberg-Editor wird bald zum Standard-Editor in WordPress. Sie haben die Möglichkeit, den Classic Editor auszuwählen

So aktivieren Sie PHP-Kurztags

So aktivieren Sie PHP-Kurztags

In diesem Artikel haben wir behandelt, wie Sie PHP-Short-Tags aktivieren. PHP analysiert die Datei mit öffnenden und schließenden Tags, die wie . So aktivieren Sie PHP-Kurztags

Konfigurieren Sie mod_evasive, um DoS- und DDoS-Angriffe auf CentOS zu verhindern

Konfigurieren Sie mod_evasive, um DoS- und DDoS-Angriffe auf CentOS zu verhindern

In diesem Artikel erfahren Sie, wie Sie mod_evasive installieren und konfigurieren, um DoS- und DDoS-Angriffe auf CentOS zu verhindern. Das mod_evasive Apache-Modul.

So installieren Sie PHP mit PHP-FPM für NGINX auf CentOS

So installieren Sie PHP mit PHP-FPM für NGINX auf CentOS

wie man PHP mit PHP-FPM für NGINX auf CentOS installiert. Die Grundkonfiguration des NGINX-Webservers zur Verarbeitung von PHP-Anwendungen und deren Server auf Port 80.