Блок `//xmlrpc.php`

Блок `//xmlrpc.php`

Я получаю десятки тысяч (вероятно вредоносных) обращений к Apache, которые приводят к падению сервера. Все обращения выглядят в журнале Apache примерно так:

[30/Jan/2022:21:57:41 +0000] "POST //xmlrpc.php HTTP/1.1" 200 630 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"

(Обратите внимание на двойной слеш.. Я не знаю, что это значит.)

Я добавил следующее правило в .htaccess, чтобы попытаться снизить нагрузку на сервер:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^//xmlrpc.php
RewriteRule .* - [F,L]
</IfModule>

При запуске curl -kIL -X POST -H 'Host: [REDACTED]' https://127.0.0.1:443/xmlrpc.phpя получаю код ошибки 403.

Однако, судя по всему, этого недостаточно: согласно логу, Apache продолжает возвращать 200 для запросов с двумя слешами. Как мне заблокировать эти запросы (возвращают 403)? Как мне использовать curl / wget / etc, чтобы проверить, активен ли блок?

Мне нужно правило, чтобы запретить «POST //xmlrpc.php HTTP/1.1» возвращать 200 (HTTP OK) и вместо этого возвращать 403.

решение1

Отключите XML-RPC в вашей установке WordPress как можно скорее. Это большой риск безопасности, и проблема, которую вы видите сейчас, это только начало. Смотрите примерhttps://www.getastra.com/blog/cms/wordpress-security/wordpress-xml-rpc-exploit-everything-you-need-to-know/для получения подробной информации. (Никаким образом не аффилирован.)

Связанный контент