

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

# Detail arsitektur
<a name="architecture-details"></a>

Bagian ini menjelaskan komponen dan layanan AWS yang membentuk solusi ini dan detail arsitektur tentang cara komponen ini bekerja sama.

## Layanan AWS dalam solusi ini
<a name="aws-services-in-this-solution"></a>


| AWS service | Deskripsi | 
| --- | --- | 
|   [AWS WAF](https://aws.amazon.com/waf/)   |   **Inti**. Menerapkan AWS WAF web ACL, grup aturan Aturan Terkelola AWS, aturan khusus, dan set IP. Membuat panggilan AWS WAF API untuk memblokir serangan umum dan mengamankan aplikasi web.  | 
|   [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/)   |   **Inti**. Mengirimkan log AWS WAF ke bucket Amazon S3.  | 
|   [Amazon S3](https://aws.amazon.com/s3/)   |   **Inti**. Menyimpan log AWS WAF, CloudFront, dan ALB.  | 
|   [AWS Lambda](https://aws.amazon.com/lambda/)   |   **Inti**. Menerapkan beberapa fungsi Lambda untuk mendukung aturan khusus.  | 
|   [Amazon EventBridge](https://aws.amazon.com/eventbridge/)   |   **Inti**. Membuat aturan acara untuk memanggil Lambda.  | 
|   [Amazon Athena](https://aws.amazon.com/athena/)   |   **Mendukung**. Membuat kueri Athena dan kelompok kerja untuk mendukung pengurai log Athena.  | 
|   [AWS Glue](https://aws.amazon.com/glue/)   |   **Mendukung**. Membuat database dan tabel untuk mendukung parser log Athena.  | 
|   [Amazon SNS](https://aws.amazon.com/sns/)   |   **Mendukung**. Mengirim notifikasi email Amazon Simple Notification Service (Amazon SNS) untuk mendukung retensi IP pada daftar yang diizinkan dan ditolak.  | 
|   [AWS Systems Manager](https://aws.amazon.com/systems-manager/)   |   **Mendukung**. Menyediakan pemantauan sumber daya tingkat aplikasi dan visualisasi operasi sumber daya dan data biaya.  | 

# Opsi pengurai log
<a name="log-parser-options"></a>

Seperti yang dijelaskan dalam [ikhtisar Arsitektur](architecture-overview.md), ada tiga opsi untuk menangani perlindungan banjir dan pemindai dan probe HTTP. Bagian berikut menjelaskan masing-masing opsi ini secara lebih rinci.

## Aturan berbasis tarif AWS WAF
<a name="aws-waf-rate-based-rule"></a>

Aturan berbasis tarif tersedia untuk perlindungan banjir HTTP. Secara default, aturan berbasis tarif mengumpulkan dan membatasi permintaan berdasarkan alamat IP permintaan. Solusi ini memungkinkan Anda untuk menentukan jumlah permintaan web yang memungkinkan IP klien dalam periode lima menit yang terus diperbarui. Jika alamat IP melanggar kuota yang dikonfigurasi, AWS WAF memblokir permintaan baru yang diblokir hingga tingkat permintaan kurang dari kuota yang dikonfigurasi.

Sebaiknya pilih opsi aturan berbasis tarif jika kuota permintaan lebih dari 2.000 permintaan per lima menit dan Anda tidak perlu menerapkan penyesuaian. Misalnya, Anda tidak mempertimbangkan akses sumber daya statis saat menghitung permintaan.

Anda selanjutnya dapat mengonfigurasi aturan untuk menggunakan berbagai tombol agregasi dan kombinasi tombol lainnya. Untuk informasi selengkapnya, lihat [Opsi dan kunci agregasi](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based-aggregation-options.html).

## Pengurai log Amazon Athena
<a name="amazon-athena-log-parser"></a>

Parameter template **HTTP Flood Protection** dan **Scanner & Probe **Protection**** menyediakan opsi parser log Athena. Saat diaktifkan, berikan CloudFormation kueri Athena dan fungsi Lambda terjadwal yang bertanggung jawab untuk mengatur Athena untuk menjalankan, memproses keluaran hasil, dan memperbarui AWS WAF. Fungsi Lambda ini dipanggil oleh CloudWatch acara yang dikonfigurasi untuk dijalankan setiap lima menit. Ini dapat dikonfigurasi dengan parameter **Athena Query Run Time** Schedule.

Sebaiknya pilih opsi ini jika Anda tidak dapat menggunakan aturan berbasis tarif AWS WAF dan Anda memiliki keakraban dengan SQL untuk menerapkan penyesuaian. Untuk informasi selengkapnya tentang cara mengubah kueri default, lihat [Lihat kueri Amazon Athena](view-amazon-athena-queries.md).

Perlindungan banjir HTTP didasarkan pada pemrosesan log akses AWS WAF dan menggunakan file log WAF. Jenis log akses WAF memiliki waktu jeda yang lebih rendah, yang dapat Anda gunakan untuk mengidentifikasi asal banjir HTTP lebih cepat jika dibandingkan dengan CloudFront atau waktu pengiriman log ALB. Namun, Anda harus memilih jenis log CloudFront atau ALB di parameter template **Activate Scanner & Probe Protection** untuk menerima kode status respons.

**catatan**  
Jika bot yang buruk melewati honeypot dan langsung berinteraksi dengan ALB atau CloudFront, sistem mendeteksi perilaku jahat melalui analisis log kecuali Perlindungan Banjir HTTP dan Perlindungan Pemindai & Probe tidak menggunakan parser log Lambda.

## Pengurai log AWS Lambda
<a name="aws-lambda-log-parser"></a>

Parameter template **HTTP Flood Protection** dan **Scanner & Probe Protection** menyediakan opsi **AWS Lambda Log Parser**. Gunakan pengurai log Lambda hanya jika **aturan berbasis tarif AWS WAF** dan opsi pengurai log **Amazon Athena** tidak tersedia. Batasan yang diketahui dari opsi ini adalah bahwa informasi diproses dalam konteks file yang sedang diproses. Misalnya, IP mungkin menghasilkan lebih banyak permintaan atau kesalahan daripada kuota yang ditentukan, tetapi karena informasi ini dibagi menjadi file yang berbeda, setiap file tidak menyimpan cukup data untuk melebihi kuota.

**catatan**  
Selain itu, jika bot yang buruk melewati honeypot dan berinteraksi langsung dengan ALB atau CloudFront, deteksi bergantung pada opsi pengurai log yang dipilih untuk mengidentifikasi dan memblokir aktivitas berbahaya secara efektif.

# Detail komponen
<a name="component-details"></a>

Seperti yang dijelaskan dalam [diagram Arsitektur](architecture-overview.md#architecture-diagram), empat komponen solusi ini menggunakan otomatisasi untuk memeriksa alamat IP dan menambahkannya ke daftar blok AWS WAF. Bagian berikut menjelaskan masing-masing komponen ini secara lebih rinci.

## Log parser - Aplikasi
<a name="log-parser--application"></a>

Pengurai log Aplikasi membantu melindungi dari pemindai dan probe.

 **Alur parser log aplikasi.** 

![\[alur parser log aplikasi\]](http://docs.aws.amazon.com/id_id/solutions/latest/security-automations-for-aws-waf/images/app-log-parser-flow.png)


1. Saat CloudFront atau ALB menerima permintaan atas nama aplikasi web Anda, ALB akan mengirimkan log akses ke bucket Amazon S3.

   1. (Opsional) Jika Anda memilih `Yes - Amazon Athena log parser` parameter template **Aktifkan Perlindungan Banjir HTTP** dan **Aktifkan Pemindai & Probe Protection**, fungsi Lambda memindahkan log akses dari folder aslinya *<customer-bucket>* `/AWSLogs` ke folder yang baru *<customer-bucket>* `/AWSLogs-partitioned/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* dipartisisi/saat tiba di Amazon S3.

   1. (Opsional) Jika Anda memilih `yes` untuk **Simpan Data di parameter template lokasi S3 Asli**, log tetap berada di lokasi aslinya dan disalin ke folder yang dipartisi, menduplikasi penyimpanan log Anda.
**catatan**  
Untuk pengurai log Athena, solusi ini hanya mempartisi log baru yang tiba di bucket Amazon S3 Anda setelah Anda menerapkan solusi ini. Jika Anda memiliki log yang ingin Anda partisi, Anda harus mengunggah log tersebut secara manual ke Amazon S3 setelah menerapkan solusi ini.

1. Berdasarkan pilihan Anda untuk parameter template **Aktifkan Perlindungan Banjir HTTP** dan **Aktifkan Pemindai & Probe Protection**, solusi ini memproses log menggunakan salah satu dari berikut ini:

   1.  **Lambda** - Setiap kali log akses baru disimpan di bucket Amazon S3, fungsi `Log Parser` Lambda dimulai.

   1.  **Athena** - Secara default, setiap lima menit kueri **Scanner & Probe Protection Athena** berjalan, dan output didorong ke AWS WAF. Proses ini diprakarsai oleh sebuah CloudWatch peristiwa, yang memulai fungsi Lambda yang bertanggung jawab untuk menjalankan kueri Athena dan mendorong hasilnya ke AWS WAF.

1. Solusi ini menganalisis data log untuk mengidentifikasi alamat IP yang menghasilkan lebih banyak kesalahan daripada kuota yang ditentukan. Solusinya kemudian memperbarui kondisi set IP AWS WAF untuk memblokir alamat IP tersebut untuk jangka waktu yang ditentukan pelanggan.

## Pengurai log - AWS WAF
<a name="log-parser--aws-waf"></a>

Jika Anda memilih `yes - AWS Lambda log parser` atau `yes - Amazon Athena log parser` untuk **Aktifkan Perlindungan Banjir HTTP**, solusi ini menyediakan komponen berikut, yang mengurai log AWS WAF untuk mengidentifikasi dan memblokir asal yang membanjiri titik akhir dengan tingkat permintaan yang lebih besar dari kuota yang Anda tentukan.

 **Alur parser log AWS WAF.** 

![\[aliran parser log waf\]](http://docs.aws.amazon.com/id_id/solutions/latest/security-automations-for-aws-waf/images/waf-log-parser-flow.png)


1. Saat AWS WAF menerima log akses, AWS WAF akan mengirimkan log ke titik akhir Firehose. Firehose kemudian mengirimkan log ke bucket yang dipartisi di Amazon S3 bernama *<customer-bucket>* `/AWSLogs/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* `/` 

1. Berdasarkan pilihan Anda untuk parameter template **Aktifkan Perlindungan Banjir HTTP** dan **Aktifkan Pemindai & Probe Protection**, solusi ini memproses log menggunakan salah satu dari berikut ini:

   1.  **Lambda**: Setiap kali log akses baru disimpan di bucket Amazon S3, fungsi `Log Parser` Lambda dimulai.

   1.  **Athena:** Secara default, setiap lima menit kueri pemindai dan probe Athena dijalankan dan output didorong ke AWS WAF. Proses ini diprakarsai oleh CloudWatch acara Amazon, yang kemudian memulai fungsi Lambda yang bertanggung jawab untuk mengeksekusi kueri Amazon Athena, dan mendorong hasilnya ke AWS WAF.

1. Solusi ini menganalisis data log untuk mengidentifikasi alamat IP yang mengirim lebih banyak permintaan daripada kuota yang ditentukan. Solusinya kemudian memperbarui kondisi set IP AWS WAF untuk memblokir alamat IP tersebut untuk jangka waktu yang ditentukan pelanggan.

## Pengurai log - Bot buruk
<a name="log-parser--badbot"></a>

Parser log Bad bot memeriksa permintaan ke titik akhir honeypot untuk mengekstrak alamat IP sumbernya.

 **Aliran parser log bot yang buruk.** 

![\[aliran parser log badbot\]](http://docs.aws.amazon.com/id_id/solutions/latest/security-automations-for-aws-waf/images/badbot-log-parser-flow.png)


1. Jika `Bad Bot Protection` diaktifkan dan fitur HTTP Flood Protection dan Scanner & Probe Protection dinonaktifkan: Sistem akan menggunakan parser Log Lambda, yang hanya mencatat permintaan bot buruk berdasarkan filter label [WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html).

1. Fungsi Lambda mencegat dan memeriksa header permintaan untuk mengekstrak alamat IP dari sumber yang mengakses titik akhir perangkap.

1. Solusi ini menganalisis data log untuk mengidentifikasi alamat IP yang mengirim lebih banyak permintaan daripada kuota yang ditentukan. Solusinya kemudian memperbarui kondisi set IP AWS WAF untuk memblokir alamat IP tersebut untuk jangka waktu yang ditentukan pelanggan.

## Pengurai daftar IP
<a name="ip-lists-parser"></a>

Fungsi `IP Lists Parser` Lambda membantu melindungi terhadap penyerang yang dikenal yang diidentifikasi dalam daftar reputasi IP pihak ketiga.

 **Eputasi IP mencantumkan aliran parser.** 

![\[alur daftar reputasi ip\]](http://docs.aws.amazon.com/id_id/solutions/latest/security-automations-for-aws-waf/images/ip-reputation-lists-flow.png)


1.  CloudWatch Acara Amazon setiap jam memanggil fungsi Lambda`IP Lists Parser`.

1. Fungsi Lambda mengumpulkan dan mem-parsing data dari tiga sumber:
   + Daftar Spamhaus DROP dan EDROP
   + Daftar IP Proofpoint Emerging Threats
   + Daftar node keluar Tor

1. Fungsi Lambda memperbarui daftar blok AWS WAF dengan alamat IP saat ini.