Настройка ModSecurity в Apache

ModSecurity — это WAF(web application firewall), т.е. файервол для веб-приложений. Его смысл заключается в том, что он проверяет все приходящие на веб-сервер запросы и отфильтровывает те из них, которые соответствуют правилам безопасности. WAF может предотвратить атаки самого разного рода — инъекции (инжекты) в базы данных, межсайтовый скриптинг.

В разных дистрибутивах название приложения в портах отличается, например в Хостинг VPS/VDS на Ubuntu 12.04: libapache2-modsecurity; в Операционная система Debian 6: libapache-mod-security.

Начиная со второй версии модуля изменился синтаксис конфигурационного файла, поэтому многие HowTo устарели: ModSecurity Migration Matrix

Environment Debian 6.0.10 (squeeze), libapache-mod-security 2.5.12.

  • Инсталляция. Проверка загружен ли модуль.
    aptitude install libapache-mod-security
    apachectl -M | grep --color security
  • Пример конфигурации. Копируем его в директорию /etc/apache2/conf.d изменяя расширение на .conf
    locate modsecurity.conf
    /usr/share/doc/mod-security-common/examples/modsecurity.conf-minimal
     
    cp modsecurity.conf-minimal /etc/apache2/conf.d/modsecurity.conf
  • Настройка mod_security. Базовые настройкиб.
    modsecurity.conf
    # Включить (On) или выключить (Off) механизм фильтрации
    SecRuleEngine On
    # Механизм аудита работает независимо и может быть включен (On) или
    # выключен (Off) на уровне сервера или директории
    SecAuditEngine RelevantOnly
    # Имя файла журнала для записи событий аудита
    SecAuditLog /var/log/apache2/modsec_audit.log
    # Имя файла журнала
    SecDebugLog /var/log/apache2/modsec_debug.log
    # Maximum request body size we will
    # accept for buffering
    SecRequestBodyLimit 131072
  • Для полного отключения mod_security
    a2dismod mod-security

    т в зависимости от настроек Apache может понадобиться перенести файл /etc/apache2/conf.d/modsecurity.conf перенести в другую директорию, чтобы Apache не пытался его подгрузить.

PQ VPS сервера в 28+ странах.