Bestellen
Hosting
Domeinnaam
Ondersteuning
Ontdek

Op deze pagina

Blog / Beveiliging · · ~11 min lezen

HSTS-header inschakelen op gedeelde hosting (2026)

Activeer HSTS-header op gedeelde hosting via .htaccess. Sluit de SSL-stripping gap, haal 100% op Internet.nl en volg het stapsgewijze rollout-plan.

Geschreven door: Pablo Cleij Pablo Cleij
Deel dit artikel

Samenvatting: HSTS-header inschakelen op gedeelde hosting

Een SSL-certificaat alleen sluit de SSL-stripping gap niet: het eerste HTTP-verzoek blijft onbeveiligd totdat de redirect plaatsvindt. HSTS dicht dat gat door de browser te vertellen altijd HTTPS te gebruiken, nog vóór er verbinding wordt gemaakt. Je activeert het met twee regels in .htaccess, ook zonder root-toegang. Bouw de max-age stapsgewijs op (300 seconden naar 1 jaar) om jezelf niet buiten te sluiten, en meld je pas aan bij de HSTS preload list als alle subdomeinen permanent op HTTPS draaien.

Je hebt een SSLKeurigOnline zegtSSLSSL (Secure Sockets Layer) is een beveiligingsprotocol voor versleutelde internetverbindingen.-certificaat geïnstalleerd en een HTTPKeurigOnline zegtHTTPHTTP (HyperText Transfer Protocol) is het protocol dat de communicatie tussen webclients en servers mogelijk maakt. naar HTTPS redirectKeurigOnline zegtRedirectEen redirect stuurt bezoekers automatisch door naar een andere webpagina. ingesteld. Toch blijft er een kort moment waarop een bezoeker onbeveiligd verbinding maakt: het allereerste HTTP-verzoek, vóórdat de redirect wordt uitgevoerd. Op dat moment kan een aanvaller op hetzelfde netwerk (een openbaar wifi-punt, een gecompromitteerde router) het verkeer onderscheppen en de bezoeker stiekem op HTTP houden. Dit heet SSL-stripping.

HTTP Strict Transport Security (HSTSKeurigOnline zegtHSTSHSTS forceert browsers om alleen via HTTPS te verbinden met je website.) sluit die gap. Met de Strict-Transport-Security header vertel je de browser dat hij een domein nooit meer via HTTP mag benaderen, ook niet als iemand per ongeluk http:// intypt. Het mooie: op gedeelde hosting activeer je dit met twee regels in je .htaccess-bestand, zonder root-toegang of serverbeheer. In dit artikel lees je precies hoe, inclusief de stapsgewijze rollout die voorkomt dat je jezelf per ongeluk buitensluit.

Twee handen verbonden door een touw met een slot dat er middenin al gesloten omheen zit

Wat is HSTS en waarom is een SSL-certificaat niet genoeg?

Definitie: HSTS (HTTP Strict Transport Security) is een responsheader die de browser dwingt om een domein uitsluitend via HTTPS te benaderen, ook bij het allereerste contact, nog vóór er een verbinding tot stand komt.

Een SSL-certificaat versleutelt het verkeer zodra een HTTPKeurigOnline zegtHTTPHTTP (HyperText Transfer Protocol) is het protocol dat de communicatie tussen webclients en servers mogelijk maakt.S-verbinding actief is. Een redirect stuurt bezoekers van HTTP naar HTTPS door. Beide maatregelen lossen samen bijna alles op, maar niet het moment ertussen. Zo verschilt de situatie zonder en met HSTS:

Zonder HSTS: browser vraagt http://jouwsite.nl op → verzoek gaat onbeveiligd het netwerk op → server stuurt redirect naar https:// → pas nu is de verbinding versleuteld. Het venster tussen stap 1 en stap 3 is precies waar SSL-stripping toeslaat: een aanvaller onderschept het eerste verzoek en houdt de bezoeker stiekem op HTTP.

Met HSTS: browser heeft ooit eerder de Strict-Transport-Security header ontvangen → browser herschrijft intern, vóór er ook maar een pakketje het netwerk op gaat, elk verzoek naar https:// → er is geen onbeveiligd moment meer. SSL-stripping op dit domein is niet meer mogelijk, ongeacht wat een aanvaller op het tussenliggende netwerk probeert.

De kern om te onthouden: een HTTPS-redirect reageert nadat de browser al contact heeft gezocht. HSTS voorkomt dat onbeveiligde contact vooraf. Ze zijn aanvullend, niet uitwisselbaar, je hebt allebei nodig voor een volledig gesloten keten.

Waarom nu activeren? De MITM-dreiging in cijfers

Bijna 80% van alle SSL/TLSKeurigOnline zegtTLSTLS is het standaardprotocol voor versleutelde, betrouwbare communicatie tussen client en server.-certificaten op internet is kwetsbaar voor man-in-the-middle-aanvallen door verlopen of zelfondertekende certificaten en verouderde protocollen[1]. In Europa heeft 30% van de bedrijven op enig moment minstens één ongeldig certificaat in gebruik[1], en 70% van de malware-aanvallen misbruikt inmiddels versleuteling om detectie te omzeilen[2], precies waar een niet-afgedwongen HTTPS-verbinding een opening laat.

Toch loopt HSTS-adoptie ver achter op die van SSLKeurigOnline zegtSSLSSL (Secure Sockets Layer) is een beveiligingsprotocol voor versleutelde internetverbindingen.. De HTTP Archive Web Almanac meet een stijging van 28% (2022) naar 31% (2023) naar 34% (2024)[3], en W3Techs komt in juni 2026 op een vergelijkbare 34,2%[4]. Zelfs onder de top 1.000 meest bezochte sites heeft maar 60% de header actief, en onder de top 10.000 zakt dat naar 46%[3].

Goed nieuws voor wie nu activeert: 66% laat deze laag simpelweg liggen. Met twee regels in je .htaccess behoor je meteen tot de veiligere helft van het internet, zonder dure beveiligingsoplossing.

Vereisten: dit moet op orde zijn vóór je begint

HSTS is geen losstaande maatregel, hij bouwt voort op wat je al hebt staan. Controleer deze vier punten voordat je de header activeert:

  • Een geldig SSL-certificaat geïnstalleerd. Zonder geldig certificaat dwing je bezoekers naar een verbinding die de browser als onveilig blokkeert, HSTS maakt je site dan feitelijk onbereikbaar.
  • Alle resources laden via HTTPS. Als afbeeldingen, CSS of JavaScript nog via http:// worden ingeladen (mixed content), breekt de pagina of toont de browser waarschuwingen zodra HSTS actief is.
  • HTTP naar HTTPS redirect staat al actief in .htaccess. Zonder redirect blijven directe HTTP-links elders op het web bezoekers naar een pagina sturen die niet meer bereikbaar is.
  • Alle subdomeinen draaien op HTTPS, als je van plan bent includeSubDomains te gebruiken. Eén subdomein zonder geldig certificaat wordt dan in één klap onbereikbaar.

Staat dit alles op orde? Dan kun je direct door naar de implementatie.

HSTS-header inschakelen op gedeelde hosting: de .htaccess-methode

Op gedeelde hosting heb je geen toegang tot de ApacheKeurigOnline zegtApacheApache HTTP Server is een open source webserver ontwikkeld door de Apache Software Foundation.-serverconfiguratie, maar dat heb je ook niet nodig. Via mod_headers, standaard beschikbaar bij vrijwel elke Nederlandse hostingprovider, activeer je de header met een paar regels in .htaccess:

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

Wat elk onderdeel doet:

  • max-age=31536000: het aantal seconden (hier: 1 jaar) dat de browser onthoudt dat dit domein alleen via HTTPS mag. Hoe hoger deze waarde, hoe langer de bescherming aanhoudt, maar ook hoe langer je vastzit als er iets misgaat.
  • includeSubDomains: breidt de regel uit naar elk subdomeinKeurigOnline zegtSubdomeinEen subdomein is een extra voorvoegsel voor je domeinnaam, zoals blog.voorbeeld.nl of shop.voorbeeld.nl., van mail.jouwsite.nl tot shop.jouwsite.nl. Alleen toevoegen als al die subdomeinen daadwerkelijk HTTPS ondersteunen.
  • preload: een signaal dat je bereid bent het domein op te nemen in de ingebakken preload-lijst van browsers, zodat zelfs het allereerste bezoek al beveiligd is. Zie de preload-sectie verderop.

Stap voor stap: bestand aanpassen

  1. Open de File Manager in DirectAdminKeurigOnline zegtDirectAdminDirectAdmin is een webhosting control panel ontwikkeld door JBMC Software als kostenefficiënt en gebruiksvriendelijk alternatief voor cPanel. of cPanel en navigeer naar de hoofdmap van je website.
  2. Zet verborgen bestanden aan (meestal een instelling of knop "toon verborgen bestanden") en open .htaccess.
  3. Plak het codeblok bovenaan het bestand, boven eventuele bestaande WordPressKeurigOnline zegtWordPressWordPress is een open-source contentmanagementsysteem (CMS) geschreven in PHP, waarmee je eenvoudig websites en blogs kunt bouwen en beheren.- of CMSKeurigOnline zegtCMSEen CMS is een platform om webcontent eenvoudig te creëren, beheren en publiceren zonder te coderen.-secties.
  4. Sla het bestand op. Er is geen herstart of extra actie nodig, de wijziging is direct actief.

Verifieer direct na opslaan

Open de DevTools van je browser (F12), ga naar het tabblad Network, laad je website opnieuw en klik op het hoofdverzoek. Controleer onder Response Headers of Strict-Transport-Security aanwezig is met de waarde die je zojuist instelde. Zie je hem niet, controleer dan of mod_headers actief is bij je hostingprovider of of een cachelaag de oude headers nog serveert.

Stapsgewijze rollout: van 300 seconden naar 1 jaar

Figuur test voorzichtig de eerste dunne traptrede voordat het vol vertrouwen op de stevige bovenste trede staat

Let op: direct starten met max-age=31536000

  • Loopt je SSL-certificaat af of gaat er iets mis met je hosting, dan is je site voor terugkerende bezoekers een jaar lang onbereikbaar via HTTP en HTTPS.
  • Je kunt dit niet zomaar terugdraaien: de browser heeft de instructie al lokaal opgeslagen.

Bouw de waarde daarom stapsgewijs op, precies de stap die de meeste handleidingen overslaan.

HSTS uitrollen in 4 stappen

  1. max-age=300 (5 minuten) — test alles: navigatie, formulieren, subdomeinen, ingesloten resources.
  2. max-age=86400 (1 dag) — laat de instelling een dag staan en controleer of alle subdomeinen probleemloos meewerken.
  3. max-age=604800 (1 week) — een bredere check, ook onder wisselend verkeer en verschillende browsers.
  4. max-age=31536000 (1 jaar) — de definitieve productiewaarde, pas nu instellen als alles in de vorige stappen probleemloos verliep.

Voeg includeSubDomains pas toe zodra elk subdomeinKeurigOnline zegtSubdomeinEen subdomein is een extra voorvoegsel voor je domeinnaam, zoals blog.voorbeeld.nl of shop.voorbeeld.nl. HTTPS-proof is, en bewaar preload voor de laatste stap. Zet automatische SSL-verlenging aan (bijvoorbeeld Let's EncryptKeurigOnline zegtLet's EncryptLet's Encrypt is een gratis certificaatautoriteit die automatisch SSL/TLS-certificaten uitgeeft. auto-renew) vóórdat je de definitieve waarde activeert: een verlopen certificaat is dan geen incident meer, maar een maandenlange black-out.

HSTS voor WordPress: waar plaats je de header?

Bij WordPress is de plek in .htaccess belangrijker dan bij een statische website. WordPress beheert een eigen blok, herkenbaar aan de regels # BEGIN WordPress en # END WordPress, en herschrijft dat blok automatisch bij elke permalink-wijziging. Plaats de HSTS-code daarom altijd boven # BEGIN WordPress:

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

# BEGIN WordPress
...
# END WordPress

Staat de header onder of tussen de WordPress-regels, dan bestaat het risico dat een toekomstige herschrijving door WordPress zelf de header overschrijft of negeert.

Plugins zoals Really Simple SSL kunnen HSTS ook via de WordPressKeurigOnline zegtWordPressWordPress is een open-source contentmanagementsysteem (CMS) geschreven in PHP, waarmee je eenvoudig websites en blogs kunt bouwen en beheren.-instellingen activeren. Dat werkt, maar is minder betrouwbaar dan de .htaccess-methode: de header verdwijnt zodra je de plugin uitschakelt of vervangt, terwijl de .htaccess-regel onafhankelijk van je pluginkeuze blijft functioneren. Voor meer technische beveiligingsmaatregelen naast HSTS, zoals inlogbeveiliging en bestandsrechten, zie onze gids over WordPress beveiligen.

De HSTS preload list: maximale bescherming voor eerste bezoekers

Standaard HSTS beschermt alleen terugkerende bezoekers: de browser moet minstens één keer de header hebben ontvangen voordat hij de regel onthoudt. Bij het allereerste bezoek is er dus nog altijd dat ene onbeveiligde moment. De preload list lost dat op door domeinen rechtstreeks in de browser zelf op te nemen, nog vóór iemand de site ooit heeft bezocht.

De schaal is aanzienlijk: sinds april 2026 staan ongeveer 120.000 domeinen wereldwijd in de Chrome HSTS preload list[5], waarvan 2.671 met een .nl-extensie, goed voor de achtste plek wereldwijd per TLD, na .com en .de[6]. Toch heeft van alle sites die al wel HSTS versturen, slechts 35,7% ook daadwerkelijk preload geactiveerd[5], een duidelijke kans om je te onderscheiden.

Aanmelden doe je via hstspreload.org. De vereisten zijn strikt: max-age van minimaal 31.536.000 seconden, includeSubDomains en preload moeten alle drie aanwezig zijn in de header voordat het formulier je domein accepteert.

Let op: preload is moeilijk terug te draaien

  • Verwijdering uit de preload list duurt maanden, niet dagen, omdat de lijst is ingebakken in browserversies die al bij gebruikers geïnstalleerd staan.
  • Meld je pas aan als je zeker weet dat alle subdomeinen permanent en structureel op HTTPS blijven draaien.

Controleer of HSTS correct werkt

Drie manieren om te bevestigen dat de header goed staat, van snel tot officieel:

  1. Browser DevTools. Open je site, druk op F12, ga naar Network, klik op het hoofdverzoek en zoek onder Response Headers naar Strict-Transport-Security. Staat hij er met de juiste max-age, dan werkt de basis.
  2. SSL Labs. Voer een test uit via ssllabs.com/ssltest. Het rapport toont een aparte HSTS-score inclusief of het domein als preloaded wordt herkend.
  3. Internet.nl. De officiële Nederlandse test voert de volledige HTTPS- en HSTSKeurigOnline zegtHSTSHSTS forceert browsers om alleen via HTTPS te verbinden met je website.-subtest uit en laat exact zien welke eisen nog ontbreken voor een volledige score.

Een geslaagde uitkomst toont: de header is aanwezig, de max-age klopt met de fase waarin je zit, en zodra je daaraan toe bent verschijnen ook includeSubDomains en preload in het resultaat.

Internet.nl 100% en de wettelijke verplichting in Nederland

Voor een volledige score op 100% scoren op Internet.nl is HSTS een verplichte subtest binnen de HTTPS-categorie: de test controleert expliciet op max-age ≥ 31.536.000, includeSubDomains én preload, alle drie tegelijk[7].

Voor Nederlandse overheidsorganisaties is dit sinds 1 juli 2023 geen keuze meer: de Wet Digitale Overheid verplicht HTTPS én HSTS voor elke publiek toegankelijke overheidswebsite[8]. Forum Standaardisatie heeft HTTPS en HSTS bovendien op de "pas toe of leg uit"-lijst geplaatst[9], de facto standaard voor elke organisatie die zich aan de overheid conformeert.

Voor commerciële websites is HSTS niet wettelijk verplicht, maar het geldt inmiddels als vanzelfsprekend onderdeel van serieus beveiligingsbeleid, precies zoals DNSSEC dat al is. Bij KeurigOnline staat HSTS daarom standaard actief op onze hostingpakketten, samen met DNSSECKeurigOnline zegtDNSSECDNSSEC (DNS Security Extensions) beveiligt DNS-informatie door deze cryptografisch te ondertekenen., zodat je deze stap niet handmatig hoeft te configureren en toch met een schone lei aan de rollout in dit artikel kunt beginnen.

Veelgestelde vragen over HSTS

Wat is het verschil tussen een HTTP-redirect en HSTS?

Een HTTP-redirectKeurigOnline zegtRedirectEen redirect stuurt bezoekers automatisch door naar een andere webpagina. stuurt de browser pas na het eerste, onbeveiligde contact naar HTTPS door. HSTS voorkomt dat onbeveiligde contact vooraf. Ze zijn complementair: je hebt allebei nodig voor een volledig gesloten keten.

Kan ik HSTS instellen op gedeelde hosting zonder root-toegang?

Ja, via .htaccess met mod_headers, standaard beschikbaar op vrijwel elke Nederlandse hostingomgeving, inclusief DirectAdminKeurigOnline zegtDirectAdminDirectAdmin is een webhosting control panel ontwikkeld door JBMC Software als kostenefficiënt en gebruiksvriendelijk alternatief voor cPanel. en cPanel. Root-toegang of serverbeheer is niet nodig.

Wat is de juiste max-age waarde?

Begin met 300 seconden om te testen, verhoog dan naar 86.400 (1 dag), vervolgens 604.800 (1 week) en uiteindelijk 31.536.000 seconden (1 jaar). Die laatste waarde is vereist voor Internet.nl 100% en voor aanmelding bij de HSTS preload list.

Kan ik HSTS ongedaan maken als er iets misgaat?

Niet onmiddellijk. De browser respecteert de max-age die hij al heeft opgeslagen, bij 31.536.000 seconden kan een terugkerende bezoeker je site dus een jaar lang niet bereiken als het SSL-certificaat uitvalt. Begin daarom altijd met een korte max-age en verhoog pas als alles stabiel blijkt. Verwijdering uit de preload list duurt bovendien maanden.

Wat als mijn SSL-certificaat verloopt terwijl HSTS actief is?

Dan is je website onbereikbaar voor elke bezoeker die de HSTS-instructie al lokaal heeft opgeslagen. Activeer daarom altijd automatische SSL-verlenging, bijvoorbeeld via Let's EncryptKeurigOnline zegtLet's EncryptLet's Encrypt is een gratis certificaatautoriteit die automatisch SSL/TLS-certificaten uitgeeft. auto-renew, voordat je HSTS instelt met een lange max-age.

Is HSTS verplicht voor Nederlandse websites?

Voor overheidswebsites wel: wettelijk verplicht sinds 1 juli 2023 op grond van de Wet Digitale Overheid. Voor commerciële websites is het niet wettelijk verplicht, maar wel vereist voor een 100%-score op Internet.nl en sterk aanbevolen door Forum Standaardisatie als open standaard.

Bronnen