Wie schränke ich den direkten Datenverkehr zu einem Application Load Balancer ein und lasse nur den Datenverkehr über CloudFront zu?
Ich möchte den direkten Zugriff auf einen Application Load Balancer einschränken und den Zugriff nur über Amazon CloudFront zulassen.
Kurzbeschreibung
Verwende Application Load Balancer-Listener-Regeln, um den direkten Datenverkehr zu einem Application Load Balancer einzuschränken und nur den Zugriff über CloudFront zuzulassen. Wenn du über eine bestehende AWS WAF Web-Zugriffssteuerungsliste (ACL) verfügst, kannst du Web-ACL-Regeln verwenden. Um den Zugriff auf Ihren Application Load Balancer weiter einzuschränken, konfigurieren Sie Ihre Sicherheitsgruppe so, dass der Zugriff auf Ihren Ursprung beschränkt wird. Verwenden Sie dazu die von AWS verwaltete Präfixliste. Es hat sich bewährt, eine dieser Lösungen zu verwenden und auch Ihre Sicherheitsgruppe zu konfigurieren.
Lösung
Listener-Regeln für den Application Load Balancer
Informationen zur Verwendung von Application Load Balancer-Listener-Regeln zum Beschränken des Datenverkehrs findest du unter Beschränken des Zugriffs auf Application Load Balancer.
AWS WAF
Hinweis: Die Gebühren für AWS WAF basieren auf den folgenden Faktoren:
- Anzahl der Web-ACLs, die du erstellst
- Anzahl der Regeln, die du für jede Web-ACL hinzufügst
- Anzahl der Webanfragen, die du erhältst
Weitere Informationen findest du unter AWS WAF-Preise.
Um benutzerdefinierte AWS WAF-Web-ACL-Regeln zur Einschränkung des Datenverkehrs zu verwenden, konfiguriere CloudFront so, dass ein benutzerdefinierter HTTP-Header hinzugefügt wird. Erstelle dann eine Regel in der AWS WAF-Web-ACL, die dem Application Load Balancer zugeordnet ist. Verwende diese Regel, um Anfragen zu blockieren, die den benutzerdefinierten geheimen HTTP-Header-Wert nicht enthalten.
CloudFront so konfigurieren, dass ein benutzerdefinierter HTTP-Header hinzugefügt wird
Führe die folgenden Schritte aus:
- Öffne die CloudFront-Konsole.
- Wähle im Navigationsbereich Distributionen und dann die Distributions-ID aus.
- Wähle die Registerkarte Ursprünge aus.
- Wähle den Application Load Balancer aus und klicke dann auf Bearbeiten.
Hinweis: Wenn Ihr Application Load Balancer kein Ursprung ist, aktualisieren Sie Ihre Distribution und legen Sie dann den Application Load Balancer als Ursprung fest. - Geben Sie unter Benutzerdefinierten Header hinzufügen den Header-Namen und den Wert ein.
Wichtig: Der Header-Name und der Wert dienen als sichere Anmeldeinformationen, z. B. ein Benutzername und ein Passwort. Notiere dir die Werte, die später in diesem Verfahren verwendet werden sollen. - Wähle Änderungen speichern aus.
Eine Regel in der Web-ACL erstellen, um Anfragen ohne den Header zu blockieren
Führe die folgenden Schritte aus:
- Öffne die AWS-WAF-Konsole.
- Wähle im Navigationsbereich Ressourcen und Schutzpakete aus.
- Wähle Schutzpaket erstellen aus.
- Wähle unter Erzähle uns von der App für die App-Kategorie eine oder mehrere App-Kategorien aus.
- Wähle für Datenverkehrsquelle die Art des Datenverkehrs aus, mit dem die Anwendung interagiert, z. B. API, Web oder Sowohl API als auch Web.
- Wähle unter Zu schützende Ressourcen die Option Ressourcen hinzufügen aus.
- Wähle unter Global Cloud-Front oder Amplify-Ressourcen hinzufügen aus.
- Wähle die Distribution aus der Liste aus.
- Wähle unter Schutzpaket auswählen die Option Eigenes Paket aus allen Schutzmaßnahmen erstellen, die AWS WAF bietet aus.
- Wähle im rechten Bereich Benutzerdefinierte Regel und dann Weiter aus.
Wähle erneut Benutzerdefinierte Regel und dann Weiter aus. - Stelle die Regelaktion auf BLOCKIEREN ein.
- Gib den Regelnamen ein.
- Erweitere für Wenn eine Anfrage das Drop-down-Menü und wähle Entspricht der Anweisung (NICHT) nicht aus.
- Wähle für Prüfen die Option Einzelner Header aus.
- Fülle unter Anweisung die folgenden Felder aus:
Geben Sie als Header-Feldname den Header-Namen ein, den Sie in CloudFront erstellt haben.
Wählen Sie unter Übereinstimmungstyp die Option Entspricht exakt der Zeichenfolge.
Damit die Zeichenfolge übereinstimmt, geben Sie den Wert ein, den Sie in CloudFront erstellt haben.
(Optional) Wähle unter Texttransformation die Option Keine aus. - Wähle Regel erstellen aus.
- (Optional) Um die Priorität mehrerer Regeln festzulegen, wähle im rechten Bereich die Option Regelreihenfolge bearbeiten aus und setze dann diese Regel auf die höchste Priorität.
- Wähle Regelreihenfolge speichern aus.
- Gib unter Name und Beschreibung einen Namen für das Schutzpaket ein.
- Klicke auf Schutzpaket erstellen.
Sicherheitsgruppen konfigurieren
Um den Datenverkehr zu einem Application Load Balancer weiter einzuschränken, verwende eine Von AWS verwaltete Präfixliste für Sicherheitsgruppen im Application Load Balancer.
Informationen zum Aktualisieren einer vorhandenen Sicherheitsgruppe finden Sie unter Aktualisieren der zugehörigen Sicherheitsgruppen. Gehen Sie wie folgt vor, um Ihren Application Load Balancer einer Sicherheitsgruppe zuzuordnen:
- Öffne die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
- Wähle im Navigationsbereich unter Lastausgleich die Option Load Balancer aus.
- Wähle den Application Load Balancer aus und klicke dann auf Sicherheit.
- Wähle die Sicherheitsgruppe aus, die du dem Application Load Balancer zuordnen möchtest.
- Um die Regeln für eingehenden Datenverkehr zu ändern, wähle Regeln für eingehenden Datenverkehr bearbeiten und passe dann die Konfigurationen an den Anwendungsfall an.
Hinweis: Wenn du eine Regel hast, die 0.0.0.0/0 zulässt, musst du eine neue Regel hinzufügen, bevor du die vorhandene Regel löschst. - Um bestimmte Protokolle zuzulassen, wähle das Protokoll und dann Benutzerdefiniert aus.
- Wähle als Quelltyp CloudFront und dann die Präfixe aus der Liste der von AWS verwalteten Präfixe aus.
- Wähle Speichern aus.
Hinweis: Es hat sich bewährt, Ports zuzulassen, die nur dein Application Load Balancer verwendet.
Du kannst die von CloudFront verwaltete Präfixliste aufgrund der Gewichtung der Präfixliste nur einmal für jede Sicherheitsgruppe unter den Standardeinstellungen hinzufügen. Um eine weitere Regel mit CloudFront als Quelltyp in derselben Sicherheitsgruppe hinzuzufügen, fordere eine Kontingenterhöhung an. Oder verwenden Sie zwei Sicherheitsgruppen, die beide auf die von CloudFront verwaltete Präfixliste verweisen.
Ähnliche Informationen
- Tags
- AWS WAF
- Sprache
- Deutsch
