Configureer mod_evasive om DoS- en DDoS-aanvallen op CentOS te voorkomen

In dit artikel leren we hoe je mod_evasive installeert en configureert om DoS- en DDoS-aanvallen op CentOS te voorkomen.

Voor deze demonstratie hebben we CentOS 7 64 bit dedicated server gebruikt.

Laten we beginnen.

De mod_evasive Apache-module. Het helpt bij het ondersteunen van Distributed Denial of Service (DoS & DDoS)-aanvallen en brute force-aanvallen op de Apache-webserver. De mod_evasive werkt door inkomende verzoeken te bewaken en misbruik te melden via e-mail en syslog-faciliteiten. Het is bedoeld als detectie- en netwerkbeheertool en is snel geconfigureerd om te communiceren met ipchains, firewalls, routers en meer.

De mod_evasive let op verdachte verzoeken en weigert elk enkel IP-adres van een van de volgende:

  • Meerdere keren per seconde dezelfde pagina opvragen
  • Meer dan 50 gelijktijdige verzoeken doen op hetzelfde kind per seconde
  • Verzoeken doen terwijl u tijdelijk op de zwarte lijst staat

Vereisten

  • CentOS 7 64-bit dedicated server of cloudserver (Het werkt ook met CentOS 6)
  • Apache Webserver LAMP (Linux, Apache, MySQL, PHP) geïnstalleerd en geconfigureerd
  • Mail server

1. Houd de server up-to-date:

# yum update -y

2. Installeer EPEL (Extra Pakketten voor Enterprise Linux):

# yum install epel-release -y

3. Installeer vereiste van mod_evasive:

# yum install httpd-devel

4. Installeer mod_evasive:

# yum install mod_evasive -y

Nu is mod_evasive geïnstalleerd

5. Om de mod_evasive-configuratie toe te voegen aan uw Apache-configuratiebestand:

Standaard wordt de LoadModule- regel toegevoegd in het configuratiebestand mod_evasive.conf. Open het bestand en voeg de volgende regel toe als deze nog niet aanwezig is.

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

LoadModule evasive20_module modules/mod_evasive24.so

Open het configuratiebestand mod_evasive.conf en controleer de volgende items.

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

U kunt bovenstaande items configureren volgens uw vereisten. Wijzig DOSEmailNotify in uw e-mail-ID.

Voeg de volgende regel toe aan het configuratiebestand om het IP-adres op de witte lijst te zetten:

DOSWhitelist 127.0.0.1

DOSWhitelist 127.0.0.*

U kunt ook meerdere IP-adressen toevoegen.

Nog een invoer moet DOSLogDir wijzigen . Standaard verwijst het naar /tmp voor een vergrendelingsmechanisme.

Maak een nieuwe map aan in /var/log/ :

# mkdir /var/log/mod_evasive

Stel het eigendom in op apache-gebruiker:

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

Bewerk nu de volgende regel in de configuratie mod_evasive en wijzig het mappad:

DOSLogDir  /var/log/mod_evasive

Sla het configuratiebestand mod_evasive op en sluit het af.

Start vervolgens de Apache opnieuw:

# systemctl restart httpd.service

Dat is alles, mod_evasive geïnstalleerd en geconfigureerd.

Meer informatie over mod_evasive configuratieopties
Deze beschrijvingen van configuratieopties zijn rechtstreeks overgenomen uit het README-bestand.

DOSHashTabelgrootte

De hashtabelgrootte definieert het aantal knooppunten op het hoogste niveau voor de hashtabel van elk kind. Als u dit aantal verhoogt, krijgt u snellere prestaties door het aantal iteraties dat nodig is om bij de record te komen, te verminderen, maar verbruikt u meer geheugen voor tabelruimte. U moet dit verhogen als u een drukke webserver heeft. De waarde die u opgeeft, wordt automatisch gelaagd tot het volgende priemgetal in de lijst met priemgetallen (zie mod_evasive.c voor een lijst met gebruikte primers).

DOSpageCount

Dit is de drempel voor het aantal verzoeken voor dezelfde pagina (of URI) per pagina-interval. Zodra de drempel voor dat interval is overschreden, wordt het IP-adres van de klant toegevoegd aan de blokkeerlijst.

DOSSiteCount

Dit is de drempelwaarde voor het totale aantal aanvragen voor een object door dezelfde client op dezelfde listener per site-interval. Zodra de drempel voor dat interval is overschreden, wordt het IP-adres van de klant toegevoegd aan de blokkeerlijst.

DOSPaginaInterval

Het interval voor de drempel voor het aantal pagina's; standaard ingesteld op intervallen van 1 seconde.

DOSSiteInterval

Het interval voor de drempelwaarde voor het aantal sites; standaard ingesteld op intervallen van 1 seconde.

DOSBlockingPeriode

De blokkeringsperiode is de hoeveelheid tijd (in seconden) waarvoor een klant wordt geblokkeerd als deze wordt toegevoegd aan de blokkeringslijst. Gedurende deze tijd zullen alle volgende verzoeken van de klant resulteren in een 403 (Verboden) en wordt de timer gereset (bijv. nog eens 10 seconden). Omdat de timer bij elke volgende aanvraag opnieuw wordt ingesteld, is een lange blokkeringsperiode niet nodig; in het geval van een DoS-aanval wordt deze timer steeds opnieuw ingesteld.

DOSEmailNotify

Als deze waarde is ingesteld, wordt er een e-mail verzonden naar het opgegeven adres wanneer een IP-adres op de zwarte lijst komt te staan. Een vergrendelingsmechanisme dat /tmp gebruikt, voorkomt dat continue e-mails worden verzonden.

Opmerking:

Zorg ervoor dat MAILER correct is ingesteld in mod_evasive.c (of mod_evasive20.c). De standaardwaarde is "/bin/mail -t %s" waarbij %s wordt gebruikt om het bestemmings-e-mailadres aan te duiden dat in de configuratie is ingesteld. Als u op linux of een ander besturingssysteem met een ander type mailer draait, moet u dit wijzigen.

DOSSystemCommand

Als deze waarde is ingesteld, wordt de opgegeven systeemopdracht uitgevoerd wanneer een IP-adres op de zwarte lijst komt te staan. Dit is ontworpen om systeemaanroepen naar ip-filter of andere tools mogelijk te maken. Een vergrendelingsmechanisme met /tmp voorkomt continue systeemoproepen. Gebruik %s om het IP-adres van het IP-adres op de zwarte lijst aan te duiden.

DOSLogDir

Kies een alternatieve tijdelijke map.
Standaard wordt "/tmp" gebruikt voor het vergrendelingsmechanisme, dat enkele beveiligingsproblemen veroorzaakt als uw systeem openstaat voor shell-gebruikers. In het geval dat je niet-geprivilegieerde shell-gebruikers hebt, wil je een map maken die alleen kan worden geschreven naar de gebruiker die Apache draait als (meestal root), en dit vervolgens instellen in je httpd.conf.

In dit artikel hebben we besproken hoe onze ondersteuningstechnicus mod_evasive installeert en configureert om DoS- en DDoS-aanvallen op CentOS te voorkomen.


Hoe u de sorteerfout utf8mb4_0900_ai_ci kunt oplossen bij het importeren van de WordPress-database

Hoe u de sorteerfout utf8mb4_0900_ai_ci kunt oplossen bij het importeren van de WordPress-database

Als u uw WordPress-installatie overschakelt van een MySQL 8-server naar MySQL 5.7 (of lager), zult u hoogstwaarschijnlijk

Klassieke editor instellen als de standaardeditor in WordPress in plaats van Gutenberg

Klassieke editor instellen als de standaardeditor in WordPress in plaats van Gutenberg

De Gutenberg-editor wordt binnenkort de standaardeditor in WordPress. Je hebt de mogelijkheid om de klassieke editor te selecteren

Mapitems vernieuwen in Windows 11

Mapitems vernieuwen in Windows 11

Nu de optie Vernieuwen in het contextmenu ontbreekt, kunt u als volgt items vernieuwen in Verkenner op Windows 11.

Hoe WordPress 5.0-problemen op te lossen

Hoe WordPress 5.0-problemen op te lossen

De WordPress 5.0 wordt eindelijk uitgerold en brengt een geheel nieuwe bewerkingservaring met de Gutenberg

Hoe Block Editor uit te schakelen en Classic Editor te installeren in WordPress 5.0

Hoe Block Editor uit te schakelen en Classic Editor te installeren in WordPress 5.0

Vanaf WordPress 5.0 is de standaardeditor op WordPress de nieuwe Block-editor. De nieuwe editor is radicaal anders

🔧 FIX: uw PHP-installatie lijkt de MySQL-extensie te missen die wordt vereist door WordPress

🔧 FIX: uw PHP-installatie lijkt de MySQL-extensie te missen die wordt vereist door WordPress

Op zoek naar een zelfbeheerde WordPress-site? Super goed. Je zult een ontelbaar aantal dingen leren. Een van de cruciale onderdelen van de instelling

FIX: De editor is een onverwachte fout tegengekomen in WordPress na update

FIX: De editor is een onverwachte fout tegengekomen in WordPress na update

Kunt u geen nieuw bericht schrijven met de nieuwe Block Editor in WordPress? De kans is groot dat je "De redacteur" krijgt

Hoe korte PHP-tags in te schakelen

Hoe korte PHP-tags in te schakelen

In dit artikel hebben we besproken hoe u korte PHP-tags kunt inschakelen. PHP ontleedt het bestand met behulp van openings- en sluitingstags, die eruitzien als . Korte PHP-tags inschakelen

Configureer mod_evasive om DoS- en DDoS-aanvallen op CentOS te voorkomen

Configureer mod_evasive om DoS- en DDoS-aanvallen op CentOS te voorkomen

In dit artikel leren we hoe je mod_evasive installeert en configureert om DoS- en DDoS-aanvallen op CentOS te voorkomen. De mod_evasive Apache-module.

Hoe PHP te installeren met PHP-FPM voor NGINX op CentOS

Hoe PHP te installeren met PHP-FPM voor NGINX op CentOS

hoe PHP te installeren met PHP-FPM voor NGINX op CentOS. De basisconfiguratie van de NGINX-webserver om de PHP-applicatie te verwerken en te serveren op poort 80.