Hvordan beskytte WordPress mot søppelkommentarer

Om du har en nettside med kommentarfelt har du nok merket at det jevnlig kommer søppelkommentarer, eller spam som det så fint kalles. Det finnes heldigvis flere tiltak som reduserer, eller nesten fjerner problemet helt. Dette innlegget tar for seg to virkemidler for sider som kjører på WordPress, nemlig utvidelsen Antispam Bee og et regelsett i .htaccess som blokkerer en del spam og innloggingsforsøk før de engang når WordPress.

Antispam Bee – Gratis utvidelse som beskytter mot spam

Antispam Bee er en gratis utvidelse som effektivt beskytter siden mot spam uten at dette går via tredjepartsservere. Rett og slett antispam med høyt personvernfokus og uten stadige påminnelser om å oppgradere til en dyrere versjon. Det finnes nemlig kun en versjon, og den er 100 % gratis og krever ingen registrering.
Utvidelsen tilbyr stor grad av valgfrihet når det kommer til hvordan utvidelsen skal fungere, og om man eksempelvis ønsker varsler.

Antispam Bee Kontrollpanel
Kontrollpanelet til Antispam Bee

Det kan være greit å sette opp at kommentarer som er merket som spam blir slettet fra siden slik at disse ikke opptar unødig plass, for hva skal man egentlig med tusenvis med kommentarer som ser slike ut?

Eksempel på spam stanset av Antispam Bee
Eksempler på spam stanset av Antispam Bee

Legg merke til kolonnen lengst til høyre som angir spamårsaken, denne er det Antispam Bee som fyller ut. I eksempelet ovenfor er det honningkrukken som har stanset kommentarene. Dette er i korte trekk skjulte tekstfelt som vi mennesker ikke ser, men som de automatiserte spamverktøyene gladelig fyller ut. En veldig brukervennlig og effektiv metode for å oppdage uønskede kommentarer.

Regler i .htaccess

Til deg som har tilgang til .htaccess kan du med enkle grep blokkere mange forespørsler som går direkte til filene wp-comments-post.php og wp-login.php uten å faktisk ha besøkt siden, noe som også avlaster serveren en del.
Koden nedenfor gjør at et en slik forespørsel blir videresendt tilbake til seg selv, noe som erfaringsvis gjør at angriperen avslutter forsøket:

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{REQUEST_METHOD} POST
	RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
	RewriteCond %{HTTP_REFERER} !.*DinNettside.com.* [OR]
	RewriteCond %{HTTP_USER_AGENT} ^$
	RewriteRule (.*) http://%{REMOTE_ADDR}/$1 [R=301,L]
</ifModule>

Kopier inn koden ovenfor i .htaccess og bytt ut DinNettside.com med adressen til siden din, for anvendelig.no vil dette se slik ut:

RewriteCond %{HTTP_REFERER} !.*anvendelig.no.* [OR]

For å sjekke om dette fungerer kan du ta en titt i loggen for nettsiden din. Denne vil typisk se ut som utklippet nedenfor hvor tre angripere avslutter angrepet etter å ha blitt videresendt:

173.236.149.184 - - [17/Apr/2020:13:56:55 +0200] "GET /wp-login.php HTTP/1.1" 200 6171 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
173.236.149.184 - - [17/Apr/2020:13:56:55 +0200] "POST /wp-login.php HTTP/1.1" 301 4114 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
142.93.152.219 - - [17/Apr/2020:14:00:04 +0200] "GET /wp-login.php HTTP/1.1" 200 6171 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
142.93.152.219 - - [17/Apr/2020:14:00:04 +0200] "POST /wp-login.php HTTP/1.1" 301 4112 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
163.172.185.44 - - [17/Apr/2020:14:08:40 +0200] "GET /wp-login.php HTTP/1.1" 200 6171 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
163.172.185.44 - - [17/Apr/2020:14:08:40 +0200] "POST /wp-login.php HTTP/1.1" 301 4112 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"

Om du har andre tips kan du gjerne dele disse med oss i kommentarfeltet nedenfor.

Legg igjen en kommentar

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