Co to jest XML-RPC?
XML-RPC to protokół umożliwiający zewnętrzne aplikacje komunikować się z WordPress (np. aplikacje mobilne, Jetpack). Jest też exploitowany przez boty do ataków brute-force i DDoS przez metodę pingback.
Sprawdzenie czy XML-RPC jest atakowany
Sprawdź logi dostępu:
grep "xmlrpc.php" ~/logs/access_log | wc -l
Jeśli liczba jest wysoka (>100/dzień) — boty atakują XML-RPC.
Wyłączenie XML-RPC przez .htaccess
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Wyłączenie przez WordPress (functions.php)
// Wyłącz XML-RPC
add_filter('xmlrpc_enabled', '__return_false');
// Usuń nagłówek X-Pingback
add_filter('wp_headers', function($headers) {
unset($headers['X-Pingback']);
return $headers;
});
Gdy XML-RPC jest potrzebny (Jetpack)
Jeśli używasz Jetpack lub aplikacji mobilnej WordPress — nie wyłączaj całkowicie. Ogranicz dostęp tylko do konkretnych IP serwerów Jetpack.