Beveiligingsoverwegingen voor bedrijfskritieke workloads in Azure

Beveiliging is een van de fundamentele ontwerpprincipes en ook een belangrijk ontwerpgebied dat moet worden behandeld als een eersteklas zorg binnen het bedrijfskritieke architectuurproces.

Aangezien de primaire focus van een bedrijfskritiek ontwerp is om de betrouwbaarheid te maximaliseren, zodat de toepassing goed presteert en beschikbaar blijft, zijn de beveiligingsoverwegingen en aanbevelingen die binnen dit ontwerpgebied worden toegepast gericht op het beperken van bedreigingen met de capaciteit om de beschikbaarheid te beïnvloeden en de algehele betrouwbaarheid te belemmeren. Van succesvolle Denial Of Service-aanvallen (DDoS) is bijvoorbeeld bekend dat ze een onherstelbare invloed hebben op de beschikbaarheid en prestaties. Hoe een toepassing deze aanvalsvectoren vermindert, zoals SlowLoris, heeft invloed op de algehele betrouwbaarheid. De toepassing moet dus volledig worden beschermd tegen bedreigingen die zijn bedoeld om de betrouwbaarheid van toepassingen direct of indirect in gevaar te komen om echt bedrijfskritiek van aard te zijn.

Het is ook belangrijk om te weten dat er vaak aanzienlijke compromissen zijn gekoppeld aan een beperkte beveiligingspostuur, met name met betrekking tot prestaties, operationele flexibiliteit en in sommige gevallen betrouwbaarheid. De opname van inline nva's (network virtual appliances) voor NGFW-mogelijkheden (Next-Generation Firewall), zoals deep packet inspection, leidt bijvoorbeeld tot een aanzienlijke prestatievermindering, extra operationele complexiteit en een betrouwbaarheidsrisico als schaalbaarheids- en herstelbewerkingen niet nauw zijn afgestemd op die van de toepassing. Het is daarom essentieel dat aanvullende beveiligingsonderdelen en -procedures die zijn bedoeld om belangrijke bedreigingsvectoren te beperken, ook worden ontworpen ter ondersteuning van het betrouwbaarheidsdoel van een toepassing, wat een belangrijk aspect vormt van de aanbevelingen en overwegingen die in deze sectie worden beschreven.

Belangrijk

Dit artikel maakt deel uit van de reeks bedrijfskritieke azure Well-Architected workloads . Als u niet bekend bent met deze reeks, raden we u aan te beginnen met wat een bedrijfskritieke workload is?

GitHub-logoMission-Critical open source project

De referentie-implementaties maken deel uit van een open source project dat beschikbaar is op GitHub. De code-assets maken gebruik van een Zero Trust-model om het beveiligingsontwerp en de implementatiebenadering te structureren en te begeleiden.

Uitlijning met het Zero Trust-model

Het Microsoft Zero Trust-model biedt een proactieve en geïntegreerde benadering voor het toepassen van beveiliging in alle lagen van een toepassing. De leidende principes van Zero Trust streeft ernaar om elke transactie expliciet en continu te verifiëren, minimale bevoegdheden te bevestigen, intelligentie en geavanceerde detectie te gebruiken om bijna in realtime op bedreigingen te reageren. Het is uiteindelijk gericht op het elimineren van vertrouwen binnen en buiten toepassingsperimeters, waarbij verificatie wordt afgedwongen voor alles wat probeert verbinding te maken met het systeem.

Overwegingen bij het ontwerpen

Wanneer u de beveiligingspostuur van de toepassing beoordeelt, begint u met deze vragen als basis voor elke overweging.

  • Continue beveiligingstests om risicobeperkingen voor belangrijke beveiligingsproblemen te valideren.

    • Worden beveiligingstests uitgevoerd als onderdeel van geautomatiseerde CI/CD-processen?
    • Zo niet, hoe vaak worden specifieke beveiligingstests uitgevoerd?
    • Worden de testresultaten gemeten op grond van een gewenst beveiligingspostuur en bedreigingsmodel?
  • Beveiligingsniveau voor alle lagere omgevingen.

    • Hebben alle omgevingen binnen de ontwikkelingslevenscyclus dezelfde beveiligingspostuur als de productieomgeving?
  • Verificatie en autorisatiecontinuïteit in het geval van een fout.

    • Als verificatie- of autorisatieservices tijdelijk niet beschikbaar zijn, kan de toepassing dan blijven werken?
  • Geautomatiseerde beveiligingsnaleving en herstel.

    • Kunnen wijzigingen in belangrijke beveiligingsinstellingen worden gedetecteerd?
    • Worden reacties voor het herstellen van niet-compatibele wijzigingen geautomatiseerd?
  • Geheimen scannen om geheimen te detecteren voordat code wordt doorgevoerd om lekken van geheimen via broncodeopslagplaatsen te voorkomen.

    • Is verificatie voor services mogelijk zonder referenties als onderdeel van code?
  • Beveilig de toeleveringsketen van software.

    • Is het mogelijk om veelvoorkomende beveiligingsproblemen en blootstellingen (CVE's) bij te houden binnen gebruikte pakketafhankelijkheden?
    • Is er een geautomatiseerd proces voor het bijwerken van pakketafhankelijkheden?
  • Levenscyclus van sleutel voor gegevensbeveiliging.

    • Kunnen door de service beheerde sleutels worden gebruikt voor beveiliging van gegevensintegriteit?
    • Als door de klant beheerde sleutels vereist zijn, hoe is de veilige en betrouwbare levenscyclus van sleutels dan?
  • Ci/CD-hulpprogramma's moeten Microsoft Entra service-principals met voldoende toegang op abonnementsniveau vereisen om toegang tot besturingsvlak voor Azure-resourceimplementaties tot alle overwogen omgevingsabonnementen te vergemakkelijken.

    • Wanneer toepassingsresources zijn vergrendeld binnen particuliere netwerken, is er een verbindingspad voor privégegevensvlak zodat CI/CD-hulpprogramma's implementaties en onderhoud op toepassingsniveau kunnen uitvoeren.
      • Dit zorgt voor extra complexiteit en vereist een reeks binnen het implementatieproces via vereiste privé-buildagents.

Ontwerpaanbeveling

  • Gebruik Azure Policy om beveiligings- en betrouwbaarheidsconfiguraties af te dwingen voor alle services, om ervoor te zorgen dat elke afwijking wordt hersteld of verboden door het besturingsvlak tijdens de configuratie, waardoor bedreigingen in verband met 'schadelijke beheerders'-scenario's worden beperkt.

  • Gebruik Microsoft Entra Privileged Identity Management (PIM) binnen productieabonnementen om langdurige toegang tot productieomgevingen op het besturingsvlak in te trekken. Dit vermindert het risico van 'schadelijke beheerders'-scenario's aanzienlijk via extra 'controles en saldi'.

  • Gebruik Azure Managed Identities voor alle services die ondersteuning bieden voor de mogelijkheid, omdat het verwijderen van referenties uit toepassingscode mogelijk maakt en de operationele last van identiteitsbeheer voor service-naar-servicecommunicatie wordt verwijderd.

  • Gebruik Microsoft Entra op rollen gebaseerd toegangsbeheer (RBAC) voor gegevensvlakautorisatie met alle services die de mogelijkheid ondersteunen.

  • Gebruik eigen Microsoft identity platform verificatiebibliotheken in toepassingscode om te integreren met Microsoft Entra ID.

  • Overweeg beveiligde tokencaching om een gedegradeerde maar beschikbare ervaring mogelijk te maken als het gekozen identiteitsplatform niet beschikbaar is of slechts gedeeltelijk beschikbaar is voor toepassingsautorisatie.

    • Als de provider geen nieuwe toegangstokens kan uitgeven, maar wel bestaande toegangstokens valideert, kunnen de toepassing en afhankelijke services zonder problemen werken totdat de tokens verlopen.
    • Tokencache wordt doorgaans automatisch verwerkt door verificatiebibliotheken (zoals MSAL).
  • Gebruik Infrastructure-as-Code (IaC) en geautomatiseerde CI/CD-pijplijnen om updates voor alle toepassingsonderdelen uit te voeren, ook onder storingen.

    • Zorg ervoor dat ci/CD-hulpprogrammaserviceverbindingen worden beveiligd als kritieke gevoelige informatie en niet rechtstreeks beschikbaar mogen zijn voor een serviceteam.
    • Pas gedetailleerde RBAC toe op productie-CD-pijplijnen om de risico's van schadelijke beheerders te beperken.
    • Overweeg het gebruik van handmatige goedkeuringspoorten binnen productie-implementatiepijplijnen om de risico's van schadelijke beheerders verder te beperken en aanvullende technische zekerheid te bieden voor alle productiewijzigingen.
      • Extra beveiligingspoorten kunnen een afweging maken in termen van flexibiliteit en moeten zorgvuldig worden geëvalueerd, waarbij rekening moet worden gehouden met hoe wendbaarheid kan worden gehandhaafd, zelfs met handmatige poorten.
  • Definieer een geschikte beveiligingspostuur voor alle lagere omgevingen om ervoor te zorgen dat belangrijke beveiligingsproblemen worden verzacht.

    • Pas niet hetzelfde beveiligingspostuur toe als productie, met name met betrekking tot gegevensexfiltratie, tenzij wettelijke vereisten dit vereisen, omdat dit de flexibiliteit van ontwikkelaars aanzienlijk in gevaar zal brengen.
  • Schakel Microsoft Defender for Cloud (voorheen bekend als Azure Security Center) in voor alle abonnementen die de resources voor een bedrijfskritieke workload bevatten.

    • Gebruik Azure Policy om naleving af te dwingen.
    • Schakel Azure Defender in voor alle services die de mogelijkheid ondersteunen.
  • Gebruik DevSecOps en implementeer beveiligingstests binnen CI/CD-pijplijnen.

    • Testresultaten moeten worden gemeten aan de hand van een conform beveiligingspostuur om goedkeuringen voor vrijgaven te informeren, hetzij geautomatiseerd of handmatig.
    • Beveiligingstests toepassen als onderdeel van het cd-productieproces voor elke release.
      • Als beveiligingstests voor elke release de operationele flexibiliteit in gevaar brengen, moet u ervoor zorgen dat er een geschikt beveiligingstestritme wordt toegepast.
  • Schakel scannen van geheimen en afhankelijkheidsscans in de broncodeopslagplaats in.

Bedreigingsmodellen

Bedreigingsmodellering biedt een op risico's gebaseerde benadering van beveiligingsontwerp, waarbij gebruik wordt gemaakt van geïdentificeerde potentiële bedreigingen om passende beveiligingsbeperkingen te ontwikkelen. Er zijn veel mogelijke bedreigingen met verschillende waarschijnlijkheden en in veel gevallen kunnen bedreigingen zich op onverwachte, onvoorspelbare en zelfs chaotische manieren aaneensluiten. Deze complexiteit en onzekerheid is de reden waarom traditionele beveiligingsmethoden op basis van technologievereisten grotendeels ongeschikt zijn voor bedrijfskritieke cloudtoepassingen. Verwacht dat het proces van threat modeling voor een bedrijfskritieke toepassing complex en onverwerkbaar is.

Om deze uitdagingen aan te pakken, moet een gelaagde diepgaande verdedigingsbenadering worden toegepast om compenserende oplossingen voor gemodelleerde bedreigingen te definiëren en implementeren, rekening houdend met de volgende verdedigingslagen.

  1. Het Azure-platform met basisbeveiligingsmogelijkheden en -besturingselementen.
  2. De toepassingsarchitectuur en het beveiligingsontwerp.
  3. Ingebouwde, ingeschakelde en implementeerbare beveiligingsfuncties die zijn toegepast op beveiligde Azure-resources.
  4. Toepassingscode en beveiligingslogica.
  5. Operationele processen en DevSecOps.

Notitie

Wanneer u implementeert in een Azure-landingszone, moet u er rekening mee houden dat de implementatie van de landingszone voorziet in een extra risicobeperkingslaag via het inrichten van gecentraliseerde beveiligingsmogelijkheden.

Overwegingen bij het ontwerpen

STRIDE biedt een lichtgewicht risicoframework voor het evalueren van beveiligingsbedreigingen voor belangrijke bedreigingsvectoren.

  • Vervalste identiteit: imitatie van personen met autoriteit. Een aanvaller die zich bijvoorbeeld voordoet als een andere gebruiker met behulp van hun -
    • Identiteit
    • Verificatie
  • Invoer voor manipulatie: wijziging van invoer die naar de toepassing wordt verzonden of schending van vertrouwensgrenzen om toepassingscode te wijzigen. Bijvoorbeeld een aanvaller die SQL-injectie gebruikt om gegevens in een databasetabel te verwijderen.
    • Gegevensintegriteit
    • Validatie
    • Blokkeren/toestaan
  • Weerlegbaarheid van actie: het vermogen om reeds uitgevoerde acties te weerleggen en de mogelijkheid van de toepassing om bewijs te verzamelen en verantwoordelijkheid te stimuleren. Bijvoorbeeld het verwijderen van kritieke gegevens zonder de mogelijkheid om te traceren naar een kwaadwillende beheerder.
    • Controle/logboekregistratie
    • Ondertekenen
  • Openbaarmaking van informatie: toegang krijgen tot beperkte informatie. Een voorbeeld is een aanvaller die toegang krijgt tot een beperkt bestand.
    • Versleuteling
    • Gegevensoverdracht
    • Man-in-the-middle-aanvallen
  • Denial of Service: schadelijke toepassingsonderbreking om de gebruikerservaring te verslechteren. Bijvoorbeeld een DDoS-botnetaanval zoals Slowloris.
    • DDoS
    • Botnets
    • CDN- en WAF-mogelijkheden
  • Uitbreiding van toegangsrechten: toegang tot toepassingen met bevoegdheden verkrijgen via autorisatie-aanvallen. Bijvoorbeeld een aanvaller die een URL-tekenreeks bewerkt om toegang te krijgen tot gevoelige informatie.
    • Uitvoering van externe code
    • Autorisatie
    • Isolatie

Ontwerpaanbeveling

  • Wijs binnen elke sprint een technisch budget toe om mogelijke nieuwe bedreigingen te evalueren en oplossingen te implementeren.

  • Bewuste inspanningen moeten worden toegepast om ervoor te zorgen dat beveiligingsbeperkingen worden vastgelegd in algemene technische criteria om consistentie te stimuleren in alle toepassingsserviceteams.

  • Begin met bedreigingsmodellering op serviceniveau en uniformeer het model door het threadmodel op toepassingsniveau te consolideren.

Netwerkinbraakbeveiliging

Het voorkomen van onbevoegde toegang tot een bedrijfskritieke toepassing en omvattende gegevens is essentieel om de beschikbaarheid te behouden en de integriteit van gegevens te waarborgen.

Overwegingen bij het ontwerpen

  • Zero Trust gaat uit van een geschonden status en verifieert elke aanvraag alsof deze afkomstig is van een onbeheerd netwerk.

    • Een geavanceerde netwerk-implementatie zonder vertrouwen maakt gebruik van microsegmentatie en gedistribueerde microperimeter voor inkomend/uitgaand verkeer.
  • Azure PaaS-services zijn doorgaans toegankelijk via openbare eindpunten. Azure biedt mogelijkheden om openbare eindpunten te beveiligen of ze zelfs volledig privé te maken.

    • Azure Private Link/privé-eindpunten bieden toegewezen toegang tot een Azure PaaS-resource met behulp van privé-IP-adressen en privénetwerkconnectiviteit.
    • Virtual Network Service-eindpunten bieden toegang op serviceniveau van geselecteerde subnetten tot geselecteerde PaaS-services.
    • Virtual Network Injection biedt toegewezen privé-implementaties voor ondersteunde services, zoals App Service via een App Service Environment.
      • Het beheervlakverkeer stroomt nog steeds via openbare IP-adressen.
  • Voor ondersteunde services Azure Private Link het gebruik van Azure-privé-eindpunten de risico's van gegevensexfiltratie in verband met service-eindpunten, zoals een kwaadwillende beheerder die gegevens naar een externe resource schrijft.

  • Bij het beperken van netwerktoegang tot Azure PaaS-services met behulp van privé-eindpunten of service-eindpunten, is een beveiligd netwerkkanaal vereist voor implementatiepijplijnen om toegang te krijgen tot zowel het Azure-besturingsvlak als het gegevensvlak van Azure-resources om de toepassing te implementeren en te beheren.

    • Persoonlijke zelf-hostende buildagents die zijn geïmplementeerd op een particulier netwerk als de Azure-resource, kunnen worden gebruikt als een proxy om CI/CD-functies uit te voeren via een privéverbinding. Er moet een afzonderlijk virtueel netwerk worden gebruikt voor het bouwen van agents.
      • Connectiviteit met de privé-buildagents vanuit CI/CD-hulpprogramma's is vereist.
    • Een alternatieve benadering is om de firewallregels voor de resource on-the-fly binnen de pijplijn te wijzigen om een verbinding vanaf een openbaar IP-adres van een Azure DevOps-agent toe te staan, waarbij de firewall vervolgens wordt verwijderd nadat de taak is voltooid.
      • Deze benadering is echter alleen van toepassing op een subset van Azure-services. Dit is bijvoorbeeld niet haalbaar voor privé-AKS-clusters.
    • Voor het uitvoeren van ontwikkelaars- en beheertaken op de toepassingsservice kunnen jumpboxen worden gebruikt.
  • De voltooiing van beheer- en onderhoudstaken is een ander scenario dat connectiviteit met het gegevensvlak van Azure-resources vereist.

  • Service-Connections met een bijbehorende Microsoft Entra service-principal kunnen worden gebruikt in Azure DevOps om RBAC toe te passen via Microsoft Entra ID.

  • Servicetags kunnen worden toegepast op netwerkbeveiligingsgroepen om connectiviteit met Azure PaaS-services te vergemakkelijken.

  • Toepassingsbeveiligingsgroepen omvatten niet meerdere virtuele netwerken.

  • Pakketopname in Azure Network Watcher is beperkt tot een maximale periode van vijf uur.

Ontwerpaanbeveling

  • Beperk openbare netwerktoegang tot het absolute minimum dat de toepassing nodig heeft om te voldoen aan het bedrijfsdoel om de kwetsbaarheid voor externe aanvallen te verminderen.

  • Wanneer u te maken hebt met privé-buildagents, opent u nooit een RDP- of SSH-poort rechtstreeks op internet.

    • Gebruik Azure Bastion om beveiligde toegang tot Azure Virtual Machines te bieden en beheertaken uit te voeren op Azure PaaS via internet.
  • Gebruik een DDoS-standaardbeveiligingsplan om alle openbare IP-adressen in de toepassing te beveiligen.

  • Gebruik Azure Front Door met firewallbeleid voor webtoepassingen om globale HTTP/S-toepassingen te leveren en te beveiligen die meerdere Azure-regio's omvatten.

    • Gebruik header-id-validatie om openbare toepassingseindpunten te vergrendelen, zodat ze alleen verkeer accepteren dat afkomstig is van het Azure Front Door-exemplaar.
  • Als aanvullende inline-netwerkbeveiligingsvereisten, zoals deep packet inspection of TLS-inspectie, het gebruik van Azure Firewall Premium of Network Virtual Appliance (NVA) verplicht stellen, moet u ervoor zorgen dat het is geconfigureerd voor maximale hoge beschikbaarheid en redundantie.

  • Als er vereisten voor pakketopname bestaan, gebruikt u Network Watcher pakketten om vast te leggen, ondanks het beperkte opnamevenster.

  • Gebruik netwerkbeveiligingsgroepen en toepassingsbeveiligingsgroepen om toepassingsverkeer in microsegmenten te maken.

    • Vermijd het gebruik van een beveiligingsapparaat om verkeersstromen binnen toepassingen te filteren.
    • Overweeg het gebruik van Azure Policy om specifieke NSG-regels af te dwingen die altijd zijn gekoppeld aan toepassingssubnetten.
  • Schakel NSG-stroomlogboeken in en voer deze in Traffic Analytics in om inzicht te krijgen in interne en externe verkeersstromen.

  • Gebruik Azure Private Link/privé-eindpunten, indien beschikbaar, om de toegang tot Azure PaaS-services binnen het toepassingsontwerp te beveiligen. Zie Azure Private Link beschikbaarheid voor meer informatie over Azure-services die ondersteuning bieden voor Private Link.

  • Als privé-eindpunt niet beschikbaar is en de risico's voor gegevensexfiltratie acceptabel zijn, gebruikt u Virtual Network Service-eindpunten om de toegang tot Azure PaaS-services vanuit een virtueel netwerk te beveiligen.

    • Schakel service-eindpunten voor virtuele netwerken niet standaard in op alle subnetten, omdat hierdoor aanzienlijke exfiltratiekanalen voor gegevens worden geïntroduceerd.
  • Voor hybride toepassingsscenario's hebt u on-premises toegang tot Azure PaaS-services via ExpressRoute met persoonlijke peering.

Notitie

Wanneer u implementeert in een Azure-landingszone, moet u er rekening mee houden dat de netwerkverbinding met on-premises datacenters wordt geleverd door de implementatie van de landingszone. Eén benadering is het gebruik van ExpressRoute dat is geconfigureerd met persoonlijke peering.

Bescherming van gegevensintegriteit

Versleuteling is een essentiële stap bij het waarborgen van gegevensintegriteit en is uiteindelijk een van de belangrijkste beveiligingsmogelijkheden die kan worden toegepast om een breed scala aan bedreigingen te beperken. Deze sectie bevat daarom belangrijke overwegingen en aanbevelingen met betrekking tot versleuteling en sleutelbeheer om gegevens te beschermen zonder de betrouwbaarheid van toepassingen in gevaar te brengen.

Overwegingen bij het ontwerpen

  • Azure Key Vault heeft transactielimieten voor sleutels en geheimen, waarbij beperking per kluis binnen een bepaalde periode wordt toegepast.

  • Azure Key Vault biedt een beveiligingsgrens omdat toegangsmachtigingen voor sleutels, geheimen en certificaten worden toegepast op kluisniveau.

    • Key Vault toewijzingen van toegangsbeleid verlenen machtigingen afzonderlijk aan sleutels, geheimen of certificaten.
  • Nadat een roltoewijzing is gewijzigd, is er een latentie van maximaal 10 minuten (600 seconden) voor de rol die moet worden toegepast.

    • Er is een limiet van 2000 Azure-roltoewijzingen per abonnement.
  • Onderliggende HSM's (Hardware Security Modules) van Azure Key Vault hebben FIPS 140-validatie.

  • Azure Key Vault biedt hoge beschikbaarheid en redundantie om de beschikbaarheid te behouden en gegevensverlies te voorkomen.

  • Tijdens een failover van een regio kan het enkele minuten duren voordat een failover van de Key Vault-service is uitgevoerd.

    • Tijdens een failover bevindt Key Vault zich in de modus Alleen-lezen, dus het is niet mogelijk om eigenschappen van de sleutelkluis, zoals firewallconfiguraties en -instellingen, te wijzigen.
  • Als Private Link wordt gebruikt om verbinding te maken met Azure Key Vault, kan het tot 20 minuten duren voordat de verbinding opnieuw tot stand wordt gebracht tijdens een regionale failover.

  • Een back-up maakt een momentopname van een geheim, sleutel of certificaat op een bepaald tijdstip, als een versleutelde blob die niet buiten Azure kan worden ontsleuteld. Als u bruikbare gegevens uit de blob wilt ophalen, moeten deze worden hersteld in een Key Vault binnen hetzelfde Azure-abonnement en dezelfde Azure-geografie.

    • Geheimen kunnen tijdens een back-up worden vernieuwd, waardoor deze niet overeenkomen.
  • Met door de service beheerde sleutels voert Azure belangrijke beheerfuncties uit, zoals rotatie, waardoor het bereik van toepassingsbewerkingen wordt verkleind.

  • Regelgevingsmaatregelen kunnen het gebruik van door de klant beheerde sleutels voor serviceversleutelingsfunctionaliteit bepalen.

  • Wanneer verkeer wordt verplaatst tussen Azure-datacenters, wordt MACsec-versleuteling van de gegevenskoppelingslaag gebruikt op de onderliggende netwerkhardware om gegevens die onderweg zijn te beveiligen buiten de fysieke grenzen die niet worden beheerd door Microsoft of namens Microsoft.

Ontwerpaanbeveling

  • Gebruik waar mogelijk door de service beheerde sleutels voor gegevensbeveiliging, zodat u geen versleutelingssleutels hoeft te beheren en operationele taken zoals sleutelrotatie hoeft af te handelen.

    • Gebruik door de klant beheerde sleutels alleen als er een duidelijke wettelijke vereiste is om dit te doen.
  • Gebruik Azure Key Vault als een beveiligde opslagplaats voor alle geheimen, certificaten en sleutels als er rekening moet worden gehouden met aanvullende versleutelingsmechanismen of door de klant beheerde sleutels.

    • Richt Azure Key Vault in met het beleid voor voorlopig verwijderen en opschonen ingeschakeld om bewaarbeveiliging toe te staan voor verwijderde objecten.
    • Gebruik door HSM ondersteunde Azure Key Vault-SKU voor toepassingsproductieomgevingen.
  • Implementeer een afzonderlijk Azure Key Vault-exemplaar binnen elke regionale implementatiestempel, met foutisolatie en prestatievoordelen door middel van lokalisatie, en door de schaallimieten te navigeren die door één Key Vault-exemplaar zijn opgelegd.

    • Gebruik een toegewezen Azure Key Vault-exemplaar voor globale toepassingsresources.
  • Volg een model met minimale bevoegdheden door autorisatie te beperken tot het permanent verwijderen van geheimen, sleutels en certificaten tot gespecialiseerde aangepaste Microsoft Entra rollen.

  • Zorg ervoor dat er een back-up wordt gemaakt van versleutelingssleutels en certificaten die zijn opgeslagen in Key Vault, zodat een offlinekopie wordt opgegeven in de onwaarschijnlijke gebeurtenis Key Vault niet beschikbaar is.

  • Gebruik Key Vault certificaten om de aanschaf en ondertekening van certificaten te beheren.

  • Stel een geautomatiseerd proces in voor sleutel- en certificaatrotatie.

    • Automatiseer het certificaatbeheer- en verlengingsproces met openbare certificeringsinstanties om het beheer te vergemakkelijken.
      • Stel waarschuwingen en meldingen in als aanvulling op automatische certificaatvernieuwing.
  • Bewaak het gebruik van sleutels, certificaten en geheimen.

Governance op basis van beleid

Beveiligingsconventies zijn uiteindelijk alleen effectief als ze consistent en holistisch worden afgedwongen voor alle toepassingsservices en teams. Azure Policy biedt een framework voor het afdwingen van basislijnen voor beveiliging en betrouwbaarheid, waardoor doorlopend wordt voldaan aan algemene technische criteria voor een bedrijfskritieke toepassing. Meer specifiek vormt Azure Policy een belangrijk onderdeel van het Azure Resource Manager -besturingsvlak (ARM) en vormt een aanvulling op RBAC door te beperken welke acties geautoriseerde gebruikers kunnen uitvoeren, en kan worden gebruikt om essentiële beveiligings- en betrouwbaarheidsconventies af te dwingen voor alle gebruikte platformservices.

In deze sectie worden daarom belangrijke overwegingen en aanbevelingen besproken met betrekking tot het gebruik van Azure Policy gestuurde governance voor een bedrijfskritieke toepassing, waarbij ervoor wordt gezorgd dat beveiligings- en betrouwbaarheidsconventies voortdurend worden afgedwongen.

Overwegingen bij het ontwerpen

  • Azure Policy biedt een mechanisme om naleving te stimuleren door beveiligings- en betrouwbaarheidsconventies af te dwingen, zoals het gebruik van privé-eindpunten of het gebruik van Beschikbaarheidszones.

Notitie

Wanneer u implementeert in een Azure-landingszone, moet u er rekening mee houden dat het afdwingen van gecentraliseerde basislijnbeleidstoewijzingen waarschijnlijk wordt toegepast in de implementatie voor beheergroepen en abonnementen voor landingszones.

  • Azure Policy kunnen worden gebruikt voor geautomatiseerde beheeractiviteiten, zoals inrichting en configuratie.

    • Registratie van resourceprovider.
    • Validatie en goedkeuring van afzonderlijke Azure-resourceconfiguraties.
  • Azure Policy toewijzingsbereik bepaalt de dekking en de locatie van Azure Policy definities de herbruikbaarheid van aangepaste beleidsregels.

  • Azure Policy heeft verschillende limieten, zoals het aantal definities op een bepaald bereik.

  • Het kan enkele minuten duren voordat de uitvoering van DINE-beleid (Deploy If Not Exist) plaatsvindt.

  • Azure Policy biedt essentiële input voor nalevingsrapportage en beveiligingscontrole.

Ontwerpaanbeveling

  • Wijs regelgevings- en nalevingsvereisten toe aan Azure Policy definities.

    • Als er bijvoorbeeld vereisten voor gegevenslocatie zijn, moet een beleid worden toegepast om beschikbare implementatieregio's te beperken.
  • Definieer algemene technische criteria voor het vastleggen van veilige en betrouwbare configuratiedefinities voor alle gebruikte Azure-services, zodat deze criteria worden toegewezen aan Azure Policy toewijzingen om naleving af te dwingen.

    • Pas bijvoorbeeld een Azure Policy toe om het gebruik van Beschikbaarheidszones af te dwingen voor alle relevante services, waardoor betrouwbare implementatieconfiguraties binnen regio's worden gegarandeerd.

De mission critical-referentie-implementatie bevat een breed scala aan beveiligings- en betrouwbaarheidsbeleidsregels voor het definiëren en afdwingen van een voorbeeld van algemene technische criteria.

  • Bewaak serviceconfiguratiedrift ten opzichte van de algemene technische criteria met behulp van Azure Policy.

Voor bedrijfskritieke scenario's met meerdere productieabonnementen onder een toegewezen beheergroep, geeft u prioriteit aan toewijzingen binnen het bereik van de beheergroep.

  • Gebruik waar mogelijk ingebouwd beleid om de operationele overhead van het onderhouden van aangepaste beleidsdefinities te minimaliseren.

  • Als er aangepaste beleidsdefinities vereist zijn, moet u ervoor zorgen dat definities worden geïmplementeerd op een geschikt bereik van beheergroepen om hergebruik toe te staan voor hergebruik tussen abonnementen in de omgeving, zodat beleid opnieuw kan worden gebruikt in productie- en lagere omgevingen.

    • Bij het afstemmen van de roadmap van de toepassing met Azure-roadmaps, gebruikt u beschikbare Microsoft-resources om te onderzoeken of kritieke aangepaste definities als ingebouwde definities kunnen worden opgenomen.

Notitie

Wanneer u implementeert in een Azure-landingszone, kunt u overwegen om aangepaste Azure Policy-definities te implementeren binnen het bereik van de tussenliggende bedrijfshoofdbeheergroep om hergebruik mogelijk te maken voor alle toepassingen binnen het bredere Azure-domein. In een landingszoneomgeving worden bepaalde gecentraliseerde beveiligingsbeleidsregels standaard toegepast binnen hogere beheergroepbereiken om beveiligingsnaleving af te dwingen in het hele Azure-domein. Azure-beleid moet bijvoorbeeld worden toegepast om softwareconfiguraties automatisch te implementeren via VM-extensies en een compatibele VM-basislijnconfiguratie af te dwingen.

  • Gebruik Azure Policy om een consistent tagschema in de toepassing af te dwingen.
    • Identificeer de vereiste Azure-tags en gebruik de beleidsmodus toevoegen om gebruik af te dwingen.

Als de toepassing is geabonneerd op Microsoft Mission-Critical Support, moet u ervoor zorgen dat het toegepaste tagschema zinvolle context biedt om de ondersteuningservaring te verrijken met diepgaande toepassingskennis.

  • Exporteer Microsoft Entra activiteitenlogboeken naar de globale Log Analytics-werkruimte die door de toepassing wordt gebruikt.
    • Zorg ervoor dat Azure-activiteitenlogboeken worden gearchiveerd in het globale opslagaccount, samen met operationele gegevens voor langetermijnretentie.

In een Azure-landingszone worden Microsoft Entra activiteitenlogboeken ook opgenomen in de log analytics-werkruimte van het gecentraliseerde platform. In dit geval moet worden geëvalueerd of Microsoft Entra ID nog steeds vereist zijn in de globale Log Analytics-werkruimte.

  • Integreer beveiligingsinformatie en gebeurtenisbeheer met Microsoft Defender for Cloud (voorheen bekend als Azure Security Center).

IaaS-specifieke overwegingen bij het gebruik van Virtual Machines

In scenario's waarin het gebruik van IaaS-Virtual Machines is vereist, moet rekening worden gehouden met enkele specifieke aspecten.

Overwegingen bij het ontwerpen

  • Installatiekopieën worden niet automatisch bijgewerkt zodra ze zijn geïmplementeerd.
  • Updates worden niet automatisch geïnstalleerd op actieve VM's.
  • Installatiekopieën en afzonderlijke VM's worden doorgaans niet out-of-the-box gehard.

Ontwerpaanbeveling

  • Sta geen directe toegang via het openbare internet toe tot Virtual Machines door toegang te bieden tot SSH, RDP of andere protocollen. Gebruik altijd Azure Bastion en jumpboxes met beperkte toegang tot een kleine groep gebruikers.
  • Beperk directe internetverbinding met behulp van netwerkbeveiligingsgroepen, (Azure) Firewall of Application Gateways (niveau 7) om uitgaand verkeer te filteren en te beperken.
  • Voor toepassingen met meerdere lagen kunt u verschillende subnetten gebruiken en netwerkbeveiligingsgroepen gebruiken om de toegang daartussen te beperken.
  • Geef, indien mogelijk, prioriteit aan het gebruik van verificatie met een openbare sleutel. Bewaar geheimen op een veilige plaats, zoals Azure Key Vault.
  • Beveilig VM's met behulp van verificatie en toegangsbeheer.
  • Pas dezelfde beveiligingsprocedures toe als beschreven voor bedrijfskritieke toepassingsscenario's.

Volg en pas beveiligingsprocedures toe voor bedrijfskritische toepassingsscenario's zoals hierboven beschreven, indien van toepassing, evenals de best practices voor beveiliging voor IaaS-workloads in Azure.

Volgende stap

Bekijk de best practices voor operationele procedures voor bedrijfskritieke toepassingsscenario's.