

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Terapkan Otomatisasi Keamanan untuk AWS WAF solusi dengan menggunakan Terraform
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform"></a>

*Dr. Rahul Sharad Gaikwad dan Tamilselvan P, Amazon Web Services*

## Ringkasan
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-summary"></a>

AWS WAF adalah firewall aplikasi web yang membantu melindungi aplikasi dari eksploitasi umum dengan menggunakan aturan yang dapat disesuaikan, yang Anda tentukan dan terapkan dalam daftar *kontrol akses web* (). ACLs Mengkonfigurasi AWS WAF aturan dapat menjadi tantangan, terutama bagi organisasi yang tidak memiliki tim keamanan khusus. Untuk menyederhanakan proses ini, Amazon Web Services (AWS) menawarkan [Security Automations for AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/) solution, yang secara otomatis menyebarkan ACL web tunggal dengan seperangkat AWS WAF aturan yang memfilter serangan berbasis web. Selama penerapan Terraform, Anda dapat menentukan fitur pelindung mana yang akan disertakan. Setelah menerapkan solusi ini, AWS WAF periksa permintaan web ke CloudFront distribusi Amazon atau Application Load Balancer yang ada, dan blokir permintaan apa pun yang tidak sesuai dengan aturan.

Otomatisasi Keamanan untuk AWS WAF solusi dapat digunakan dengan menggunakan AWS CloudFormation sesuai dengan instruksi dalam Panduan [Otomasi Keamanan untuk Implementasi. AWS WAF](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html) Pola ini memberikan opsi penerapan alternatif untuk organisasi yang menggunakan HashiCorp Terraform sebagai alat infrastruktur pilihan mereka sebagai kode (IAc) untuk menyediakan dan mengelola infrastruktur cloud mereka. Saat Anda menerapkan solusi ini, Terraform secara otomatis menerapkan perubahan di cloud dan menyebarkan serta mengonfigurasi pengaturan dan fitur pelindung. AWS WAF 

## Prasyarat dan batasan
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS.
+ AWS Command Line Interface (AWS CLI) versi 2.4.25 atau yang lebih baru, diinstal dan dikonfigurasi dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Memulai](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) (AWS CLI dokumentasi).
+ Terraform versi 1.1.9 atau yang lebih baru, diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat [Menginstal Terraform (dokumentasi](https://learn.hashicorp.com/tutorials/terraform/install-cli) Terraform).

## Arsitektur
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-architecture"></a>

**Arsitektur target**

Pola ini menyebarkan Otomatisasi Keamanan untuk AWS WAF solusi. Untuk informasi selengkapnya tentang arsitektur target, lihat [Ikhtisar arsitektur](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html) di *Panduan Otomasi Keamanan untuk AWS WAF Implementasi*. *Untuk informasi selengkapnya tentang AWS Lambda otomatisasi dalam penerapan ini, Parser log aplikasi, parser AWS WAF log, pengurai daftar IP, dan pengendali Access, lihat [Detail komponen](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/appendix-b.html) dalam Panduan Otomasi Keamanan untuk Implementasi. AWS WAF *

**Penerapan Terraform**

Saat Anda menjalankan`terraform apply`, Terraform melakukan hal berikut:

1. **Terraform membuat peran AWS Identity and Access Management (IAM) dan fungsi Lambda berdasarkan input dari file.tfvars pengujian.**

1. **Terraform membuat aturan AWS WAF ACL dan set IP berdasarkan input dari file testing.tfvars.**

1. **Terraform membuat bucket Amazon Simple Storage Service (Amazon S3), AWS Glue aturan Amazon, tabel database, dan grup kerja EventBridge Amazon Athena berdasarkan input dari file.tfvars pengujian.**

1. Terraform menerapkan AWS CloudFormation tumpukan untuk menyediakan sumber daya khusus.

1. **Terraform membuat resource Amazon API Gateway berdasarkan input yang diberikan dari file testing.tfvars.**

**Otomatisasi dan skala**

Anda dapat menggunakan pola ini untuk membuat AWS WAF aturan untuk beberapa Akun AWS dan Wilayah AWS untuk menerapkan Otomasi Keamanan untuk AWS WAF solusi di seluruh lingkungan Anda AWS Cloud .

## Alat
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-tools"></a>

**Layanan AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) adalah alat sumber terbuka yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.
+ [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html)adalah firewall aplikasi web yang membantu Anda memantau permintaan HTTP dan HTTPS yang diteruskan ke sumber daya aplikasi web Anda yang dilindungi.

**Layanan lainnya**
+ [Git](https://git-scm.com/docs) adalah sistem kontrol versi terdistribusi open-source.
+ [HashiCorp Terraform](https://www.terraform.io/docs) adalah aplikasi antarmuka baris perintah yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud.

**Repositori kode**

Kode untuk pola ini tersedia di repositori GitHub [AWS WAF Automation Using Terraform](https://github.com/aws-samples/aws-waf-automation-terraform-samples).

## Praktik terbaik
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-best-practices"></a>
+ Letakkan file statis di bucket Amazon S3 terpisah.
+ Hindari variabel hardcoding.
+ Batasi penggunaan skrip kustom.
+ Mengadopsi konvensi penamaan.

## Epik
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-epics"></a>

### Siapkan workstation lokal Anda
<a name="set-up-your-local-workstation"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal Git. | Ikuti petunjuk di [Memulai](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (situs web Git) untuk menginstal Git di workstation lokal Anda. | DevOps insinyur | 
| Kloning repositori. | Di workstation lokal Anda, masukkan perintah berikut untuk mengkloning repositori kode:<pre>git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git</pre> | DevOps insinyur | 
| Perbarui variabel. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps insinyur | 

### Menyediakan arsitektur target menggunakan Terraform
<a name="provision-the-target-architecture-using-terraform"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Inisialisasi konfigurasi Terraform. | Masukkan perintah berikut untuk menginisialisasi direktori kerja Anda yang berisi file konfigurasi Terraform:<pre>terraform init</pre> | DevOps insinyur | 
| Pratinjau paket Terraform. | Masukkan perintah berikut. Terraform mengevaluasi file konfigurasi untuk menentukan status target untuk sumber daya yang dideklarasikan. Kemudian membandingkan status target dengan keadaan saat ini dan membuat rencana:<pre>terraform plan -var-file="testing.tfvars"</pre> | DevOps insinyur | 
| Verifikasi rencananya. | Tinjau rencana dan konfirmasikan bahwa itu mengonfigurasi arsitektur yang diperlukan dalam target Akun AWS Anda. | DevOps insinyur | 
| Menyebarkan solusinya. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps insinyur | 

### Validasi dan bersihkan
<a name="validate-and-clean-up"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Verifikasi perubahannya. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps insinyur | 
| (Opsional) Bersihkan infrastruktur. | Jika Anda ingin menghapus semua sumber daya dan perubahan konfigurasi yang dibuat oleh solusi ini, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps insinyur | 

## Pemecahan masalah
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| `WAFV2 IPSet: WAFOptimisticLockException` kesalahan | Jika Anda**** menerima kesalahan ini saat menjalankan `terraform destroy` perintah, Anda harus menghapus set IP secara manual. Untuk petunjuk, lihat [Menghapus set IP](https://docs.aws.amazon.com/waf/latest/developerguide/waf-ip-set-deleting.html) (AWS WAF dokumentasi). | 

## Sumber daya terkait
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-resources"></a>

**AWS referensi**
+ [Otomatisasi Keamanan untuk Panduan AWS WAF Implementasi](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/welcome.html)
+ [Otomatisasi Keamanan untuk AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/) (Perpustakaan AWS Solusi)
+ [Otomasi Keamanan untuk FAQ AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/resources/#FAQ)

**Referensi Terraform**
+ [Konfigurasi backend Terraform](https://developer.hashicorp.com/terraform/language/backend)
+ [AWS Penyedia Terraform - Dokumentasi dan Penggunaan](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
+ [AWS Penyedia Terraform (repositori](https://github.com/hashicorp/terraform-provider-aws)) GitHub 