Bagaimana AWS WAF Classic bekerja dengan CloudFront fitur Amazon - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

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

Bagaimana AWS WAF Classic bekerja dengan CloudFront fitur Amazon

catatan

Ini adalah dokumentasi AWS WAF Klasik. Anda hanya boleh menggunakan versi ini jika Anda membuat AWS WAF sumber daya, seperti aturan dan ACL web, AWS WAF sebelum November 2019, dan Anda belum memigrasikannya ke versi terbaru. Untuk memigrasikan sumber daya Anda, lihatMemigrasi sumber daya AWS WAF Klasik Anda ke AWS WAF.

Untuk versi terbaru AWS WAF, lihatAWS WAF.

Saat membuat ACL web, Anda dapat menentukan satu atau CloudFront beberapa distribusi yang ingin diperiksa oleh AWS WAF Classic. AWS WAF Classic mulai mengizinkan, memblokir, atau menghitung permintaan web untuk distribusi tersebut berdasarkan kondisi yang Anda identifikasi di ACL web. CloudFront menyediakan beberapa fitur yang meningkatkan fungsionalitas AWS WAF Klasik. Bab ini menjelaskan beberapa cara yang dapat Anda konfigurasikan CloudFront untuk membuat CloudFront dan AWS WAF Classic bekerja lebih baik bersama-sama.

Menggunakan AWS WAF Klasik dengan halaman kesalahan CloudFront kustom

Ketika AWS WAF Classic memblokir permintaan web berdasarkan kondisi yang Anda tentukan, ia mengembalikan kode status HTTP 403 (Forbidden) ke CloudFront. Selanjutnya, CloudFront mengembalikan kode status itu ke penampil. Penampil kemudian menampilkan pesan default singkat dan jarang diformat mirip dengan ini:

Forbidden: You don't have permission to access /myfilename.html on this server.

Jika Anda lebih suka menampilkan pesan kesalahan kustom, mungkin menggunakan format yang sama dengan situs web Anda lainnya, Anda dapat mengonfigurasi CloudFront untuk mengembalikan objek ke penampil (misalnya, file HTML) yang berisi pesan kesalahan kustom Anda.

catatan

CloudFront tidak dapat membedakan antara kode status HTTP 403 yang dikembalikan oleh asal Anda dan kode yang dikembalikan oleh AWS WAF Classic saat permintaan diblokir. Ini berarti bahwa Anda tidak dapat mengembalikan halaman kesalahan kustom yang berbeda berdasarkan penyebab yang berbeda dari kode status HTTP 403.

Untuk informasi selengkapnya tentang halaman kesalahan CloudFront kustom, lihat Menyesuaikan Respons Kesalahan di Panduan CloudFront Pengembang Amazon.

Menggunakan AWS WAF Classic dengan CloudFront untuk aplikasi yang berjalan di server HTTP Anda sendiri

Saat menggunakan AWS WAF Classic with CloudFront, Anda dapat melindungi aplikasi yang berjalan di server web HTTP apa pun, baik itu server web yang berjalan di Amazon Elastic Compute Cloud (Amazon EC2) atau server web yang Anda kelola secara pribadi. Anda juga dapat mengonfigurasi CloudFront untuk meminta HTTPS antara CloudFront dan server web Anda sendiri, serta antara pemirsa dan CloudFront.

Membutuhkan HTTPS Antara CloudFront dan Server Web Anda Sendiri

Untuk mewajibkan HTTPS antara CloudFront dan server web Anda sendiri, Anda dapat menggunakan fitur asal CloudFront kustom dan mengonfigurasi Kebijakan Protokol Asal dan pengaturan Nama Domain Asal untuk asal tertentu. Dalam CloudFront konfigurasi Anda, Anda dapat menentukan nama DNS server bersama dengan port dan protokol yang CloudFront ingin Anda gunakan saat mengambil objek dari asal Anda. Anda juga harus memastikan bahwa sertifikat SSL/TLS di server asal kustom Anda cocok dengan nama domain asal yang telah Anda konfigurasikan. Ketika Anda menggunakan server web HTTP Anda sendiri di luar AWS, Anda harus menggunakan sertifikat yang ditandatangani oleh otoritas sertifikat pihak ketiga tepercaya (CA), misalnya, Comodo DigiCert, atau Symantec. Untuk informasi selengkapnya tentang mewajibkan HTTPS untuk komunikasi antara CloudFront dan server web Anda sendiri, lihat topik Memerlukan HTTPS untuk Komunikasi Antara CloudFront dan Asal Kustom Anda di Panduan CloudFront Pengembang Amazon.

Membutuhkan HTTPS Antara Penampil dan CloudFront

Untuk mewajibkan HTTPS antara pemirsa dan CloudFront, Anda dapat mengubah Kebijakan Protokol Penampil untuk satu atau beberapa perilaku cache dalam CloudFront distribusi Anda. Untuk informasi selengkapnya tentang penggunaan HTTPS antar pemirsa dan CloudFront, lihat topik Memerlukan HTTPS untuk Komunikasi Antar CloudFront Pemirsa dan di Panduan CloudFront Pengembang Amazon. Anda juga dapat membawa sertifikat SSL Anda sendiri sehingga pemirsa dapat terhubung ke CloudFront distribusi Anda melalui HTTPS menggunakan nama domain Anda sendiri, misalnya https://www.mysite.com. Untuk informasi selengkapnya, lihat topik Mengonfigurasi Nama Domain Alternatif dan HTTPS di Panduan CloudFront Pengembang Amazon.

Memilih metode HTTP yang CloudFront merespons

Saat Anda membuat distribusi CloudFront web Amazon, Anda memilih metode HTTP yang ingin CloudFront Anda proses dan teruskan ke asal Anda. Anda dapat memilih dari opsi berikut:

  • GET, HEAD - Anda CloudFront hanya dapat menggunakan untuk mendapatkan objek dari asal Anda atau untuk mendapatkan header objek.

  • GET, HEAD, OPTIONS — Anda CloudFront hanya dapat menggunakan untuk mendapatkan objek dari asal Anda, mendapatkan header objek, atau mengambil daftar opsi yang didukung server asal Anda.

  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE - Anda dapat menggunakan CloudFront untuk mendapatkan, menambah, memperbarui, dan menghapus objek, dan untuk mendapatkan header objek. Selain itu, Anda dapat melakukan operasi POST lainnya seperti mengirimkan data dari formulir web.

Anda juga dapat menggunakan kondisi pencocokan string AWS WAF Klasik untuk mengizinkan atau memblokir permintaan berdasarkan metode HTTP, seperti yang dijelaskan dalamBekerja dengan kondisi kecocokan string. Jika Anda ingin menggunakan kombinasi metode yang CloudFront mendukung, seperti GET danHEAD, maka Anda tidak perlu mengkonfigurasi AWS WAF Classic untuk memblokir permintaan yang menggunakan metode lain. Jika Anda ingin mengizinkan kombinasi metode yang CloudFront tidak mendukung, seperti,, dan GET HEADPOST, Anda dapat mengonfigurasi CloudFront untuk merespons semua metode, lalu gunakan AWS WAF Classic untuk memblokir permintaan yang menggunakan metode lain.

Untuk informasi selengkapnya tentang memilih metode yang CloudFront merespons, lihat Metode HTTP yang Diizinkan dalam topik Nilai yang Anda Tentukan Saat Membuat atau Memperbarui Distribusi Web di Panduan CloudFront Pengembang Amazon.