Bagikan melalui


Melindungi Azure Container Apps dengan Web Application Firewall di Application Gateway

Saat menghosting aplikasi atau layanan mikro di Azure Container Apps, Anda mungkin tidak selalu ingin menerbitkannya langsung ke internet. Sebagai gantinya, Anda mungkin ingin mengeksposnya melalui proksi terbalik.

Proksi terbalik adalah layanan yang berada di depan satu atau beberapa layanan, mencegat dan mengarahkan lalu lintas masuk ke tujuan yang sesuai.

Proksi terbalik memungkinkan Anda menempatkan layanan di depan aplikasi yang mendukung fungsionalitas lintas pemotongan termasuk:

  • Perutean
  • penembolokan
  • Pembatasan tarif
  • Penyeimbangan Beban
  • Lapisan keamanan
  • Pemfilteran permintaan

Artikel ini menunjukkan cara melindungi aplikasi kontainer Anda menggunakan Web Application Firewall (WAF) di Azure Application Gateway dengan lingkungan Container Apps internal.

Untuk informasi selengkapnya tentang konsep jaringan di Container Apps, lihat Lingkungan Jaringan di Azure Container Apps.

Prasyarat

  • Lingkungan internal dengan VNet kustom: Memiliki aplikasi kontainer yang berada di lingkungan internal dan terintegrasi dengan jaringan virtual kustom. Untuk informasi selengkapnya tentang cara membuat aplikasi terintegrasi jaringan virtual kustom, lihat menyediakan jaringan virtual ke lingkungan Azure Container Apps internal.

  • Sertifikat keamanan: Jika Anda harus menggunakan enkripsi TLS/SSL ke gateway aplikasi, sertifikat publik valid yang digunakan untuk mengikat gateway aplikasi Anda diperlukan.

Mengambil domain aplikasi kontainer Anda

Gunakan langkah-langkah berikut untuk mengambil nilai domain default dan IP statis untuk menyiapkan Zona DNS Privat Anda.

  1. Dari jendela Gambaran Umum grup sumber daya di portal, pilih aplikasi kontainer Anda.

  2. Pada jendela Gambaran Umum untuk sumber daya aplikasi kontainer Anda, pilih tautan untuk Lingkungan Aplikasi Kontainer

  3. Pada jendela Gambaran Umum untuk sumber daya lingkungan aplikasi kontainer Anda, pilih Tampilan JSON di sudut kanan atas halaman untuk melihat representasi JSON dari lingkungan aplikasi kontainer.

  4. Salin nilai untuk properti DefaultDomain dan staticIp dan tempelkan ke editor teks. Anda akan membuat zona DNS privat menggunakan nilai-nilai ini untuk domain default di bagian berikutnya.

Membuat dan mengonfigurasi zona DNS Privat Azure

  1. Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.

  2. Cari Zona DNS Privat, dan pilih Zona DNS Privat dari hasil pencarian.

  3. Pilih tombol Buat.

  4. Masukkan nilai berikut:

    Pengaturan Tindakan
    Langganan Pilih langganan Azure Anda.
    Grup sumber daya Pilih grup sumber daya aplikasi kontainer Anda.
    Nama Masukkan properti defaultDomain dari Container Apps Environment dari bagian sebelumnya.
    Lokasi grup sumber daya Biarkan sebagai default. Nilai tidak diperlukan karena Zona DNS Privat bersifat global.
  5. Pilih Tinjau + buat. Setelah validasi selesai, pilih Buat.

  6. Setelah zona DNS privat dibuat, pilih Buka sumber daya.

  7. Di jendela Gambaran Umum , pilih +Kumpulan catatan, untuk menambahkan kumpulan catatan baru.

  8. Di jendela Tambahkan kumpulan catatan, masukkan nilai berikut ini:

    Pengaturan Tindakan
    Nama Memasuki *.
    Jenis Pilih Catatan A-Alamat.
    TTL Pertahankan nilai default.
    Unit TTL Pertahankan nilai default.
    Alamat IP Masukkan properti staticIp dari Container Apps Environment dari bagian sebelumnya.
  9. Pilih OK untuk membuat kumpulan catatan.

  10. Pilih +Kumpulan catatan lagi, untuk menambahkan kumpulan catatan kedua.

  11. Di jendela Tambahkan kumpulan catatan, masukkan nilai berikut ini:

    Pengaturan Tindakan
    Nama Memasuki @.
    Jenis Pilih Catatan A-Alamat.
    TTL Pertahankan nilai default.
    Unit TTL Pertahankan nilai default.
    Alamat IP Masukkan properti staticIp dari Container Apps Environment dari bagian sebelumnya.
  12. Pilih OK untuk membuat kumpulan catatan.

  13. Pilih jendela Tautan jaringan virtual dari menu di sisi kiri halaman.

  14. Pilih +Tambahkan untuk membuat tautan baru dengan nilai berikut:

    Pengaturan Tindakan
    Nama tautan Masukkan my-custom-vnet-pdns-link.
    Saya mengetahui ID sumber daya jaringan virtual Biarkan tidak dicentang.
    Jaringan virtual Pilih jaringan virtual yang terintegrasi dengan aplikasi kontainer Anda.
    Aktifkan pendaftaran otomatis Biarkan tidak dicentang.
  15. Pilih OK untuk membuat tautan jaringan virtual.

Membuat dan mengonfigurasi Azure Application Gateway

Tab Dasar

  1. Masukkan nilai berikut ini di bagian Detail Proyek.

    Pengaturan Tindakan
    Langganan Pilih langganan Azure Anda.
    Grup sumber daya Pilih grup sumber daya untuk aplikasi kontainer Anda.
    Nama gateway aplikasi Masukkan my-container-apps-agw.
    Wilayah Pilih lokasi tempat Aplikasi Kontainer Anda disediakan.
    Tingkat Pilih WAF V2. Anda dapat menggunakan Standard V2 jika Anda tidak memerlukan WAF.
    Aktifkan penskalaan otomatis Biarkan sebagai default. Untuk lingkungan produksi, penskalaan otomatis disarankan. Lihat Menskalakan otomatis Azure Application Gateway.
    Zona ketersediaan Pilih Tidak ada. Untuk lingkungan produksi, Zona Ketersediaan direkomendasikan untuk ketersediaan yang lebih tinggi.
    HTTP2 Pertahankan nilai default.
    Kebijakan WAF Pilih Buat baru dan masukkan kebijakan my-waf untuk Kebijakan WAF. Pilih OK. Jika Anda memilih Standard V2 untuk tingkatan, lewati langkah ini.
    Jaringan virtual Pilih jaringan virtual yang terintegrasi dengan aplikasi kontainer Anda.
    Subnet Pilih Mengelola konfigurasi subnet. Jika Anda sudah memiliki subnet yang ingin Anda gunakan, gunakan sebagai gantinya, dan lewati ke bagian Frontends.
  2. Dari dalam jendela Subnet my-custom-vnet, pilih +Subnet dan masukkan nilai berikut:

    Pengaturan Tindakan
    Nama Masukkan appgateway-subnet.
    Rentang alamat subnet Pertahankan nilai default.
  3. Untuk pengaturan lainnya, pertahankan nilai default.

  4. Pilih Simpan untuk membuat subnet baru.

  5. Tutup jendela Subnet untuk kembali ke jendela Buat gateway aplikasi.

  6. Pilih perintah berikut:

    Pengaturan Tindakan
    Subnet Pilih appgateway-subnet yang Anda buat.
  7. Pilih Berikutnya: Frontend, untuk melanjutkan.

Tab Frontend

  1. Pada tab Frontend , masukkan nilai berikut ini:

    Pengaturan Tindakan
    Jenis alamat IP frontend Pilih Publik.
    Alamat IP publik Pilih Tambahkan baru. Masukkan my-frontend untuk nama frontend Anda dan pilih OK

    Catatan

    Untuk Application Gateway v2 SKU, harus ada IP frontend Publik . Anda dapat memiliki konfigurasi IP frontend publik dan privat, tetapi konfigurasi IP frontend khusus privat tanpa IP publik saat ini tidak didukung di SKU v2. Untuk mempelajari lebih lanjut, baca di sini.

  2. Pilih Berikutnya: Backend.

Tab Backend

Kumpulan backend digunakan untuk merutekan permintaan ke server backend yang sesuai. Kumpulan backend dapat terdiri dari kombinasi sumber daya berikut:

  • NIC
  • Alamat IP publik
  • Alamat IP internal
  • Virtual Machine Scale Sets
  • Nama domain yang sepenuhnya memenuhi syarat (FQDN)
  • Back-end multi-penyewa seperti Azure App Service dan Container Apps

Dalam contoh ini, Anda membuat kumpulan backend yang menargetkan aplikasi kontainer Anda.

  1. Pilih Tambahkan kumpulan backend.

  2. Buka tab baru dan navigasi ke aplikasi kontainer Anda.

  3. Di jendela Gambaran Umum Aplikasi Kontainer, temukan Url Aplikasi dan salin.

  4. Kembali ke tab Backend, dan masukkan nilai berikut ini di jendela Tambahkan kumpulan backend:

    Pengaturan Tindakan
    Nama Masukkan my-agw-backend-pool.
    Menambahkan kumpulan backend tanpa target Pilih Tidak.
    Jenis target Pilih Alamat IP atau FQDN.
    Target Masukkan Url Aplikasi Aplikasi Kontainer yang Anda salin dan hapus awalan https:// . Lokasi ini adalah FQDN dari aplikasi kontainer Anda.
  5. Pilih Tambahkan.

  6. Pada tab Backends, pilih Berikutnya: Konfigurasi.

Tab Konfigurasi

Pada tab Konfigurasi , Anda menyambungkan kumpulan ujung depan dan backend yang Anda buat menggunakan aturan perutean.

  1. Pilih Tambahkan aturan perutean. Masukkan nilai berikut:

    Pengaturan Tindakan
    Nama Masukkan my-agw-routing-rule.
    Prioritas Masukkan 1.
  2. Di bawah tab Pendengar, masukkan nilai berikut ini:

    Pengaturan Tindakan
    Nama listener Masukkan my-agw-listener.
    IP Frontend Pilih Publik.
    Protokol Pilih HTTPS. Jika Anda tidak memiliki sertifikat yang ingin Anda gunakan, Anda dapat memilih HTTP
    Port Masukkan 443. Jika Anda memilih HTTP untuk protokol Anda, masukkan 80 dan lewati ke bagian domain default/kustom.
    Pilih Sertifikat Pilih Unggah sertifikat. Jika sertifikat Anda disimpan di brankas kunci, Anda dapat memilih Pilih sertifikat dari Key Vault.
    Nama sertifikasi Masukkan nama untuk sertifikat Anda.
    File sertifikat PFX Pilih sertifikat publik Anda yang valid.
    Kata sandi Masukkan kata sandi sertifikat Anda.

    Jika Anda ingin menggunakan domain default, masukkan nilai berikut:

    Pengaturan Tindakan
    Jenis Pendengar Pilih Dasar
    URL halaman kesalahan Biarkan sebagai Tidak

    Atau, jika Anda ingin menggunakan domain kustom, masukkan nilai berikut:

    Pengaturan Tindakan
    Jenis Pendengar Pilih Multi situs
    Jenis host Pilih Tunggal
    Nama Host Masukkan Domain Kustom yang ingin Anda gunakan.
    URL halaman kesalahan Biarkan sebagai Tidak
  3. Pilih tab Target backend dan masukkan nilai berikut ini:

  4. Alihkan ke tab Target backend dan masukkan nilai berikut:

    Pengaturan Tindakan
    Jenis target Pilih my-agw-backend-pool yang Anda buat sebelumnya.
    Pengaturan backend Pilih Tambahkan baru.
  5. Di jendela Tambahkan pengaturan Backend, masukkan nilai berikut ini:

    Pengaturan Tindakan
    Nama pengaturan backend Masukkan my-agw-backend-setting.
    Protokol backend Pilih HTTPS.
    Port ujung belakang Masukkan 443.
    Gunakan sertifikat CA yang dikenal Pilih Ya.
    Ganti dengan nama host baru Pilih Ya.
    Ganti nama host Pilih Pilih nama host dari target backend.
    Buat penyelidikan kustom Pilih Tidak.
  6. Pilih Tambahkan, untuk menambahkan pengaturan backend.

  7. Di jendela Tambahkan aturan perutean, pilih Tambahkan lagi.

  8. Pilih Berikutnya: Tag.

  9. Pilih Berikutnya: Tinjau + buat, lalu pilih Buat.

Anda dapat membuat koneksi aman ke lingkungan aplikasi kontainer internal saja dengan memanfaatkan tautan privat, karena memungkinkan Application Gateway Anda untuk berkomunikasi dengan Aplikasi Kontainer Anda di backend melalui jaringan virtual.

  1. Setelah Application Gateway dibuat, pilih Buka sumber daya.

  2. Dari menu di sebelah kiri, pilih Tautan privat, lalu pilih Tambahkan.

  3. Masukkan nilai berikut:

    Pengaturan Tindakan
    Nama Masukkan my-agw-private-link.
    Subnet tautan privat Pilih subnet yang ingin Anda buat tautan privatnya.
    Konfigurasi IP frontend Pilih IP frontend untuk Application Gateway Anda.
  4. Di bawah Pengaturan alamat IP privat pilih Tambahkan.

  5. Pilih Tambahkan di bagian bawah jendela.

Memverifikasi aplikasi kontainer

  1. Temukan alamat IP publik untuk gateway aplikasi di halaman Gambaran Umumnya, atau Anda dapat mencari alamat tersebut. Untuk mencari, pilih Semua sumber daya dan masukkan my-container-apps-agw-pip di kotak pencarian. Kemudian, pilih IP di hasil pencarian.

  2. Navigasikan ke alamat IP publik gateway aplikasi.

  3. Permintaan Anda secara otomatis dirutekan ke aplikasi kontainer, yang memverifikasi gateway aplikasi berhasil dibuat.

Membersihkan sumber daya

Ketika Anda tidak lagi memerlukan sumber daya yang dibuat, hapus sumber daya tersebut. Saat menghapus grup sumber daya, Anda juga menghapus semua sumber daya terkait.

Untuk menghapus grup sumber daya:

  1. Pada menu portal Microsoft Azure, pilih Grup sumber daya atau cari dan pilih Grup sumber daya.

  2. Pada halaman Grup sumber daya, cari dan pilih my-container-apps.

  3. Pada Halaman grup sumber daya, pilih Hapus grup sumber daya.

  4. Masukkan aplikasi-kontainer saya di bawah KETIK NAMA GRUP SUMBER DAYA lalu pilih Hapus

Langkah berikutnya