Bekerja dengan kondisi kendala ukuran - 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.

Bekerja dengan kondisi kendala ukuran

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.

Jika Anda ingin mengizinkan atau memblokir permintaan web berdasarkan panjang bagian permintaan yang ditentukan, buat satu atau lebih kondisi batasan ukuran. Kondisi batasan ukuran mengidentifikasi bagian permintaan web yang ingin dilihat AWS WAF Classic, jumlah byte yang ingin dicari AWS WAF Classic, dan operator, seperti lebih besar dari (>) atau kurang dari (<). Misalnya, Anda dapat menggunakan kondisi batasan ukuran untuk mencari string kueri yang lebih panjang dari 100 byte. Kemudian dalam proses, ketika Anda membuat ACL web, Anda menentukan apakah akan mengizinkan atau memblokir permintaan berdasarkan pengaturan tersebut.

Perhatikan bahwa jika Anda mengonfigurasi AWS WAF Classic untuk memeriksa isi permintaan, misalnya, dengan mencari isi untuk string tertentu, AWS WAF Classic hanya memeriksa 8192 byte pertama (8 KB). Jika badan permintaan untuk permintaan web Anda tidak akan pernah melebihi 8192 byte, Anda dapat membuat kondisi batasan ukuran dan memblokir permintaan yang memiliki badan permintaan lebih besar dari 8192 byte.

Membuat kondisi kendala ukuran

Saat Anda membuat kondisi batasan ukuran, Anda menentukan filter yang mengidentifikasi bagian permintaan web yang Anda inginkan AWS WAF Classic untuk mengevaluasi panjangnya. Anda dapat menambahkan lebih dari satu filter ke kondisi batasan ukuran, atau Anda dapat membuat kondisi terpisah untuk setiap filter. Inilah cara setiap konfigurasi memengaruhi perilaku AWS WAF Klasik:

  • Satu filter per kondisi kendala ukuran — Saat Anda menambahkan kondisi batasan ukuran terpisah ke aturan dan menambahkan aturan ke ACL web, permintaan web harus cocok dengan semua kondisi untuk AWS WAF Classic untuk mengizinkan atau memblokir permintaan berdasarkan kondisi.

    Misalnya, Anda membuat dua kondisi. Satu cocok dengan permintaan web yang string kuerinya lebih besar dari 100 byte. Yang lain cocok dengan permintaan web yang badan permintaannya lebih besar dari 1024 byte. Saat Anda menambahkan kedua kondisi ke aturan yang sama dan menambahkan aturan ke ACL web, AWS WAF Classic mengizinkan atau memblokir permintaan hanya jika kedua kondisi benar.

  • Lebih dari satu filter per kondisi batasan ukuran — Saat Anda menambahkan kondisi batasan ukuran yang berisi beberapa filter ke aturan dan menambahkan aturan ke ACL web, permintaan web hanya perlu mencocokkan salah satu filter dalam kondisi batasan ukuran untuk AWS WAF Classic untuk mengizinkan atau memblokir permintaan berdasarkan kondisi tersebut.

    Misalkan Anda membuat satu kondisi, bukan dua, dan satu kondisi berisi dua filter yang sama seperti pada contoh sebelumnya. AWS WAF Classic memungkinkan atau memblokir permintaan jika string kueri lebih besar dari 100 byte atau badan permintaan lebih besar dari 1024 byte.

catatan

Saat menambahkan kondisi batasan ukuran ke aturan, Anda juga dapat mengonfigurasi AWS WAF Classic untuk mengizinkan atau memblokir permintaan web yang tidak cocok dengan nilai dalam kondisi tersebut.

Untuk membuat kondisi kendala ukuran
  1. Masuk ke AWS Management Console dan buka AWS WAF konsol di https://console.aws.amazon.com/wafv2/.

    Jika Anda melihat Beralih ke AWS WAF Klasik di panel navigasi, pilih.

  2. Di panel navigasi, pilih Kendala ukuran.

  3. Pilih Buat kondisi.

  4. Tentukan pengaturan filter yang berlaku. Untuk informasi selengkapnya, lihat Nilai yang Anda tentukan saat Anda membuat atau mengedit kondisi batasan ukuran.

  5. Pilih Tambahkan filter lain.

  6. Jika Anda ingin menambahkan filter lain, ulangi langkah 4 dan 5.

  7. Setelah selesai menambahkan filter, pilih Buat kondisi batasan ukuran.

Nilai yang Anda tentukan saat Anda membuat atau mengedit kondisi batasan ukuran

Saat Anda membuat atau memperbarui kondisi batasan ukuran, Anda menentukan nilai berikut:

Nama

Masukkan nama untuk kondisi batasan ukuran.

Nama hanya dapat berisi karakter alfanumerik (A-Z, a-z, 0-9) atau karakter khusus berikut: _-!” #`+*}, ./. Anda tidak dapat mengubah nama kondisi setelah Anda membuatnya.

Bagian dari permintaan untuk memfilter

Pilih bagian dari setiap permintaan web yang Anda inginkan AWS WAF Classic untuk mengevaluasi panjangnya:

Header

Header permintaan tertentu, misalnya, Referer header User-Agent atau. Jika Anda memilih Header, tentukan nama header di bidang Header.

Metode HTTP

Metode HTTP, yang menunjukkan jenis operasi yang diminta permintaan asal untuk dilakukan. CloudFront mendukung metode berikut:DELETE,GET,HEAD,OPTIONS,PATCH,POST, danPUT.

String kueri

Bagian dari URL yang muncul setelah ? karakter, jika ada.

URI

Jalur URI permintaan, yang mengidentifikasi sumber daya, misalnya,/images/daily-ad.jpg. Ini tidak termasuk string kueri atau komponen fragmen URI. Untuk selengkapnya, lihat Uniform Resource Identifier (URI): Generic Syntax.

Kecuali Transformasi ditentukan, URI tidak dinormalisasi dan diperiksa sama seperti AWS menerimanya dari klien sebagai bagian dari permintaan. Transformasi akan memformat ulang URI seperti yang ditentukan.

Tubuh

Bagian dari permintaan yang berisi data tambahan yang ingin Anda kirim ke server web Anda sebagai badan permintaan HTTP, seperti data dari formulir.

Parameter kueri tunggal (hanya nilai)

Parameter apa pun yang telah Anda definisikan sebagai bagian dari string kueri. Misalnya, jika URL-nya adalah “www.xyz.com? UserName =abc& SalesRegion =seattle” Anda dapat menambahkan filter ke parameter atau. UserNameSalesRegion

Jika Anda memilih Parameter kueri tunggal (hanya nilai), Anda juga akan menentukan nama parameter Kueri. Ini adalah parameter dalam string kueri yang akan Anda periksa, seperti UserName. Panjang maksimum untuk nama parameter Query adalah 30 karakter. Nama parameter kueri tidak peka huruf besar/kecil. Misalnya, Anda menentukan UserNamesebagai nama parameter Query, ini akan cocok dengan semua variasi UserName, seperti username dan UserName.

Semua parameter kueri (hanya nilai)

Mirip dengan Parameter kueri tunggal (hanya nilai), tetapi alih-alih memeriksa nilai parameter tunggal, AWS WAF Classic memeriksa nilai semua parameter dalam string kueri untuk batasan ukuran. Misalnya, jika URL adalah “www.xyz.com? UserName =abc& SalesRegion =seattle,” dan Anda memilih Semua parameter kueri (hanya nilai), AWS WAF Klasik akan memicu kecocokan nilai jika salah satu atau melebihi ukuran yang ditentukan. UserNameSalesRegion

Header (Hanya Ketika “Bagian dari permintaan untuk memfilter” adalah “Header”)

Jika Anda memilih Header untuk Bagian dari permintaan untuk difilter, pilih header dari daftar header umum, atau ketik nama header yang Anda inginkan AWS WAF Classic untuk mengevaluasi panjangnya.

Operator perbandingan

Pilih bagaimana Anda ingin AWS WAF Classic mengevaluasi panjang string kueri dalam permintaan web sehubungan dengan nilai yang Anda tentukan untuk Ukuran.

Misalnya, jika Anda memilih Lebih besar dari operator Perbandingan dan ketik 100 untuk Ukuran, AWS WAF Classic mengevaluasi permintaan web untuk string kueri yang lebih panjang dari 100 byte.

Ukuran

Masukkan panjang, dalam byte, yang Anda ingin AWS WAF Classic perhatikan dalam string kueri.

catatan

Jika Anda memilih URI untuk nilai Bagian dari permintaan untuk difilter,/dalam URI dihitung sebagai satu karakter. Misalnya, jalur /logo.jpg URI memiliki panjang sembilan karakter.

Transformasi

Transformasi memformat ulang permintaan web sebelum AWS WAF Classic mengevaluasi panjang bagian permintaan yang ditentukan. Ini menghilangkan beberapa format yang tidak biasa yang digunakan penyerang dalam permintaan web dalam upaya untuk melewati AWS WAF Classic.

catatan

Jika Anda memilih Body for Part dari permintaan untuk difilter, Anda tidak dapat mengonfigurasi AWS WAF Classic untuk melakukan transformasi karena hanya 8192 byte pertama yang diteruskan untuk diperiksa. Namun, Anda masih dapat memfilter lalu lintas berdasarkan ukuran badan permintaan HTTP dan menentukan transformasi None. (AWS WAF Klasik mendapatkan panjang badan dari header permintaan.)

Anda hanya dapat menentukan satu jenis transformasi teks.

Transformasi dapat melakukan operasi berikut:

Tidak ada

AWS WAF Classic tidak melakukan transformasi teks apa pun pada permintaan web sebelum memeriksa panjangnya.

Mengkonversi ke lowercase

AWS WAF Klasik mengkonversi huruf besar (A-Z) ke huruf kecil (a-z).

Dekode HTML

AWS WAF Klasik menggantikan karakter yang dikodekan HTML dengan karakter yang tidak dikodekan:

  • Mengganti &quot; dengan &

  • Mengganti &nbsp; dengan ruang yang tidak pecah

  • Mengganti &lt; dengan <

  • Mengganti &gt; dengan >

  • Mengganti karakter yang diwakili dalam format heksadesimal, &#xhhhh;, dengan karakter yang sesuai

  • Mengganti karakter yang diwakili dalam format desimal, &#nnnn;, dengan karakter yang sesuai

Menormalkan ruang putih

AWS WAF Klasik menggantikan karakter berikut dengan karakter spasi (desimal 32):

  • \ f, formfeed, desimal 12

  • \ t, tab, desimal 9

  • \ n, baris baru, desimal 10

  • \ r, pengembalian pengangkutan, desimal 13

  • \ v, tab vertikal, desimal 11

  • spasi tanpa pindah baris, desimal 160

Selain itu, opsi ini menggantikan beberapa spasi dengan satu spasi.

Sederhanakan baris perintah

Untuk permintaan yang berisi perintah baris perintah sistem operasi, gunakan opsi ini untuk melakukan transformasi berikut:

  • Menghapus karakter berikut: \ " ' ^

  • Menghapus spasi sebelum karakter berikut: / (

  • Mengganti karakter berikut dengan spasi: , ;

  • Mengganti spasi ganda dengan satu spasi

  • Mengonversi huruf besar (A-Z) ke huruf kecil (a-z)

Dekode URL

Memecahkan kode permintaan yang dikodekan URL.

Menambahkan dan menghapus filter dalam kondisi batasan ukuran

Anda dapat menambahkan atau menghapus filter dalam kondisi batasan ukuran. Untuk mengubah filter, tambahkan yang baru dan hapus yang lama.

Untuk menambah atau menghapus filter dalam kondisi batasan ukuran
  1. Masuk ke AWS Management Console dan buka AWS WAF konsol di https://console.aws.amazon.com/wafv2/.

    Jika Anda melihat Beralih ke AWS WAF Klasik di panel navigasi, pilih.

  2. Di panel navigasi, pilih Size constraint.

  3. Pilih kondisi yang ingin Anda tambahkan atau hapus filter.

  4. Untuk menambahkan filter, lakukan langkah-langkah berikut:

    1. Pilih Tambahkan filter.

    2. Tentukan pengaturan filter yang berlaku. Untuk informasi selengkapnya, lihat Nilai yang Anda tentukan saat Anda membuat atau mengedit kondisi batasan ukuran.

    3. Pilih Tambahkan.

  5. Untuk menghapus filter, lakukan langkah-langkah berikut:

    1. Pilih filter yang ingin Anda hapus.

    2. Pilih Hapus filter.

Menghapus kondisi kendala ukuran

Jika Anda ingin menghapus kondisi batasan ukuran, Anda harus terlebih dahulu menghapus semua filter dalam kondisi dan menghapus kondisi dari semua aturan yang menggunakannya, seperti yang dijelaskan dalam prosedur berikut.

Untuk menghapus kondisi batasan ukuran
  1. Masuk ke AWS Management Console dan buka AWS WAF konsol di https://console.aws.amazon.com/wafv2/.

    Jika Anda melihat Beralih ke AWS WAF Klasik di panel navigasi, pilih.

  2. Di panel navigasi, pilih Kendala ukuran.

  3. Di panel Kondisi batasan ukuran, pilih kondisi batasan ukuran yang ingin Anda hapus.

  4. Di panel kanan, pilih tab Aturan terkait.

    Jika daftar aturan yang menggunakan kondisi batasan ukuran ini kosong, lanjutkan ke langkah 6. Jika daftar berisi aturan apa pun, catat aturannya, dan lanjutkan dengan langkah 5.

  5. Untuk menghapus kondisi batasan ukuran dari aturan yang menggunakannya, lakukan langkah-langkah berikut:

    1. Di panel navigasi, pilih Aturan.

    2. Pilih nama aturan yang menggunakan kondisi batasan ukuran yang ingin Anda hapus.

    3. Di panel kanan, pilih kondisi batasan ukuran yang ingin Anda hapus dari aturan, lalu pilih Hapus kondisi yang dipilih.

    4. Ulangi langkah b dan c untuk semua aturan yang tersisa yang menggunakan kondisi batasan ukuran yang ingin Anda hapus.

    5. Di panel navigasi, pilih Size constraint.

    6. Di panel Kondisi batasan ukuran, pilih kondisi batasan ukuran yang ingin Anda hapus.

  6. Pilih Hapus untuk menghapus kondisi yang dipilih.