Pemantauan dan pembuatan log Azure Web Application Firewall
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:
|
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:
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Cdn/Profiles/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Network/FrontDoorWebApplicationFirewallLog/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
Untuk informasi selengkapnya tentang log Azure Front Door lainnya, lihat Memantau metrik dan log di Azure Front Door.
Langkah berikutnya
Pelajari selengkapnya tentang Azure Front Door.