Stellen Sie sicher, dass AWS Load Balancer sichere Listener-Protokolle verwenden (HTTPS,SSL/) TLS - AWS Prescriptive Guidance

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.

Stellen Sie sicher, dass AWS Load Balancer sichere Listener-Protokolle verwenden (HTTPS,SSL/) TLS

Erstellt von Chandini Penmetsa () und Purushotham G K () AWS AWS

Umwelt: Produktion

Technologien: Sicherheit, Identität, Compliance

Arbeitslast: Alle anderen Workloads

AWSDienste: AmazonSNS; Amazon AWS CloudFormation; AWS Lambda CloudWatch; Elastic Load Balancing () ELB

Übersicht

In der Amazon Web Services (AWS) Cloud verteilt Elastic Load Balancing den eingehenden Anwendungsdatenverkehr automatisch auf mehrere Ziele, z. B. Amazon Elastic Compute Cloud (AmazonEC2) -Instances, Container, IP-Adressen und AWS Lambda-Funktionen. Die Load Balancer verwenden Listener, um die Ports und Protokolle zu definieren, die der Load Balancer verwendet, um Traffic von Benutzern anzunehmen. Application Load Balancer treffen Routing-Entscheidungen auf Anwendungsebene und verwenden die. HTTP/HTTPS protocols. Network Load Balancers make routing decisions at the transport layer and use the Transmission Control Protocol (TCP), Transport Layer Security (TLS), User Datagram Protcol (UDP), or TCP_UDP protocols. Classic Load Balancers make routing decisions at either the transport layer, using TCP or Secure Sockets Layer (SSL) protocols, or at the application layer, using HTTP/HTTPS

In Ihrem Unternehmen besteht möglicherweise eine Sicherheits- oder Compliance-Anforderung, dass Load Balancer Datenverkehr von Benutzern nur über sichere Protokolle wie HTTPS oderSSL/akzeptieren. TLS

Dieses Muster bietet eine Sicherheitskontrolle, die eine EventBridge Amazon-Regel verwendet, um die CreateListener Application Load Balancer und Network Load Balancer CreateLoadBalancerListeners und die CreateLoadBalancer API Aufrufe für Classic Load Balancer zu überwachen. ModifyListener API Wenn HTTPUDP,TCP/oder TCP _ für das Listener-Protokoll des Load Balancers verwendet UDP wird, ruft das Steuerelement eine Lambda-Funktion auf. Die Lambda-Funktion veröffentlicht eine Nachricht an ein Amazon Simple Notification Service (AmazonSNS) -Thema, um eine Benachrichtigung zu senden, die die Load Balancer-Details enthält.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives Konto AWS

  • Eine E-Mail-Adresse, an die Sie die Benachrichtigung über den Verstoß erhalten möchten

  • Ein Amazon Simple Storage Service (Amazon S3) -Bucket zum Speichern der Lambda-Code-ZIP-Datei

Einschränkungen

  • Diese Sicherheitskontrolle sucht nicht nach vorhandenen Load Balancers, es sei denn, die Load Balancer-Listener werden aktualisiert.

  • Diese Sicherheitskontrolle ist regional und muss in den AWS Regionen eingesetzt werden, die Sie überwachen möchten.

Architektur

Zieltechnologie-Stack

  • Lambda-Funktion

  • SNSAmazon-Thema

  • EventBridge Regel

Zielarchitektur

Eine EventBridge Regel, die Load API Balancer-Aufrufe überwacht und eine SNS Amazon-Benachrichtigung auslöst.

Automatisierung und Skalierung

  • Wenn Sie AWS Organizations verwenden, können Sie AWSCloudformation verwenden, StackSets um diese Vorlage in mehreren Konten bereitzustellen, die überwacht werden sollen.

Tools

  • AWS CloudFormation— AWS CloudFormation ist ein Service, der Ihnen hilft, AWS Ressourcen zu modellieren und einzurichten, indem er Infrastruktur als Code verwendet.

  • Amazon EventBridge — Amazon EventBridge liefert einen Stream von Echtzeitdaten aus Ihren eigenen Anwendungen, SaaS-Anwendungen (Software as a Service) und AWS Services und leitet diese Daten an Ziele wie Lambda-Funktionen weiter.

  • AWSLambda — Lambda unterstützt die Ausführung von Code ohne Bereitstellung oder Verwaltung von Servern.

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) ist ein hoch skalierbarer Objektspeicherservice, der für eine Vielzahl von Speicherlösungen verwendet werden kann, darunter Websites, mobile Anwendungen, Backups und Data Lakes.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) koordiniert und verwaltet die Zustellung oder den Versand von Nachrichten zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen. Abonnenten erhalten die veröffentlichten Mitteilungen zu den Themen, die sie abonniert haben. Alle Abonnenten eines Themas erhalten dieselben Mitteilungen.

Bewährte Methoden

Stellen Sie sicher, dass das verwendete SNS Thema nicht öffentlich zugänglich ist. Weitere Informationen finden Sie in der AWSDokumentation.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Definieren Sie den S3-Bucket.

Wählen oder erstellen Sie auf der Amazon S3 S3-Konsole einen S3-Bucket mit einem eindeutigen Namen, der keine führenden Schrägstriche enthält. Ein S3-Bucket-Name ist weltweit eindeutig und der Namespace wird von allen AWS Konten gemeinsam genutzt. Ihr S3-Bucket muss sich in derselben Region befinden wie der Load Balancer, der evaluiert wird.

Cloud-Architekt

Laden Sie den Lambda-Code in den S3-Bucket hoch.

Laden Sie die Lambda-Code-ZIP-Datei, die im Abschnitt „Anlagen“ bereitgestellt wird, in den definierten S3-Bucket hoch.

Cloud-Architekt

Stellen Sie die AWS CloudFormation Vorlage bereit.

Stellen Sie auf der AWS CloudFormation Konsole, in derselben AWS Region wie der S3-Bucket, die Vorlage bereit, die im Abschnitt „Anlagen“ bereitgestellt wird. Geben Sie im nächsten Epic die Werte für die Parameter an.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Nennen Sie den S3-Bucket.

Geben Sie den Namen des S3-Buckets ein, den Sie im ersten Epic erstellt haben.

Cloud-Architekt

Geben Sie das Amazon S3 S3-Präfix an.

Geben Sie den Speicherort der Lambda-Code-ZIP-Datei in Ihrem S3-Bucket an, ohne vorangestellte Schrägstriche (z. B.). <directory>/<file-name>.zip

Cloud-Architekt

Geben Sie das SNS Thema anARN.

Geben Sie das SNS Thema Amazon Resource Name (ARN) an, wenn Sie ein vorhandenes SNS Thema für Benachrichtigungen über Verstöße verwenden möchten. Um ein neues SNS Thema zu erstellen, behalten Sie den Wert None (Standardwert) bei.

Cloud-Architekt

Geben Sie eine E-Mail-Adresse an.

Geben Sie eine aktive E-Mail-Adresse an, um SNS Amazon-Benachrichtigungen zu erhalten.

Cloud-Architekt

Definieren Sie die Protokollierungsebene.

Definieren Sie die Protokollierungsebene und die Häufigkeit für Ihre Lambda-Funktion. Infobezeichnet detaillierte Informationsmeldungen über den Fortschritt der Anwendung. Errorbezeichnet Fehlerereignisse, die es der Anwendung dennoch ermöglichen könnten, weiter zu laufen. Warningbezeichnet potenziell schädliche Situationen.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Laden Sie die Vorlage für herunter.

Laden Sie die CloudFormation Vorlage herunter, die im Abschnitt Anlagen bereitgestellt wird.

Cloud-Architekt

Erstellen Sie den Stack.

Navigieren Sie in derselben Region wie der S3-Bucket zur CloudFormation Servicekonsole und stellen Sie die heruntergeladene Vorlage bereit. Einzelheiten zu den Parametern finden Sie im vorherigen Epos.

Cloud-Architekt

Überprüfen Sie die Ressourcen.

Nachdem der Stack vollständig erstellt wurde, navigieren Sie zur Registerkarte Ressourcen und überprüfen Sie die Ressourcen. Die Vorlage erstellt die folgenden Ressourcen:

  • EventBridge Regel

  • Lambda-Funktion

  • Lambda-Ausführungsrolle

  • Lambda-Zugriffsberechtigung

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Bestätigen Sie das Abonnement.

Wenn die Vorlage erfolgreich bereitgestellt wurde und ein neues SNS Thema erstellt wurde, wird eine Abonnement-E-Mail-Nachricht an die in den Parametern angegebene E-Mail-Adresse gesendet. Sie müssen dieses E-Mail-Abonnement bestätigen, um Benachrichtigungen über Verstöße zu erhalten.

Cloud-Architekt

Fehlerbehebung

ProblemLösung

Die Erstellung des Stacks ist fehlgeschlagen. Während ist ein Fehler aufgetreten GetObject. S3-Fehlercode: PermanentRedirect. S3-Fehlermeldung: Der Bucket befindet sich in dieser Region: xx-xxxx-1. Bitte verwenden Sie diese Region, um die Anfrage erneut zu versuchen.

Stellen Sie sicher, dass die S3-Bucket-Region und die Region, in der der Stack bereitgestellt wird, identisch sind.

Die Erstellung des Stacks ist fehlgeschlagen. Der Laufzeitparameter von Python3.6 wird für die Erstellung oder Aktualisierung von AWS Lambda-Funktionen nicht mehr unterstützt.

Aktualisieren Sie die heruntergeladene Vorlage in Zeile 186 von Python-Version 3.6 auf 3.9.

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip