

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

# Gambaran umum arsitektur
<a name="architecture-overview"></a>

Bagian ini menyediakan diagram arsitektur implementasi referensi untuk komponen yang digunakan dengan solusi ini.

## Diagram arsitektur
<a name="architecture-diagram"></a>

Menerapkan solusi ini dengan parameter default akan menerapkan komponen berikut di akun AWS Anda.

 **CloudFormation template menerapkan AWS WAF dan sumber daya AWS lainnya untuk melindungi aplikasi web Anda dari serangan umum.** 

![\[ikhtisar arsitektur aws waf\]](http://docs.aws.amazon.com/id_id/solutions/latest/security-automations-for-aws-waf/images/aws-waf-architecture-overview.png)


Inti dari desain adalah [AWS WAF](https://aws.amazon.com/waf/) web ACL, yang bertindak sebagai inspeksi pusat dan titik keputusan untuk semua permintaan yang masuk ke aplikasi web. Selama konfigurasi awal CloudFormation tumpukan, pengguna menentukan komponen pelindung mana yang akan diaktifkan. Setiap komponen beroperasi secara independen dan menambahkan aturan yang berbeda ke ACL web.

Komponen solusi ini dapat dikelompokkan ke dalam bidang perlindungan berikut.

**catatan**  
Label grup tidak mencerminkan tingkat prioritas aturan WAF.
+  **AWS Managed Rules (A)** - Komponen ini berisi [grup aturan reputasi IP AWS Managed Rules, grup](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html) [aturan dasar, dan grup aturan](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) khusus [kasus penggunaan](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html). Kelompok aturan ini melindungi terhadap eksploitasi kerentanan aplikasi umum atau lalu lintas lain yang tidak diinginkan, termasuk yang dijelaskan dalam publikasi [OWASP](https://owasp.org/), tanpa harus menulis aturan Anda sendiri.
+  **Daftar IP manual (B dan C)** - Komponen ini membuat dua aturan AWS WAF. Dengan aturan ini, Anda dapat memasukkan alamat IP secara manual yang ingin Anda izinkan atau tolak. Anda dapat mengonfigurasi retensi IP dan menghapus alamat IP kedaluwarsa pada set IP yang diizinkan atau ditolak menggunakan EventBridge [aturan [Amazon dan Amazon](https://aws.amazon.com/eventbridge)[DynamoDB](https://aws.amazon.com/dynamodb)](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html). Untuk informasi selengkapnya, lihat [Mengonfigurasi retensi IP pada set IP AWS WAF yang Diizinkan dan Ditolak](configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets.md).
+  **SQL Injection (D) dan XSS (E)** - Komponen ini mengkonfigurasi dua aturan AWS WAF yang dirancang untuk melindungi terhadap injeksi SQL umum atau pola cross-site scripting (XSS) dalam URI, string kueri, atau isi permintaan.
+  **HTTP Flood (F)** - Komponen ini melindungi terhadap serangan yang terdiri dari sejumlah besar permintaan dari alamat IP tertentu, seperti serangan web-layer DDo S atau upaya login brute-force. Dengan aturan ini, Anda menetapkan kuota yang menentukan jumlah maksimum permintaan masuk yang diizinkan dari satu alamat IP dalam periode lima menit default (dapat dikonfigurasi dengan parameter Jadwal Waktu Jalankan Kueri **Athena**). Setelah ambang batas ini dilanggar, permintaan tambahan dari alamat IP diblokir sementara. Anda dapat menerapkan aturan ini dengan menggunakan aturan berbasis tarif AWS WAF, atau dengan memproses log AWS WAF menggunakan fungsi Lambda atau kueri Athena. [Untuk informasi selengkapnya tentang pengorbanan yang terkait dengan opsi mitigasi banjir HTTP, lihat opsi pengurai Log.](log-parser-options.md)
+  **Scanner and Probe (G)** - Komponen ini mem-parsing log akses aplikasi yang mencari perilaku mencurigakan, seperti jumlah kesalahan abnormal yang dihasilkan oleh asal. Kemudian memblokir alamat IP sumber yang mencurigakan untuk jangka waktu yang ditentukan pelanggan. [Anda dapat menerapkan aturan ini menggunakan fungsi [Lambda](https://aws.amazon.com/lambda/) atau kueri Athena.](https://aws.amazon.com/athena/) [Untuk informasi selengkapnya tentang pengorbanan yang terkait dengan opsi mitigasi pemindai dan probe, lihat opsi pengurai Log.](log-parser-options.md)
+  **Daftar Reputasi IP (H)** - Komponen ini adalah fungsi `IP Lists Parser` Lambda yang memeriksa daftar reputasi IP pihak ketiga setiap jam untuk rentang baru yang akan diblokir. Daftar ini termasuk daftar Spamhaus Don't Route Or Peer (DROP) dan Extended DROP (EDROP), daftar IP Proofpoint Emerging Threats, dan daftar node keluar Tor.
+  **Bad Bot (I)** - Komponen ini meningkatkan deteksi bot yang buruk dengan memantau koneksi langsung ke Application Load Balancer (ALB) atau CloudFront Amazon, selain mekanisme honeypot. Jika bot melewati honeypot dan mencoba berinteraksi dengan ALB atau CloudFront, sistem menganalisis pola permintaan dan log untuk mengidentifikasi aktivitas berbahaya. Ketika bot buruk terdeteksi, alamat IP-nya diekstraksi dan ditambahkan ke daftar blok AWS WAF untuk mencegah akses lebih lanjut. Deteksi bot buruk beroperasi melalui rantai logika terstruktur, memastikan cakupan ancaman yang komprehensif:
  + HTTP Flood Protection Lambda Log Parser - Mengumpulkan bot buruk IPs dari entri log selama analisis banjir.
  + Pemindai & Perlindungan Probe Lambda Log Parser - Mengidentifikasi bot buruk IPs dari entri log terkait pemindai.
  + HTTP Flood Protection Athena Log Parser - Mengekstrak bot buruk dari log IPs Athena, menggunakan partisi di seluruh proses kueri.
  + Perlindungan Pemindai & Probe Athena Log Parser - Mengambil bot buruk dari log Athena IPs terkait pemindai, menggunakan strategi partisi yang sama.
  + [Deteksi Fallback - Jika Perlindungan Banjir HTTP dan Perlindungan Pemindai & Probe dinonaktifkan, sistem bergantung pada parser Log Lambda, yang mencatat aktivitas bot berdasarkan filter label WAF.](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html)

Masing-masing dari tiga fungsi Lambda kustom dalam solusi ini menerbitkan metrik runtime ke. CloudWatch Untuk informasi lebih lanjut tentang fungsi Lambda ini, lihat detail [Komponen](component-details.md).

# Pertimbangan desain AWS Well-Architected
<a name="well-architected"></a>

Solusi ini menggunakan praktik terbaik dari [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/), yang membantu pelanggan merancang dan mengoperasikan beban kerja yang andal, aman, efisien, dan hemat biaya di cloud.

Bagian ini menjelaskan bagaimana prinsip-prinsip desain dan praktik terbaik dari Well-Architected Framework menguntungkan solusi ini.

## Keunggulan operasional
<a name="operational-excellence"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik dari [pilar keunggulan operasional](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html).
+ Solusi ini mendorong metrik untuk CloudWatch menyediakan observabilitas ke dalam infrastruktur, fungsi Lambda, [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/), Amazon S3 bucket, dan komponen solusi lainnya.
+ Kami mengembangkan, menguji, dan mempublikasikan solusi melalui pipeline AWS continuous integration and continuous delivery (CI/CD). Ini membantu pengembang mencapai hasil berkualitas tinggi secara konsisten.
+ Anda dapat menginstal solusi dengan CloudFormation templat yang menyediakan semua sumber daya yang diperlukan di akun Anda. Untuk memperbarui atau menghapus solusi, Anda hanya perlu memperbarui atau menghapus template.

## Keamanan
<a name="security-pillar"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik dari [pilar keamanan](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html).
+ Semua komunikasi antar layanan menggunakan peran [AWS Identity and Access Management](https://aws.amazon.com/iam/) (IAM).
+ Semua peran yang digunakan oleh solusi mengikuti akses [hak istimewa paling sedikit.](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) Dengan kata lain, mereka hanya berisi izin minimum yang diperlukan sehingga layanan dapat berfungsi dengan baik.
+ Semua penyimpanan data, termasuk bucket Amazon S3 dan DynamoDB, memiliki enkripsi saat istirahat.

## Keandalan
<a name="reliability"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik dari [pilar keandalan](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html).
+ Solusinya menggunakan layanan tanpa server AWS sedapat mungkin (misalnya, Lambda, Firehose, Amazon S3, dan Athena) untuk memastikan ketersediaan dan pemulihan yang tinggi dari kegagalan layanan.
+ Kami melakukan pengujian otomatis pada solusi untuk mendeteksi dan memperbaiki kesalahan dengan cepat.
+ Solusinya menggunakan fungsi Lambda untuk pemrosesan data. Solusi ini menyimpan data di Amazon S3 dan DynamoDB, dan tetap ada di beberapa Zona Avaialbility secara default.

## Efisiensi kinerja
<a name="performance-efficiency"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik dari [pilar efisiensi kinerja](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html).
+ Solusinya menggunakan arsitektur tanpa server untuk memastikan skalabilitas dan ketersediaan tinggi dengan biaya yang lebih rendah.
+ Solusi ini meningkatkan kinerja database dengan memparitisi data dan mengoptimalkan kueri untuk mengurangi jumlah pemindaian data dan mencapai hasil yang lebih cepat.
+ Solusinya secara otomatis diuji dan digunakan setiap hari. Arsitek solusi dan ahli materi pelajaran kami meninjau solusi untuk area untuk bereksperimen dan meningkatkan.

## Optimalisasi biaya
<a name="cost-optimization"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik dari [pilar pengoptimalan biaya](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html).
+ Solusinya menggunakan arsitektur tanpa server, dan pelanggan hanya membayar untuk apa yang mereka gunakan.
+ Lapisan komputasi solusi default ke Lambda, yang menggunakan model. pay-per-use
+ Database dan kueri Athena dioptimalkan untuk mengurangi jumlah pemindaian data, sehingga mengurangi biaya.

## Keberlanjutan
<a name="sustainability"></a>

Bagian ini menjelaskan bagaimana kami merancang solusi ini menggunakan prinsip dan praktik terbaik pilar [keberlanjutan](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html).
+ Solusinya menggunakan layanan terkelola dan tanpa server untuk meminimalkan dampak lingkungan dari layanan backend.
+ Desain tanpa server solusi ini ditujukan untuk mengurangi jejak karbon dibandingkan dengan jejak server lokal yang terus beroperasi.