Как да защитите срещу DDoS с Mod_evasive на Apache Server
Тази статия е част от серията Ръководство за Apache Server:
- Осигуряване на Apache на Ubuntu - Част 1
- Осигуряване на Apache на Ubuntu - Част 2
- Оптимизиране на ефективността на Apache - Част 1
- Оптимизиране на ефективността на Apache - Част 2
- Настройване на Apache на
- Настройване на IP и Port-базирани Virtualhost в Apache
- Как да настроите паролата за защита на уеб директорията в Apache
- Настройване на Apache Server със SSL поддръжка на Ubuntu
- Създаване на Fail2ban за защита на Apache от DDOS атака
- Как да настроите Webdata с Apache на Ubuntu
- Следете уеб сървъра на Apache, използвайки Mod_status
- Как да защитите срещу DDoS с Mod_evasive на Apache Server
Mod_evasive е модул на Apache, който осигурява уклончиво действие в случай на атака на HTTP DoS или DDoS или атака на груба сила. mod_evasive понастоящем съобщава за злонамерена дейност чрез имейл и syslog. Модулът mod_evasive работи, като създава вътрешна динамична хеш таблица с IP адреси и URI и отказва всеки единствен IP адрес от някое от следните условия:
- Искане на една и съща страница повече от няколко пъти в секунда
- Осъществяване на повече от 50 едновременни заявки за същото дете в секунда
- Извършване на всякакви искания, докато са временно включени в черния списък (в блокиращ списък)
В този урок ще обсъдя как да инсталирате, конфигурирате и използвате mod_evasive на вашия Apache сървър. Този урок използва сървър на Ubuntu 14.04.
Инсталиране на mod_evasive
Първо, уверете се, че сървърът на Apache е инсталиран и работи.
След това можете да инсталирате модула mod_evasive, като стартирате:
sudo apt-get инсталирате libapache2-mod-evasive
След като инсталирате mod_evasive, можете да проверите този модул, като изпълните следните команди:
sudo apachectl -M | grep evasive
Ако mod_evasive е активиран, ще видите следния изход:
evasive20_module (споделен)
Конфигуриране на Mod_evasive
Модулът mod_evasive прочита конфигурацията си от "/etc/apache2/mods-enabled/evasive.conf". Можете лесно да персонализирате mod_evasive модула чрез конфигурационния файл "evasive.conf". По подразбиране опциите за конфигурация mod_evasive са деактивирани, така че първо трябва да ги активирате. За да направите това, редактирайте файла "evasive.conf":
sudo nano /etc/apache2/mods-enabled/evasive.conf
Премахнете #
от следните редове:
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] DOSLogDir "/ var / log / apache2 /
Запишете файла и рестартирайте Apache, за да влязат в сила промените ви:
sudo /etc/init.d/apache2 рестартирайте
Можете да промените горните стойности в зависимост от количеството и вида трафик, които уеб сървърът ви трябва да работи.
DOSHashTableSize :
Тази директива определя как mod_evasive следи кой има достъп до това. Увеличаването на този брой ще осигури по-бързо търсене на сайтовете, които клиентът е посетил в миналото.
DOSPageCount :
Тази директива определя колко идентични заявки към конкретен URI посетител може да направи през интервала DOSPageInterval.
DOSSiteCount :
Това е подобно на DOSPageCount, но съответства на броя на заявките, които посетителят може да направи на сайта Ви през интервала DOSSiteInterval.
DOSBlockingPeriod :
Ако посетителят надхвърли ограниченията, зададени от DOSSPageCount или DOSSiteCount, неговият IP адрес ще бъде блокиран по време на DOSBlockingPeriod. През този интервал той ще получи грешка 403 (забранена).
DOSEmailNotify :
Имейл адресът ще бъде изпратен на имейл адреса, посочен при всяко DOSEmailNotify :
на IP адрес.
DOSLogDir :
Тази директива определя местоположението на дневника.
Тестване
Сега е време да проверите дали mod_evasive модула работи или не. Можете да направите това, като използвате скрипт Perl "test.pl", намиращ се в директорията "/ usr / share / doc / libapache2-mod-evasive / examples /".
Можете да изпълните скрипта, като изпълните следната команда:
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Трябва да видите следния изход:
Скриптът прави 100 заявки към вашия уеб сървър. Кодът за отговор 403 показва, че достъпът се отхвърля от уеб сървъра.
заключение
mod_evasive е много важен инструмент за защита на уеб сървър на Apache срещу няколко заплахи. Можете да експериментирате с mod_evasive yes различни опции в среда за тестване. Ако имате някакви въпроси, можете да ги напишете в полето за коментари по-долу.