Microsoft Defender For Cloud: Defender For App Services Inschakelen

💼 Management Samenvatting

Microsoft Defender voor App Services biedt ingebouwde bedreigingsbescherming voor Azure App Services door middel van runtime-anomaliedetectie, integratie van bedreigingsinformatie en beveiligingsaanbevelingen specifiek voor webapplicaties en API's.

Aanbeveling
IMPLEMENTEER VOOR WEB-APPLICATIES
Risico zonder
High
Risk Score
8/10
Implementatie
3u (tech: 1u)
Van toepassing op:
Azure
Microsoft Defender voor Cloud
Azure App Services
web applicaties
API Apps

Webapplicaties en API's vormen vaak het grootste aanvalsoppervlak van organisaties omdat ze direct toegankelijk zijn via internet. Traditionele beveiligingsmaatregelen zoals firewalls en netwerksegmentatie zijn onvoldoende voor het detecteren van aanvallen op applicatieniveau zoals SQL-injectie, commando-injectie en kwaadaardige bestandsuploads. Defender voor App Services monitort runtime-gedrag, analyseert HTTP-verkeer en detecteert exploitatiepogingen in realtime. Zonder deze bescherming blijven applicatiespecifieke bedreigingen onopgemerkt tot na een succesvolle inbraak.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.Accounts, Az.Security

Implementatie

Deze controle activeert Microsoft Defender voor App Services op abonnementsniveau, waardoor alle App Services binnen het abonnement automatisch worden beschermd tegen applicatieniveau-bedreigingen. De functie biedt uitgebreide beveiligingsmogelijkheden die specifiek zijn ontworpen voor de unieke uitdagingen van webapplicaties en API's. Microsoft Defender voor App Services voert realtime monitoring uit van alle HTTP-verzoeken en -antwoorden die naar en van de App Services worden verzonden, waardoor het systeem in staat is om aanvallen te detecteren op het moment dat ze plaatsvinden. De oplossing is specifiek geoptimaliseerd voor het detecteren van de OWASP Top 10-aanvallen, waaronder SQL-injectie-aanvallen waarbij aanvallers kwaadaardige database-query's injecteren via invoervelden, cross-site scripting (XSS) waarbij kwaadaardige JavaScript-code wordt geïnjecteerd in webpagina's, en commando-injectie waarbij besturingssysteemcommando's worden uitgevoerd via applicatie-invoer. Daarnaast analyseert de oplossing alle bestandsuploads op tekenen van malware, waarbij geavanceerde heuristische en signature-based detectiemethoden worden gebruikt om kwaadaardige bestanden te identificeren voordat ze kunnen worden opgeslagen of uitgevoerd. Het systeem monitort ook authenticatie-anomalieën en detecteert credential stuffing-aanvallen waarbij aanvallers grote hoeveelheden gestolen inloggegevens proberen te gebruiken om toegang te krijgen tot gebruikersaccounts. Door integratie met Microsoft-bedreigingsinformatie kan de oplossing verdachte bron-IP-adressen identificeren die eerder betrokken zijn geweest bij kwaadaardige activiteiten, waardoor organisaties proactief kunnen reageren op bekende bedreigingsbronnen. Bovendien genereert Defender voor App Services beveiligingsaanbevelingen voor app-configuraties, waarbij specifieke kwetsbaarheden en verkeerde configuraties worden geïdentificeerd die de beveiligingspostuur kunnen verzwakken. Wanneer bedreigingen worden gedetecteerd, genereert Defender automatisch beveiligingswaarschuwingen met gedetailleerde informatie over de aard van de bedreiging, de betrokken App Service, en aanbevolen responsacties. Deze waarschuwingen kunnen worden geïntegreerd met Azure Sentinel voor geavanceerde SIEM-correlatie, waardoor beveiligingsteams in staat zijn om bedreigingen te correleren met andere beveiligingsgebeurtenissen in de omgeving en om geautomatiseerde responsworkflows te implementeren.

Vereisten

Voor het succesvol inschakelen en configureren van Microsoft Defender voor App Services moeten organisaties voldoen aan een reeks technische, organisatorische en financiële vereisten. Deze vereisten zijn essentieel om ervoor te zorgen dat de implementatie soepel verloopt en dat de beveiligingsoplossing optimaal functioneert binnen de Azure-omgeving van de organisatie.

De eerste en meest kritieke vereiste betreft de toegangsrechten binnen Azure. Om Defender voor App Services te kunnen activeren, moet de gebruiker beschikken over de rol van Eigenaar (Owner) of Beveiligingsbeheerder (Security Admin) op het niveau van het Azure-abonnement. Deze hoge rechten zijn noodzakelijk omdat de activering een wijziging inhoudt in de prijsstelling (pricing tier) van het abonnement, wat een beheeractie op hoog niveau is. Organisaties moeten daarom vooraf controleren welke gebruikers deze rechten hebben en eventueel een specifieke service-account aanmaken voor deze beheeracties, waarbij de principes van least privilege worden toegepast voor dagelijks gebruik.

De tweede vereiste betreft de aanwezigheid van Azure App Services binnen de omgeving. Dit omvat webapplicaties, API-apps en Function Apps die daadwerkelijk zijn geïmplementeerd in Azure. Het is belangrijk te begrijpen dat Defender voor App Services alleen bescherming biedt aan services die actief draaien en niet aan lege of gedeactiveerde App Service-plannen. Organisaties moeten daarom een inventarisatie maken van alle actieve App Services voordat ze de implementatie starten, zodat ze een duidelijk beeld hebben van wat beschermd zal worden en wat de verwachte kosten zullen zijn.

Een cruciale technische beperking is dat Defender voor App Services alleen beschikbaar is voor App Services die draaien op een Dedicated App Service Plan (voorheen bekend als Standard, Premium of Isolated plans). App Services die gebruikmaken van het Consumption Plan (voorheen bekend als Dynamic of Serverless) worden niet ondersteund. Dit betekent dat organisaties die serverless architecturen gebruiken, zoals Azure Functions op het Consumption Plan, deze specifieke bescherming niet kunnen activeren. Voor deze scenario's moeten alternatieve beveiligingsmaatregelen worden overwogen, zoals Application Gateway met Web Application Firewall (WAF) of Azure Front Door met beveiligingsregels.

Voor de automatisering en monitoring van de implementatie is PowerShell 5.1 of hoger vereist, samen met de Az PowerShell-modules, specifiek Az.Accounts en Az.Security. Deze modules zijn essentieel voor het uitvoeren van de monitoring- en remediatiescripts die deel uitmaken van deze baseline. Organisaties moeten ervoor zorgen dat deze modules zijn geïnstalleerd op de systemen waar de scripts worden uitgevoerd, en dat de versies up-to-date zijn om compatibiliteitsproblemen te voorkomen. Voor cloud-gebaseerde uitvoering kunnen Azure Cloud Shell of Azure Automation worden gebruikt, waarbij de modules al vooraf zijn geïnstalleerd.

Hoewel niet strikt verplicht, wordt een Log Analytics-workspace sterk aanbevolen voor de opslag van beveiligingswaarschuwingen en loggegevens. Deze workspace maakt geavanceerde query's, correlatie tussen verschillende beveiligingsgebeurtenissen en langetermijnopslag mogelijk voor audit- en compliance-doeleinden. Organisaties die al gebruikmaken van Azure Sentinel of andere SIEM-oplossingen, kunnen hun bestaande Log Analytics-workspace gebruiken voor deze integratie. Voor organisaties die nog geen workspace hebben, moet deze worden aangemaakt voordat de implementatie start, waarbij rekening wordt gehouden met de retentietijden die vereist zijn voor compliance-frameworks zoals de BIO (7 jaar voor auditlogs).

Ten slotte is er een financiële vereiste: Defender voor App Services is een betaalde functie met kosten per App Service-instantie. De kosten bedragen doorgaans ongeveer dertien euro per App Service-instantie per maand, wat betekent dat organisaties met meerdere App Services aanzienlijke maandelijkse kosten kunnen verwachten. Het is daarom essentieel dat organisaties vooraf een kostenanalyse uitvoeren met behulp van de Azure Pricing Calculator, waarbij ze rekening houden met alle App Services die bescherming nodig hebben. Daarnaast moeten organisaties budget goedkeuring verkrijgen voordat ze de implementatie starten, en moeten ze een proces opzetten voor het monitoren van de kosten na implementatie om budgetoverschrijdingen te voorkomen.

Monitoring

Gebruik PowerShell-script defender-app-services-on.ps1 (functie Invoke-Monitoring) – PowerShell-script voor het controleren of Microsoft Defender voor App Services is ingeschakeld. Het script gebruikt Get-AzSecurityPricing om de prijsniveau per abonnement te verifiëren..

Effectieve monitoring van Microsoft Defender voor App Services is essentieel om te garanderen dat de beveiligingsbescherming continu actief blijft en om tijdig te kunnen reageren op beveiligingsincidenten. Het monitoringproces omvat verschillende aspecten: het verifiëren van de configuratiestatus, het analyseren van beveiligingswaarschuwingen, het volgen van compliance-indicatoren en het monitoren van de prestaties van de beveiligingsoplossing.

Het monitoring-script dat deel uitmaakt van deze baseline controleert via de Get-AzSecurityPricing-cmdlet of de prijsniveau (pricing tier) voor 'AppServices' is ingesteld op 'Standard'. Deze statuscontrole is fundamenteel omdat alleen wanneer de prijsniveau op Standard staat, Defender voor App Services daadwerkelijk actief is en alle App Services binnen het abonnement monitort. Het script doorloopt alle Azure-abonnementen waartoe de gebruiker toegang heeft en rapporteert de status per abonnement, waarbij duidelijk wordt aangegeven welke abonnementen de bescherming hebben ingeschakeld en welke nog actie vereisen.

Naast de technische statuscontrole is het monitoren van beveiligingswaarschuwingen een kritiek onderdeel van het beveiligingsproces. Organisaties moeten regelmatig het Defender voor Cloud-dashboard raadplegen om nieuwe waarschuwingen te bekijken en te analyseren. Deze waarschuwingen kunnen variëren van pogingen tot SQL-injectie en cross-site scripting (XSS) tot kwaadaardige bestandsuploads en verdachte authenticatiepatronen. Elke waarschuwing bevat gedetailleerde informatie over de gedetecteerde bedreiging, inclusief het tijdstip, de bron-IP-adres, de betrokken App Service en de ernst van de bedreiging.

Voor een proactieve beveiligingsaanpak moeten organisaties actiegroepen configureren voor automatische meldingen bij waarschuwingen met hoge ernst. Deze actiegroepen kunnen worden geconfigureerd om e-mailmeldingen te sturen naar beveiligingsteams, SMS-berichten te verzenden naar on-call-medewerkers, webhooks te activeren voor integratie met ticketing-systemen, of Azure Logic Apps te triggeren voor geautomatiseerde responsacties. Door deze automatisering te implementeren, kunnen organisaties sneller reageren op beveiligingsincidenten en de gemiddelde tijd tot detectie (MTTD) en gemiddelde tijd tot respons (MTTR) aanzienlijk verkorten.

Een belangrijk aspect van monitoring is het analyseren van trends en patronen in de beveiligingswaarschuwingen. Door regelmatig de waarschuwingen te reviewen, kunnen organisaties identificeren of bepaalde App Services vaker worden aangevallen, welke soorten aanvallen het meest voorkomen, en of er sprake is van georganiseerde aanvalscampagnes. Deze inzichten kunnen worden gebruikt om de beveiligingsconfiguratie te verbeteren, aanvullende beveiligingsmaatregelen te implementeren, of om specifieke App Services extra te beveiligen met aanvullende controles.

Voor compliance-doeleinden moeten organisaties ook regelmatig rapporten genereren die aantonen dat Defender voor App Services actief is en dat beveiligingswaarschuwingen worden gemonitord en afgehandeld. Deze rapporten zijn essentieel voor audits en kunnen worden gebruikt om te voldoen aan de vereisten van frameworks zoals CIS, BIO, ISO 27001 en NIS2. Het is aan te raden om maandelijks een compliance-rapport te genereren dat de status van alle App Services documenteert, het aantal gedetecteerde bedreigingen weergeeft, en de genomen responsacties beschrijft.

Ten slotte moeten organisaties ook de prestaties en beschikbaarheid van de Defender voor App Services-functionaliteit monitoren. Hoewel Microsoft zorgt voor de beschikbaarheid van de service, moeten organisaties ervoor zorgen dat de integratie met Log Analytics-workspaces correct functioneert, dat waarschuwingen daadwerkelijk worden gegenereerd en opgeslagen, en dat er geen configuratiefouten zijn die de effectiviteit van de bescherming verminderen. Regelmatige validatie van de end-to-end-functionaliteit, bijvoorbeeld door het simuleren van een testaanval, kan helpen om te verifiëren dat het volledige beveiligingsproces correct werkt.

Remediatie

Gebruik PowerShell-script defender-app-services-on.ps1 (functie Invoke-Remediation) – Automatische activering van Microsoft Defender voor App Services op alle abonnementen. Het script gebruikt Set-AzSecurityPricing om het prijsniveau te upgraden naar Standard..

De remediatie van het ontbreken van Microsoft Defender voor App Services is een relatief eenvoudig proces dat echter zorgvuldige planning en uitvoering vereist om ervoor te zorgen dat alle App Services adequaat worden beschermd en dat de organisatie voldoet aan de compliance-vereisten. Het remediatieproces omvat verschillende stappen, van voorbereiding en planning tot daadwerkelijke activering en validatie.

Het remediatiescript dat deel uitmaakt van deze baseline activeert Defender voor App Services door het prijsniveau (pricing tier) voor App Services op 'Standard' te zetten via de Set-AzSecurityPricing-cmdlet. Deze actie wordt uitgevoerd op abonnementsniveau, wat betekent dat alle App Services binnen het abonnement automatisch worden beschermd zodra de activering is voltooid. Het script is ontworpen om meerdere abonnementen te verwerken, waardoor organisaties met een complexe Azure-omgeving met meerdere abonnementen de implementatie kunnen automatiseren.

Voordat het remediatiescript wordt uitgevoerd, is het belangrijk dat organisaties een aantal voorbereidende stappen uitvoeren. Ten eerste moeten ze een inventarisatie maken van alle App Services die bescherming nodig hebben, inclusief het identificeren van welke services draaien op Dedicated plans (die ondersteund worden) versus Consumption plans (die niet ondersteund worden). Ten tweede moeten ze de kostenraming uitvoeren om te begrijpen wat de financiële impact zal zijn van de activering. Ten derde moeten ze ervoor zorgen dat de benodigde PowerShell-modules zijn geïnstalleerd en dat de gebruiker die het script uitvoert de juiste rechten heeft.

Tijdens de uitvoering van het script wordt het prijsniveau voor App Services gewijzigd van 'Free' naar 'Standard', wat de activering van Defender voor App Services triggert. Deze wijziging is onmiddellijk van kracht, maar de daadwerkelijke bescherming en monitoring beginnen binnen enkele minuten na activering. Het is belangrijk te begrijpen dat deze wijziging onomkeerbaar is via het script - als organisaties de bescherming later willen uitschakelen, moeten ze dit handmatig doen via de Azure Portal of door het prijsniveau terug te zetten naar 'Free', hoewel dit laatste sterk wordt afgeraden vanwege de beveiligingsrisico's.

Na activatie begint Defender voor App Services onmiddellijk met het monitoren van HTTP-verkeer naar en van alle App Services binnen het abonnement. De detectie van beveiligingsdreigingen start binnen enkele minuten, waarbij het systeem begint met het analyseren van inkomende verzoeken op tekenen van aanvallen zoals SQL-injectie, cross-site scripting, commando-injectie en andere OWASP Top 10-bedreigingen. Binnen 24 uur na activering verschijnen de eerste beveiligingsaanbevelingen in het Defender voor Cloud-dashboard, waarbij specifieke configuratieproblemen of beveiligingskwetsbaarheden worden geïdentificeerd die aandacht vereisen.

Een kritiek aandachtspunt bij de remediatie is dat Defender voor App Services een betaalde functie is met kosten per App Service-instantie. De kosten bedragen doorgaans ongeveer dertien euro per App Service-instantie per maand, wat betekent dat organisaties met tientallen of honderden App Services aanzienlijke maandelijkse kosten kunnen verwachten. Het is daarom essentieel dat organisaties vooraf de prijzen voor hun specifieke scenario controleren via de Azure Pricing Calculator, waarbij ze rekening houden met alle App Services die bescherming nodig hebben. Daarnaast moeten organisaties budgetgoedkeuring verkrijgen voordat ze de implementatie starten, en moeten ze een proces opzetten voor het monitoren van de kosten na implementatie.

Na de activering moeten organisaties het remediatieproces valideren door te verifiëren dat Defender voor App Services daadwerkelijk actief is. Dit kan worden gedaan door het monitoring-script uit te voeren, door de Azure Portal te raadplegen, of door te controleren of er beveiligingswaarschuwingen worden gegenereerd (hoewel het laatste alleen werkt als er daadwerkelijk aanvallen plaatsvinden). Organisaties moeten ook controleren of de integratie met Log Analytics-workspaces correct werkt, zodat beveiligingswaarschuwingen worden opgeslagen voor analyse en compliance-doeleinden.

Voor organisaties die gefaseerd willen implementeren, bijvoorbeeld om eerst te testen op een subset van App Services of om de kosten geleidelijk te verhogen, is het mogelijk om het script aan te passen om alleen specifieke abonnementen te verwerken. Echter, voor volledige compliance met frameworks zoals CIS en BIO wordt aanbevolen om alle App Services te beschermen die voldoen aan de technische vereisten. Organisaties moeten ook een proces opzetten voor het automatisch activeren van Defender voor App Services voor nieuwe App Services die in de toekomst worden aangemaakt, bijvoorbeeld door gebruik te maken van Azure Policy of door het remediatiescript periodiek uit te voeren.

Compliance en Auditing

Microsoft Defender voor App Services speelt een cruciale rol bij het voldoen aan verschillende nationale en internationale compliance-frameworks die van toepassing zijn op Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige gegevens. Deze controle helpt organisaties om te voldoen aan de vereisten voor applicatiebeveiliging, bedreigingsdetectie en risicobeheer zoals gespecificeerd in deze frameworks.

De CIS Azure Foundations Benchmark versie 3.0.0 specificeert in controle 2.1.6 dat Microsoft Defender voor App Service moet zijn ingeschakeld. Deze controle is geclassificeerd als Level 2, wat betekent dat deze wordt aanbevolen voor omgevingen met verhoogde beveiligingsvereisten. De CIS Benchmark is een internationaal erkende standaard voor cloudbeveiliging en wordt vaak gebruikt als basis voor security audits en assessments. Door Defender voor App Services te activeren, voldoen organisaties aan deze specifieke controle en kunnen ze aantonen dat ze proactieve maatregelen hebben genomen om applicatiebeveiligingsrisico's te mitigeren.

Voor Nederlandse overheidsorganisaties is de BIO (Baseline Informatiebeveiliging Overheid) van bijzonder belang. Thema 14.02 binnen de BIO richt zich specifiek op de beveiliging van applicatiediensten, met nadruk op webapplicatiebeveiliging. Dit thema vereist dat organisaties passende maatregelen treffen om webapplicaties te beschermen tegen aanvallen en om bedreigingen te detecteren en te reageren. Defender voor App Services biedt deze bescherming door runtime-detectie van aanvallen, monitoring van authenticatiepatronen en analyse van bestandsuploads. Organisaties die voldoen aan deze BIO-vereiste kunnen aantonen dat ze voldoen aan de Nederlandse overheidsstandaarden voor informatiebeveiliging.

ISO 27001:2022, de internationale standaard voor informatiebeveiligingsmanagement, bevat verschillende controles die relevant zijn voor applicatiebeveiliging. Controle A.8.7 richt zich op de veilige ontwikkelingslevenscyclus (secure development lifecycle), waarbij organisaties moeten aantonen dat ze beveiliging integreren in alle fasen van applicatieontwikkeling. Controle A.8.14 betreft beveiligingstesten in ontwikkelings- en acceptatieomgevingen. Hoewel Defender voor App Services primair gericht is op runtime-bescherming, draagt het bij aan deze controles door te detecteren wanneer ontwikkelde applicaties kwetsbaarheden bevatten die kunnen worden geëxploiteerd, en door beveiligingsaanbevelingen te geven die kunnen worden gebruikt om de ontwikkelingsprocessen te verbeteren.

De NIS2-richtlijn (Network and Information Systems Directive 2) is een Europese richtlijn die van toepassing is op essentiële en belangrijke entiteiten, waaronder veel overheidsorganisaties en bedrijven in kritieke sectoren. Artikel 21 van NIS2 vereist dat organisaties passende cybersecurity-risicobeheermaatregelen implementeren, inclusief maatregelen voor applicatiebeveiliging. Defender voor App Services helpt organisaties om te voldoen aan deze vereiste door applicatieniveau-beveiligingscontroles te bieden en door bedreigingsdetectie en -respons mogelijk te maken. Voor Nederlandse organisaties die onder NIS2 vallen, is het implementeren van deze controle een belangrijke stap in het voldoen aan de wettelijke verplichtingen.

De OWASP Application Security Verification Standard (ASVS) versie 1.14 specificeert configuratieverificatievereisten, waarbij organisaties moeten aantonen dat hun applicaties correct zijn geconfigureerd voor beveiliging. Defender voor App Services draagt bij aan deze vereiste door beveiligingsaanbevelingen te geven over app-configuraties, zoals het gebruik van HTTPS, het correct configureren van authenticatie en autorisatie, en het implementeren van beveiligingsheaders. Deze aanbevelingen helpen organisaties om te identificeren waar configuraties kunnen worden verbeterd om de beveiligingspostuur te versterken.

Voor organisaties die werken met betalingsgegevens is PCI-DSS (Payment Card Industry Data Security Standard) versie 4.0 van toepassing. Requirement 6.4 vereist dat organisaties een web application firewall (WAF) implementeren om webapplicaties te beschermen tegen aanvallen. Hoewel Defender voor App Services technisch gezien geen traditionele WAF is, biedt het vergelijkbare functionaliteit door runtime-detectie en -blokkering van aanvallen op applicatieniveau. Organisaties moeten echter controleren of hun specifieke PCI-DSS-auditor Defender voor App Services accepteert als voldoende voor requirement 6.4, of dat aanvullende WAF-oplossingen nodig zijn, zoals Azure Application Gateway met WAF.

Voor audit- en compliance-doeleinden moeten organisaties regelmatig bewijs verzamelen dat aantoont dat Defender voor App Services actief is en correct functioneert. Dit bewijs kan bestaan uit screenshots van de Defender voor Cloud-configuratie, exports van beveiligingswaarschuwingen, lijsten van beschermde App Services, en documentatie van genomen responsacties op gedetecteerde bedreigingen. Deze documentatie moet worden bewaard voor de vereiste retentietijden, zoals de 7 jaar die vereist is voor BIO-auditlogs. Organisaties moeten ook regelmatig compliance-rapporten genereren die de status van de implementatie documenteren en die kunnen worden gebruikt tijdens externe audits of interne reviews.

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 Microsoft Defender for App Services (Alternative Check) .DESCRIPTION CIS Azure Foundations Benchmark - Control 2.1.6 Alternative implementation: Controleert of Microsoft Defender for App Services is ingeschakeld. (Dit script is functioneel identiek aan defender-for-app-service-enabled.ps1) .NOTES Filename: defender-app-services-on.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/defender-cloud/defender-app-services-on.json CIS Control: 2.1.6 NOTE: Dit script is een duplicate van defender-for-app-service-enabled.ps1 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Security [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Microsoft Defender for App Services" function Connect-RequiredServices { function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } catch { throw } } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "defender-app-services-on" PolicyName = $PolicyName IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 Details = @() Recommendations = @() } function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } $result.TotalResources = $subscriptions.Count foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null $pricing = Get-AzSecurityPricing -Name "AppServices" if ($pricing.PricingTier -eq 'Standard') { $result.CompliantCount++ $result.Details += "✓ '$($sub.Name)': Defender for App Services enabled" } else { $result.NonCompliantCount++ $result.Details += "✗ '$($sub.Name)': Defender for App Services DISABLED" } } $result.IsCompliant = ($result.NonCompliantCount -eq 0) } catch { $result.Details += "ERROR: $($_.Exception.Message)" } return $result } function Invoke-Remediation { Write-Host "`nStarting remediation for: $PolicyName..." -ForegroundColor Cyan function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { $fixed = 0 $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null Set-AzSecurityPricing -Name "AppServices" -PricingTier "Standard" -ErrorAction Stop | Out-Null Write-Host " [OK] Enabled for: $($sub.Name)" -ForegroundColor Green $fixed++ } Write-Host "`n[OK] Configured: $fixed subscription(s)" -ForegroundColor Green } catch { Write-Error "Remediation failed: $_" } } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Subscriptions: $($result.TotalResources)" -ForegroundColor White Write-Host "Enabled: $($result.CompliantCount)" -ForegroundColor Green Write-Host "Disabled: $($result.NonCompliantCount)" -ForegroundColor $(if ($result.NonCompliantCount -gt 0) { 'Red' } else { 'Green' }) if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow $result.Details | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } return $result } function Invoke-Revert { Write-Host "`n⚠️ Defender uitschakelen niet aanbevolen" -ForegroundColor Yellow } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "`n=== WHATIF MODE ===" -ForegroundColor Yellow $result = Test-Compliance Write-Host "Zou enablen voor $($result.NonCompliantCount) subscription(s)" -ForegroundColor Yellow } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`nCompliance Check: $PolicyName" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "Status: [OK] COMPLIANT" -ForegroundColor Green } else { Write-Host "Status: [FAIL] NON-COMPLIANT ($($result.NonCompliantCount) subscriptions)" -ForegroundColor Red } } } catch { Write-Error $_ exit 1 }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Defender voor App Service blijven webapplicaties en API's kwetsbaar voor OWASP Top 10-aanvallen die ongedetecteerd blijven tot na succesvolle inbraken. SQL-injectie-aanvallen waarbij aanvallers kwaadaardige code injecteren via invoervelden kunnen systematisch databases compromitteren en gevoelige gegevens exfiltreren zonder runtime-detectie. Cross-Site Scripting (XSS)-aanvallen die JavaScript in gebruikerssessies injecteren blijven onopgemerkt terwijl aanvallers sessietokens stelen of keylogging uitvoeren. Commando-injectie waarbij besturingssysteemcommando's worden geïnjecteerd via applicatie-invoer kan servercompromittering mogelijk maken zonder waarschuwingen. Authenticatie-omzeiling exploits en privilege escalation-pogingen blijven ongedetecteerd. Gemiddelde detectietijd zonder monitoring op applicatieniveau is 197 dagen, wat massale gegevensexpositie betekent. Compliance-schendingen: CIS 2.1.6 vereist bedreigingsdetectie op applicatieniveau, BIO 14.02 applicatiebeveiliging, NIS2 Artikel 21, ISO 27001 A.8.8. Het risico is hoog voor publiek toegankelijke webapps, kritiek voor apps met gevoelige gegevens.

Management Samenvatting

Defender voor App Service biedt runtime-bedreigingsdetectie voor Azure App Services via OWASP Top 10-bescherming, malwarescanning en bedreigingsinformatie. Detecteert SQL-injectie, XSS, commando-injectie, authenticatie-omzeilingen. Activatie: Azure Portal → Defender voor Cloud → Omgevingsinstellingen → App Services → AAN. Kosten: €13 per App Service-plan per maand. Verplicht voor CIS 2.1.6, BIO 14.02, NIS2. Implementatie: 1-2 uur. Essentieel voor publiek toegankelijke webapplicaties met gevoelige gegevens of bedrijfskritieke functionaliteit.