Kees van der Vlies
Partner | IT-auditor
De beveiliging van je website begint niet bij firewalls en penetratietests. Het begint bij de basis: zijn de fundamentele beveiligingsmechanismen correct geconfigureerd? In de praktijk zien wij dat de meeste websites op dit niveau al tekortkomingen hebben. Niet door nalatigheid, maar door gebrek aan inzicht. Dit artikel beschrijft stap voor stap hoe je de beveiliging van je website kunt controleren en verbeteren.
Stap 1: SSL/TLS-configuratie
Een SSL-certificaat hebben is niet genoeg. De configuratie erachter bepaalt of de verbinding daadwerkelijk veilig is. Controleer of je server geen verouderde protocollen ondersteunt. TLS 1.0 en 1.1 zijn sinds 2021 officieel afgeraden en worden door moderne browsers niet meer ondersteund. Toch komen wij ze nog regelmatig tegen, vooral bij oudere webservers en applicaties.
Controleer ook of je certificaatketen compleet is. Een onvolledige keten leidt tot waarschuwingen in sommige browsers en kan ertoe leiden dat geautomatiseerde systemen je site als onveilig classificeren. De cipher suites die je server aanbiedt, moeten moderne, veilige opties bevatten en zwakke ciphers uitsluiten.
Stap 2: Security headers
Security headers zijn instructies die je webserver meestuurt met elke response. Ze vertellen de browser hoe om te gaan met de inhoud. De belangrijkste headers zijn Content-Security-Policy (CSP), die voorschrijft welke bronnen de browser mag laden. Een goede CSP voorkomt cross-site scripting door te beperken welke scripts mogen worden uitgevoerd. Strict-Transport-Security (HSTS) dwingt af dat de browser altijd HTTPS gebruikt, ook als een gebruiker per ongeluk HTTP intypt. X-Content-Type-Options voorkomt dat de browser bestanden anders interpreteert dan bedoeld. X-Frame-Options of het modernere frame-ancestors directive in CSP beschermt tegen clickjacking.
Het toevoegen van deze headers is technisch eenvoudig. In de meeste webservers en frameworks is het een kwestie van configuratie. De impact op de beveiliging is disproportioneel groot ten opzichte van de inspanning.
Stap 3: E-mailbeveiliging
Je website en je e-mail delen hetzelfde domein. Als je e-mailbeveiliging niet op orde is, kunnen aanvallers e-mails versturen die lijken te komen van jouw organisatie. Dit is niet hypothetisch; e-mailspoofing is een van de meest voorkomende aanvalstechnieken.
SPF (Sender Policy Framework) specificeert welke mailservers namens jouw domein mogen verzenden. DKIM (DomainKeys Identified Mail) voegt een cryptografische handtekening toe aan uitgaande e-mails. DMARC (Domain-based Message Authentication, Reporting and Conformance) vertelt ontvangende mailservers wat ze moeten doen met e-mails die SPF- of DKIM-controles niet doorstaan.
De ideale configuratie is een DMARC-beleid op reject: e-mails die niet door de controles komen, worden geweigerd. Veel organisaties beginnen met een beleid op none (alleen rapportage) en verscherpen dit geleidelijk nadat ze inzicht hebben in hun e-mailstromen.
Stap 4: DNS-beveiliging
DNS is het adresboek van het internet, en het is verrassend vaak onbeveiligd. DNSSEC voegt cryptografische verificatie toe aan DNS-antwoorden, waardoor manipulatie wordt voorkomen. CAA-records specificeren welke certificaatautoriteiten certificaten mogen uitgeven voor jouw domein, een eenvoudige maatregel die voorkomt dat een aanvaller een frauduleus certificaat verkrijgt.
Controleer ook of je DNS-server geen zone transfers toestaat aan willekeurige IP-adressen. Een zone transfer onthult je volledige DNS-configuratie inclusief alle subdomeinen, wat waardevole informatie is voor een aanvaller.
Stap 5: Vergeten subdomeinen
Subdomeinen zijn een onderschat aanvalsoppervlak. Organisaties creëren subdomeinen voor testomgevingen, campagnes, oude applicaties en vergeten ze vervolgens. Deze subdomeinen draaien vaak op verouderde software zonder updates en zonder monitoring. Via Certificate Transparency logs is het voor iedereen mogelijk om te zien welke subdomeinen er bestaan onder jouw domein.
Maak een inventarisatie van alle actieve subdomeinen en verwijder of beveilig degene die niet meer nodig zijn. Dit is een van de snelste manieren om je aanvalsoppervlak te verkleinen.
Stap 6: Cookies en tracking
Controleer welke cookies je website plaatst en of ze de juiste beveiligingsflags hebben. HttpOnly voorkomt dat JavaScript bij de cookie kan, wat beschermt tegen diefstal via XSS. Secure zorgt dat de cookie alleen over HTTPS wordt verzonden. SameSite beperkt het meesturen van cookies bij cross-site verzoeken, wat beschermt tegen CSRF-aanvallen.
Controleer daarnaast of je cookiebeleid overeenkomt met je privacyverklaring en of je voldoet aan de AVG-vereisten voor tracking cookies.
Automatiseer de controle
Al deze controles handmatig uitvoeren is tijdrovend. Daarom hebben wij ScanZeker.nl gebouwd: een gratis tool die al deze aspecten in één scan controleert. Voer je domein in en je krijgt binnen een minuut een overzicht van alle bevindingen met concrete aanbevelingen per onderdeel. Geen account nodig, geen cookies, volledig privacyvriendelijk.
Voor organisaties die een diepgaandere beoordeling willen, biedt Secure Audit technische security assessments en IT-audits. Een externe scan toont de buitenkant; een audit beoordeelt ook de interne configuratie, processen en governance.
Neem contact op om te bespreken hoe wij uw organisatie kunnen helpen bij het verbeteren van uw websitebeveiliging.
Over de auteur
Partner | IT-auditor