Optimalisatie security headers voor Timdehoog.nl

Mijn website maakt al jaren gebruik van security headers om de beveiliging te verhogen. De afgelopen maanden heb ik weer veel bijgeleerd en zo kan ik dit toepassen op mijn eigen website en deze kennis met jullie delen.

Content-Security-Policy:

Misschien wel de belangrijkste is de content security policy, ook wel afgekort als CSP. Hiermee kan je bepalen welke externe sites toegang hebben tot jouw site en vanaf welke externe bronnen jij bestanden in wilt laden.

Wanneer je gebruik maakt van WordPress kan dit een uitdaging zijn wanneer je veel plugins gebruikt en in mijn geval ook nog Google advertenties. Belangrijk is daarom om na het wijzigen van de security headers de website goed te testen. Doe dit bij voorkeur in incognito modus zodat je geen last hebt van cache en zet ook de developer toolbar van de browser open.

Doel van optimalisatie:

De security headers opschonen en ze korter te schrijven met hetzelfde resultaat. Helaas heb ik geen security headers gevonden die ik kan verwijderen. Security headers hoef je overigens niet geheim te houden want ze zijn voor iedereen openbaar toegankelijk.

Security headers Timdehoog.nl:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header set X-Frame-Options SAMEORIGIN
Header set Content-Security-Policy "default-src 'self' *.wp.com csi.gstatic.com googleads.g.doubleclick.net www.google.com *.googlesyndication.com www.google-analytics.com www.googleapis.com pzz.to *.linkpizza.com pzz.events yoast.com; frame-ancestors 'self' *.wp.com; script-src 'unsafe-inline' 'unsafe-eval' 'self' *.googleapis.com *.googlesyndication.com *.googleadservices.com www.googletagmanager.com adservice.google.nl adservice.google.com cdn.ampproject.org *.googletagservices.com www.google-analytics.com *.wp.com pzz.io cdn.jsdelivr.net; style-src 'unsafe-inline' 'self' *.googleapis.com *.wp.com secure.gravatar.com *.bootstrapcdn.com cdn.jsdelivr.net; font-src data: 'self' fonts.gstatic.com *.wp.com wordpress.com *.bootstrapcdn.com; media-src 'self'; img-src data: 'self' *.w.org *.wp.com *.wordpress.com *.gravatar.com *.googlesyndication.com www.google-analytics.com ajax.googleapis.com"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
Header set Referrer-Policy no-referrer-when-downgrade
Header set Feature-Policy "execution-while-not-rendered 'self'; execution-while-out-of-viewport 'self'; fullscreen 'self'; legacy-image-formats 'self'; oversized-images 'self'; sync-xhr 'self'; geolocation 'none'; midi 'none'; notifications 'none'; push 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; fullscreen 'self'; payment 'none'"
Header set Permissions-Policy "execution-while-not-rendered=(self); execution-while-out-of-viewport=(self); fullscreen=(self); legacy-image-formats=(self); oversized-images=(self); sync-xhr=(self); geolocation=(none); midi=(none); notifications=(none); push=(none); microphone=(none); camera=(none); magnetometer=(none); gyroscope=(none); speaker=(none); vibrate=(none); fullscreen=(self)'; payment=(none)"

Doorgevoerde wijzigingen:

  • In CSP heb ik www.timdehoog.nl vervangen door ‘self’ wat hetzelfde betekent
  • In CSP heb ik “frame-src” vervangen met de nieuwe versie genaamd “frame-ancestors”
  • In “frame-ancestors” staat alleen nog ‘self’ en *.wp.org, overige zijn verplaatst naar “default-src”
  • Elke optie bij Content-Security-Policy begint met ‘self’ indien van toepassing

> Lees hoe je security headers in een map op de server uitschakelt

Testen:

Om te bepalen of je de security headers juist geïmplementeerd hebt kan je deze laten testen op Securityheaders.com. Belangrijk om te weten is dat deze website niet aangeeft wanneer er iets op jouw website onjuist wordt geblokkeerd. Dit zal je zelf moeten bepalen door te testen.

Bezoek ook de website Internet.nl om jouw website te controleren op security headers, IPv6, https:// en andere beveiligingsopties. Deze website is een initiatief van de internet gemeenschap en de Nederlandse overheid.

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.