Bloquear `//xmlrpc.php`

Bloquear `//xmlrpc.php`

Estou recebendo dezenas de milhares de acessos (provavelmente maliciosos) no Apache que estão derrubando o servidor. Todos os acessos ficam assim no log do 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"

(Observe a barra dupla. Não sei o que isso significa.)

Adicionei a regra abaixo no .htaccess para tentar mitigar a carga do servidor:

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

Quando executo curl -kIL -X POST -H 'Host: [REDACTED]' https://127.0.0.1:443/xmlrpc.php, recebo o código de erro 403.

Porém, aparentemente não é suficiente: de acordo com o log, o Apache continua retornando 200 para as solicitações com duas barras. Como posso bloquear essas solicitações (retorno 403)? Como posso usar curl/wget/etc para verificar se o bloco está ativo?

Preciso de uma regra para evitar que "POST //xmlrpc.php HTTP/1.1" retorne 200 (HTTP OK) e retorne 403.

Responder1

Desative o XML-RPC na instalação do WordPress o mais rápido possível. É um grande risco de segurança, e o problema que você está vendo agora é apenas o começo. Veja por exemplohttps://www.getastra.com/blog/cms/wordpress-security/wordpress-xml-rpc-exploit-everything-you-need-to-know/para detalhes. (Não afiliado de forma alguma.)

informação relacionada