Tutorial: Menskalakan dan melindungi aplikasi web dengan cepat menggunakan Azure Front Door dan Azure Web Application Firewall (WAF)

Penting

Azure Front Door (klasik) akan dihentikan pada 31 Maret 2027. Untuk menghindari gangguan layanan apa pun, penting untuk memigrasikan profil Azure Front Door (klasik) Anda ke Azure Front Door Standard atau tingkat Premium paling lambat Maret 2027. Untuk informasi selengkapnya, lihat Penghentian Azure Front Door (klasik).

Banyak aplikasi web mengalami peningkatan lalu lintas yang cepat dari waktu ke waktu. Aplikasi web ini juga mengalami lonjakan lalu lintas berbahaya, termasuk penolakan serangan layanan. Ada cara efektif untuk meluaskan skala aplikasi Anda karena lonjakan lalu lintas dan melindungi diri Anda dari serangan: mengonfigurasi Azure Front Door dengan Azure WAF sebagai akselerasi, caching, dan lapisan keamanan di depan aplikasi web Anda. Artikel ini menyediakan panduan tentang cara mendapatkan Azure Front Door dengan Azure WAF yang dikonfigurasi untuk aplikasi web apa pun yang berjalan di dalam atau di luar Azure.

Kami menggunakan Azure CLI untuk mengonfigurasi WAF dalam tutorial ini. Anda dapat menyelesaikan hal yang sama dengan menggunakan portal Microsoft Azure, Azure PowerShell, Azure Resource Manager, atau AZURE REST API.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat Front Door.
  • Membuat kebijakan Azure WAF.
  • Mengonfigurasikan rangkaian aturan untuk kebijakan WAF.
  • Mengaitkan kebijakan WAF dengan Front Door.
  • Mengonfigurasikan domain kustom.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

  • Instruksi dalam tutorial ini menggunakan Azure CLI. Lihat panduan ini untuk mulai menggunakan Azure CLI.

    Tip

    Cara mudah dan cepat untuk memulai Azure CLI adalah dengan Bash di Azure Cloud Shell.

  • Pastikan bahwa ekstensi front-door ditambahkan ke Azure CLI:

    az extension add --name front-door
    

Catatan

Untuk informasi selengkapnya tentang perintah yang digunakan dalam tutorial ini, lihat Referensi Azure CLI untuk Front Door.

Membuat sumber daya Azure Front Door

az network front-door create --backend-address <>  --accepted-protocols <> --name <> --resource-group <>

--backend-address: Nama domain yang sepenuhnya memenuhi syarat (FQDN) dari aplikasi yang ingin Anda lindungi. Contohnya,myapplication.contoso.com.

--accepted-protocols: Menentukan protokol yang Anda inginkan agar didukung oleh Azure Front Door untuk aplikasi web Anda. Contohnya,--accepted-protocols Http Https.

--name: Nama sumber daya Azure Front Door Anda.

--resource-group: Grup sumber daya tempat Anda ingin menempatkan sumber daya Azure Front Door ini. Untuk mempelajari selengkapnya tentang grup sumber daya, lihat Mengelola grup sumber daya di Azure.

Dalam respons yang Anda dapatkan ketika Anda menjalankan perintah ini, cari hostName kuncinya. Anda memerlukan nilai ini di langkah selanjutnya. hostName adalah nama DNS sumber daya Azure Front Door yang Anda buat.

Membuat profil Azure WAF untuk digunakan dengan sumber daya Azure Front Door

az network front-door waf-policy create --name <>  --resource-group <>  --disabled false --mode Prevention

--name: Nama kebijakan Azure WAF baru.

--resource-group: Grup sumber daya tempat Anda ingin menempatkan sumber daya WAF ini.

Kode CLI sebelumnya membuat kebijakan WAF dalam mode pencegahan.

Catatan

Anda mungkin ingin membuat kebijakan WAF dalam mode deteksi dan mengamati cara kebijakan tersebut mendeteksi dan mencatat permintaan berbahaya (tanpa memblokirnya) sebelum Anda memutuskan untuk menggunakan mode perlindungan.

Dalam respons yang Anda dapatkan ketika Anda menjalankan perintah ini, cari ID kuncinya. Anda memerlukan nilai ini di langkah selanjutnya.

Bidang ID harus dalam format ini:

/langganan/id pelanggan/resourcegroups/nama grup sumber daya/provider/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/nama kebijakan WAF

Menambahkan seperangkat aturan terkelola ke kebijakan WAF

Anda dapat menambahkan seperangkat aturan terkelola ke kebijakan WAF. Seperangkat aturan terkelola adalah sekumpulan aturan yang dibangun dan dikelola oleh Microsoft yang membantu melindungi Anda dari kelas ancaman. Dalam contoh ini, kami menambahkan dua perangkat aturan:

  • Seperangkat aturan default, yang membantu melindungi Anda dari ancaman web umum.
  • Seperangkat aturan perlindungan bot, yang membantu melindungi Anda dari bot berbahaya.

Menambahkan seperangkat aturan default:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type DefaultRuleSet --version 1.0

Menambahkan seperangkat aturan perlindungan bot:

az network front-door waf-policy managed-rules add --policy-name <> --resource-group <> --type Microsoft_BotManagerRuleSet --version 1.0

--policy-name: Nama yang Anda tentukan untuk sumber daya Azure WAF Anda.

--resource-group: Grup sumber daya tempat Anda menempatkan sumber daya WAF.

Mengaitkan kebijakan WAF dengan sumber daya Azure Front Door

Dalam langkah ini, kami mengaitkan kebijakan WAF yang kami buat dengan sumber daya Azure Front Door yang ada di depan aplikasi web Anda:

az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'

--name: Nama yang Anda tentukan untuk sumber daya Azure Front Door Anda.

--resource-group: Grup sumber daya tempat Anda menempatkan sumber daya Azure Front Door.

--set: Adalah tempat Anda memperbarui atribut WebApplicationFirewallPolicyLink untuk frontendEndpoint yang terkait dengan Azure Front Door Anda dengan kebijakan WAF baru. Anda harus memiliki ID kebijakan WAF dari respons yang Anda dapatkan ketika Anda membuat profil WAF sebelumnya dalam tutorial ini.

Catatan

Contoh sebelumnya berlaku saat Anda tidak menggunakan domain kustom. Jika Anda tidak menggunakan domain kustom untuk mengakses aplikasi web, Anda dapat melewati bagian berikutnya. Dalam hal ini, Anda akan memberi pelanggan Anda hostName yang Anda peroleh saat membuat sumber daya Azure Front Door. Mereka akan menggunakan hostName ini untuk membuka aplikasi web Anda.

Mengonfigurasi domain kustom untuk aplikasi web Anda

Nama domain kustom aplikasi web Anda adalah nama yang digunakan pelanggan untuk merujuk ke aplikasi Anda. Contoh, www.contoso.com. Awalnya, nama domain kustom ini menunjuk ke lokasi tempat nama domain kustom tersebut berjalan sebelum Anda memperkenalkan Azure Front Door. Setelah Anda menambahkan Azure Front Door dan WAF ke depan aplikasi, entri DNS yang sesuai dengan domain kustom tersebut harus menunjuk ke sumber daya Azure Front Door. Anda dapat melakukan perubahan ini dengan memetakan ulang entri di server DNS Anda ke hostName Azure Front Door yang Anda catatkan saat Anda membuat sumber daya Azure Front Door.

Langkah-langkah khusus untuk memperbarui catatan DNS Anda bergantung pada penyedia layanan DNS Anda. Jika Anda menggunakan Azure DNS untuk menghosting nama DNS Anda, Anda bisa merujuk ke dokumentasi untuk langkah-langkah memperbarui catatan DNS dan menunjuk ke hostName Azure Front Door.

Ada satu hal penting yang perlu diperhatikan jika Anda ingin agar pelanggan Anda dapat mencapai situs web Anda menggunakan puncak zona (misalnya, contoso.com). Dalam hal ini, Anda harus menggunakan Azure DNS dan tipe catatan aliasnya untuk menghosting nama DNS Anda.

Anda juga perlu memperbarui konfigurasi Azure Front Door untuk menambahkan domain kustom ke dalamnya sehingga mengetahui pemetaan ini.

Terakhir, jika Anda menggunakan domain kustom untuk menjangkau aplikasi web Anda dan ingin mengaktifkan protokol HTTPS. Anda perlu menyiapkan sertifikat untuk domain kustom Anda di Azure Front Door.

Mengunci aplikasi web Anda

Kami menyarankan Anda untuk memastikan hanya tepi Azure Front Door yang dapat berkomunikasi dengan aplikasi web Anda. Melakukannya memastikan tidak ada yang dapat melewati perlindungan Azure Front Door dan mengakses aplikasi Anda secara langsung. Untuk mencapai penguncian ini, lihat Bagaimana cara mengunci akses ke backend saya hanya ke Azure Front Door?.

Membersihkan sumber daya

Ketika Anda tidak lagi memerlukan sumber daya yang digunakan dalam tutorial ini, gunakan perintah penghapusan grup az untuk menghapus grup sumber daya, Front Door, dan kebijakan WAF:

  az group delete \
    --name <>

--name: Nama grup sumber daya untuk semua sumber daya yang digunakan dalam tutorial ini.

Langkah berikutnya

Untuk mempelajari cara memecahkan masalah Front Door, lihat panduan pemecahan masalah: