blog.nayma.pl


Dla miłośników WordPress, WooCommerce, HTML5, CSS3 oraz JS.

Dariusz Nayma.pl
Autor Wpisu

Podziel się


Tagi


Wyłączamy XML-RPC w WordPress

Dariusz Nayma.plDariusz Nayma.pl

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](/content/images/2016/01/wp-http-ddos-by-abusing-pingback.png)

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.

  1. 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;">
  1. 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' );
  1. 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.

Komentarze