WordPress XML-RPC endpoint je aktivní
Co to je
/xmlrpc.php je starý WordPress endpoint pro vzdálené publikování (Windows Live Writer, Jetpack, mobilní WP aplikace). V roce 2026 ho 99 % webů nepoužívá — WordPress dnes komunikuje přes REST API. Ale endpoint je stále výchozí, takže pokud ho aktivně nezakážete, je veřejně dostupný.
Proč je to problém
XML-RPC má dvě konkrétní rizika:
- Brute-force amplifikace. Metoda
system.multicallumí v jednom HTTP požadavku otestovat desítky až stovky kombinací jméno+heslo. Útočník tím obchází fail2ban i rate-limit, protože z pohledu serveru vidí jeden request, ne 200. - DDoS pingback amplifikace. Metoda
pingback.pingdonutí váš WordPress poslat HTTP request na libovolnou URL — útočník přes vás může zkusit DDoS na třetí stranu.
Jak to opravit
Cesta 1 — vypnout filtrem (rychlé)
Do functions.php nebo do site-specific pluginu:
add_filter('xmlrpc_enabled', '__return_false');Tohle vypne XML-RPC autentizaci. Endpoint dál odpovídá, ale brute-force i pingback útoky selžou.
Cesta 2 — zablokovat na úrovni webserveru (lepší)
nginx:
location = /xmlrpc.php {
deny all;
return 403;
}Apache (.htaccess):
<Files xmlrpc.php>
Require all denied
</Files>Tímhle WordPress vůbec nedostane request — menší zátěž, žádné PHP spuštění, lépe škálovatelné.
Cesta 3 — plugin
Pokud si nejste jistí v editaci configů, plugin Disable XML-RPC to vypne jedním klikem.
Ověření
curl -I https://example.cz/xmlrpc.php
# má vrátit 403 (cesta 2) nebo 405 Method Not Allowed (cesta 1)Co se může pokazit
Pokud používáte mobilní WP aplikaci nebo Jetpack v „classic“ režimu, přijdete o vzdálené publikování. Jetpack má od 2018 fallback na REST API, takže ve většině případů to nikdo nepozná.