Wie beschränke ich den direkten Datenverkehr auf eine ALB und erlaube den Datenverkehr nur über CloudFront mit AWS WAF?

Lesedauer: 4 Minute
0

Ich möchte Benutzern den direkten Zugriff auf einen Application Load Balancer (ALB) einschränken und den Zugriff nur über Amazon CloudFront mit AWS WAF zulassen. Wie mache ich das mit AWS WAF?

Auflösung

Um den direkten Datenverkehr auf eine ALB zu beschränken und den Datenverkehr ausschließlich über CloudFront mit AWS WAF zuzulassen gehen Sie wie folgt vor:

  1. Konfigurieren Sie CloudFront so, dass in den Anforderungen, die CloudFront an die ALB sendet, einen benutzerdefinierten HTTP-Header mit einem geheimen Wert hinzugefügt wird.
  2. Erstellen Sie eine Regel in Ihrer AWS-WAF-Web-ACL, die der ALB zugeordnet ist, um Anforderungen zu blockieren, die den benutzerdefinierten geheimen HTTP-Header-Wert nicht enthalten.

Konfigurieren Sie CloudFront, um einen benutzerdefinierten HTTP-Header mit einem geheimen Wert in den Anforderungen hinzuzufügen, die es an die ALB sendet

  1. Öffnen Sie die Amazon-CloudFront-Konsole.
  2. Vom Navigationsbereich wählen Sie Distributionen aus.
  3. Wählen Sie die ID Ihrer Distribution aus.
  4. Wählen Sie Origins (Ursprünge) aus.
  5. Wählen Sie Ihren ALB-Ursprung aus und klicken Sie dann auf Bearbeiten.
    Hinweis: Wenn Sie keinen ALB-Ursprung haben, finden Sie weitere Informationen unter Erstellen einer Distribution oder Aktualisieren einer Distribution.
  6. Fügen Sie für Benutzerdefinierten Header hinzufügen den Namen und Wert der Kopfzeile hinzu. Ein Beispiel für einen Header-Name ist Custom-Header (Benutzerdefinierter Header) und Value (Wert) ist Random-12345.
    Wichtig: Betrachten Sie den Header-Namen und Value (Wert) als sichere Anmeldeinformationen, wie einen Benutzernamen und ein Kennwort.
  7. Wählen Sie Save changes (Änderungen speichern).

Erstellen Sie eine Regel in Ihrer AWS-WAF-Web-ACL, die mit dem ALB verknüpft ist, um Anforderungen zu blockieren, die den benutzerdefinierten geheimen HTTP-Header-Wert nicht enthalten

Hinweis: Wenn Ihrer ALB noch keine Web-ACL zugeordnet ist, führen Sie die Schritte unter Erstellen einer AWS-WAF-Web-ACL aus. Wenn Ihrer ALB bereits eine Web-ACL zugeordnet ist, fahren Sie mit Regel erstellen fort.

Erstellen einer AWS-WAF-Web-ACL

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region aus, in der sich Ihr ALB befindet.
  4. Wählen Sie Web-ACL erstellen, und geben Sie dann einen Namen ein.
  5. Ordnen Sie für Zugehörige AWS-Ressourcen Ihre ALB zu und wählen Sie dann Weiter.
  6. Wählen Sie für Standard-Web-ACL-Aktion für Anforderungen, die keiner Regel entsprechen, die Option Zulassen und dann Weiter aus.
  7. Wählen Sie für Stichprobenoptionen anfordern die Option Stichprobenanforderungen aktivieren und dann Weiter aus.
  8. Überprüfen Sie die Web-ACL-Konfiguration. Wenn es Ihren Spezifikationen entspricht, wählen Sie Web-ACL erstellen.

Erstellen Sie eine Regel

  1. Öffnen Sie die AWS-WAF-Konsole.
  2. Wählen Sie im Navigationsbereich unter AWS WAF Web ACLs aus.
  3. Wählen Sie für Region die AWS-Region aus, in der sich Ihr ALB befindet.
  4. Wählen Sie die Web-ACL aus, der Sie Ihre ALB zugeordnet haben.
  5. Wählen Sie Rules, dann Add Rules, Add my own rules and rule groups (Regeln hinzufügen, Eigene Regeln und Regelgruppen hinzufügen) aus.
  6. Geben Sie für Name einen Regelnamen ein, und wählen Sie dann Regular Rule (Reguläre Regel) aus.
  7. Wählen Sie für Wenn eine Anfrage nicht mit der Anweisung übereinstimmt (NICHT).
  8. Bei Anweisung 1:
    Wählen Sie für Inspect (Prüfen) die Option Single Header
    Geben Sie für Header-Feldname den Namen des in CloudFront erstellten Headernamens ein. Zum Beispiel Custom-Header.
    Wählen Sie für Übereinstimmungstyp die Option Genau entspricht Zeichenfolge.
    Geben Sie für Übereinstimmende Zeichenfolge den in CloudFront erstellten Value (Wert) ein. Zum Beispiel Random-12345.
    Wählen Sie für Texttransformation die Option Keine aus.
  9. Wählen Sie für Action (Aktion) Block (Blockieren) aus.
  10. Wählen Sie Regel speichern.
  11. Wenn Sie für Regelpriorität festlegen über mehrere Regeln verfügen, legen Sie diese Regel auf die höchste Priorität fest.
  12. Wählen Sie Save (Speichern) aus.

Relevante Informationen

Hinzufügen von benutzerdefinierten Headern zu Origin-Anfragen

AWS-WAF-Regeln

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren