TLS standar hanya melakukan otentikasi satu sisi: klien memverifikasi sertifikat server, tetapi server tidak memverifikasi klien. Mutual TLS (mTLS) menutup celah ini—kedua pihak saling menyajikan sertifikat dan memverifikasi identitas satu sama lain sebelum bertukar data, sehingga menyediakan komunikasi terenkripsi yang telah diautentikasi di setiap hop.
Alibaba Cloud Service Mesh (ASM) menerapkan mTLS pada lapisan infrastruktur di ketiga tahap lalu lintas dalam lingkungan Kubernetes—ingress, east-west, dan egress—tanpa memerlukan perubahan pada kode aplikasi Anda. Proxy sidecar menangani pertukaran sertifikat dan enkripsi secara transparan, sedangkan ASM secara otomatis mengelola seluruh siklus hidup sertifikat.
Cara ASM menerapkan mTLS
Lalu lintas end-to-end dalam kluster Kubernetes melewati tiga tahap. ASM mengamankan masing-masing tahap tersebut dengan mTLS:
| Tahap | Jalur Lalu Lintas | Cara ASM menerapkan mTLS |
|---|---|---|
| Ingress | Client eksternal -> layanan di dalam kluster | Melalui gerbang masuk ASM |
| East-west | Workload <-> workload di dalam kluster | Secara otomatis, melalui proxy sidecar |
| Egress | Workload di dalam kluster -> layanan eksternal | Melalui gerbang keluar ASM |
Alur kerja penyediaan sertifikat
Saat sebuah workload dimulai, ASM secara otomatis menyediakan sertifikat identitas melalui alur berikut:
Proxy sidecar di dalam Pod mengirim permintaan penandatanganan sertifikat (CSR) ke lapisan kontrol ASM.
Lapisan kontrol ASM memvalidasi permintaan tersebut dan menerbitkan sertifikat yang terikat pada identitas
ServiceAccountPod tersebut.Ketika dua Pod yang telah disuntik proxy sidecar berkomunikasi, proxy mereka melakukan proses jabat tangan TLS mutual, memverifikasi identitas masing-masing sebelum bertukar data.
Lapisan kontrol ASM secara berkala memperbarui sertifikat-sertifikat tersebut tanpa intervensi manual.
Karena gerbang masuk dan gerbang keluar ASM juga terhubung ke lapisan kontrol ASM, lalu lintas antara gerbang-gerbang tersebut dan proxy sidecar juga dienkripsi dengan mTLS.
Manfaat
| Manfaat | Deskripsi |
|---|---|
| Fokus pada logika bisnis | Aplikasi dapat fokus pada logika bisnis dan mendelegasikan kemampuan keamanan ke infrastruktur service mesh, sehingga mempercepat iterasi bisnis. |
| Tanpa perubahan aplikasi | Proxy sidecar menangani pertukaran sertifikat dan enkripsi secara transparan. Migrasikan layanan yang sudah ada ke ASM tanpa mengubah kode aplikasi. |
| Manajemen sertifikat otomatis | ASM menerbitkan sertifikat berdasarkan ServiceAccount masing-masing workload dan memperbaruinya secara otomatis. Tidak diperlukan penyediaan atau perpanjangan sertifikat manual. |
| Kontrol akses detail halus | Sertifikat identitas yang disediakan oleh mTLS juga dapat digunakan untuk kebijakan otorisasi, memberikan Anda kontrol detail halus atas layanan mana yang boleh berkomunikasi. |
Enkripsi traffic ingress
Klien eksternal mengakses layanan kluster melalui gerbang masuk ASM. Untuk mewajibkan mTLS pada lapisan ingress, konfigurasikan gerbang agar menyajikan sertifikat server dan memvalidasi sertifikat klien sebelum meneruskan lalu lintas ke layanan backend.
Untuk petunjuk langkah demi langkah, lihat Konfigurasi layanan mTLS pada gerbang masuk ASM dan batasi akses client tertentu.
Enkripsi traffic east-west
mTLS east-west merupakan kemampuan bawaan ASM. Begitu kedua workload yang berkomunikasi telah disuntik proxy sidecar, seluruh lalu lintas di antara keduanya secara otomatis ditingkatkan ke mTLS—tidak diperlukan konfigurasi tambahan.
Untuk menyuntikkan proxy sidecar ke workload Anda, lihat Instal proxy sidecar.
Migrasi dari mode PERMISSIVE ke STRICT
Saat migrasi, belum semua workload mungkin telah disuntik proxy sidecar secara bersamaan. ASM menyediakan dua mode otentikasi peer untuk peluncuran bertahap:
| Mode | Perilaku | Kapan digunakan |
|---|---|---|
PERMISSIVE | Menerima traffic teks biasa maupun mTLS | Saat migrasi, ketika beberapa workload belum memiliki proxy sidecar |
STRICT | Hanya menerima traffic mTLS | Setelah semua workload telah disuntik proxy sidecar |
Jalur migrasi yang direkomendasikan:
Mulai dengan mode
PERMISSIVEuntuk menghindari gangguan pada koneksi teks biasa yang sudah ada.Suntikkan proxy sidecar ke semua workload. Untuk petunjuknya, lihat Instal proxy sidecar.
Verifikasi bahwa semua workload telah termesh dan lalu lintas antar-layanan menggunakan mTLS.
Beralih ke mode
STRICTuntuk menerapkan enkripsi penuh di seluruh kluster.
Setelah beralih ke mode STRICT, workload apa pun yang tidak memiliki proxy sidecar akan kehilangan konektivitas ke layanan yang termesh. Pastikan semua workload telah termesh sebelum Anda beralih.
Enkripsi traffic egress
Ketika sebuah workload di dalam kluster perlu mengakses layanan eksternal yang mewajibkan mTLS, aplikasi tetap dapat mengirim permintaan teks biasa. Gerbang keluar ASM mencegat permintaan tersebut, meningkatkannya ke mTLS, lalu meneruskannya ke layanan eksternal. Hal ini menjaga kompleksitas mTLS agar tidak masuk ke dalam kode aplikasi Anda.
Untuk detail konfigurasi, lihat Gunakan gerbang keluar ASM untuk mengakses layanan mTLS eksternal.
Batas cakupan
mTLS tidak diterapkan ke seluruh lalu lintas secara default. Skenario berikut tidak tercakup:
| Skenario | Alasan | Mitigasi |
|---|---|---|
| Traffic ke atau dari Pod tanpa proxy sidecar | mTLS memerlukan kedua sisi memiliki proxy sidecar | Suntikkan proxy sidecar ke semua workload |