Min WordPress hjemmeside er blevet HACKET!

WordPress er et populært content management system, og dets udbredelse gør det også til et yndet mål blandt hackere. Her er nogle ting man bør gøre hvis man har haft uønsket besøg på sit website.

1. Gendan fra backup

De fleste hosting-udbydere tager backup af websites på deres servere. Det første man bør gøre er at tage kontakt til hostingfirmaets support og bede dem gendanne websitets filer og database fra backup som det var før hjemmesiden blev hacket.

Hostingfirmaet kan som regel ikke umiddelbart se hvornår hackeren har været forbi, så supportafdelingen vil typisk spørge om tid og dato for den backup der ønskes gendannet.

Hvis det ikke kan lade sig gøre at gendanne fra backup, så kan man forsøge at fjerne uønsket kode manuelt. Det kan være vanskeligt at gennemføre i praksis da mange forskellige filer kan være berørt, ligesom uønsket kode og indhold kan være gemt i websitets database. Spørg hostingfirmaets supportfunktion om de har software på serverne der kan hjælpe med at finde de dele af websitet der er ramt.

2. Luk hullet

Langt de fleste angreb på WordPress websites udføres ved hjælp af mere eller automatiserede værktøjer som skanner websites for kendte sikkerhedsproblemer. Hackeren har som regel ikke udset sig et bestemt mål på forhånd - han eller hun skanner i stedet et stort antal websites, indtil et sårbart website er identificeret.

Sikkerhedshuller på WordPress websites opstår som regel fordi man glemmer at holde WordPress og plugins/temaer opdateret. Når websitet er gendannet fra backup bør man derfor hurtigst muligt installere evt. opdateringer - ellers får man blot besøg igen på et tidspunkt.

3. Skift passwords og nøgler

Hvis et website er blevet hacket, så må man antage at alle brugernes passwords er kompromitterede. Disse bør derfor skiftes hurtigst muligt.

Glem ikke at skifte websitets database-password. Det skal normalt gøres to steder:

  • På serveren, typisk via hosting-udbyderens kontrolpanel
  • I WordPress' wp-config.php som normalt ligger i websitets rod

Hvis du ikke selv kan skifte database-password, så kontakt udbyderens support og bed dem om at gøre det.

Hvis et WordPress password også bruges andre steder - hvis det f.eks. også giver adgang til serverens kontrolpanel eller bruges til FTP - så bør man ændre det alle steder det er brugt. (Genbrug af passwords er en dårlig ide - hvis du har mange passwords at holde styr på, så overvej at bruge en password manager, f.eks. LastPass)

WordPress' wp-config.php indholder en blok med kryptografiske nøgler der f.eks. kan se således ud:

define('AUTH_KEY','*PT12>I+U|=~-N.>A,Rs=@xUX=}3gAPSQ,v m026f|=zIQGS>@5:,q#nVZ&?N]UU');
define('SECURE_AUTH_KEY','L+CyQeewA?*vrA}0?26)vt7%;1>{=N*~/`F^u^No}]xz+$i)s9}GAB%T2x!=CI9P');
define('LOGGED_IN_KEY','6hEO7/2fa]-^+W.0L$sCU~;~tg9c6?LJ;^Gj4zE.L9BrzrG|lApaKN)Dm+gm53@&');
define('NONCE_KEY','{#2|:(@;~jc+U[7m$:;ciZ|zu[^P^DTlF}j.m+-+c+(Qr-@E-j]|G `DvD<CYu$s');
define('AUTH_SALT','Ft;<xHVWr(??>@oDb-/sv?O;gCIEr-N+~t5/6ymx;iw|MPwp#d_.yyf/qbeol#uR');
define('SECURE_AUTH_SALT','/vRAe:eag+0b]$s(%;f8SJo2jou17P2W[mtK>`iX(6|l |!+@&4-@b+}w~B^0SK ');
define('LOGGED_IN_SALT','TYKM#+i&|SND;UP-Xb%I{U&@|5D_dBGvL[ p#koanZ!-brLwOB}E`%d]j3,}<:Fm');
define('NONCE_SALT','}3^ydd{Z3h _E5P*2(lPuc}nnzr.+wCB+p&|S-L[#0)?+2U[8>ykI3e]eNFeX/R)');

Det er en god ide at udskifte disse nøgler, da man dermed logger alle aktive brugere ud fra WordPress (inkl. evt. hackere der stadig måtte være logget ind).

Brug denne URL til at generere nye nøgler: https://api.wordpress.org/secret-key/1.1/salt/

Andre tiltag

I de fleste tilfælde er man godt beskyttet mod almindelige hackere hvis man holder WordPress, temaer og plugins opdateret, og normalt behøver man ikke gøre mere. Men hvis det ikke er tilstrækkeligt kan man udvide med nogle af disse ting:

Fjern overflødige plugins og temafiler

Jo flere linjer kode der er i et website, desto større sandsynlighed er der for at de indeholder sårbarheder. Slet alle inaktive plugins og temaer, og overvej om nogle af de aktive plugins kan undværes. Vær især opmærksom på temaer og plugins som ikke har været opdateret i en længere periode.

Fjern adgangen til WordPress' indbyggede fileditor.

Denne editor benyttes ofte som en del af et angreb på et WordPress website, og man kan derfor med fordel blokere for adgang til den ved at indsætte følgende linje i wp-config.php:

define( 'DISALLOW_FILE_EDIT', true );

Det betyder selvfølgeligt at man heller ikke selv har adgang til den indbyggede editor længere.

Brug et hostingfirma med bedre sikkerhed

Visse former for angreb kan forhindres på serverniveau, ved at bruge software der blokerer for angreb inden de når frem til WordPress eller som isolerer brugerne på serveren bedre fra hinanden. Spørg evt. dit hostingfirma om det har et produkt med bedre sikkerhed, eller find et andet firma til at hoste dit website.

Brug et sikkerheds-plugin

Der findes adskillige plugins til WordPress der har til formål at forbedre sikkerheden. Det er normalt ikke nødvendigt at bruge disse plugins, og ligesom alle andre plugins kan et sikkerheds-plugin introducere nye sårbarheder, men hvis man har sikkerhedshuller i sit website som man ikke umiddelbart kan lukke, så kan man forsøge at installere et af disse plugins.

Det er svært at vurdere kvaliteten af et plugin man ikke kender, med mindre man sætter sig ned og går koden igennem linje for linje. Men her er nogle ting man kan kigge efter hvis man overvejer at installere et sikkerheds-plugin:

  • Kig efter det mindst mulige plugin der løser opgaven. Ekstra features som man ikke har brug for er et minus, fordi mere kompliceret kode alt andet lige indeholder flere mulige sikkerhedsproblemer.
  • Kig efter plugins som bliver opdateret hyppigt. Det gælder i særlig grad for sikkerheds-relaterede plugins fordi de angreb der skal beskyttes mod hele tiden udvikler sig.
  • Undersøg hvem der står bag et plugin. Det er normalt en fordel hvis der er flere personer der bidrager til udviklingen af et plugin, fordi vedligeholdelse og videreudvikling ikke afhænger af én person.