WordPress XML-RPC endpoint je aktívny
Čo to je
/xmlrpc.php je starý WordPress endpoint pre vzdialené publikovanie (Windows Live Writer, Jetpack, mobilné WP aplikácie). V roku 2026 ho 99 % webov nepoužíva — WordPress dnes komunikuje cez REST API. Endpoint je však stále predvolený, takže ak ho aktívne nezakážete, je verejne dostupný.
Prečo je to problém
XML-RPC má dve konkrétne riziká:
- Brute-force amplifikácia. Metóda
system.multicalldokáže v jednej HTTP požiadavke otestovať desiatky až stovky kombinácií meno+heslo. Útočník tým obchádza fail2ban aj rate-limit, pretože z pohľadu servera vidí jeden request, nie 200. - DDoS pingback amplifikácia. Metóda
pingback.pingdonúti váš WordPress poslať HTTP request na ľubovoľnú URL — útočník cez vás môže skúsiť DDoS na tretiu stranu.
Ako to opraviť
Cesta 1 — vypnúť filtrom (rýchle)
Do functions.php alebo do site-specific pluginu:
add_filter('xmlrpc_enabled', '__return_false');Toto vypne XML-RPC autentizáciu. Endpoint ďalej odpovedá, ale brute-force aj pingback útoky zlyhajú.
Cesta 2 — zablokovať na úrovni webservera (lepšie)
nginx:
location = /xmlrpc.php {
deny all;
return 403;
}Apache (.htaccess):
<Files xmlrpc.php>
Require all denied
</Files>Týmto WordPress vôbec nedostane request — menšia záťaž, žiadne PHP spustenie, lepšie škálovateľné.
Cesta 3 — plugin
Ak nie ste komfortní v editácii configov, plugin Disable XML-RPC to vypne jedným klikom.
Overenie
curl -I https://example.cz/xmlrpc.php
# má vrátiť 403 (cesta 2) alebo 405 Method Not Allowed (cesta 1)Čo sa môže pokaziť
Ak používate mobilnú WP aplikáciu alebo Jetpack v „classic“ režime, prídete o vzdialené publikovanie. Jetpack má od roku 2018 fallback na REST API, takže vo väčšine prípadov to nikto nespozná.