In dit blogartikel zullen we bespreken wat HTTP response headers zijn en hoe HTTP-security headers kunnen worden toegevoegd aan een .htaccess of een extension/plugin van een CMS website.
Advies: Voordat u een van uw bestanden bewerkt, moet u een volledige back-up maken van uw website.
Als u een website bezit, moet u oplettend zijn met de beveiliging van uw website/webwinkel. Om een blog, bedrijf of online winkel te runnen, moet u ervoor zorgen dat uw website volledig veilig is.
Klanten bezoeken uw website/webwinkel, kopen producten en geven gevoelige (persoonlijke) informatie door, zoals wachtwoorden, creditcardgegevens, enz. Als er een plek is om te infiltreren op uw website/webwinkel, kunnen hackers de gegevens van uw klanten stelen voor hun eigen gewin.
Als het gaat om websitebeveiliging, zijn er veel dingen die u kunt doen om uw website-beveiliging te verbeteren en zelfs strakker te zetten.
Een geweldige plek om de beveiliging van uw website te verbeteren, is echter om HTTP-headers aan uw website toe te voegen (.htaccess of met behulp van een plug-in die wij aanbevelen), zodat u op de hoogte blijft van de beste beveiligingsmethoden.
HTTP security headers voegen een extra beveiligingslaag toe door aanvallen en beveiligingskwetsbaarheden te verminderen.
Meest bekende beveiligingslaag
Een HTTPS verbinding is de meest bekende beveiligingslaag en technische term die wij kennen. Tegenwoordig is het wettelijk verplicht om een SSL/TLS aan te schaffen.
Wat zijn HTTP Security Headers
Wanneer een gebruiker een website bezoekt via een webbrowser, reageert de server met HTTP Response Headers. Deze headers informeren de webbrowser hoe te handelen tijdens de interactie met de website. Deze headers bestaan meestal uit metagegevens zoals cachebesturing, statusfoutcodes, inhoudscodering, enz.
Door gebruik te maken van HTTP response headers, kunt u de beveiliging van uw website verbeteren en ook aanvallen voorkomen en beperken.
Door bijvoorbeeld de strikte transportbeveiliging toe te voegen, kunt u alle nieuwste webbrowsers zoals Google Chrome, Firefox en Safari dwingen om alleen via HTTPS met uw website te communiceren.
Laten we eens kijken naar 6 HTTP security headers:
* HTTP Strict Transport Security (HSTS)
* X-Frame-Options
* X-XSS-Protection
* X-Content-Type-Options
* Referrer-Policy
* Feature-policy
* Content-Security-Policy
HTTP Strict Transport Security (HSTS)
Stel dat u een site uwwebsite.nl heeft en dat u een SSL / TLS-certificaat instelt om van HTTP naar HTTPS te gaan.
Nu weet u dat uw website alleen toegankelijk is met HTTPS.
Wat als wij u vertellen dat uw website/webwinkel nog steeds toegankelijk is via HTTP? Ja, U heeft het goed gelezen. Er zijn verschillende scripts beschikbaar die hackers gebruiken om een website via HTTP te openen.
Door gebruik te maken van de strikte transportbeveiliging, kunt u alle nieuwste webbrowsers zoals Google Chrome, Firefox en Safari dwingen om alleen via HTTPS met uw website te communiceren. Dus als een aanvaller uw website via HTTP probeert te openen, laadt de webbrowser de pagina niet.
X-XSS Protection
X-XSS, ook bekend als cross-site scripting, is een beveiligingskop (in Engelse term: security header) die sites beschermt tegen cross-site scripting.
Standaard is deze security header ingebouwd en ingeschakeld in moderne webbrowsers. Als u het implementeert, wordt uw browser gedwongen het te laden. Met deze beveiligingskoptekst wordt een pagina niet geladen als een cross-site scripting-aanval wordt gedetecteerd.
X-Content-Type-Options
De X-Content-Type-Options is een soort beveiligingskop (in Engelse term: security header) met de waarde nosniff die voorkomt dat Google Chrome, Internet Explorer en Firefox MIME-snuffelen aan een reactie weg van het aangegeven inhoudstype.
Deze security header beschermt de inhoud en vermindert het risico van drive-by downloads.
X-Frame-Options
De header van de x-frame-options beschermt sites tegen clickjacking door iframes niet in te vullen op uw website. Het wordt ondersteund door IE 8+, Chrome 4.1+, Firefox 3.6.9+, Opera 10.5+ en Safari 4+.
Bij deze methode houdt een aanvaller een gebruiker voor de gek om op iets te klikken dat er niet is. Een gebruiker kan geloven dat hij / zij zich op de hoofdsite bevindt; er loopt echter iets anders op de achtergrond. Op deze manier kunnen hackers informatie van uw webbrowser stelen.
Referrer-Policy
Wanneer een gebruiker een website bezoekt, wordt onmiddellijk een header ‘Referrer‘ opgenomen die de server informeert waar de bezoeker vandaan komt. Deze kop wordt gebruikt voor analytische functies.
Zoals u begrijpt, vormt dit een persoonlijk privacy-probleem. Dit kan worden voorkomen door Referrer-Policy toe te voegen aan uw website.
Feature Policies
Feature Policies is een soort beveiligingskop (in Engelse term: security header) waarmee website-eigenaren specifieke webplatformfuncties op hun eigen pagina’s en die ze insluiten kunnen toestaan en weigeren.
Met behulp van de header Feature-Policy kunt u als site-eigenaar de webbrowserfuncties voor een site beperken.
Voor elke functie moet u opgeven wat wel en niet mag. Hier zijn het Feature Policies:
- geolocation
- midi
- notifications
- push
- sync-xhr
- microphone
- camera
- magnetometer
- gyroscope
- speaker
- vibrate
- fullscreen
- payment
Als u bijvoorbeeld geolocation en camera op uw website wilt uitschakelen, moet u een Feature-Policy op deze manier definiëren:
Feature-Policy: geolocation ‘none’ ; camera ‘none’
Door het woord ‘none’ op te geven voor de oorsprongslijst, worden de specifieke functie(s) uitgeschakeld voor alle browserscontexten.
Content-Security-Policy
We bespreken in ander stappenplan-artikel hoe u veilig de HTTP Security Header Content kan inschakelen zonder dat u uw website/webwinkel ‘kapot’ maakt. Dit betreft wel een basis setup van deze security header.
Aanschaf van een SSL is verplicht.
Voordat u HTTP security headers toevoegt aan uw website, moet u ervoor zorgen dat u een SSL-certificaat heeft geïnstalleerd, anders is uw site niet toegankelijk.
Hoe HTTP Response Headers toe te voegen uw website?
WordPress
Om http response headers toe te voegen in WordPress, hoeft u alleen een plug-in te installeren en dat er een SSL certificaat actief en geforceerd is op uw WordPress-site.
Lees dit artikel voor meer informatie: HTTP Headers toevoegen aan mijn/een WordPress-site
Non-CMS
Om http response headers toe te voegen in .htaccess bestand als u geen CMS gebruikt, kunt u de volgende toevoegen aan uw .htaccess bestand:
# Set browser headers
<IfModule mod_headers.c>
Header set Strict-Transport-Security “max-age=31536000” env=HTTPS
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>