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.
Behebung von Risiken für Amazon ECS-Services
AWS Security Hub kann Ergebnisse zur Gefährdung von Amazon Elastic Container Service (Amazon ECS) -Services generieren.
Der Amazon ECS-Service, der an einer Expositionsfeststellung beteiligt war, und seine identifizierenden Informationen sind im Abschnitt Ressourcen der Ergebnisdetails aufgeführt. Sie können diese Ressourcendetails auf der Security Hub Hub-Konsole oder programmgesteuert mithilfe der GetFindingsV2Security Hub Hub-API abrufen.
Nachdem Sie die Ressource identifiziert haben, die an einer Risikofeststellung beteiligt war, können Sie die Ressource löschen, wenn Sie sie nicht benötigen. Durch das Löschen einer nicht benötigten Ressource können Sie Ihr Expositionsprofil und Ihre AWS Kosten reduzieren. Wenn es sich bei der Ressource um eine wichtige Ressource handelt, befolgen Sie diese empfohlenen Abhilfemaßnahmen, um das Risiko zu minimieren. Die Themen zur Problembehebung sind nach der Art des Merkmals unterteilt.
Ein einziger Risikobefund umfasst Probleme, die in mehreren Problembehebungsthemen identifiziert wurden. Umgekehrt können Sie mit einem Problembehebungsproblem umgehen und dessen Schweregrad verringern, indem Sie sich mit nur einem Problembehebungsthema befassen. Ihr Ansatz zur Risikominderung hängt von den Anforderungen und der Arbeitsbelastung Ihres Unternehmens ab.
Anmerkung
Die in diesem Thema enthaltenen Hinweise zur Problembehebung erfordern möglicherweise zusätzliche Informationen in anderen Ressourcen. AWS
Inhalt
Merkmale von Fehlkonfigurationen für Amazon ECS-Services
Im Folgenden finden Sie Merkmale von Fehlkonfigurationen für Amazon ECS-Services und empfohlene Schritte zur Behebung.
Der Amazon ECS-Service verwendet eine Aufgabendefinition, die mit erhöhten Rechten konfiguriert ist.
Amazon ECS-Container, die mit erhöhten Rechten ausgeführt werden, verfügen über ähnliche Funktionen wie das Hostsystem und ermöglichen möglicherweise den Zugriff auf Host-Ressourcen und andere Container. Diese Konfiguration erhöht das Risiko, dass ein kompromittierter Container für den Zugriff auf oder die Änderung von Ressourcen außerhalb des vorgesehenen Bereichs verwendet werden könnte, was möglicherweise zur Flucht von Containern, unberechtigtem Zugriff auf den zugrunde liegenden Host und Sicherheitsverletzungen führen kann, die sich auf andere Container auf demselben Host auswirken. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es sich, geringste Rechte zu gewähren, d. h., dass Sie nur die Berechtigungen gewähren, die für die Ausführung einer Aufgabe erforderlich sind.
Überprüfen und ändern Sie die Aufgabendefinition
Identifizieren Sie in der Exposition den ARN der Aufgabendefinition. Öffnen Sie die Aufgabendefinition in der Amazon ECS-Konsole. Suchen Sie in der Aufgabendefinition nach dem Privileged-Flag, das in den Containerdefinitionen auf true gesetzt ist. Wenn der privilegierte Modus nicht erforderlich ist, erstellen Sie eine neue Version der Aufgabendefinition ohne das Privileged-Flag. Wenn der privilegierte Modus erforderlich ist, sollten Sie erwägen, den Container so zu konfigurieren, dass er ein schreibgeschütztes Dateisystem verwendet, um unbefugte Änderungen zu verhindern.
Der Amazon ECS-Service verfügt über einen Container, der eine IAM-Rolle übernehmen kann.
Mit IAM-Rollen können Amazon ECS-Aufgaben mithilfe temporärer Anmeldeinformationen sicher auf andere AWS Services zugreifen. Rollen zur Aufgabenausführung können für Amazon ECS-Aufgaben erforderlich sein, bei denen der Container mit anderen AWS Ressourcen interagieren muss. Dies ist zwar manchmal für die Container-Funktionalität erforderlich, falsch konfigurierte Rollen können jedoch übermäßige Rechte gewähren, die von Angreifern ausgenutzt werden können, wenn ein Container kompromittiert wird, was möglicherweise unbefugten Zugriff auf AWS Ressourcen, Datendiebstahl oder unbefugte Änderung Ihrer Infrastruktur ermöglicht. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es, den Zugriff mit den geringsten Rechten zu implementieren und die IAM-Rollen zu überprüfen, die Ihren Amazon ECS-Aufgaben zugeordnet sind.
Überprüfen Sie die angehängten Rollen
Gehen Sie zum IAM-Dashboard und wählen Sie die identifizierte Rolle aus. Überprüfen Sie die der IAM-Rolle zugeordnete Berechtigungsrichtlinie. Wenn für die Aufgabe eine Interaktion mit anderen AWS Diensten erforderlich ist, behalten Sie die Rolle „Aufgabenausführung“ bei und ziehen Sie in Betracht, Berechtigungen mit den geringsten Rechten anzuwenden. Andernfalls erstellen Sie eine neue Version der Aufgabendefinition ohne die Ausführungsrolle.
Der Amazon ECS-Service verwendet eine Aufgabendefinition, die Containern den Zugriff auf die Root-Dateisysteme ermöglicht.
Amazon ECS-Container mit Zugriff auf das Host-Root-Dateisystem können potenziell kritische Dateien auf dem Hostsystem lesen, ändern oder ausführen. Diese Konfiguration erhöht das Risiko, dass ein kompromittierter Container für den Zugriff auf oder die Änderung von Ressourcen außerhalb des vorgesehenen Bereichs verwendet werden könnte, wodurch möglicherweise sensible Daten im Host-Dateisystem offengelegt werden. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es sich, geringste Rechte zu gewähren, d. h., dass Sie nur die Berechtigungen gewähren, die für die Ausführung einer Aufgabe erforderlich sind.
Überprüfen und ändern Sie Container mit Zugriff auf das Host-Dateisystem
Identifizieren Sie im Expositionsergebnis den ARN der Aufgabendefinition. Öffnen Sie die Aufgabendefinition in der Amazon ECS-Konsole. Suchen Sie in der Aufgabendefinition nach dem Abschnitt Volumes, der Host-Pfadzuordnungen definiert. Prüfen Sie anhand der Aufgabendefinition, ob der Zugriff auf das Host-Dateisystem für die Container-Funktionalität erforderlich ist. s Falls kein Zugriff auf das Host-Dateisystem erforderlich ist, erstellen Sie eine neue Version der Aufgabendefinition und entfernen Sie alle Volume-Definitionen, die Hostpfade verwenden. Wenn Zugriff auf das Host-Dateisystem erforderlich ist, sollten Sie erwägen, den Container so zu konfigurieren, dass er ein schreibgeschütztes Dateisystem verwendet, um unbefugte Änderungen zu verhindern.
Der Amazon ECS-Service verwendet eine Aufgabendefinition, die so konfiguriert ist, dass sie den Prozess-Namespace eines Hosts gemeinsam nutzt.
Amazon ECS-Container, die mit exponierten Namespaces ausgeführt werden, können potenziell auf Hostsystemressourcen und andere Container-Namespaces zugreifen. Diese Konfiguration könnte es einem kompromittierten Container ermöglichen, seine Isolationsgrenze zu umgehen, was dazu führen könnte, dass auf Prozesse, Netzwerkschnittstellen oder andere Ressourcen außerhalb des vorgesehenen Bereichs zugegriffen wird. Ein Prozess-ID-Namespace (PID) sorgt für die Trennung zwischen Prozessen. Er verhindert, dass Systemprozesse sichtbar sind, und PIDs ermöglicht deren Wiederverwendung, einschließlich PID 1. Wenn der PID-Namespace des Hosts gemeinsam mit Containern genutzt wird, könnten Container alle Prozesse auf dem Hostsystem sehen. Dies verringert den Vorteil der Isolierung auf Prozessebene zwischen dem Host und den Containern. Diese Faktoren könnten zu unberechtigtem Zugriff auf Prozesse auf dem Host selbst führen, einschließlich der Möglichkeit, diese zu manipulieren und zu beenden. Es wird AWS empfohlen, die Namespace-Isolierung von Containern unter Einhaltung der Standardsicherheitsprinzipien aufrechtzuerhalten.
Aktualisieren Sie Aufgabendefinitionen mit offengelegten Namespaces
Öffnen Sie die Registerkarte Ressourcen der Exposure und identifizieren Sie die Aufgabendefinition mit dem exponierten Namespace. Öffnen Sie die Aufgabendefinition in der Amazon ECS-Konsole. Suchen Sie nach den PIDMode-Einstellungen mit dem Wert host, die die Prozess-ID-Namespaces mit dem Host teilen würden. Entfernen Sie die Einstellungen pidMode: host aus Ihren Aufgabendefinitionen, um sicherzustellen, dass Container mit der richtigen Namespace-Isolierung ausgeführt werden.
Der Amazon ECS-Service verwendet eine Aufgabendefinition, die mit Klartext-Anmeldeinformationen in den Umgebungsvariablen konfiguriert ist.
Amazon ECS-Container mit Klartext-Anmeldeinformationen in Umgebungsvariablen geben vertrauliche Authentifizierungsinformationen preis, die gefährdet werden könnten, wenn ein Angreifer Zugriff auf die Aufgabendefinition, die Container-Umgebung oder die Container-Logs erhält. Dies stellt ein erhebliches Sicherheitsrisiko dar, da durchgesickerte Anmeldeinformationen für den Zugriff auf andere AWS Dienste oder Ressourcen verwendet werden könnten.
Ersetzen Sie Klartext-Anmeldeinformationen
Identifizieren Sie bei der Ermittlung der Sicherheitslücke die Aufgabendefinition durch Klartext-Anmeldeinformationen. Öffnen Sie die Aufgabendefinition in der Amazon ECS-Konsole. Suchen Sie in der Container-Definition nach Umgebungsvariablen, die sensible Werte wie AWS Zugriffsschlüssel, Datenbankkennwörter oder API-Token enthalten.
Erwägen Sie die folgenden Alternativen, um Anmeldeinformationen zu übergeben:
-
Anstatt AWS Zugriffsschlüssel zu verwenden, verwenden Sie IAM-Aufgabenausführungsrollen und Aufgabenrollen, um Ihren Containern Berechtigungen zu erteilen.
-
Speichern Sie Anmeldeinformationen als Geheimnisse in AWS Secrets Manager und verweisen Sie in Ihrer Aufgabendefinition darauf.
Aktualisieren der Aufgabendefinitionen
Erstellen Sie eine neue Version Ihrer Aufgabendefinition, die Anmeldeinformationen sicher verarbeitet. Aktualisieren Sie dann Ihren Amazon ECS-Service, sodass er die neue Version der Aufgabendefinition verwendet.
Der Amazon ECS-Service hat eine offene Sicherheitsgruppe
Sicherheitsgruppen dienen als virtuelle Firewalls für Ihre Amazon ECS-Aufgaben zur Steuerung des eingehenden und ausgehenden Datenverkehrs. Offene Sicherheitsgruppen, die uneingeschränkten Zugriff von jeder beliebigen IP-Adresse aus ermöglichen, können Ihre Container unberechtigtem Zugriff aussetzen und so das Risiko erhöhen, automatisierten Scan-Tools und gezielten Angriffen ausgesetzt zu werden. Es wird AWS empfohlen, den Zugriff von Sicherheitsgruppen auf bestimmte IP-Adressen und Ports gemäß den Standardsicherheitsprinzipien zu beschränken.
Überprüfen Sie die Sicherheitsgruppenregeln und bewerten Sie die aktuelle Konfiguration
Öffnen Sie die Ressource für die Amazon ECS-Sicherheitsgruppe. Prüfen Sie, welche Ports offen und über breite IP-Bereiche zugänglich sind, z. (0.0.0.0/0 or ::/0)
B.
Ändern Sie die Regeln für Sicherheitsgruppen
Ändern Sie Ihre Sicherheitsgruppenregeln, um den Zugriff auf bestimmte vertrauenswürdige IP-Adressen oder Bereiche einzuschränken. Denken Sie bei der Aktualisierung Ihrer Sicherheitsgruppenregeln darüber nach, die Zugriffsanforderungen für verschiedene Netzwerksegmente zu trennen, indem Sie Regeln für jeden erforderlichen Quell-IP-Bereich erstellen oder den Zugriff auf bestimmte Ports einschränken.
Ändern Sie die Regeln für Sicherheitsgruppen
Ziehen Sie die folgenden Optionen für alternative Zugriffsmethoden in Betracht:
-
Session Manager bietet sicheren Shell-Zugriff auf Ihre EC2 Amazon-Instances, ohne dass Sie eingehende Ports benötigen, SSH-Schlüssel verwalten oder Bastion-Hosts verwalten müssen.
-
NACLs bieten eine zusätzliche Sicherheitsebene auf Subnetzebene. Im Gegensatz zu Sicherheitsgruppen NACLs sind sie zustandslos und erfordern, dass sowohl eingehende als auch ausgehende Regeln explizit definiert werden.
Der Amazon ECS-Service hat eine öffentliche IP-Adresse
Amazon ECS-Services mit öffentlichen IP-Adressen, die ihren Aufgaben zugewiesen sind, sind direkt über das Internet zugänglich. Dies kann zwar für Dienste erforderlich sein, die öffentlich verfügbar sein müssen, erhöht jedoch die Angriffsfläche und das Potenzial für unbefugten Zugriff.
Identifizieren Sie Dienste mit öffentlichen IP-Adressen
Identifizieren Sie in der Risikofeststellung den Amazon ECS-Service, dem öffentliche IP-Adressen für seine Aufgaben zugewiesen wurden. Suchen Sie in der Servicekonfiguration nach ENABLED
der assignPublicIp
Einstellung mit dem Wert von.
Aktualisieren der Aufgabendefinitionen
Erstellen Sie eine neue Version Ihrer Aufgabendefinition, die öffentliche IP-Adressen deaktiviert. Aktualisieren Sie dann Ihren Amazon ECS-Service, sodass er die neue Version der Aufgabendefinition verwendet.
Implementieren Sie Zugriffsmuster für private Netzwerke
Für Instances, auf denen Webanwendungen ausgeführt werden, sollten Sie die Verwendung eines Load Balancer (LB) in Betracht ziehen. LBs kann so konfiguriert werden, dass Ihre Instances in privaten Subnetzen ausgeführt werden können, während der LB in einem öffentlichen Subnetz läuft und den Internetverkehr abwickelt.
Der Amazon ECS-Service verwendet eine Aufgabendefinition, die mit aktiviertem Host-Netzwerkmodus konfiguriert ist.
Amazon ECS-Container, die im Host-Netzwerkmodus ausgeführt werden, teilen sich den Netzwerk-Namespace mit dem Host, was direkten Zugriff auf die Netzwerkschnittstellen, Ports und Routing-Tabellen des Hosts ermöglicht. Diese Konfiguration umgeht die durch Container bereitgestellte Netzwerkisolierung, wodurch Dienste, die auf dem Container ausgeführt werden, möglicherweise direkt externen Netzwerken zugänglich gemacht werden und es Containern ermöglicht, die Netzwerkeinstellungen des Hosts zu ändern. Es wird AWS empfohlen, die Einhaltung der Standardsicherheitsprinzipien aufrechtzuerhalten, um Container ordnungsgemäß zu isolieren.
Deaktivieren Sie den Host-Netzwerkmodus
Identifizieren Sie in der Expositionsanalyse die Aufgabendefinition mit dem Host-Netzwerkmodus. Öffnen Sie die Aufgabendefinition in der Amazon ECS-Konsole. Suchen Sie in der Aufgabendefinition nach der Einstellung NetworkMode mit dem Wert host.
Ziehen Sie die folgenden Optionen in Betracht, um den Host-Netzwerkmodus zu deaktivieren:
-
Der
awsvpc
Netzwerkmodus bietet die stärkste Netzwerkisolierung, indem er jeder Aufgabe eine eigene elastic network interface gibt. -
Der
bridge
Netzwerkmodus bietet Isolierung und ermöglicht gleichzeitig Portzuordnungen, um dem Host bestimmte Container-Ports zugänglich zu machen.
Aktualisieren der Aufgabendefinitionen
Erstellen Sie eine neue Version Ihrer Aufgabendefinition mit der aktualisierten Netzwerkmoduskonfiguration. Aktualisieren Sie dann Ihren Amazon ECS-Service, sodass er die neue Version der Aufgabendefinition verwendet.
Die mit dem Amazon ECS-Service verknüpfte IAM-Rolle hat eine administrative Zugriffsrichtlinie.
IAM-Rollen mit administrativen Zugriffsrichtlinien, die an Amazon ECS-Aufgaben angehängt sind, bieten umfassende Berechtigungen, die über das hinausgehen, was normalerweise für den Containerbetrieb erforderlich ist. Diese Konfiguration erhöht das Risiko, dass ein kompromittierter Container für den Zugriff auf oder die Änderung von Ressourcen in Ihrer AWS gesamten Umgebung verwendet werden könnte. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es sich, den Zugriff mit den geringsten Rechten zu implementieren, indem nur die Berechtigungen gewährt werden, die für die Ausführung einer Aufgabe erforderlich sind.
Überprüfen und identifizieren Sie die Verwaltungsrichtlinien
Identifizieren Sie in der Ressourcen-ID den Namen der IAM-Rolle. Gehen Sie zum IAM-Dashboard und wählen Sie die identifizierte Rolle aus. Überprüfen Sie die der IAM-Rolle zugeordnete Berechtigungsrichtlinie. Wenn es sich bei der Richtlinie um eine AWS verwaltete Richtlinie handelt, suchen AdministratorAccess
Sie nach. Suchen Sie andernfalls im Richtliniendokument nach Aussagen, in denen die Aussagen "Effect": "Allow", "Action": "*", and "Resource": "*"
zusammengefasst sind.
Implementieren des Zugriffs mit geringsten Berechtigungen
Ersetzen Sie Verwaltungsrichtlinien durch Richtlinien, die nur die spezifischen Berechtigungen gewähren, die für das Funktionieren der Instanz erforderlich sind. Um unnötige Berechtigungen zu identifizieren, können Sie den IAM Access Analyzer verwenden, um zu verstehen, wie Sie Ihre Richtlinie auf der Grundlage des Zugriffsverlaufs ändern können. Alternativ können Sie eine neue IAM-Rolle erstellen, um zu vermeiden, dass sich dies auf andere Anwendungen auswirkt, die die vorhandene Rolle verwenden. Erstellen Sie in diesem Szenario eine neue IAM-Rolle und ordnen Sie dann die neue IAM-Rolle der Instance zu.
Überlegungen zur sicheren Konfiguration
Wenn für die Instanz Administratorberechtigungen auf Service-Ebene erforderlich sind, sollten Sie die Implementierung dieser zusätzlichen Sicherheitskontrollen in Betracht ziehen, um das Risiko zu minimieren:
-
MFA fügt eine zusätzliche Sicherheitsebene hinzu, indem es eine zusätzliche Form der Authentifizierung erfordert. Dies hilft, unbefugten Zugriff zu verhindern, selbst wenn Anmeldeinformationen kompromittiert werden.
-
Durch die Einrichtung von Bedingungselementen können Sie anhand von Faktoren wie Quell-IP oder MFA-Alter einschränken, wann und wie Administratorberechtigungen verwendet werden können.
Aktualisieren der Aufgabendefinitionen
Erstellen Sie eine neue Version Ihrer Aufgabendefinition, die auf die neuen oder aktualisierten IAM-Rollen verweist. Aktualisieren Sie dann Ihren Amazon ECS-Service, sodass er die neue Version der Aufgabendefinition verwendet.
Merkmale der Sicherheitslücke für Amazon ECS-Services
Im Folgenden finden Sie Merkmale der Erreichbarkeit für Amazon ECS und empfohlene Schritte zur Problembehebung.
Der Amazon ECS-Service verfügt über einen Container mit Softwareschwachstellen, die über das Netzwerk ausgenutzt werden können und deren Ausnutzung sehr wahrscheinlich ist
-
Verstehen Sie das Risiko
Package von Ergebnissen zu Sicherheitslücken in Paketen werden Softwarepakete in Ihrer AWS Umgebung identifiziert, die häufig auftretenden Sicherheitslücken (CVEs) ausgesetzt sind. Angreifer können diese ungepatchten Sicherheitslücken ausnutzen, um die Vertraulichkeit, Integrität oder Verfügbarkeit von Daten zu gefährden oder auf andere Systeme zuzugreifen. ECR-Container-Images können Erkenntnisse zu Sicherheitslücken in Paketen enthalten.
-
Korrigieren Sie das Risiko
-
Paketversion aktualisieren
Überprüfen Sie die Sicherheitslücke im Paket für Ihre Lambda-Funktion. Aktualisieren Sie die Paketversion wie von Amazon Inspector vorgeschlagen. Weitere Informationen finden Sie unter Anzeigen von Details zu Ihren Amazon Inspector Inspector-Ergebnissen im Amazon Inspector Inspector-Benutzerhandbuch. Im Abschnitt Behebung der Suchdetails in der Amazon Inspector Inspector-Konsole erfahren Sie, welche Befehle Sie ausführen können, um das Paket zu aktualisieren.
-
Aktualisieren Sie die Basis-Container-Images
Erstellen und aktualisieren Sie die Basis-Container-Images regelmäßig, um Ihre Container auf dem neuesten Stand zu halten. Fügen Sie beim Neuaufbau des Images keine unnötigen Komponenten hinzu, um die Angriffsfläche zu reduzieren. Anweisungen zur Neuerstellung eines Container-Images finden Sie unter Häufig Ihre Images neu erstellen
.
-
Der Amazon ECS-Service hat einen Container mit Softwareschwachstellen
Softwarepakete, die auf Amazon ECS-Containern installiert sind, können Common Vulnerabilities and Exposures (CVEs) ausgesetzt sein. Sicherheitslücken mit niedriger Priorität sind Sicherheitslücken mit geringerem Schweregrad oder geringerer Ausnutzbarkeit als Sicherheitslücken mit hoher Priorität. Diese Sicherheitslücken stellen zwar ein geringeres unmittelbares Risiko dar, aber Angreifer können diese ungepatchten Sicherheitslücken dennoch ausnutzen, um die Vertraulichkeit, Integrität oder Verfügbarkeit von Daten zu gefährden oder auf andere Systeme zuzugreifen.
Aktualisieren Sie die betroffenen Container-Images
Sehen Sie sich den Abschnitt Referenzen auf der Registerkarte Sicherheitslücke des Merkmals an. Die Herstellerdokumentation kann spezifische Anleitungen zur Problembehebung enthalten.
Wenden Sie die entsprechenden Abhilfemaßnahmen an, indem Sie die folgenden allgemeinen Richtlinien befolgen:
-
Aktualisieren Sie Ihre Container-Images, um gepatchte Versionen der betroffenen Pakete zu verwenden.
-
Aktualisieren Sie die betroffenen Abhängigkeiten in Ihrer Anwendung auf die neuesten sicheren Versionen.
Nachdem Sie Ihr Container-Image aktualisiert haben, übertragen Sie es in Ihre Container-Registry und aktualisieren Sie Ihre Amazon ECS-Aufgabendefinition, um das neue Image zu verwenden.
Zukünftige Überlegungen
Um den Sicherheitsstatus Ihrer Container-Images weiter zu verbessern, sollten Sie die Best Practices für Aufgaben und Containersicherheit von Amazon ECS befolgen. Amazon Inspector kann so konfiguriert werden, dass es automatisch CVEs nach Ihren Containern sucht. Amazon Inspector kann für automatische Problembehebungen auch in Security Hub integriert werden. Erwägen Sie die Implementierung eines regelmäßigen Patch-Zeitplans mithilfe von Systems Manager Maintenance Windows, um Unterbrechungen Ihrer Container so gering wie möglich zu halten.