Onveilige Content Geblokkeerd Op HTTPS-Sites

💼 Management Samenvatting

Het blokkeren van onveilige HTTP-inhoud op HTTPS-pagina's vormt een kernverplichting binnen de Nederlandse Baseline voor Veilige Cloud omdat het direct de vertrouwelijkheid en integriteit van webverkeer beschermt. Deze maatregel sluit aan op de Zero Trust-aanpak waarbij alleen volledig versleutelde en gevalideerde bronnen mogen worden uitgevoerd in de browser.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
7/10
Implementatie
0.75u (tech: 0.5u)
Van toepassing op:
Edge

Mixed content ontstaat zodra een aanvaller kans ziet om elementen via een onversleutelde HTTP-keten in te voegen terwijl de hoofdpagina via HTTPS wordt geleverd, waardoor het pad voor manipulatie van scripts, stylesheets en iframes open blijft. In een overheidscontext, waar veel portalen persoonsgegevens, beleidsdocumenten of geheime beraadslagingen ontsluiten, leidt elke downgrade naar HTTP tot een directe schending van BIO-thema 13 en vormt het een escalatiepunt voor credential harvesting, clickjacking en drive-by malware. Door deze kwetsbaarheid te elimineren wordt niet alleen MITM-risico gereduceerd, maar krijgt het securityteam ook een handvat om fraude en reputatieschade voor bestuurders te voorkomen.

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

Implementatie

De control configureert Microsoft Edge zodanig dat de beleidsinstelling InsecureContentAllowedForUrls leeg blijft, dat de onderliggende registerwaarde HKLM:\SOFTWARE\Policies\Microsoft\Edge\InsecureContentAllowed op 0 staat en dat eventuele lokale uitzonderingen automatisch worden opgeschoond. Hierdoor worden gemengde bronnen op HTTPS-sites systematisch geblokkeerd, krijgt de gebruiker een duidelijke waarschuwing en kan het beheerteam aantonen dat de browserinstantie voldoet aan de rijksbrede encryptie-eisen.

Vereisten

Het afdwingen van blokkering van gemengde inhoud begint met een helder begrip van de scope en de afhankelijkheden binnen de organisatie. Nederlandse overheidsinstanties werken doorgaans met een mix van beheerde werkplekken, centrale internetkoppelingen en cloudgebaseerde diensten die elk hun eigen configuratieketen hebben. Alleen wanneer architectuurteams exact weten welke netwerken, welke tenants en welke browserkanalen onder het beleid vallen, kan men bepalen welke pilotgroepen, functionele beheerders en leveranciers moeten worden betrokken. Deze voorbereidende inventarisatie vormt een harde voorwaarde omdat uitzonderingen die buiten beeld blijven alsnog onversleutelde inhoud kunnen injecteren en daarmee de volledige maatregel ondermijnen.

Een tweede vereiste is de technische geschiktheid van de werkplekken en browsers die het beleid moeten afdwingen. Edge moet minimaal versie 120 draaien met de meest recente beveiligingspatches, en de onderliggende Windows 10 of Windows 11 images moeten up-to-date zijn met de cumulatieve updates die TLS 1.3 en modern certificate pinning ondersteunen. Organisaties die nog vertrouwen op Internet Explorer-modus of legacy webapps moeten vooraf toetsen of deze systemen alternatieve, volledig versleutelde eindpunten aanbieden. Zonder deze voorbereiding leidt het blokkeren van gemengde inhoud tot productieverlies en ontstaat druk om alsnog uitzonderingen te creëren.

Ook de identiteit- en toegangslaag moet op orde zijn voordat blokkering van onveilige inhoud effectief wordt. Alleen apparaten die compliant zijn binnen Microsoft Intune of Configuration Manager mogen beleidsupdates ontvangen, waardoor Conditional Access en device compliance policies als randvoorwaarde gelden. Daarnaast moeten beheerders beschikken over rolgebaseerde toestemmingen in Entra ID en Intune zodat aanpassingen aantoonbaar door geautoriseerde personen gebeuren. Wanneer deze governance ontbreekt, kan een kwaadwillende beheerder alsnog de policy aanpassen of uitschakelen en blijft het risico aanwezig.

Daarnaast vergt deze control een volwassen beheerproces met duidelijke taakverdeling tussen werkplekbeheer, security operations en lijnorganisaties. Werkplekbeheerders moeten patchrondes en configuratieprofielen beheren, het SOC monitort op detecties van mixed content en producteigenaren beoordelen of specifieke websites in aanmerking komen voor modernisering. Deze rollen moeten vooraf worden beschreven in runbooks, inclusief escalatiestappen en beschikbaarheidsvensters, zodat de organisatie bij incidenten weet wie beslissingen neemt. Zonder dergelijke procesafspraken verzandt de control in ad-hoc acties en verliest men zicht op consistentie.

Tot slot moeten documentatie en audit-trails beschikbaar zijn voordat de maatregel breed uitgerold wordt. Denk aan een actueel CMDB-record van Edge-instellingen, een risicobeoordeling waarin gemotiveerd staat waarom blokkering noodzakelijk is, en een communicatieplan richting eindgebruikers dat uitlegt waarom bepaalde pagina's voortaan geblokkeerd worden. Deze documenten vormen tijdens BIO- en AVG-audits het bewijs dat de instelling bewust is genomen, draagvlak kent in het bestuur en periodiek wordt herzien. Zonder deze vastlegging is het onmogelijk om aan te tonen dat de maatregel onderdeel is van de bredere beveiligingsarchitectuur.

Implementatie

De implementatie start met het vertalen van het beleidsdoel naar een concreet configuratieontwerp dat zowel Intune als traditionele Group Policy ondersteunt. Architecten beschrijven welke device-scopes, update-ringen en kanalen gebruikt worden en leggen vast dat InsecureContentAllowedForUrls standaard leeg blijft. Hierbij hoort een fallback-strategie voor uitzonderlijke scenario's, bijvoorbeeld testomgevingen waarin legacy-overheidsapps tijdelijk HTTP-content leveren. Door deze blueprint vooraf te valideren met CISO, functioneel beheer en leveranciers wordt voorkomen dat de control later weer wordt teruggedraaid.

Voor omgevingen die Intune gebruiken wordt een Configuration Profile aangemaakt op basis van het Administrative Templates-profiel voor Microsoft Edge. Binnen dit profiel wordt de instelling vastgezet zodat Edge automatisch alle gemengde inhoud blokkeert, terwijl aanvullende policies zoals het afdwingen van HTTPS en het blokkeren van onbetrouwbare privé-netwerkverzoeken gelijktijdig worden toegepast. Het profiel wordt toegewezen aan dynamische Azure AD-groepen die compliant devices verzamelen en bevat scope tags voor regionale beheercentra. Tijdens de pilotfase worden minimaal twee devicecollecties gebruikt zodat men impact op zowel kantoorwerkplekken als veldwerkplekken kan beoordelen.

On-premises organisaties die Group Policy Objects inzetten hanteren een vergelijkbare aanpak. Het beleid wordt opgenomen in een dedicated Edge Security GPO die gekoppeld is aan een leesbare versiebeheerstructuur. Vooraf wordt de registry-instelling HKLM\SOFTWARE\Policies\Microsoft\Edge\InsecureContentAllowed gedeclareerd als DWORD met waarde 0 en wordt gecontroleerd of bestaande GPO's geen conflicterende configuraties bevatten. Het change-proces schrijft voor dat elke wijziging via een CAB wordt goedgekeurd, inclusief regressietests van bedrijfsportalen die mogelijk gemengde inhoud bevatten.

Automatisering is essentieel om configuratiedrift te voorkomen. Het beheerteam integreert Validatie- en Self-healing-taken in Endpoint analytics zodat apparaten die afwijken automatisch worden hersteld en dataverzamelingen naar Log Analytics worden verstuurd voor trendanalyse.

Gebruik PowerShell-script insecure-content-blocked.ps1 (functie Invoke-Remediation) – PowerShell-automatisering die registry-waarden controleert, uitzonderingen verwijdert en afwijkingen logt.

Na configuratie volgt een gecontroleerde validatiefase waarin security engineers doelbewust HTTPS-sites opzoeken die mixed content proberen te laden, zoals interne dashboards met oude iframes. Hun bevindingen worden vergeleken met het gedrag in andere browsers en vastgelegd in testrapporten die aantonen dat Edge het laden blokkeert terwijl de gebruiker duidelijke feedback krijgt. Tegelijkertijd controleert het SOC of Defender for Endpoint en Microsoft Sentinel telemetrie genereren zodra gebruikers gemengde content tegenkomen, zodat incidenten automatisch kunnen worden opgepakt.

Wanneer de inrichting stabiel is, wordt de control via staged rings naar de volledige organisatie uitgerold. Release notes, servicedesk-scripts en FAQ's worden gedeeld zodat eindgebruikers begrijpen waarom bepaalde pagina's mogelijk niet meer werken en hoe zij alternatieve bronnen kunnen gebruiken. Alle configuraties worden vastgelegd in versiebeheer, inclusief exports van Intune-profielen en GPO-back-ups, en gekoppeld aan het security governance register zodat toekomstige wijzigingen traceerbaar blijven.

Monitoring

Monitoring van deze control begint met het verzamelen van betrouwbare signalen over policy naleving. Intune levert hiervoor compliancerapporten die exact aangeven welke apparaten het Edge-beleid hebben ontvangen, welke policyversie is toegepast en wanneer de laatste synchronisatie plaatsvond. Deze gegevens worden gecombineerd met ConfigMgr State Messages of Telemetry vanuit Microsoft Graph, die vervolgens in een Power BI-dashboard worden gevisualiseerd zodat compliancepercentages per organisatieonderdeel en per apparaatrol zichtbaar zijn. Door deze zichtbaarheid kunnen CISO's snel ingrijpen als een afdeling achterblijft met updates, licenties ontbreken of devices wekenlang offline zijn geweest.

Daarnaast worden browsertelemetrie en Defender for Endpoint-signalen gekoppeld om te detecteren of gebruikers alsnog mixed content proberen te laden. Edge logt gebeurtenissen in het Application-eventlog en in het Microsoft-Edge/Debug-kanaal, die via Windows Event Forwarding, Azure Monitor Agent of Syslog naar een centrale loganalysesworkspace worden verstuurd. Gebruikersonvriendelijke blokkades worden hierdoor snel gevonden omdat het SOC meteen ziet welke URL gemengde inhoud bevatte, welke certificaatketen werd aangeboden, vanaf welk netwerksegment de aanvraag kwam en welke gebruiker of device-ID werd geraakt.

Gebruik PowerShell-script insecure-content-blocked.ps1 (functie Invoke-Monitoring) – Valideert registry-waarden, Intune status en schrijft resultaten weg naar Log Analytics.

Het script draait periodiek als Proactive Remediation en levert rijke JSON-rapporten met de actuele status van registry-waarden, eventuele uitzonderingen en de toegepaste herstelacties. Deze informatie wordt opgeslagen in een Log Analytics-tabel met een retentie van minimaal één jaar waardoor trendanalyses en regressies eenvoudig te berekenen zijn. Security engineers kunnen hierdoor aantonen dat de instelling niet alleen theoretisch is geconfigureerd, maar daadwerkelijk actief blijft op alle productiesystemen, inclusief mobiele werkplekken die intermittent verbinding maken.

Naast technische signalen vereist monitoring ook functionele kwaliteitscontroles. Service managers plannen kwartaalreviews waarin vertegenwoordigers van primaire processen beoordelen of alle kritieke webapplicaties volledig via HTTPS functioneren en of leveranciers hun interfaces hebben gemoderniseerd. Bevindingen worden vertaald naar verbeterplannen met duidelijke deadlines, zodat legacy services zo snel mogelijk naar een veilige architectuur migreren en uitzonderingen niet onbeperkt blijven bestaan.

Tot slot wordt rapportage richting bestuur ingericht via een vast security-dashboard waarin KPI's zoals het percentage Edge-instanties met mixed content blokkering, het aantal meldingen van geblokkeerde URL's en de gemiddelde oplostijd worden getoond. Het dashboard bevat toelichtingen op de impact voor NIS2 en BIO, waardoor bestuurders begrijpen waarom blijvende aandacht en budget noodzakelijk zijn. Deze governance-laag sluit de monitoringcyclus en borgt dat afwijkingen binnen maximaal vijf werkdagen worden geadresseerd.

Compliance en Auditing

Deze maatregel sluit direct aan op de Nederlandse Baseline voor Veilige Cloud omdat het afdwingen van end-to-end encryptie een harde eis is binnen BIO-thema 13 en het landelijke Zero Trust-programma. Door het expliciet blokkeren van gemengde inhoud wordt aangetoond dat encryptiemaatregelen niet alleen in netwerkcomponenten bestaan maar ook in de gebruikerslaag zijn ingebed, waardoor vertrouwelijkheid, integriteit en beschikbaarheid gelijktijdig worden geborgd. Het beleidsbesluit om mixed content te blokkeren wordt vastgelegd in het security governance register en voorzien van een risicobeoordeling zodat bestuurders kunnen onderbouwen waarom de maatregel noodzakelijk is.

Voor het CIS Microsoft Edge benchmarkdomein dekt deze instelling de aanbeveling om mixed content standaard te blokkeren binnen zowel L1- als L2-profielen. Auditteams documenteren de GPO- of Intune-profielen inclusief versienummer, scope tags en change-referenties. Deze documentatie wordt geverifieerd aan de hand van sampleapparaten waarbij screenshots van Edge-instellingen, Intune-rapporten en eventlogmeldingen worden opgenomen in het auditdossier, zodat de control over meerdere auditcycli traceerbaar blijft.

NIS2 legt nadruk op risicobeheer, tijdige melding van incidenten en het gebruik van passende technische maatregelen zoals cryptografie en netwerkbeveiliging. Het blokkeren van onveilige content vormt onderdeel van de cryptografische maatregelen onder artikel 21 en helpt incidenten sneller op te sporen omdat afwijkend verkeer onmiddellijk zichtbaar wordt in monitoringdashboards. Door deze data te correleren met SOC use-cases kan een organisatie aantonen dat zij vroegtijdig indicatoren detecteert, escalaties documenteert en mitigaties uitvoert binnen de vereiste meldtermijnen.

Ook ISO 27001:2022 eist in Annex A.13.1.1 dat netwerkdiensten worden beschermd door passende beveiligingsmechanismen. In auditverslagen wordt beschreven hoe deze Edge-policy samenhangt met netwerksegmentatie, TLS-configuraties, certificaatbeheer en het change management-proces. Door deze koppeling ontstaat bewijs dat de maatregel geen losstaande browseraanpassing is, maar een integraal onderdeel van het Information Security Management System, inclusief risicoregisters, behandeling van wijzigingsverzoeken en managementbeoordelingen.

Voor auditors is het essentieel dat bewijsstukken centraal opgeslagen en minimaal zeven jaar bewaard blijven. Naast beleidsdocumenten omvat dit scriptuitvoer, Intune-compliance exports, screenshots en incidenttickets waarin blokkades of uitzonderingsverzoeken zijn behandeld. Door deze data te koppelen aan het centrale GRC-platform kan elke controle binnen minuten worden herleid naar een specifieke wijziging, verantwoordelijke en datum, waardoor naleving tijdens interne en externe audits versneld wordt aangetoond.

Remediatie

Remediatie begint met een signaal uit monitoring dat aangeeft dat een apparaat of groep apparaten toch gemengde inhoud toestaat. Het incident response team bevestigt eerst de betrouwbaarheid van het signaal, achterhaalt of het om een misconfiguratie, een noodzaak voor legacy-functionaliteit of een kwaadwillige wijziging gaat en bepaalt welke bedrijfsprocessen geraakt kunnen worden. Deze triagefase is cruciaal omdat sommige departementen tijdelijk afhankelijk kunnen zijn van leveranciers die nog HTTP-componenten leveren en daarom een gecontroleerde aanpak vereisen.

Gebruik PowerShell-script insecure-content-blocked.ps1 (functie Invoke-Remediation) – Automatiseert detectie van afwijkingen, herstelt registry-waarden en verwijdert ongewenste uitzonderingen.

Het standaard herstelpad maakt gebruik van een gedocumenteerd stappenplan waarin technische correcties hand in hand gaan met communicatie naar proceseigenaren. Nadat het script is uitgevoerd wordt gecontroleerd of Intune en GPO dezelfde configuratie weerspiegelen, of lokale uitzonderingen zijn verwijderd en of het apparaat opnieuw compliant is. Alle acties worden gelogd met apparaatnaam, tijdstempel en operator zodat reconstructie voor audits mogelijk blijft en lessons learned eenvoudig gedeeld kunnen worden.

In situaties waarin de afwijking voortkomt uit een GPO-conflict of een bewust uitgevoerde lokale wijziging wordt een change ingediend waarin exact staat welke OU is geraakt, welke applicaties mogelijk impact ervaren en welke fallback beschikbaar is. Tijdens het CAB-overleg wordt beoordeeld of aanvullende tests nodig zijn of dat de wijziging onmiddellijk kan worden uitgerold. Door deze governance te volgen wordt voorkomen dat tijdelijke workarounds de control permanent verzwakken of dat ongeautoriseerde beheerders beleidsinstellingen aanpassen.

Communicatie naar gebruikers en leveranciers is een integraal onderdeel van het herstelproces. Wanneer een website wordt geblokkeerd ontvangen eindgebruikers duidelijke instructies via het servicedeskportaal waarin staat waarom de blokkade plaatsvindt, welke gegevensrisico's spelen en hoe men een uitzondering kan aanvragen. Tegelijkertijd wordt de applicatie-eigenaar aangesproken om de bron van gemengde inhoud te verwijderen door scripts, afbeeldingen en iframes via HTTPS aan te bieden. Hierdoor verschuift de focus van symptoombestrijding naar structurele oplossingen die toekomstbestendig zijn.

Na afronding van de herstelactie wordt een validatieset uitgevoerd waarin opnieuw wordt getest met dezelfde scenario's en waarin de resultaten worden vergeleken met baseline-metingen. Eventuele nieuwe inzichten worden opgenomen in het verbeterregister zodat toekomstige aanvragen sneller kunnen worden afgehandeld en zodat het securityteam leert welke patronen vaak terugkeren. Deze feedbacklus zorgt ervoor dat remediatie geen eenmalige actie is maar onderdeel wordt van continue verbetering en volwassen incidentrespons.

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: Insecure Content Blocked - Blokkeert mixed content .DESCRIPTION CIS - Voorkomt HTTP content in HTTPS pagina's (mixed content attacks). .NOTES Filename: insecure-content-blocked.ps1 | Author: Nederlandse Baseline voor Veilige Cloud Registry: HKLM:\SOFTWARE\Policies\Microsoft\Edge\InsecureContentAllowed | Expected: 0 #> #Requires -Version 5.1 #Requires -RunAsAdministrator [CmdletBinding()]param([Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert) $ErrorActionPreference = 'Stop'; $RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"; $RegName = "InsecureContentAllowedForUrls"; $ExpectedValue = 0 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 = "insecure-content-blocked.ps1"; PolicyName = "Insecure Content Blocked"; IsCompliant = $false; CurrentValue = $null; ExpectedValue = $ExpectedValue; Details = @() }; if (-not(Test-Path $RegPath)) { $r.IsCompliant = $true; $r.Details += "Geen insecure content exceptions"; return $r }; $r.Details += "Check insecure content policies"; return $r } function Invoke-Remediation { Write-Host "Insecure content should be blocked by default" -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 action needed" } 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
High: Hoog risico op Man-in-the-Middle aanvallen waarbij aanvallers onversleutelde HTTP-content kunnen onderscheppen en manipuleren op beveiligde HTTPS-pagina's. Dit kan leiden tot diefstal van inloggegevens en injectie van kwaadaardige code.

Management Samenvatting

Blokkeer alle HTTP-content op HTTPS-pagina's om mixed content aanvallen te voorkomen. Standaard ingeschakeld in Edge - verifieer dat er geen uitzonderingen zijn geconfigureerd. Implementatie: 15-30 minuten.