Установка mod_evasive на CentOS 7

Несмотря на то, что CentOS 7 более не поддерживается, она еще используется и под нее существуют ветки, а также ISO образы. Поэтому инструкции для CentOS все еще актуальны.

Если вы размещаете веб-сайт или веб-приложение, вы, вероятно, уже сталкивались с DoS-атакой или атакой подбора паролей, Mod_Evasive — это модуль, который обеспечивает уклонение в случае HTTP-DoS (не DDoS) или атак подбора пароля. Он также разработан как средство обнаружения и может быть легко настроен для сопряжения с межсетевым экраном, маршрутизатором или даже электронной почтой в определенных обстоятельствах.

В этом руководстве мы собираемся включить модуль mod_evasive на Apache, и мы собираемся сделать это с помощью расширения Apache.

ПРИМЕЧАНИЕ: Если ваш Apache был скомпилирован из исходного кода, вы должны убедиться, что модуль «mod_so» также был скомпилирован в него. в противном случае вы не сможете добавлять сторонние модули в свой Apache. вы можете проверить свои включенные модули с помощью следующей команды:
apachectl -M | grep mod_so

Установка зависимостей

Поскольку мы собираемся собрать mod_evasive из исходного кода, нам потребуются следующие установленные пакеты:
yum install httpd-devel -y
yum groupinstall "Development Tools" -y

Скачивание и сборка mod_evasive

Перейдите в каталог opt, чтобы получить исходный код mod_evasive из Github:
cd /opt/
Выполните следующую команду, чтобы загрузить исходный код:
wget https://codeload.github.com/shivaas/mod_evasive/zip/master
Разархивируйте исходный код с помощью следующей команды:
unzip master
Теперь перейдите в каталог:
cd mod_evasive-master
В этом разделе мы собираемся использовать инструмент apxs, который является очень полезным инструментом для добавления динамических общих объектов в уже работающий Apache. поэтому выполните следующую команду, чтобы добавить модуль mod_evasive:
apxs -i -c -a mod_evasive24.c
Если вы все сделали правильно, вы не увидите никаких ошибок. Чтобы изменения вступили в силу, перезапустите службу Apache:
systemctl restart httpd
Вы можете проверить, что модуль mod_evasive запущен и работает, с помощью следующей команды:
apachectl -M | grep evasive
Вы должны увидеть результат, как показано ниже:
evasive24_module (shared)

Конфигурация mod_evasive

Вы можете добавить свою конфигурацию в файл httpd.conf:
nano /etc/httpd/conf/httpd.conf
Вы должны разместить конфигурацию, как в следующем примере:
<IfModule mod_evasive24.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify <YOU@YOURMAIL.COM>
</IfModule>
Чтобы начать работу с конфигурацией и параметрами Mod_Evasive, вы можете прочитать файл README, расположенный в исходном каталоге:
cat /opt/mod_evasive/README.md
Вы можете посетить официальную страницу Mod_Evasive на Github, чтобы получить дополнительную информацию и новости!