Tutorial: Membuat gateway aplikasi dengan Web Application Firewall menggunakan portal Microsoft Azure

Tutorial ini menunjukkan kepada Anda cara menggunakan portal Azure untuk membuat Application Gateway dengan Web Application Firewall (WAF). WAF menggunakan aturan OWASP untuk melindungi aplikasi Anda. Aturan ini mencakup perlindungan terhadap serangan seperti injeksi SQL, serangan scripting lintas situs, dan pembajakan sesi. Setelah membuat gateway aplikasi, Anda mengujinya untuk memastikan gateway berfungsi dengan benar. Dengan Azure Application Gateway, Anda mengarahkan lalu lintas web aplikasi ke sumber daya tertentu dengan menetapkan pendengar ke port, membuat aturan, dan menambahkan sumber daya ke kumpulan backend. Demi kesederhanaan, tutorial ini menggunakan pengaturan sederhana dengan IP front-end publik, pendengar dasar untuk menghosting satu situs di gateway aplikasi ini, dua komputer virtual Linux yang digunakan untuk kumpulan backend, dan aturan perutean permintaan dasar.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat gateway aplikasi dengan WAF diaktifkan
  • Buat komputer virtual yang digunakan sebagai server backend
  • Membuat akun penyimpanan dan mengonfigurasi diagnostik
  • Menguji gateway aplikasi

Diagram contoh firewall aplikasi Web.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Prasyarat

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

Masuk ke Azure

Masuk ke portal Microsoft Azure.

Membuat gateway aplikasi

  1. Pilih Buat sumber daya di menu sebelah kiri portal Microsoft Azure. Jendela Baru muncul.

  2. Pilih Jaringan, lalu pilih Application Gateway di daftar Unggulan.

Tab Dasar

  1. Pada tab Dasar, masukkan nilai ini untuk pengaturan gateway aplikasi berikut ini:

    • Grup sumber daya: Pilih myResourceGroupAG untuk grup sumber daya. Jika tidak ada, pilih Buat baru untuk membuatnya.

    • Nama gateway aplikasi: masukkan myAppGateway untuk nama gateway aplikasi.

    • Tingkat: pilih WAF V2.

    • Kebijakan WAF: Pilih Buat baru, ketik nama untuk kebijakan baru, kemudian pilih OK. Ini membuat kebijakan WAF dasar dengan Set Aturan Inti (CRS) terkelola.

      Cuplikan layar Buat gateway aplikasi baru: tab Dasar.

  2. Agar Azure dapat berkomunikasi antara sumber daya yang Anda buat, maka perlu jaringan virtual. Buat jaringan virtual baru atau gunakan jaringan virtual yang sudah ada. Anda dapat membuat jaringan virtual pada saat yang sama ketika Anda membuat gateway aplikasi. Instans Application Gateway dibuat dalam subnet terpisah. Ada dua subnet dalam contoh ini: satu untuk gateway aplikasi, dan satu lagi untuk server backend.

    Di bawah Konfigurasi jaringan virtual, pilih Buat baru untuk membuat jaringan virtual baru. Di jendela Buat jaringan virtual yang terbuka, masukkan nilai berikut untuk membuat jaringan virtual dan dua subnet:

    • Nama: Masukkan myVNet untuk nama jaringan virtual.

    • Nama Subnet (subnet Application Gateway): Kisi Subnets akan menampilkan subnet bernama Default. Ubah nama subnet ini ke myAGSubnet.
      Subnet gateway aplikasi hanya dapat berisi gateway aplikasi. Tak ada sumberdaya lain yang diperbolehkan.

    • Nama subnet (subnet server backend): Di baris kedua kisi Subnets, masukkan myBackendSubnet di kolom Nama subnet.

    • Rentang alamat (subnet server backend): Di baris kedua Grid Subnets, masukkan rentang alamat yang tidak tumpang tindih dengan rentang alamat myAGSubnet. Misalnya, jika rentang alamat myAGSubnet adalah 10.21.0.0/24, masukkan10.21.1.0/24 untuk rentang alamat myBackendSubnet.

    Pilih OK untuk menutup jendela Buat jaringan virtual dan simpan setelan jaringan virtual.

    Cuplikan layar Buat gateway aplikasi baru: Buat jaringan virtual.

  3. Pada tab Dasar, terima nilai default untuk pengaturan lain dan kemudian pilih Berikutnya: Frontend.

Tab Frontend

  1. Pada tab Frontend, verifikasi jenis alamat IP Frontend diatur ke Publik.
    Anda dapat mengonfigurasi IP Frontend menjadi Publik atau Keduanya sesuai kasus penggunaan Anda. Dalam contoh ini, Anda akan memilih IP Frontend Publik.

    Catatan

    Untuk SKU Application Gateway v2, Jenis alamat IP Publik dan Kedua Frontend didukung hari ini. Konfigurasi IP frontend privat saja saat ini tidak didukung.

  2. Pilih Tambah baru untuk alamat IP Publik dan masukkan myAGPublicIPAddress untuk nama alamat IP publik, lalu pilih OK.

    Cuplikan layar Buat gateway aplikasi baru: Frontend.

  3. Pilih Berikutnya: Backend.

Tab Backend

Kumpulan backend digunakan untuk merutekan permintaan ke server backend yang melayani permintaan. Kumpulan backend dapat terdiri dari NIC, set skala komputer virtual, IP publik, IP internal, nama domain yang sepenuhnya memenuhi syarat (FQDN), dan back-end multipenyewa seperti Azure App Service. Dalam contoh ini, Anda akan membuat kumpulan backend kosong dengan gateway aplikasi Anda, lalu menambahkan target backend ke kumpulan backend nanti.

  1. Pada tab Backend, pilih Tambahkan kumpulan backend.

  2. Di jendela Tambah kumpulan backend yang terbuka, masukkan nilai berikut ini untuk membuat kumpulan backend kosong:

    • Nama: Masukkan myBackendPool untuk nama kumpulan backend.
    • Menambahkan kumpulan backend tanpa target: Pilih Ya untuk membuat kumpulan backend tanpa target. Anda akan menambahkan target backend setelah membuat gateway aplikasi.
  3. Di jendela Tambahkan kumpulan backend, pilih Tambahkan untuk menyimpan konfigurasi kumpulan backend dan kembali ke tab Backend.

    Cuplikan layar Buat gateway aplikasi baru: Backend.

  4. Pada tab Backend, pilih Berikutnya: Konfigurasi.

Tab Konfigurasi

Pada tab Konfigurasi, Anda akan menyambungkan kumpulan frontend dan backend yang Anda buat menggunakan aturan perutean.

  1. Pilih Tambah aturan perutean di kolom Aturan perutean.

  2. Di jendela Tambah aturan perutean yang terbuka, masukkan myRoutingRule untuk nama Aturan.

  3. Untuk Prioritas, ketik nomor prioritas.

  4. Aturan perutean memerlukan listener. Pada tab Pendengar di dalam jendela Tambahkan aturan perutean, masukkan nilai berikut untuk pendengar:

    • Nama listener: Masukkan myListener untuk nama listener.

    • IP Frontend: Pilih Publik untuk memilih IP publik yang Anda buat untuk frontend.

      Terima nilai default untuk pengaturan lain pada tab Listener lalu pilih tab Target backend untuk mengonfigurasi aturan perutean lainnya.

    Tampilan cuplikan layar Buat gateway aplikasi baru: pendengar.

  5. Pada tab Target backend, pilih myBackendPool untuk target Backend.

  6. Untuk Pengaturan backend, pilih Tambahkan baru untuk membuat pengaturan Backend baru. Pengaturan ini menentukan perilaku aturan perutean. Di jendela Tambahkan pengaturan Backend yang terbuka, masukkan myBackendSetting untuk nama pengaturan Backend. Terima nilai default untuk pengaturan lain di jendela, lalu pilih Tambah untuk kembali ke jendela Tambah aturan perutean.

    Cuplikan layar yang menunjukkan Buat gateway aplikasi baru, pengaturan Backend.

  7. Pada jendela Tambahkan aturan perutean, pilih Tambahkan untuk menyimpan aturan perutean dan kembali ke tab Konfigurasi.

    Cuplikan layar yang menunjukkan Buat gateway aplikasi baru: aturan perutean.

  8. Pilih Berikutnya: Tag lalu Berikutnya: Tinjau + buat.

Tinjau + buat tab

Tinjau pengaturan pada tab Tinjau + buat, lalu pilih Buat untuk membuat jaringan virtual, alamat IP publik, dan gateway aplikasi. Azure memerlukan waktu beberapa menit untuk membuat gateway aplikasi.

Tunggu hingga penyebaran berhasil selesai sebelum melanjutkan ke bagian berikutnya.

Menambahkan target backend

Dalam contoh ini, Anda menggunakan komputer virtual sebagai backend target. Anda dapat menggunakan komputer virtual yang ada atau membuat yang baru. Dalam contoh ini, Anda membuat dua komputer virtual yang digunakan Azure sebagai server backend untuk gateway aplikasi.

Untuk melakukannya, Anda akan:

  1. Buat dua VM Linux baru, myVM dan myVM2, untuk digunakan sebagai server backend.
  2. Instal NGINX pada komputer virtual untuk memverifikasi bahwa gateway aplikasi berhasil dibuat.
  3. Tambahkan server backend ke kumpulan backend.

Membuat komputer virtual

  1. Di portal Microsoft Azure, pilih Buat sumber daya. Jendela Buat sumber daya muncul.

  2. Di bawah Komputer virtual, pilih Buat.

  3. Masukkan nilai ini di tab Dasar untuk pengaturan komputer virtual berikut ini:

    • Grup sumber daya: Pilih myResourceGroupAG untuk grup sumber daya.
    • Nama komputer virtual: MasukkanmyVM untuk nama komputer virtual.
    • Gambar: Ubuntu Server 20.04 LTS - Gen2.
    • Jenis autentikasi: Kata sandi
    • Nama pengguna: Masukkan nama untuk nama pengguna administrator.
    • Kata sandi: Masukkan kata sandi untuk kata sandi admin.
    • Port masuk publik: Pilih Tidak Ada.
  4. Terima default lainnya lalu pilih Berikutnya: Disk.

  5. Terima default tab Disk dan kemudian pilih Berikutnya: Jaringan.

  6. Pada tab Jaringan, verifikasi bahwa myVNet dipilih untuk Jaringan virtual dan Subnet diatur ke myBackendSubnet.

  7. Untuk IP Publik, pilih Tidak ada.

  8. Terima default yang lainnya dan kemudian pilih Kemudian: Manajemen.

  9. Pilih Berikutnya: Pemantauan, atur Diagnostik boot ke Nonaktifkan. Terima default lainnya lalu pilih Tinjau + Buat.

  10. Pada tab Tinjau + buat, tinjau pengaturan, perbaiki kesalahan validasi apa pun, lalu pilih Buat.

  11. Tunggu hingga pembuatan komputer virtual selesai sebelum melanjutkan.

Menginstal NGINX untuk pengujian

Dalam contoh ini, Anda menginstal NGINX pada komputer virtual hanya untuk memverifikasi bahwa Azure berhasil membuat gateway aplikasi.

  1. Buka Cloud Shell Bash. Untuk melakukannya, pilih ikon Cloud Shell dari bilah navigasi atas portal Azure lalu pilih Bash dari daftar drop-down.

    Cuplikan layar memperlihatkan Cloud Shell Bash.

  2. Jalankan perintah berikut untuk menginstal NGINX pada komputer virtual:

     az vm extension set \
     --publisher Microsoft.Azure.Extensions \
     --version 2.0 \
     --name CustomScript \
     --resource-group myResourceGroupAG \
     --vm-name myVM \
     --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
    
  3. Buat komputer virtual kedua dan instal NGINX menggunakan langkah-langkah ini yang sebelumnya Anda selesaikan. Gunakan myVM2 untuk nama komputer virtual dan untuk pengaturan --vm-name cmdlet.

Tambahkan server backend ke kumpulan backend

  1. Pilih Semua sumber daya, lalu pilih myAppGateway.

  2. Pilih Kumpulan backend dari menu kiri.

  3. Pilih myBackendPool.

  4. Di Jenis target, pilih Komputer virtual dari daftar dropdown.

  5. Di bawah Target, pilih antarmuka jaringan terkait untuk myVM dari daftar drop-down.

  6. Ulangi untuk myVM2.

    Tambahkan server backend

  7. Pilih Simpan.

  8. Tunggu hingga penyebaran selesai sebelum melanjutkan ke langkah berikutnya.

Menguji gateway aplikasi

Meskipun NGINX tidak diperlukan untuk membuat gateway aplikasi, Anda menginstalnya untuk memverifikasi apakah Azure berhasil membuat gateway aplikasi. Gunakan layanan web untuk menguji gateway aplikasi:

  1. Cari alamat IP publik untuk gateway aplikasi di halaman Ringkasannya. Cuplikan layar Application Gateway alamat IP publik di halaman Gambaran Umum.

    Atau, Anda dapat memilih Semua sumber daya, masukkan myAGPublicIPAddress di kotak pencarian, lalu pilih di hasil pencarian. Azure menampilkan alamat IP publik pada halaman Ringkasan.

  2. Salin alamat IP publik, lalu tempelkan ke bilah alamat browser Anda.

  3. Periksa responsnya. Respons yang valid memverifikasi bahwa gateway aplikasi berhasil dibuat dan berhasil tersambung dengan ujung belakang.

    Cuplikan layar pengujian gateway aplikasi.

Membersihkan sumber daya

Jika Anda tidak memerlukan lagi sumber daya yang Anda buat dengan application gateway, hapus grup sumber daya tersebut. Saat Anda menghapus grup sumber daya, Anda juga menghapus gateway aplikasi dan semua sumber daya terkait.

Untuk menghapus grup sumber daya:

  1. Di menu sebelah kiri portal Microsoft Azure, pilih Grup sumber daya.
  2. Pada halaman Grup sumber daya, cari myResourceGroupAG dalam daftar, lalu pilih.
  3. Pada Halaman grup sumber daya, pilih Hapus grup sumber daya.
  4. Masukkan myResourceGroup untuk KETIK NAMA GRUP SUMBER DAYA: dan pilih Hapus.

Langkah berikutnya