XML-RPC – WordPress-funktionen att se upp med

xmlrpc-wordpressWordPress har länge erbjudit inbyggda funktioner som låter dig fjärransluta till din webbplats – givetvis mycket smidigt och önskvärt när du inte har direkt fysisk åtkomst till din dator. Under lång tid var den huvudsakliga lösningen på detta en fil med namnet xmlrpc.php – men under de senaste åren har filen blivit mer av ett skadedjur än en lösning.

Nu kanske din första tanke är ”xmlr … vadå?” Oroa dig inte, vi går igenom allt du behöver veta, vilka riskerna är och hur du åtgärdar dem på din WordPress-webbplats.

Vad är Xmlrpc.php?

XML-RPC är kortfattat en funktion i WordPress som möjliggör överföring av data, med HTTP som transportmekanism och XML som kodningsmekanism. WordPress är inte ett helt självständigt ekosystem utan ofta behöver kommunicera med andra system, och detta underlättas av XML-RPC. Samma sak gäller för fjärråtkomst. Om du till exempel vill logga in på din webbplats från din mobila enhet, använder du fjärråtkomstfunktionen som aktiveras av xmlrpc.php för att göra det.

Andra funktioner som möjliggörs av xmlrpc.php är bland annat implementering av trackbacks och pingbacks från andra webbplatser och styrning av ett antal funktioner i det flitigt använda Jetpack-pluginet.

Faktum är att XML-RPC funnits i WordPress redan från begynnelsen, när internet som vi känner det i dag var en oändligt långsam upplevelse – och publicering av innehåll var både krångligt och tidskrävande. Många WordPress-användare skrev då sitt innehåll offline i ordbehandlare i stället för att skriva i själva webbläsaren, och kopierade och klistrade därefter in innehållet. Denna process var förstås långt ifrån idealisk, men var ändå smidigare och säkrare än att skriva direkt i webbläsaren på en skakig och långsam uppkoppling, utan några autosave-funktioner.

Lösningen var då att helt enkelt skapa en offline-bloggklient, där användaren kunde komponera sitt innehåll och sedan direktansluta bloggen för att publicera. Denna anslutning gjordes genom XML-RPC, och med den grundläggande ramen för XML-RPC på plats började även andra tidiga appar använda samma anslutningssätt för att låta användare logga in på sina WordPress-webbplatser från andra enheter.

XML-RPC används allt mindre

När version 2.6 av WordPress rullades ut 2008, fanns alternativet att aktivera eller inaktivera XML-RPC. Men när WordPress släpptes som smartphone-app, var XML-RPC-stöd aktiverat som standard, och det gick inte längre att stänga av inställningen. Och så har det varit sedan dess, även om själva funktionen (i takt med utvecklingen av WordPress-plattformen) kommit att spela mindre roll och inte används i lika stor utsträckning som från början.

I samband med att WordPress rullar ut sitt kommande helt nya API förutspår många utvecklare att XML-RPC kommer att tas bort helt och hållet, och att funktionerna kodas in direkt i WordPress-kärnan. Men fram tills att det nya API:t är färdigt och skarpt (det går att testa redan nu) kan det vara en god idé att avaktivera XML-RPC. Men varför då, kanske du undrar nu?

Vad är problemet?

De största problemen med XML-RPC är de säkerhetsrisker som som tekniken medför. Problemen är inte direkt kopplade till XML-RPC, utan det handlar om hur filen kan användas för att bland annat aktivera en så kallad brute force-attack på din webbplats.

Det finns två huvudsakliga svagheter i XML-RPC som illasinnade aktörer kan utnyttja.

Den första använder en renodlad brute force-attack för att få tillträde till din webbplats. En angripare kommer att försöka komma åt din webbplats med hjälp av xmlrpc.php genom att använda olika användarnamn och lösenordskombinationer. De kan effektivt använda ett enda kommando för att testa mängder av kombinationer av olika användarnamn och lösenord. Genom att gå via xmlrpc.php kringgår de säkerhetsfunktioner som vanligtvis upptäcker och blockerar brute force-attacker.

Den andra attackmetoden öppnar för angripare att sänka webbplatser via DDoS-attacker. Angripare utnyttjar pingback-funktionen i WordPress för att skicka pingbacks till tusentals webbplatser samtidigt. Denna funktion i xmlrpc.php ger angripare ett nästan oändligt utbud av IP-adresser att distribuera sin DDoS-attack över.

För att kontrollera om XML-RPC används på din webbplats kan du köra den genom ett verktyg som heter XML-RPC Validator. Kör din webbplats via verktyget, och om du får ett felmeddelande betyder det att du inte har XML-RPC aktiverat. Om du däremot får ett ”positivt” gensvar av verktyget kan du stänga av xmlrpc.php med en av de två metoderna nedan.

Visst kan du skydda dig med otroligt starka lösenord och olika WordPress-säkerhetsverktyg – men det bästa skyddet är att helt enkelt inaktivera funktionen. Så till den viktigaste frågan, hur gör du för att inaktivera den? Lyckligtvis är det väldigt enkelt att inaktivera XML-RPC på din WordPress-webbplats. Det finns två huvudsakliga sätt att göra det på.

Metod 1: Inaktivera Xmlrpc.php med plugins

Enklast är att bara navigera till Tillägg> Lägg till nytt i din WordPress-kontrollpanel. Sök efter Disable XML-RPC och installera det plugin som ser ut som på bilden nedan:

Aktivera pluginet och du är helt och hållet på den säkra sidan. Det här pluginet lägger automatiskt in den nödvändiga koden för att stänga av XML-RPC.

Tänk på att vissa befintliga plugins kan använda delar av XML-RPC, så att inaktivera det helt kan orsaka en plugin-konflikt eller göra så att vissa delar av din webbplats inte längre fungerar. Om du bara vill stänga vissa delar av XML-RPC, men vill tillåta vissa plugins och funktioner att använda funktionen, kan du istället använd följande plugin istället:

Stop XML-RPC Attack – Det här pluginet stoppar alla XML-RPC-attacker, men tillåter plugins som Jetpack och andra automatiserade verktyg och plugins att fortsätta ha tillgång till xmlrpc.php-filen.

Control XML-RPC Publishing – Det här pluginet låter dig behålla kontrollen och använda alternativet för fjärrpublicering som möjliggörs av xmlrpc.php.

Metod 2: Inaktivera Xmlrpc.php manuellt

Om du inte vill använda ett plugin utan i stället föredrar att göra avstängningen manuellt, kan du använda den här enkla metoden. Den kommer att stoppa alla inkommande xmlrpc.php-förfrågningar innan de skickas vidare till WordPress.

Leta upp och öppna din .htaccess-fil. Det kan hända att du måste aktivera ”visa dolda filer” i filhanteraren eller din FTP-klient för att hitta den här filen. Klistra därefter in följande kod i din .htaccess-fil:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>

Sådär, klart! Nu slipper du oroa dig för att någon otäcking använder säkerhetshålen i XML-RPC.

Den här artikeln är skriven utav Binero och hämtad från Klicka här för att gå till orginal

Du kanske gillar

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More