XML-RPC on yksi niistä WordPressin ominaisuuksista, jotka ovat olemassa lähinnä historiallisista syistä. Se otettiin käyttöön aikana, jolloin mobiilisovelluksia ei vielä ollut, ja WordPressiä haluttiin hallita etänä eri ohjelmilla ja sovelluksilla. Tänä päivänä tuo sama ominaisuus on kuitenkin monelle sivustolle merkittävä tietoturvariski – erityisesti, jos sitä ei käytetä lainkaan.
Mikä on XML-RPC?
XML-RPC (Extensible Markup Language Remote Procedure Call) on protokolla, joka mahdollistaa yhteyden WordPressiin ilman selainta. Sen avulla ulkoiset sovellukset voivat esimerkiksi julkaista artikkeleita, hakea sisältöjä tai päivittää tietoja etänä. Käytännössä se on rajapinta, joka vastaanottaa komentoja XML-muodossa ja suorittaa niitä WordPressin sisällä.
Aikanaan XML-RPC oli vallankumouksellinen, koska se mahdollisti yhteyden esimerkiksi blogieditoreihin ja mobiilisovelluksiin. Ennen REST API:n aikakautta se oli ainoa tapa tehdä tämä.
Nykyään tilanne on muuttunut – REST API on ottanut XML-RPC:n paikan, ja sen käyttö on suurelta osin tarpeetonta.
Miksi XML-RPC on riski?
XML-RPC on haavoittuvainen useille hyökkäyksille, koska se toimii “takaporttina” WordPressiin. Jos ominaisuus on päällä, kuka tahansa voi yrittää lähettää sen kautta komentoja palvelimelle. Tässä on muutamia yleisimpiä uhkia:
-
Brute force -hyökkäykset
XML-RPC:n kautta voidaan yrittää kirjautua sisään tuhansilla eri salasanoilla yhdellä pyynnöllä. Tämä tekee siitä tehokkaan väylän brute force -hyökkäyksille, joissa hyökkääjä arvaa käyttäjätunnusta ja salasanaa automaattisesti. -
Pingback DDoS-hyökkäykset
XML-RPC sisältää pingback-toiminnon, joka voi ohjata sivustosi osaksi DDoS-hyökkäystä. Hyökkääjä voi käyttää WordPressiäsi välikätenä ja lähettää tuhansia pyyntöjä muille sivustoille, mikä kuormittaa palvelintasi ja hidastaa sitä merkittävästi. -
Tietojen vuotaminen
XML-RPC voi paljastaa metatietoja ja käyttäjätietoja, joita hyökkääjät voivat käyttää jatkohyökkäyksiin. Jo pelkkä yhteyden olemassaolo kertoo paljon sivuston rakenteesta ja sen käyttämästä ympäristöstä. -
REST API:n korvike – vanhentuneena ja turvattomampana
XML-RPC ei sisällä nykyaikaisia suojausmekanismeja, kuten token-pohjaista tunnistautumista tai roolipohjaisia oikeuksia. Se toimii koko WordPressin käyttöoikeuksien laajuudella, mikä tekee siitä erityisen riskialttiin, jos pääsy väärin käsin onnistuu.
Mistä tiedät, onko XML-RPC päällä?
Yleensä XML-RPC on oletuksena käytössä kaikissa WordPress-asennuksissa. Sen löytää osoitteesta:
https://sinunsivustosi.fi/xmlrpc.php
Jos sivu palauttaa vastauksen “XML-RPC server accepts POST requests only” tai tyhjän ruudun, ominaisuus on päällä. Jos taas sivu palauttaa virheilmoituksen “403 Forbidden” tai “Not Found”, se on poistettu käytöstä.
Kannattaako XML-RPC poistaa?
Jos et käytä WordPressin mobiilisovellusta, Jetpackia tai muita etäyhteyttä vaativia palveluita, vastaus on yksiselitteisesti kyllä. XML-RPC kannattaa poistaa käytöstä kokonaan. Se ei vaikuta sivuston toimintaan, ellei sinulla ole erikseen siihen tukeutuvaa integraatiota.
Näin voit estää XML-RPC:n käytön
XML-RPC:n voi estää monella tavalla, eikä se vaadi raskaita lisäosia:
-
.htaccess-säännöllä
Voit estää kaikki pyynnöt tiedostoon xmlrpc.php lisäämällä.htaccess
-tiedostoon rivin:deny from all
(tässä kohtaa ei tarvitse koodia esittää tekstissä, mutta periaate on yksinkertainen). -
Palomuurilla
Sovelluspalomuuri (WAF) voi automaattisesti estää XML-RPC-pyynnöt, joita ei tarvita. -
WordPressin asetuksilla tai suodatuksilla
XML-RPC:n voi myös poistaa käytöstä ohjelmallisesti, jolloin se ei reagoi lainkaan pyyntöihin.
Tärkeintä on, että tiedät, onko ominaisuus käytössä ja miksi.
XML-RPC:n korvaaminen
Jos tarvitset etäyhteyksiä WordPressiin, REST API on moderni ja turvallisempi vaihtoehto. Se mahdollistaa samanlaisen toiminnallisuuden, mutta tukee parempaa tunnistautumista, välimuistia ja käyttöoikeuksien hallintaa. REST API:n avulla voidaan rajoittaa, kuka saa tehdä mitäkin – toisin kuin XML-RPC:ssä, joka on kaikki tai ei mitään -ratkaisu.
XML-RPC:n tulevaisuus
WordPress ei ole vielä poistanut XML-RPC:tä kokonaan, koska monet vanhat palvelut ja laajennukset käyttävät sitä edelleen. Kuitenkin yhä useammat turvallisuusasiantuntijat suosittelevat sen poistamista käytöstä. Tulevaisuudessa on odotettavissa, että ominaisuus siirtyy lopullisesti historiaan REST API:n syrjäyttämänä.
Yhteenveto
XML-RPC oli aikansa tarpeellinen ominaisuus, mutta nykyään se on tietoturvariski, joka kannattaa kytkeä pois päältä, jos et sitä aktiivisesti käytä. Se ei lisää arvoa modernille WordPress-sivustolle, mutta avaa potentiaalisen hyökkäysvektorin.
Tietoturvassa jokainen suljettu ovi on voitto. XML-RPC on yksi niistä ovista, jotka on syytä lukita lopullisesti – ennen kuin joku muu päättää avata sen puolestasi.