Pemantauan dan pembuatan log Azure Web Application Firewall
Artikel
Azure Web Application Firewall di Azure Front Door menyediakan pengelogan dan telemetri yang luas untuk membantu Anda memahami performa firewall aplikasi web (WAF) Anda dan tindakan yang diperlukan.
Log WAF Azure Front Door terintegrasi dengan Azure Monitor. Azure Monitor memungkinkan Anda melacak informasi diagnostik, termasuk pemberitahuan dan log WAF. Anda dapat mengonfigurasi pemantauan WAF dalam sumber daya Azure Front Door di portal Azure di bawah tab Diagnostik, melalui infrastruktur sebagai pendekatan kode, atau dengan menggunakan Azure Monitor secara langsung.
Metrik
Azure Front Door secara otomatis merekam metrik untuk membantu Anda memahami perilaku WAF Anda.
Untuk mengakses metrik WAF Anda:
Masuk ke portal Azure dan buka profil Azure Front Door Anda.
Di panel paling kiri di bawah Pemantauan, pilih tab Metrik .
Tambahkan metrik Jumlah Permintaan Web Application Firewall untuk melacak jumlah permintaan yang cocok dengan aturan WAF.
Anda dapat membuat filter kustom berdasarkan jenis tindakan dan nama aturan. Metrik menyertakan permintaan dengan semua tindakan kecuali Log.
Metrik tantangan JavaScript (pratinjau)
Untuk mengakses metrik WAF tantangan JavaScript Anda:
Tambahkan metrik Web Application Firewall JS Challenge Request Count untuk melacak jumlah permintaan yang cocok dengan aturan WAF tantangan JavaScript.
Filter berikut disediakan sebagai bagian dari metrik ini:
PolicyName: Ini adalah nama kebijakan WAF
Aturan: Ini bisa menjadi aturan kustom atau aturan bot apa pun
Tindakan: Ada empat nilai yang mungkin untuk tindakan JS Challenge
Dikeluarkan: JS Challenge dipanggil untuk pertama kalinya
Lulus: Komputasi JS Challenge berhasil dan jawaban diterima
Valid: Cookie validitas JS Challenge hadir
Diblokir: Komputasi JS Challenge gagal
Log dan diagnostik
Azure Front Door WAF menyediakan pelaporan terperinci pada setiap permintaan dan setiap ancaman yang dideteksinya. Pengelogan terintegrasi dengan log dan pemberitahuan diagnostik Azure dengan menggunakan log Azure Monitor.
Log tidak diaktifkan secara default. Anda harus mengaktifkan log secara eksplisit. Anda dapat mengonfigurasi log di portal Azure dengan menggunakan tab Pengaturan diagnostik.
Jika pengelogan diaktifkan dan aturan WAF dipicu, pola yang cocok dicatat dalam teks biasa untuk membantu Anda menganalisis dan men-debug perilaku kebijakan WAF. Anda dapat menggunakan pengecualian untuk menyempurnakan aturan dan mengecualikan data apa pun yang ingin Anda kecualikan dari log. Untuk informasi selengkapnya, lihat Daftar pengecualian firewall aplikasi web di Azure Front Door.
Anda dapat mengaktifkan tiga jenis log Azure Front Door:
Log WAF
Log akses
Log pemeriksaan kesehatan
Log aktivitas diaktifkan secara default dan memberikan visibilitas ke dalam operasi yang dilakukan pada sumber daya Azure Anda, seperti perubahan konfigurasi pada profil Azure Front Door Anda.
Log WAF
Log FrontDoorWebApplicationFirewallLog mencakup permintaan yang cocok dengan aturan WAF.
Log FrontdoorWebApplicationFirewallLog mencakup permintaan apa pun yang cocok dengan aturan WAF.
Tabel berikut ini memperlihatkan nilai yang dicatat untuk setiap permintaan.
Properti
Deskripsi
Tindakan
Tindakan yang diambil atas permintaan. Log mencakup permintaan dengan semua tindakan. Tindakannya adalah:
Allow dan allow: Permintaan diizinkan untuk melanjutkan pemrosesan.
Block dan block: Permintaan cocok dengan aturan WAF yang dikonfigurasi untuk memblokir permintaan. Atau, ambang penskoran anomali tercapai dan permintaan diblokir.
Log dan log: Permintaan cocok dengan aturan WAF yang dikonfigurasi untuk menggunakan Log tindakan.
AnomalyScoring dan logandscore: Permintaan cocok dengan aturan WAF. Aturan berkontribusi pada skor anomali. Permintaan mungkin atau mungkin tidak diblokir tergantung pada aturan lain yang berjalan pada permintaan yang sama.
JS Challenge dan JSChallengeIssued: Dikeluarkan karena izin tantangan yang hilang/tidak valid, jawaban yang hilang.
Log dibuat ketika klien meminta akses ke aplikasi web untuk pertama kalinya dan belum ditantang sebelumnya. Klien ini menerima halaman tantangan JS dan melanjutkan untuk menghitung tantangan JS. Setelah komputasi berhasil, klien diberikan cookie validitas.
JS Challenge dan JSChallengePass: Diteruskan karena jawaban tantangan yang valid.
Log ini dibuat ketika klien memecahkan tantangan JS dan mengirimkan ulang permintaan dengan jawaban yang benar. Dalam hal ini, Azure WAF memvalidasi cookie dan melanjutkan untuk memproses aturan yang tersisa tanpa menghasilkan tantangan JS lain.
JS Challenge dan JSChallengeValid: Logged/passthrough karena tantangan yang valid.
Log ini dibuat ketika klien sebelumnya telah menyelesaikan tantangan. Dalam hal ini, Azure WAF mencatat permintaan dan melanjutkan untuk memproses aturan yang tersisa.
JS Challenge dan JSChallengeBlock: Diblokir
Log ini dibuat ketika komputasi tantangan JS gagal.
ClientIp
Alamat IP klien yang membuat permintaan. Jika terdapat header X-Forwarded-For dalam permintaan, alamat IP klien diambil dari bidang header tersebut sebagai gantinya.
ClientPort
Alamat IP klien yang membuat permintaan.
Detail
Detail selengkapnya tentang permintaan, termasuk ancaman apa pun yang terdeteksi. matchVariableName: Nama parameter HTTP dari permintaan yang cocok, misalnya, nama header (maksimum hingga 100 karakter). matchVariableValue: Nilai yang memicu kecocokan (maksimum hingga 100 karakter).
Host
Header Host permintaan.
Kebijakan
Nama kebijakan WAF yang memproses permintaan.
PolicyMode
Mode operasi kebijakan WAF. Nilai yang mungkin adalah Prevention dan Detection.
RequestUri
URI penuh dari permintaan.
RuleName
Nama aturan WAF yang cocok dengan permintaan.
SocketIP
Alamat IP sumber yang dilihat oleh WAF. Alamat IP ini didasarkan pada sesi TCP dan tidak mempertimbangkan header permintaan apa pun.
TrackingReference
String referensi unik yang mengidentifikasi permintaan yang dilayani oleh Azure Front Door. Nilai ini dikirim ke klien di header respons X-Azure-Ref. Gunakan bidang ini saat Anda mencari permintaan tertentu di log.
Contoh kueri berikut menunjukkan permintaan yang diblokir Azure Front Door WAF:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
Cuplikan berikut menunjukkan contoh entri log, termasuk alasan permintaan diblokir:
Jelaskan bagaimana Azure Web Application Firewall melindungi aplikasi web Azure dari serangan umum, termasuk fiturnya, cara penyebarannya, dan kasus penggunaan umumnya.