Hoe kan ik Security Headers instellen voor mijn website?
Je kunt zelf Security Headers aan jouw website toevoegen, volg hiervoor onderstaande stappen.
Open het .htaccess bestand van jouw website
Open ‘Bestandsbeheer’ en blader naar de hoofd map van de website, bijvoorbeeld:
/domains/domein.nl/public_html/
of/httpdocs/
Bewerk of download vervolgens het bestand met de naam .htaccess
Basis Security Headers toevoegen aan het .htaccess bestand
Voeg het volgende toe bovenaan het bestand
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>
Sla de wijzigingen nu op en / of upload het gewijzigde bestand.
Je kunt nu direct controleren of je wijzigen het gewenste effect hebben via https://securityheaders.com
Extra Security Headers toevoegen
Content-Security-Policy toevoegen
Je voegt de Content-Security-Policy op dezelfde plek in het .htaccess boven </IfModule>
Voor meer informatie over de achtergrond van Content-Security-Policy heeft Hackdefense een uitstekend artikel geschreven: https://hackdefense.nl/publicaties/csp-het-hoe-en-waarom-van-een-content-security-policy/
Een CSP die je kunt gebruik is bijvoorbeeld:
Header add Content-Security-Policy "default-src 'self';"
Permissions-Policy header toevoegen
De Permissions-Policy voeg je net als de andere policy’s aan je .htaccess bestanden toe, boven </IfModule>
Header set Permissions-Policy
Een voorbeeld van een veelvoorkomende policy is de volgende:
Header set Permissions-Policy "autoplay 'none'; camera 'none'; encrypted-media 'self'; fullscreen 'self'; geolocation 'none'; microphone 'none'; midi 'none'; payment 'none'; vr 'none'"
Hiermee weiger je bijna alle features die niet nodig zijn voor het functioneren van je website.
Strict-Transport-Security inschakelen
De Strict-Transport-Security voeg je ook weer boven </IfModule> toe in het .htaccess bestand:
Header set Strict-Transport-Security "max-age=31536000"
Alle Security Headers bij elkaar
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "no-referrer-when-downgrade"
Header add Content-Security-Policy "default-src 'self';"
Header set Permissions-Policy "autoplay 'none'; camera 'none'; encrypted-media 'self'; fullscreen 'self'; geolocation 'none'; microphone 'none'; midi 'none'; payment 'none'; vr 'none'"
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
</IfModule>
Na het toevoegen van deze Security Headers kan je jouw website hier controleren en zou dit het resultaat moeten zijn: