Menggunakan mTLS di Azure Container Apps

Keamanan Lapisan Transportasi Mutual (mTLS) merupakan perluasan dari protokol TLS standar yang menyediakan autentikasi timbal balik antara klien dan server. Azure Container Apps mendukung menjalankan aplikasi berkemampuan mTLS untuk memberikan peningkatan keamanan dalam aplikasi Anda.

Di Azure Container Apps, semua permintaan masuk melewati Envoy sebelum dirutekan ke aplikasi kontainer target. Saat Anda menggunakan mTLS, klien bertukar sertifikat dengan Envoy. Masing-masing sertifikat ini ditempatkan ke header X-Forwarded-Client-Cert , yang kemudian dikirim ke aplikasi.

Untuk membangun aplikasi mTLS di Azure Container Apps, Anda perlu:

  • Konfigurasikan Azure Container Apps untuk mewajibkan sertifikat klien dari rekan-rekan.
  • Ekstrak X.509 sertifikat dari permintaan.

Artikel ini menjelaskan cara menangani sertifikat handshake mTLS peer dengan mengekstrak sertifikat X.509 dari klien.

Memerlukan sertifikat klien

Gunakan langkah-langkah berikut untuk mengonfigurasi aplikasi kontainer Anda untuk mewajibkan sertifikat klien:

  1. Di portal Azure, buka aplikasi kontainer Anda.
  2. Di menu sebelah kiri, pilih Networking>Ingress.
  3. Di bawah Aktifkan ingress untuk aplikasi yang memerlukan titik akhir HTTP atau TCP., aktifkan Ingress.
  4. Untuk Jenis Ingress, pilih HTTP.
  5. Di bawah mode sertifikat klien, pilih Wajib.
  6. Lalu pilih Simpan untuk menerapkan perubahan.

Untuk informasi selengkapnya tentang mengonfigurasi autentikasi sertifikat klien di Azure Container Apps, lihat Mengonfigurasi autentikasi sertifikat klien di Azure Container Apps.

Ekspor sertifikat X.509

Untuk mengekstrak X.509 sertifikat dari X-Forwarded-Client-Cert header, uraikan nilai header dalam kode aplikasi Anda. Header ini berisi informasi sertifikat klien ketika mTLS diaktifkan. Sertifikat disediakan dalam format daftar yang dipisahkan titik koma, yang mencakup hash, sertifikat, dan rantai.

Berikut adalah prosedur yang ingin Anda ikuti untuk mengekstrak dan mengurai sertifikat di aplikasi Anda:

  1. Ambil header X-Forwarded-Client-Cert dari permintaan yang masuk.
  2. Uraikan nilai header untuk mengekstrak detail sertifikat.
  3. Letakkan sertifikat yang diurai ke atribut sertifikat standar untuk validasi atau penggunaan lebih lanjut.

Setelah diurai, Anda dapat memvalidasi sertifikat dan menggunakannya sesuai dengan kebutuhan aplikasi Anda.

Contoh

Di aplikasi Java, Anda dapat menggunakan filter autentikasi Reaktif X.509 untuk memetakan informasi pengguna dari sertifikat ke konteks keamanan. Untuk contoh lengkap aplikasi Java dengan mTLS di Azure Container Apps, lihat Aplikasi mTLS Server di Azure Container Apps.