Установка mod_evasive на CentOS 7
Несмотря на то, что CentOS 7 более не поддерживается, она еще используется и под нее существуют ветки, а также ISO образы. Поэтому инструкции для CentOS все еще актуальны.
Если вы размещаете веб-сайт или веб-приложение, вы, вероятно, уже сталкивались с DoS-атакой или атакой подбора паролей, Mod_Evasive — это модуль, который обеспечивает уклонение в случае HTTP-DoS (не DDoS) или атак подбора пароля. Он также разработан как средство обнаружения и может быть легко настроен для сопряжения с межсетевым экраном, маршрутизатором или даже электронной почтой в определенных обстоятельствах.
В этом руководстве мы собираемся включить модуль mod_evasive на Apache, и мы собираемся сделать это с помощью расширения Apache.
ПРИМЕЧАНИЕ: Если ваш Apache был скомпилирован из исходного кода, вы должны убедиться, что модуль «mod_so» также был скомпилирован в него. в противном случае вы не сможете добавлять сторонние модули в свой Apache. вы можете проверить свои включенные модули с помощью следующей команды:
Если вы размещаете веб-сайт или веб-приложение, вы, вероятно, уже сталкивались с 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, чтобы получить дополнительную информацию и новости!