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

Kubernetes-service
Firewall
Application Gateway
Azure Active Directory
Azure Security Center
Monitor

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

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

Net als bij 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. Bedreigingen vroegtijdig detecteren en tijdig reageren 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 reactieplan hebben en een team dat de waarschuwingen onderzoekt en actie onderneemt.

Belangrijk

De richtlijnen en de bijbehorende implementatie zijn gebaseerd op de AKS-basislijnarchitectuur. Deze architectuur is gebaseerd op een hub-and-spoke-topologie. Het virtuele hubnetwerk bevat de firewall voor het beheren van het toegangsbeheersverkeer, gatewayverkeer van on-premises netwerken en een derde netwerk voor onderhoud. Het virtuele spoke-netwerk bevat het AKS-cluster dat de kaartaanduiding gegevensomgeving (CDE) biedt en als host voor de PCI DSS workload.

GitHub logo GitHub: Azure Kubernetes Service (AKS) Baseline Cluster for Regulated Workloads demonstreert een gereguleerde infrastructuur. De implementatie illustreert de installatie van beveiligingshulpprogramma's in verschillende fasen van de architectuur en de ontwikkelingslevenscyclus. Dit omvat voorbeelden van Bring Your Own In-Cluster-beveiligingsagents en door Azure geleverde beveiligingshulpprogramma's, Azure Defender.

Een beheerprogramma voor beveiligingsleed onderhouden

Vereiste 5 — Alle systemen beveiligen tegen malware en regelmatig antivirussoftware of -programma's bijwerken

Ondersteuning voor AKS-functies

AKS gedraagt zich niet als een traditionele toepassingshost. De knooppunt-VM's in een AKS-cluster hebben beperkte blootstelling en zijn niet ontworpen om rechtstreeks te worden gebruikt. Omdat knooppunt-VM's niet gelijk zijn aan traditionele VM's, kunt u geen algemene VM-hulpprogramma's gebruiken. De aanbevelingen in deze sectie worden dus toegepast via native 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 worden uitgevoerd.

Uw verantwoordelijkheden

Zorg ervoor dat de software is gespecialiseerd in Kubernetes en containers. Er zijn verschillende softwareopties van derden. Populaire keuzes zijn Prisma Cloud en Aquasec. Er zijn ook opensource-opties, zoals Falco. Het is uw verantwoordelijkheid om ervoor te zorgen dat er processen zijn om ervoor te zorgen dat de software van derden is bijgewerkt. 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 pc's en servers).
Vereiste 5.2 Zorg ervoor dat alle antivirusmechanismen als volgt worden onderhouden:
Vereiste 5.3 Zorg ervoor dat antivirusmechanismen actief worden uitgevoerd en niet kunnen worden uitgeschakeld of gewijzigd door gebruikers, tenzij dit specifiek is geautoriseerd door het management voor een beperkte periode per geval.
Vereiste 5.4 Zorg ervoor dat beveiligingsbeleid en operationele procedures voor het beveiligen van systemen tegen malware worden gedocumenteerd, in gebruik zijn 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 het begin van de ontwikkelingsfase en beveiligingshiaten worden zo vroeg mogelijk behandeld.

AKS-afbeeldingen volgen een FEDRAMP SLA-benadering, waarbij beveiligingsproblemen in afbeeldingen binnen 30 dagen moeten worden gepatcht. Als u dit wilt afdwingen, worden alle afbeeldingen opsnijdt via een DevSecOps-pijplijn.

Wekelijks biedt AKS nieuwe afbeeldingen voor de knooppuntgroepen. Het is uw verantwoordelijkheid om ze toe te passen om ervoor te zorgen dat werkknooppunten van virtuele-machineschaalsets worden gepatcht en bijgewerkt. Zie AKS (Node Image Upgrade) Azure Kubernetes Service (AKS) voor meer informatie.

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

Het AKS-besturingsvlak en de werkknooppunten zijn gehard tegen Center for Internet Security (CIS). Met name AKS CIS, Ubuntu CIS en Windows CIS

AKS is geïntegreerd met Azure Container Registry (ACR). Gebruik ACR met functies voor doorlopend scannen in Azure Security Center kwetsbare afbeeldingen en toepassingen op verschillende risiconiveaus te identificeren. Zie Containerbeveiliging in Security Center voor meer informatie over het scannen van afbeeldingen Security Center.

Uw verantwoordelijkheden

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

Vereiste 5.1

Implementeer antivirussoftware op alle systemen die vaak worden beïnvloed door schadelijke software (met name pc's 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, moet u het systeem beveiligen op lagen die malware kunnen injecteren op knooppunt-VM's. Dit omvat detectie en preventie bij clusterknooppunten, containerafbeeldingen en runtime-interacties met de Kubernetes-API-server. Bebeveiligen naast het cluster deze onderdelen die communiceren met het cluster en antivirussoftware op een traditionele manier kunnen installeren:

  • Jumpboxs
  • Buildagents

Stem uw scanactiviteiten af met de Security Development Lifecycle (SDL). Dit zorgt ervoor dat het scannen van verschillende onderdelen van de architectuur begint in de vroege fasen van ontwikkeling en beveiligingshiaten zo vroeg mogelijk worden behandeld.

Vereiste 5.1.1

Zorg ervoor dat antivirusprogramma's kunnen worden gedetecteerd, verwijderd en beschermd tegen alle bekende typen schadelijke software.

Uw verantwoordelijkheden

Meer informatie over de functieset van elke softwareaanbieding en de scandiepte die u erop kunt gebruiken. 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 wordt gevonden. Overweeg software die is ontwikkeld door betrouwbare leveranciers.

  • Bewakingshulpprogramma's waarmee beveiligingsproblemen van clusters worden gedetecteerd.

    In AKS kunt u traditionele op agent gebaseerde VM-oplossingen niet rechtstreeks op knooppunt-VM's uitvoeren. U moet antimalwaresoftware implementeren in DaemonSets die in een pod op elk knooppunt worden uitgevoerd.

    Kies software die is gespecialiseerd in Kubernetes en containers. Er zijn verschillende softwareopties van derden. Populaire keuzes 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 dat alle gebruikers- en systeemknooppuntgroepen scant. Hoewel AKS systeem-knooppuntgroepen gebruikt voor de binaire bestanden van het runtimesysteem, 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 met API-aanroepen tussen pods, genereren rapporten en genereren waarschuwingen. Zorg ervoor dat u deze logboeken controleert en de benodigde acties ondernomen.

    Installeer beveiligingsagents direct na het opstarten van het cluster. Hierdoor worden niet-gecontroleerd hiaten tussen de implementatie van het cluster en de AKS-resource geminimaliseerd.

    Beveiligingsagents worden uitgevoerd met hoge bevoegdheden. Dit betekent dat ze alles scannen dat in het cluster wordt uitgevoerd en niet alleen de workload. Ze mogen geen bron voor gegevens exfiltratie worden. Ook toeleveringsketenaanvallen zijn 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 deel nemen aan clusterbewerkingen. Enkele voorbeelden zijn jumpboxs, buildagents en containerafbeeldingen die communiceren met het cluster.

    Bij het scannen mag de agent de kritieke bewerkingen van het cluster, zoals het vergrendelen van bestanden, niet blokkeren of verstoren. Dit kan leiden tot stabiliteitsproblemen en kan ervoor zorgen dat uw cluster niet meer wordt ondersteund.

    Belangrijk

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

  • Het handhaven van de veiligheid van containers. Voer hulpprogramma's voor het scannen van containers uit in de pijplijn om bedreigingen te detecteren die mogelijk afkomstig zijn van containerafbeeldingen. Opties van derden zijn Trivy en Rij. Wanneer u afbeeldingen bouwt, moet u altijd streven naar distributieloze afbeeldingen. Deze afbeeldingen bevatten alleen de essentiële binaire bestanden in de Linux-basisafbeelding en verminderen de kans surface area aanvallen. Gebruik de scanoplossingen in het containerregister (en Azure Defender voor containerregisters) voor het doorlopend scannen van opslagplaatsen voor afbeeldingen.

Vereiste 5.1.2

Voor systemen die als niet vaak worden beïnvloed door schadelijke software, voert u periodieke evaluaties uit om zich ontwikkelende malwarebedreigingen te identificeren en te evalueren om te bevestigen of dergelijke systemen nog steeds geen antivirussoftware vereisen.

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 een malwarereputatiescreening hebben om verdachte uploads te detecteren. Een nieuwe functie, Threat Protection voor Azure Storage,bevat malwarereputatiescreening. Overweeg ook of een antivirusoplossing vereist is voor een dergelijke service. Een populaire optie is Symantec Cloud Workload Protection voor Storage.

Vereiste 5.2

Zorg ervoor dat alle antivirusmechanismen als volgt worden onderhouden:

  • Actueel blijven,
  • Periodieke scans uitvoeren
  • Genereer auditlogboeken die per PCI DSS vereiste 10.7 worden bewaard.

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 om rekening mee te houden:
    • De antivirussoftware moet de nieuwste functie-updates kunnen blijven gebruiken. Een manier is om updates te plannen als onderdeel van uw platformupdates.
    • Updates van beveiligingsinformatie 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 beveiligingsprobleem worden uitgevoerd, zoals gepland.
  • Behoudt logboeken die worden gegenereerd als gevolg van scannen die aangeven dat de onderdelen in orde en niet in orde zijn. De aanbevolen bewaarperiode is opgegeven in Vereiste 10,7, een jaar.
  • Er is een proces dat de gedetecteerde problemen triageert en verhelpt.

Zie Manage Microsoft Defender antivirus updates and apply baselines (Microsoft Defender-antivirusupdatesbeheren en basislijnen toepassen) voor meer informatie over hoe antivirusupdates van Microsoft Defender worden toegepast.

Vereiste 5.3

Zorg ervoor dat antivirusmechanismen actief worden uitgevoerd en niet kunnen worden uitgeschakeld of gewijzigd door gebruikers, tenzij dit per geval voor een beperkte periode specifiek is geautoriseerd door het beheer.

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 de kernprocessen van het systeem. De agent moet te allen tijde actief zijn. Reageren op de waarschuwingen die worden veroorzaakt door de antimalwaresoftware.

  • Houd een logboektrail bij van scanactiviteiten. Zorg ervoor dat tijdens het scanproces geen gegevens van kaartaanduidingen worden bijgelogd die van de schijf of het geheugen zijn geschrafd.
  • Stel waarschuwingen in voor activiteiten die een onverwachte nalevingsverloop kunnen veroorzaken. De waarschuwingen mogen niet per ongeluk worden uitgeschakeld.
  • Beperk de machtigingen voor het wijzigen van de implementatie van de agent (en andere essentiële 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

Zorg ervoor dat beveiligingsbeleid en operationele procedures voor het beveiligen van systemen tegen malware worden gedocumenteerd, in gebruik zijn en bekend zijn bij alle betrokken partijen

Uw verantwoordelijkheden

Het is essentieel dat u grondige documentatie bijhoudt over het proces en het beleid, met name informatie over de antivirusoplossing die wordt gebruikt om het systeem te beveiligen. Neem informatie op zoals waar in de productcyclus de beveiligingsintelligentie-updates worden onderhouden, de frequentie van de scans en informatie over de mogelijkheden voor realtime scannen.

Bewaarbeleid voor het opslaan van logboeken. Mogelijk wilt u langetermijnopslag gebruiken voor nalevingsdoeleinden.

Documentatie onderhouden over standaard operationele procedures voor het opseen van problemen en het oplossen van problemen. Personen die gereguleerde omgevingen gebruiken, moeten worden geleid, geïnformeerd en gecentraliseerd om de beveiligingsgaranties te ondersteunen. Dit is met name belangrijk voor mensen die vanuit beleidsperspectief deel uitmaken van het goedkeuringsproces.

Vereiste 6.1

Stel een proces op voor het identificeren van beveiligingsproblemen, het gebruik van betrouwbare externe bronnen voor informatie over beveiligingsproblemen en het toewijzen van een risicorangschikking (bijvoorbeeld 'hoog', 'gemiddeld' of 'laag') aan nieuw ontdekte beveiligingsproblemen.

Uw verantwoordelijkheden

Processen hebben die de gedetecteerde beveiligingsproblemen controleren en op de juiste wijze worden geclassificeerd. Azure Security Center geeft aanbevelingen en waarschuwingen weer, op basis van resourcetype en ernst, omgeving. De meeste waarschuwingen hebben MITRE ATT&CK-tactieken ® die u kunnen helpen inzicht te krijgen in de kill chain-intentie. Zorg ervoor dat u een herstelplan hebt om het probleem te onderzoeken en te verhelpen.

In AKS kunt u de Azure Container Registry in combinatie met continue scans gebruiken om kwetsbare afbeeldingen en toepassingen op verschillende risiconiveaus te identificeren. U kunt de resultaten weergeven in Azure Security Center.

Zie voor meer informatie Container Registry.

Vereiste 6.2

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

Uw verantwoordelijkheden

  • Om toeleveringsaanvallen van externe leveranciers te 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 afbeeldingen voor de knooppuntgroepen. Deze afbeeldingen worden niet automatisch toegepast. Pas ze toe zodra ze beschikbaar zijn. U kunt handmatig of automatisch bijwerken via Node Image Update. Zie upgraden van AKS-Azure Kubernetes Service (AKS) voor meer informatie

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

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

    Overweeg rapportagemogelijkheden in te stellen voor de beveiligingsagent om informatie over de toegepaste updates op te halen. Sommige beveiligingsupdates moeten opnieuw worden opgestart. Zorg ervoor dat u de waarschuwingen controleert en actie onderneemt om te zorgen voor minimale of geen downtime voor toepassingen bij het opnieuw opstarten. Een opensource-optie om opnieuw opstarten op een gecontroleerde manier uit te voeren, is Nued (Kubernetes-daemon voor opnieuw opstarten).

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

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

Vereiste 6.3

Interne en externe softwaretoepassingen (met inbegrip van webgebaseerde beheerderstoegang tot toepassingen) veilig ontwikkelen, als volgt:

  • In overeenstemming met PCI DSS (bijvoorbeeld beveiligde verificatie en logboekregistratie)
  • Op basis van industriestandaarden en/of best practices.
  • Integratie van informatiebeveiliging gedurende de levenscyclus van softwareontwikkeling Opmerking: dit geldt voor alle software die intern is ontwikkeld, evenals op maat gemaakte of aangepaste software die is ontwikkeld door een derde partij.

Uw verantwoordelijkheden

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

Verschillende frameworks in de branche zijn in kaart gebracht aan de levenscyclus, zoals het NIST-framework. NIST-functies, identificeren, beveiligen, detecteren, reageren en herstellen, bieden strategieën voor preventieve maatregelen in elke fase.

Microsoft SDL (Security Development Lifecycle) biedt best practices, hulpprogramma's en processen voor beveiliging gedurende de fasen van het ontwikkelingsproces. Microsoft SDL-procedures worden gevolgd voor alle Azure-services, met inbegrip van AKS. We volgen ook het OSA-framework (Operational Security Assurance) voor het werken met 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 ontwikkelings-, 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 het cluster worden standaard meerdere lokale Kubernetes-gebruikers gemaakt. Deze gebruikers kunnen niet worden gecontroleerd omdat ze geen unieke identiteit vertegenwoordigen. Sommige hebben hoge bevoegdheden. Schakel deze gebruikers uit met behulp van de functie Lokale accounts uitschakelen van AKS.

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

Vereiste 6.3.2

Bekijk aangepaste code vóór de release voor productie of klanten om mogelijke coderingsprobleem te identificeren (met behulp van handmatige of geautomatiseerde processen) om ten minste het volgende op te nemen:

  • Codewijzigingen worden beoordeeld door andere personen dan de oorspronkelijke codeauteur en door personen die bekend zijn met codebeoordelingstechnieken en veilige coderingsmethoden.
  • Codebeoordelingen zorgen ervoor dat code is ontwikkeld volgens de richtlijnen voor veilige codering
  • De juiste correcties worden geïmplementeerd vóór de release.
  • De resultaten van de codebeoordeling worden vóór de release beoordeeld en goedgekeurd door het management.
Uw verantwoordelijkheden

Alle software die in het cluster is geïnstalleerd, is afkomstig uit uw containerregister. Laat processen en personen azure- en externe afbeeldingen (DockerFile en OCI) onderzoeken, net als bij de toepassingscode. Ook:

  • Begin met het scannen van containerafbeeldingen vanaf de eerste fasen wanneer het cluster wordt gemaakt. Maak van het scanproces een onderdeel van uw pijplijnen voor continue integratie/continue implementatie.

    Zorg ervoor dat uw implementatiepijplijnen zodanig worden gated dat zowel installatiefopstartafbeeldingen van het cluster als uw workload zijn doorgegeven via een controle- en/of quarantainepoort. Geschiedenis bij te houden over hoe en welke processen zijn gebruikt voordat ze naar het cluster werden gehaald.

  • Verklein de afbeeldingsgrootte. Afbeeldingen bevatten meestal meer binaire bestanden dan nodig is. Het verkleinen van de afbeelding heeft niet alleen prestatievoordelen, maar beperkt ook het aanvalsoppervlak. Als u bijvoorbeeld distroless gebruikt, worden de basis-Linux-afbeeldingen geminimaliseerd.

  • Gebruik hulpprogramma's voor statische analyse die de integriteit van het Dockerfile en de manifesten controleren. Opties van derden zijn Dockle en Trivy.

  • Gebruik alleen ondertekende afbeeldingen.

  • De basisafbeelding van Azure begrijpen (en accepteren) en begrijpen hoe deze voldoet aan CIS-benchmarks. Zie CiS-benchmarks (Center for Internet Security) voor meer informatie.

Azure Container Registry door continu scannen in Azure Security Center kunt u kwetsbare afbeeldingen en verschillende risico's identificeren die het voor de workload kan vormen. Zie Containerbeveiliging voor meer informatie over het scannen van afbeeldingen en risicobeheer.

Vereiste 6.4

Volg de processen en procedures voor wijzigingsbeheer voor alle wijzigingen in systeemonderdelen. De processen moeten het volgende bevatten:

Uw verantwoordelijkheden

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

Vereiste 6.4.1, 6.4.2

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

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

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

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

  • Hergebruik systeemidentiteiten niet in preproductie- en productieomgevingen.

    Gebruik Azure AD-groepen voor groepen zoals clusterbeheerders of pijplijn-principals. Gebruik geen ge generaliseerde of algemene groepen als toegangsbesturingselementen. Gebruik deze groepen niet opnieuw tussen preproductieclusters en productieclusters. Eén manier is om de clusternaam (of een andere ondoorzichtige id) in de groepsnaam te gebruiken om expliciet te zijn voor lidmaatschappen.

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

    Identiteiten alleen in preproductie (verleend aan pijplijnen of software engineering-teams) mogen geen toegang krijgen in productie. Daarentegen mogen alle identiteiten voor productie (zoals pijplijnen) geen toegang krijgen in preproductieclusters.

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

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

Vereiste 6.4.3

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

Uw verantwoordelijkheden

Zorg ervoor dat CHD-gegevens niet naar de dev/test-omgeving stromen. Beschikt u over duidelijke documentatie met de procedure voor het verplaatsen van gegevens van productie naar dev/test. Het verwijderen van echte gegevens moet in die procedure worden opgenomen en worden goedgekeurd door verantwoordelijke partijen.

Vereiste 6.4.4

Verwijderen 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 kaartgegevens voor testdoeleinden.

Vereiste 6.4.5

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

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

Deze richtlijnen zijn een overzicht van de voorgaande vereisten:

  • Documenteren van de infrastructuurwijzigingen die worden verwacht als gevolg van de beveiligingspatches en softwarewijzigingen. Dat proces is eenvoudiger met de IaC-benadering (infrastructure-as-code). Met een armsjabloon (ARM Azure Resource Manager sjabloon) voor implementatie kunt u bijvoorbeeld een voorbeeld van de wijzigingen bekijken met een what-if-bewerking. Zie Wat-als-bewerking voor arm-sjabloonimplementatie voor uw infrastructuurwijzigingen voor meer informatie.

  • Implementeer poorten in uw implementatiepijplijnen die goedkeuring van wijzigingen valideren voor reguliere implementaties. Documenteert 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 een aantal van deze wijzigingen. Beoordelaars voor de workload, infrastructuur en pijplijn moeten een duidelijk inzicht hebben in de niveaus en deze aan de hand van deze criteria valideren.

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

  • Een back-outproces voor het geval een beveiligingsfix onverwachte resultaten heeft. Een veelgebruikte strategie is het implementeren van een eerdere status met behulp van blauw-groene implementaties. Voor workloads, inclusief databases, hebt u een strategie die werkt voor uw specifieke topologie en is gericht op uw implementatie-eenheden.

Vereiste 6.5

U kunt als volgt veelvoorkomende coderingsproblemen in softwareontwikkelingsprocessen aanpakken:

  • Train ontwikkelaars ten minste jaarlijks in up-to-date veilige coderingstechnieken, waaronder hoe u veelvoorkomende coderingsproblemen kunt voorkomen.
  • Ontwikkel toepassingen op basis van richtlijnen voor veilige codering.

Uw verantwoordelijkheden

We raden u aan infrastructuur te gebruiken die gegevens van kaarthouder behoudt en segmentatie in een multitenant-platform onderhoudt. Technologieopties zijn onder andere een privé-AKS-cluster Azure Dedicated Host. We raden u ten zeerste aan om vertrouwelijke containers in uw CDE hier te gebruiken wanneer u gegevens van kaartaanduidingen op een duidelijke manier afhandelt. Dit verbetert de privacy en isolatie.

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

Vereiste 6.6

Voor openbare webtoepassingen kunt u op een van de volgende manieren nieuwe bedreigingen en beveiligingsproblemen aanpakken en ervoor zorgen dat deze toepassingen zijn beschermd tegen bekende aanvallen:

  • Openbare webtoepassingen controleren via handmatige of geautomatiseerde hulpprogramma's of methoden voor beveiligingsevaluatie van beveiligingsrisico's voor toepassingen, ten minste jaarlijks en na eventuele wijzigingen Opmerking: Deze evaluatie is niet hetzelfde als de scans voor beveiligingsprobleem die zijn uitgevoerd voor Vereiste 11.2.
  • Het installeren van een geautomatiseerde technische oplossing die webgebaseerde aanvallen (bijvoorbeeld een firewall voor webtoepassingen) detecteert en voorkomt vóór openbare webtoepassingen, om voortdurend al het verkeer te controleren.

Uw verantwoordelijkheden

Controleer of er controles zijn uitgevoerd om verkeer te detecteren dat afkomstig is van het openbare internet met behulp van een WAF (Web Application Firewall). In deze architectuur controleert Azure Application Gateway al het binnenkomende verkeer met behulp van de geïntegreerde WAF. De WAF is gebaseerd op Core Rule Set (CRS) van de Open Web Application Security Project (OWASP). Als er geen technische controles zijn, moet u compenserende besturingselementen hebben. Eén manier is handmatige 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 toe te voegen waarmee wordt gecontroleerd of de WAF is ingeschakeld en in die modus wordt uitgevoerd.

Houd logboeken bij die door de Application Gateway WAF zijn gegenereerd voor meer informatie over de gedetecteerde bedreigingen. De regels zo nodig afstemmen.

Penetratietests uitvoeren die gericht zijn op de toepassingscode. Op die manier kunnen gebruikers die geen deel uitmaken van het toepassingsteam beveiligingshiaten (zoals SQL-injectie en directory-doorkruising) vinden door informatie te verzamelen, beveiligingsproblemen te analyseren en te rapporteren. In deze oefening hebben de artsen mogelijk toegang nodig tot gevoelige gegevens. Volg de richtlijnen in Penetratietestregels voor 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 beveiligde systemen en toepassingen worden gedocumenteerd, in gebruik zijn en bekend zijn bij alle betrokken partijen.

Uw verantwoordelijkheden

Het is essentieel dat u grondige documentatie bijhoudt over de processen en het beleid. Uw teams moeten worden getraind om beveiligingskeuzes te prioriteren als onderdeel van de levenscyclus en bewerkingen van de workload.

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

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

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

Personen die gereguleerde omgevingen gebruiken, moeten worden geleid, geïnformeerd en gecentraliseerd om de beveiligingsgaranties te ondersteunen. Dit is met name belangrijk voor mensen die vanuit beleidsperspectief deel uitmaken van het goedkeuringsproces.

Volgende

Beperk de toegang tot gegevens van kaartaanduidingen per bedrijfsgegevens. De toegang tot systeemonderdelen identificeren en verifiëren. Fysieke toegang tot gegevens van kaartaanduidingen beperken.