Wyłączenie XML-RPC - bezpieczeństwo WordPress

XML-RPC to stary protokół zdalnego dostępu do WordPress. Kiedyś używany przez aplikacje mobilne i Jetpack, dziś głównie wektor ataków. Brute force, pingback DDoS - większość stron może go bezpiecznie wyłączyć.

Krótka odpowiedź

XML-RPC (xmlrpc.php) umożliwia zdalne publikowanie i ataki. Wyłącz jeśli nie używasz: Jetpack, aplikacji mobilnej WordPress, zewnętrznych edytorów. Metody: wtyczka (Disable XML-RPC), .htaccess (blokada dostępu), kod w functions.php. Bezpieczniejsza strona.

Co to XML-RPC i dlaczego wyłączyć

Co to:
- Remote Procedure Call protokół
- Plik: /xmlrpc.php
- Pozwala zdalnie: publikować, edytować, zarządzać

Używane przez:
- Jetpack (synchronizacja z WP.com)
- Aplikacja mobilna WordPress
- Zewnętrzne edytory (MarsEdit, Windows Live Writer)
- Pingback/Trackback

Zagrożenia:
- Brute force: wielokrotne próby logowania jednym requestem
- Pingback DDoS: Twoja strona jako źródło ataku
- Fingerprinting: informacje o instalacji

Czy możesz wyłączyć:
- Nie używasz Jetpack? → tak
- Nie używasz apki mobilnej? → tak
- Nie potrzebujesz pingbacków? → tak
- Większość stron może bezpiecznie wyłączyć

Metoda 1: Wtyczka

Disable XML-RPC:
- Wtyczki → Disable XML-RPC
- Aktywuj i gotowe
- Zwraca 403 dla xmlrpc.php

Disable XML-RPC-API:
- Bardziej granularna kontrola
- Możesz wyłączyć tylko pingback
- Zachować inne funkcje

Wordfence:
- Firewall → Brute Force Protection
- Opcja blokowania XML-RPC
- W ramach istniejącego security

Metoda 2: .htaccess

Całkowita blokada:
```apache

Order Deny,Allow
Deny from all

```

Blokada z wyjątkami (Jetpack):
```apache

Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Allow from 122.248.245.244

```

Blokada pingback (zachowaj resztę):
- Wymaga wtyczki lub kodu
- .htaccess blokuje wszystko albo nic

Metoda 3: Kod PHP

W functions.php:

Wyłącz całkowicie:
```php
add_filter('xmlrpc_enabled', '__return_false');
```

Wyłącz tylko pingback:
```php
add_filter('xmlrpc_methods', function($methods) {
unset($methods['pingback.ping']);
unset($methods['pingback.extensions.getPingbacks']);
return $methods;
});
```

Usuń header X-Pingback:
```php
add_filter('wp_headers', function($headers) {
unset($headers['X-Pingback']);
return $headers;
});
```

Wyłącz self-pingback:
```php
add_action('pre_ping', function(&$links) {
$home = get_option('home');
foreach ($links as $l => $link) {
if (0 === strpos($link, $home)) {
unset($links[$l]);
}
}
});
```

Wspomniane narzędzia

XML-RPC Jetpack Disable XML-RPC .htaccess Pingback

Najczęściej zadawane pytania

Czy wyłączenie XML-RPC zepsuje Jetpack?
Tak, Jetpack wymaga XML-RPC do komunikacji z WordPress.com. Jeśli używasz Jetpack - nie wyłączaj całkowicie. Możesz wyłączyć tylko pingback i ograniczyć brute force przez Wordfence. Lub rozważ czy Jetpack jest Ci potrzebny.
#wordpress#xmlrpc#bezpieczeństwo#pingback#ddos

Potrzebujesz pomocy specjalisty?

Skorzystaj z naszych usług w największych miastach Polski