52 86 56 00 admin@iktfag.com
Sikkerhet WordPress

Sikkerhet WordPress

Sikkerhet WordPress

Hvordan sikre din WordPress-side

Rune, IKT-Servicefag, Haugesund
06 Februar 2017

Når man har ansvaret for å drifte en webside som WordPress, er det svært viktig å tenke sikkerhet hele tiden. Den siste rapporten fra Sucuri i 2018 indikerer at mange nettsider ikke er godt nok sikret. Ved å lese gjennom denne tutorialen og følge rådene som blir gitt, sørger du for å drastisk redusere risikoen for at ditt nettsted blir kompromittert.

Å drive med sikkerhet handler ikke om å eleminere all sikkerhetsrisiko. Det handler om å redusere sikkerhetsrisikoen.

Denne gjennomgangen tar utgangspunkt i at du har opprettet et såkalt Child-theme. Dersom du ikke vet hvordan dette gjøres, kan du lese mer om det her.

1.0 Valg av Host er viktig

Det finnes etterhvert et hav av billige webhoster på Internett, men billig er ikke nødvendigvis det beste. Såkalt shared hosting kan ofte føre til at du må dele serverplass og ressurser med et utall andre nettsider. Dette er i seg selv en sikkerhetsrisiko og noe du bør tenke nøye gjennom når du velger host. Vårt råd er at man investerer noen ekstra kroner i en host som ikke har for mange brukere på den samme serveren. Samtidig skjønner vi at pris i oppstarten er av betydning. En løsning er å begynne med shared hosting der ikke alt for mange nettsider ligger og deretter eventuelt skalere din hostingplan til noe bedre når trafikken på nettsiden øker.

En god host sørger for at serverne har daglig backup, at de fokuserer på sikkerhet og funksjonalitet, samt at de yter god support. Ikke minst bør de fleste tenke gjennom hvor bedriftens data skal ligge. Ved å velge et norsk hostingselskap, sørger vi for at det er norske lover og regler som gjelder i forhold til innsyn i dataene.

Vi har selv prøvd ulike webhoster gjennom årenes løp, og kan uten tvil si at vår nåværende host ivaretar våre interesser på en meget god måte.

PROISP i Sandnes
Anbefales av oss på IKT-Servicefag i Haugesund

2.0 Valg av Template

Når du installerer WordPress, følger det automatisk med flere eksempel-templates som du kan benytte deg av, men ofte ønsker vi å installere noen templates som har litt mer funksjonalitet i seg enn de som følger med som default.

Sørg for å velge en template som kontinuerlig oppdateres slik at sikkerheten ivaretas. Å velge en seriøs leverandør av templates vil sørge for at sikkerhetshull, funksjonalitet og optimalisering kontinuerlig utvikles og oppdateres.

Et godt kodet template sørger dessuten for at din nettside vil laste raskere i en nettleser. Valg av et godt template vil garantert spare deg for mye frustrasjon senere. Vi på IKT-Servicefag benytter templates fra Elegant themes.

«Å drive med sikkerhet handler ikke om å eleminere all sikkerhetsrisiko. Det handler om å redusere sikkerhetsrisikoen»

3.0 Utvidelser

Styrken til WordPress er at det finnes tredjeparter som hele tiden utvikler utvidelser, såkalte plugins. Det finnes i dag ca 43 000 plugins du kan installere i WordPress for økt funksjonalitet. De fleste som er nybegynnere i WordPress installerer imidlertid ukritisk flere utvidelser enn det de trenger. Vårt råd er som følger:

3.1 Avinstaller de utvidelsene du ikke benytter, WordPress kommer nemlig preinstallert med et knippe utvidelser. Hver utvidelse er et potensielt sikkerhetshull og da er det like godt å redusere risikoen ved å avinstallere de man ikke trenger å bruke.

3.2 Alltid last ned utvidelsene fra den offisielle nedlastningssiden til WordPress. Dette gjør du gjennom dashbordet i adminområdet til din WordPress-side.

3.3 Sjekk om utvidelsen du ønsker å installere blir oppdatert med jevne mellomrom og om den er kompatibel med din versjon av WordPress. Dersom du registrerer at utvidelsen ikke har blitt oppdatert på lang tid, ville jeg latt være å installert den. Som regel finnes det flere ulike plugins å velge i som gjør den samme jobben.

4.0 Sikkerhetsutvidelser

Det er mange gode utvidelser du kan benytte deg av for å øke sikkerheten i WordPress, både betalte og gratisversjoner. Vi på IKT-Servicefag benytter stort sett en kombinasjon av gratisversjonene av Wordfence og IThemes security. Samlet sett gir disse gratisversjonene en sikring som ivaretar våre nettsider.

I tillegg installerer vi alltid Akismet for å sørge for å minimalisere spammengden på våre nettsider. Akismet kommer ferdig installert med WordPress, så denne trenger du ikke å installere, men du er nødt til å aktivere den med en API-nøkkel som du får gratis ved å registrere deg på leverandørens nettsider.

5.0 Oppdateringer

Husk alltid på å oppdatere ditt template, utvidelser og WordPress. Det er mange nettsider der ute som er dårlig sikret nettopp fordi det slurves med oppdateringer.

Det er mulig å sette WordPress til å automatisk oppdatere seg selv, men husk da på at dersom du av en eller annen grunn får en feil i oppdateringen, er det ikke like fort gjort å oppdage at nettsiden din ligger nede.

Vår anbefaling er at du sjekker nettsiden din minst et par ganger daglig for å se etter oppdateringer. Du kan også stille inn Wordfence slik at du får e-post dersom det er oppdateringer tilgjengelig for plugins, template og selve WordPress.

6.0 Dette må du huske på når du installerer WordPress

For å unngå sikkerhetsproblemer og merarbeid på et senere tidspunkt, er det lurt å tenke sikkerhet i fra dag en når man installerer WordPress. Nedenfor er det listet opp flere delpunkter som kombinert vil gi deg en meget god og sikker start.

6.1 Wp-Prefix

I utgangspunktet er en WordPress-installasjon meget sikker.  Dessverre finnes det aktører som ofte finner veier forbi når vi som adiministratorer ikke oppdaterer plugins og templates. Dermed er det like greit å gjøre det vi kan for å øke sikkerheten på våre nettsider.

De fleste installasjoner av WordPress vil automatisk få prefikset wp_ i sin database. Aktører som ønsker å kompromittere din nettside vet at dette er et standardoppsett i en WordPress database. For å ikke gjøre hverdagen til de som ønsker å angripe din side enklere enn nødvendig, er det relativt fort gjort å forandre prefikset under installasjonen. Det er enklere å gjøre dette i innstallasjonsfasen enn å gjøre det senere. Bruk noe originalt som f.eks. ikt234fag_. Denne jobben er gjort på få sekunder, men vil drastisk øke sikkerheten på din database og nettside.

Illustrasjon av standard prefiks i WordPress
Som beskrevet ovenfor er det lurt å bytte ut standard-prefiks med noe annet

6.2 Brukernavn og Passord

Når du installerer WordPress, vil default brukernavn opprettes som admin. Det sier seg selv at dersom du ikke forandrer standard brukernavn, så er ikke sikkerheten din på topp. Da blir det enklere å Brute force passordet ditt for å komme inn på siden din.

Generelt kan man si at et passord bør bestå av store og små bokstaver, tall og tegn. Da blir det straks værre å «gjette» seg til hva som er passordet ditt.

Eksempel på passord: Ra/kkeFor358NT/*S9RK

Vår anbefaling er at du umiddelbart oppretter en ny bruker med administrator-rettigheter. Dette kan du gjøre i admin- dashbordet inne på WordPress. Denne nye brukeren får da en annen ID i databasen din. Normalt sett vil den første brukeren bli tilegnet verdien 1, noe som potensielt kan benyttes til å komprimittere din side. Deretter lager du et annet admin- brukernavn med noe originalt som bare du kan vite. Eventuelt kan du benytte en e-post- adresse.

Ditt passord bør, som tidligere nevnt, være sterkt. Når du er ferdig med dette, kan du slette den gamle admin- brukeren.

6.2.1 Bedre føre var plakat

Plakaten nedenfor gir en god pekepinn på hva du bør tenke på når du oppretter et passord.

6.3 To-faktor Autentisering

Dersom du nå har laget et sterkt brukernavn og passord, skulle du være godt sikret. Men hvorfor ikke sørge for enda bedre sikkerhet ved å installere en to-faktor autentisering?

Hver gang du logger deg inn på din WordPress-side, vil du dermed måtte legge inn en ekstra kode fra telefonen din. Dette sørger for at sikkerheten eskalerer betraktlig.

Du kan bruke et eget plugin for dette, for eksempel Google Authenticator, men Wordfence har også fått to-faktor autentisering inn i gratisversjonen.

6.4 Fjern muligheten for å redigere kjernefiler fra dashbordet

WordPress har gjort det svært enkelt for oss brukere ved å tilby direkte redigering av filer på dashbordet. Dette er vel og bra, men åpner samtidig opp for at en eventuell inntrenger som klarer å bryte seg inn, kan forårsake mye skade. Vårt råd er at du som administrator fjerner denne muligheten for å øke sikkerheten.

 Det finnes flere måter å gjøre dette på. De to vanligste er;

 1. Rediger direkte i wp-config.php- filen.

Da må du først åpne wp-config.php i CPanel eller gjennom FTP. Koden du legger inn blir da følgende:

2. Gjennom utvidelsen IThemes Security

 

Naviger deg frem til dashbordet i IThemes Security. Kryss av for at du ønsker å disable file editor. Trykk deretter lagre.

6.5 Filrettigheter

Sørg for at filer og mapper i din WordPress- installasjon har optimale rettigheter. Sjekk at mapper har verdien 755 og at filer har verdiene 644. Logg deg inn i CPanel eller via FTP for å sjekke rettighetene. Disse rettighetene kan du også forandre direkte i IThemes Security. Rettighetene på en mappe vil se ut som vist nedenfor:

6.6 Fjern WordPress- versjon

Sørg for å fjerne hvilken WordPress- versjon du kjører på. Det er ingen vits i å gi potensielle inntrengere mer informasjon enn nødvendig. Legg følgende kode inn i funksjon.php- filen din, men sørg for at dette gjøres i filene som ligger under ditt Child-tema, som tidligere nevnt.

Dersom du ikke har en funksjon.php- fil, så kan du lage denne f.eks. i Notepad og laste den opp i child-mappen din.

6.7 Fjerne Pingbacks og Tracebacks

Kort forklart så er disse funksjonalitetene en slags kommunikasjon på tvers av ulike wordpress-sider. Resultatet av å ha denne funksjonaliteten påslått, er dessverre 99 % spam. Av sikkerhetsmessige årsaker anbefales det derfor å slå dem av.

6.8 Backup

Bakup er kanskje den viktigste sikkerhetsrutinen av alle. Den dagen du logger deg på og skjønner at her er det ett eller annet som ikke stemmer, så er det for sent dersom du ikke har bakup- rutiner på plass.

Sucuri hjalp 25466 forskjellige nettsider med å rydde opp etter at nettsiden var blitt hacket. Dette er bare en liten brøkdel av alle de nettsidene som blir kompromittert i løpet av et år, – i 2016 rapporterte Google at det var stjålet eller forsøkt stjålet info fra 50 millioner nettsider i løpet av året. 

Å bygge opp en nettside krever både tid og penger. Alle som har fått inntrengere inn på sitt nettsted vet hvilken fortvilelse det er å se at mye hard arbeid kanskje er borte for alltid. Heldigvis trenger det ikke å være slik, men da du sørge for å ta backup.

Backup-løsninger finnes det mange av. Som jeg nevnte innledningsvis, vil en god host sørge for at det blir tatt backup. Dette er selvsagt meget bra, men det er uansett en god rutine å selv sørge for at du kan ta egne backuper.

Backup via CPanel

Du kan logge deg inn på CPanel og ta backup av f.eks; home_directory, database, e-post, etc.

Backup ved bruk av plugins

Selv om du har en host som kanskje tar backup, skal du aldri nøye deg kun med det. Sørg også for selv å ta backup. Av plugins finnes det et rikt utvalg, både betalte og gratisversjoner. De fleste har en mening om hvilken plugin som fungerer best og dermed blir det funksjonaliteten som ofte avgjør hva vi velger.

Noen plugins kan ha mange innstillinger og muligheter, mens andre har et mer minimalistisk utseende og funksjonalitet. Noen plugins har automatisk backup, mens andre er manuelle. Det viktigste er at du velger en backup- løsning som faktisk tar backup, og at det er relativt enkelt å implementere bakupen i etterkant dersom uhellet skulle inntreffe.

Noen ønsker også at backupen skal lagre seg på Dropbox, Onedrive eller Google Drive. Hvor du ønsker at backupen skal lagres vil dermed også kunne være avgjørende for hvilken plugin du velger.

Det er likevel noen plugins som går igjen som anbefalte løsninger; BackupBuddy, VaultPress, UpdraftPluss og Duplicator. Vi på IKT-Servicefag har testet ut samtlige av disse utvidelsene og har aldri opplevd problemer.

Det finnes selvsagt langt flere backup-løsninger enn dette. Sjekk gjerne ut hva som finnes av WordPress-plugins.

6.9 Fjern katalogvisning i WordPress

Når en webserver ikke finner en indeks fil (dvs. en fil som index.php eller index.html), gjennom et søk i en nettleser, vil den istedenfor automatisk vise en indeksside som viser innholdet i katalogen.

En slik indeksering av ditt nettsted kan gjøre din nettside mer sårbar for angrep ettersom viktig informasjon kan bli utnyttet. Sårbarheten kan eksempelvis være i en WordPress plugin, kategorier eller serveren din generelt. Så hva kan vi gjøre med det?

Det du trenger å gjøre er å legge inn en kode i  .htaccess-filen din. Denne filen ligger i rotkatalogen på nettstedet ditt. For å redigere .htaccess filen må du koble deg til nettstedt ditt ved hjelp av en FTP-klient eller via CPanel.

Htaccess er normalt en skjult fil, og hvis du ikke finner den på serveren din, må du sørge for at du eksempelvis har aktivert FTP-klienten til å vise skjulte filer.

Du kan redigere .htaccess filen ved å laste den ned til skrivebordet og åpne den i et tekstredigeringsprogram som notisblokk. Legg deretter følgende kode inn i .htaccess filen din.

Katalogvisning er nå deaktivert på ditt nettsted og det vil nå vises en 404 side istedenfor. Legg ellers merke til at denne funksjonaliteten også finnes gjennom utvidelsen til IThemes Security.

6.10 Login-URL

Under installasjonsprosessen, lager WordPress automatisk to standard påloggingsadresser. Det er følgende adresser:

    wp-admin.php
    wp-login.php

Gitt at disse to innloggings URLene er en potensiell sikkerhetsrisiko, er det noe overraskende at WordPress ikke gir oss brukere muligheten til å lage vår egendefinerte påloggings URL. Dersom disse URL-ene blir stående som default, er det lett å se for seg at de er det primære målet for et Brute force angrep.

Selv om WordPress ikke tillater oss å tilpasse påloggingsadressen som standard, er det fullt mulig å gjøre noe med det likevel. Vår anbefaling, og den enkleste, er at du benytter deg av den innbakte funksjonaliteten i IThemes Security. Der vil du få muligheten til å overstyre innloggings-URLene med din egen innlogging.

Uten unntak ser vi at dette grepet fører til en drastisk reduksjon i forsøkene på å Brute force seg inn på våre sider. Det er kanskje ikke så rart ettersom vi nå har fjernet de tradisjonelle innloggingsmetodene.

6.11 Beskytt kritiske filer

Noen filer er viktigere å beskytte enn andre. Dette gjelder spesielt wp-config.php og .htaccess. Disse filene inneholder svært sensitiv informasjon om din nettside og bør beskyttes med et ekstra lag av sikkerhet.

Den enkleste måten å gjøre dette på er å benytte seg av IThemes Security. For de av dere som heller vil gjøre det på den «tungvinte» måten, les videre.

Bruk følgende kode i .htaccess for å manuelt beskytte selve .htaccess- filen og wp-config.php. Det betyr ingenting hvor du legger inn koden mtp rekkefølgen av tidligere kode som ligger i .htaccess:

Flytte WordPress wp-config.php filen til en ny lokasjon?

wp-config.php inneholder mye sensitiv informasjon og det kan derfor være lurt å flytte den ut av mappen WordPress er installert i. 

Så lenge du kun flytter wp-config.php ett hakk opp skal WordPress fortsatt finne filen. 

Det betyr at dersom din nettside nå ligger her: /hjem/dinbruker/public_html/

Skal wp-config.php flyttes til: /hjem/dinbruker/

I stedet for å ha all sensitiv informasjon lagret i en mappe andre potensielt kan få tilgang til blir informasjonen nå hentet fra en annen lokasjon som ingen andre har tilgang til.

WordPress sin guide for å sikre WordPress-installasjonen din har et avsnitt om dette som du og kan ta en kikk på.

Vær imidlertid oppmerksom på at filbanen / hjem / dinbruker / kan variere fra ulike webservere eller webhost-leverandører.

6.12 -SSL-Kryptering

SSL (Secured Socet Layer) er en funksjonalitet som krypterer trafikken til og fra ditt nettsted. De fleste webhoster tilbyr i dag et ssl-sertifikat når du bestiller et webhotell.

SSL blir et ekstra lag med sikkerhet, og spesielt er dette viktig dersom du har betalingsløsninger gjennom en nettbutikk. Jeg hadde ikke handlet i en nettbutikk der kryptering manglet.

Google har også gitt klare indikasjoner på at de ønsker alle nettsteder over på ssl, og har samtidig sagt i klartekst at sider med ssl vil bli rangert foran sider uten ssl i deres søkemotorer.

Det finnes flere typer ssl-sertifikater. De som følger med i prisen hos en webhost, er ikke nødvendigvis noe dårlig valg. Men ved å investere noen kroner i et litt bedre sertifikat, følger det med visse fordeler. Denne tutorialen vil imidlertid ikke gå inn på de ulike forskjellene på ssl- sertifikater. Det finnes nok lesetoff der ute for de som ønsker å fordype seg i dette. Uansett, dersom du har tilgang til et ssl-sertifikat bør du installere dette.

6.13 Diverse sikkerhetstips

I IThemes Security finnes det relativt mange interessante instillinger du kan gjøre for å bedre sikkerheten:

File detection: Du kan sette opp ITemes Security til å loggføre forandringer som skjer med kjernefilene dine og få dem tilsendt på e-post. Dette gir deg en god indikasjon på om det skjer noe som ikke burde skje.

Automatic Ban: Utvidelsen fra IThemes kan også sette opp til å stenge ute angripere ved å sette opp visse kriterier på forhånd.

Disable Xml-RPC: For noen år siden ble Xml-RPC innbakt i WordPress. Kort forklart er dette et API som kan samhandle med andre programmer. Problemet med selve APIet, er at scriptet blir benyttet av angripere til å intensivere Brute Force angrep.

Ved å benytte denne funksjonaliteten kan en angriper teste ut flere passordfraser enn de ville klart uten. Dette blir dermed en sikkerhetsrisiko. Vi på IKT-Servicefag leser selv ut av våre logger at angripere til stadigheter prøver å finne vår Xml-RPC- funksjon, men den har vi disablet.

Dersom du f.eks. har installert en plugin fra Jetpack, som er en vanvittig populær sikkerhetsplugin, vil ikke denne fungere. Når det er sagt, vi har ikke opplevd problemer hos oss ved å disable Xml-RPC.

Error Messages: Vi har også valgt å disable feilmeldinger som dukker opp dersom en bruker taster inn feil brukernavn eller passord. Det er ingen vits i å gi en uønsket aktør hint om at de har tastet inn feil. Dermed anbefales det fra oss å disable denne funksjonen gjennom IThemes Security.

 

6.14 Avsluttende ord

Å sikre en nettside i WordPress handler om så mye mer enn å installere en sikkerhetsplugin og la det bli med det. Det er subtile nyanser som vi må ta høyde for slik at vi har en komplett sikkerhetsstrategi.

Noen av tipsene på denne siden har du kanskje fått med deg fra før, og kanskje lærte du noen nye. Dersom du savner noen detaljer her som du synes er viktige, vennligst la oss høre fra deg i kommentarfeltet nedenfor.

Jeg har spart den siste sikkerhetstrusselen til sist. Ikke overraskende er det nettopp DEG jeg snakker om. Bruk sunn fornuft og ta deg god tid til å planlegge en nettside som du og dine lesere kan få glede av i mange år fremover.

Vær blant de første til å motta våre nyhetsbrev!

Meld deg på her!

SYSCO ARENA
Trøkk på utdanningsmessen i Sysco Arena
KURSVIRKSOMHET
Vi tar gjerne i mot bestillinger på kurs
UTDANNING FOR FREMTIDEN
Vi er rett og slett best på det vi gjør