"Aman di dalam firewall" adalah konsep yang sudah usang: di era remote work, kepercayaan tidak boleh datang dari lokasi jaringan. Kalian mempelajari zero trust — identity-aware proxy, mTLS, dan policy-based access — lalu membangun akses zero trust untuk aplikasi yang tadinya hanya bisa dijangkau lewat VPN.

Model keamanan klasik bekerja seperti benteng: keras di luar, lunak di dalam. Begitu masuk jaringan internal (VPN), semuanya dipercaya. Masalahnya, benteng itu sudah jebol berkali-kali — dan dalam kasus nyata, penyerang yang masuk ke satu server langsung bisa menjelajah seluruh jaringan karena "sudah di dalam". Di episode 15 kita membahas keamanan dasar; episode 19 ini membawa kalian ke standar industri modern yang menjawab kelemahan model benteng.
Topik kita: zero trust — prinsip "jangan pernah percaya, selalu verifikasi" — melalui tiga mekanisme: identity-aware proxy (IAP), mTLS (mutual TLS), dan policy-based access. Kalian akan membangun akses zero trust untuk aplikasi yang sebelumnya hanya bisa diakses lewat VPN.
Zero trust bukan produk, melainkan model pemikiran dengan tiga prinsip:
Perbedaan dengan model lama: di VPN, kalian mendapat akses jaringan (bisa menjelajah semua host). Di zero trust, kalian mendapat akses aplikasi — satu aplikasi, satu policy, tanpa pernah "masuk jaringan" secara umum.
IAP adalah gerbang yang memverifikasi identitas dan konteks sebelum request sampai ke aplikasi — bukan sekadar network ACL. Contoh: Google Cloud IAP, AWS Verified Access, Azure AD Application Proxy, atau tool seperti Cloudflare Access.
Alurnya: user menuju aplikasi → IAP meminta login dan memeriksa konteks (siapa, dari perangkat apa, kebijakan perusahaan, tingkat risiko) → jika lolos, request diteruskan ke aplikasi. Aplikasi tidak pernah terpapar publik — hanya IAP yang publik.
Praktiknya, aplikasi yang tadinya hanya bisa diakses lewat VPN:
# User harus connect VPN dulu, lalu akses IP internal
ssh user@10.0.1.5
# dan akses ke aplikasi lain menjadi "bebas" begitu masuk VPN# Aplikasi tidak lagi punya IP publik
# Akses lewat gerbang IAP yang memverifikasi identitas + policy
curl -H "Authorization: Bearer $TOKEN" https://iap.app.example.comAplikasi bisa berpindah region, server, atau bahkan jadi serverless — user tidak perlu tahu. Yang penting: identitas dan policy, bukan alamat IP.
Important
Perbedaan yang paling sering disalahpahami: IAP dan VPN sama-sama mengontrol akses, tapi levelnya berbeda. VPN mengontrol jaringan (setelah masuk, bebas menjelajah); IAP mengontrol aplikasi (setiap aplikasi punya policy sendiri). Zero trust menempatkan kontrol sedekat mungkin ke aplikasi, bukan di gerbang jaringan.
TLS biasa mengamankan koneksi dengan memverifikasi server. mTLS (mutual TLS) memverifikasi keduanya: klien juga harus menunjukkan sertifikat. Ini penting untuk komunikasi service-to-service — microservices (episode 12) yang berkomunikasi harus saling percaya.
TLS biasa : klien memverifikasi server → server melihat siapa klien? (tidak tahu)
mTLS : klien memverifikasi server → server memverifikasi klien (sertifikat)Dalam praktik, service mesh (episode 12) mengotomasi mTLS antar-pod: setiap pod dapat sertifikat identitas otomatis, lalu semua trafik antar-service dienkripsi dan terautentikasi — tanpa mengubah kode aplikasi.
Mengapa mTLS penting? Karena di dalam jaringan, penyerang yang sudah menguasai satu service akan mencoba "berpura-pura" menjadi service lain. mTLS menutup itu: identitas kriptografis, bukan sekadar klaim IP.
Zero trust menuntut keputusan akses terpusat dan konsisten, bukan tersebar di tiap server. Policy-based access memisahkan keputusan (policy) dari penegakan (enforcement):
| Contoh policy | Ekspresi |
|---|---|
| Hanya engineering yang akses staging | principal.team == "engineering" dan resource.env == "staging" |
| Akses prod hanya dari IP kantor | request.ip in office_cidr dan resource.env == "prod" |
| Hanya service tertentu yang baca data | principal.type == "service" dan principal.name == "billing-svc" |
| Akses malam hari ditandai | request.time between 22:00 and 06:00 → butuh approval |
Platform populer: Open Policy Agent (OPA), AWS IAM + Verified Permissions (Cedar), GCP IAM Conditions, Azure Conditional Access. Pola kunci: policy bisa digabung dari banyak konteks (identitas + device + waktu + lokasi + resource), dan perubahan policy langsung berlaku di seluruh sistem tanpa mengubah satu baris aplikasi.
Mari ubah akses aplikasi lab-admin (episode 5) dari model VPN ke zero trust:
lab-admin-users), dari perangkat apa, kondisi apa.curl -i https://admin.lab.example.com
# HTTP/2 302 → redirect ke halaman login identity providerLangkah terakhir adalah membuktikan bahwa menolak lebih mudah daripada mengizinkan: tanpa identitas yang jelas, semua akses berhenti di gerbang — tidak peduli apakah request datang dari dalam atau luar jaringan.
Inti yang harus dibawa pulang:
Di episode 20 selanjutnya kita akan menyiapkan jaring pengaman terakhir: backup & disaster recovery cloud — cross-region replication, RPO/RTO, dan DR drills, lalu melakukan simulasi DR untuk membuktikan bahwa infrastruktur kalian bisa selamat dari bencana. Sampai jumpa di episode 20!