Белый список ссылок в modsecurity2

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

У меня есть сервер Apache2 / Ubuntu 22 и установленный WordPress. Я предполагаю, что mod security2 блокирует плагин Rank Math Seo, потому что я не могу сохранить настройки. Мне нужно внести в белый список следующие ссылки:

/wp-json/rankmath/v1/updateMeta
/wp-json/rankmath/v1/updateSchemas
/wp-json/rankmath/v1/updateRedirection
/wp-json/rankmath/v1/getFeaturedImageId
/wp-json/rankmath/v1/getHead

Я хотел попробовать добавить этот текст в файл конфигурации:

<Directory /home/site/location1>
SecRuleEngine Off
</Directory>

Но /etc/apache2/conf.d/modsec/modsec2.user.conf пустой. Как мне внести в белый список Rank Math Seo в mod security2?

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

Для решения проблемы с модулем ModSecurity2 на вашем сервере Apache2 с установленным WordPress, который блокирует функции плагина Rank Math SEO, необходимо выполнить несколько шагов для создания белого списка для конкретных URL.

Шаг 1: Проверьте установленные правила ModSecurity

Первоначально убедитесь, что у вас установлены необходимые правила ModSecurity. Вы можете просмотреть /etc/modsecurity/modsecurity.conf, чтобы убедиться, что модуль правильно настроен. Если конфигурация пуста или отсутствует, возможно, вам потребуется установить дополнительные правила (например, OWASP Core Rule Set).

Шаг 2: Создайте или измените файл конфигурации для исключений

Поскольку файл /etc/apache2/conf.d/modsec/modsec2.user.conf пуст, сделайте следующее:

  1. Создайте новый файл конфигурации: Вы можете создать отдельный файл для пользовательских правил ModSecurity. Например, создайте файл /etc/modsecurity/whitelist.conf:

    sudo nano /etc/modsecurity/whitelist.conf
  2. Добавьте правила для исключения: В этом файле добавьте следующие строки для белого списка нужных вам URL. Это возможно с использованием директив SecRule для отключения обработки ModSecurity для указанных API-эндпоинтов:

    SecRule REQUEST_URI "@streq /wp-json/rankmath/v1/updateMeta" "id:1000001,phase:1,pass,nolog,ctl:ruleRemoveById=981176"
    SecRule REQUEST_URI "@streq /wp-json/rankmath/v1/updateSchemas" "id:1000002,phase:1,pass,nolog,ctl:ruleRemoveById=981176"
    SecRule REQUEST_URI "@streq /wp-json/rankmath/v1/updateRedirection" "id:1000003,phase:1,pass,nolog,ctl:ruleRemoveById=981176"
    SecRule REQUEST_URI "@streq /wp-json/rankmath/v1/getFeaturedImageId" "id:1000004,phase:1,pass,nolog,ctl:ruleRemoveById=981176"
    SecRule REQUEST_URI "@streq /wp-json/rankmath/v1/getHead" "id:1000005,phase:1,pass,nolog,ctl:ruleRemoveById=981176"

    Здесь мы использовали идентификатор правила (id) и указали, что это будут исключения по сравнению с правилами, вызывающими проблемы. ruleRemoveById ссылается на правило, мешающее нормальной работе Rank Math (ссылка на конкретные правила может быть разной, проверьте журнал ошибок для иллюстрации), и отключает его.

Шаг 3: Включение пользовательских правил

Чтобы Apache использовал ваш новый файл конфигурации, нужно внести изменения в основной файл конфигурации Apache, который может находиться в /etc/apache2/sites-available/000-default.conf или аналогичном. Добавьте следующую строку:

IncludeOptional /etc/modsecurity/whitelist.conf

Шаг 4: Перезагрузка Apache

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

sudo systemctl restart apache2

Шаг 5: Тестирование настроек

Проверьте, работает ли ваш плагин Rank Math корректно после внесенных изменений. Вы также можете просмотреть журнал ModSecurity, чтобы убедиться, что правило больше не блокирует нужные запросы.

Заключение

Следуя указанным шагам, вы сможете успешно белый список для нужных URL в ModSecurity, что позволит вашему плагину Rank Math SEO работать без препятствий. Регулярно проверяйте настройки для обеспечения безопасности вашего сайта, и следите за обновлениями правил ModSecurity для своевременной адаптации к новым угрозам.

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

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