Alamat IP yang diteruskan - 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.

Alamat IP yang diteruskan

Bagian ini berlaku untuk pernyataan aturan yang menggunakan alamat IP permintaan web. Secara default,AWS WAF menggunakan alamat IP dari asal permintaan web. Namun, jika permintaan web melewati satu atau lebih proxy atau load balancer, asal permintaan web akan berisi alamat proxy terakhir, dan bukan alamat asal klien. Dalam hal ini, alamat klien asal biasanya diteruskan di header HTTP lain. Header ini biasanyaX-Forwarded-For (XFF), tetapi bisa berbeda.

Pernyataan aturan yang menggunakan alamat IP

Pernyataan aturan yang menggunakan alamat IP adalah sebagai berikut:

  • Kecocokan set IP- Memeriksa alamat IP untuk pertandingan dengan alamat yang didefinisikan dalam set IP.

  • Pertandingan geografis- Menggunakan alamat IP untuk menentukan negara asal dan cocok dengan daftar negara.

  • Berdasarkan tarif- Mengumpulkan permintaan berdasarkan alamat IP mereka untuk memastikan bahwa tidak ada alamat IP individu yang mengirimkan permintaan dengan tarif yang terlalu tinggi.

Anda dapat menginstruksikanAWS WAF untuk menggunakan alamat IP yang diteruskan untuk salah satu pernyataan aturan ini, baik dariX-Forwarded-For header atau dari header HTTP lain, alih-alih menggunakan asal permintaan web. Untuk detail tentang cara memberikan spesifikasi, lihat panduan untuk jenis pernyataan aturan individual.

Alamat IP yang digunakan dalam KontrolAWS WAF Bot

Grup aturan terkelola Bot Control memverifikasi bot menggunakan alamat IP dariAWS WAF. Jika Anda menggunakan Kontrol Bot dan Anda telah memverifikasi bot yang merutekan melalui proxy atau penyeimbang muatan, Anda harus secara eksplisit mengizinkannya menggunakan aturan khusus. Misalnya, Anda dapat mengonfigurasi aturan pencocokan set IP khusus yang menggunakan alamat IP yang diteruskan untuk mendeteksi dan mengizinkan bot terverifikasi Anda. Anda dapat menggunakan aturan untuk menyesuaikan manajemen bot dengan beberapa cara. Untuk informasi dan contoh, lihat AWS WAFKontrol Bot.

Pertimbangan umum untuk menggunakan alamat IP yang diteruskan

Sebelum Anda menggunakan alamat IP yang diteruskan, perhatikan peringatan umum berikut ini:

  • Header dapat dimodifikasi oleh proxy di sepanjang jalan, dan proxy mungkin menangani header dengan cara yang berbeda.

  • Penyerang mungkin mengubah isi header dalam upaya untuk melewatiAWS WAF inspeksi.

  • Alamat IP di dalam header dapat cacat atau tidak valid.

  • Header yang Anda tentukan mungkin tidak ada sama sekali dalam permintaan.

Pertimbangan untuk menggunakan alamat IP yang diteruskan denganAWS WAF

Daftar berikut menjelaskan persyaratan dan peringatan untuk menggunakan alamat IP yang diteruskan diAWS WAF:

  • Untuk aturan tunggal, Anda dapat menentukan satu header untuk alamat IP yang diteruskan. Spesifikasi header peka terhadap huruf besar kecil.

  • Untuk pernyataan aturan berbasis tingkat, pernyataan scoping bersarang tidak mewarisi konfigurasi IP yang diteruskan. Tentukan konfigurasi untuk setiap pernyataan yang menggunakan alamat IP yang diteruskan.

  • Untuk pencocokan geografis dan aturan berbasis tingkat,AWS WAF gunakan alamat pertama di header. Misalnya, jika header berisi “10.1.1.1, 127.0.0.0, gunakan “10.0.0.0, gunakan “10.1.1.1”,AWS WAF gunakan “10.1.1.1”.

  • Untuk pencocokan set IP, Anda menunjukkan apakah akan cocok dengan alamat pertama, terakhir, atau apa pun di header. Jika Anda menentukan,AWS WAF memeriksa semua alamat di header untuk pertandingan, hingga 10 alamat. Jika header berisi lebih dari 10 alamat,AWS WAF periksa 10 yang terakhir.

  • Header yang berisi beberapa alamat harus menggunakan pemisah koma antara alamat. Jika permintaan menggunakan pemisah selain koma,AWS WAF menganggap alamat IP di header cacat.

  • Jika alamat IP di dalam header salah bentuk atau tidak valid,AWS WAF tentukan permintaan web sebagai pencocokan aturan atau tidak cocok, sesuai dengan perilaku mundur yang Anda tentukan dalam konfigurasi IP yang diteruskan.

  • Jika header yang Anda tentukan tidak ada dalam permintaan,AWS WAF tidak menerapkan aturan untuk permintaan sama sekali. IniAWS WAF berarti bahwa tidak menerapkan tindakan aturan dan tidak menerapkan perilaku mundur.

  • Pernyataan aturan yang menggunakan header IP yang diteruskan untuk alamat IP tidak akan menggunakan alamat IP yang dilaporkan oleh asal permintaan web.

Praktik terbaik untuk menggunakan alamat IP yang diteruskan denganAWS WAF

Saat Anda menggunakan alamat IP yang diteruskan, gunakan praktik terbaik berikut ini:

  • Pertimbangkan dengan cermat semua kemungkinan status header permintaan Anda sebelum mengaktifkan konfigurasi IP yang diteruskan. Anda mungkin perlu menggunakan lebih dari satu aturan untuk mendapatkan perilaku yang Anda inginkan.

  • Untuk memeriksa beberapa header IP yang diteruskan atau untuk memeriksa asal permintaan web dan header IP yang diteruskan, gunakan satu aturan untuk setiap sumber alamat IP.

  • Untuk memblokir permintaan web yang memiliki header tidak valid, setel tindakan aturan untuk memblokir dan mengatur perilaku mundur untuk konfigurasi IP yang diteruskan agar cocok.

Contoh JSON untuk alamat IP yang diteruskan

Pernyataan pencocokan geo berikut hanya cocok jikaX-Forwarded-For header berisi IP yang negara asalnya adalahUS:

{ "Name": "XFFTestGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestGeo" }, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }

Aturan berbasis tingkat berikut mengumpulkan permintaan berdasarkan IP pertama diX-Forwarded-For header. Aturan hanya menghitung permintaan yang cocok dengan pernyataan pencocokan geo bersarang. Pernyataan pencocokan geo bersarang juga menggunakanX-Forwarded-For header untuk menentukan apakah alamat IP menunjukkan negara asalUS. Jika ya, atau jika header hadir tetapi cacat, pernyataan geo match mengembalikan kecocokan.

{ "Name": "XFFTestRateGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestRateGeo" }, "Statement": { "RateBasedStatement": { "Limit": "100", "AggregateKeyType": "FORWARDED_IP", "ScopeDownStatement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } }, "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }