xmlrpc.php in WordPress: waarom hij dicht staat en hoe je hem openzet
Op onze webservers staat xmlrpc.php van WordPress standaard dicht. Dat beschermt je website tegen een van de meest gebruikte inbraakroutes en houdt je site snel. Heb je xmlrpc.php toch nodig? Dan zet je hem in een paar klikken open, voor je eigen IP-adressen of (afgeraden) voor iedereen. In dit artikel lees je hoe.
1. Wat is xmlrpc.php?
xmlrpc.php is een oude koppeling in WordPress. Externe programma's kunnen er via inloggen en berichten plaatsen, bijvoorbeeld een blogprogramma op je computer. Ook pingbacks (meldingen dat een andere site naar jou linkt) lopen via dit bestand.
Moderne WordPress-onderdelen gebruiken xmlrpc.php nauwelijks nog. Het dashboard, de blokeditor en de meeste plugins werken via de REST API.
2. Waarom staat xmlrpc.php standaard dicht?
xmlrpc.php is het favoriete doelwit van aanvallers:
- Wachtwoorden raden op grote schaal. Via één verzoek aan xmlrpc.php kunnen honderden wachtwoorden tegelijk worden geprobeerd. Een zwak wachtwoord is zo gevonden.
- Je website wordt trager. Elke poging start WordPress op. Duizenden pogingen per dag kosten rekenkracht die je bezoekers nodig hebben.
- Misbruik tegen anderen. Via pingbacks kan je website worden ingezet om andere websites aan te vallen.
Door xmlrpc.php standaard dicht te zetten, worden deze aanvallen al tegengehouden voordat ze je website bereiken.
3. Werkt mijn website nog gewoon?
Ja. Je website, het WordPress-dashboard, de inlogpagina en vrijwel alle plugins werken zoals altijd. Specifiek:
- Jetpack en WordPress.com blijven werken. Die laten we altijd door.
- De WordPress-app werkt als je site via Jetpack is gekoppeld. Lukt inloggen in de app niet meer, zet xmlrpc.php dan open voor je eigen IP-adres (zie hieronder).
- Pingbacks van andere websites komen niet meer binnen. Voor de meeste sites is dat juist prettig, want pingbacks zijn grotendeels spam.
- Gebruik je een extern blogprogramma of een koppeling die xmlrpc.php nodig heeft? Zet hem dan open voor het IP-adres van dat programma of die dienst.
Zie je bij xmlrpc.php de melding 403 Forbidden? Dan staat hij dicht en werkt de bescherming.
4. xmlrpc.php openzetten via DirectAdmin (aanbevolen)
Dit is de makkelijkste manier. Je hoeft geen bestanden aan te passen.
- Log in op DirectAdmin.
- Ga in het menu naar Extra Programma's (Engels: Extra Features) en klik op XML-RPC (WordPress).
- Kies rechtsboven het domein.
- Kies een van de drie standen:
- Dicht (aanbevolen, standaard).
- Open voor mijn IP-adressen: vul één IP-adres per regel in. Met de knop Voeg toe neem je direct je huidige IP-adres over.
- Open voor iedereen: afgeraden, zie hoofdstuk 7. Je moet eerst bevestigen dat je de risico's begrijpt.
- Klik op Opslaan. De wijziging is binnen een minuut actief.
De instelling geldt voor het hele domein, ook voor een WordPress-installatie in een submap.
5. xmlrpc.php openzetten via .htaccess (handmatig)
Werk je liever zelf in je bestanden? Open dan via Bestandsbeheer (File Manager) in DirectAdmin of via FTP het bestand .htaccess in de map public_html van je domein, en zet de regel bovenaan.
Openzetten voor één IP-adres
Vervang 203.0.113.10 door je eigen IP-adres. Zet voor elke punt een backslash:
SetEnvIf Remote_Addr "^203\.0\.113\.10$" !t7_xmlrpc_block
Meerdere IP-adressen? Gebruik dan één regel per adres. Een IPv6-adres schrijf je zoals het is, bijvoorbeeld:
SetEnvIf Remote_Addr "^2001:db8::10$" !t7_xmlrpc_block
Openzetten voor iedereen (afgeraden)
SetEnvIf Remote_Addr "." !t7_xmlrpc_block
Weer dichtzetten doe je door de regel weer te verwijderen.
6. Let op: gebruik niet "Require ip" of "Require all granted
Op internet vind je vaak voorbeelden als <Files xmlrpc.php> Require ip ... </Files>. Gebruik die op onze servers niet. Op onze servers zet zo'n regel xmlrpc.php namelijk open voor iedereen, niet alleen voor het genoemde IP-adres. Require all granted schakelt bovendien onze extra bescherming tegen bekende aanvalsbots uit.
Gebruik dus altijd de regels uit hoofdstuk 5, of de knop in DirectAdmin.
7. Waarom we "open voor iedereen" afraden
Met xmlrpc.php open voor iedereen kunnen aanvallers dag en nacht wachtwoorden blijven proberen op je website. Dat vergroot de kans op een inbraak en maakt je website trager. Heeft de dienst die je gebruikt een vast IP-adres? Zet xmlrpc.php dan alleen voor dat adres open. Kies alleen voor "open voor iedereen" als het echt niet anders kan, en gebruik dan in ieder geval:
- een sterk, uniek wachtwoord voor elke WordPress-gebruiker;
- tweestapsverificatie voor beheerders.
8. Hulp nodig?
Kom je er niet uit, of werkt iets niet meer sinds xmlrpc.php dicht staat? Neem contact op met onze support. Laat ons weten om welk domein en welk programma of welke dienst het gaat. Dan zetten we xmlrpc.php samen met je goed.
Op zoek naar WordPress hosting? Bekijk ons aanbod.
0 van 0 vonden dit nuttig