Beskyt din WordPress blog bedre mod hackere og spammere

Da WordPress er et af de mest udbredte CMS systemer i verden, er det et naturligt sted for hackere og spammere at fokusere deres kræfter.
Wordpress "out of the box" kommer med nogle forskellige huller og informationer til hackere du reelt ikke behøver give dem. Jeg har her samlet en liste af forskellige plugins og best practices indenfor sikkerhed. Det er ikke meningen du skal installere samtlige ting jeg nævner, men det bør give dig et par forskellige alternative løsninger.

  • WP Security scan (sikkerhed)
    Få detaljeret oversigt over de potentielle huller der er på din blog og få forslag til hvordan du kan forbedre dem. Kan være emner som skrive-/læserettigheder på filer og mapper, svage passwords, henvisning til at udskifte admin brugeren  mv.
    Dette plugin vil være fint at køre først for at danne sig en baseline. (Når alt er rettet til, plejer jeg at deaktivere/slette dette plugin igen.)
  • Secure WordPress (sikkerhed)
    Et all-in-one sikkerheds plugin hvor du kan få beskyttet ting som din login side, mapper via en tom index.php fil, fjerner WP versionen mv. Du kan via interface rette til efter dine behov.
  • Login Lockdown (sikkerhed)
    Stop forsøg på at knække dit password på login siden. Hvis der laves X antal fejlforsøg på login fra samme IP adresse, kan du opsætte plugin til at blokere den IP i en given tid.
  • WordPress Guard Plugin (sikkerhed)
    Hvis du føler at have et ekstra behov for beskyttelse på din blog, kan dette plugin muligvis hjælpe dig. Den vil lave endnu et lag af sikkerhed med krævet login rundt omkring på bloggen. Fx. skal du først logge ind via dette plugin før du kan få lov at logge ind normalt via wp-admin.
    Dette ekstra lag af sikkerhed via dobbelt login siges at kunne beskytte ens blog mod fremtidige huller, da det lukker helt af for muligheden at tilgå admin filer uden login.
  • Akismet (spam)
    Dette plugin kender de fleste, da det automatisk følger med på en standard installation. Og for de fleste vil dette plugin være nok til at holde spam væk fra kommentarene. Bemærk du skal oprette en gratis API nøgle på WordPress.com for at få dette plugin til at virke.
  • WP-SpamFree (spam)
    Et alternativ til Akismet der kan holde spam væk fra din blog. Den kan holde både normale kommentarer og trackbacks/pingbacks rene for spam.
    Desuden medfølger der en beskyttelse af kontakt forms så du ikke behøver beskytte dig med CAPTCHA/reCAPTCHA.

Gode råd til at holde sikkerheden oppe (uden nødvendigvis at bruge plugins)

  • Hold din WordPress installation up-to-date
    Når du ser i WP-admin at der er udgivet en ny version, så få den installeret. De opdateringer er oftest lavet for at lukke huller i sikkerheden. (Bemærk: Mange anbefaler dog at skippe de nye store udgivelser fx. 2.9.0 og vente til første opdateringer kommer fx. 2.9.1 da de altid indeholder sikkerheds rettelser inden for versionen 2.9)
  • Hold dine Plugins og Tema up-to-date.
    Præcis som med selve WP, kommer der også løbende sikkerhedsfix til både plugins og tema. Sørg for at holde dem ajour med din gældende WP version. Opdater straks når du ser nye versioner klar.
  • Få slettet din "admin" bruger.
    En af de områder der bliver udnyttet mest, er at hackere får adgang til din administration via admin brugeren. Du bør altid sørge for at slette denne bruger og benytte en anden som administrator.

    • Her en kort guide til at fjerne admin brugeren:
    • Backup din database (just in case)
    • Opret en ny bruger du skal benytte fremover. Giv brugeren rollen: Administrator
    • Log ud og log ind igen med den nye bruger
    • Gå til brugeradministration og vælg Slet af brugeren "admin"
    • Sig herefter ja til at at samtlige indlæg admin har skal overflyttes til din nye administrator bruger.
    • Sørg derefter for at rette din nye administrator og benyt et andet kaldenavn end det du logger ind med. Du er nu færdig og langt bedre beskyttet mod login-angreb.
  • Tag backup med jævne mellemrum
    Det er altid en god ide at have backups af både filer og database. Man ved aldrig hvornår der sker noget uventet og du får behov for dem. Dine fysiske filer kan du lave backup via FTP og til din database kan du benytte plugins til at gøre dette. Jeg kan anbefale enten WP-DB-Backup eller WP-DBManager
  • Tillad ikke registrering af nye brugere
    Hvis du blot har en personlig blog og ikke har behov for andre får adgang til systemet, bør du deaktivere muligheden for andre kan oprette brugere. Sørg for punktet "Alle kan registrere sig" under Generelle indstillinger er deaktiveret.
  • Fjern din WP version fra kilden.
    Hvis du nu ikke benytter et plugin til at fjerne din WP version fra <head> i din kildekode, kan du ret nemt sørge for at WP ikke udskriver den. Gå til temaredigering -> Functions.php og indsæt denne linie i bunden af filen lige inden ?>
    remove_action( 'wp_head', 'wp_generator' );
  • Beskyt dine mapper
    For at beskytte dine mapper bedre mod folk der direkte kan browse til dine ubeskyttet mapper ala /wp-content/themes/dittema kan du enten indsætte en tom index.php fil i samtlige mapper.
    Alternativt du kan via din .htaccess forsøge at tilføje denne linie, der burde beskytte samtlige mapper mod browsing direkte.
    Options All -Indexes
    Sørg dog for at teste din blog grundigt hvis du benytter denne .htaccess mulighed. Det virker ikke på alle servere og kan give fejlkode 500.

Dette er ikke en facitliste med ting der med garanti vil hjælpe dig mod uvedkommen indtrængen på din blog, men i kombination kan det virkelig nedsætte risikoen for angreb der får succes. Listen kunne sagtens blive længere da der er endnu flere ting man kan gøre, men vil også prøve at holde indlægget i en nogenlunde længde.

Du kan nemt beskytte din blog ret godt ved at bruge en times tid. En smule tid der virkelig tjene sig hjem på sigt. Har man først engang skulle rydde op efter et angreb ved man godt hvad det kan koste i tid.

Kommentarer

Skriv en kommentar »

  1. 1. januar 18th, 2010 klokken 14:50

    Godt, at du lige får mig til at tænke lidt over sikkerheden. Det er ikke noget jeg har meget fokus på.

    Det er dumt, for jeg har faktisk oplevet, at en eller anden tosse slettede alle min artikler på en gammel blog…

  2. 2. januar 18th, 2010 klokken 14:51

    God artikel, Claus.
    Jeg kan tilføje lidt til sikkerheden ved lige at nævne et fyldestgørende indlæg jeg tidligere har skrevet om Sikkerhed i WordPress.

    Du er da blevet ekstrem aktiv med indlæg om WordPress – fedt at se.

  3. 3. januar 18th, 2010 klokken 15:01

    Tak Claus.
    (fordi du gjorde mig paranoid)

    Nej. Spøg til side.
    Der er noget, jeg skal i gang med.

  4. 4. januar 18th, 2010 klokken 15:09

    Som altid et godt og tankevækkende indlæg.
    Vi bruger selv WordPress Exploit Scanner fra http://ocaoimh.ie/exploit-scanner/

  5. 5. januar 18th, 2010 klokken 15:10

    @Simon: Ja har selv prøvet at være ramt på admin brugeren – det er ikke sjovt at skulle rydde og og checke alt igennem med en kam.

    @Brian: Ja de ligger lige til højrebenet da jeg arbejder en del med WP. Kan desuden spare en del tid ved at henvise til sådan et indlæg her, fremfor at gentage ting om og om igen.
    Tak for linket til artiklen, den havde jeg ikke lige set. Men den passer godt ind da du har emner man skal overveje og gøre inden selve install. Bla. Prefix ændring er netop en rigtig god ide.

    @John: Hehe, var ikke meningen jeg ville skræmme nogen.

  6. 6. januar 18th, 2010 klokken 15:13

    @Kurt: Interessant. Den kendte jeg ikke og vil da lige give den en tur. Især hvis man har mistanke om bestemte indlejringer.

  7. 7. januar 19th, 2010 klokken 21:51

    I er da også kun ude på at gøre min liste over forbedring længere og ikke kortere 😉

    Nej, super god artikkel, Claus. Du bringer rigtig mange gode punkter frem, som slet ikke havde krydset mine tanker – måske fordi, jeg er webdesigner, så tænker man mest i pixels, hehe

    Fortsæt det gode arbejde 😉

Trackbacks

Efterlad en kommentar, et trackback til din egen blog eller tilmeld dig mit RSS feed for denne post. Trackback URL for denne post Kommentar feed for denne post

Skriv en kommentar

Hjemmeside?

Preview
Dansk blog Engelsk blog
Twitter Claus Heinrich