GNU/Linux >> Znalost Linux >  >> Ubuntu

Obraňte se proti DoS &DDoS na Apache s mod_evasive

Ú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 pro DOSPageCount . 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é jako DOSPageInterval , 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í.


Ubuntu
  1. Obraňte se proti DoS &DDoS na Apache s mod_evasive

  2. Zabezpečte Apache pomocí Lets Encrypt na Ubuntu 18.04

  3. Konfigurace Apache 2.4 s Fastcgi na Ubuntu 16.04 – Co mám dělat s Php7.0-fpm.conf?

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  3. Zabezpečte Apache pomocí Lets Encrypt na Ubuntu 20.04

  1. Zabezpečte Apache pomocí Lets Encrypt na CentOS 8

  2. Zabezpečte Apache pomocí Lets Encrypt na Debianu 9

  3. Zabezpečte Apache pomocí Lets Encrypt na Debianu 10