WordPress: Blokker eller begrens tilgangen til Xmlrpc.php

WordPresslogo

Om du har en nettside som kjører på WordPress og kun administrerer denne via nettleseren, kan det være en god idé å blokkere eller begrense tilgangen til filen Xmlrpc.php. Dette kommer av at det er mange angripere som ved hjelp av brute force, altså gjentatte automatiserte forsøk prøver å bryte seg inn på nettsiden. Om man har et brukernavn som skiller seg fra admin og et godt passord er det i praksis ingen sikkerhetsrisiko ved dette, men det kan medføre ytelsesproblemer om slike forsøk får kjøre uhindret.

Begrens tilgangen til Xmlrpc.php

Om du trenger funksjonaliteten til Xmlrpc.php, dette være bruk av WordPress-appen på Android eller iOS er det mulig å begrense tilgangen til filen. Dette fordrer likevel at du har en fast IP, eller at deler av IP-adressen din er fast.
Den raskeste måten er å benytte en utvidelse, eksempelvis Manage XML-RPC og Disable XML-RPC Pingback. Men om du ønsker minst mulig bruk av ressursene på serveren, og har tilgang til .htaccess kan du benytte følgende koder:

# Begrens tilgangen til xmlrpc.php - Enkeltadresser
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
allow from 124.124.124.124
</Files>

Har du kun en enkelt adresse du ønsker å tillate sletter du en av linjene som begynner med allow from.

# Begrens tilgangen til xmlrpc.php - IP-område
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 172.20 192.168
</Files>

Det siste eksempelet tillater alle IP-adresser som begynner på 172.20 og 192.168. Dette snevrer inn antallet mulige angripere en stor del, samtidig som man tar høyde for egne, dynamiske IP-adresser.

Blokker tilgangen til Xmlrpc.php

<FilesMatch "xmlrpc\.php">
  Require all denied
</FilesMatch>

Når du først er i gang kan du samtidig blokkere tilgangen til wp-config.php, dette gjøres med følgende kode og har ingen negative bivirkninger:

<FilesMatch "wp-config\.php|xmlrpc\.php">
  Require all denied
</FilesMatch>

Du vet at det fungerer om du ser følgende i serverloggen:

43.241.137.244 - - [18/Apr/2020:12:28:19 +0200] "POST /xmlrpc.php HTTP/1.1" 403 4122 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
67.205.31.136 - - [18/Apr/2020:12:41:24 +0200] "POST /xmlrpc.php HTTP/1.1" 403 4122 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
174.138.30.233 - - [18/Apr/2020:13:07:40 +0200] "POST /xmlrpc.php HTTP/1.1" 403 4122 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
104.248.185.245 - - [18/Apr/2020:13:31:27 +0200] "POST /xmlrpc.php HTTP/1.1" 403 4122 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
150.95.133.33 - - [18/Apr/2020:13:44:07 +0200] "POST /xmlrpc.php HTTP/1.1" 403 4122 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"

Uten koden i .htaccess ville de fleste av angriperne forsøk gjentatte ganger, men her gir de opp etter et enkelt forsøk.
Om du er interessert i å blokkere enda flere angrep kan du ta en titt i mitt tidligere innlegg som omhandler søppelkommentarer og wp-login.php.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *