Nytårsfortsæt og WordPress

januar 7, 2020 Slået fra Af lablox

Et lille nytårsforsæt for os der bruger wordpress.
Har du en WordPress side ? Er den sikker ?

Jeg er selv en glad bruger af WordPress, da det er et godt alternativ til mange andre hjemmesideskabeloner. Jeg vil gerne dele nogle af de tiltag jeg har lavet for at sikre min side.

WordPress driver ca. 30 % af internettets hjemmesider (referencer: https://www.google.com/search?q=wordpress+30+percent&oq=wordpress+30+&aqs=chrome.2.69i57j0l7.5775j0j7&sourceid=chrome&ie=UTF-8) hvilket betyder det er rigtigt mange hjemmesider.

Udfordringen er, mange virksomheder som private installerer hjemmesideskabelonen og så er vi kørende. Hvad med sikkerheden? den glemmer vi, hvilket kan skabe problemer på sigt. Både for vores omdømme og data, ikke mindst for vores kunder.

Jeg vil dele nogle af de tiltag jeg har lavet på min egen hjemmeside (som kun er til test og leg 😊)
Det her er ikke nogen 100% guide. Vil mene man højner sikkerheden bedre, end hvis man ikke havde nedenstående.

Https:

Mange webhoteller tilbyder et certifikat, som kan tilbyde HTTPS mellem brugeren og siden, så trafikken er krypteret. Dette skal man slå til , som ofte i kontrol panelet. Dette sikre dig midlertid ikke at det bliver ”tvunget” på når du besøger hjemmeside.  Dette klares nemt med følgende i en ”.HTaccess” fil, som er en del af serverens opsætning, som også køre på selve serveren og ikke kan tilgås fra internettet.

Tilføjer du følgende.


RewriteEngine On
RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Så når der kommer besøgende på siden, bliver besøget tvunget over på den sikre forbindelse, nemlig HTTPS og ikke bare http.

Nu har vi sikret, at kommunikationen mellem brugeren og siden er sikker.

DMARC

Dmarc er et DNS (Domain Name Server) begreb, som dækker over 3 elementer. SPF, DKIM og DMARC

SPF (Sender Policy Framework) sikre, at vi tilføjer vores mailserver i DNS. Så en modtager kan verificere mailserveren fra en modtager. Passer mailserveren ikke med det som SPF recorden siger, bliver mailen afvist, karantæner afhængig af opsætningen i DMARC.

Eksempel.

Host DITDOMÆNE.dk
Text v=spf1 +mx +a +ip4:MAILSERFVER IP ~all
TTL 43200

DKIM (Domain Key Identified Message) er en mekanisme, hvor vi tilføjer en nøgle i DNS, som skal passe med den nøgle som vi sender afsted med vores mail. Så en modtager kigger i headeren fra modtageren og kan se der er en DKIM, så skal den modtagenden nøgle passe sammen med det som står i DNS. Gør det ikke det, bliver mailen afvist baseret på opsætningen af DMARC.

Eksempel.

HOST: default._domainkey.DITDOMÆNE.dk
TEXT: v=DKIM1; k=rsa; p=EN MEGET LANG NØGLE SOM AUTOGENERERES; (Kan laves her: https://dkimcore.org/tools/keys.html)
TTL: 43200

Dmarc er den opsætning jeg som domæne ejer sætter op. Her fortæller jeg hvad modtagere af falske mails skal gøre ved modtagelsen. Den bedste løsning, som anbefales er mails skal slettes. Dette kan man dog ændre ved opsætningen og test.

Eksempel.

Host _dmarc.DITDOMÆNE.dk
Text v=DMARC1; p=reject; rua=mailto:dmarc@DITDOMÆNE.DK;
TTL 43200

Nu har vi sikret domænet imod misbrug, så andre ikke kan udgive sig for at være dit domæne.

Opdateringer og auto opdateringer.

Her er det med forskel hvem du har som udbyder. Tjek med jævne mellemrum om der skulle være kommet opdateringer.

Dette kan klares ret nemt, for installere man det plug-in som hedder Wordfence. Så sender den dig en mail, når der er ting som kræver din opmærksomhed.

Derefter log på din side og klik ”opdatere.

Nu har vi sikret os, at vi ser opdateringerne som kommer til hjemmesiden. Vi skal blog logge på og klikke ”opdater” for at holde siden opdateret og mere sikker.  

Blokering af login

Skulle der stadig være nogen der forsøger at logge på. Så findes der plug-ins til WordPress der kan blokere brugere efter 5 login forsøg. Hvilket højner sikkerheden en lille smule. Dette kan dog hurtigt omgås ved at man anvender en VPN forbindelse og får en ny IP.

Nu har vi sikret siden til kun 5 login forsøg.

Kodeord

Det er altid en god ide, at anvende stærke unikke koder.
Dette kan klares på mange måder

Memorisering af koderne, Det kan være en sang eller tekst du kan huske. Det har fordelen i, at du ikke gemmer koder 1 sted, dog kan man som menneske glemme dem.

alternativ kan du bruge en kodeordsmanager og huske 2FA som kommer længere nede.

Se hvordan et godt kodeord kan se ud ( https://passwordsgenerator.net/ )
Brug ikke koder fra en online tjeneste som denne , det er kun for eksemplets skyld 🙂

2FA (Two Factor Authentication)

Har man installeret wordpress, så skal vi blot aktivere 2FA, så vi sikre vores hjemmeside bedre. Det er super nemt med google authenticator (Kilde: https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=da)

Installere appen og derefter aktivere 2FA på hjemmesiden. Scan koden på din egen hjemmeside, og nu er det sat op til at fungere. Næste gang du logger på, skal du taste koden fra appen for at få adgang.

Nu har vi sikret siden markant bedre ved bruteforce angreb (automatiseret angreb for loginforsøg)

Content Security Policy (CSP)

CSP forhindre Cross Site Script angreb (XSS) . Dette kan for den almindelige brugere være lidt mere kompliceret at kaste sig ud i. Dog findes der igen et plug-in til WordPress som kan hjælpe os med dette.

” HTTP security” kan installeres og derefter kan vi konfigurere den som vi vil have det.

Jeg har lavet følgende i fanebladende (fulgt standardopsætningen)

Fanebladet ”general”

vinget af i “Force HSTS” Og vinget alle af

  • Force XSS protection
  • Disable content sniffing
  • Remove PHP version information from HTTP header
  • Remove WordPress version information from header

Fanebladet ”CSP Options”

Vinget af i ”enable Content Security”

Sat ‘self’ (Så henter jeg kun internt indhold på siden og ikke ude fra Internettet, hvad indholdet angår)

Samme for Base-uri i ”document directives”

Fanebladet ”feature policy.

Vinget af i Feature Policy

Feature                                                             Value (please specify)
autoplay                                                          ‘none’
camera                                                            ‘none’
document-domain                                        ‘self’
encrypted-media                                           ‘self’
fullscreen                                                        ‘self’
geolocation                                                     ‘none’
microphone                                                    ‘none’
midi                                                                  ‘none’
payment                                                          ‘none’
vr                                                                      ‘none’

Fanebladet .HTACCESS som er I beta. Har jeg ikke lavet noget.

Nu har vi sikret, at indhold på siden er kun fra vores side. Mindsket risikoen for XSS, malware distribution og sikret os at vi tvinger sikker forbindelse med HTTPS og HSTS.

Kilde : https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP

Ovenstående håber jeg på at kunne inspirere andre brugere af wordpress og hjemmesider, til at højne sikkereheden. Hvis vi alle forsøger at blive bedre, så bliver nettet et bedre sted at være 🙂