Bewährte Methoden zur Netzwerksicherheit für Amazon ECS - Amazon Elastic Container Service

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.

Bewährte Methoden zur Netzwerksicherheit für Amazon ECS

Netzwerksicherheit ist ein breit gefächertes Thema, das mehrere Unterthemen umfasst. Dazu gehören encryption-in-transit Netzwerksegmentierung und -isolierung, Firewalling, Datenverkehrs-Routing und Beobachtbarkeit.

Verschlüsselung während der Übertragung

Die Verschlüsselung des Netzwerkverkehrs verhindert, dass unbefugte Benutzer Daten abfangen und lesen können, wenn diese Daten über ein Netzwerk übertragen werden. Mit Amazon ECS kann Netzwerkverschlüsselung auf eine der folgenden Arten implementiert werden.

  • Verwenden von Nitro-Instances:

    Standardmäßig wird der Datenverkehr zwischen den folgenden Nitro-Instance-Typen automatisch verschlüsselt: C5n, G4, I3en, M5dn, M5n, P3dn, R5dn, und R5n. Der Datenverkehr wird nicht verschlüsselt, wenn er über ein Transit-Gateway, einen Load Balancer oder einen ähnlichen Vermittler geleitet wird.

  • Verwenden von Server Name Indication (SNI) mit einem Application Load Balancer:

    Der Application Load Balancer (ALB) und der Network Load Balancer (NLB) unterstützen Server Name Indication (SNI). Mit dieser Option SNI können Sie mehrere sichere Anwendungen hinter einem einzigen Listener platzieren. Dafür hat jeder sein eigenes TLS Zertifikat. Wir empfehlen, dass Sie Zertifikate für den Load Balancer mithilfe von AWS Certificate Manager (ACM) bereitstellen und sie dann der Zertifikatsliste des Listeners hinzufügen. Der AWS Load Balancer verwendet einen intelligenten Algorithmus zur Zertifikatsauswahl mit. SNI Wenn der von einem Client bereitgestellte Hostname nur mit einem Zertifikat in der Zertifikatliste übereinstimmt, wählt der Load Balancer dieses Zertifikat aus. Wenn ein von einem Client bereitgestellter Hostname mit mehreren Zertifikaten in der Liste übereinstimmt, wählt der Load Balancer ein Zertifikat aus, das der Client unterstützen kann. Beispiele hierfür sind ein selbstsigniertes Zertifikat oder ein Zertifikat, das über den generiert wurde. ACM

  • End-to-end Verschlüsselung mit TLS Zertifikaten:

    Dies beinhaltet die Bereitstellung eines TLS Zertifikats zusammen mit der Aufgabe. Dabei kann es sich entweder um ein selbstsigniertes Zertifikat oder um ein Zertifikat einer vertrauenswürdigen Zertifizierungsstelle handeln. Sie können das Zertifikat erhalten, indem Sie auf ein Secret für das Zertifikat verweisen. Andernfalls können Sie einen Container ausführen, der eine Zertifikatssignieranforderung (CSR) an einen gemeinsam genutzten Datenträger ausgibt ACM und den daraus resultierenden geheimen Schlüssel anschließend auf einem gemeinsam genutzten Volume mountet.

Aufgabenvernetzung

Die folgenden Empfehlungen beziehen sich auf die ECS Funktionsweise von Amazon. Amazon verwendet ECS kein Overlay-Netzwerk. Stattdessen sind die Aufgaben so konfiguriert, dass sie in verschiedenen Netzwerkmodi arbeiten. Aufgaben, die für die Verwendung des bridge-Modus konfiguriert sind, erhalten beispielsweise eine nicht weiterleitbare IP-Adresse von einem Docker-Netzwerk, das auf jedem Host läuft. Aufgaben, die für die Verwendung des awsvpc-Netzwerkmodus konfiguriert sind, beziehen eine IP-Adresse aus dem Subnetz des Hosts. Aufgaben, die für host-Netzwerke konfiguriert sind, verwenden die Netzwerkschnittstelle des Hosts. awsvpc ist der bevorzugte Netzwerkmodus. Dies liegt daran, dass dies der einzige Modus ist, mit dem Sie Sicherheitsgruppen an Aufgaben zuweisen können. Es ist auch der einzige Modus, der für AWS Fargate Aufgaben bei Amazon verfügbar istECS.

Sicherheitsgruppen für Aufgaben

Es wird empfohlen, Ihre Aufgaben zur Verwendung des awsvpc-Netzwerkmodus zu konfigurieren. Nachdem Sie Ihre Aufgabe für die Verwendung dieses Modus konfiguriert haben, stellt der ECS Amazon-Agent automatisch eine Elastic Network Interface (ENI) bereit und fügt sie der Aufgabe hinzu. Wenn die bereitgestellt ENI wird, wird die Aufgabe in eine AWS Sicherheitsgruppe aufgenommen. Die Sicherheitsgruppe dient als virtuelle Firewall, mit der Sie den ein- und ausgehenden Datenverkehr kontrollieren können.

AWS PrivateLink ist eine Netzwerktechnologie, mit der Sie private Endpunkte für verschiedene AWS Dienste, einschließlich AmazonECS, einrichten können. Die Endpunkte sind in Sandbox-Umgebungen erforderlich, in denen kein Internet Gateway (IGW) mit dem Amazon verbunden ist VPC und keine alternativen Routen zum Internet bestehen. Durch die Verwendung AWS PrivateLink wird sichergestellt, dass Anrufe an den ECS Amazon-Dienst innerhalb des Amazon bleiben VPC und nicht das Internet durchqueren. Anweisungen zum Erstellen von AWS PrivateLink Endpunkten für Amazon ECS und andere verwandte Dienste finden Sie unter ECSAmazon-Schnittstelle zu VPC Amazon-Endpunkten.

Wichtig

AWS Fargate Aufgaben benötigen keinen AWS PrivateLink Endpunkt für AmazonECS.

Amazon ECR und Amazon unterstützen ECS beide Endpunktrichtlinien. Diese Richtlinien ermöglichen es Ihnen, den Zugriff auf einen Service zu verfeinernAPIs. Sie könnten beispielsweise eine Endpunktrichtlinie für Amazon erstellenECR, die es nur erlaubt, Bilder an Registries in bestimmten AWS Konten zu übertragen. Eine solche Richtlinie könnte verwendet werden, um zu verhindern, dass Daten über Container-Images exfiltriert werden, und Benutzern gleichzeitig ermöglichen, zu autorisierten ECR Amazon-Registern zu wechseln. Weitere Informationen finden Sie unter Endpunktrichtlinien verwenden VPC.

Die folgende Richtlinie ermöglicht es allen AWS Principals in Ihrem Konto, alle Aktionen nur für Ihre ECR Amazon-Repositorys durchzuführen:

{ "Statement": [ { "Sid": "LimitECRAccess", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "arn:aws:ecr:region:account_id:repository/*" }, ] }

Sie können dies weiter verbessern, indem Sie eine Bedingung festlegen, die die neue PrincipalOrgID-Eigenschaft verwendet. Dadurch wird verhindert, dass Bilder von einem IAM Principal, der nicht zu Ihrem gehört, per Push oder Pull abgerufen werden. AWS Organizations Weitere Informationen finden Sie unter aws: PrincipalOrg ID.

Wir haben empfohlen, dieselbe Richtlinie sowohl auf die com.amazonaws.region.ecr.dkr- als auch die com.amazonaws.region.ecr.api-Endpunkte anzuwenden.

Einstellungen für den Container-Agenten

Die ECS Amazon-Container-Agent-Konfigurationsdatei enthält mehrere Umgebungsvariablen, die sich auf die Netzwerksicherheit beziehen. ECS_AWSVPC_BLOCK_IMDSund ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST werden verwendet, um den Zugriff einer Aufgabe auf EC2 Amazon-Metadaten zu blockieren. HTTP_PROXYwird verwendet, um den Agenten so zu konfigurieren, dass er die Verbindung zum Internet über einen HTTP Proxy weiterleitet. Anweisungen zur Konfiguration des Agenten und der Docker-Laufzeit für die Weiterleitung über einen Proxy finden Sie unter HTTPProxykonfiguration.

Wichtig

Diese Einstellungen sind nicht verfügbar, wenn Sie sie AWS Fargate verwenden.

Empfehlungen zur Netzwerksicherheit

Wir empfehlen Ihnen, bei der Einrichtung von AmazonVPC, Load Balancer und Netzwerk wie folgt vorzugehen.

Verwenden Sie bei Amazon gegebenenfalls Netzwerkverschlüsselung ECS

Sie sollten gegebenenfalls Netzwerkverschlüsselung verwenden. Bestimmte Compliance-Programme, wie z. B. PCIDSS, verlangen, dass Sie Daten während der Übertragung verschlüsseln, wenn die Daten Karteninhaberdaten enthalten. Wenn Ihr Workload ähnliche Anforderungen hat, konfigurieren Sie die Netzwerkverschlüsselung.

Moderne Browser warnen Benutzer, wenn sie eine Verbindung zu unsicheren Websites herstellen. Wenn Ihr Dienst von einem öffentlich zugänglichen Load Balancer unterstützt wird, verwenden SieTLS/, SSL um den Datenverkehr vom Browser des Clients zum Load Balancer zu verschlüsseln und, falls erforderlich, erneut zum Backend zu verschlüsseln.

Verwenden Sie den awsvpc Netzwerkmodus und Sicherheitsgruppen, um den Verkehr zwischen Aufgaben und anderen Ressourcen in Amazon zu kontrollieren ECS

Sie sollten den awsvpc-Netzwerkmodus und Sicherheitsgruppen verwenden, wenn Sie den Verkehr zwischen Aufgaben sowie solchen zwischen Aufgaben und anderen Netzwerkressourcen kontrollieren müssen. Wenn Ihr Dienst hinter einem stehtALB, verwenden Sie Sicherheitsgruppen, um nur eingehenden Verkehr von anderen Netzwerkressourcen zuzulassen, die dieselbe Sicherheitsgruppe wie Ihre verwenden. ALB Wenn sich Ihre Anwendung hinter einem befindetNLB, konfigurieren Sie die Sicherheitsgruppe der Aufgabe so, dass nur eingehender Datenverkehr aus dem VPC CIDR Amazon-Bereich und den statischen IP-Adressen zugelassen wird, die dem NLB zugewiesen sind.

Sicherheitsgruppen sollten auch verwendet werden, um den Verkehr zwischen Aufgaben und anderen Ressourcen innerhalb des Amazonas, VPC wie z. B. RDS Amazon-Datenbanken, zu kontrollieren.

Erstellen Sie ECS Amazon-Cluster in einem separaten AmazonVPCs, wenn der Netzwerkverkehr strikt isoliert werden muss

Sie sollten Cluster in einem separaten Amazon erstellenVPCs, wenn der Netzwerkverkehr strikt isoliert werden muss. Vermeiden Sie es, Workloads mit strengen Sicherheitsanforderungen auf Clustern mit Workloads auszuführen, die diese Anforderungen nicht erfüllen müssen. Wenn eine strikte Netzwerkisolierung erforderlich ist, erstellen Sie Cluster in einem separaten Amazon VPCs und stellen Sie Dienste VPCs mithilfe von VPC Amazon-Endpunkten selektiv anderen Amazon-Benutzern zur Verfügung. Weitere Informationen finden Sie unter VPC-Endpunkte.

Sie sollten Endpunkte und AWS PrivateLink Endpunkte konfigurieren, sofern dies gerechtfertigt ist. Wenn Ihre Sicherheitsrichtlinie Sie daran hindert, ein Internet Gateway (IGW) mit Ihrem Amazon zu verbindenVPCs, konfigurieren Sie AWS PrivateLink Endgeräte für Amazon ECS und andere Dienste wie Amazon ECR AWS Secrets Manager, und Amazon. CloudWatch

Verwenden Sie Amazon VPC Flow Logs, um den Verkehr zu und von lang andauernden Aufgaben in Amazon zu analysieren ECS

Sie sollten Amazon VPC Flow Logs verwenden, um den Verkehr zu und von lang andauernden Aufgaben zu analysieren. Aufgaben, die den awsvpc Netzwerkmodus verwenden, erhalten ihren eigenen. ENI Auf diese Weise können Sie mithilfe von Amazon VPC Flow Logs den Verkehr überwachen, der zu und von einzelnen Aufgaben geht. Ein kürzlich veröffentlichtes Update von Amazon VPC Flow Logs (v3) bereichert die Protokolle mit Verkehrsmetadaten wie der VPC-ID, der Subnetz-ID und der Instance-ID. Diese Metadaten können verwendet werden, um eine Untersuchung einzugrenzen. Weitere Informationen finden Sie unter Amazon VPC Flow Logs.

Anmerkung

Aufgrund des temporären Charakters von Containern sind Flow-Protokolle möglicherweise nicht immer eine effektive Methode, um Verkehrsmuster zwischen verschiedenen Containern oder Containern und anderen Netzwerkressourcen zu analysieren.