HSTS Bypass Uitgeschakeld

💼 Management Samenvatting

Voorkom HSTS (HTTP Strict Transport Security) bypass om af te dwingen dat sites altijd HTTPS gebruiken zonder mogelijkheid voor HTTP downgrade attacks.

Aanbeveling
IMPLEMENT
Risico zonder
Medium
Risk Score
5/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
Edge

HTTP Strict Transport Security, beter bekend als HSTS, vormt een cruciale beveiligingsmechanisme dat webbrowsers instrueert om uitsluitend versleutelde HTTPS-verbindingen te gebruiken voor specifieke domeinen. Deze technologie voorkomt dat gebruikers per ongeluk naar onbeveiligde HTTP-versies van websites worden omgeleid, wat een fundamentele bescherming biedt tegen verschillende vormen van cyberaanvallen. De HSTS bypass-lijst vormt echter een significant beveiligingslek door uitzonderingen toe te staan op deze strikte beveiligingsregel. Wanneer organisaties websites toevoegen aan de bypass-lijst, creëren zij bewust kwetsbaarheden in hun beveiligingspostuur die kwaadwillenden kunnen exploiteren. Het primaire risico ligt in de mogelijkheid tot HTTP downgrade aanvallen, waarbij aanvallers gebruikers kunnen dwingen om via onbeveiligde HTTP-verbindingen te werken in plaats van de veiligere HTTPS-versie. Deze aanvalsmethode opent de deur voor man-in-the-middle aanvallen, waarbij kwaadwillenden zich kunnen positioneren tussen de gebruiker en de webserver om gevoelige informatie zoals inloggegevens, persoonlijke gegevens of bedrijfsdata te onderscheppen. De gevolgen kunnen desastreus zijn, vooral voor Nederlandse overheidsorganisaties die werken met persoonsgegevens en gevoelige overheidsinformatie. Naast het directe beveiligingsrisico introduceert het toestaan van HSTS bypasses ook een probleem van inconsistente beveiligingshandhaving binnen de organisatie. Dit creëert een situatie waarin sommige websites strikte HTTPS-vereisten afdwingen terwijl andere websites via onbeveiligde HTTP kunnen worden benaderd, wat verwarring veroorzaakt bij gebruikers en het voor beveiligingsteams moeilijk maakt om een uniform beveiligingsbeleid te handhaven. Voor Nederlandse overheidsorganisaties die moeten voldoen aan strenge compliance-vereisten zoals de Baseline Informatiebeveiliging Overheid (BIO) en de Algemene Verordening Gegevensbescherming (AVG), is het daarom essentieel dat HSTS bypasses volledig worden uitgeschakeld, tenzij er een absolute zakelijke noodzaak bestaat die niet op andere wijze kan worden opgelost.

PowerShell Modules Vereist
Primary API: Intune/GPO
Connection: N/A
Required Modules:

Implementatie

De implementatie van strikte HSTS-beveiliging vereist dat organisaties verifiëren dat de HSTSPolicyBypassList-instelling in Microsoft Edge volledig leeg is of helemaal niet is geconfigureerd. Deze verificatie is cruciaal omdat de aanwezigheid van zelfs één website in de bypass-lijst de gehele beveiligingsstrategie ondermijnt. Geen enkele website of domein mag worden toegevoegd aan deze bypass-lijst, ongeacht de schijnbare noodzaak of het gemak dat dit zou bieden. Dit betekent concreet dat alle websites die HSTS hebben geconfigureerd automatisch en zonder uitzondering worden gedwongen om alleen HTTPS-verbindingen te accepteren, zonder mogelijkheid tot downgrade naar onveilige HTTP-verbindingen. De configuratie wordt doorgaans toegepast via Microsoft Intune-beleidsregels voor cloudgebaseerd apparaatbeheer of via Groepsbeleidsobjecten binnen een Active Directory-omgeving voor on-premises implementaties. In beide gevallen moet de bypass-lijst expliciet worden verwijderd of ingesteld op een lege waarde om te garanderen dat er geen uitzonderingen kunnen worden gemaakt op de HSTS-beveiligingsvereisten. Voor Intune-implementaties vereist dit toegang tot het Azure-portaal en de juiste beheerdersrechten om Edge-beleidsregels te configureren. Bij GPO-implementaties moet de registerwaarde worden beheerd via de Groepsbeleidbeheerconsole, waarbij de relevante groepsbeleidsobjecten worden geconfigureerd om te voorkomen dat websites aan de bypass-lijst worden toegevoegd. Het is belangrijk om te begrijpen dat deze configuratie niet alleen de technische instelling betreft, maar ook een culturele verschuiving vereist binnen de organisatie waarbij de beveiliging van gebruikersdata voorop staat boven het gemak van het omzeilen van beveiligingsmaatregelen.

Vereisten

Implementatie

Gebruik PowerShell-script hsts-bypass-disabled.ps1 (functie Invoke-Remediation) – Script voor verwijdering HSTS bypasses.

Monitoring

Gebruik PowerShell-script hsts-bypass-disabled.ps1 (functie Invoke-Monitoring) – Beheert HSTS bypass-lijst.

Compliance en Auditing

Remediatie

Gebruik PowerShell-script hsts-bypass-disabled.ps1 (functie Invoke-Remediation) – Herstellen.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Edge Security: HSTS Bypass Disabled .DESCRIPTION CIS - HSTS (HTTP Strict Transport Security) bypass moet disabled. .NOTES Filename: hsts-bypass-disabled.ps1|Author: Nederlandse Baseline voor Veilige Cloud|Registry: HKLM:\SOFTWARE\Policies\Microsoft\Edge\HSTSPolicyBypassList|Expected: empty/not configured #> #Requires -Version 5.1 #Requires -RunAsAdministrator [CmdletBinding()]param([switch]$WhatIf, [switch]$Monitoring, [switch]$Remediation, [switch]$Revert) $ErrorActionPreference = 'Stop'; $RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"; $RegName = "HSTSPolicyBypassList" function Connect-RequiredServices { $p = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()); return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } function Test-Compliance { $r = [PSCustomObject]@{ScriptName = "hsts-bypass-disabled.ps1"; PolicyName = "HSTS Bypass Disabled"; IsCompliant = $true; CurrentValue = $null; Details = @() }; if (-not(Test-Path $RegPath)) { $r.Details += "Default: geen bypasses"; return $r }; try { $v = Get-ItemProperty -Path $RegPath -Name $RegName -ErrorAction Stop; if ($null -ne $v.$RegName -and $v.$RegName -ne "") { $r.IsCompliant = $false; $r.CurrentValue = $v.$RegName; $r.Details += "HSTS bypasses configured" }else { $r.Details += "Geen HSTS bypasses" } }catch { $r.Details += "Geen HSTS bypasses" }; return $r } function Invoke-Remediation { if (Test-Path $RegPath) { Remove-ItemProperty -Path $RegPath -Name $RegName -ErrorAction SilentlyContinue }; Write-Host "HSTS bypass list verwijderd" -ForegroundColor Green } function Invoke-Monitoring { $r = Test-Compliance; Write-Host "`n$($r.PolicyName): $(if($r.IsCompliant){'COMPLIANT'}else{'NON-COMPLIANT'})" -ForegroundColor $(if ($r.IsCompliant) { 'Green' }else { 'Red' }); return $r } function Invoke-Revert { Write-Host "No revert action" } try { if (-not(Connect-RequiredServices)) { exit 1 }; if ($Monitoring) { $r = Invoke-Monitoring; exit $(if ($r.IsCompliant) { 0 }else { 1 }) }elseif ($Remediation) { if (-not $WhatIf) { Invoke-Remediation } }elseif ($Revert) { Invoke-Revert }else { $r = Test-Compliance; exit $(if ($r.IsCompliant) { 0 }else { 1 }) } }catch { Write-Error $_; exit 1 }

Risico zonder implementatie

Risico zonder implementatie
Medium: Medium risico op HTTP downgrade attacks voor sites met HSTS bypass.

Management Samenvatting

Geen HSTS bypasses configureren. Dwingt HTTPS af zonder uitzonderingen. Implementatie: 30 minuten.