Úvod
Modul mod_evasive je modul webových služeb Apache, který pomáhá vašemu serveru zůstat v provozu v případě útoku. Běžný typ kybernetického útoku má podobu odmítnutí služby (DoS), distribuovaného odmítnutí služby (DDoS) nebo pokusu hrubou silou přemoci vaši bezpečnost.
Povahou těchto útoků je použití několika různých počítačů k opakování požadavků proti vašemu serveru. To způsobí, že serveru dojde výpočetní výkon, paměť, šířka pásma sítě a přestane reagovat.
Tato příručka vás provedekonfigurací a instalací mod_evasive pro ochranu před DoS a DDoS.
Předpoklady
- Nainstalovaný a nakonfigurovaný zásobník LAMP (Linux, Apache, MySQL, PHP)
- Přístup k uživatelskému účtu pomocí sudo nebo oprávnění root
- Fungující poštovní server (pro e-mailová upozornění)
Jak Apache mod_evasive funguje
mod_evasive Apache nástroj funguje tak, že sleduje příchozí požadavky serveru. Nástroj také sleduje podezřelou aktivitu z jedné IP adresy, například:
- Několik požadavků na stejnou stránku během jedné sekundy.
- Více než 50 současných požadavků za sekundu.
- Požadavky zadané v době, kdy je IP dočasně uvedena na černé listině.
Pokud dojde k některé z těchto věcí, modul odešle chybu 403. Ve výchozím nastavení to zahrnuje také 10sekundovou čekací dobu na černé listině. Pokud se IP adresa, která požaduje, pokusí znovu v tomto 10sekundovém okně, čekací doba se prodlouží.
mod_evasive pomáhá bránit se proti těmto druhům útoků prostřednictvím detekce a správy sítě.
Kroky k instalaci mod_evasive Apache Utility
Krok 1:Nainstalujte Apache Web Server Utility
Před instalací nástroje aktualizujte úložiště balíčků pomocí příkazu pro vaši distribuci Linuxu:
Debian / Ubuntu :
sudo apt update
RedHat / CentOS :
sudo yum update
Umožněte systému aktualizovat a aktualizovat seznamy softwaru.
Poté nainstalujte pomocný nástroj:
Debian / Ubuntu :
sudo apt install apache2-utils
RedHat / CentOS :
sudo yum install httpd-devel
Poslední část výstupu vypadá takto:
Tento nástroj je vyžadován pro instalacimod_evasive .
Krok 2:Nainstalujte mod_evasive
Debian / Ubuntu
Chcete-li nainstalovat mod_evasive modulu na Debian / Ubuntu, zadejte následující:
sudo apt install libapache2-mod-evasive
Až se zobrazí výzva, vyberte OK a vyberte svou konfiguraci.
Pokud si nejste jisti, vyberte Žádná konfigurace nebo Pouze místní
CentOS / RedHat
Chcete-li nainstalovat modul mod_evasive na RedHat / CentOS:
Přidejte úložiště EPEL:
sudo yum install epel-release
A poté zadejte:
sudo yum install mod_evasive
Nechte proces dokončit.
Krok 3:Konfigurace mod_evasive
Jako většina softwarových balíčků pro Linux i mod_evasive je řízen konfiguračním souborem. Proveďte následující změny v konfiguračním souboru jako první krok v prevenci DDoS útoků:
1. Použijte libovolný textový editor s následujícími příkazy:
Debian / Ubuntu :
sudo nano /etc/apache2/mods-enabled/evasive.conf
RedHat / CentOS :
sudo nano /etc/httpd/conf.d/mod_evasive.conf
2. Najděte následující položku:
#DOSEmailNotify [email protected]
Odstraňte #
podepište a poté nahraďte [email protected]
s vaší skutečnou e-mailovou adresou. Používejte e-mail, který pravidelně kontrolujete – na něj bude nástroj zasílat upozornění.
3. Odstraňte značku komentáře z následujících položek, takže soubor protokolu bude vypadat následovně:
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email protected]
DOSLogDir "/var/log/apache2/"
4. Uložte soubor a ukončete. Znovu načtěte službu Apache zadáním následujícího:
Debian / Ubuntu :
sudo systemctl reload apache2
RedHat / CentOS :
sudo systemctl restart httpd.service
Test mod_evasive
Nyní ověřte, zda modul funguje správně.
V tomto příkladu použijte test.pl skript pro testování mod_evasive.
Skript se nachází na adrese:/usr/share/doc/libapache2-mod-evasive/examples/test.pl .
Ke spuštění skriptu použijte následující příkaz:
perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Výstup by měl vrátit tuto zprávu:
Parametry a nastavení
Existuje mnoho parametrů mod_evasive, které můžete nakonfigurovat:
DOSSystemCommand
: Za prvé, možná jste si všimli, že tato možnost byla ponechána jako komentář deaktivovaná. Tento příkaz umožňuje zadat systémový příkaz, který se má spustit, když je IP adresa přidána na černou listinu. Toto můžete použít ke spuštění příkazu pro přidání IP adresy do firewallu nebo IP filtru.DOSHashTableSize
: Zvyšte tuto hodnotu u rušnějších webových serverů. Tato konfigurace přiděluje prostor pro provádění operací vyhledávání. Zvětšením velikosti se zvýší rychlost na úkor paměti.DOSPageCount
: Počet požadavků na jednotlivou stránku, které spouštějí černou listinu. Toto je nastaveno na 2, což je nízké (a agresivní) – zvyšte tuto hodnotu, abyste snížili počet falešně pozitivních výsledků.DOSSiteCount
: Celkový počet požadavků na stejný web se stejnou IP adresou. Ve výchozím nastavení je tato hodnota nastavena na 50. Můžete ji zvýšit na 100, abyste snížili počet falešně pozitivních výsledků.DOSPageInterval
: Počet sekund proDOSPageCount
. Ve výchozím nastavení je nastavena na 1 sekundu. To znamená, že pokud to nezměníte, žádost o 2 stránky za 1 sekundu dočasně zakáže IP adresu.DOSSiteInterval
: Podobné jakoDOSPageInterval
, tato možnost určuje počet sekund, po kteréDOSSiteCount
monitory. Ve výchozím nastavení je nastavena na 1 sekundu. To znamená, že pokud jedna IP adresa požaduje 50 zdrojů na stejném webu za jedinou sekundu, bude dočasně uvedena na černou listinu.DOSBlockingPeriod
: Doba, po kterou IP adresa zůstává na černé listině. Ve výchozím nastavení je nastaveno na 10 sekund, můžete to změnit na libovolnou hodnotu. Zvyšte tuto hodnotu, aby blokované adresy IP zůstaly v časovém limitu po delší dobu.DOSLogDir
: Ve výchozím nastavení je toto nastaveno pro zápis protokolů do /var/log/mod_evasive. Tyto protokoly lze později zkontrolovat a vyhodnotit chování klienta.
Pro uložení těchto protokolů přístupu k Apache můžete vytvořit nový adresář – ujistěte se, že jste změnili vlastníka na Apache, a poté aktualizujte umístění v tomto záznamu:
sudo mkdir /var/log/apache/mod_evasive
sudo chown -R apache:apache /var/log/apache/mod_evasive
sudo nano /etc/apache2/mods-enabled/evasive.conf
DOSLogDir "/var/log/apache/mod_evasive"
Adresy IP na seznam povolených: Tato možnost není součástí souboruevasive.conf f ile ve výchozím nastavení.
Znovu otevřete soubor pro úpravy a přidejte následující řádek:
DOSWhitelist 192.168.0.13
DOSWhitelist 192.168.0.*
Nahraďte IP adresu tou, kterou chcete přidat na seznam povolených. Také byste měli uvést pouze jeden záznam na řádek . To se obvykle používá u důvěryhodného klienta, který si s vaším webem vyměňuje velké množství dat.
Tento nástroj je dobrý při odhalování robotů a skriptů. Pokud existují roboti nebo skripty, které chcete povolit, můžete je přidat na bílou listinu, abyste těmto robotům a skriptům zabránili ve spuštění akce na černé listině.
Ujistěte se, že jste soubor uložili a ukončili. Poté znovu načtěte službu Apache, než otestujete kteroukoli z těchto možností.