Terapkan Otomatisasi Keamanan untuk AWS WAF solusi dengan menggunakan Terraform - AWS Prescriptive Guidance

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

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

Ringkasan

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 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 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

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 (AWS CLI dokumentasi).

  • Terraform versi 1.1.9 atau yang lebih baru, diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat Menginstal Terraform (dokumentasi Terraform).

Arsitektur

Arsitektur target

Pola ini menyebarkan Otomasi Keamanan untuk AWS WAF solusi. Untuk informasi selengkapnya tentang arsitektur target, lihat Ikhtisar arsitektur 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 dalam Panduan Otomasi Keamanan untuk Implementasi. AWS WAF

Penerapan Terraform

Saat Anda menjalankanterraform apply, Terraform melakukan hal berikut:

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

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

  3. 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.

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

  5. 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

Layanan AWS

  • AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.

  • AWS WAFadalah firewall aplikasi web yang membantu Anda memantau permintaan HTTP dan HTTPS yang diteruskan ke sumber daya aplikasi web Anda yang dilindungi.

Layanan lainnya

  • Git adalah sistem kontrol versi terdistribusi open-source.

  • HashiCorp Terraform 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.

Praktik terbaik

  • Letakkan file statis di bucket Amazon S3 terpisah.

  • Hindari variabel hardcoding.

  • Batasi penggunaan skrip khusus.

  • Mengadopsi konvensi penamaan.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Instal Git.

Ikuti petunjuk di Memulai (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:

git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git
DevOps insinyur

Perbarui variabel.

  1. Arahkan ke direktori kloning dengan memasukkan perintah berikut:

    cd terraform-aws-waf-automation
  2. Di editor teks apa pun, buka file pengujian.tfvars.

  3. Perbarui nilai variabel dalam file testing.tfvars.

  4. Simpan dan tutup file .

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Inisialisasi konfigurasi Terraform.

Masukkan perintah berikut untuk menginisialisasi direktori kerja Anda yang berisi file konfigurasi Terraform:

terraform init
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:

terraform plan -var-file="testing.tfvars"
DevOps insinyur

Verifikasi rencananya.

Tinjau rencana dan konfirmasikan bahwa itu mengonfigurasi arsitektur yang diperlukan dalam target Akun AWS Anda.

DevOps insinyur

Menyebarkan solusinya.

  1. Masukkan perintah berikut untuk menerapkan rencana:

    terraform apply -var-file="testing.tfvars"
  2. Masukkan yes untuk mengonfirmasi. Terraform membuat, memperbarui, atau menghancurkan infrastruktur untuk mencapai status target yang dideklarasikan dalam file konfigurasi. Untuk informasi lebih lanjut tentang urutan, lihat Penerapan Terraform di bagian Arsitektur dari pola ini.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Verifikasi perubahan.

  1. Di konsol Terraform, verifikasi bahwa output cocok dengan hasil yang diharapkan.

  2. Masuk ke AWS Management Console.

  3. Verifikasi bahwa output di konsol Terraform telah berhasil diterapkan di konsol Anda. Akun AWS

DevOps insinyur

(Opsional) Bersihkan infrastruktur.

Jika Anda ingin menghapus semua sumber daya dan perubahan konfigurasi yang dibuat oleh solusi ini, lakukan hal berikut:

  1. Di konsol Terraform, masukkan perintah berikut:

    terraform destroy -var-file="testing.tfvars"
  2. Masukkan yes untuk mengonfirmasi.

DevOps insinyur

Pemecahan Masalah

IsuSolusi

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 (AWS WAF dokumentasi).

Sumber daya terkait

AWS referensi

Referensi Terraform