Mengonfigurasi kebijakan WAF dengan menggunakan Azure PowerShell

Kebijakan firewall aplikasi web (WAF) menentukan inspeksi yang diperlukan saat permintaan tiba di Azure Front Door.

Artikel ini memperlihatkan cara mengonfigurasi kebijakan WAF yang terdiri dari beberapa aturan kustom dan mengaktifkan Seperangkat Aturan Default yang dikelola Azure.

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Prasyarat

Sebelum Anda mulai menyiapkan kebijakan batas tarif, siapkan lingkungan PowerShell Anda dan buat profil Azure Front Door.

Menyiapkan lingkungan PowerShell Anda

Azure PowerShell menyediakan satu set cmdlet dengan menggunakan model Azure Resource Manager untuk mengelola sumber daya Azure Anda.

Anda dapat menginstal Azure PowerShell di komputer lokal Anda dan menggunakannya di sesi PowerShell apa pun. Ikuti instruksi di halaman untuk masuk dengan kredensial Azure Anda. Kemudian instal modul Az PowerShell.

Masuk ke Azure

Connect-AzAccount

Sebelum Anda menginstal modul Azure Front Door, pastikan Anda memiliki versi PowerShellGet saat ini yang terinstal. Jalankan perintah berikut dan buka kembali PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Menginstal modul Az.FrontDoor

Install-Module -Name Az.FrontDoor

Membuat profil Azure Front Door

Buat profil Azure Front Door dengan mengikuti instruksi yang dijelaskan di Mulai Cepat: Membuat profil Azure Front Door.

Aturan kustom berdasarkan parameter HTTP

Contoh berikut menunjukkan cara mengonfigurasi aturan kustom dengan dua kondisi kecocokan dengan menggunakan New-AzFrontDoorWafMatchConditionObject. Permintaan berasal dari situs tertentu seperti yang ditentukan oleh referen, dan string kueri tidak berisi password.

$referer = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html"
$password = New-AzFrontDoorWafMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password"
$AllowFromTrustedSites = New-AzFrontDoorWafCustomRuleObject -Name "AllowFromTrustedSites" -RuleType MatchRule -MatchCondition $referer,$password -Action Allow -Priority 1

Aturan kustom berdasarkan metode permintaan HTTP

Buat aturan yang memblokir metode PUT dengan menggunakan New-AzFrontDoorWafCustomRuleObject.

$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2

Membuat aturan kustom berdasarkan batasan ukuran

Contoh berikut membuat permintaan pemblokiran aturan dengan URL yang lebih panjang dari 100 karakter dengan menggunakan Azure PowerShell.

$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3

Menambahkan Seperangkat Aturan Default terkelola

Contoh berikut membuat Seperangkat Aturan Default terkelola dengan menggunakan Azure PowerShell.

$managedRules =  New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0

Mengonfigurasi kebijakan keamanan

Temukan nama grup sumber daya yang berisi profil Azure Front Door dengan menggunakan Get-AzResourceGroup. Selanjutnya, konfigurasikan kebijakan keamanan dengan aturan yang dibuat di langkah-langkah sebelumnya dengan menggunakan New-AzFrontDoorWafPolicy di grup sumber daya yang ditentukan yang berisi profil Azure Front Door.

$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention

Tautkan objek kebijakan keamanan ke host front-end Azure Front Door yang ada dan perbarui properti Azure Front Door. Pertama, ambil objek Azure Front Door dengan menggunakan Get-AzFrontDoor. Selanjutnya, atur properti front-end WebApplicationFirewallPolicyLink ke resourceId dari yang $myWAFPolicy$ dibuat di langkah sebelumnya dengan menggunakan Set-AzFrontDoor.

Contoh berikut menggunakan nama myResourceGroupFD1 grup sumber daya dengan asumsi bahwa Anda telah membuat profil Azure Front Door dengan menggunakan instruksi yang disediakan di Mulai Cepat: Membuat Azure Front Door. Selain itu, dalam contoh berikut, ganti $frontDoorName dengan nama profil Azure Front Door Anda.

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Catatan

Anda hanya perlu mengatur WebApplicationFirewallPolicyLink properti sekali untuk menautkan kebijakan keamanan ke front end Azure Front Door. Pembaruan kebijakan berikutnya secara otomatis diterapkan ke ujung depan.

Langkah berikutnya