Apache ModSecurity, OWASP с плагином WordPress и Roundcube – как разделить это между виртуальными хостами?

Вопрос или проблема

  • Apache/2.4.62 (Debian)
  • ModSecurity 2.9.7-1+b1
  • OWASP coreruleset-4.6.0

Я защитил свой веб-сервер Apache с помощью ModSecurity и набора правил OWASP. Это работает очень хорошо, и тест на SQL-инъекцию также успешно обнаруживается и отклоняется.

Теперь у меня несколько виртуальных хостов. Некоторые используют WordPress, один использует Roundcube, а некоторые просто используют обычные HTML-страницы без ничего за ними.

Как я могу настроить так, чтобы плагин OWASP для WordPress использовался только для виртуальных хостов с установкой WordPress, а плагин OWASP для Roundcube – только для хоста Roundcube, а все остальные хосты использовали стандартный набор правил?

Ответ или решение

Вопрос, который вы подняли, касается настройки Apache с использованием ModSecurity и OWASP для разных виртуальных хостов, что является важным аспектом обеспечения безопасности веб-приложений. Давайте подробно рассмотрим, как можно разделить конфигурацию между виртуальными хостами для WordPress, Roundcube и простых HTML-страниц.

Шаг 1: Установка и базовая настройка

Для начала убедитесь, что ваш веб-сервер настроен правильно. У вас уже установлены:

  • Apache/2.4.62 (Debian)
  • ModSecurity 2.9.7-1+b1
  • OWASP core ruleset 4.6.0

После успешной установки и тестирования базовой конфигурации, можно переходить к более детальной настройке.

Шаг 2: Определение структуры виртуальных хостов

Вам необходимо понимать, как у вас организованы виртуальные хосты. Например, ваша структура может выглядеть следующим образом:

<VirtualHost *:80>
    ServerName wordpress.example.com
    DocumentRoot /var/www/wordpress
</VirtualHost>

<VirtualHost *:80>
    ServerName roundcube.example.com
    DocumentRoot /var/www/roundcube
</VirtualHost>

<VirtualHost *:80>
    ServerName static.example.com
    DocumentRoot /var/www/static
</VirtualHost>

Шаг 3: Настройка конфигурации ModSecurity

Вам потребуется использовать директивы Include или Require для задания определенных правил ModSecurity для каждого виртуального хоста.

  1. WordPress: Здесь вы будете использовать специфические правила для защиты WordPress, такие как запрет на SQL-инъекции, обработку запросов к темам и плагинам.
<VirtualHost *:80>
    ServerName wordpress.example.com
    DocumentRoot /var/www/wordpress

    <IfModule mod_security2.c>
        SecRuleEngine On
        Include /etc/modsecurity/owasp-crs/crs-setup.conf
        Include /etc/modsecurity/owasp-crs/rules/*.conf
        Include /etc/modsecurity/wordpress-rules.conf  # Ваши специфические правила для WordPress
    </IfModule>
</VirtualHost>
  1. Roundcube: Для Roundcube можно использовать отдельные правила, которые будут специально адаптированы для защиты этого веб-приложения.
<VirtualHost *:80>
    ServerName roundcube.example.com
    DocumentRoot /var/www/roundcube

    <IfModule mod_security2.c>
        SecRuleEngine On
        Include /etc/modsecurity/owasp-crs/crs-setup.conf
        Include /etc/modsecurity/owasp-crs/rules/*.conf
        Include /etc/modsecurity/roundcube-rules.conf  # Ваши специфические правила для Roundcube
    </IfModule>
</VirtualHost>
  1. Статические страницы: Эти виртуальные хосты могут воспользоваться менее строгим набором правил, чтобы не перегружать сервер без необходимости.
<VirtualHost *:80>
    ServerName static.example.com
    DocumentRoot /var/www/static

    <IfModule mod_security2.c>
        SecRuleEngine On
        Include /etc/modsecurity/owasp-crs/crs-setup.conf
        Include /etc/modsecurity/owasp-crs/rules/*.conf
        # Обычные правила без специфических настроек
    </IfModule>
</VirtualHost>

Шаг 4: Инициализация правил

После изменения конфигурации не забудьте перезагрузить Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Заключение

Таким образом, вы можете достаточно легко управлять специфическими правилами для различных приложений, обеспечивая при этом безопасность вашего веб-сервера. Использование ModSecurity с правилом OWASP для каждого виртуального хоста, самостоятельно адаптированного под конкретный тип приложения, поможет вам минимизировать риски и защитить ваши веб-ресурсы.

Если у вас остались какие-либо вопросы или необходима дополнительная помощь в настройке, не стесняйтесь обращаться к профессионалам в области веб-безопасности.

Оцените материал
Добавить комментарий

Капча загружается...