Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ Front Door Standard ✔️ Front Door Premium
Azure Web Application Firewall di Azure Front Door memungkinkan Anda mengontrol akses ke aplikasi web Anda berdasarkan kondisi yang Anda tentukan. Aturan firewall aplikasi web (WAF) kustom terdiri dari nomor prioritas, jenis aturan, kondisi kecocokan, dan tindakan.
Ada dua jenis aturan kustom: aturan pencocokan dan aturan batas laju. Aturan kecocokan mengatur akses berdasarkan serangkaian kondisi pencocokan. Aturan batas tarif mengontrol akses berdasarkan kondisi yang cocok dan tingkat permintaan masuk. Anda dapat menonaktifkan aturan kustom untuk mencegahnya dievaluasi tetapi masih menyimpan konfigurasi.
Untuk informasi selengkapnya tentang pembatasan tarif, lihat Apa itu pembatasan tarif untuk Azure Front Door?
Prioritas, tipe tindakan, dan kondisi kecocokan
Anda dapat mengontrol akses dengan aturan WAF kustom yang menentukan nomor prioritas, jenis aturan, array kondisi kecocokan, dan tindakan.
Prioritas
Bilangan bulat unik yang menjelaskan urutan evaluasi aturan WAF. Aturan dengan nilai berprioritas lebih rendah dievaluasi sebelum aturan dengan nilai yang lebih tinggi. Evaluasi aturan berhenti pada tindakan aturan apa pun kecuali Log. Nomor prioritas harus bersifat unik di antara semua aturan kustom.
Perbuatan
Menentukan cara merutekan permintaan jika aturan WAF cocok. Anda dapat memilih salah satu tindakan berikut untuk diterapkan saat permintaan cocok dengan aturan kustom.
- Izinkan: WAF memungkinkan permintaan untuk diproses, mencatat entri dalam log WAF, dan keluar.
- Blokir: Permintaan diblokir. WAF mengirimkan respons ke klien tanpa meneruskan permintaan lebih lanjut. WAF mencatat entri dalam log WAF kemudian keluar.
- Log: WAF mencatat entri dalam log WAF dan terus mengevaluasi aturan berikutnya dalam urutan prioritas.
- Pengalihan: WAF mengalihkan permintaan ke URI tertentu, mencatat entri dalam log WAF, dan keluar.
Kondisi Pencocokan
Menentukan variabel kecocokan, operator, dan nilai kecocokan. Setiap aturan dapat berisi beberapa kondisi kecocokan. Kondisi kecocokan mungkin didasarkan pada lokasi geografis, alamat IP klien (CIDR), ukuran, atau kecocokan string. Kecocokan string dapat bertentangan dengan daftar variabel pencocokan.
Variabel pertandingan
- RequestMethod
- String Kueri
- PostArgs
- PermintaanUri
- TajukPermintaan
- RequestBody
- Cookie
Operator
- Apa pun: Sering digunakan untuk menentukan tindakan default jika tidak ada aturan yang cocok. Any akan cocok dengan semua operator.
- Sama
- Berisi
- LessThan: Batasan ukuran
- GreaterThan: Batasan ukuran
- LessThanOrEqual: Batasan ukuran
- GreaterThanOrEqual: Batasan ukuran
- DimulaiDengan
- Berakhir Dengan
- Regex
Regex
Tidak mendukung operasi berikut:
- Referensi balik dan menangkap subekspresi
- Pernyataan tanpa lebar yang arbitrer
- Referensi subrutin dan pola rekursif
- Pola kondisional
- Kata kerja pengendalian alur balik
- Direktif byte tunggal \C
- Direktif pencocokan baris baru \R dalam pengkodean
- Awal \K direktif reset kecocokan
- Panggilan dan kode yang disematkan
- Pengelompokan atomik dan bilangan posesif
Negate [pilihan]
Anda dapat mengatur kondisi
negateke benar jika hasil dari suatu kondisi harus dinegasikan.Transformasi [opsional]
Daftar string dengan nama-nama transformasi yang dilakukan sebelum pencocokan dilakukan. Hal ini dapat berupa transformasi berikut:
- Huruf Kapital
- Huruf kecil
- Pangkas
- HapusNilaiNull
- UrlDecode
- Pengkodean URL
Nilai pencocokan
Nilai metode permintaan HTTP yang didukung meliputi:
- DAPATKAN
- Pos
- TEMPATKAN
- Kepala
- HAPUS
- KUNCI
- Buka Kunci
- PROFIL
- OPSI
- PROPFIND
- PROPPATCH
- MKCOL
- Menyalin
- PINDAH
- Pembaruan
- MENGHUBUNGKAN
Contoh
Pertimbangkan contoh berikut.
Mencocokkan berdasarkan parameter permintaan HTTP
Misalkan Anda perlu mengonfigurasi aturan kustom untuk mengizinkan permintaan yang cocok dengan dua kondisi berikut:
- Nilai header
Referersama dengan nilai yang diketahui. - String kueri tidak berisi kata
password.
Berikut ini contoh deskripsi JSON dari aturan kustom:
{
"name": "AllowFromTrustedSites",
"priority": 1,
"ruleType": "MatchRule",
"matchConditions": [
{
"matchVariable": "RequestHeader",
"selector": "Referer",
"operator": "Equal",
"negateCondition": false,
"matchValue": [
"www.mytrustedsites.com/referpage.html"
]
},
{
"matchVariable": "QueryString",
"operator": "Contains",
"matchValue": [
"password"
],
"negateCondition": true
}
],
"action": "Allow"
}
Memblokir permintaan HTTP PUT
Misalkan Anda perlu memblokir permintaan apa pun yang menggunakan metode HTTP PUT.
Berikut ini contoh deskripsi JSON dari aturan kustom:
{
"name": "BlockPUT",
"priority": 2,
"ruleType": "MatchRule",
"matchConditions": [
{
"matchVariable": "RequestMethod",
"selector": null,
"operator": "Equal",
"negateCondition": false,
"matchValue": [
"PUT"
]
}
],
"action": "Block"
}
Batasan ukuran
WAF Azure Front Door memungkinkan Anda membuat aturan kustom yang menerapkan batasan panjang atau ukuran pada bagian dari permintaan masuk. Batasan ukuran ini diukur dalam byte.
Misalkan Anda perlu memblokir permintaan yang URLnya lebih panjang dari 100 karakter.
Berikut ini contoh deskripsi JSON dari aturan kustom:
{
"name": "URLOver100",
"priority": 5,
"ruleType": "MatchRule",
"matchConditions": [
{
"matchVariable": "RequestUri",
"selector": null,
"operator": "GreaterThanOrEqual",
"negateCondition": false,
"matchValue": [
"100"
]
}
],
"action": "Block"
}
Pencocokan berdasarkan URI permintaan
Misalkan Anda perlu mengizinkan permintaan di mana URI berisi 'login'.
Berikut ini contoh deskripsi JSON dari aturan kustom:
{
"name": "URIContainsLogin",
"priority": 5,
"ruleType": "MatchRule",
"matchConditions": [
{
"matchVariable": "RequestUri",
"selector": null,
"operator": "Contains",
"negateCondition": false,
"matchValue": [
"login"
]
}
],
"action": "Allow"
}
Menyalin dan menduplikasi aturan kustom
Aturan kustom dapat diduplikasi dalam kebijakan tertentu. Saat menduplikasi aturan, Anda perlu menentukan nama unik untuk aturan dan nilai prioritas unik. Selain itu, aturan kustom dapat disalin dari satu kebijakan WAF Azure Front Door ke kebijakan lain selama kebijakan keduanya berada dalam langganan yang sama. Saat menyalin aturan dari satu kebijakan ke kebijakan lain, Anda perlu memilih kebijakan WAF Azure Front Door yang ingin Anda salin aturannya. Setelah Anda memilih kebijakan WAF, Anda perlu memberi aturan nama unik, dan menetapkan peringkat prioritas.