Beveiligingsproblemen van een gereguleerd AKS-cluster detecteren voor PCI-DSS 3.2.1 (deel 5 van 9)

Azure Kubernetes Service (AKS)
Azure Application Gateway
Microsoft Defender for Cloud

In dit artikel worden de overwegingen beschreven voor een AKS-cluster (Azure Kubernetes Service) dat is geconfigureerd in overeenstemming met de Pci-DSS 3.2.1 (Payment Card Industry Data Security Standard).

Dit artikel maakt deel uit van een serie. Lees de inleiding.

Net als elke cloudoplossing is een PCI-workload onderhevig aan netwerk-, identiteits- en gegevensbedreigingen. Veelvoorkomende voorbeelden van bronnen die profiteren van workload- en systeemproblemen zijn virussen of software-updates die ongewenste resultaten opleveren. Detecteer bedreigingen vroeg en reageer tijdig met risicobeperking. Bouw kritieke waarschuwingen voor workloadactiviteiten en breid deze waarschuwingen uit naar kernsysteemprocessen. Fim-hulpprogramma's (Antivirus- of File Integrity Monitoring) moeten altijd worden uitgevoerd. Een verantwoordelijk antwoordplan en een team hebben dat de waarschuwingen onderzoekt en actie onderneemt.

Belangrijk

De richtlijnen en de bijbehorende implementatie zijn gebaseerd op de AKS-basislijnarchitectuur. Die architectuur op basis van een hub-and-spoke-topologie. Het virtuele hubnetwerk bevat de firewall voor het beheren van uitgaand verkeer, gatewayverkeer van on-premises netwerken en een derde netwerk voor onderhoud. Het virtuele spoke-netwerk bevat het AKS-cluster dat de CDE (CardHolder Data Environment) biedt en als host fungeert voor de PCI DSS-workload.

GitHub logoGitHub: Azure Kubernetes Service (AKS) Baseline Cluster for Regulated Workloads demonstreert een gereglementeerde infrastructuur. De implementatie illustreert de installatie van beveiligingshulpprogramma's in verschillende fasen van de architectuur- en ontwikkelingslevenscyclus. Dit omvat voorbeelden van bring-your-own-in-cluster-beveiligingsagents en door Azure geleverde beveiligingshulpprogramma's, bijvoorbeeld Microsoft Defender voor Cloud.

Een programma voor beheer van beveiligingsproblemen onderhouden

Vereiste 5: alle systemen beschermen tegen malware en regelmatig antivirussoftware of -programma's bijwerken

Ondersteuning voor AKS-functies

AKS gedraagt zich niet als een traditionele toepassingshost. Knooppunt-VM's in een AKS-cluster hebben beperkte blootstelling en zijn ontworpen om niet rechtstreeks toegang te krijgen. Omdat knooppunt-VM's niet gelijk zijn aan traditionele VM's, kunt u geen veelgebruikte VM-hulpprogramma's gebruiken. De aanbevelingen in deze sectie worden dus toegepast via systeemeigen Kubernetes-constructies. Het rechtstreeks toepassen van deze vereisten op VM-niveau kan ertoe leiden dat uw cluster niet meer wordt ondersteund.

U moet antimalwaresoftware van uw keuze implementeren in DaemonSets die in een pod op elk knooppunt wordt uitgevoerd.

Uw verantwoordelijkheden

Zorg ervoor dat de software is gespecialiseerd in Kubernetes en containers. Er zijn verschillende softwareopties van derden. Populaire opties zijn Prisma Cloud en Aquasec. Er zijn ook opensource-opties zoals Falco. Het is uw verantwoordelijkheid om ervoor te zorgen dat er processen aanwezig zijn om ervoor te zorgen dat de software van derden up-to-date is. Het bewaken en waarschuwen van de oplossingen is ook uw verantwoordelijkheid.

Vereiste Verantwoordelijkheid
Vereiste 5.1 Implementeer antivirussoftware op alle systemen die vaak worden beïnvloed door schadelijke software (met name persoonlijke computers en servers).
Vereiste 5.2 Zorg ervoor dat alle antivirusmechanismen als volgt worden gehandhaafd:
Vereiste 5.3 Zorg ervoor dat anti-virusmechanismen actief worden uitgevoerd en niet door gebruikers kunnen worden uitgeschakeld of gewijzigd, tenzij specifiek geautoriseerd door beheer gedurende een beperkte periode.
Vereiste 5.4 Zorg ervoor dat beveiligingsbeleid en operationele procedures voor het beschermen van systemen tegen malware worden gedocumenteerd, gebruikt en bekend zijn bij alle betrokken partijen.

Vereiste 6: veilige systemen en toepassingen ontwikkelen en onderhouden

Ondersteuning voor AKS-functies

Net als bij andere Azure-services volgt AKS microsoft SDL -processen (Security Development Lifecycle) voor beveiliging gedurende de fasen van het ontwikkelingsproces. Verschillende onderdelen worden gescand vanaf de vroege stadia van ontwikkeling en beveiligingsproblemen worden zo vroeg mogelijk behandeld.

AKS-installatiekopieën volgen een FedRAMP SLA-benadering, waarvoor beveiligingsproblemen in installatiekopieën binnen 30 dagen moeten worden gepatcht. Om deze vereiste af te dwingen, worden alle installatiekopieën opgeschoond via een DevSecOps-pijplijn.

Wekelijks biedt AKS nieuwe installatiekopieën voor de knooppuntgroepen. Het is uw verantwoordelijkheid om ze toe te passen om patches en updates van werkknooppunten van virtuele-machineschaalsets te garanderen. Zie de upgrade van de AKS-knooppuntinstallatiekopieën (Azure Kubernetes Service) voor meer informatie.

Voor het AKS-besturingsvlak installeert of upgradet AKS de beveiligingspatches. Ze worden elke 24 uur bijgewerkt.

Het AKS-besturingsvlak en werkknooppunten worden beveiligd tegen Center for Internet Security (CIS). Specifiek AKS CIS, Ubuntu CIS en Windows CIS.

AKS is geïntegreerd met Azure Container Registry (ACR). Gebruik ACR met doorlopende scanfuncties in Microsoft Defender voor Cloud om kwetsbare afbeeldingen en toepassingen op verschillende risiconiveaus te identificeren. Zie Microsoft Defender for Containers voor informatie over het scannen en risicobeheer van afbeeldingen.

Uw verantwoordelijkheden

Vereiste Verantwoordelijkheid
Vereiste 6.1 Stel een proces in om beveiligingsproblemen te identificeren, betrouwbare externe bronnen te gebruiken voor beveiligingsprobleeminformatie en een risicoclassificatie toe te wijzen (bijvoorbeeld als 'hoog', 'gemiddeld' of 'laag') aan nieuw gedetecteerde beveiligingsproblemen.
Vereiste 6.2 Zorg ervoor dat alle systeemonderdelen en software worden beschermd tegen bekende beveiligingsproblemen door de toepasselijke door de leverancier geleverde beveiligingspatches te installeren. Installeer kritieke beveiligingspatches binnen één maand na de release.
Vereiste 6.3 Ontwikkel interne en externe softwaretoepassingen (waaronder webgebaseerde beheerderstoegang tot toepassingen) veilig.
Vereiste 6.4 Volg processen en procedures voor wijzigingsbeheer voor alle wijzigingen in systeemonderdelen.
Vereiste 6.5 Los veelvoorkomende coderingsproblemen op in softwareontwikkelingsprocessen.
Vereiste 6.6 Voor openbare webtoepassingen kunt u voortdurend nieuwe bedreigingen en beveiligingsproblemen aanpakken en ervoor zorgen dat deze toepassingen worden beschermd tegen bekende aanvallen.
Vereiste 6.7 Zorg ervoor dat beveiligingsbeleid en operationele procedures voor het ontwikkelen en onderhouden van veilige systemen en toepassingen worden gedocumenteerd, gebruikt en bekend bij alle betrokken partijen.

Vereiste 5.1

Implementeer antivirussoftware op alle systemen die vaak worden beïnvloed door schadelijke software, met name persoonlijke computers en servers.

Uw verantwoordelijkheden

Het is uw verantwoordelijkheid om de workload, de infrastructuur en de implementatiepijplijnen te beschermen door een geschikte antimalwaresoftware te kiezen.

Omdat de toegang tot AKS-knooppunt-VM's wordt beperkt, beveiligt u het systeem op lagen die malware kunnen injecteren op knooppunt-VM's. Neem detectie en preventie op clusterknooppunten, containerinstallatiekopieën en runtime-interacties op met de Kubernetes-API-server. Naast het cluster beveiligt u deze onderdelen die communiceren met het cluster en kunt u antivirussoftware op een traditionele manier installeren:

  • Jumpboxen
  • Agents bouwen

Stem uw scanactiviteiten af met de SDL (Security Development Lifecycle ). Na de SDL zorgt u ervoor dat het scannen van verschillende onderdelen van de architectuur in de vroege fasen van ontwikkeling en beveiligingsproblemen zo vroeg mogelijk wordt behandeld.

Vereiste 5.1.1

Maak dat antivirusprogramma's in staat zijn om schadelijke software te detecteren, te verwijderen en te beschermen tegen alle bekende typen schadelijke software.

Uw verantwoordelijkheden

Meer informatie over de functieset van elk softwareaanbod en de diepte van het scannen dat het kan doen. De software moet veelvoorkomende bedreigingen blokkeren en nieuwe bedreigingen bewaken. Zorg ervoor dat de software regelmatig wordt bijgewerkt, getest en vervangen als deze niet geschikt is. Overweeg software die is ontwikkeld door gerenommeerde leveranciers.

  • Bewakingshulpprogramma's waarmee beveiligingsproblemen in clusters worden gedetecteerd.

    In AKS kunt u geen traditionele VM-oplossingen op basis van agents rechtstreeks uitvoeren op knooppunt-VM's. U moet antimalwaresoftware implementeren in DaemonSets die in een pod op elk knooppunt wordt uitgevoerd.

    Kies software die gespecialiseerd is in Kubernetes en containers. Er zijn verschillende softwareopties van derden. Populaire opties zijn Prisma Cloud en Aquasec. Er zijn ook opensource-opties zoals Falco.

    Wanneer ze worden geïmplementeerd, worden ze uitgevoerd als agents in het cluster waarmee alle pools van gebruikers- en systeemknooppunten worden gescand. Hoewel AKS systeemknooppuntgroepen gebruikt voor de binaire runtime-bestanden, is de onderliggende berekening nog steeds uw verantwoordelijkheid.

    Het doel van het uitvoeren van de agent is het detecteren van ongebruikelijke clusteractiviteiten. Probeert een toepassing bijvoorbeeld de API-server aan te roepen? Sommige oplossingen genereren een logboek van API-aanroepen tussen pods, genereren rapporten en waarschuwingen genereren. Zorg ervoor dat u deze logboeken bekijkt en de benodigde acties uitvoert.

    Installeer beveiligingsagents onmiddellijk na het opstarten van het cluster om niet-bewaakte hiaten tussen het cluster en de implementatie van AKS-resources te minimaliseren.

    Beveiligingsagents worden uitgevoerd met hoge bevoegdheden en ze scannen alles dat op het cluster wordt uitgevoerd en niet alleen de workload. Ze mogen geen gegevensexfiltratiebron worden. Ook zijn toeleveringsketenaanvallen gebruikelijk voor containers. Gebruik diepgaande verdedigingsstrategieën en zorg ervoor dat de software en alle afhankelijkheden worden vertrouwd.

    Voer ook antivirussoftware uit op externe assets die deelnemen aan clusterbewerkingen. Enkele voorbeelden zijn jumpboxen, buildagents en containerinstallatiekopieën die communiceren met het cluster.

    Wanneer de agent scant, mag deze de kritieke bewerkingen van het cluster niet blokkeren of verstoren, bijvoorbeeld door bestanden te vergrendelen. Onjuiste configuratie kan stabiliteitsproblemen veroorzaken en het cluster mogelijk niet meer ondersteunen.

    Belangrijk

    De referentie-implementatie biedt een tijdelijke implementatie voor DaemonSet het uitvoeren van een antimalwareagent. De agent wordt uitgevoerd op elke knooppunt-VM in het cluster. Plaats uw keuze aan antimalwaresoftware in deze implementatie.

  • De veiligheid van containers behouden. Voer hulpprogramma's voor containerscans uit in de pijplijn om bedreigingen te detecteren die kunnen worden weergegeven via containerinstallatiekopieën, zoals het scannen van CI/CD-beveiligingsproblemen in Microsoft Defender for Containers. Keuzen van derden zijn Trivy en Clair. Wanneer u afbeeldingen bouwt, moet u altijd streven naar distributieloze afbeeldingen. Deze installatiekopieën bevatten alleen de essentiële binaire bestanden in de basisinstallatiekopieën van Linux en verminderen het oppervlak voor aanvallen. Gebruik een oplossing voor doorlopend scannen, zoals evaluatie van beveiligingsproblemen in Microsoft Defender for Containers , voor doorlopend scannen van installatiekopieën die al in rust zijn in uw opslagplaatsen.

Vereiste 5.1.2

Voor systemen waarop schadelijke software niet vaak wordt gericht of beïnvloed, voert u periodieke evaluaties uit om zich ontwikkelende malwarebedreigingen te identificeren en te evalueren om te bevestigen of ze geen antivirussoftware nodig hebben.

Uw verantwoordelijkheden

Veelvoorkomende beveiligingsproblemen kunnen van invloed zijn op onderdelen buiten het cluster. Houd beveiligingsproblemen bij door CVE's en andere beveiligingswaarschuwingen van het Azure-platform te bekijken. Controleer op Azure-updates voor nieuwe functies die beveiligingsproblemen kunnen detecteren en antivirusoplossingen kunnen uitvoeren op door Azure gehoste services.

Blob Storage moet bijvoorbeeld de reputatie van malware controleren om verdachte uploads te detecteren. Een nieuwe functie, Microsoft Defender for Storage, omvat het screenen van malwarereputatie. Overweeg ook of een antivirusoplossing vereist is voor een dergelijke service.

Vereiste 5.2

Zorg ervoor dat alle antivirusmechanismen als volgt worden gehandhaafd:

  • Worden actueel gehouden,
  • Periodieke scans uitvoeren
  • Auditlogboeken genereren, die worden bewaard per PCI DSS-vereiste 10.7.

Uw verantwoordelijkheden

  • Zorg ervoor dat het cluster is beveiligd tegen nieuwe aanvallen met behulp van de nieuwste versie van antivirussoftware. Er zijn twee soorten updates die u kunt overwegen:
    • De antivirussoftware moet de nieuwste functie-updates bijhouden. Een manier is om updates te plannen als onderdeel van uw platformupdates.
    • Beveiligingsupdates moeten worden toegepast zodra ze beschikbaar zijn om de meest recente bedreigingen te detecteren en te identificeren. Kies voor automatische updates.
  • Controleer of de scans voor beveiligingsproblemen worden uitgevoerd, zoals gepland.
  • Bewaar logboeken die worden gegenereerd als gevolg van scannen dat gezonde en beschadigde onderdelen aangeeft. De aanbevolen bewaarperiode wordt gegeven in Vereiste 10,7, een jaar.
  • Zorg dat er een proces is dat de gedetecteerde problemen sorteert en herstelt.

Zie Microsoft Defender-antivirusupdates beheren en basislijnen toepassen voor informatie over hoe antivirusupdates van Microsoft Defender worden toegepast.

Vereiste 5.3

Antivirusfuncties moeten actief worden uitgevoerd en kunnen niet worden uitgeschakeld of gewijzigd door gebruikers. Behalve wanneer dit per geval door beheer wordt geautoriseerd gedurende een beperkte periode.

Uw verantwoordelijkheden

U bent verantwoordelijk voor het instellen van bewaking en waarschuwingen van de beveiligingsagent. Bouw kritieke waarschuwingen voor niet alleen de workload, maar ook voor de kernsysteemprocessen. De agent moet altijd worden uitgevoerd. Reageer op de waarschuwingen die worden gegenereerd door de antimalwaresoftware.

  • Houd een logboektrail bij het scannen van activiteiten. Zorg ervoor dat tijdens het scanproces geen kaartaanduidingsgegevens worden geregistreerd die van schijf of geheugen zijn verwijderd.
  • Stel waarschuwingen in voor activiteiten die een onverwachte onderbreking in de naleving kunnen veroorzaken. De waarschuwingen mogen niet per ongeluk worden uitgeschakeld.
  • Beperk de machtigingen om de implementatie van de agent te wijzigen (en andere kritieke beveiligingshulpprogramma's). Houd deze machtigingen gescheiden van de machtigingen voor workloadimplementatie.
  • Implementeer geen workloads als de beveiligingsagents niet worden uitgevoerd zoals verwacht.

Vereiste 5.4

Controleer of beveiligingsbeleid en operationele procedures voor het beveiligen van systemen tegen malware worden gedocumenteerd, gebruikt en aan alle betrokken partijen worden gecommuniceerd.

Uw verantwoordelijkheden

Het is essentieel dat u uitgebreide documentatie over het proces en beleid onderhoudt, met name informatie over de antivirusoplossing die wordt gebruikt om het systeem te beveiligen. Neem informatie op zoals waar in de productcyclus de beveiligingsupdates worden onderhouden, de frequentie van de scans en informatie over realtime scanmogelijkheden.

Bewaarbeleidsregels hebben voor het opslaan van logboeken. Mogelijk wilt u langetermijnopslag hebben voor nalevingsdoeleinden.

Documentatie onderhouden over standaardbedrijfsprocedures voor het beoordelen en oplossen van problemen. Mensen die gereguleerde omgevingen bedienen, moeten worden geïnformeerd, geïnformeerd en gestimuleerd om de beveiligingsgaranties te ondersteunen. Dit is belangrijk voor mensen die deel uitmaken van het goedkeuringsproces vanuit het perspectief van het beleid.

Vereiste 6.1

Stel een proces in om beveiligingsproblemen te identificeren, betrouwbare externe bronnen te gebruiken voor informatie over beveiligingsproblemen en wijs een risicoclassificatie (bijvoorbeeld als hoog, gemiddeld of laag) toe aan nieuw gedetecteerde beveiligingsproblemen.

Uw verantwoordelijkheden

Zorg voor processen die de gedetecteerde beveiligingsproblemen controleren en op de juiste wijze worden gerangschikt. Microsoft Defender voor Cloud bevat aanbevelingen en waarschuwingen, op basis van resourcetype en de ernst, omgeving. De meeste waarschuwingen hebben MITRE ATT&CK-tactieken® die u kunnen helpen de intentie kill chain te begrijpen. Zorg ervoor dat u een herstelplan hebt om het probleem te onderzoeken en te verhelpen.

In AKS kunt u Azure Container Registry gebruiken in combinatie met continue scans om kwetsbare installatiekopieën en toepassingen op verschillende risiconiveaus te identificeren. U kunt de resultaten bekijken in Microsoft Defender voor Cloud.

Zie Container Registry voor meer informatie.

Vereiste 6.2

Zorg ervoor dat alle systeemonderdelen en software worden beschermd tegen bekende beveiligingsproblemen door de toepasselijke door de leverancier geleverde beveiligingspatches te installeren. Installeer kritieke beveiligingspatches binnen één maand na de release.

Uw verantwoordelijkheden

  • Als u toeleveringsketenaanvallen van externe leveranciers wilt voorkomen, moet u ervoor zorgen dat alle afhankelijkheden worden vertrouwd. Het is belangrijk dat u een leverancier kiest die betrouwbaar en vertrouwd is.

  • Wekelijks biedt AKS nieuwe installatiekopieën voor de knooppuntgroepen. Deze afbeeldingen worden niet automatisch toegepast. Pas ze toe zodra ze beschikbaar zijn. U kunt handmatig of automatisch bijwerken via knooppuntinstallatiekopieën bijwerken. Zie De upgrade van de AKS-knooppuntinstallatiekopieën (Azure Kubernetes Service) voor meer informatie

    Voor het AKS-besturingsvlak installeert of upgradet AKS de beveiligingspatches.

  • Om de 24 uur downloaden en installeren AKS-knooppunten automatisch besturingssysteem- en beveiligingspatches, afzonderlijk. Uw firewall mag dit verkeer niet blokkeren als u deze updates wilt ontvangen.

    Overweeg rapportagemogelijkheden in te schakelen voor de beveiligingsagent om informatie over de toegepaste updates op te halen. Voor sommige beveiligingsupdates moet opnieuw worden opgestart. Zorg ervoor dat u de waarschuwingen bekijkt en actie onderneemt om te zorgen voor minimale of nul downtime van toepassingen bij het opnieuw opstarten. Een opensource-optie om opnieuw opstarten op een gecontroleerde manier uit te voeren, is Kured (Kubernetes reboot daemon).

  • Breid het patchproces uit naar resources buiten het cluster dat u inricht, zoals jumpboxen en buildagents.

  • Blijf op de hoogte met de ondersteunde AKS-versies. Als uw ontwerp een versie gebruikt die het einde van de levensduur heeft bereikt, voert u een upgrade uit naar een huidige versie. Zie Ondersteunde AKS-versies voor meer informatie.

Vereiste 6.3

Ontwikkel interne en externe softwaretoepassingen (waaronder webgebaseerde beheerderstoegang tot toepassingen) als volgt veilig:

  • In overeenstemming met PCI DSS (bijvoorbeeld veilige verificatie en logboekregistratie)
  • Gebaseerd op industriestandaarden en/of best practices.
  • Informatiebeveiliging opnemen in de levenscyclus van softwareontwikkeling die van toepassing is op alle software die intern is ontwikkeld, inclusief op maat gemaakte of aangepaste software die door een derde partij is ontwikkeld.

Uw verantwoordelijkheden

Integreer en prioriteer beveiligingskeuzen als onderdeel van de levenscyclus en bewerkingen van de workload.

Verschillende brancheframeworks zijn gekoppeld aan de levenscyclus, zoals het NIST-framework . NIST-functies: identificeren, beveiligen, detecteren, reageren en herstellen, bieden strategieën voor preventieve controles in elke fase.

Microsoft SDL (Security Development Lifecycle) biedt aanbevolen procedures, hulpprogramma's en processen voor beveiliging gedurende de fasen van het ontwikkelingsproces. Microsoft SDL-procedures worden gevolgd voor alle Azure-services, waaronder AKS. We volgen ook het OSA-framework (Operational Security Assurance) voor het uitvoeren van cloudservices. Zorg ervoor dat u een vergelijkbaar proces hebt. Deze procedures worden gepubliceerd om u te helpen uw toepassingen te beveiligen.

Vereiste 6.3.1

Verwijder ontwikkel-, test- en/of aangepaste toepassingsaccounts, gebruikers-id's en wachtwoorden voordat toepassingen actief worden of worden vrijgegeven aan klanten.

Uw verantwoordelijkheden

Als onderdeel van het maken van een cluster worden standaard meerdere lokale Kubernetes-gebruikers gemaakt. Deze gebruikers kunnen niet worden gecontroleerd omdat ze geen unieke identiteit vertegenwoordigen. Sommigen hebben hoge bevoegdheden. Schakel deze gebruikers uit met behulp van de functie Lokale accounts uitschakelen van AKS.

Raadpleeg voor andere overwegingen de richtlijnen in de officiële PCI-DSS 3.2.1-standaard.

Vereiste 6.3.2

Controleer aangepaste code vóór de release van productie of klanten om mogelijke beveiligingsproblemen met codering (handmatig of geautomatiseerd) te identificeren om het volgende op te nemen:

  • Codewijzigingen worden beoordeeld door andere personen dan de oorspronkelijke codeauteur en door personen die op de hoogte zijn van technieken voor codebeoordeling en veilige coderingsprocedures.
  • Codebeoordelingen zorgen ervoor dat code wordt ontwikkeld volgens richtlijnen voor veilige codering
  • De juiste correcties worden vóór de release geïmplementeerd.
  • Resultaten van codebeoordeling worden beoordeeld en goedgekeurd door beheer vóór de release.
Uw verantwoordelijkheden

Alle software die in het cluster is geïnstalleerd, is afkomstig uit uw containerregister. Net als bij de toepassingscode moeten processen en personen Azure- en externe installatiekopieën (DockerFile en OCI) onderzoeken. Ook:

  • Begin met het scannen van containerinstallatiekopieën uit de eerste fasen wanneer het cluster wordt gemaakt. Maak het scanproces onderdeel van uw pijplijnen voor continue integratie/continue implementatie.

    Zorg ervoor dat uw implementatiepijplijnen zodanig worden beveiligd dat zowel installatiekopieën voor clusterbootstrapping als uw workload zijn doorgegeven via een beoordelings- en/of quarantainepoort. Houd de geschiedenis bij over hoe en welke processen zijn gebruikt voordat ze naar het cluster werden opgehaald.

  • Verklein de afbeeldingsgrootte. Meestal bevatten afbeeldingen meer binaire bestanden dan nodig is. Het verkleinen van de afbeeldingsgrootte heeft niet alleen prestatievoordelen, maar beperkt ook het kwetsbaarheid voor aanvallen. Als u bijvoorbeeld distributieloos gebruikt, worden de linux-basisinstallatiekopieën geminimaliseerd.

  • Gebruik statische analysehulpprogramma's om de integriteit van het Dockerfile en de manifesten te controleren. Opties van derden zijn Dockle en Trivy.

  • Gebruik alleen ondertekende afbeeldingen.

  • Begrijp (en accepteer) de basisinstallatiekopieën van Azure en hoe deze voldoet aan CIS Benchmarks. Zie Center for Internet Security (CIS) Benchmarks voor meer informatie.

Azure Container Registry met doorlopend scannen in Microsoft Defender voor Cloud helpt bij het identificeren van kwetsbare installatiekopieën en verschillende risico's die het voor de workload kan vormen. Zie Containerbeveiliging voor meer informatie over het scannen van installatiekopieën en risicobeheer.

Vereiste 6.4

Volg processen en procedures voor wijzigingsbeheer voor alle wijzigingen in systeemonderdelen.

Uw verantwoordelijkheden

Zorg ervoor dat u wijzigingenbeheerprocessen documenteert en de implementatiepijplijnen op basis van deze processen ontwerpt. Neem andere processen op voor het detecteren van situaties waarin de processen en werkelijke pijplijnen niet worden uitgelijnd.

Vereiste 6.4.1, 6.4.2

  • Scheid ontwikkel-/testomgevingen van productieomgevingen en dwing de scheiding af met besturingselementen voor toegang.
  • Scheiding van taken tussen ontwikkel-/test- en productieomgevingen.
Uw verantwoordelijkheden

Onderhoud afzonderlijke productie- en preproductieomgevingen en -rollen die in deze omgevingen werken.

  • Gebruik uw productiecluster niet voor ontwikkelings-/testdoeleinden. Installeer bijvoorbeeld geen brug naar Kubernetes in uw productieclusters. Toegewezen clusters gebruiken voor niet-productieworkloads.

  • Zorg ervoor dat uw productieomgevingen geen netwerktoegang tot preproductieomgevingen toestaan en omgekeerd.

  • Gebruik systeemidentiteiten niet opnieuw in preproductie- en productieomgevingen.

    Gebruik Microsoft Entra-groepen voor groepen, zoals clusterbeheerders of pijplijn-principals. Gebruik geen gegeneraliseerde of algemene groepen als toegangsbeheer. Gebruik deze groepen niet opnieuw tussen preproductie- en productieclusters. Een manier is om de clusternaam (of een andere ondoorzichtige id) in de groepsnaam te gebruiken om expliciet te zijn voor lidmaatschappen.

    Gebruik RBAC-rollen (op rollen gebaseerd toegangsbeheer) van Azure op de juiste wijze tussen omgevingen. Normaal gesproken worden er meer rollen en rechten toegewezen aan preproductieomgevingen.

    Identiteiten in alleen preproductie (verleend aan pijplijnen of software-engineeringteams) mogen geen toegang krijgen in productie. Omgekeerd mogen alle identiteiten (zoals pijplijnen) die alleen voor productie worden gebruikt, geen toegang krijgen in preproductieclusters.

    Gebruik niet dezelfde door de gebruiker beheerde identiteit voor resources in preproductie en in productie. Deze aanbeveling is van toepassing op alle resources die door de gebruiker beheerde identiteit ondersteunen, niet alleen de resource die in uw cluster is geïmplementeerd. In de regel moeten Azure-resources waarvoor identiteiten zijn vereist, hun eigen afzonderlijke identiteit hebben in plaats van deze te delen met andere resources.

  • JIT-toegang (Just-In-Time) gebruiken voor toegang met hoge bevoegdheden, inclusief op preproductieclusters, indien mogelijk. Gebruik beleid voor voorwaardelijke toegang voor zowel preproductie- als productieclusters.

Vereiste 6.4.3

Productiegegevens (live-PAN's) worden niet gebruikt voor testen of ontwikkelen.

Uw verantwoordelijkheden

Zorg ervoor dat CHD-gegevens niet naar de ontwikkel-/testomgeving stromen. Duidelijke documentatie over de procedure voor het verplaatsen van gegevens van productie naar dev/test. De verwijdering van echte gegevens moet in die procedure worden opgenomen en door verantwoordelijke partijen worden goedgekeurd.

Vereiste 6.4.4

Verwijdering van testgegevens en accounts van systeemonderdelen voordat het systeem actief wordt / in productie gaat.

Uw verantwoordelijkheden

Verwijder standaardconfiguratiegegevens, voorbeeldgegevens en bekende testgegevens in het systeem voordat u implementeert in productie. Gebruik geen gegevens van de kaarthouder voor testdoeleinden.

Vereiste 6.4.5

Wijzigingsbeheerprocedures voor de implementatie van beveiligingspatches en softwarewijzigingen moeten het volgende omvatten:

  • 6.4.5.1 Documentatie over impact.
  • 6.4.5.2 Gedocumenteerde goedkeuring van wijziging door geautoriseerde partijen.
  • 6.4.5.3 Functionaliteitstests om te controleren of de wijziging geen negatieve invloed heeft op de beveiliging van het systeem.
  • 6.4.5.4 Back-outprocedures.
Uw verantwoordelijkheden

Deze richtlijnen wijzen toe aan de voorgaande vereisten:

  • Documenteer de infrastructuurwijzigingen die worden verwacht als gevolg van de beveiligingspatches en softwarewijzigingen. Dit proces is eenvoudiger met de IaC-benadering (Infrastructure-as-Code). Met een AZURE Resource Manager-sjabloon (ARM-sjabloon) voor implementatie kunt u bijvoorbeeld een voorbeeld van de wijzigingen bekijken met een wat-als-bewerking. Zie wat-als-bewerking voor de implementatie van ARM-sjablonen voor uw infrastructuurwijzigingen voor meer informatie.

  • Implementeer poorten in uw implementatiepijplijnen die goedkeuring van wijzigingen voor reguliere implementaties valideren. Documenteer de reden voor noodimplementaties waarbij poorten mogelijk zijn omzeild.

    Definieer de niveaus en diepte van wijzigingen. Zorg ervoor dat het team akkoord gaat met de definitie van belangrijke wijzigingen, in plaats van kleine wijzigingen. Indien praktisch, automatiseert u de detectie van enkele van deze wijzigingen. Revisoren voor de workload, infrastructuur en pijplijn moeten een duidelijk beeld hebben van de niveaus en moeten op basis van deze criteria valideren.

  • Test de veiligheidsmaatregelen. Zorg ervoor dat synthetische transacties beveiligingsproblemen testen (zowel toestaan als weigeren). Zorg er ook voor dat deze synthetische tests worden uitgevoerd in preproductieomgevingen.

  • Een back-outproces hebben voor het geval een beveiligingsoplossing onverwachte resultaten heeft. Een algemene strategie is het implementeren van een eerdere status met behulp van blauwgroene implementaties. Voor workloads, inclusief databases, hebt u een strategie die geschikt is voor uw specifieke topologie en die is afgestemd op uw implementatie-eenheden.

Vereiste 6.5

Los veelvoorkomende beveiligingsproblemen in softwareontwikkelingsprocessen als volgt op:

  • Train ontwikkelaars ten minste jaarlijks in up-to-date technieken voor veilig coderen, waaronder het voorkomen van veelvoorkomende coderingsproblemen.
  • Ontwikkel toepassingen op basis van richtlijnen voor veilige codering.

Uw verantwoordelijkheden

Het is essentieel dat toepassingsteams en operationele teams worden opgeleid, geïnformeerd en geïncentiveerd om scanactiviteiten van de workload en infrastructuur te ondersteunen. Hier volgen enkele resources:

Vereiste 6.6

Voor openbare webtoepassingen kunt u voortdurend nieuwe bedreigingen en beveiligingsproblemen aanpakken. Zorg ervoor dat deze toepassingen zijn beveiligd tegen bekende aanvallen door een van de volgende methoden:

  • Bekijk openbare webtoepassingen met behulp van handmatige of geautomatiseerde hulpprogramma's of methoden voor beveiligingsevaluatie van beveiligingsproblemen van toepassingen. Voer ten minste jaarlijks en na eventuele wijzigingen een evaluatie van beveiligingsproblemen uit.

    Notitie

    Deze evaluatie is niet hetzelfde als de scans van beveiligingsproblemen die worden uitgevoerd als onderdeel van vereiste 11.2.

  • Installeer een geautomatiseerde oplossing waarmee webaanvallen worden gedetecteerd en voorkomen. Bijvoorbeeld een webtoepassingsfirewall. Implementeer vóór openbare webtoepassingen en evalueer actief al het verkeer.

Uw verantwoordelijkheden

Zorg ervoor dat er controles worden uitgevoerd om verkeer te detecteren dat afkomstig is van het openbare internet met behulp van een Web Application Firewall (WAF). In deze architectuur controleert Azure-toepassing Gateway al het binnenkomende verkeer met behulp van de geïntegreerde WAF. De WAF is gebaseerd op Core Rule Set (CRS) van het Open Web Application Security Project (OWASP). Als er geen technische controles zijn, moet u compenserende controles hebben. Een manier is door handmatig code-inspectie.

Zorg ervoor dat u de nieuwste versies van de regelset gebruikt en pas regels toe die relevant zijn voor uw workload. De regels moeten worden uitgevoerd in de preventiemodus . U kunt deze vereiste afdwingen door een Azure Policy-exemplaar toe te voegen dat controleert of de WAF is ingeschakeld en in die modus werkt.

Bewaar logboeken die door application gateway WAF worden gegenereerd om details over de gedetecteerde bedreigingen op te halen. Verfijn de regels indien nodig.

Voer penetratietests uit die zijn gericht op de toepassingscode. Op die manier vinden beoefenaars die geen deel uitmaken van het toepassingsteam beveiligingsproblemen (zoals SQL-injectie en directory-doorkruising) door informatie te verzamelen, beveiligingsproblemen te analyseren en te rapporteren. In deze oefening hebben de beoefenaars mogelijk toegang nodig tot gevoelige gegevens. Volg de richtlijnen in de regels voor penetratietests van betrokkenheid om ervoor te zorgen dat de intentie niet wordt misbruikt.

Vereiste 6.7

Zorg ervoor dat beveiligingsbeleid en operationele procedures voor het ontwikkelen en onderhouden van veilige systemen en toepassingen worden gedocumenteerd, gebruikt en bekend bij alle betrokken partijen.

Uw verantwoordelijkheden

Het is essentieel dat u grondige documentatie over de processen en beleidsregels onderhoudt. Uw teams moeten worden getraind om prioriteit te geven aan beveiligingskeuzen als onderdeel van de levenscyclus en bewerkingen van de workload.

Microsoft SDL biedt best practices, hulpprogramma's en processen voor beveiliging gedurende de fasen van het ontwikkelingsproces. Microsoft SDL-procedures worden strikt intern gevolgd in de manier waarop we software bouwen bij Microsoft. We volgen ook het OSA-framework (Operational Security Assurance) voor het uitvoeren van cloudservices. Deze procedures worden gepubliceerd om u te helpen uw toepassingen te beveiligen.

Bewaar uitgebreide documentatie voor penetratietests die het bereik van de test-, triageprocessen en herstelstrategie voor de gedetecteerde problemen beschrijven. Als er een incident optreedt, neemt u de evaluatie van Vereiste 6 op als onderdeel van de hoofdoorzaakanalyse. Als hiaten worden gedetecteerd (bijvoorbeeld een schending van de OWASP-regel), sluit u deze hiaten.

In de documentatie hebt u duidelijke richtlijnen over de verwachte WAF-beveiligingsstatus.

Mensen die gereguleerde omgevingen gebruiken, moeten worden geïnformeerd, geïnformeerd en gestimuleerd om de beveiligingsgaranties te ondersteunen. Het is belangrijk voor personen die deel uitmaken van het goedkeuringsproces vanuit het perspectief van het beleid.

Volgende stappen

Beperk de toegang tot gegevens van de kaarthouder door zakelijke behoeften te weten. Toegang tot systeemonderdelen identificeren en verifiëren. Beperk fysieke toegang tot gegevens van de kaarthouder.