Security website
De beveiliging van je website zorgt er niet alleen voor dat je website niet gehackt wordt, maar beschermt ook de veiligheid van je bezoekers.
Gelukkig nemen steeds meer website-eigenaren de beveiliging van hun website serieus. Al is het maar vanwege aangescherpte wetgeving (meldplicht datalekken) of de voorkeur van Google voor beveiligde websites zonder malware.
Waar moeten we ons tegen beveiligen?
- Hackers die uit zijn op de privégegevens van onze bezoekers. Dit is een van de grootste bedreigingen. Er is sinds enkele jaren ook veel om te doen geweest. Nieuwe wetten die bedrijven en organisaties verplichten een datalek te melden. Boetes die uitgedeeld worden wanneer de beveiliging niet op orde is en een reeks aan grote datalekken waarbij onze gegevens buit zijn gemaakt.
- Hackers die erop uit zijn om je website over te nemen. In dit geval merk je meestal niets van de hack en wordt je website gebruikt in een DDoS-aanval. Over het algemeen maken deze hacks gebruik van bekende zwakke plekken van je CMS of de plug-ins van je CMS.
- Spambots die formulieren of commentgedeeltes misbruiken om spamlinks te plaatsen. Dit probleem wordt vaak onderschat maar de links die geplaatst worden gaan vaak naar websites waarop phishing of malware actief is. Laat je deze links staan op je website, dan faciliteer je dus eigenlijk dat er bij je bezoekers schadelijke software wordt geïnstalleerd.
De checklist
Deze checklist is bedoeld voor iedereen die een website beheert. Van de website voor de plaatselijke sportclub tot de website voor een multinational. Allemaal krijgen we te maken met hackers en spambots en moeten we verantwoordelijk omgaan met de gegevens van de bezoekers op je website.
Je hoeft geen programmeer- of webdevelopmentkennis te hebben om de beveiliging van je website op order te krijgen. Bij veel van de punten in de checklist is het wel handig als je weet hoe je een back-up kunt maken van je website en hoe je een plug-in of een module installeert.
Kun je dit niet, maar ben je wel verantwoordelijk voor de website? Overleg deze lijst dan met degene die je website heeft gebouwd of onderhoudt.
De checklist is niet gericht op developers of engineers die verantwoordelijk zijn voor de beveiliging van de code van een website en de server waar je een website op host.
1# Houd je CMS en alle plug-ins, modules en themes up-to-date
Met name bij een opensource-CMS is het zaak dat je CMS en de plug-ins up-to-date zijn. Open source biedt ontzettend veel voordelen maar een van de nadelen is dat als je software verouderd is, de kans groot is dat deze beveiligingslekken bevat die hackers kunnen gebruiken om bijvoorbeeld je website over te nemen.
2# Maak geen aanpassingen aan de core van je CMS
Of instrueer je websitebouwer dit absoluut niet te doen. Door aanpassingen te (laten) maken aan de software van je CMS kun je het CMS misschien wel naar je eigen hand zetten, maar het nadeel is dat je soms maar gedeeltelijk of helemaal niet meer gebruik kunt maken van de security-updates die uitkomen voor je CMS. Je website raakt verouderd en de kans is groot dat je gehackt wordt.
3# Beperk het aantal plug-ins en modules
De ketting is zo sterk als de zwakste schakel. Door veel plug-ins of modules te gebruiken voeg je extra schakels toe. Eén van deze plug-ins of modules hoeft maar een beveiligingslek te bevatten om ervoor te zorgen dat je website gehackt kan worden. Gebruik modules en plug-ins daarom met mate.
4# Verwijder plug-ins en modules die je niet meer gebruikt
Het kan zijn dat je bij de bouw van je website bepaalde modules of plug-ins hebt geïnstalleerd die nu niet meer gebruikt worden. Dat betekent niet dat deze code niet meer beschikbaar is.
Dat geldt voor plug-ins en modules van je CMS, maar ook voor andere software. Bijvoorbeeld een oude versie van de website. Deze is vaak wel bereikbaar voor hackers en wordt meestal ook niet meer onderhouden.
Voor WordPress is er de plugin: Plugin Activation Status en voor Drupal heb je de module: Unused Modules die je precies vertellen welke plugins of modules niet gebruikt worden en je dus kunt verwijderen.
5# HTTPS
Dit is het slotje dat je bij beveiligde websites ziet, links van het websiteadres. Het betekent dat het verkeer tussen de browser en de server versleuteld wordt.
Gelukkig is dit een vrij standaard beveiliging aan het worden. Deels doordat overheidsorganisaties verplicht zijn HTTPS te gebruiken en doordat Google websites zonder HTTPS-verbinding lager in de zoekresultaten plaatst.
Er zijn verschillende manieren om je website met HTTPS te beveiligen.
6# Installeer anti-spamtools
Binnen je website kun je op verschillende manier spammers tegengaan. Bekend zijn de captcha’s waarbij de bezoeker een plaatje te zien krijgt van letters en cijfers en moet intypen welke letters en cijfers getoond worden. Maar er zijn ook tal van andere gebruiksvriendelijke methodes.
Zo kun je een onzichtbaar invoerveld aanmaken dat niet te zien is voor je bezoekers, maar door spambots wel wordt ingevuld. Zo kun je bezoekers en bots van elkaar scheiden. De modules Spamicide en Honeypot voor Drupal werken bijvoorbeeld op deze manier.
Nog een manier is om te controleren of degene die een reactie plaatst of formulier invult op jouw website niet op een spamblacklist staat. Project Honeypot is een initiatief waarbij websites samen een blacklist bijhouden van spammers.
Krijg je nog steeds spammers op je website nadat je gebruik hebt gemaakt van gebruiksvriendelijke anti-spamtools? Dan is de Google reCAPTSCHA een uitkomst. Deze vereist alleen een klik van de bezoeker.
7# Pas het login-URL van je CMS aan
Bekende CMS-en zoals Joomla, Drupal en WordPress hebben een bekende inlog-URL zoals /administrator, /user en /wp-admin. Je houdt een hoop hackers en bots tegen die bijvoorbeeld fake-accounts proberen aan te maken op je website door deze URL aan te passen.
Je kunt je login- of admin-path makkelijk aanpassen via een van de volgende plug-ins / modules:
De Custom Login-url plugin voor WordPress.
De Rename Admin Paths module voor Drupal.
En de AdminExile extensie voor Joomla.
8# Laat gebruikers verplicht een krachtig wachtwoord gebruiken
Sommige CMS-en vereisen al het gebruik van minimaal 8 tekens en een combinatie van cijfers en letters. De CMS-en die dit niet direct kunnen, kun je meestal uitbreiden met een plug-in of module waardoor dit wel strikter wordt.
9# Voeg two-step authenticatie toe
Nog beter dan een krachtig wachtwoord is two-step authenticatie. Naast de correcte logingegevens moet je dan een code invoeren die je ontvangt via SMS of die verschijnt in een authenticator-app.
Google heeft bijvoorbeeld zo’n authenticator-app en steeds meer diensten bieden dit aan als extra beschermingslaag. Je kunt deze app gebruiken om jouw website beter te beveiligen.
Voor Drupal kun je gebruik maken van de GA Login module. En voor WordPress is er de Google Authenticator plugin.
10# Laat bezoekers geen bestanden uploaden
Handig bij een sollicitatieformulier maar het vormt wel een beveiligingsrisico. Niet alleen voor de server of het CMS, maar ook voor de mensen die de bestanden moeten downloaden en openen. Daarnaast gaat het vaak om bestanden met veel persoonlijke gegevens, zoals cv’s, waarvan je absoluut niet wilt dat deze op straat komen te liggen.
11# Creëer een beveiligingsbuffer via Cloudflare
Cloudflare is een dienst die kan opereren tussen je bezoeker en de server van je website. Daardoor kan het ongewenste bezoekers tegenhouden, je website beveiligen met een SSL-certificaat en zelfs DDOS-aanvallen tegenhouden. Het is gratis en maakt je website ook nog sneller.
12# Koppel je website aan Google Search Console
Meestal wordt dit gedaan vanuit SEO-perspectief. Je kan binnen de Search Console bijvoorbeeld zien met welke zoekwoorden bezoekers bij je website komen. Maar de Search Console controleert ook je website op Security issues.
13# Installeer een securityplug-in of module binnen je CMS
Je hebt plug-ins en modules die alleen monitoren en advies geven. Deze kijken bijvoorbeeld naar directories die openstaan qua rechten voor buitenstaanders en melden dit. Maar je hebt ook plug-ins en modules die een extra bescherming toevoegen.
Het voordeel van deze securityplug-ins en modules zijn in ieder geval dat ze specifiek naar de zwakke plekken kijken van jouw CMS.
Voor Drupal heb je bijvoorbeeld de module Security Review. Voor WordPress zijn er verschillende plugins, Word Fence is het meest gebruikt en wordt goed bijgehouden. Voor Joomla is RS Firewall een bekende security extension.
14# Doe een securityscan of laat deze doen
Deze scans zijn meestal beperkt in de zin dat ze niet kijken naar zwakke plekken binnen je CMS. Over het algemeen wordt er gekeken naar fouten in je HTML, onveilige instellingen op je hosting server of correcte configuratie van je SSL certificaat. Dit zijn een enkele bekende security scanners:
15# Investeer in een goede hostingprovider
Het is natuurlijk moeilijk te bepalen of een hostingprovider goed is. Meestal kom je hier pas achter als de website al een tijdje bij de hostingprovider draait.
Prijs zegt niet zoveel en grootte ook niet. Maar je zou wel een beetje research kunnen doen. Bekijk hun twitterfeed; gaat dit meer over acties en kortingen dan over security en innovatie, dan weet je genoeg. Datzelfde geldt voor hun website, blog en Facebookpagina.
Je kunt vanuit jouw kant alles op orde hebben maar als je website bij een hostingprovider staat die zijn servers niet up-to-date houdt, dan is het dweilen met de kraan open.
16# Vraag je hostingprovider om hulp en advies
Hostingproviders weten natuurlijk alles over de problemen rondom hackers en spammers. Sommige hostingproviders bieden extra beveiligingsdiensten aan zoals security-audits of tools die periodiek je files scannen op malware.
17# Houd je admin-accounts beperkt
We zien vaak dat er te makkelijk en te vaak admin-accounts worden uitgedeeld. Deze admin-accounts mogen alles binnen je CMS. Plug-ins en modules installeren, gebruikers wissen, exports maken van je database of de website offline plaatsen. Daarom is het belangrijk voorzichtig met deze rol binnen je CMS om te gaan.
- Creëer voor gebruikers een beperktere rol die wel alle content kan beheren, maar bijvoorbeeld niet modules of plug-ins kan installeren.
- Behoud de adminrol alleen voor mensen die ook daadwerkelijk alles moeten kunnen.
- Houd een overzicht bij van alle admin-accounts. Worden deze niet meer gebruikt? Bijvoorbeeld omdat een medewerker niets meer met de website doet of uit dienst is, verwijder deze accounts dan.
- Laat gebruikers nooit admin-accounts delen door samen in te loggen met dezelfde logingegevens. Creëer een eigen account per gebruiker.
18# Sla niet onnodig veel persoonsgegevens op binnen je website
Natuurlijk is het handig om terug te kunnen zien wie zich allemaal aangemeld heeft voor die conferentie van drie jaar geleden. Maar deze gegevens kunnen ook bewaard worden in een Excelbestand of CRM-systeem. Natuurlijk voorkomt dit geen hack, maar mocht het gebeuren dan beperkt het de impact ervan enorm.
19# Maak een back-upplan
Bedenk bij een back-upplan hoe de back-ups gemaakt worden, hoe vaak, waar deze staan en wie deze terug kan plaatsen. Kun je dit niet zelf dan is het raadzaam je hostingprovider hiervoor om advies te vragen. Ga er niet vanuit dat back-ups standaard een onderdeel van je hostingdienst zijn. In veel gevallen is dit namelijk niet zo.
20# Bedenk een noodplan
Dit is niet hetzelfde als een back-upplan. Een back-up zet je terug. Maar als je als bedrijf of organisatie gehackt bent en je website bevat privégegevens, dan moet je dit gaan melden.
Het is daarom geen gek idee een paar scenario’s te bedenken en alvast te beslissen wie de leiding neemt in dit soort gevallen, en als er kosten gemaakt moeten worden tot welk bedrag dit kan voordat er een akkoord gegeven moet worden.
Dat was het. De ultieme security checklist voor je website. Heb je vragen over een van de punten in de lijst of een toevoeging voor de checklist, dan lees is dat graag hieronder in het reactie gedeelte.
Wil je meer weten? Is jouw website toe aan een upgrade? Mail ons: