Czym jest XML-RPC ?
XML-RPC jest funkcją, która pozwala nam na zdalną publikację artykułów na naszym blogu przesyłając go drogą HTTP. Jeśli chcemy publikować nowe wpisy zdalnie musimy mieć włączone XML-RPC. Jest ono też potrzebne min do pełnej funkcjonalności np. Jetpacka. Wiele speców zajmujących się bezpieczeństwem w sieci twierdzi, że zagrożenie płynące z pozostawienia aktywnej usługi XML-RPC, jest znikome. Czy jednak napewno ? Nie jeden raz zdarzały się juz ataki DDoS wykozystujące tysiące instalacji WordPress. Bliższa analiza tego incydentu ujawniła, że za atak odpowiedzialne są nie wtyczki, a sam WordPress, a dokładniej jego interfejs XML-RPC, wykorzystywany do wysyłania tzw. pingbacków i trackbacków. Na wykorzystanie tego interfejsu do ataków DDoS uwagę zwracano już 7 lat temu, a w szczegółach atak został opisany przez Incapsulęw zeszłym roku.

Wyłączamy XML-RPC w WordPress
XML-RPC możemy wyłączyć na kilka różnych sposobów. Najprościej możemy to zrobić za pomocą różnych wtyczek jak np iThemes Security, którą zabezpieczymy naszego WordPressna wiele różnych sposobów. Oczywiście w bazie wtyczek znajdziemy również takie, które służą jedynie do tej prostej operacji jak np. Disable XML-RPC Pingback lub Disable XML-RPC.
Możemy jednak ta operację wykonać bez używania wtyczek na kilka prostych sposobów.
- W pliku .htaccess dodajemy na samym początku poniższy kod:
</p>
<p style="text-align: center;"># Block WordPress xmlrpc.php requests
order deny,allow
deny from all</p>
<p style="text-align: center;">
- Dodajemy poniższą funkcję do pliku functions.php naszego szablonu potomnego:
</p>
<p style="text-align: center;">// Wylaczamy XML-RPC
add_filter( 'xmlrpc_enabled', '__return_false' );
- Jeśli nadal mamy dostęp do pliku to musimy zastosować poniższy kod:
add_filter( 'xmlrpc_enabled', '__return_false' );
//czyszczenie XML-RPC z naglowkow
add_filter( 'wp_headers', 'AH_remove_x_pingback' );
function AH_remove_x_pingback( $headers )
{
unset( $headers['X-Pingback'] );
return $headers;
}
Mamy nadzieje, że ta prosta porada Wyłączamy XML-RPC w WordPress pomoże niejednemu z Was.