In dit artikel leggen wij uit hoe je HTTP Strict Transport Security (HSTS) kan activeren.
Meer uitleg over wat HSTS is kan je vinden in het artikel: Wat is HSTS?
HSTS activeren
Je kan HSTS activeren via een code in je.htaccess bestand.
Subdomeinen van HSTS voorzien of niet?
Een belangrijke vraag die je moet stellen is of je subdomeinen ook van HSTS wil voorzien.
Er zit een instelling bij (max-age) die aangeeft hoeveel seconden de HSTS actief moet blijven, ons advies is om laag te beginnen en naarmate je zeker weet dat het correct is ingesteld kan je de (max-age) periode hoger zetten. Een goed voorbeeld is om te beginnen met 5 minuten, als dit goed werkt overschakelen naar 1 dag, daarna 1 week, daarna een maand, en vervolgens een jaar.
Via htaccess:
HSTS activeren (inclusief subdomeinen en gebruikmakend van preload voor 5 minuten)
Voeg de volgende code toe zodat je domein en subdomeinen gebruik maken van HSTS:
Header always set Strict-Transport-Security "max-age=300; includeSubDomains; preload" env=HTTPS
Let op dat bovenstaande code ook subdomeinen van HSTS voorziet, de code kan je uiteraard naar eigen wens aanpassen.
Wil je je subdomeinen niet van HSTS voorzien dan kan je de includeSubDomains; weglaten, we zullen hieronder enkele voorbeelden geven.
Wij hebben de max-age in bovenstaande code op 300 seconden (5 minuten) gezet, zodat je kan kijken of HSTS naar behoren werkt.
HSTS activeren (inclusief subdomeinen en gebruikmakend van preload voor 5 dagen)
Als het naar behoren werkt, kan je HSTS activeren voor een langere periode activeren (bijvoorbeeld 5 dagen) met onderstaande regel:
Header always set Strict-Transport-Security "max-age= 432000; includeSubDomains; preload" env=HTTPS
HSTS activeren (inclusief subdomeinen en gebruikmakend van preload voor 1 maand)
Als je zeker weet dat 5 dagen ook goed werkt, dan kan je vervolgens overschakelen naar een maand (max-age=2592000).
Header always set Strict-Transport-Security "max-age= 2592000; includeSubDomains; preload" env=HTTPS
HSTS activeren (inclusief subdomeinen en gebruikmakend van preload voor 1 jaar)
Als je zeker weet dat dit goed werkt kan je overschakelen op een jaar met de volgende code:
Header always set Strict-Transport-Security "max-age= 31536000; includeSubDomains; preload" env=HTTPS
Het zal pas door webbrowsers als veilig aangemerkt worden wanneer er een periode van minimaal 1 jaar gebruikt word.
Je kan de code eventueel zelf naar eigen wens wijzigen, zoals het aantal seconden in de max-age, het gebruik van includeSubDomains; en de preload.
Wil je alleen je domeinnaam van HSTS voorzien maar je subdomeinen niet, dan kan je bijvoorbeeld de volgende code gebruiken:
Header always set Strict-Transport-Security "max-age= 31536000; preload" env=HTTPS
Daarnaast kan je er ook voor kiezen om geen gebruik van preload te maken, in dat geval kan je de letters: preload weglaten.