SEC06-BP01 Schwachstellenmanagement - AWS Well-Architected Framework

SEC06-BP01 Schwachstellenmanagement

Überprüfen und Patchen Sie Ihren Code, Ihre Abhängigkeiten und Ihre Infrastruktur häufig auf Schwachstellen, um sich vor neuen Bedrohungen zu schützen.

Gewünschtes Ergebnis: Erstellen und Verwalten eines Programms für das Schwachstellenmanagement. Überprüfen und Patchen Sie regelmäßig Ressourcen wie Amazon EC2-Instances, Amazon Elastic Container Service (Amazon ECS)-Container und Amazon Elastic Kubernetes Service (Amazon EKS)-Workloads. Konfigurieren Sie Wartungszeitfenster für AWS-verwaltete Ressourcen wie Amazon Relational Database Service (Amazon RDS)-Datenbanken. Verwenden Sie statisches Code-Scanning, um Anwendungsquellcode auf verbreitete Probleme zu überprüfen. Ziehen Sie Penetrationstests für Webanwendungen in Betracht, wenn Ihre Organisation über die entsprechenden Fähigkeiten verfügt oder externe Unterstützung erhalten kann.

Typische Anti-Muster:

  • Fehlen eines Programms für das Schwachstellenmanagement

  • Durchführung von System-Patches ohne Berücksichtigung des Schweregrads oder der Risikovermeidung

  • Verwendung von Software nach dem vom Anbieter angegebenen Lebenszyklusenddatum

  • Bereitstellung von Code für die Produktion, bevor dieser auf Sicherheitsprobleme untersucht wurde

Vorteile der Nutzung dieser bewährten Methode:

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: hoch

Implementierungsleitfaden

Ein Programm für das Schwachstellenmanagement beinhaltet Sicherheitsbewertungen, die Identifizierung von Problemen sowie die Priorisierung und Durchführung von Patching-Vorgängen im Rahmen der Behebung der Probleme. Automatisierung ist der Schlüssel zur kontinuierlichen Prüfung von Workloads auf Probleme und unbeabsichtigte Offenlegung in Netzwerken sowie für die Durchführung von Abhilfemaßnahmen. Die Automatisierung der Erstellung und Aktualisierung von Ressourcen spart Zeit und senkt die Gefahr von Konfigurationsfehlern, die zu weiteren Problemen führen können. Ein gut gestaltetes Programm für das Schwachstellenmanagement sollte auch Schwachstellentests in den Entwicklungs- und Bereitstellungsphasen des Softwarelebenszyklus beinhalten. Die Implementierung des Schwachstellenmanagements während der Entwicklung und der Bereitstellung verringert die Gefahr, dass eine Schwachstelle in Ihre Produktionsumgebung gelangt.

Die Implementierung eines Programms für das Schwachstellenmanagement erfordert ein gutes Verständnis des AWS-Modells der geteilten Verantwortung und seiner Beziehung zu Ihren spezifischen Workloads. In diesem Modell der geteilten Verantwortung ist AWS für den Schutz der Infrastruktur der AWS Cloud verantwortlich. Diese Infrastruktur umfasst die Hardware, Software, Netzwerke und Einrichtungen, in bzw. auf denen AWS Cloud-Services ausgeführt werden. Sie sind für die Sicherheit in der Cloud verantwortlich, zum Beispiel für die eigentlichen Daten, die Sicherheitskonfiguration und Verwaltungsaufgaben für Amazon EC2-Instances sowie für die Sicherstellung, dass Ihre Amazon S3-Objekte korrekt klassifiziert und konfiguriert sind. Ihr Konzept für das Schwachstellenmanagement kann auch je nach den von Ihnen genutzten Services variieren. So verwaltet beispielsweise AWS die Patches für unseren verwalteten relationalen Datenbankservice Amazon RDS, Sie sind jedoch selbst für das Patchen selbst gehosteter Datenbanken verantwortlich.

AWS bietet eine Reihe von Services zur Unterstützung Ihres Programms für das Schwachstellenmanagement. Amazon Inspector untersucht kontinuierlich AWS-Workloads auf Softwareprobleme und nicht beabsichtigte Netzwerkzugriffe. AWS Systems Manager Patch Manager hilft bei der Verwaltung des Patchings für Ihre Amazon EC2-Instances. Amazon Inspector und Systems Manager können in AWS Security Hub angezeigt werden. Dieser Managementservice für den Cloud-Sicherheitsstatus hilft dabei, AWS-Sicherheitsprüfungen zu automatisieren und Sicherheitsbenachrichtigungen zu zentralisieren.

Amazon CodeGuru kann mit der Analyse von statischem Code dabei helfen, potenzielle Probleme in Java- und Python-Anwendungen zu erkennen.

Implementierungsschritte

  • Konfigurieren Sie Amazon Inspector: Amazon Inspector erkennt automatisch neu gestartete Amazon EC2-Instances, Lambda-Funktionen und infrage kommende Container-Images, die an Amazon ECR übertragen wurden, und untersucht diese sofort auf Softwareprobleme, potenzielle Fehler und unbeabsichtigte Netzwerkoffenlegung.

  • Untersuchen Sie den Quellcode: Überprüfen Sie Bibliotheken und Abhängigkeiten auf Probleme und Fehler. Amazon CodeGuru kann diese Überprüfungen vornehmen und Empfehlungen zur Behebung verbreiteter Sicherheitsprobleme für Java- und Python-Anwendungen bereitstellen. Die OWASP Foundation veröffentlicht eine Liste von Quellcodeanalysetools (auch als SAST-Tools bezeichnet).

  • Implementieren Sie einen Mechanismus zur Untersuchung und zum Patching Ihrer bestehenden Umgebung sowie zur Untersuchung im Rahmen eines CI/CD-Pipeline-Erstellungsprozesses: Implementieren Sie einen Mechanismus zur Untersuchung und zum Patching von Problemen in Ihren Abhängigkeiten und Betriebssystemen, um Schutz gegen neue Bedrohungen zu bieten. Lassen Sie diesen Mechanismus regelmäßig laufen. Das Software-Schwachstellenmanagement ist wichtig, um zu verstehen, wo Patches angebracht oder Softwareprobleme behoben werden müssen. Priorisieren Sie die Abhilfemaßnahmen zu potenziellen Sicherheitsproblemen durch die frühzeitige Einbettung von Schwachstellenanalysen in Ihre Pipeline für kontinuierliche Integration und kontinuierliche Bereitstellung (Continuous Integration/Continuous Delivery, CI/CD). Ihr Konzept kann je nach den von Ihnen genutzten AWS-Services variieren. Fügen Sie zur Prüfung auf potenzielle Probleme in der Software, die in Amazon EC2-Instances ausgeführt wird, Ihrer Pipeline Amazon Inspector hinzu, damit Sie benachrichtigt werden und den Prozess anhalten können, wenn Probleme oder mögliche Fehler erkannt werden. Amazon Inspector überwacht Ressourcen kontinuierlich. Sie können auch Open-Source-Produkte wie OWASP Dependency-Check, Snyk, OpenVAS, Paketmanager oder AWS Partner-Tools für das Schwachstellenmanagement verwenden.

  • Verwenden Sie AWS Systems Manager: Sie sind für das Patch-Management für Ihre AWS-Ressourcen verantwortlich, einschließlich Amazon Elastic Compute Cloud (Amazon EC2)-Instances, Amazon Machine Images (AMIs) und anderer Datenverarbeitungsressourcen. AWS Systems Manager Patch Manager automatisiert das Patchen verwalteter Instances mit sicherheitsrelevanten und anderen Arten von Updates. Patch Manager kann für die Durchführung von Patches auf Amazon EC2-Instances für Betriebssysteme und Anwendungen verwendet werden, darunter Microsoft-Anwendungen, Windows-Service Packs und kleinere Versionsaktualisierungen für auf Linux basierende Instances. Zusätzlich zu Amazon EC2 kann Patch Manager auch für das Patching von On-Premises-Servern genutzt werden.

    Eine Liste der unterstützten Betriebssysteme finden Sie unter Unterstützte Betriebssysteme im Systems Manager-Benutzerhandbuch. Sie können Instances scannen, um nur fehlende Patches anzuzeigen, oder Sie können scannen und automatisch alle fehlenden Patches installieren.

  • Verwenden Sie AWS Security Hub: Security Hub bietet eine umfassende Ansicht Ihres Sicherheitszustands in AWS. Es erfasst Sicherheitsdaten über mehrere AWS-Services hinweg und stellt diese Ergebnisse in einem standardisierten Format bereit, damit Sie die Sicherheitsergebnisse für AWS-Services priorisieren können.

  • Verwenden Sie AWS CloudFormation: AWS CloudFormation ist ein Infrastructure-as-Code (Iac)-Service, der das Schwachstellenmanagement durch die Automatisierung der Ressourcenbereitstellung und die Standardisierung der Ressourcenarchitektur über mehrere Konten und Umgebungen hinweg unterstützt.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos: