Mengonfigurasi aturan pembatasan IP dengan WAF untuk Azure Front Door

Artikel ini memperlihatkan kepada Anda cara mengonfigurasi aturan pembatasan IP di firewall aplikasi web (WAF) untuk Azure Front Door dengan menggunakan portal Azure, Azure CLI, Azure PowerShell, atau templat Azure Resource Manager.

Aturan kontrol akses berbasis alamat IP adalah aturan WAF kustom yang memungkinkan Anda mengontrol akses ke aplikasi web Anda. Aturan menentukan daftar alamat IP atau rentang alamat IP dalam format Classless Inter-Domain Routing (CIDR).

Ada dua jenis variabel kecocokan dalam kecocokan alamat IP: RemoteAddr dan SocketAddr. Variabel RemoteAddr adalah IP klien asli yang biasanya dikirim melalui X-Forwarded-For header permintaan. Variabel SocketAddr adalah alamat IP sumber yang dilihat WAF. Jika pengguna Anda berada di belakang proksi, SocketAddr sering kali merupakan alamat server proksi.

Secara default, aplikasi web Anda dapat diakses dari internet. Jika Anda ingin membatasi akses ke klien dari daftar alamat IP atau rentang alamat IP yang diketahui, Anda dapat membuat aturan pencocokan IP yang berisi daftar alamat IP sebagai nilai yang cocok dan mengatur operator ke Not (meniadakan adalah benar) dan tindakan ke Block. Setelah aturan pembatasan IP diterapkan, permintaan yang berasal dari alamat di luar daftar yang diizinkan ini akan menerima respons 403 Forbidden.

Mengonfigurasi kebijakan WAF dengan portal Microsoft Azure

Ikuti langkah-langkah ini untuk mengonfigurasi kebijakan WAF dengan menggunakan portal Azure.

Prasyarat

Buat profil Azure Front Door dengan mengikuti instruksi yang dijelaskan dalam Mulai Cepat: Membuat instans Azure Front Door untuk aplikasi web global yang sangat tersedia.

Membuat kebijakan WAF

  1. Di portal Microsoft Azure, pilih Buat sumber daya. Masukkan firewall aplikasi Web di kotak pencarian Layanan pencarian dan marketplace dan pilih Enter. Lalu pilih Web Application Firewall (WAF).

  2. Pilih Buat.

  3. Pada halaman Buat kebijakan WAF , gunakan nilai berikut untuk menyelesaikan tab Dasar .

    Pengaturan Nilai
    Kebijakan untuk Global WAF (Front Door).
    Tingkat pintu depan Pilih Premium atau Standar agar sesuai dengan tingkat Azure Front Door Anda.
    Langganan Pilih langganan Anda.
    Grup sumber daya Pilih grup sumber daya tempat instans Azure Front Door Anda berada.
    Nama Azure Policy Masukkan nama untuk kebijakan Anda.
    Status Azure Policy Dipilih.
    Mode Azure Policy Pencegahan.
  4. Pilih Berikutnya: Aturan terkelola.

  5. Pilih Berikutnya: Pengaturan kebijakan.

  6. Pada tab Pengaturan kebijakan , masukkan Anda telah diblokir! untuk isi respons Blokir sehingga Anda dapat melihat bahwa aturan kustom Anda berlaku.

  7. Pilih Berikutnya: Aturan kustom.

  8. Pilih Tambahkan aturan kustom.

  9. Pada halaman Tambahkan aturan kustom , gunakan nilai pengujian berikut ini untuk membuat aturan kustom.

    Pengaturan Nilai
    Nama aturan kustom FdWafCustRule
    Status Aktif
    Jenis aturan Cocok
    Prioritas 100
    Jenis pencocokan Alamat IP
    Mencocokan variabel SocketAddr
    Operasi Tidak berisi
    Alamat atau rentang IP 10.10.10.0/24
    Kemudian Tolak lalu lintas

    Aturan kustom

    Pilih Tambahkan.

  10. Pilih Berikutnya: Asosiasi.

  11. Pilih Kaitkan profil Front door.

  12. Untuk Profil frontend, pilih profil front-end Anda.

  13. Untuk Domain, pilih domain.

  14. Pilih Tambahkan.

  15. Pilih Tinjau + buat.

  16. Setelah validasi kebijakan Anda lulus, pilih Buat.

Menguji kebijakan WAF Anda

  1. Setelah penyebaran kebijakan WAF Anda selesai, telusuri ke nama host front-end Azure Front Door Anda.

  2. Anda akan melihat pesan blok kustom.

    Pengujian aturan WAF

    Catatan

    Alamat IP privat sengaja digunakan dalam aturan kustom untuk menjamin aturan akan dipicu. Dalam penyebaran aktual, buat aturan izinkan dan tolak dengan menggunakan alamat IP untuk situasi khusus Anda.

Mengonfigurasi kebijakan WAF dengan Azure CLI

Ikuti langkah-langkah ini untuk mengonfigurasi kebijakan WAF dengan menggunakan Azure CLI.

Prasyarat

Sebelum Anda mulai mengonfigurasi kebijakan pembatasan IP, siapkan lingkungan CLI Anda dan buat profil Azure Front Door.

Menyiapkan lingkungan Azure CLI

  1. Instal Azure CLI atau gunakan Azure Cloud Shell. Azure Cloud Shell adalah shell Bash gratis yang dapat Anda jalankan langsung di dalam portal Microsoft Azure. Shell Bash ini memiliki Azure CLI yang sudah dipasang dan dikonfigurasi untuk digunakan dengan akun Anda. Pilih tombol Coba pada perintah CLI berikut ini. Lalu masuk ke akun Azure Anda di sesi Cloud Shell yang terbuka. Setelah sesi dimulai, masukkan az extension add --name front-door untuk menambahkan ekstensi Azure Front Door.
  2. Jika Anda menggunakan CLI secara lokal di Bash, masuk ke Azure menggunakan az login.

Membuat profil Azure Front Door

Buat profil Azure Front Door dengan mengikuti instruksi yang dijelaskan dalam Mulai Cepat: Membuat instans Azure Front Door untuk aplikasi web global yang sangat tersedia.

Membuat kebijakan WAF

Buat kebijakan WAF dengan menggunakan perintah kebijakan waf front door jaringan az buat. Pada contoh berikut, ganti nama kebijakan IPAllowPolicyExampleCLI dengan nama kebijakan yang unik.

az network front-door waf-policy create \
  --resource-group <resource-group-name> \
  --subscription <subscription ID> \
  --name IPAllowPolicyExampleCLI

Menambahkan aturan kontrol akses IP kustom

Gunakan perintah az network front-door waf-policy custom-rule create untuk menambahkan aturan kontrol akses IP kustom untuk kebijakan WAF yang Anda buat.

Dalam contoh berikut:

  • Ganti IPAllowPolicyExampleCLI dengan kebijakan unik Anda yang dibuat sebelumnya.
  • Ganti ip-address-range-1, ip-address-range-2 dengan rentang Anda sendiri.

Pertama, buat aturan izinkan IP untuk kebijakan yang dibuat dari langkah sebelumnya.

Catatan

--defer diperlukan karena aturan harus memiliki kondisi kecocokan untuk ditambahkan di langkah berikutnya.

az network front-door waf-policy rule create \
  --name IPAllowListRule \
  --priority 1 \
  --rule-type MatchRule \
  --action Block \
  --resource-group <resource-group-name> \
  --policy-name IPAllowPolicyExampleCLI --defer

Selanjutnya, tambahkan kondisi kecocokan ke aturan:

az network front-door waf-policy rule match-condition add \
--match-variable SocketAddr \
--operator IPMatch \
--values "ip-address-range-1" "ip-address-range-2" \
--negate true \
--name IPAllowListRule \
  --resource-group <resource-group-name> \
  --policy-name IPAllowPolicyExampleCLI

Menemukan ID kebijakan WAF

Temukan ID kebijakan WAF dengan menggunakan perintah kebijakan waf front door jaringan az tunjukkan. Ganti IPAllowPolicyExampleCLI dalam contoh berikut dengan kebijakan unik yang Anda buat sebelumnya.

az network front-door  waf-policy show \
  --resource-group <resource-group-name> \
  --name IPAllowPolicyExampleCLI

Atur ID WebApplicationFirewallPolicyLink Azure Front Door ke ID kebijakan dengan menggunakan perintah front door jaringan az perbarui. Ganti IPAllowPolicyExampleCLI dengan kebijakan unik yang Anda buat sebelumnya.

az network front-door update \
  --set FrontendEndpoints[0].WebApplicationFirewallPolicyLink.id=/subscriptions/<subscription ID>/resourcegroups/resource-group-name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/IPAllowPolicyExampleCLI \
  --name <frontdoor-name> \
  --resource-group <resource-group-name>

Dalam contoh ini, kebijakan WAF diterapkan ke FrontendEndpoints[0]. Anda dapat menautkan kebijakan WAF ke salah satu ujung depan.

Catatan

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

Mengonfigurasi kebijakan WAF dengan Azure PowerShell

Ikuti langkah-langkah ini untuk mengonfigurasi kebijakan WAF dengan menggunakan Azure PowerShell.

Prasyarat

Sebelum Anda mulai mengonfigurasi kebijakan pembatasan IP, siapkan lingkungan PowerShell Anda dan buat profil Azure Front Door.

Menyiapkan lingkungan PowerShell Anda

Azure PowerShell menyediakan kumpulan cmdlet yang menggunakan model Azure Resource Manager untuk mengelola sumber daya Azure.

Anda dapat memasang Azure PowerShell di komputer lokal Anda dan menggunakannya di sesi PowerShell mana pun. Ikuti instruksi di halaman untuk masuk ke PowerShell dengan menggunakan kredensial Azure Anda lalu instal modul Az.

  1. Sambungkan ke Azure dengan menggunakan perintah berikut lalu gunakan dialog interaktif untuk masuk.

    Connect-AzAccount
    
  2. Sebelum Anda memasang modul Azure Front Door, pastikan telah memasang modul PowerShellGet versi terbaru. Jalankan perintah berikut lalu buka kembali PowerShell.

    Install-Module PowerShellGet -Force -AllowClobber
    
  3. Instal modul Az.FrontDoor dengan menggunakan perintah berikut:

    Install-Module -Name Az.FrontDoor
    

Membuat profil Azure Front Door

Buat profil Azure Front Door dengan mengikuti instruksi yang dijelaskan di Mulai Cepat: Membuat Azure Front Door untuk aplikasi web global yang sangat tersedia.

Menentukan kondisi kecocokan IP

Gunakan perintah New-AzFrontDoorWafMatchConditionObject untuk menentukan kondisi kecocokan IP. Pada contoh berikut, ganti ip-address-range-1, ip-address-range-2 dengan rentang Anda sendiri.

$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable  SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1

Membuat aturan izin IP kustom

Gunakan perintah New-AzFrontDoorWafCustomRuleObject untuk menentukan tindakan dan mengatur prioritas. Dalam contoh berikut, permintaan bukan dari IP klien yang cocok dengan daftar diblokir.

$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1

Mengonfigurasi kebijakan WAF

Temukan nama grup sumber daya yang berisi profil Azure Front Door dengan menggunakan Get-AzResourceGroup. Selanjutnya, konfigurasikan kebijakan WAF dengan aturan IP dengan menggunakan New-AzFrontDoorWafPolicy.

  $IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
    -Name "IPRestrictionExamplePS" `
    -resourceGroupName <resource-group-name> `
    -Customrule $IPAllowRule`
    -Mode Prevention `
    -EnabledState Enabled

Tip

Untuk kebijakan WAF yang ada, Anda dapat menggunakan Update-AzFrontDoorWafPolicy untuk memperbarui kebijakan.

Tautkan objek kebijakan WAF ke host ujung depan yang sudah ada dan perbarui properti Azure Front Door. Pertama, ambil objek Azure Front Door dengan menggunakan Get-AzFrontDoor. Selanjutnya, atur WebApplicationFirewallPolicyLink properti ke ID $IPAllowPolicyExamplePSsumber daya , yang dibuat pada langkah sebelumnya, dengan menggunakan perintah Set-AzFrontDoor .

  $FrontDoorObjectExample = Get-AzFrontDoor `
    -ResourceGroupName <resource-group-name> `
    -Name $frontDoorName
  $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
  Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Catatan

Dalam contoh ini, kebijakan WAF diterapkan ke FrontendEndpoints[0]. Anda dapat menautkan kebijakan WAF ke salah satu ujung depan Anda. Anda perlu mengatur WebApplicationFirewallPolicyLink properti hanya sekali untuk menautkan kebijakan WAF ke front end Azure Front Door. Pembaruan kebijakan berikutnya secara otomatis diterapkan ke ujung depan.

Mengonfigurasi kebijakan WAF dengan templat Azure Resource Manager

Untuk melihat templat yang membuat kebijakan Azure Front Door dan kebijakan WAF dengan aturan pembatasan IP kustom, buka GitHub.

Langkah berikutnya

Pelajari cara membuat profil Azure Front Door.