T-Systems-Claim-Logo
Suchen
Auge hinter einem digitalen blauen Feld

So aktivieren Sie Traffic Mirroring für ECS Fargate-Services

Lernen Sie anhand eines realen Anwendungsfalls die einzelnen Schritte der Konfiguration kennen

16. September 2022Thomas Friedland

Warum sollten Sie AWS Fargate verwenden?

Flow Logs erfassen nicht den gesamten IP-Datenverkehr im Internet. Möchten Sie den gesamten IP-Datenverkehr einschließlich der Nutzlast überwachen, steht Ihnen AWS Fargate zum Traffic Mirroring zur Verfügung. Die Serverless Compute Engine für Container ist sowohl mit dem Amazon Elastic Container Service (ECS) als auch mit dem Amazon Elastic Kubernetes Service (EKS) kompatibel.

Was ist Traffic Mirroring?

Frau sitzt vor einem Computer und arbeitet mit HTML-Codes

Beim Monitoring von Geräten oder im Bereich der Out-of-Band-Sicherheit ist Traffic Mirroring eine Technik, mit der der ein- und ausgehende Datenverkehr einer bestimmten Ethernet-Schnittstelle auf eine zweite Schnittstelle kopiert wird, um weitere Analysen durchzuführen:

  • Content-Inspection
  • Bedrohungsüberwachung
  • Problembehandlung

Um den Datenverkehr in der AWS Cloud zu analysieren, werden standardmäßig AWS VPC-Flow Logs aktiviert – wahlweise über die Amazon Virtual Private Cloud (Amazon VPC), ein Subnetzwerk oder die Elastic-Netzwerkschnittstelle.

Flow Logs erfassen den IP-Datenverkehr, der normalerweise durch einen 5-Tupel-Wertesatz gekennzeichnet ist:

  • protocol
  • source IP
  • source port
  • destination IP
  • destination port

Der größte Nachteil von Flow Logs besteht darin, dass sie nicht den gesamten IP-Datenverkehr erfassen. Folgende Datenverkehr-Typen werden nicht protokolliert:

  • Datenverkehr, der von Instanzen beim Kontaktieren des Amazon DNS-Servers generiert wird. Verwenden Sie Ihren eigenen DNS-Server, wird der gesamte Datenverkehr zu diesem DNS-Server protokolliert.
  • Datenverkehr, der von einer Windows-Instanz für die Amazon Windows-Lizenzaktivierung generiert wird.
  • Datenverkehr zu und von 169.254.169.254, beispielsweise Metadaten.
  • Datenverkehr zu und von 169.254.169.123 für den Amazon Time Sync Service.
  • DHCP-Datenverkehr.
  • Gespiegelter Datenverkehr (mirrored traffic).
  • Datenverkehr an die reservierte IP-Adresse des Standard-VPC-Routers.
  • Datenverkehr zwischen einer Endpunkt-Netzwerkschnittstelle und einer Load Balancer-Netzwerkschnittstelle.

Darüber hinaus erfassen Flow Logs nur die Initiierung des Datenverkehrs. Nach dem Aufbau der Verbindung wird die Nutzlast überhaupt nicht protokolliert.

Möchten Sie den gesamten IP-Datenverkehr einschließlich der Nutzlast überwachen, steht Ihnen AWS VPC zum Traffic Mirroring zur Verfügung.

Drei Schritte zum Traffic Mirroring

Screenshot of how to creat traffic mirroring

Das Einrichten der AWS VPC Traffic Mirroring Architektur der Virtual Private Cloud umfasst drei Schritte. Zunächst erstellen Sie ein Traffic Mirror-Ziel, das auf eine der folgenden Ressourcen verweist:

  • Netzwerkschnittstelle
  • Netzwerk Load Balancer
  • Gateway Load Balancer

1. Netzwerkschnittstelle

Am einfachsten ist es, eine AWS EC2-Instanz hochzufahren, auf der eine Anwendung ausgeführt wird, und den üblichen Traffic Mirror-Port 4789 UDP zu überwachen. Wählen Sie beim Erstellen des Traffic Mirror-Ziels die Netzwerkschnittstelle aus, die zur vorab erstellten EC2-Instanz gehört.

2. Netzwerk Load Balancer

Erstellen Sie im zweiten Schritt einen Traffic Mirror-Filter, der definiert, welche Art von Datenverkehr gefiltert werden soll. Sie können die eingehenden Daten einschränken, indem Sie eine oder mehrere Regeln nach dem 5-Tupel-Prinzip angeben.

In unserem Fall haben wir eine Regel wie folgt erstellt:

Sreenshot of how to creat traffic mirroring
A graphic of the Architecture of the Amazon EventBridge and the AWS Lambda

Diese Regel leitet einfach jeden Datenverkehr an das konfigurierte Traffic Mirror-Ziel weiter.

3. Gateway Load Balancer

Im dritten Schritt wird eine Traffic Mirror-Sitzung erstellt. Wählen Sie die Elastic-Netzwerkschnittstellenquelle aus, die Sie überwachen möchten und weisen Sie diese Ihrem zuvor erstellten Mirror-Ziel zu. Hier wenden Sie auch den Filter an, den wir in Schritt zwei erstellt haben. Bei einem gewöhnlichen Setup ohne automatische Skalierung ist die Einrichtung damit abgeschlossen. Wir möchten aber den gesamten Datenverkehr des AWS Fargate-Services protokollieren. Die Herausforderung dabei: Die verwendeten Elastic-Netzwerkschnittstellen sind nicht statisch. Bei jedem Skalierungsereignis oder jedem Deployment ändern sich die Schnittstellen und das Setup muss neu konfiguriert werden.

Die AWS Fargate-Servicelösung

Da AWS Fargate Services das AWS Nitro System nutzen, laufen alle Fargate-Container auf einer Elastic-Netzwerkschnittstelle, was im Klartext bedeutet, dass sie den Datenverkehr an den AWS VPC Traffic Mirror spiegeln. Dennoch müssen wir über die Änderungen am Container-Service benachrichtigt werden, um auf diese reagieren zu können.  Hierfür können wir Amazon EventBridge in Kombination mit AWS Lambda verwenden. Die Architektur schaut wie folgt aus:

Beim Start generiert jeder AWS Fargate-Container bestimmte Ereignisse, wie in der AWS-Dokumentation beschrieben.

Klicken Sie hier um einen Fargate-Anwendungsfall zu sehen.

Zusammenfassung

Die Lösung veranschaulicht die wesentlichen Komponenten, die erforderlich sind, um dem gesamten von einem AWS Fargate-Service generierten Datenverkehr an ein externes Traffic Control System (wie Splunk) zu erfassen, um weitere Traffic-Analysen durchzuführen.

Wie die EC2 Instanz konfiguriert wird, die den gespiegelten Datenverkehr empfängt, können wir an dieser Stelle nicht erläutern. Wenden Sie sich gerne an uns, um mehr darüber zu erfahren.

Zur Person
Thomas Friedland

Thomas Friedland

Senior Cloud Architect, T-Systems International GmbH

Profil und alle Artikel ansehen

Das könnte Sie auch interessieren:

Besuchen Sie t-systems.com außerhalb von Germany? Besuchen Sie die lokale Website für weiterführende Informationen und Angebote für Ihr Land.