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 die WAF-Lösung Security Automations for AWS mithilfe von Terraform bereit
Erstellt von Dr. Rahul Sharad Gaikwad (AWS) und Tamilselvan P (AWS)
Umgebung: PoC oder Pilot | Technologien: Sicherheit, Identität, Compliance; Infrastruktur; Bereitstellung von Inhalten; DevOps | |
Arbeitslast: Alle anderen Workloads | AWS-Dienste: AWS WAF |
Übersicht
AWS WAF ist eine Firewall für Webanwendungen, die mithilfe anpassbarer Regeln, die Sie in Web Access Control Lists (ACLs) definieren und bereitstellen, zum Schutz von Anwendungen vor häufigen Exploits beiträgt. Die Konfiguration von AWS-WAF-Regeln kann eine Herausforderung sein, insbesondere für Unternehmen, die keine eigenen Sicherheitsteams haben. Um diesen Prozess zu vereinfachen, bietet Amazon Web Services (AWS) die WAF-Lösung Security Automations for AWS
Die WAF-Lösung Security Automations for AWS kann mithilfe von AWS CloudFormation gemäß den Anweisungen im Security Automations for AWS WAF WAF-Implementierungsleitfaden bereitgestellt werden. Dieses Muster bietet eine alternative Bereitstellungsoption für Unternehmen, die HashiCorp Terraform als bevorzugtes Infrastructure-as-Code-Tool (IaC) zur Bereitstellung und Verwaltung ihrer Cloud-Infrastruktur verwenden. Wenn Sie diese Lösung bereitstellen, wendet Terraform die Änderungen automatisch in der Cloud an und stellt die AWS-WAF-Einstellungen und Schutzfunktionen bereit und konfiguriert sie.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
Die AWS-Befehlszeilenschnittstelle (AWS CLI) wurde mit den erforderlichen Berechtigungen installiert und konfiguriert. Weitere Informationen finden Sie unter Erste Schritte (AWS-CLI-Dokumentation).
Terraform wurde installiert und konfiguriert. Weitere Informationen finden Sie unter Terraform installieren (Terraform-Dokumentation
).
Produktversionen
AWS CLI Version 2.4.25 oder höher
Terraform Version 1.1.9 oder höher
Architektur
Zielarchitektur
Dieses Muster stellt die WAF-Lösung Security Automations for AWS bereit. Weitere Informationen zur Zielarchitektur finden Sie unter Architekturübersicht im Security Automations for AWS WAF Implementation Guide. Weitere Informationen zu den AWS-Lambda-Automatisierungen in dieser Bereitstellung, dem Anwendungsprotokollparser, dem AWS-WAF-Protokollparser, dem IP-Listen-Parser und dem Zugriffshandler finden Sie unter Komponentendetails im Security Automations for AWS WAF Implementation Guide.
Terraform-Bereitstellung
Wenn Sie es ausführenterraform apply
, macht Terraform Folgendes:
Terraform erstellt IAM-Rollen und Lambda-Funktionen auf der Grundlage der Eingaben aus der Datei testing.tfvars.
Terraform erstellt AWS WAF-ACL-Regeln und IP-Sets auf der Grundlage der Eingaben aus der Datei testing.tfvars.
Terraform erstellt die Amazon Simple Storage Service (Amazon S3) -Buckets, EventBridge Amazon-Regeln, AWS Glue Glue-Datenbanktabellen und Amazon Athena-Arbeitsgruppen auf der Grundlage der Eingaben aus der Datei testing.tfvars.
Terraform stellt den CloudFormation AWS-Stack bereit, um die benutzerdefinierten Ressourcen bereitzustellen.
Terraform erstellt die Amazon API Gateway Gateway-Ressourcen auf der Grundlage der angegebenen Eingaben aus der Datei testing.tfvars.
Automatisierung und Skalierung
Sie können dieses Muster verwenden, um AWS-WAF-Regeln für mehrere AWS-Konten und AWS-Regionen zu erstellen, um die WAF-Lösung Security Automations for AWS in Ihrer gesamten AWS-Cloud-Umgebung bereitzustellen.
Tools
AWS-Services
AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
AWS WAF ist eine Firewall für Webanwendungen, mit der Sie HTTP- und HTTPS-Anfragen überwachen können, die an Ihre geschützten Webanwendungsressourcen weitergeleitet werden.
Andere Dienste
Git
ist ein verteiltes Open-Source-Versionskontrollsystem. HashiCorp Terraform
ist eine Befehlszeilenschnittstelle, mit der Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können.
Code-Repository
Der Code für dieses Muster ist im GitHub AWS WAF Automation Using Terraform
Bewährte Methoden
Platzieren Sie statische Dateien in separaten S3-Buckets.
Vermeiden Sie es, Variablen fest zu codieren.
Beschränken Sie die Verwendung von benutzerdefinierten Skripten.
Nehmen Sie eine Namenskonvention an.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren Sie Git. | Folgen Sie den Anweisungen unter Erste Schritte | DevOps Ingenieur |
Klonen Sie das Repository | Geben Sie auf Ihrer lokalen Workstation den folgenden Befehl ein, um das Code-Repository zu klonen. Informationen zum Kopieren des vollständigen Befehls, einschließlich der Repo-URL, finden Sie im Abschnitt Zusätzliche Informationen dieses Musters.
| DevOps Ingenieur |
Aktualisieren Sie die Variablen. |
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Initialisieren Sie die Terraform-Konfiguration. | Geben Sie den folgenden Befehl ein, um Ihr Arbeitsverzeichnis zu initialisieren, das die Terraform-Konfigurationsdateien enthält.
| DevOps Ingenieur |
Sehen Sie sich eine Vorschau des Terraform-Plans an. | Geben Sie den folgenden Befehl ein. Terraform wertet die Konfigurationsdateien aus, um den Zielstatus für die deklarierten Ressourcen zu ermitteln. Anschließend wird der Zielstatus mit dem aktuellen Status verglichen und ein Plan erstellt.
| DevOps Ingenieur |
Überprüfen Sie den Plan. | Überprüfen Sie den Plan und stellen Sie sicher, dass er die erforderliche Architektur in Ihrem AWS-Zielkonto konfiguriert. | DevOps Ingenieur |
Stellen Sie die Lösung bereit. |
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Überprüfen Sie die Änderungen. |
| DevOps Ingenieur |
(Optional) Säubern Sie die Infrastruktur. | Wenn Sie alle Ressourcen und Konfigurationsänderungen, die durch diese Lösung vorgenommen wurden, entfernen möchten, gehen Sie wie folgt vor:
| DevOps Ingenieur |
Fehlerbehebung
Problem | Lösung |
---|---|
| Wenn Sie diesen Fehler bei der Ausführung des |
Zugehörige Ressourcen
AWS-Referenzen
Terraform-Referenzen
Zusätzliche Informationen
Der folgende Befehl klont das GitHub Repository für dieses Muster.
git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git