Вопрос или проблема
У меня есть сервер 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
пуст, сделайте следующее:
-
Создайте новый файл конфигурации: Вы можете создать отдельный файл для пользовательских правил ModSecurity. Например, создайте файл
/etc/modsecurity/whitelist.conf
:sudo nano /etc/modsecurity/whitelist.conf
-
Добавьте правила для исключения: В этом файле добавьте следующие строки для белого списка нужных вам 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 для своевременной адаптации к новым угрозам.