Azure Databricks: Verkeersversleuteling Via TLS/HTTPS Waarborgen

💼 Management Samenvatting

Verkeersversleuteling in Azure Databricks waarborgt dat alle communicatie gebruikmaakt van TLS/HTTPS-protocollen voor web-applicatie-toegang, notebook-uitvoering, cluster-communicatie en DBFS-toegang. Deze versleuteling beschermt gevoelige gegevens tijdens transmissie tegen afluistering en manipulatie.

Aanbeveling
VERIFIEER EN MONITOR
Risico zonder
High
Risk Score
8/10
Implementatie
1.5u (tech: 1u)
Van toepassing op:
Azure Databricks

Onversleuteld netwerkverkeer vormt een kritiek beveiligingsrisico voor Databricks-omgevingen die organisaties blootstelt aan ernstige bedreigingen. Wanneer verkeer niet wordt versleuteld, kunnen aanvallers die netwerkverkeer monitoren notebook-code in onversleutelde tekst onderscheppen, wat diefstal van intellectueel eigendom en bedrijfslogica mogelijk maakt. Deze onderschepping kan plaatsvinden via gecompromitteerde netwerkapparatuur, man-in-the-middle posities, of malafide internetproviders die netwerkverkeer kunnen observeren. Gegevensquery's zijn volledig leesbaar tijdens transmissie wanneer ze niet worden versleuteld, wat kan leiden tot datalekken van gevoelige bedrijfsinformatie of persoonsgegevens die in strijd zijn met de Algemene Verordening Gegevensbescherming (AVG). Inloggegevens kunnen worden onderschept tijdens authenticatieprocessen, waardoor aanvallers authenticatie kunnen omzeilen en ongeautoriseerde toegang kunnen verkrijgen tot Databricks-workspaces en de daarin opgeslagen gegevens. Man-in-the-middle-aanvallen worden mogelijk waarbij aanvallers niet alleen verkeer kunnen onderscheppen en lezen, maar ook kunnen manipuleren, wat de integriteit van gegevens compromitteert en kan leiden tot corruptie van analyses of injectie van kwaadaardige code. Azure Databricks heeft standaard HTTPS ingeschakeld voor het merendeel van het verkeer, wat een sterke beveiligingsbasis biedt die de meeste risico's mitigeert. Het is echter essentieel om te valideren dat alle communicatiekanalen correct zijn geconfigureerd en dat er geen configuratie-leemtes bestaan. Deze validatie omvat verificatie dat de web-applicatie altijd via HTTPS toegankelijk is en dat HTTP-verbindingen worden geblokkeerd of omgeleid, dat REST API-aanroepen versleuteld worden verstuurd via TLS 1.2 of hoger en dat oudere TLS-versies zijn uitgeschakeld, dat JDBC- en ODBC-verbindingen TLS gebruiken voor database-communicatie met correct geconfigureerde verbindingsstrings, en dat inter-cluster-verkeer binnen Databricks-omgevingen versleuteld is. Zonder deze validatie kunnen configuratiefouten, verouderde client-instellingen, of aangepaste scripts onversleutelde verbindingen toestaan, wat beveiligingslekken creëert die door aanvallers kunnen worden uitgebuit. Voor organisaties die moeten voldoen aan compliance-frameworks zoals ISO 27001, NIS2, BIO of PCI-DSS is versleuteling van gegevens tijdens overdracht een absolute vereiste die tijdens audits moet kunnen worden aangetoond. Het niet voldoen aan deze vereisten kan leiden tot aanzienlijke boetes, reputatieschade en in sommige gevallen zelfs strafrechtelijke aansprakelijkheid.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.Databricks

Implementatie

Deze maatregel valideert en waarborgt versleuteling van al het netwerkverkeer in Azure Databricks omgevingen door middel van een systematische aanpak die alle kritieke communicatiekanalen omvat. De validatie is een continue proces dat periodiek wordt uitgevoerd om te waarborgen dat er geen beveiligingslekken ontstaan door configuratiefouten, verouderde instellingen, of nieuwe integraties. Web-applicatie-toegang tot Databricks wordt automatisch afgedwongen via HTTPS door het Azure-platform, wat betekent dat gebruikers die via hun browser toegang krijgen tot de Databricks-workspace altijd een versleutelde verbinding gebruiken. Deze automatische afdwinging vormt een solide basis, maar vereist validatie om te verifiëren dat HTTP-verbindingen daadwerkelijk worden geblokkeerd of omgeleid en dat er geen configuratie-opties zijn ingeschakeld die onversleutelde verbindingen toestaan. REST API-aanroepen naar de Databricks REST API moeten TLS 1.2 of hoger gebruiken voor alle communicatie, wat kan worden geverifieerd via diagnostische logs en netwerkverkeer-analyse waarbij wordt gecontroleerd welke TLS-versies worden onderhandeld tijdens API-verbindingen. Oudere TLS-versies zoals TLS 1.0 en TLS 1.1 moeten expliciet zijn uitgeschakeld in zowel client- als server-configuraties om te voorkomen dat onveilige verbindingen worden toegestaan. Voor JDBC- en ODBC-verbindingen die worden gebruikt voor database-communicatie met Databricks-clusters moet worden gecontroleerd dat verbindingsstrings de ssl=true parameter bevatten, wat TLS-versleuteling activeert voor alle database-query's en resultaten. Zonder deze configuratie kunnen database-verbindingen onversleuteld verlopen, wat een kritiek beveiligingsrisico vormt waarbij gevoelige query's en resultaten kunnen worden onderschept. Initialisatiescripts die worden gebruikt bij cluster-opstarten moeten uitsluitend HTTPS-URL's gebruiken voor het downloaden van afhankelijkheden, configuratiebestanden en externe bronnen, waarbij HTTP-downloads worden geblokkeerd omdat deze onversleuteld zijn en gevoelig voor man-in-the-middle-aanvallen. Verbindingen met externe databronnen zoals Azure Storage, Azure SQL Database of andere cloud services moeten versleutelde verbindingen gebruiken, waarbij Azure Storage standaard al versleuteling biedt voor gegevens tijdens overdracht via HTTPS, maar validatie toch aanbevolen is om te waarborgen dat alle verbindingen daadwerkelijk versleuteld zijn en dat er geen terugval naar onversleutelde protocollen mogelijk is. Deze maatregel is primair een validatie-controle omdat Azure Databricks het merendeel van het verkeer automatisch versleutelt door middel van ingebouwde beveiligingsmaatregelen. Handmatige configuratie is minimaal vereist voor de meeste verbindingen, maar periodieke validatie is essentieel om ervoor te zorgen dat er geen configuratie-leemtes ontstaan door bijvoorbeeld verouderde client-configuraties die nog oudere TLS-versies ondersteunen, aangepaste scripts met HTTP-URL's die onversleutelde downloads toestaan, of incorrecte JDBC/ODBC-verbindingsstrings die de SSL-parameter missen. De implementatie bestaat hoofdzakelijk uit het uitvoeren van periodieke audits met behulp van geautomatiseerde scripts die alle configuraties scannen, het monitoren van netwerkverkeer om onversleutelde verbindingen te detecteren, en het corrigeren van eventuele niet-versleutelde verbindingen die worden gedetecteerd. Deze aanpak waarborgt dat organisaties kunnen aantonen tijdens compliance-audits dat alle gegevensoverdracht versleuteld is, wat een vereiste is voor frameworks zoals ISO 27001, NIS2, BIO en PCI-DSS.

Vereisten

Voor het waarborgen van verkeersversleuteling in Azure Databricks omgevingen zijn verschillende technische en configuratieve vereisten van essentieel belang. Deze vereisten vormen de basis voor een veilige en compliant Databricks-implementatie waarbij alle netwerkcommunicatie wordt beschermd tegen afluistering en manipulatie. Het implementeren van robuuste versleutelingsmaatregelen is niet alleen een technische noodzaak, maar ook een fundamentele vereiste voor organisaties die werken met gevoelige gegevens en moeten voldoen aan strikte compliance-eisen zoals ISO 27001, NIS2, BIO en PCI-DSS. De primaire vereiste betreft de beschikbaarheid van een Azure Databricks workspace waarbij versleuteling standaard is ingeschakeld. Azure Databricks biedt automatisch HTTPS-versleuteling voor web-applicatie-toegang, wat betekent dat gebruikers die via hun browser toegang krijgen tot de Databricks-omgeving altijd een versleutelde verbinding gebruiken. Deze standaardconfiguratie vormt een solide basis, maar vereist aanvullende validatie om ervoor te zorgen dat alle communicatiekanalen correct zijn geconfigureerd. Organisaties moeten begrijpen dat hoewel Azure Databricks veel beveiligingsmaatregelen standaard implementeert, de verantwoordelijkheid voor het valideren en monitoren van deze configuraties bij de organisatie zelf ligt. Voor alle netwerkverbindingen is het gebruik van Transport Layer Security (TLS) versie 1.2 of hoger verplicht. TLS 1.2 en de nieuwere versies zoals TLS 1.3 bieden sterke cryptografische beveiliging die bescherming biedt tegen moderne aanvalstechnieken. Oudere versies zoals TLS 1.0 en TLS 1.1 zijn kwetsbaar voor bekende beveiligingslekken zoals POODLE, BEAST en andere cryptografische aanvallen, en mogen niet meer worden gebruikt in productieomgevingen. Deze vereiste geldt voor alle soorten verbindingen, inclusief REST API-aanroepen, web-applicatie-toegang, en database-verbindingen. Organisaties moeten ervoor zorgen dat alle client-applicaties en servers zijn geconfigureerd om alleen moderne TLS-versies te accepteren en dat oudere protocollen expliciet zijn uitgeschakeld. JDBC- en ODBC-drivers die worden gebruikt voor database-verbindingen moeten expliciet worden geconfigureerd voor TLS-versleuteling. Dit betekent dat verbindingsstrings de parameter ssl=true of vergelijkbare SSL/TLS-instellingen moeten bevatten. Zonder deze configuratie kunnen database-verbindingen onversleuteld verlopen, wat een kritiek beveiligingsrisico vormt waarbij gevoelige query's en resultaten kunnen worden onderschept door aanvallers die netwerkverkeer monitoren. Organisaties moeten ervoor zorgen dat alle database-clients en applicaties die verbinding maken met Databricks-clusters correct zijn geconfigureerd met TLS-ondersteuning. Dit vereist vaak het bijwerken van client-drivers naar nieuwere versies die moderne TLS-versies ondersteunen en het controleren van alle verbindingsstrings in applicatie-configuratiebestanden, omgevingsvariabelen en geheimenbeheersystemen. Initialisatiescripts die worden gebruikt bij het opstarten van Databricks-clusters moeten uitsluitend HTTPS-URL's gebruiken voor het downloaden van afhankelijkheden, configuratiebestanden en externe bronnen. HTTP-downloads moeten worden geblokkeerd omdat deze onversleuteld zijn en gevoelig voor man-in-the-middle-aanvallen waarbij aanvallers de gedownloade bestanden kunnen manipuleren, malware kunnen injecteren, of gevoelige informatie kunnen onderscheppen. Scripts die HTTP-URL's bevatten vormen een beveiligingsrisico omdat aanvallers de gedownloade bestanden kunnen manipuleren tijdens de transmissie, wat kan leiden tot compromittering van hele Databricks-clusters. Organisaties moeten een strikt beleid implementeren dat vereist dat alle init scripts worden beoordeeld voordat ze worden geïmplementeerd, en dat alle externe downloads uitsluitend via HTTPS plaatsvinden. Externe gegevensverbindingen naar Azure Storage, Azure SQL Database of andere cloud services moeten versleutelde verbindingen gebruiken. Hoewel Azure Storage standaard versleuteling biedt voor gegevens tijdens overdracht via HTTPS, is het belangrijk om te valideren dat alle verbindingen daadwerkelijk versleuteld zijn en dat er geen terugval naar onversleutelde protocollen mogelijk is. Voor verbindingen met externe systemen buiten Azure moet expliciet worden gecontroleerd dat TLS-versleuteling is ingeschakeld en correct is geconfigureerd. Dit is vooral belangrijk voor organisaties die hybride omgevingen gebruiken waarbij Databricks-clusters verbinding maken met on-premises systemen of externe databronnen die mogelijk niet dezelfde standaard beveiligingsconfiguraties hebben als Azure-services. Naast deze technische vereisten is ook organisatorische aandacht nodig. IT-teams moeten periodiek audits uitvoeren om te verifiëren dat alle configuraties correct zijn en dat er geen onversleutelde verbindingen zijn geïntroduceerd door wijzigingen in configuraties, nieuwe applicaties of aangepaste scripts. Deze continue monitoring is essentieel omdat configuraties kunnen veranderen en nieuwe beveiligingslekken kunnen ontstaan wanneer ontwikkelaars nieuwe code implementeren, wanneer externe afhankelijkheden worden bijgewerkt, of wanneer organisaties nieuwe integraties toevoegen aan hun Databricks-omgeving. Organisaties moeten ook processen implementeren voor het beoordelen van beveiligingswijzigingen voordat ze worden geïmplementeerd, en voor het trainen van ontwikkelaars en IT-personeel in de juiste configuratie van versleutelde verbindingen.

Monitoring en Validatie

Gebruik PowerShell-script databricks-traffic-encrypted.ps1 (functie Invoke-Monitoring) – Valideert de verkeersversleutelingsconfiguratie voor Databricks.

Het monitoren en valideren van verkeersversleuteling in Azure Databricks omgevingen is een continue proces dat verschillende aspecten van de netwerkcommunicatie omvat. Deze monitoring is essentieel om te waarborgen dat alle communicatiekanalen correct zijn geconfigureerd en dat er geen beveiligingslekken ontstaan door configuratiefouten of verouderde instellingen. Effectieve monitoring vereist een combinatie van geautomatiseerde tools, periodieke handmatige controles en continue aandacht voor wijzigingen in de omgeving die mogelijk nieuwe beveiligingsrisico's introduceren. Organisaties moeten een gestructureerde aanpak implementeren waarbij monitoring wordt uitgevoerd op meerdere niveaus, van real-time detectie van beveiligingsincidenten tot periodieke diepgaande audits die alle aspecten van de versleutelingsconfiguratie evalueren. De eerste en meest kritieke controle betreft de web-applicatie URL die altijd via HTTPS moet worden afgedwongen. Azure Databricks dwingt standaard HTTPS af voor web-toegang, wat betekent dat pogingen om via HTTP toegang te krijgen automatisch worden omgeleid naar HTTPS. Deze afdwinging kan worden geverifieerd door te controleren dat de Databricks workspace URL altijd begint met https:// en dat HTTP-verbindingen niet mogelijk zijn. IT-teams moeten periodiek testen of HTTP-toegang daadwerkelijk wordt geblokkeerd of omgeleid, omdat configuratiefouten of aangepaste instellingen deze beveiliging kunnen uitschakelen. Deze verificatie moet worden uitgevoerd met behulp van verschillende methoden, waaronder handmatige browser-tests, geautomatiseerde scripts die HTTP-verbindingen proberen te maken, en netwerkverkeer-analyse om te detecteren of er onversleuteld verkeer plaatsvindt. Organisaties moeten ook controleren of er geen omleidingsproblemen zijn waarbij gebruikers mogelijk worden blootgesteld aan onversleutelde verbindingen tijdens het omleidingsproces. REST API-aanroepen vormen een ander kritiek communicatiekanaal dat moet worden gemonitord. Alle API-aanroepen naar de Databricks REST API moeten TLS 1.2 of hoger gebruiken. Deze versleuteling kan worden geverifieerd via diagnostische logs en netwerkverkeer-analyse waarbij wordt gecontroleerd welke TLS-versies worden onderhandeld tijdens API-verbindingen. Organisaties moeten ervoor zorgen dat alle client-applicaties en scripts die de Databricks API gebruiken correct zijn geconfigureerd met TLS 1.2 of hoger. Oudere TLS-versies moeten expliciet worden uitgeschakeld in client-configuraties om te voorkomen dat onveilige verbindingen worden toegestaan. Monitoring moet ook controleren of er geen hardcoded configuraties zijn die oudere TLS-versies forceren, en of alle API-client-libraries zijn bijgewerkt naar versies die moderne TLS-versies ondersteunen. Voor organisaties die gebruik maken van meerdere applicaties en scripts die de Databricks API aanroepen, is het essentieel om een centrale inventarisatie bij te houden van alle API-clients en periodiek te verifiëren dat ze allemaal correct zijn geconfigureerd. JDBC- en ODBC-verbindingen vereisen specifieke aandacht omdat deze vaak handmatig worden geconfigureerd in client-applicaties en daardoor gevoelig zijn voor configuratiefouten. Verbindingsstrings moeten de ssl=true parameter bevatten om TLS-versleuteling te activeren voor database-communicatie. Monitoring moet periodiek controleren of alle actieve verbindingsstrings deze parameter bevatten. Dit kan worden gedaan door verbindingsstrings te auditen in applicatie-configuratiebestanden, omgevingsvariabelen en verbindingsstring-repositories zoals Azure Key Vault of andere geheimenbeheersystemen. Organisaties moeten ook controleren of database-drivers correct zijn geconfigureerd om TLS te gebruiken en of er geen terugval naar onversleutelde verbindingen mogelijk is wanneer TLS-onderhandeling faalt. Dit is vooral belangrijk omdat sommige database-drivers standaard terugvallen naar onversleutelde verbindingen wanneer TLS-configuratie problemen ondervindt, wat een beveiligingsrisico vormt. Monitoring moet ook controleren of alle database-drivers zijn bijgewerkt naar versies die moderne TLS-versies ondersteunen en of er geen bekende beveiligingslekken zijn in de gebruikte driver-versies. Initialisatiescripts die worden gebruikt bij cluster-opstarten vormen een potentieel beveiligingsrisico als ze HTTP-URL's bevatten. Deze scripts moeten worden geaudit om te verifiëren dat ze uitsluitend HTTPS-URL's gebruiken voor het downloaden van afhankelijkheden en configuratiebestanden. Monitoring moet alle init scripts scannen op de aanwezigheid van HTTP-URL's en waarschuwingen genereren wanneer onversleutelde downloads worden gedetecteerd. Dit is vooral belangrijk omdat init scripts vaak worden aangepast door ontwikkelaars en nieuwe HTTP-URL's kunnen worden toegevoegd zonder dat de beveiligingsimplicaties worden begrepen. Organisaties moeten een proces implementeren waarbij alle init scripts worden beoordeeld voordat ze worden geïmplementeerd, en waarbij geautomatiseerde tools alle scripts scannen op HTTP-URL's als onderdeel van de CI/CD-pipeline. Monitoring moet ook controleren of gedownloade bestanden via init scripts correct zijn geverifieerd met behulp van checksums of digitale handtekeningen, omdat zelfs HTTPS-downloads kunnen worden gecompromitteerd als de integriteit van gedownloade bestanden niet wordt geverifieerd. Externe opslagverbindingen naar Azure Storage en andere cloud services moeten ook worden gemonitord. Hoewel Azure Storage standaard versleuteling biedt voor gegevens tijdens overdracht via HTTPS, is validatie aanbevolen om te waarborgen dat alle verbindingen daadwerkelijk versleuteld zijn en dat er geen configuratie-opties zijn ingeschakeld die onversleutelde verbindingen toestaan. Voor verbindingen met externe systemen buiten Azure moet expliciet worden gecontroleerd dat TLS-versleuteling is ingeschakeld. Monitoring moet periodiek controleren of alle actieve verbindingen naar externe databronnen versleuteld zijn en of er geen onversleutelde verbindingen zijn geïntroduceerd door wijzigingen in configuraties of nieuwe integraties. Dit is vooral belangrijk voor organisaties die hybride omgevingen gebruiken waarbij Databricks-clusters verbinding maken met on-premises systemen die mogelijk niet dezelfde standaard beveiligingsconfiguraties hebben als Azure-services. Monitoring moet ook controleren of verbindingsstrings naar externe systemen correct zijn geconfigureerd en of er geen hardcoded onversleutelde verbindingen zijn in applicatiecode. De monitoring moet worden uitgevoerd met behulp van geautomatiseerde scripts die periodiek alle configuraties scannen en waarschuwingen genereren wanneer onversleutelde verbindingen worden gedetecteerd. Deze scripts moeten worden uitgevoerd bij elke wijziging in de Databricks-configuratie en minstens wekelijks als onderdeel van routinematige beveiligingsaudits. De resultaten moeten worden gedocumenteerd en bewaard voor compliance-doeleinden, met name voor ISO 27001, NIS2 en BIO-audits die vereisen dat wordt aangetoond dat alle gegevensoverdracht versleuteld is. Organisaties moeten ook een proces implementeren voor het reageren op gedetecteerde beveiligingslekken, waarbij waarschuwingen automatisch worden doorgestuurd naar het security team en waarbij er duidelijke procedures zijn voor het snel corrigeren van gedetecteerde problemen. Monitoring-rapporten moeten regelmatig worden beoordeeld door security officers en IT-managers om te waarborgen dat trends en patronen in beveiligingsconfiguraties worden geïdentificeerd en aangepakt.

Compliance en Auditing

Verkeersversleuteling in Azure Databricks omgevingen is een kritieke vereiste voor naleving van verschillende compliance-frameworks die van toepassing zijn op Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige gegevens. Deze frameworks stellen specifieke eisen aan de beveiliging van gegevens tijdens transmissie, en organisaties moeten kunnen aantonen dat alle netwerkcommunicatie correct is versleuteld. Het niet voldoen aan deze vereisten kan leiden tot aanzienlijke boetes, reputatieschade en in sommige gevallen zelfs strafrechtelijke aansprakelijkheid. Organisaties moeten daarom een proactieve aanpak hanteren waarbij compliance niet wordt gezien als een eenmalige controle, maar als een continue proces waarbij versleutelingsmaatregelen regelmatig worden geëvalueerd, getest en gedocumenteerd. ISO 27001 is een internationaal erkende standaard voor informatiebeveiligingsmanagement die verschillende controls bevat die relevant zijn voor verkeersversleuteling. Control A.10.1.1 (Cryptographic controls) vereist dat organisaties cryptografische maatregelen implementeren om de vertrouwelijkheid, authenticiteit en integriteit van informatie te beschermen. Voor Azure Databricks betekent dit dat alle netwerkcommunicatie moet worden versleuteld met sterke cryptografische protocollen zoals TLS 1.2 of hoger. Organisaties moeten kunnen aantonen dat ze cryptografische controles hebben geïmplementeerd en dat deze periodiek worden geëvalueerd en bijgewerkt. Tijdens ISO 27001-audits moeten organisaties auditbewijs kunnen leveren dat aantoont dat versleuteling correct is geconfigureerd, dat er processen zijn voor het monitoren van versleuteling, en dat er procedures zijn voor het reageren op gedetecteerde beveiligingslekken. Dit auditbewijs moet worden bewaard voor minimaal 7 jaar en moet regelmatig worden bijgewerkt om te reflecteren op wijzigingen in de omgeving. ISO 27001 Control A.13.1.1 (Netwerkcontroles) vereist dat organisaties netwerkbeveiligingsmaatregelen implementeren om netwerkdiensten te beschermen. Dit omvat het gebruik van versleuteling voor netwerkcommunicatie, het beheren van netwerktoegang en het monitoren van netwerkverkeer. Voor Databricks-omgevingen betekent dit dat organisaties moeten kunnen aantonen dat alle netwerkverbindingen zijn beveiligd met versleuteling en dat er controles zijn geïmplementeerd om onversleuteld verkeer te detecteren en te voorkomen. Organisaties moeten ook kunnen aantonen dat ze processen hebben geïmplementeerd voor het beheren van netwerktoegang, het monitoren van netwerkverkeer op verdachte activiteiten, en het reageren op gedetecteerde beveiligingsincidenten. Tijdens audits moeten organisaties configuratie-documentatie kunnen tonen, monitoring-rapporten kunnen presenteren, en kunnen aantonen dat netwerkbeveiligingsmaatregelen regelmatig worden geëvalueerd en bijgewerkt. De NIS2-richtlijn (Network and Information Systems Directive 2) is van toepassing op essentiële en belangrijke entiteiten in de Europese Unie, inclusief Nederlandse organisaties in sectoren zoals energie, transport, gezondheidszorg en digitale infrastructuur. Artikel 21 van NIS2 vereist dat organisaties passende technische en organisatorische maatregelen nemen om de beveiliging van netwerk- en informatiesystemen te waarborgen, inclusief versleuteling van gegevens tijdens transmissie. Voor Azure Databricks-omgevingen betekent dit dat organisaties moeten kunnen aantonen dat alle gegevensoverdracht versleuteld is en dat er processen zijn geïmplementeerd om deze versleuteling te waarborgen en te monitoren. NIS2 vereist ook dat organisaties incidenten melden aan de bevoegde autoriteiten, wat betekent dat organisaties moeten kunnen aantonen dat ze systemen hebben voor het detecteren van beveiligingsincidenten, inclusief gedetecteerde onversleutelde verbindingen. Organisaties die niet voldoen aan NIS2-vereisten kunnen worden geconfronteerd met boetes tot 10 miljoen euro of 2% van de wereldwijde jaaromzet, wat de urgentie van compliance benadrukt. Het BIO-kader (Baseline Informatiebeveiliging Overheid) is specifiek ontwikkeld voor Nederlandse overheidsorganisaties en bevat thema 13.01.02 (Netwerkbeveiliging - versleuteling) dat vereist dat organisaties netwerkbeveiligingsmaatregelen implementeren, inclusief versleuteling van gegevens tijdens transmissie. Voor Databricks-omgevingen die worden gebruikt door overheidsorganisaties betekent dit dat alle netwerkcommunicatie moet worden versleuteld en dat organisaties moeten kunnen aantonen dat ze periodiek controleren of deze versleuteling correct is geïmplementeerd en actief blijft. BIO-audits worden uitgevoerd door de Auditdienst Rijk of andere bevoegde audit-organisaties, en organisaties moeten uitgebreide documentatie kunnen leveren die aantoont dat alle BIO-vereisten worden nageleefd. Dit omvat niet alleen technische configuraties, maar ook organisatorische maatregelen zoals beleid, procedures, training en incident response plannen. Organisaties die niet voldoen aan BIO-vereisten kunnen worden geconfronteerd met kritische bevindingen tijdens audits, wat kan leiden tot verplichte herstelacties en mogelijke budgettaire gevolgen. PCI-DSS (Payment Card Industry Data Security Standard) versie 4.0 is van toepassing op organisaties die creditcardgegevens verwerken. Requirement 4.1 vereist dat organisaties sterke cryptografie gebruiken om cardholder data te beschermen tijdens transmissie over openbare netwerken. Voor Databricks-omgevingen die worden gebruikt voor het verwerken van betalingsgegevens betekent dit dat alle netwerkcommunicatie die cardholder data bevat moet worden versleuteld met sterke cryptografische protocollen. Organisaties moeten kunnen aantonen dat ze geen onversleutelde transmissie van cardholder data toestaan en dat alle verbindingen TLS 1.2 of hoger gebruiken. PCI-DSS vereist ook dat organisaties regelmatig netwerkverkeer monitoren om te detecteren of er onversleutelde transmissie van cardholder data plaatsvindt, en dat ze processen hebben voor het reageren op gedetecteerde beveiligingsincidenten. Organisaties die niet voldoen aan PCI-DSS-vereisten kunnen worden geconfronteerd met boetes van creditcardmaatschappijen, verlies van het recht om creditcardbetalingen te accepteren, en mogelijke aansprakelijkheid voor datalekken. Voor compliance-audits moeten organisaties auditbewijs kunnen leveren dat aantoont dat verkeersversleuteling correct is geïmplementeerd en actief blijft. Dit bewijs omvat configuratie-audits die aantonen dat alle verbindingen correct zijn geconfigureerd met versleuteling, monitoring-logs die aantonen dat er geen onversleuteld verkeer wordt gedetecteerd, en periodieke validatie-rapporten die aantonen dat versleuteling periodiek wordt gecontroleerd en gevalideerd. Dit auditbewijs moet worden bewaard voor de vereiste bewaartermijn, die voor veel frameworks minimaal 7 jaar is. Organisaties moeten ook kunnen aantonen dat ze processen hebben voor het beheren van auditbewijs, inclusief het beveiligen van audit-logs tegen manipulatie, het regelmatig back-uppen van audit-data, en het kunnen produceren van audit-rapporten op verzoek van auditors. Effectieve compliance vereist niet alleen technische implementatie, maar ook een cultuur van continue verbetering waarbij beveiligingsmaatregelen regelmatig worden geëvalueerd en bijgewerkt om te voldoen aan veranderende bedreigingen en nieuwe compliance-vereisten.

Remediatie

Gebruik PowerShell-script databricks-traffic-encrypted.ps1 (functie Invoke-Remediation) – Herstellen.

Remediatie van onversleuteld verkeer in Azure Databricks omgevingen is een kritiek proces dat direct moet worden uitgevoerd wanneer beveiligingslekken worden gedetecteerd. Het doel van remediatie is om alle niet-versleutelde communicatiekanalen te identificeren, te corrigeren en te verifiëren dat alle verbindingen daadwerkelijk versleuteld zijn. Dit proces vereist systematische aanpak waarbij elk communicatiekanaal wordt onderzocht en waar nodig wordt aangepast. Effectieve remediatie vereist niet alleen technische expertise, maar ook een gestructureerde aanpak waarbij prioriteiten worden gesteld op basis van risiconiveau, waarbij kritieke beveiligingslekken eerst worden aangepakt voordat minder urgente problemen worden opgelost. Organisaties moeten een duidelijk remediatieproces hebben dat snel kan worden geactiveerd wanneer beveiligingslekken worden gedetecteerd, met duidelijke verantwoordelijkheden en tijdlijnen voor het oplossen van problemen. De eerste stap in het remediatieproces betreft de identificatie van alle onversleutelde verbindingen. Dit begint met een uitgebreide audit van alle configuratie-elementen in de Databricks-omgeving. IT-teams moeten alle verbindingsstrings controleren die worden gebruikt voor JDBC- en ODBC-verbindingen. Verbindingsstrings die de ssl=true parameter missen moeten worden aangepast om TLS-versleuteling te activeren. Dit vereist toegang tot alle applicatie-configuratiebestanden, omgevingsvariabelen en verbindingsstring-repositories waar deze configuraties worden opgeslagen, zoals Azure Key Vault, HashiCorp Vault, of andere geheimenbeheersystemen. Organisaties moeten ervoor zorgen dat alle database-clients en applicaties die verbinding maken met Databricks-clusters worden bijgewerkt met de juiste TLS-configuratie. Dit kan complex zijn wanneer organisaties gebruik maken van meerdere applicaties en systemen die allemaal moeten worden bijgewerkt. Het is daarom essentieel om een centrale inventarisatie bij te houden van alle systemen die verbinding maken met Databricks, zodat tijdens remediatie geen systemen worden gemist. Initialisatiescripts vormen een ander kritiek aandachtspunt tijdens remediatie. Alle init scripts die worden gebruikt bij cluster-opstarten moeten worden gescand op de aanwezigheid van HTTP-URL's. Wanneer HTTP-URL's worden gedetecteerd, moeten deze worden vervangen door HTTPS-equivalenten. Dit kan complex zijn wanneer externe afhankelijkheden worden gedownload van servers die mogelijk geen HTTPS ondersteunen. In dergelijke gevallen moeten organisaties alternatieve bronnen zoeken die HTTPS ondersteunen, of overwegen om afhankelijkheden lokaal te hosten op een server met HTTPS-ondersteuning. Het is essentieel dat alle init scripts worden bijgewerkt voordat nieuwe clusters worden gestart, omdat scripts met HTTP-URL's een permanent beveiligingsrisico vormen. Organisaties moeten ook controleren of gedownloade bestanden correct zijn geverifieerd met behulp van checksums of digitale handtekeningen, omdat zelfs HTTPS-downloads kunnen worden gecompromitteerd als de integriteit van gedownloade bestanden niet wordt geverifieerd. Tijdens remediatie moeten alle bestaande clusters die gebruik maken van scripts met HTTP-URL's worden geïdentificeerd en moeten deze scripts worden bijgewerkt, waarna clusters indien nodig opnieuw moeten worden gestart om de bijgewerkte scripts te gebruiken. REST API-aanroepen vereisen specifieke aandacht tijdens remediatie. Alle client-applicaties en scripts die de Databricks REST API gebruiken moeten worden gecontroleerd om te verifiëren dat ze TLS 1.2 of hoger gebruiken. Client-configuraties die oudere TLS-versies toestaan moeten worden bijgewerkt om alleen TLS 1.2 en hoger toe te staan. Dit kan vereisen dat client-libraries worden bijgewerkt naar nieuwere versies die moderne TLS-versies ondersteunen. Organisaties moeten ook controleren of er geen hardcoded configuraties zijn die TLS-versleuteling uitschakelen of oudere protocollen forceren. Dit vereist vaak het doorzoeken van applicatiecode, configuratiebestanden en omgevingsvariabelen op zoek naar configuraties die TLS-versleuteling kunnen uitschakelen. Voor organisaties die gebruik maken van meerdere applicaties en scripts die de Databricks API aanroepen, kan dit een tijdrovend proces zijn dat zorgvuldige coördinatie vereist om te waarborgen dat alle systemen correct worden bijgewerkt zonder service-onderbrekingen te veroorzaken. Externe opslagverbindingen naar Azure Storage en andere cloud services moeten worden gecontroleerd om te verifiëren dat alle verbindingen versleuteld zijn. Hoewel Azure Storage standaard versleuteling biedt voor gegevens tijdens overdracht, kunnen aangepaste configuraties of verbindingen met externe systemen mogelijk onversleuteld zijn. Remediatie moet controleren of alle verbindingsstrings de juiste parameters bevatten voor versleuteling en of er geen terugval naar onversleutelde verbindingen mogelijk is. Voor verbindingen met externe systemen buiten Azure moet expliciet worden gecontroleerd dat TLS-versleuteling is ingeschakeld en correct is geconfigureerd. Dit is vooral belangrijk voor organisaties die hybride omgevingen gebruiken waarbij Databricks-clusters verbinding maken met on-premises systemen die mogelijk niet dezelfde standaard beveiligingsconfiguraties hebben als Azure-services. In dergelijke gevallen kan remediatie vereisen dat organisaties samenwerken met teams die verantwoordelijk zijn voor on-premises systemen om te waarborgen dat TLS-versleuteling correct is geconfigureerd aan beide kanten van de verbinding. Na het corrigeren van alle gedetecteerde beveiligingslekken is verificatie essentieel om te waarborgen dat remediatie succesvol is geweest. Deze verificatie moet worden uitgevoerd met behulp van dezelfde monitoring-tools die werden gebruikt voor de initiële detectie. Alle verbindingen moeten opnieuw worden getest om te verifiëren dat ze daadwerkelijk versleuteld zijn. Dit omvat functionele tests waarbij wordt gecontroleerd of applicaties correct blijven functioneren met de nieuwe versleutelde configuraties. Organisaties moeten ook controleren of er geen prestatie-impact is door de versleuteling, hoewel moderne TLS-implementaties minimale overhead hebben. Verificatie moet ook controleren of er geen nieuwe beveiligingslekken zijn geïntroduceerd door de remediatie-acties, en of alle systemen correct blijven functioneren na de wijzigingen. Dit vereist vaak uitgebreide testen in test-omgevingen voordat wijzigingen worden geïmplementeerd in productie-omgevingen, en zorgvuldige monitoring na implementatie om te detecteren of er onverwachte problemen optreden. Documentatie van het remediatieproces is essentieel voor compliance-doeleinden. Alle gedetecteerde beveiligingslekken moeten worden gedocumenteerd, samen met de stappen die zijn ondernomen om deze te corrigeren. Deze documentatie vormt auditbewijs dat kan worden gebruikt tijdens compliance-audits om aan te tonen dat organisaties proactief beveiligingslekken identificeren en corrigeren. De documentatie moet ook bevatten wanneer de remediatie is uitgevoerd, wie verantwoordelijk was voor de uitvoering, en welke verificatiestappen zijn ondernomen om te bevestigen dat de remediatie succesvol was. Deze documentatie moet worden bewaard voor de vereiste bewaartermijn, die voor veel compliance-frameworks minimaal 7 jaar is. Organisaties moeten ook processen implementeren voor het regelmatig beoordelen van remediatie-documentatie om te waarborgen dat lessen worden geleerd en dat vergelijkbare problemen in de toekomst sneller kunnen worden opgelost. Preventieve maatregelen moeten worden geïmplementeerd om te voorkomen dat vergelijkbare beveiligingslekken in de toekomst ontstaan. Dit omvat het opstellen van beleid dat vereist dat alle nieuwe configuraties standaard versleuteling gebruiken, het implementeren van automatische validaties in CI/CD-pipelines die nieuwe configuraties controleren voordat ze worden geïmplementeerd, en het trainen van ontwikkelaars in de juiste configuratie van versleutelde verbindingen. Organisaties moeten ook processen implementeren voor regelmatige herziening van bestaande configuraties om te waarborgen dat wijzigingen geen nieuwe beveiligingslekken introduceren. Dit omvat het implementeren van code review-processen waarbij alle wijzigingen worden beoordeeld op beveiligingsimplicaties, het gebruik van geautomatiseerde security scanning tools die configuraties controleren op beveiligingsproblemen, en het regelmatig uitvoeren van security audits om te detecteren of er nieuwe beveiligingslekken zijn geïntroduceerd. Effectieve preventieve maatregelen vereisen een cultuur van security awareness waarbij alle teamleden begrijpen dat beveiliging een gedeelde verantwoordelijkheid is en waarbij beveiligingsbest practices worden gevolgd bij alle ontwikkelings- en configuratie-activiteiten.

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
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Azure Databricks: Traffic Encryption (TLS) .DESCRIPTION Azure Databricks traffic encryption control Controleert of Azure Databricks workspaces gebruik maken van encrypted traffic (TLS). Alle Databricks traffic is standaard encrypted, maar extra beveiliging kan worden toegevoegd via 'No Public IP' configuratie en Private Link endpoints. Waarom is deze control belangrijk? - Data-in-transit protection - Preventie van man-in-the-middle attacks - Compliance met encryption vereisten - Extra beveiliging via private networking .NOTES Filename: databricks-traffic-encrypted.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/analytics/databricks-traffic-encrypted.json .PARAMETER WhatIf Toont wat het script zou doen zonder daadwerkelijk wijzigingen door te voeren .PARAMETER Monitoring Voert compliance check uit en toont gedetailleerd rapport .PARAMETER Remediation Toont aanbevelingen voor enhanced traffic encryption .PARAMETER Revert Draait wijzigingen terug (niet van toepassing) .EXAMPLE .\databricks-traffic-encrypted.ps1 Voert basis compliance check uit .EXAMPLE .\databricks-traffic-encrypted.ps1 -Monitoring Toont gedetailleerd compliance rapport #> # ============================================================================ # REQUIREMENTS # ============================================================================ #Requires -Version 5.1 #Requires -Modules Az.Accounts #Requires -Modules Az.Databricks #Requires -Modules Az.Resources # ============================================================================ # PARAMETERS # ============================================================================ [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) # ============================================================================ # GLOBAL VARIABLES # ============================================================================ $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Azure Databricks: Traffic Encryption" # ============================================================================ # FUNCTION: Connect-RequiredServices # ============================================================================ function Connect-RequiredServices { function Invoke-Revert { Write-Host "`n⚠️ Revert wordt niet aanbevolen" -ForegroundColor Yellow Write-Host " TLS encryption is standaard en kan niet worden uitgeschakeld" -ForegroundColor Gray Write-Host " Enhanced security features verwijderen vermindert security posture`n" -ForegroundColor Yellow } try { $context = Get-AzContext if (-not $context) { Write-Verbose "Connecting to Azure..." Connect-AzAccount | Out-Null } else { Write-Verbose "Already connected to Azure as $($context.Account.Id)" } } catch { Write-Error "Failed to connect to Azure: $_" throw } } # ============================================================================ # FUNCTION: Test-Compliance # ============================================================================ function Test-Compliance { <# .SYNOPSIS Test of Databricks workspaces encrypted traffic gebruiken .DESCRIPTION Alle Databricks traffic is standaard TLS encrypted. Dit script controleert op enhanced security features zoals No Public IP en Private Link endpoints. #> Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "databricks-traffic-encrypted" PolicyName = $PolicyName IsCompliant = $true # Standaard encrypted TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 EnhancedSecurityCount = 0 Details = @() Recommendations = @() } function Invoke-Revert { Write-Host "`n⚠️ Revert wordt niet aanbevolen" -ForegroundColor Yellow Write-Host " TLS encryption is standaard en kan niet worden uitgeschakeld" -ForegroundColor Gray Write-Host " Enhanced security features verwijderen vermindert security posture`n" -ForegroundColor Yellow } try { Write-Verbose "Retrieving all Databricks workspaces..." $workspaces = Get-AzDatabricksWorkspace -ErrorAction SilentlyContinue if (-not $workspaces) { $result.Details += "Geen Databricks workspaces gevonden in dit subscription" return $result } $result.TotalResources = @($workspaces).Count foreach ($workspace in $workspaces) { Write-Verbose "Checking workspace: $($workspace.Name)" # Haal gedetailleerde resource properties op $resourceDetails = Get-AzResource -ResourceId $workspace.Id -ExpandProperties -ErrorAction SilentlyContinue # Check voor enhanced security features $hasNoPublicIP = $false $hasPrivateLink = $false if ($resourceDetails.Properties.parameters.enableNoPublicIp) { if ($resourceDetails.Properties.parameters.enableNoPublicIp.value -eq $true) { $hasNoPublicIP = $true } } # Check voor Private Link endpoints if ($resourceDetails.Properties.privateEndpointConnections) { if ($resourceDetails.Properties.privateEndpointConnections.Count -gt 0) { $hasPrivateLink = $true } } # Alle workspaces zijn compliant (TLS by default) $result.CompliantCount++ if ($hasNoPublicIP -or $hasPrivateLink) { $result.EnhancedSecurityCount++ $securityFeatures = @() if ($hasNoPublicIP) { $securityFeatures += "No Public IP" } if ($hasPrivateLink) { $securityFeatures += "Private Link" } $result.Details += "✓ Workspace '$($workspace.Name)' gebruikt TLS + enhanced security ($($securityFeatures -join ', '))" } else { $result.Details += "✓ Workspace '$($workspace.Name)' gebruikt TLS encryption (standaard)" $result.Recommendations += "Overweeg enhanced security voor '$($workspace.Name)': No Public IP + Private Link" } } # Overall compliance is altijd true (TLS is default) $result.IsCompliant = $true if ($result.EnhancedSecurityCount -lt $result.TotalResources) { $result.Recommendations += "Voor maximale security: enable 'No Public IP' + Private Link voor alle workspaces" $result.Recommendations += "Run met -Remediation voor enhanced security instructies" } } catch { $result.Details += "ERROR: $($_.Exception.Message)" } return $result } # ============================================================================ # FUNCTION: Invoke-Remediation # ============================================================================ function Invoke-Remediation { <# .SYNOPSIS Toont aanbevelingen voor enhanced traffic encryption #> Write-Host "`nStarting remediation for: $PolicyName..." -ForegroundColor Cyan Write-Host "=" * 80 -ForegroundColor Cyan Write-Host "`n[OK] GOED NIEUWS:" -ForegroundColor Green Write-Host " Alle Azure Databricks traffic is STANDAARD encrypted met TLS" -ForegroundColor Green Write-Host " Dit omvat:" -ForegroundColor Gray Write-Host " • Web application traffic (HTTPS)" -ForegroundColor DarkGray Write-Host " • API calls (TLS)" -ForegroundColor DarkGray Write-Host " • Cluster-to-cluster communication (encrypted)" -ForegroundColor DarkGray Write-Host " • Storage communication (TLS)" -ForegroundColor DarkGray Write-Host "`n📋 ENHANCED SECURITY AANBEVELINGEN:" -ForegroundColor Cyan Write-Host "=" * 80 -ForegroundColor Cyan Write-Host "`n1️⃣ ENABLE 'NO PUBLIC IP' (SECURE CLUSTER CONNECTIVITY):" -ForegroundColor White Write-Host " Voordelen:" -ForegroundColor Gray Write-Host " • Clusters krijgen geen public IP addresses" -ForegroundColor DarkGray Write-Host " • Vermindert attack surface" -ForegroundColor DarkGray Write-Host " • Forceert traffic via private networking" -ForegroundColor DarkGray Write-Host "`n Vereisten:" -ForegroundColor Gray Write-Host " • Custom VNet met VNet injection" -ForegroundColor DarkGray Write-Host " • NAT Gateway of Azure Firewall voor outbound connectivity" -ForegroundColor DarkGray Write-Host "`n Implementatie:" -ForegroundColor Gray Write-Host " • Kan alleen bij workspace creatie worden ingesteld" -ForegroundColor DarkGray Write-Host " • Vereist hercreatie van bestaande workspaces" -ForegroundColor DarkGray $noPublicIPScript = @' # Workspace met No Public IP creëren New-AzDatabricksWorkspace ` -Name "databricks-secure" ` -ResourceGroupName "databricks-rg" ` -Location "westeurope" ` -Sku "premium" ` -ManagedResourceGroupName "databricks-managed-rg" ` -VirtualNetworkId "/subscriptions/.../virtualNetworks/databricks-vnet" ` -PrivateSubnetName "databricks-private" ` -PublicSubnetName "databricks-public" ` -EnableNoPublicIp $true '@ Write-Host "`n PowerShell voorbeeld:" -ForegroundColor Gray Write-Host $noPublicIPScript -ForegroundColor DarkGray Write-Host "`n2️⃣ ENABLE PRIVATE LINK:" -ForegroundColor White Write-Host " Voordelen:" -ForegroundColor Gray Write-Host " • Web app access via private IP address" -ForegroundColor DarkGray Write-Host " • Geen internet exposure van workspace URL" -ForegroundColor DarkGray Write-Host " • Integration met on-premises via ExpressRoute" -ForegroundColor DarkGray Write-Host "`n Implementatie:" -ForegroundColor Gray Write-Host " • Maak Private Endpoint voor bestaande workspace" -ForegroundColor DarkGray Write-Host " • Configureer Private DNS zone" -ForegroundColor DarkGray Write-Host " • Disable public network access (optioneel)" -ForegroundColor DarkGray $privateLinkScript = @' # Private Endpoint voor Databricks workspace $workspace = Get-AzDatabricksWorkspace -Name "databricks-ws" -ResourceGroupName "databricks-rg" $vnet = Get-AzVirtualNetwork -Name "private-vnet" -ResourceGroupName "network-rg" $subnet = Get-AzVirtualNetworkSubnetConfig -Name "private-endpoints" -VirtualNetwork $vnet $privateEndpoint = New-AzPrivateEndpoint ` -Name "pe-databricks-ws" ` -ResourceGroupName "databricks-rg" ` -Location "westeurope" ` -Subnet $subnet ` -PrivateLinkServiceConnection ( New-AzPrivateLinkServiceConnection ` -Name "plsc-databricks" ` -PrivateLinkServiceId $workspace.Id ` -GroupId "databricks_ui_api" ) # Private DNS zone configuratie $dnsZone = New-AzPrivateDnsZone -Name "privatelink.azuredatabricks.net" -ResourceGroupName "databricks-rg" $dnsLink = New-AzPrivateDnsVirtualNetworkLink -Name "vnet-link" -ResourceGroupName "databricks-rg" ` -ZoneName "privatelink.azuredatabricks.net" -VirtualNetworkId $vnet.Id # DNS record voor Private Endpoint $networkInterface = Get-AzResource -ResourceId $privateEndpoint.NetworkInterfaces[0].Id $privateIP = $networkInterface.Properties.ipConfigurations[0].properties.privateIPAddress New-AzPrivateDnsRecordSet -Name ($workspace.Name) -RecordType A -ZoneName "privatelink.azuredatabricks.net" ` -ResourceGroupName "databricks-rg" -Ttl 3600 -PrivateDnsRecords ( New-AzPrivateDnsRecordConfig -IPv4Address $privateIP ) '@ Write-Host "`n PowerShell voorbeeld:" -ForegroundColor Gray Write-Host $privateLinkScript -ForegroundColor DarkGray Write-Host "`n3️⃣ NETWORKING BEST PRACTICES:" -ForegroundColor White Write-Host " • Use custom VNet met NSG rules" -ForegroundColor Gray Write-Host " • Implement Azure Firewall voor outbound filtering" -ForegroundColor Gray Write-Host " • Enable NSG flow logs voor traffic monitoring" -ForegroundColor Gray Write-Host " • Use Private Link voor alle Azure service connections" -ForegroundColor Gray Write-Host " • Disable public network access waar mogelijk" -ForegroundColor Gray Write-Host "`n📚 DOCUMENTATIE:" -ForegroundColor Cyan Write-Host " No Public IP: https://learn.microsoft.com/azure/databricks/security/network/classic/secure-cluster-connectivity" -ForegroundColor Blue Write-Host " Private Link: https://learn.microsoft.com/azure/databricks/security/network/classic/private-link" -ForegroundColor Blue Write-Host "`n[OK] SAMENVATTING:" -ForegroundColor Green Write-Host " Basis: TLS encryption is ALTIJD actief (no action needed)" -ForegroundColor Gray Write-Host " Enhanced: No Public IP + Private Link voor maximum security" -ForegroundColor Gray } # ============================================================================ # FUNCTION: Invoke-Monitoring # ============================================================================ function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Workspaces gecontroleerd: $($result.TotalResources)" -ForegroundColor White Write-Host "Met TLS encryption: $($result.CompliantCount) (100%)" -ForegroundColor Green Write-Host "Met enhanced security: $($result.EnhancedSecurityCount)" -ForegroundColor Cyan if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow foreach ($detail in $result.Details) { Write-Host " $detail" -ForegroundColor Gray } } if ($result.Recommendations) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow foreach ($recommendation in $result.Recommendations) { Write-Host " → $recommendation" -ForegroundColor Cyan } } return $result } # ============================================================================ # MAIN EXECUTION BLOCK # ============================================================================ function Invoke-Revert { Write-Host "`n⚠️ Revert wordt niet aanbevolen" -ForegroundColor Yellow Write-Host " TLS encryption is standaard en kan niet worden uitgeschakeld" -ForegroundColor Gray Write-Host " Enhanced security features verwijderen vermindert security posture`n" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "`n=== WHATIF MODE ===" -ForegroundColor Yellow Write-Host "Zou enhanced security aanbevelingen tonen voor: $PolicyName" -ForegroundColor Yellow Write-Host "===================`n" -ForegroundColor Yellow } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Compliance Check: $PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Status: [OK] COMPLIANT" -ForegroundColor Green Write-Host "Alle Databricks traffic is encrypted met TLS (standaard)" -ForegroundColor Green if ($result.EnhancedSecurityCount -lt $result.TotalResources) { Write-Host "`nAanbeveling: $($result.TotalResources - $result.EnhancedSecurityCount) workspace(s) kunnen enhanced security krijgen" -ForegroundColor Yellow Write-Host "Run met -Remediation voor enhanced security instructies" -ForegroundColor Yellow } } } catch { Write-Error "An error occurred: $_" Write-Error $_.ScriptStackTrace exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Wanneer verkeersversleuteling niet wordt gevalideerd en gemonitord voor Azure Databricks, kunnen configuratieleemtes leiden tot onversleutelde gegevensoverdracht wat ernstige beveiligingsrisico's creëert. Hoewel Azure Databricks het merendeel van het verkeer standaard via TLS/HTTPS versleutelt, kunnen specifieke configuratie-elementen zoals JDBC/ODBC-verbindingsstrings zonder SSL/TLS-parameters, initialisatiescripts met HTTP-URL's in plaats van HTTPS, of aangepaste applicaties die onversleutelde API-aanroepen maken, beveiligingslekken introduceren. Onversleuteld verkeer stelt gevoelige gegevens bloot aan afluistering waarbij aanvallers die netwerkverkeer kunnen monitoren via gecompromitteerde netwerkapparatuur, man-in-the-middle-posities of malafide internetproviders. Deze aanvallers kunnen notebook-code onderscheppen wat diefstal van bedrijfslogica en intellectueel eigendom mogelijk maakt, gegevensquery's in onversleutelde tekst lezen wat ongeautoriseerde toegang tot bedrijfsgegevens oplevert, en authenticatie-inloggegevens stelen voor ongeautoriseerde toegang. Man-in-the-middle-aanvallen worden mogelijk waarbij aanvallers niet alleen verkeer kunnen afluisteren maar ook manipuleren, wat gegevensintegriteit compromitteert. Compliance-audits voor ISO 27001 A.10.1.1 (cryptografische maatregelen), NIS2 Artikel 21 (versleuteling tijdens overdracht), BIO 13.01.02 (netwerkbeveiliging) en PCI-DSS 4.0 Requirement 4.1 vereisen dat wordt aangetoond dat alle gegevensoverdracht versleuteld is. Zonder validatie kan dit niet worden bewezen. Het risico is hoog voor workspaces met gevoelige gegevens en verplichte controle voor compliance.

Management Samenvatting

Valideer en monitor verkeersversleuteling voor Azure Databricks om te waarborgen dat alle communicatie via TLS/HTTPS verloopt. Azure Databricks versleutelt het meeste verkeer standaard automatisch waarbij de web-applicatie altijd HTTPS gebruikt en REST API's via TLS communiceren. Validatie is echter essentieel om configuratieleemtes te detecteren in verschillende gebieden. JDBC/ODBC-databaseverbindingen moeten SSL/TLS-parameters bevatten zoals aangegeven in de verbindingsstring (bijvoorbeeld jdbc:databricks://...;ssl=1). Initialisatiescripts moeten uitsluitend HTTPS-URL's gebruiken voor pakketdownloads en er moet worden geverifieerd dat geen HTTP-URL's in scripts aanwezig zijn. Externe gegevensverbindingen naar Azure Storage of Azure SQL Database moeten versleuteld zijn, hoewel dit standaard is ingeschakeld blijft verificatie aanbevolen. Deze maatregel is primair een verificatiecontrole in plaats van configuratie omdat Databricks inherent veilig is ontworpen. Periodieke validatie elk kwartaal waarborgt dat geen beveiligingsleemtes ontstaan door gebruikersconfiguraties of aangepaste code. Implementatie bestaat uit auditscripts die verbindingsstrings scannen, initialisatiescripts beoordelen en netwerkverkeer monitoren. De tijdsinvestering bedraagt 1 tot 2 uur voor initiële validatie en 30 minuten per kwartaal voor doorlopende monitoring. Er zijn geen extra kosten verbonden aangezien het om pure verificatie gaat. Deze maatregel is verplicht voor compliance-audits volgens ISO 27001, NIS2 en PCI-DSS en wordt aanbevolen als beveiligingshygiëne voor alle Databricks-productieomgevingen.