XML-RPC je starší rozhraní, přes které mohou vnější programy ovládat web na dálku – ve WordPressu ho obstarává soubor xmlrpc.php v kořeni webu. Umožňuje například publikovat článek z mobilní aplikace, aniž byste se přihlašovali do administrace v prohlížeči. Název se rozepisuje jako XML Remote Procedure Call: příkaz se zabalí do formátu XML a pošle se serveru k provedení.
Vzniklo v době, kdy nic lepšího nebylo. Dnes je ve WordPressu nahrazuje modernější REST API, které je úspornější a lépe zabezpečené. XML-RPC ale zůstává zapnuté kvůli zpětné kompatibilitě se staršími nástroji.
Praktický problém je bezpečnostní. Rozhraní umí přijmout více pokusů o přihlášení v jediném požadavku, takže je oblíbeným cílem útoků hrubou silou – útočník zkouší tisíce hesel najednou a ušetří si tím spoustu spojení. Kromě prolomení hesla to zbytečně zatěžuje server, což se projeví zpomalením webu.
Co s tím můžete udělat:
- Zjistit, jestli ho vůbec potřebujete. Pokud publikujete jen z prohlížeče a nepoužíváte starší mobilní aplikaci ani propojení s jinou službou, obejdete se bez něj.
- Vypnout ho bezpečnostním pluginem nebo pravidlem v souboru .htaccess, které přístup k xmlrpc.php zakáže.
- Mít silné heslo a dvoufázové ověření do administrace – to pomůže bez ohledu na to, kudy se útočník snaží dostat dovnitř.
- Udržovat WordPress i pluginy aktualizované, protože většina úspěšných průniků využívá známou a dávno opravenou chybu.
Pokud si nejste jistí, zda XML-RPC na svém webu používáte, ozvěte se nám přes kontakt. Podíváme se do logů, jestli na něj něco skutečně přistupuje, nebo jen chodí útoky.