Защитите Apache от атак грубой силы или DDoS с помощью модулей Mod_Security и Mod_evasive.

  1. Шаг 1. Установка брандмауэра Iptables на RHEL / CentOS 7 и Fedora 21
  2. Шаг 2: Установка Mod_Security и Mod_evasive

Для тех из вас, кто занимается хостингом, или если вы размещаете свои собственные серверы и открываете их для Интернета, защита ваших систем от злоумышленников должна быть первоочередной задачей.

mod_security ( механизм обнаружения и предотвращения вторжений с открытым исходным кодом для веб-приложений, который легко интегрируется с веб-сервером) и mod_evasive - два очень важных инструмента, которые можно использовать для защиты веб-сервера от перебора или (D) DoS-атак.

Читайте также : Как установить Linux Malware Detect с ClamAV в качестве антивирусного движка

mod_evasive , как следует из его названия, обеспечивает уклоняющиеся возможности во время атаки, выступая в роли зонтика, который защищает веб-серверы от таких угроз.

mod_evasive , как следует из его названия, обеспечивает уклоняющиеся возможности во время атаки, выступая в роли зонтика, который защищает веб-серверы от таких угроз

Установите Mod_Security и Mod_Evasive для защиты Apache

В этой статье мы обсудим, как установить, настроить и использовать их вместе с Apache для RHEL / CentOS 6 и 7, а также Fedora 21-15 . Кроме того, мы смоделируем атаки, чтобы убедиться, что сервер реагирует соответствующим образом.

Это предполагает, что в вашей системе установлен сервер LAMP. Если нет, пожалуйста, проверьте эту статью, прежде чем продолжить.

  1. Установите стек LAMP в RHEL / CentOS 7

Вам также нужно будет настроить iptables в качестве внешнего интерфейса брандмауэра по умолчанию вместо firewalld Если вы используете RHEL / CentOS 7 или Fedora 21. Мы делаем это для того, чтобы использовать один и тот же инструмент в RHEL / CentOS 7/6 и Fedora 21 .

Шаг 1. Установка брандмауэра Iptables на RHEL / CentOS 7 и Fedora 21

Для начала остановите и отключите firewalld :

# systemctl stop firewalld # systemctl отключить firewalld # systemctl stop firewalld # systemctl отключить firewalld

Отключить службу Firewalld

Затем установите пакет iptables-services перед включением iptables :

# yum update && yum install iptables-services # systemctl включить iptables # systemctl запустить iptables # systemctl status iptables # yum update && yum install iptables-services # systemctl включить iptables # systemctl запустить iptables # systemctl status iptables

Установите Iptables Firewall

Шаг 2: Установка Mod_Security и Mod_evasive

В дополнение к настройке LAMP уже на месте, вам также придется включить репозиторий EPEL в RHEL / CentOS 7/6 для установки обоих пакетов. Пользователям Fedora не нужно включать репо, потому что epel уже является частью проекта Fedora.

# yum update && yum install mod_security mod_evasive

Когда установка будет завершена, вы найдете файлы конфигурации для обоих инструментов в /etc/httpd/conf.d .

# ls -l /etc/httpd/conf.d # ls -l /etc/httpd/conf

Конфигурации mod_security + mod_evasive

Теперь, чтобы интегрировать эти два модуля с Apache и загрузить их при запуске, убедитесь, что в разделе верхнего уровня mod_evasive.conf и mod_security.conf , соответственно, отображаются следующие строки:

LoadModule модули evasive20_module / mod_evasive24.so LoadModule модули security2_module / mod_security2.so

Обратите внимание, что modules / mod_security2.so и modules / mod_evasive24.so являются относительными путями от каталога / etc / httpd до исходного файла модуля. Вы можете проверить это (и изменить его, если необходимо), перечислив содержимое каталога / etc / httpd / modules :

# cd / etc / httpd / modules # pwd # ls -l | grep -Ei '(уклончиво | безопасность)' # cd / etc / httpd / modules # pwd # ls -l |  grep -Ei '(уклончиво | безопасность)'

Проверьте модули mod_security + mod_evasive

Затем перезапустите Apache и убедитесь, что он загружает mod_evasive и mod_security :

# service httpd restart [В RHEL / CentOS 6 и Fedora 20-18] # systemctl restart httpd [В RHEL / CentOS 7 и Fedora 21] [Создать список загруженных статических и общих модулей] # httpd -M | grep -Ei '(уклончиво | безопасность)' # service httpd restart [В RHEL / CentOS 6 и Fedora 20-18] # systemctl restart httpd [В RHEL / CentOS 7 и Fedora 21] [Создать список загруженных статических и общих модулей] # httpd -M |  grep -Ei '(уклончиво | безопасность)'

Проверьте mod_security + mod_evasive Загруженные модули