My Application
Главная
Категории
Статьи
Комментарии
Медиа
Login
Главная
Статьи
Редактировать статью #27
Название статьи
SEO заголовок
Категория
Выберите
PHP
Bitrix
Yii2
Разное
Astra Linux
Astra ALD Pro
RuPost
Astra VManager
JavaScript
WordPress
1С
Текст
При включенном mod_security могут быть ограничены некоторые функции Wordpress. Особенно, это касается отправки форм, работы визуальных редакторов тем, вроде Avada, Elementor и др. При ложном срабатывании, вместо сайта можно увидеть ошибку <b>403</b>, а в логах будут записи вида: <pre><code class="language-powershell">[Fri Sep 19 10:58:49.000264 2020] [security2:error] [pid 121742] [client 127.0.0.1:52474] [client 127.0.0.1] ModSecurity: Warning. Matched phrase "Stack trace:" at RESPONSE_BODY. [file "/usr/share/modsecurity-crs/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf"] [line "46"] [id "953100"] [msg "PHP Information Leakage"] [data "Matched Data: Stack trace: found within RESPONSE_BODY: <br />\\x0a<b>Fatal error</b>: Uncaught Exception: URL rejected: Malformed input to a URL function in /var/www/html/test.php:30\\x0aStack trace:\\x0a#0 {main}\\x0a thrown in <b>/var/www/html/test.php</b> on line <b>30</b><br />\\x0a"] [severity "ERROR"] [ver "OWASP_CRS/3.3.5"] [tag "application-multi"] [tag "language-php"] [tag "platform-multi"] [tag "attack-disclosure"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/118/116"] [tag "PCI/6.5.6"] [hostname "example.ru"] [uri "/test.php"] [unique_id "aM0NOFD7q-0qSwJbWW7NhgAAAAc"] [Fri Sep 15 10:58:49.000371 2020] [security2:error] [pid 121742] [client 127.0.0.1:52474] [client 127.0.0.1] ModSecurity: Access denied with code 403 (phase 4). Operator GE matched 4 at TX:outbound_anomaly_score. [file "/usr/share/modsecurity-crs/rules/RESPONSE-959-BLOCKING-EVALUATION.conf"] [line "77"] [id "959100"] [msg "Outbound Anomaly Score Exceeded (Total Score: 4)"] [ver "OWASP_CRS/3.3.5"] [tag "anomaly-evaluation"] [hostname "example.ru"] [uri "/test.php"] [unique_id "aM0NOFD7q-0qSwJbWW7NhgAAAAc"] [Fri Sep 15 10:58:49.000603 2020] [security2:error] [pid 121742] [client 127.0.0.1:52474] [client 127.0.0.1] ModSecurity: Warning. Operator GE matched 4 at TX:outbound_anomaly_score. [file "/usr/share/modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf"] [line "103"] [id "980140"] [msg "Outbound Anomaly Score Exceeded (score 4): individual paranoia level scores: 4, 0, 0, 0"] [ver "OWASP_CRS/3.3.5"] [tag "event-correlation"] [hostname "example.ru"] [uri "/test.php"] [unique_id "aM0NOFD7q-0qSwJbWW7NhgAAAAc"] </code></pre> Здесь мы можем видеть номер правила, которое сработало - <b>953100</b> И URL, на котором произошло срабатывание - <b>/test.php</b> Если есть уверенность, что это ложное срабатывание и оно мешает нормальной работе сайта, его можно добавить в исключения. <h5>Для конкретного URL</h5> Открываем или создаём новый файл <b>/etc/apache2/conf-enabled/whitelist.conf</b> и добавляем: <pre><code class="language-powershell">< LocationMatch "/test.php"> SecRuleRemoveById 953100 < /LocationMatch> </code></pre> <h5>Для всего сайта целиком</h5> Открываем файл нашего виртуального хоста <b>/etc/apache2/sites-enabled/000-default.conf</b> После строчки SecRuleEngine On добавляем: <pre><code class="language-powershell">SecRuleRemoveById 953100</code></pre> <h5>Рекомендуемые настройки для нормальной работы Wordpress</h5> Добавляем в <b>/etc/apache2/conf-enabled/whitelist.conf</b> <pre><code class="language-powershell"><LocationMatch "/wp-admin/theme-editor.php"> SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 980130 941310 951240 </LocationMatch> <LocationMatch "/wp-admin/admin-ajax.php"> SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 981173 980130 941310 951240 </LocationMatch> <LocationMatch "/wp-admin/admin.php"> SecRuleRemoveById 951240 </LocationMatch></code></pre> И глобально отключаем правила в 000-default.conf: <pre><code class="language-powershell">SecRuleRemoveById 933120 941310</code></pre> А так же, открываем файл настроек CRC <b>/etc/modsecurity/crs/crs-setup.conf</b>, поиском находим блок с фразой "crs_exclusions_wordpress=1" и приводим к следующему виду: <pre><code class="language-powershell">SecAction \ "id:900130,\ phase:1,\ nolog,\ pass,\ t:none,\ setvar:tx.crs_exclusions_wordpress=1" </code></pre> Изначально данный блок закомментирован. Снимаем комментирование и не забываем в конце оставить двойные кавычки, как показано на примере выше. Все остальные строки для drupal, cpanel и так далее, оставляем закомментированными (если они у вас не установлены).
SEO Описание
Статус
Включено
Отключено
Сохранить
Закрыть
Удалить