In diesem Artikel werden die Aspekte eines AKS-Clusters (Azure Kubernetes Service) beschrieben, der gemäß des Payment Card Industry Data Security Standard (PCI-DSS 3.2.1) konfiguriert ist.
Dieser Artikel ist Teil einer Serie. Die Einführung finden Sie hier.
Wie jede Cloudlösung unterliegt auch eine PCI-Workload entsprechenden Netzwerk-, Identitäts- und Datenbedrohungen. Häufige Beispiele für Quellen, die Workload- und Systemsicherheitsrisiken ausnutzen, sind Viren oder Softwareupdates, die unerwünschte Ergebnisse liefern. Frühzeitiges Erkennen von Bedrohungen und rechtzeitiges Reagieren mit Risikominderung. Erstellen Sie kritische Warnungen für Workloadaktivitäten, und erweitern Sie diese Warnungen auf Kernsystemprozesse. Virenschutztools oder Tools für die Überwachung der Dateiintegrität (File-Integrity Monitoring, FIM) müssen immer ausgeführt werden. Stellen Sie einen verantwortlichen Reaktionsplan und ein Team zur Verfügung, das den Warnungen nachgeht und Maßnahmen ergreift.
Wichtig
Der Leitfaden und die zugehörige Implementierung basieren auf der Baselinearchitektur für einen AKS-Cluster. Diese Architektur basiert wiederum auf einer Hub-Spoke-Topologie. Das virtuelle Hub-Netzwerk umfasst die Firewall zum Steuern des ausgehenden Datenverkehrs, den Gatewaydatenverkehr aus lokalen Netzwerken und ein drittes Netzwerk für Wartungszwecke. Das virtuelle Spoke-Netzwerk enthält den AKS-Cluster, von dem die Datenumgebung des Karteninhabers (Cardholder Data Environment, CDE) bereitgestellt und die PCI-DSS-Workload gehostet wird.
GitHub: Azure Kubernetes Service(AKS)- Baselinecluster für regulierte Workloads wird eine regulierte Infrastruktur veranschaulicht. Die Implementierung veranschaulicht die Einrichtung von Sicherheitstools in verschiedenen Phasen des Architektur- und Entwicklungslebenszyklus. Dazu gehören Beispiele für eigene Sicherheits-Agents im Cluster und von Azure bereitgestellte Sicherheitstools, z. B. Microsoft Defender für Cloud.
Programm zur Kontrolle von Sicherheitsrisiken
Anforderung 5: Schützen aller Systeme vor Schadsoftware und regelmäßige Aktualisierung von Virenschutzsoftware oder -programmen
Unterstützung von AKS-Features
AKS verhält sich nicht wie ein herkömmlicher Anwendungshost. Knoten-VMs in einem AKS-Cluster weisen eine begrenzte Verfügbarkeit auf und sind nicht für den direkten Zugriff vorgesehen. Da virtuelle Knotencomputer nicht mit herkömmlichen VMs gleichzusetzen sind, können Sie keine gängigen VM-Tools verwenden. Die Empfehlungen in diesem Abschnitt werden daher über native Kubernetes-Konstrukte angewendet. Die direkte Anwendung dieser Anforderungen auf VM-Ebene kann dazu führen, dass Ihr Cluster nicht mehr unterstützt wird.
Sie müssen die Antischadsoftware Ihrer Wahl in DaemonSets bereitstellen, die in einem Pod auf jedem Knoten ausgeführt werden.
Ihre Zuständigkeiten
Stellen Sie sicher, dass die Software auf Kubernetes und Container spezialisiert ist. Es gibt mehrere Softwareoptionen von Drittanbietern. Beliebte Optionen sind Prisma Cloud und Aquasec. Es gibt auch Open-Source-Optionen wie Falco. Es liegt in Ihrer Verantwortung, dafür zu sorgen, dass die Software von Drittanbietern auf dem neuesten Stand ist. Sie sind auch für die Überwachung und Warnung der Lösungen verantwortlich.
Anforderung | Verantwortlichkeit |
---|---|
Anforderung 5.1 | Stellen Sie Virenschutzsoftware auf allen Systemen bereit, die häufig von Schadsoftware betroffen sind (insbesondere Personalcomputer und Server). |
Anforderung 5.2 | Stellen Sie sicher, dass alle Virenschutzmechanismen wie folgt verwaltet werden: |
Anforderung 5.3 | Stellen Sie sicher, dass Virenschutzmechanismen aktiv ausgeführt werden und von Benutzern nicht deaktiviert oder geändert werden können, sofern dies nicht von der Unternehmensführung fallbasiert für einen begrenzten Zeitraum speziell genehmigt wurde. |
Anforderung 5.4 | Stellen Sie sicher, dass Sicherheitsrichtlinien und betriebliche Verfahren für den Schutz von Systemen gegen Schadsoftware dokumentiert und verwendet werden sowie allen beteiligten Parteien bekannt sind. |
Anforderung 6: Entwickeln und Verwalten sicherer Systeme und Anwendungen
Unterstützung von AKS-Features
Ähnlich wie andere Azure-Dienste folgt auch AKS den Microsoft SDL-Prozessen (Security Development Lifecycle) für die Sicherheit in allen Phasen des Entwicklungsprozesses. Verschiedene Komponenten werden bereits in den frühen Phasen der Entwicklung überprüft, und Sicherheitslücken werden so früh wie möglich geschlossen.
AKS-Images folgen einem FedRAMP-SLA-Ansatz, der vorsieht, dass Sicherheitsrisiken in Images innerhalb von 30 Tagen gepatcht werden müssen. Um diese Anforderung zu erzwingen, werden alle Images durch eine DevSecOps-Pipeline bereinigt.
Wöchentlich stellt AKS neue Images für die Knotenpools bereit. Es liegt in Ihrer Verantwortung, diese anzuwenden, um das Patchen und Aktualisieren der Workerknoten von Virtual Machine Scale Sets sicherzustellen. Weitere Informationen finden Sie unter Upgrade für AKS-Knotenimages (Azure Kubernetes Service).
Für die AKS-Steuerungsebene installiert oder aktualisiert AKS die Sicherheitspatches. Sie werden alle 24 Stunden aktualisiert.
Die AKS-Steuerungsebene und die Workerknoten werden unter Verwendung der Benchmarks des Center for Internet Security (CIS), insbesondere AKS CIS, Ubuntu CIS und Windows CIS, gehärtet.
AKS kann in Azure Container Registry integriert werden. Verwenden Sie Azure Container Registry mit Features für kontinuierliches Überprüfen in Microsoft Defender for Cloud, um anfällige Images und Anwendungen auf verschiedenen Risikostufen zu identifizieren. Informationen zur Imageüberprüfung und zur Risikokontrolle finden Sie unter Microsoft Defender for Containers.
Ihre Zuständigkeiten
Anforderung | Verantwortlichkeit |
---|---|
Anforderung 6.1 | Richten Sie einen Prozess zur Identifizierung von Sicherheitsrisiken ein, indem Sie Informationen zu Sicherheitsrisiken von namhaften externen Quellen einholen, und weisen Sie neu entdeckten Sicherheitsrisiken eine Risikoeinstufung zu (z. B. „hoch“, „mittel“ oder „niedrig“). |
Anforderung 6.2 | Stellen Sie sicher, dass alle Systemkomponenten und sämtliche Software vor bekannten Sicherheitsrisiken geschützt sind, indem Sie die vom Hersteller bereitgestellten Sicherheitspatches installieren. Installieren Sie kritische Sicherheitspatches innerhalb eines Monats nach der Veröffentlichung. |
Anforderung 6.3 | Entwickeln Sie sichere interne und externe Softwareanwendungen (einschließlich des webbasierten administrativen Zugriffs auf Anwendungen). |
Anforderung 6.4 | Befolgen Sie die Änderungssteuerungsprozesse und -verfahren für alle Änderungen an Systemkomponenten. |
Anforderung 6.5 | Gehen Sie auf häufige Sicherheitsrisiken bei der Programmierung in Softwareentwicklungsprozessen ein. |
Anforderung 6.6 | Bei öffentlich zugänglichen Webanwendungen sollten Sie ständig neue Bedrohungen und Sicherheitsrisiken behandeln und sicherstellen, dass diese Anwendungen vor bekannten Angriffen geschützt sind. |
Anforderung 6.7 | Stellen Sie sicher, dass Sicherheitsrichtlinien und betriebliche Verfahren für die Entwicklung und Pflege sicherer Systeme und Anwendungen dokumentiert und verwendet werden sowie allen beteiligten Parteien bekannt sind. |
Anforderung 5.1
Stellen Sie Virenschutzsoftware auf allen Systemen bereit, die häufig von Schadsoftware betroffen sind, insbesondere Personalcomputer und Server.
Ihre Zuständigkeiten
Es liegt in Ihrer Verantwortung, Workload, Infrastruktur und Bereitstellungspipelines durch die Wahl einer geeigneten Antischadsoftware zu schützen.
Da der Zugriff auf die virtuellen AKS-Knotencomputer beschränkt ist, muss das System auf jeder Ebene geschützt werden, auf der Schadsoftware in die virtuellen Knotencomputer einschleust werden könnte. Aktivieren Sie die Erkennung und Verhinderung von Clusterknoten, Containerimages und Runtime-Interaktionen mit dem Kubernetes-API-Server. Schützen Sie neben dem Cluster auch diese Komponenten, die mit dem Cluster interagieren und auf herkömmliche Weise mit Virenschutzsoftware ausgestattet werden können:
- Jumpboxes
- Build-Agents
Richten Sie Ihre Überprüfungsaktivitäten auf den Security Development Lifecycle (SDL) aus. Durch die Einhaltung des SDL wird sichergestellt, dass die verschiedenen Komponenten der Architektur bereits in den frühen Phasen der Entwicklung überprüft und Sicherheitslücken so früh wie möglich geschlossen werden.
Anforderung 5.1.1
Stellen Sie sicher, dass Virenschutzprogramme in der Lage sind, alle bekannten Arten von Schadsoftware zu erkennen, zu entfernen und davor zu schützen.
Ihre Zuständigkeiten
Informieren Sie sich über die Features der einzelnen Softwareangebote und die Überprüfungstiefe, die sie durchführen können. Die Software sollte gängige Bedrohungen blockieren und neue Bedrohungen überwachen. Stellen Sie sicher, dass die Software regelmäßig aktualisiert, getestet und ersetzt wird, wenn sie sich als ungeeignet erweist. Erwägen Sie die Verwendung einer Software, die von vertrauenswürdigen Anbietern entwickelt wurde.
Überwachungstools, die Sicherheitsrisiken in Clustern erkennen.
In AKS können Sie traditionelle Agent-basierte VM-Lösungen nicht direkt auf virtuellen Knotencomputern ausführen. Sie müssen die Antischadsoftware in DaemonSets bereitstellen, die in einem Pod auf jedem Knoten ausgeführt werden.
Wählen Sie eine Software, die auf Kubernetes und Containerworkloads spezialisiert ist. Es gibt mehrere Softwareoptionen von Drittanbietern. Beliebte Optionen sind Prisma Cloud und Aquasec. Es gibt auch Open-Source-Optionen wie Falco.
Nach der Bereitstellung werden sie als Agents im Cluster ausgeführt, die alle Benutzer- und Systemknotenpools überprüfen. Auch wenn AKS Systemknotenpools für seine Runtime-Systembinärdateien verwendet, liegt die zugrunde liegende Compute-Instanz immer noch in Ihrer Verantwortung.
Der Zweck der Ausführung des Agents besteht darin, ungewöhnliche Clusteraktivitäten zu erkennen. Versucht z. B. eine Anwendung, den API-Server aufzurufen? Einige Lösungen generieren ein Protokoll der API-Aufrufe zwischen Pods sowie Berichte und Warnungen. Überprüfen Sie diese Protokolle, und ergreifen Sie die erforderlichen Maßnahmen.
Installieren Sie Sicherheitsagents unmittelbar nach dem Bootstrapping des Clusters, um nicht überwachte Lücken zwischen dem Cluster und der AKS-Ressourcenbereitstellung zu minimieren.
Sicherheitsagents werden mit hohen Rechten ausgeführt, und sie überprüfen alles, was auf dem Cluster ausgeführt wird, und nicht nur die Workload. Sie dürfen nicht zu einer Quelle der Datenexfiltration werden. Auch Lieferkettenangriffe sind bei Containern üblich. Verwenden Sie tiefgehende Verteidigungsstrategien und stellen Sie sicher, dass die Software und alle Abhängigkeiten vertrauenswürdig sind.
Führen Sie Virenschutzsoftware auch für externe Ressourcen aus, die am Clusterbetrieb teilnehmen. Beispiele hierfür sind Jumpboxes, Build-Agents und Containerimages, die mit dem Cluster interagieren.
Beim Überprüfen darf der Agent die kritischen Vorgänge des Clusters nicht blockieren oder beeinträchtigen, z. B. durch Sperren von Dateien. Eine Fehlkonfiguration kann Stabilitätsprobleme verursachen und dazu führen, dass Ihr Cluster nicht mehr unterstützt wird.
Wichtig
Die Referenzimplementierung enthält eine
DaemonSet
-Platzhalterbereitstellung für die Ausführung eines Antischadsoftware-Agents. Der Agent wird auf jedem virtuellen Knotencomputer im Cluster ausgeführt. Platzieren Sie die Antischadsoftware Ihrer Wahl in dieser Bereitstellung.Aufrechterhaltung der Containersicherheit. Führen Sie Tools zur Überprüfung der Container in der Pipeline aus, um Bedrohungen zu erkennen, die möglicherweise über Containerimages eingeschleust werden. Ein Beispiel für ein solches Tool wären CI/CD-Sicherheitsrisikoscans in Microsoft Defender für Container. Zu den Optionen von Drittanbietern stehen unter anderem Trivy und Clair zur Auswahl. Wenn Sie Images erstellen, sollten Sie immer nach Images ohne Distribution suchen. Diese Images enthalten nur die wesentlichen Binärdateien des Linux-Basisimages und reduzieren die Angriffsfläche. Verwenden Sie eine Lösung für kontinuierliche Überprüfungen wie etwa die Sicherheitsrisikobewertung in Microsoft Defender für Container, um Images, die sich bereits in Ihren Repositorys befinden, kontinuierlich zu überprüfen.
Anforderung 5.1.2
Für Systeme, die nicht häufig das Ziel von Schadsoftware oder davon betroffen sind, führen Sie regelmäßige Auswertungen durch, um entstehende Schadsoftwarebedrohungen zu identifizieren und auszuwerten, um festzustellen, die Systeme weiterhin keine Virenschutzsoftware benötigen.
Ihre Zuständigkeiten
Allgemeine Sicherheitsrisiken können sich auf Komponenten außerhalb des Clusters auswirken. Verfolgen Sie Sicherheitsrisiken nach, indem Sie CVEs und andere Sicherheitswarnungen von der Azure-Plattform überwachen. Suchen Sie nach Azure-Updates für neue Features, die Sicherheitsrisiken erkennen und Virenschutzlösungen für Dienste ausführen können, die in Azure gehostet werden.
Blob Storage sollte z. B. eine Überprüfung der Reputation von Schadsoftware aufweisen, um verdächtige Uploads zu erkennen. Microsoft Defender for Storage umfasst die Überprüfung der Reputation von Schadsoftware. Überlegen Sie auch, ob für einen solchen Dienst eine Virenschutzlösung erforderlich ist.
Anforderung 5.2
Stellen Sie sicher, dass alle Virenschutzmechanismen wie folgt verwaltet werden:
- Werden immer auf dem neuesten Stand gehalten.
- Führen regelmäßige Überprüfungen aus.
- Generieren Sie Überwachungsprotokolle, die gemäß PCI-DSS-Anforderung 10.7 gespeichert werden.
Ihre Zuständigkeiten
- Stellen Sie sicher, dass der Cluster mithilfe der neuesten Version der Virenschutzsoftware vor neuen Angriffen geschützt ist. Es müssen zwei Arten von Updates berücksichtigt werden:
- Die Virenschutzsoftware muss mit den neuesten Featureupdates Schritt halten. Eine Möglichkeit besteht darin, Updates im Rahmen Ihrer Plattformupdates zu planen.
- Updates der Sicherheitsinformationen müssen angewendet werden, sobald sie verfügbar sind, um die neuesten Bedrohungen zu erkennen und zu identifizieren. Entscheiden Sie sich für automatische Updates.
- Überprüfen Sie, ob die Überprüfungen auf Sicherheitsrisiken wie geplant ausgeführt werden.
- Behalten Sie alle Protokolle bei, die als Ergebnis einer Überprüfung generiert werden und auf fehlerfreie und fehlerhafte Komponenten hinweisen. Die empfohlene Beibehaltungsdauer ist in Anforderung 10.7 angegeben, d. h. ein Jahr.
- Stellen Sie einen Prozess zur Verfügung, der die erkannten Probleme selektiert und behebt.
Informationen zur Anwendung von Virenschutzupdates von Microsoft Defender for Endpoint finden Sie unter Microsoft Defender Antivirus-Sicherheitsinformationen und -Produktupdates.
Anforderung 5.3
Virenschutzfunktionen sollten aktiv ausgeführt werden und können von Benutzern nicht deaktiviert oder geändert werden. Es sei denn, die Geschäftsleitung genehmigt dies von Fall zu Fall für einen begrenzten Zeitraum.
Ihre Zuständigkeiten
Sie sind für die Einrichtung der Überwachung und Benachrichtigung des Sicherheits-Agents verantwortlich. Erstellen Sie kritische Warnungen nicht nur für die Workload, sondern auch für die Kernsystemprozesse. Der Agent muss immer ausgeführt werden. Reagieren Sie auf die Warnungen, die von der Virenschutzsoftware ausgelöst werden.
- Bewahren Sie einen Protokollpfad der Überprüfungsaktivitäten. Stellen Sie sicher, dass der Überprüfungsvorgang keine Karteninhaberdaten protokolliert, die von Datenträgern oder aus dem Arbeitsspeicher ausgelesen werden.
- Legen Sie Warnungen für Aktivitäten fest, die zu einer unerwarteten Nichteinhaltung der Compliance führen könnten. Die Warnungen sollten nicht versehentlich deaktiviert werden.
- Schränken Sie die Berechtigungen zum Ändern der Bereitstellung des Agents und aller anderen wichtigen Sicherheitstools ein. Halten Sie diese Berechtigungen getrennt von den Berechtigungen für die Bereitstellung der Workload.
- Stellen Sie keine Workloads bereit, wenn die Sicherheits-Agents nicht wie erwartet ausgeführt werden.
Anforderung 5.4
Stellen Sie sicher, dass Sicherheitsrichtlinien und betriebliche Verfahren für den Schutz von Systemen gegen Schadsoftware dokumentiert, verwendet und kommuniziert werden sowie allen beteiligten Parteien bekannt sind.
Ihre Zuständigkeiten
Es ist von entscheidender Bedeutung, dass Sie eine gründliche Dokumentation über den Prozess und die Richtlinien führen, insbesondere Einzelheiten über die zum Schutz des Systems verwendete Virenschutzlösung. Geben Sie unter anderem an, an welcher Stelle des Produktzyklus die Sicherheitsinformationen aktualisiert werden, wie häufig die Überprüfungen durchgeführt werden und welche Möglichkeiten der Echtzeitüberprüfung bestehen.
Stellen Sie Richtlinien für die Aufbewahrung von Protokollen zur Verfügung. Möglicherweise möchten Sie zu Compliancezwecken eine langfristige Speicherung verwenden.
Führen Sie eine Dokumentation über die Standardbetriebsverfahren für die Bewertung und Behebung von Problemen. Personen, die in regulierten Umgebungen arbeiten, müssen geschult werden, informiert sein und Anreize erhalten, damit sie die Sicherheitsgarantien unterstützen. Dies ist wichtig für Personen, die aus Richtliniensicht Teil des Genehmigungsprozesses sind.
Anforderung 6.1
Richten Sie einen Prozess zur Identifizierung von Sicherheitsrisiken ein, indem Sie Informationen zu Sicherheitsrisiken von namhaften externen Quellen einholen, und weisen Sie neu entdeckten Sicherheitsrisiken eine Risikoeinstufung zu (z. B. hoch, mittel oder niedrig).
Ihre Zuständigkeiten
Stellen Sie Prozesse zur Verfügung, die die entdeckten Sicherheitsrisiken prüfen und entsprechend bewerten. Microsoft Defender for Cloud zeigt Empfehlungen und Warnungen an, die auf dem Ressourcentyp und seinem Schweregrad sowie der Umgebung basieren. Die meisten Warnungen enthalten MITRE ATT&CK®-Taktiken, die Ihnen helfen können, die Kill Chain-Absicht zu verstehen. Stellen Sie sicher, dass Sie über einen Aktionsplan verfügen, um das Problem zu untersuchen und zu beheben.
In AKS können Sie Azure Container Registry in Kombination mit kontinuierlicher Überprüfung verwenden, um anfällige Images und Anwendungen auf verschiedenen Risikostufen zu identifizieren. Sie können die Ergebnisse in Microsoft Defender für Cloud anzeigen.
Weitere Informationen finden Sie unter Containerschutz in Defender for Cloud.
Anforderung 6.2
Stellen Sie sicher, dass alle Systemkomponenten und sämtliche Software vor bekannten Sicherheitsrisiken geschützt sind, indem Sie die vom Hersteller bereitgestellten Sicherheitspatches installieren. Installieren Sie kritische Sicherheitspatches innerhalb eines Monats nach der Veröffentlichung.
Ihre Zuständigkeiten
Um Lieferkettenangriffe von Drittanbietern zu verhindern, stellen Sie sicher, dass alle Abhängigkeiten vertrauenswürdig sind. Es ist wichtig, dass Sie seriöse und vertrauenswürdige Anbieter auswählen.
Wöchentlich stellt AKS neue Images für die Knotenpools bereit. Diese Images werden nicht automatisch angewendet. Wenden Sie sie an, sobald sie verfügbar sind. Sie können über Node Image Update manuelle oder automatische Updates durchführen. Weitere Informationen finden Sie unter Upgrade für AKS-Knotenimages (Azure Kubernetes Service).
Für die AKS-Steuerungsebene installiert oder aktualisiert AKS die Sicherheitspatches.
Alle 24 Stunden laden AKS-Knoten automatisch Betriebssystem- und Sicherheitspatches herunter und installieren sie einzeln. Ihre Firewall darf diesen Datenverkehr nicht blockieren, wenn Sie diese Updates erhalten möchten.
Erwägen Sie die Aktivierung der Berichterstellungsfunktionen für den Sicherheits-Agent, um Informationen zu den angewendeten Updates abzurufen. Einige Sicherheitsupdates erfordern einen Neustart. Überprüfen Sie die Warnungen und ergreifen Sie Maßnahmen, um sicherzustellen, dass diese Neustarts zu einer minimalen oder zu keiner Downtime führen. Eine Open-Source-Option für kontrollierte Neustarts ist Kured (Kubernetes Reboot Daemon).
Erweitern Sie den Patchprozess auf Ressourcen außerhalb des Clusters, die Sie bereitstellen, z. B. Jumpboxes und Build-Agents.
Bleiben Sie hinsichtlich der unterstützten AKS-Versionen auf dem neuesten Stand. Wenn Ihr Entwurf eine Version verwendet, die das Ende ihrer Lebensdauer erreicht hat, führen Sie ein Upgrade auf eine aktuelle Version durch. Weitere Informationen finden Sie unter Unterstützte AKS-Versionen.
Anforderung 6.3
Entwickeln Sie wie folgt sichere interne und externe Softwareanwendungen (einschließlich des webbasierten administrativen Zugriffs auf Anwendungen):
- Gemäß PCI-DSS (z. B. sichere Authentifizierung und Protokollierung)
- Auf Grundlage von Branchenstandards und/oder bewährten Methoden
- Die Einbindung von Informationssicherheit in den gesamten Lebenszyklus der Softwareentwicklung, die für alle intern entwickelte Software gilt, einschließlich der von Drittanbietern entwickelten individuellen oder kundenspezifischen Software.
Ihre Zuständigkeiten
Integrieren und Priorisieren von Sicherheitsentscheidungen im Rahmen des Lebenszyklus und Betriebs der Workload.
Dem Lebenszyklus werden verschiedene Branchenframeworks zugeordnet, z. B. das NIST-Framework. NIST-Funktionen – Identifizieren, Schützen, Erkennen, Reagieren und Wiederherstellen – bieten Strategien für vorbeugende Kontrollen in den einzelnen Phasen.
Microsoft SDL (Security Development Lifecycle) bietet bewährte Methoden, Tools und Prozesse für die Sicherheit in den Phasen des Entwicklungsprozesses. Microsoft SDL-Methoden werden für alle Azure-Dienste befolgt, einschließlich AKS. Wir befolgen auch das OSA-Framework (Operational Security Assurance) für den Betrieb von Clouddiensten. Stellen Sie sicher, dass Sie über einen ähnlichen Prozess verfügen. Diese Methoden werden veröffentlicht, um Sie beim Schützen Ihrer Anwendungen zu unterstützen.
Anforderung 6.3.1
Entfernen Sie Entwicklungs-, Test- und/oder benutzerdefinierte Anwendungskonten, Benutzer-IDs und Kennwörter, bevor Anwendungen aktiviert oder für Kunden freigegeben werden.
Ihre Zuständigkeiten
Im Rahmen der Clustererstellung werden standardmäßig mehrere lokale Kubernetes-Benutzer erstellt. Diese Benutzer können nicht überwacht werden, da sie keine eindeutige Identität darstellen. Einige von ihnen verfügen über hohe Berechtigungen. Deaktivieren Sie diese Benutzer, indem Sie das Feature Lokale Konten deaktivieren von AKS verwenden.
Informationen zu den anderen zu berücksichtigenden Punkten finden Sie im Leitfaden zum offiziellen PCI-DSS 3.2.1-Standard.
Anforderung 6.3.2
Überprüfen Sie den benutzerdefinierten Code vor der Freigabe für die Produktion oder für Kunden, um potenzielle Sicherheitsrisiken bei der Programmierung zu identifizieren (entweder durch manuelle oder automatisierte Prozesse), um Folgendes einzubeziehen:
- Codeänderungen werden von anderen Personen als dem ursprünglichen Programmierer und von Personen überprüft, die sich mit Code Review-Verfahren und sicheren Programmierpraktiken auskennen.
- Code Reviews stellen sicher, dass der Code nach sicheren Programmierrichtlinien entwickelt wird.
- Entsprechende Korrekturen werden vor der Veröffentlichung durchgeführt.
- Die Code Review-Ergebnisse werden vor der Veröffentlichung vom Management überprüft und genehmigt.
Ihre Zuständigkeiten
Die gesamte im Cluster installierte Software stammt aus Ihrer Containerregistrierung. Ähnlich wie Anwendungscode sollten Azure- und Drittanbieterimages (Dockerfile und OCI) durch Prozesse und Personen genau überprüft werden. Ferner gilt Folgendes:
Beginnen Sie mit der Überprüfung von Containerimages in der Anfangsphase, wenn der Cluster erstellt wird. Machen Sie den Überprüfungsprozess zu einem Teil Ihrer Continuous Integration-/Continuous Deployment-Pipelines.
Stellen Sie sicher, dass Ihre Bereitstellungspipelines so abgegrenzt sind, dass sowohl die Images für das Clusterbootstrapping als auch Ihre Workload ein Überprüfungs- und/oder Quarantänegate durchlaufen haben. Stellen Sie einen Verlauf darüber zur Verfügung, wie und welche Prozesse verwendet wurden, bevor sie in den Cluster gepullt wurden.
Verringern Sie die Imagegröße. Normalerweise enthalten Images mehr Binärdateien als erforderlich. Das Reduzieren der Imagegröße hat nicht nur Leistungsvorteile, sondern schränkt auch die Angriffsfläche ein. Durch die Verwendung von Images ohne Distribution wird z. B. die Angriffsfläche von Linux-Basisimages minimiert.
Verwenden Sie statische Analysetools, die die Integrität der Dockerfile und der Manifeste überprüfen. Zu den Optionen von Drittanbietern gehören Dockle und Trivy.
Verwenden Sie nur signierte Images.
Verstehen (und akzeptieren) Sie das von Azure bereitgestellte Basisimage und seine Konformität mit CIS-Benchmarks. Weitere Informationen finden Sie unter CIS-Benchmarks (Center for Internet Security).
Azure Container Registry mit kontinuierlicher Überprüfung in Microsoft Defender für Cloud hilft dabei, anfällige Images und verschiedene Risiken zu identifizieren, die für die Workload auftreten können. Weitere Informationen zur Imageüberprüfung und zur Risikokontrolle finden Sie unter Containersicherheit.
Anforderung 6.4
Befolgen Sie die Änderungssteuerungsprozesse und -verfahren für alle Änderungen an Systemkomponenten.
Ihre Zuständigkeiten
Stellen Sie sicher, dass Sie Änderungssteuerungsprozesse dokumentieren und die Bereitstellungspipelines entsprechend diesen Prozessen entwerfen. Binden Sie weitere Prozesse zur Erkennung von Situationen ein, in denen die Prozesse und tatsächlichen Pipelines nicht übereinstimmen.
Anforderung 6.4.1, 6.4.2
- Trennen Sie Entwicklungs- und Testumgebungen von Produktionsumgebungen, und setzen Sie die Trennung mithilfe von Zugriffssteuerungen durch.
- Aufgabentrennung zwischen Entwicklungs-/Test- und Produktionsumgebung.
Ihre Zuständigkeiten
Stellen Sie separate Produktions- und Präproduktionsumgebungen und Rollen zur Verfügung, die in diesen Umgebungen ausgeführt werden.
Verwenden Sie Ihren Produktionscluster nicht für Entwicklungs-/Testzwecke. Installieren Sie beispielsweise Bridge to Kubernetes nicht in Ihren Produktionsclustern. Verwenden Sie dedizierte Cluster für Workloads, die keine Produktionsworkloads sind.
Stellen Sie sicher, dass Ihre Produktionsumgebungen keinen Netzwerkzugriff auf Präproduktionsumgebungen zulassen und umgekehrt.
Verwenden Sie keine Systemidentitäten in Präproduktions- und Produktionsumgebungen wieder.
Verwenden Sie Microsoft Entra-Gruppen für Gruppen wie Clusteradministratoren oder Pipelineprinzipale. Verwenden Sie keine verallgemeinerten oder allgemeinen Gruppen zur Zugriffssteuerung. Verwenden Sie diese Gruppen nicht zwischen Präproduktions- und Produktionsclustern wieder. Eine Möglichkeit besteht darin, den Clusternamen (oder einen anderen nicht transparenten Bezeichner) im Gruppennamen zu verwenden, um die Mitgliedschaften eindeutig festzulegen.
Verwenden Sie RBAC-Rollen (rollenbasierte Zugriffssteuerung) in Azure in geeigneter Weise zwischen den Umgebungen. In der Regel werden mehr Rollen und Rechte in Präproduktionsumgebungen zugewiesen.
Identitäten, die nur für die Präproduktionsumgebung bestimmt sind (für Pipelines oder Softwareentwicklungsteams), dürfen in der Produktionsumgebung keinen Zugriff erhalten. Umgekehrt darf allen reinen Identitäten der Produktionsumgebung (z. B. Pipelines) kein Zugriff in Präproduktionsclustern gewährt werden.
Verwenden Sie nicht dieselbe vom Benutzer zugewiesene verwaltete Identität für eine Ressource in der Präproduktions- und Produktionsumgebung. Diese Empfehlung gilt für alle Ressourcen, die vom Benutzer zugewiesene verwaltete Identitäten unterstützen, nicht nur für die in Ihrem Cluster bereitgestellte Ressource. In der Regel sollten Azure-Ressourcen, für die Identitäten erforderlich sind, über eine eigene Identität verfügen, anstatt sie mit anderen Ressourcen zu teilen.
Verwenden Sie JIT-Zugriff (Just-In-Time) für Zugriff mit hohen Rechten. Dies gilt nach Möglichkeit auch für Präproduktionscluster. Verwenden Sie Richtlinien für bedingten Zugriff sowohl auf Präproduktions- als auch auf Produktionsclustern.
Anforderung 6.4.3
Produktionsdaten (Live-PANs) werden nicht zum Testen oder Entwickeln verwendet.
Ihre Zuständigkeiten
Stellen Sie sicher, dass CHD-Daten nicht in die Dev/Test-Umgebung gelangen. Stellen Sie eine eindeutige Dokumentation zur Verfügung, die das Verfahren zum Verschieben von Daten aus der Produktionsumgebung in die Dev/Test-Umgebung bereitstellt. Das Entfernen von echten Daten muss in dieses Verfahren einbezogen und von den verantwortlichen Stellen genehmigt werden.
Anforderung 6.4.4
Entfernen von Testdaten und -konten aus Systemkomponenten, bevor das System aktiviert wird oder in die Produktionsumgebung wechselt.
Ihre Zuständigkeiten
Entfernen Sie Standardkonfigurationsdaten, Beispieldaten und bekannte Testdaten aus dem System, bevor Sie sie für die Produktionsumgebung bereitstellen. Verwenden Sie keine Karteninhaberdaten zu Testzwecken.
Anforderung 6.4.5
Änderungssteuerungsverfahren für die Implementierung von Sicherheitspatches und Softwareänderungen müssen Folgendes umfassen:
- 6.4.5.1 Dokumentation zu den Auswirkungen
- 6.4.5.2 Dokumentierte Genehmigung der Änderungen durch autorisierte Parteien
- 6.4.5.3 Funktionstests, um sicherzustellen, dass die Änderung keine negativen Auswirkungen auf die Sicherheit des Systems hat
- 6.4.5.4 Rückzugsverfahren
Ihre Zuständigkeiten
Diese Orientierungspunkte entsprechen den oben genannten Anforderungen:
Dokumentieren Sie die Infrastrukturänderungen, die als Folge der Sicherheitspatches und Softwareänderungen erwartet werden. Dieser Prozess gestaltet sich mit dem IaC-Ansatz (Infrastructure-as-Code) einfacher. Beispielsweise können Sie mit einer Bicep-Datei oder einer Azure Resource Manager-Vorlage (ARM-Vorlage) eine Vorschau der Änderungen der Bereitstellung mit dem Was-wäre-wenn-Vorgang anzeigen. Weitere Informationen zur Ihren Infrastrukturänderungen finden Sie unter Was-wäre-wenn-Vorgang für die Bicep-Bereitstellung.
Implementieren Sie Gates in Ihren Bereitstellungspipelines, die die Genehmigung von Änderungen für reguläre Bereitstellungen überprüfen. Dokumentieren Sie die Begründung für Notfallbereitstellungen, bei denen Gates möglicherweise umgangen wurden.
Definieren Sie die Ebenen und die Tiefe der Änderungen. Stellen Sie sicher, dass sich das Team über die Definition von signifikanten Änderungen im Gegensatz zu geringfügigen Änderungen einig ist. Automatisieren Sie möglichst die Ermittlung einiger dieser Änderungen. Prüfer für Workload, Infrastruktur und Pipeline müssen über ein klares Verständnis der Ebenen verfügen und die Überprüfung anhand dieser Kriterien durchführen.
Testen Sie die Sicherheitsanforderungen. Vergewissern Sie sich, dass synthetische Transaktionen Sicherheitsaspekte testen (sowohl zulassen als auch verweigern). Stellen Sie außerdem sicher, dass diese synthetischen Tests in Präproduktionsumgebungen ausgeführt werden.
Führen Sie einen Rückzugsprozess aus, falls die Korrektur eines Sicherheitsproblems unerwartete Ergebnisse aufweist. Eine gängige Strategie ist die Bereitstellung unter Beibehaltung des früheren Zustands mithilfe von Blau-Grün-Bereitstellungen. Stellen Sie für Workloads, einschließlich Datenbanken, eine Strategie zur Verfügung, die für Ihre spezifische Topologie geeignet ist und auf Ihre Bereitstellungseinheiten abgestimmt ist.
Anforderung 6.5
Gehen Sie wie folgt auf häufige Sicherheitsrisiken bei der Programmierung in Softwareentwicklungsprozessen ein:
- Schulen Sie Entwickler mindestens einmal jährlich hinsichtlich aktueller, sicherer Programmierverfahren, einschließlich der Vermeidung häufiger Sicherheitsrisiken bei der Programmierung.
- Entwickeln Sie Anwendungen auf der Grundlage sicherer Programmierrichtlinien.
Ihre Zuständigkeiten
Es ist von entscheidender Bedeutung, dass Anwendungs- und Betriebsteams geschult, informiert und motiviert sind, die Überprüfungsaktivitäten der Workload und Infrastruktur zu unterstützen. Nachstehend finden Sie einige Ressourcen:
- Richtlinien für das Schreiben von sicherem Code
- Secure DevOps
- Ressourcen für den sicheren Entwicklungslebenszyklus
Anforderung 6.6
Kümmern Sie sich bei öffentlich zugänglichen Webanwendungen laufend um neue Bedrohungen und Schwachstellen. Stellen Sie sicher, dass diese Anwendungen mit einer der folgenden Methoden vor bekannten Angriffen geschützt sind:
Überprüfen Sie öffentliche Webanwendungen mithilfe manueller oder automatisierter Tools oder Methoden zur Bewertung der Sicherheitsrisiken für Anwendungen. Führen Sie mindestens jährlich und nach allen Änderungen eine Sicherheitsrisikobewertung durch.
Hinweis
Diese Bewertung ist nicht identisch mit der Sicherheitsrisikoüberprüfung, die im Rahmen von Anforderung 11.2 durchgeführt wurde.
Installieren Sie eine automatisierte Lösung, die webbasierte Angriffe erkennt und verhindert, z. B. eine Webanwendungsfirewall. Stellen Sie diese vor öffentlich zugänglichen Webanwendungen bereit, und werten Sie den gesamten Datenverkehr aktiv aus.
Ihre Zuständigkeiten
Sorgen Sie dafür, dass Datenverkehr aus dem öffentlichen Internet mithilfe einer Web Application Firewall (WAF) erkannt wird. In dieser Architektur überprüft Azure Application Gateway eingehenden Datenverkehr mithilfe der integrierten WAF. Die WAF basiert auf dem CRS (Core Rule Set) des Open Web Application Security Project (OWASP). Wenn es keine technischen Kontrollen gibt, müssen ausgleichende Kontrollen durchgeführt werden. Eine Möglichkeit ist die manuelle Codeüberprüfung.
Stellen Sie sicher, dass Sie die neuesten Versionen des Regelsatzes verwenden, und wenden Sie Regeln an, die für Ihre Workload relevant sind. Die Regeln sollten im Schutzmodus ausgeführt werden. Sie können diese Anforderung erzwingen, indem Sie eine Azure Policy-Instanz hinzufügen, die überprüft, ob die WAF aktiviert ist und in diesem Modus arbeitet.
Sorgen Sie für von der Application Gateway WAF generierte Protokolle, um Details über die erkannten Bedrohungen zu erhalten. Optimieren Sie die Regeln nach Bedarf.
Führen Sie Penetrationstests durch, die sich auf den Anwendungscode konzentrieren. Auf diese Weise können auch Praktiker, die nicht zum Anwendungsteam gehören, Sicherheitslücken (z. B. Einschleusung von SQL-Befehlen und Verzeichnisdurchlauf) aufdecken, indem sie Informationen sammeln, Sicherheitsrisiken analysieren und Berichte erstellen. In dieser Übung benötigen die Praktiker möglicherweise Zugriff auf vertrauliche Daten. Um sicherzustellen, dass die Absicht nicht missbräuchlich verwendet wird, befolgen Sie die Anweisungen in Penetrationstests – Rules of Engagement.
Anforderung 6.7
Stellen Sie sicher, dass Sicherheitsrichtlinien und betriebliche Verfahren für die Entwicklung und Pflege sicherer Systeme und Anwendungen dokumentiert und verwendet werden sowie allen beteiligten Parteien bekannt sind.
Ihre Zuständigkeiten
Es ist wichtig, dass Sie eine umfassende Dokumentation zu den Prozessen und Richtlinien führen. Ihre Teams sollten dahingehend trainiert werden, Sicherheitsentscheidungen im Rahmen von Lebenszyklus und Betrieb der Workload zu priorisieren.
Microsoft SDL (Security Development Lifecycle) bietet bewährte Methoden, Tools und Prozesse für die Sicherheit in den Phasen des Entwicklungsprozesses. Microsoft SDL-Methoden werden bei Microsoft bei der Erstellung von Software strikt eingehalten. Wir befolgen auch das OSA-Framework (Operational Security Assurance) für den Betrieb von Clouddiensten. Diese Methoden werden veröffentlicht, um Sie beim Schützen Ihrer Anwendungen zu unterstützen.
Sorgen Sie für eine umfassende Dokumentation der Penetrationstests, in der Testumfang, Selektierungsprozesse und die Strategie zur Behebung der festgestellten Probleme beschrieben sind. Wenn ein Incident eintritt, ist die Bewertung von Anforderung 6 als Teil der Ursachenanalyse einzubeziehen. Wenn Lücken erkannt werden (z. B. ein Verstoß gegen die OWASP-Regeln), schließen Sie diese Lücken.
Sorgen Sie in diese Dokumentation für klare Richtlinien zum erwarteten WAF-Schutzstatus.
Personen, die in regulierten Umgebungen arbeiten, müssen geschult werden, informiert sein und Anreize erhalten, damit sie die Sicherheitsgarantien unterstützen. Dies ist wichtig für Personen, die aus Richtliniensicht Teil des Genehmigungsprozesses sind.
Nächste Schritte
Beschränken des Zugriffs auf Karteninhaberdaten auf das geschäftlich erforderliche Maß Erkennen und Authentifizieren des Zugriffs auf Systemkomponenten Beschränken des physischen Zugriffs auf Karteninhaberdaten