Apache modul mod_evasive je nástroj určený k ochraně webových serverů před útoky typu Denial of Service (DoS) a Distributed Denial of Service (DDoS). Tento modul funguje tak, že detekuje a blokuje nadměrné požadavky na server z jednoho nebo více IP adres, čímž předchází zahlcení serveru.
Jak mod_evasive funguje
Modul mod_evasive sleduje počet požadavků na server z jednotlivých IP adres v daném časovém intervalu. Pokud dojde k překročení předem definovaného počtu požadavků v krátkém čase, mod_evasive danou IP adresu dočasně zablokuje. Tento přístup zabraňuje přetížení serveru a snižuje riziko úspěšného DDoS útoku.
Instalace mod_evasive na Apache server
Příprava serveru
Nejprve je třeba zajistit, aby byl Apache server aktualizován a připraven pro instalaci modulu. Spustíte následující příkazy:
sudo apt update
sudo apt install apache2
Instalace mod_evasive
Modul lze snadno nainstalovat pomocí balíčku libapache2-mod-evasive. Instalace probíhá následovně:
sudo apt install libapache2-mod-evasive
Aktivace modulu
Po instalaci je nutné modul aktivovat příkazem:
sudo a2enmod evasive
Následně restartujte Apache server:
sudo systemctl restart apache2
Konfigurace mod_evasive
Po úspěšné instalaci a aktivaci modulu je nutné provést jeho konfiguraci. Konfigurační soubor se obvykle nachází v adresáři /etc/apache2/mods-available/evasive.conf
.
Zde je základní příklad konfigurace:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
DOSSystemCommand "/usr/local/bin/ban.sh %s"
</IfModule>
Vysvětlení základních parametrů:
- DOSHashTableSize – Velikost hašovací tabulky používané pro sledování jednotlivých IP adres. Čím větší hodnota, tím přesnější detekce.
- DOSPageCount – Maximální počet požadavků na jednu stránku během daného intervalu.
- DOSSiteCount – Maximální počet požadavků na celý web během daného intervalu.
- DOSPageInterval a DOSSiteInterval – Časové intervaly, během kterých jsou požadavky sledovány (v sekundách).
- DOSBlockingPeriod – Doba, po kterou je IP adresa blokována (v sekundách).
- DOSEmailNotify – E-mailová adresa správce, na kterou budou odesílána upozornění o blokovaných IP adresách.
- DOSSystemCommand – Příkaz, který bude spuštěn po detekci útoku (například skript pro blokování IP adresy na firewallu).
Výhody mod_evasive
- Jednoduchost implementace – Modul je snadno instalovatelný a konfigurovatelný bez potřeby složitého nastavení.
- Efektivní ochrana – mod_evasive nabízí rychlou a účinnou ochranu proti DDoS útokům malého a středního rozsahu.
- Flexibilita – Díky možnosti přizpůsobit si nastavení jednotlivých parametrů můžete modul nakonfigurovat podle specifických potřeb vašeho serveru.
Nevýhody mod_evasive
- Omezená ochrana – Modul není navržen pro ochranu proti velkým DDoS útokům, které vyžadují pokročilejší řešení, například služby ochrany na úrovni sítě.
- Možnost falešných poplachů – Při nesprávné konfiguraci může modul blokovat legitimní uživatele, kteří provádějí více požadavků v krátkém čase.
Závěr
Modul mod_evasive je cenným nástrojem pro ochranu Apache serverů před DoS a DDoS útoky. Jeho jednoduchá instalace a konfigurace umožňuje rychlou implementaci základní ochrany. I když není určen pro ochranu před masivními DDoS útoky, pro menší a střední Webové stránky nabízí efektivní řešení, jak předcházet přetížení serveru.