0Pricing
Cloud & IT Cert Prep · Pelajaran

CloudFront dengan WAF dan Lambda@Edge

Pasang AWS WAF untuk memblokir serangan web umum dan jalankan transformasi permintaan/respons ringan di edge dengan Lambda@Edge.

CloudFront dengan WAF dan Lambda@Edge adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Melindungi CloudFront dengan AWS WAF

AWS WAF (Web Application Firewall) menyaring dan memantau permintaan HTTP/HTTPS yang mencapai distribusi CloudFront Anda. Dengan melampirkan Web ACL WAF ke distribusi, Anda dapat memblokir eksploitasi web umum—injeksi SQL, skrip lintas situs (XSS), bot berbahaya, dan serangan OWASP Top 10—sebelum mencapai asal.

WAF beroperasi di edge CloudFront, sehingga permintaan berbahaya ditolak di lokasi edge terdekat, bukan mencapai ALB atau server aplikasi Anda. Hal ini mengurangi beban pada backend dan menghentikan serangan lebih dekat dengan penyerang.

# Associate a WAF Web ACL with a CloudFront distribution
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123456789:global/webacl/MyACL/12345 \
  --resource-arn arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE

Aturan dan Grup Aturan WAF

Web ACL WAF berisi aturan dan grup aturan yang diurutkan. Masing-masing mencocokkan atribut permintaan dan mengambil tindakan (Allow, Block, Count, CAPTCHA). Aturan dievaluasi berdasarkan urutan prioritas; tindakan dari aturan pertama yang cocok akan diterapkan.

AWS menyediakan grup aturan terkelola—kumpulan aturan siap pakai yang dikelola oleh AWS dan penjual AWS Marketplace. AWS Managed Rules - Core Rule Set mencakup OWASP Top 10 tanpa konfigurasi apa pun. Grup aturan terkelola diperbarui oleh AWS saat ancaman baru muncul, sehingga mengurangi beban operasional Anda.

# Create a Web ACL with AWS Managed Core Rule Set
aws wafv2 create-web-acl \
  --name MyCloudFrontACL \
  --scope CLOUDFRONT \
  --default-action Allow={} \
  --rules '[{
    "Name": "CoreRuleSet",
    "Priority": 1,
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesCommonRuleSet"
      }
    },
    "OverrideAction": {"None": {}},
    "VisibilityConfig": {
      "SampledRequestsEnabled": true,
      "CloudWatchMetricsEnabled": true,
      "MetricName": "CoreRuleSet"
    }
  }]' \
  --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=MyACL \
  --region us-east-1

Pembatasan Laju dan Pengendalian Bot WAF

Aturan berbasis laju di WAF menghitung permintaan dari setiap IP sumber selama jendela 5 menit. Jika sebuah IP melebihi ambang batas (misalnya 2.000 permintaan per 5 menit), WAF memblokir permintaan berikutnya dari IP tersebut sampai lajunya turun. Aturan berbasis laju melindungi dari serangan brute force, pengisian kredensial, dan pengikisan DDoS sederhana.

AWS WAF Bot Control adalah grup aturan terkelola yang mengklasifikasikan lalu lintas ke dalam beberapa kategori: bot terverifikasi (Googlebot, Bingbot), pengikis, alat pemantauan, dan lalu lintas manusia. Anda dapat mengonfigurasi tindakan yang berbeda untuk setiap kategori—mengizinkan bot mesin pencari, menantang bot yang tidak dikenal dengan CAPTCHA, atau memblokir pengikis berbahaya.

Cakupan WAF: CLOUDFRONT vs REGIONAL

Web ACL WAF memiliki cakupan CLOUDFRONT (global, untuk digunakan dengan CloudFront) atau REGIONAL (untuk digunakan dengan ALB, API Gateway, AppSync, atau Cognito User Pools di Region tertentu). ACL WAF dengan cakupan CloudFront harus dibuat di Region us-east-1, di mana pun lalu lintas berasal, karena CloudFront dikelola dari Region tersebut.

Ini adalah jebakan penting dalam ujian: jika Anda membuat Web ACL WAF di eu-west-1 lalu mencoba melampirkannya ke CloudFront, pemasangan tersebut gagal. Selalu buat ACL WAF CloudFront di us-east-1.

Pengantar Lambda@Edge

Lambda@Edge memungkinkan Anda menjalankan fungsi Lambda Node.js atau Python di lokasi edge CloudFront sebagai respons terhadap peristiwa CloudFront. Fungsi berjalan dalam hitungan milidetik sejak permintaan pengguna diterima, tanpa merutekan lalu lintas kembali ke Region pusat untuk diproses.

Fungsi Lambda@Edge diterapkan ke Region us-east-1, tetapi secara otomatis direplikasi ke semua lokasi edge CloudFront di seluruh dunia. Dengan demikian, kode Anda berjalan sedekat mungkin dengan pengguna, sehingga memungkinkan personalisasi, autentikasi, dan pengujian A/B di edge dengan tambahan latensi minimal.

Titik Pemicu Lambda@Edge

Fungsi Lambda@Edge dapat mencegat permintaan dan respons CloudFront pada empat titik dalam siklus hidup:

  • Viewer Request: setelah CloudFront menerima permintaan dari pemirsa, sebelum memeriksa cache—digunakan untuk autentikasi, pengalihan, dan manipulasi header
  • Origin Request: setelah cache tidak menemukan kecocokan, sebelum diteruskan ke asal—digunakan untuk menulis ulang URL dan menambahkan header kustom ke asal
  • Origin Response: setelah menerima respons dari asal, sebelum menyimpannya di cache—digunakan untuk menambahkan header keamanan dan mengubah respons
  • Viewer Response: sebelum CloudFront mengirimkan respons kepada pemirsa—digunakan untuk menambahkan atau mengubah header respons

Lambda@Edge vs CloudFront Functions

AWS menyediakan dua opsi komputasi edge dengan kelebihan dan kekurangan yang berbeda:

  • CloudFront Functions: eksekusi di bawah satu milidetik, hanya JavaScript, biaya sangat rendah (sekitar 1/6 harga), hanya berjalan pada peristiwa Viewer Request dan Viewer Response, batas waktu komputasi 1 ms, tanpa akses VPC/jaringan
  • Lambda@Edge: waktu eksekusi hingga 30 detik (Viewer) / 30 detik (Origin), Node.js atau Python, keempat titik pemicu, dapat melakukan permintaan jaringan, memiliki akses ke isi permintaan/respons

Gunakan CloudFront Functions untuk manipulasi header sederhana, normalisasi URL, dan penghitungan kunci cache. Gunakan Lambda@Edge untuk logika kompleks yang memerlukan panggilan jaringan, komputasi lebih lama, atau pemrosesan di sisi asal.

Kasus Penggunaan Lambda@Edge

Pola Lambda@Edge yang umum dalam ujian SAA-C03:

  • Validasi JWT di edge: fungsi Viewer Request memvalidasi header Authorization; permintaan yang tidak sah mengembalikan 401 tanpa mencapai asal
  • Pengujian A/B: Viewer Request menetapkan pengguna ke grup A atau B (melalui cookie) dan mengubah permintaan untuk mengambil /a/page.html atau /b/page.html
  • Penulisan ulang URL: Origin Request menulis ulang URL yang bersih menjadi jalur berkas sebenarnya di S3
  • Pengubahan ukuran gambar dinamis: Origin Request membuat permintaan ke Lambda pemroses gambar; Origin Response menyimpan gambar yang telah diubah ukurannya di cache
  • Header keamanan HTTP: Viewer Response menyisipkan header CSP, HSTS, X-Frame-Options

Keterbatasan Lambda@Edge

Lambda@Edge memiliki beberapa batasan dibandingkan Lambda standar:

  • Fungsi harus berada di Wilayah us-east-1
  • Tidak mendukung VPC (tidak dapat mengakses sumber daya dalam VPC)
  • Tidak ada variabel lingkungan (sematkan konfigurasi dalam kode fungsi atau ambil dari Parameter Store saat cold start)
  • Tidak dapat menggunakan Lambda Layers
  • Batas waktu kejadian viewer: 5 detik; batas waktu kejadian origin: 30 detik
  • Batas ukuran paket deployment: 1 MB (kejadian viewer) / 50 MB (kejadian origin)

Batasan ini membuat Lambda@Edge tidak cocok untuk komputasi yang berjalan lama, operasi yang bergantung pada VPC, atau fungsi yang memerlukan konfigurasi dinamis pada setiap deployment.

WAF + Lambda@Edge: Keamanan Berlapis

WAF dan Lambda@Edge memiliki peran keamanan yang berbeda dan saling melengkapi:

  • WAF: pemblokiran serangan berbasis tanda tangan (injeksi SQL, XSS, pelaku berbahaya yang telah diketahui, pembatasan laju)—aturan terkelola menangani serangan umum secara otomatis
  • Lambda@Edge: logika keamanan bisnis khusus (validasi JWT, pemeriksaan sesi, verifikasi token akses)—fleksibel, tetapi memerlukan upaya pengembangan

Arsitektur pertahanan berlapis: WAF terlebih dahulu memblokir pola serangan yang telah diketahui; Lambda@Edge memvalidasi autentikasi tingkat bisnis; URL/cookie bertanda tangan CloudFront membatasi akses konten; OAC menjaga S3 tetap privat. Setiap lapisan secara independen mencegah jenis serangan yang berbeda.

Memantau WAF dan Lambda@Edge

Pantau lapisan keamanan edge Anda dengan alat-alat berikut:

  • log WAF: aktifkan pencatatan permintaan lengkap ke S3, CloudWatch Logs, atau Kinesis Firehose untuk melihat aturan mana yang cocok dan lalu lintas apa yang diblokir
  • metrik WAF: BlockedRequests, AllowedRequests, CountedRequests per aturan di CloudWatch
  • log Lambda@Edge: kelompok CloudWatch Logs dibuat di setiap Wilayah tempat fungsi dijalankan; gunakan CloudWatch Insights untuk melakukan kueri lintas Wilayah
  • CloudFront Real-Time Logs: alirkan log akses ke Kinesis untuk analisis segera (berbeda dengan log akses standar yang dikumpulkan setiap beberapa menit)

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: AWS WAF memblokir serangan web umum di edge CloudFront menggunakan grup aturan terkelola dan khusus, Lambda@Edge menjalankan kode khusus pada empat titik pemicu CloudFront secara global, dan CloudFront Functions menawarkan eksekusi dalam waktu kurang dari satu milidetik untuk logika sederhana di sisi viewer. ACL WAF untuk CloudFront harus dibuat di us-east-1. Selanjutnya kita akan membahas Application, Network, dan Gateway Load Balancer.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “CloudFront dengan WAF dan Lambda@Edge” gratis?

Ya — teks lengkap “CloudFront dengan WAF dan Lambda@Edge” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “CloudFront dengan WAF dan Lambda@Edge”?

Pasang AWS WAF untuk memblokir serangan web umum dan jalankan transformasi permintaan/respons ringan di edge dengan Lambda@Edge. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “CloudFront dengan WAF dan Lambda@Edge” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Distribusi dan Asal CloudFront
  2. Perilaku Tembolok dan Pengaturan TTL
  3. URL Bertanda Tangan, Cookie Bertanda Tangan, dan Pembatasan Geografis
  4. CloudFront dengan WAF dan Lambda@Edge
← Kembali ke Cloud & IT Cert Prep