SEC06-BP02 Bereitstellen von Rechenleistung aus gehärteten Images - AWS Well-Architected Framework

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SEC06-BP02 Bereitstellen von Rechenleistung aus gehärteten Images

Bieten Sie weniger Möglichkeiten für einen unbeabsichtigten Zugriff auf Ihre Laufzeitumgebungen, indem Sie sie über gehärtete Images bereitstellen. Beziehen Sie Laufzeit-Abhängigkeiten wie Container-Images und Anwendungsbibliotheken nur von vertrauenswürdigen Registern und überprüfen Sie deren Signaturen. Erstellen Sie Ihre eigenen privaten Register, um vertrauenswürdige Images und Bibliotheken für die Verwendung in Ihren Build- und Bereitstellungsprozessen zu speichern.

Gewünschtes Ergebnis: Ihre Datenverarbeitungsressourcen werden über gehärtete Baseline-Images bereitgestellt. Sie rufen externe Abhängigkeiten, wie Container-Images und Anwendungsbibliotheken, nur aus vertrauenswürdigen Registern ab und überprüfen deren Signaturen. Diese werden in privaten Registern gespeichert, auf die Ihre Build- und Bereitstellungsprozesse verweisen können. Sie überprüfen und aktualisieren Images und Abhängigkeiten regelmäßig, um sich vor neu entdeckten Schwachstellen zu schützen.

Typische Anti-Muster:

  • Abrufen von Images und Bibliotheken aus vertrauenswürdigen Registern, ohne deren Signaturen zu überprüfen oder Schwachstellen zu scannen, bevor sie eingesetzt werden

  • Härtung von Images, ohne sie regelmäßig auf neue Schwachstellen zu testen oder auf die neueste Version zu aktualisieren

  • Installation oder Nichtentfernung von Softwarepaketen, die während des erwarteten Lebenszyklus des Images nicht benötigt werden

  • Vertrauen auf Patches als einzige Methode, um Datenverarbeitungsressourcen in der Produktion auf dem neuesten Stand zu halten Die alleinige Verwendung von Patches kann immer noch dazu führen, dass Datenverarbeitungsressourcen im Laufe der Zeit von dem gehärteten Standard abweichen. Patches sind außerdem nicht in der Lage, Malware zu entfernen, die möglicherweise von einem Bedrohungsakteur während eines Sicherheitsvorfalls installiert wurde.

Vorteile der Nutzung dieser bewährten Methode: Das Härten von Images trägt dazu bei, die Anzahl der in Ihrer Laufzeitumgebung verfügbaren Pfade zu reduzieren, die unbeabsichtigten Zugriff auf nicht autorisierte Benutzer oder Services ermöglichen können. Auch das Ausmaß der Auswirkungen eines unbeabsichtigten Zugriffs kann damit verringert werden.

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

Implementierungsleitfaden

Um Ihre Systeme abzusichern, sollten Sie mit den neuesten Versionen von Betriebssystemen, Container-Images und Anwendungsbibliotheken beginnen. Wenden Sie Patches auf bekannte Probleme an. Reduzieren Sie das System auf ein Minimum, indem Sie nicht benötigte Anwendungen, Services, Gerätetreiber, Standardbenutzer und andere Anmeldeinformationen entfernen. Ergreifen Sie alle weiteren erforderlichen Maßnahmen, wie z. B. das Deaktivieren von Ports, um eine Umgebung zu schaffen, die nur über die von Ihren Workloads benötigten Ressourcen und Fähigkeiten verfügt. Von dieser Baseline aus können Sie dann Software, Agenten oder andere Prozesse installieren, die Sie für Zwecke wie die Überwachung des Workloads oder die Verwaltung von Schwachstellen benötigen.

Sie können die Belastung durch die Abhärtung von Systemen verringern, indem Sie sich an Anleitungen von vertrauenswürdigen Quellen wie dem Center for Internet Security (CIS) und den Security Technical Implementation Guides () der Defense Information Systems Agency (DISA) halten. STIGs Wir empfehlen Ihnen, mit einem Amazon Machine Image (AMI) zu beginnen, das von AWS oder einem APN Partner veröffentlicht wurde, und den AWS EC2Image Builder zu verwenden, um die Konfiguration gemäß einer geeigneten Kombination von CIS und STIG Kontrollen zu automatisieren.

Zwar sind gehärtete Images und EC2 Image Builder Builder-Rezepte verfügbar, die die CIS DISA STIG Oder-Empfehlungen anwenden, aber Sie stellen möglicherweise fest, dass Ihre Software aufgrund ihrer Konfiguration nicht erfolgreich ausgeführt werden kann. In diesem Fall können Sie von einem nicht gehärteten Basis-Image ausgehen, Ihre Software installieren und dann schrittweise CIS Kontrollen anwenden, um deren Wirkung zu testen. Testen Sie bei allen CIS Kontrollen, die die Ausführung Ihrer Software verhindern, ob Sie stattdessen die detaillierteren Empfehlungen zur Absicherung implementieren können. DISA Behalten Sie den Überblick über die verschiedenen CIS Steuerungen und DISA STIG Konfigurationen, die Sie erfolgreich anwenden können. Verwenden Sie diese, um Ihre Rezepte für die Bildhärtung in EC2 Image Builder entsprechend zu definieren.

Für containerisierte Workloads sind gehärtete Images von Docker im öffentlichen Repository von Amazon Elastic Container Registry () ECR verfügbar. Sie können EC2 Image Builder verwenden, um Container-Images gleichzeitig AMIs zu härten.

Ähnlich wie bei Betriebssystemen und Container-Images können Sie Codepakete (oder Bibliotheken) mithilfe von Tools wie pip, npm, Maven und aus öffentlichen Repositorys abrufen. NuGet Wir empfehlen Ihnen, Code-Pakete zu verwalten, indem Sie private Repositorys, wie z. B. innerhalb von AWS CodeArtifact, mit vertrauenswürdigen öffentlichen Repositorys verbinden. Diese Integration kann das Abrufen, Speichern und Aufbewahren von Paketen für Sie übernehmen. up-to-date Ihre Anwendungsentwicklungsverfahren können dann die neueste Version dieser Pakete zusammen mit Ihrer Anwendung abrufen und testen. Dabei kommen Techniken wie Software Composition Analysis (SCA), Static Application Security Testing (SAST) und Dynamic Application Security Testing (DAST) zum Einsatz.

Vereinfachen Sie für serverlose Workloads, die verwenden AWS Lambda, die Verwaltung von Paketabhängigkeiten mithilfe von Lambda-Schichten. Verwenden Sie Lambda-Ebenen, um einen Satz von Standardabhängigkeiten, die von verschiedenen Funktionen gemeinsam genutzt werden, in einem eigenständigen Archiv zu konfigurieren. Sie können Ebenen mithilfe eines eigenen Build-Prozesses erstellen und verwalten, sodass Ihre Funktionen auf zentrale Weise erhalten bleiben. up-to-date

Implementierungsschritte

  • Härten des Betriebssystems: Verwenden Sie Basis-Images aus vertrauenswürdigen Quellen als Grundlage für den Aufbau Ihres gehärteten SystemsAMIs. Verwenden Sie EC2Image Builder, um die auf Ihren Images installierte Software anzupassen.

  • Härten von containerisierten Ressourcen: Konfigurieren Sie containerisierte Ressourcen so, dass sie den bewährten Methoden im Bereich Sicherheit entsprechen. Wenn Sie Container verwenden, implementieren Sie ECRImage Scanning in Ihrer Build-Pipeline und regelmäßig anhand Ihres Image-Repositorys, um CVEs in Ihren Containern danach zu suchen. 

  • Wenn Sie die serverlose Implementierung mit verwenden AWS Lambda, verwenden Sie Lambda-Schichten, um Anwendungsfunktionscode und gemeinsam genutzte abhängige Bibliotheken zu trennen. Konfigurieren Sie die Codesignierung für Lambda, um sicherzustellen, dass nur vertrauenswürdiger Code in Ihren Lambda-Funktionen ausgeführt wird.

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Videos:

Zugehörige Beispiele: