Merencanakan dan menerapkan Web Application Firewall (WAF)

Selesai

Web Application Firewall (WAF) memberikan perlindungan terpusat pada aplikasi web Anda dari eksploitasi dan kerentanan umum. Aplikasi web semakin menjadi target serangan berbahaya yang mengeksploitasi kerentanan umum yang diketahui. Injeksi SQL dan scripting lintas situs adalah salah satu serangan yang paling umum.

Diagram yang menunjukkan bagaimana Web Application Firewall (WAF) memberikan perlindungan terpusat terhadap aplikasi web Anda dari eksploitasi dan kerentanan umum.

Mencegah serangan tersebut dalam kode aplikasi sangat menantang. Pekerjaan ini dapat memerlukan pemeliharaan, patching, dan pemantauan secara ketat di beberapa lapisan topologi aplikasi. Firewall aplikasi web terpusat membantu pembuatan manajemen keamanan yang jauh lebih sederhana. WAF juga memberi administrator aplikasi jaminan perlindungan yang lebih baik terhadap ancaman dan gangguan.

Solusi WAF dapat bereaksi terhadap ancaman keamanan lebih cepat dengan melakukan patching terpusat terhadap kerentanan yang diketahui, bukan mengamankan setiap aplikasi web secara terpisah.

Layanan yang didukung

WAF dapat disebarkan dengan layanan Azure Application Gateway, Azure Front Door, dan Azure Content Delivery Network (CDN) dari Microsoft. WAF di Azure CDN saat ini sedang dalam pratinjau publik. WAF memiliki fitur yang disesuaikan untuk setiap layanan tertentu. Untuk informasi selengkapnya tentang fitur WAF untuk setiap layanan, lihat gambaran umum untuk setiap layanan.

Azure Web Application Firewall (WAF) di Azure Application Gateway secara aktif melindungi aplikasi web Anda dari eksploitasi dan kerentanan umum. Karena aplikasi web menjadi target yang lebih sering untuk serangan berbahaya, serangan ini sering mengeksploitasi kerentanan terkenal seperti injeksi SQL dan pembuatan skrip lintas situs.

WAF di Application Gateway didasarkan pada Seperangkat Aturan Inti (CRS) dari Proyek Keamanan Aplikasi Web Terbuka (OWASP).

Semua fitur WAF berikut ada di dalam kebijakan WAF. Anda bisa membuat beberapa kebijakan, dan kebijakan tersebut dapat dikaitkan dengan Application Gateway, ke pendengar individual, atau ke aturan perutean berbasis jalur pada Application Gateway. Dengan cara ini, Anda dapat memiliki kebijakan terpisah untuk setiap situs di belakang Application Gateway Jika diperlukan.

Diagram memperlihatkan contoh firewall aplikasi web dan fungsionalitas gateway aplikasi web.

Application Gateway beroperasi sebagai pengontrol pengiriman aplikasi (ADC). Ini menawarkan Transport Layer Security (TLS), sebelumnya dikenal sebagai Secure Sockets Layer (SSL), penghentian, afinitas sesi berbasis cookie, distribusi beban round-robin, perutean berbasis konten, kemampuan untuk meng-host beberapa situs web, dan peningkatan keamanan.

Application Gateway meningkatkan keamanan melalui manajemen kebijakan TLS dan dukungan TLS end-to-end. Dengan mengintegrasikan WAF ke Dalam Application Gateway, waF akan memperkuat keamanan aplikasi. Kombinasi ini secara aktif mempertahankan aplikasi web Anda dari kerentanan umum dan menawarkan lokasi yang mudah dikelola secara terpusat dan mudah dikonfigurasi.

Proteksi

  • Lindungi aplikasi web Anda dari kerentanan web dan serangan tanpa modifikasi ke kode back-end.
  • Lindungi beberapa aplikasi web secara bersamaan. Instans Application Gateway dapat meng-host hingga situs web 40 yang dilindungi oleh firewall aplikasi web.
  • Buat kebijakan WAF kustom untuk situs yang berbeda di belakang WAF yang sama.
  • Lindungi aplikasi web Anda dari bot berbahaya dengan seperangkat aturan Reputasi IP.
  • Lindungi aplikasi Anda dari serangan DDoS.

Pemantauan

Pantau serangan terhadap aplikasi web Anda dengan menggunakan log WAF real-time. Log terintegrasi dengan Azure Monitor untuk melacak peringatan WAF dan dengan mudah memantau tren.

WAF Application Gateway terintegrasi dengan Pertahanan Microsoft untuk Cloud. Pertahanan untuk Cloud menyediakan tampilan sentral dari keadaan keamanan semua sumber daya Azure, hybrid, dan multi-cloud Anda.

Penyesuaian

  • Sesuaikan aturan WAF dan grup aturan agar sesuai dengan persyaratan aplikasi Anda dan hilangkan positif palsu.
  • Mengaitkan Kebijakan WAF untuk setiap situs di belakang WAF Anda untuk memungkinkan konfigurasi khusus situs
  • Buat aturan kustom agar sesuai dengan kebutuhan aplikasi Anda

Fitur

  • Perlindungan injeksi SQL.
  • Perlindungan scripting lintas situs.
  • Perlindungan terhadap serangan web umum lainnya, seperti injeksi perintah, penyelundupan permintaan HTTP, pemisahan respons HTTP, dan penyertaan file jarak jauh.
  • Perlindungan terhadap pelanggaran protokol HTTP.
  • Perlindungan terhadap anomali protokol HTTP, seperti agen pengguna host yang hilang dan menerima header.
  • Perlindungan terhadap crawler dan pemindai.
  • Deteksi kesalahan konfigurasi aplikasi umum (misalnya, Apache dan Layanan Informasi Internet).
  • Batas ukuran permintaan yang dapat dikonfigurasi dengan batas bawah dan atas.
  • Daftar pengecualian memungkinkan Anda menghilangkan atribut permintaan tertentu dari evaluasi WAF. Contoh umumnya adalah token yang disisipkan ID Microsoft Entra yang digunakan untuk bidang autentikasi atau kata sandi.
  • Buat aturan kustom agar sesuai dengan kebutuhan tertentu aplikasi Anda.
  • Lalu lintas geo-filter untuk memungkinkan atau memblokir negara/wilayah tertentu agar tidak mendapatkan akses ke aplikasi Anda.
  • Lindungi aplikasi Anda dari bot dengan aturan mitigasi bot.
  • Periksa JavaScript Object Notation (JSON) dan Extensible Markup Language (XML) dalam isi permintaan

Kebijakan dan aturan WAF

Untuk mengaktifkan Firewall Aplikasi Web pada Application Gateway, Anda harus membuat kebijakan WAF. Kebijakan ini adalah tempat semua aturan terkelola, aturan kustom, pengecualian, dan penyesuaian lainnya seperti batas unggahan file ada.

Anda dapat mengonfigurasi kebijakan WAF dan mengaitkan kebijakan tersebut ke satu atau beberapa gateway aplikasi untuk perlindungan. Kebijakan WAF terdiri dari dua jenis aturan keamanan:

  • Aturan kustom yang bisa Anda buat
  • Seperangkat aturan terkelola yang merupakan kumpulan aturan yang telah dikonfigurasi sebelumnya yang dikelola Azure

Ketika keduanya tersedia, aturan kustom diproses sebelum memproses aturan dalam seperangkat aturan terkelola. Aturan dibuat dari kondisi pencocokan, prioritas, dan tindakan. Tipe tindakan yang didukung adalah: ALLOW, BLOCK, dan LOG. Anda dapat membuat kebijakan yang dikustomisasi secara keseluruhan untuk memenuhi persyaratan perlindungan aplikasi spesifik Anda dengan menggabungkan aturan terkelola dan aturan kustom.

Aturan dalam kebijakan diproses dalam urutan prioritas. Prioritas adalah bilangan bulat unik yang menentukan urutan aturan untuk diproses. Nilai bilangan bulat yang lebih kecil menunjukkan prioritas yang lebih tinggi dan aturan tersebut dievaluasi lebih dulu daripada aturan dengan nilai bilangan bulat yang lebih tinggi. Setelah aturan dicocokkan, tindakan yang sesuai yang ditentukan dalam aturan diterapkan ke permintaan. Setelah kecocokan seperti itu diproses, aturan dengan prioritas yang lebih rendah tidak diproses lebih lanjut.

Aplikasi web yang disampaikan oleh Application Gateway dapat memiliki kebijakan WAF yang terkait dengannya di tingkat global, pada tingkat per situs, atau pada tingkat per-URI.

Kumpulan aturan inti

Application Gateway mendukung beberapa rangkaian aturan, termasuk CRS 3.2, CRS 3.1, dan CRS 3.0. Aturan ini melindungi aplikasi web Anda dari aktivitas berbahaya.

Aturan kustom

Application Gateway juga mendukung aturan kustom. Dengan aturan khusus, Anda dapat membuat aturan Sendiri, yang dievaluasi untuk setiap permintaan yang melewati WAF. Aturan ini memiliki prioritas yang lebih tinggi daripada aturan lainnya dalam kumpulan aturan terkelola. Jika seperangkat kondisi terpenuhi, tindakan diambil untuk mengizinkan atau memblokir.

Seperangkat aturan perlindungan Bot

Anda dapat mengaktifkan seperangkat aturan perlindungan bot terkelola untuk mengambil tindakan kustom atas permintaan dari semua kategori bot.

Tiga kategori bot didukung:

  • Buruk - Bot buruk termasuk bot dari alamat IP berbahaya dan bot yang memalsukan identitas mereka. Bot buruk dengan IP berbahaya bersumber dari Indikator IP kompromi umpan Inteligensi Ancaman Microsoft yang tinggi.
  • Baik - Bot yang baik termasuk mesin pencari yang divalidasi seperti Googlebot, bingbot, dan agen pengguna tepercaya lainnya.
  • Tidak diketahui - Bot yang tidak diketahui diklasifikasikan melalui agen pengguna yang diterbitkan tanpa validasi lebih lanjut. Misalnya, penganalisis pasar, pengambilan umpan, dan agen pengumpulan data. Bot yang tidak diketahui juga menyertakan alamat IP berbahaya yang bersumber dari Indikator IP keyakinan menengah umpan Inteligensi Ancaman Microsoft dari Kompromi.

Platform WAF secara aktif mengelola dan memperbarui tanda tangan bot secara dinamis.

Screesnhot menunjukkan contoh tanda tangan bot.

Anda dapat menetapkan Microsoft_BotManagerRuleSet_1.0 dengan menggunakan opsi Tetapkan di bawah Aturan Terkelola:

Screesnhot memperlihatkan contoh cara menetapkan seperangkat aturan terkelola.

Saat perlindungan Bot diaktifkan, bot memblokir, mengizinkan, atau mencatat permintaan masuk yang cocok dengan aturan bot berdasarkan tindakan yang telah Anda konfigurasi. Ini memblokir bot berbahaya, memungkinkan perayap mesin pencari terverifikasi, memblokir perayap mesin pencari yang tidak diketahui, dan mencatat bot yang tidak diketahui secara default. Anda memiliki opsi untuk mengatur tindakan kustom untuk memblokir, mengizinkan, atau mencatat berbagai jenis bot.

Anda dapat mengakses log WAF dari akun penyimpanan, pusat aktivitas, analitik log, atau mengirim log ke solusi mitra.

Mode WAF

Application Gateway WAF dapat dikonfigurasi untuk berjalan dalam dua mode berikut:

  • Mode deteksi: Memantau dan mencatat semua peringatan ancaman. Anda mengaktifkan diagnostik pengelogan untuk Application Gateway di bagian Diagnostik. Anda juga harus memastikan bahwa log WAF dipilih dan diaktifkan. Firewall aplikasi web tidak memblokir permintaan masuk saat beroperasi dalam mode Deteksi.
  • Mode pencegahan: Memblokir gangguan dan serangan yang dideteksi aturan. Penyerang menerima pengecualian "403 akses tidak sah", dan koneksi ditutup. Mode pencegahan mencatat serangan semacam itu di log WAF.

Mesin WAF

Mesin firewall aplikasi web (WAF) Azure adalah komponen yang memeriksa lalu lintas dan menentukan apakah permintaan menyertakan tanda tangan yang mewakili potensi serangan. Jika Anda menggunakan CRS 3.2 atau yang lebih baru, WAF Anda akan menjalankan mesin WAF baru, yang memberi Anda performa yang lebih tinggi dan serangkaian fitur yang ditingkatkan. Jika Anda menggunakan CRS versi yang lebih lama, WAF Anda akan berjalan pada mesin yang lebih lama. Fitur baru hanya tersedia di mesin Azure WAF baru.

Tindakan WAF

Anda dapat memilih tindakan mana yang dijalankan saat permintaan cocok dengan kondisi aturan. Tindakan berikut ini didukung:

  • Izinkan: Permintaan melalui WAF dan diteruskan ke back-end. Tidak ada aturan prioritas lebih rendah yang dapat memblokir permintaan ini. Izinkan tindakan hanya berlaku untuk seperangkat aturan Bot Manager, dan tidak berlaku untuk Seperangkat Aturan Inti.
  • Blokir: Permintaan diblokir dan WAF mengirimkan respons kepada klien tanpa meneruskan permintaan ke ujung belakang.
  • Log: Permintaan dicatat dalam log WAF dan WAF melanjutkan mengevaluasi aturan prioritas yang lebih rendah.
  • Skor anomali: Ini adalah tindakan default untuk set aturan CRS di mana skor anomali total bertahap ketika aturan dengan tindakan ini cocok. Penilaian anomali tidak berlaku untuk kumpulan aturan Bot Manager.

Mode Penilaian Anomali

Open Web Application Security Project (OWASP) memiliki dua mode untuk memutuskan apakah akan memblokir lalu lintas: Mode tradisional dan mode Penilaian Anomali.

Dalam mode Tradisional, lalu lintas yang cocok dengan aturan apa pun dianggap independen dari kecocokan aturan lainnya. Mode ini mudah dimengerti. Tetapi kurangnya informasi tentang berapa banyak aturan yang cocok dengan permintaan tertentu adalah batasan. Jadi, mode Anomali Scoring diperkenalkan. Ini adalah default untuk OWASP 3. x.

Dalam mode Pengaturan Skor Anomali, lalu lintas yang cocok dengan aturan apa pun tidak segera diblokir saat firewall berada dalam mode Pencegahan. Aturan memiliki tingkat keparahan tertentu: Kritis, Kesalahan, Peringatan, atau Pemberitahuan. Tingkat keparahan itu mempengaruhi nilai numerik untuk permintaan, yang disebut Skor Anomali. Misalnya, satu kecocokan aturan Peringatan berkontribusi 3 pada skor. Satu kecocokan aturan kritis berkontribusi 5.

Keparahan Nilai
Kritis 5
Kesalahan 4
Peringatan 3
Pemberitahuan 2

Ada ambang batas 5 untuk Skor Anomali guna memblokir lalu lintas. Jadi, kecocokan aturan Kritis tunggal sudah cukup bagi Application Gateway WAF untuk memblokir permintaan, bahkan dalam mode Pencegahan. Namun satu kecocokan aturan Peringatan hanya meningkatkan Skor Anomali sebesar 3, yang tidak cukup dengan sendirinya untuk memblokir lalu lintas.

Konfigurasi

Anda dapat mengonfigurasi dan menyebarkan semua jenis aturan WAF menggunakan portal Azure, API REST, templat Azure Resource Manager, dan Azure PowerShell.

Pemantauan WAF

Penting untuk memantau kesehatan gateway aplikasi Anda. Anda dapat mendukung ini dengan mengintegrasikan WAF Anda dan aplikasi yang dilindunginya dengan log Microsoft Defender untuk Cloud, Azure Monitor, dan Azure Monitor.

Diagram memperlihatkan contoh fungsionalitas pemantauan firewall aplikasi web Azure.

Azure Monitor

Log Application Gateway terintegrasi dengan diagnostik Azure Monitor. Ini memungkinkan Anda melacak informasi diagnostik, termasuk peringatan dan log WAF. Anda dapat mengakses kapabilitas ini pada tab Diagnostik di sumber daya Gateway Aplikasi di portal atau langsung melalui Azure Monitor.