Zero Trust bukan Buzzword: Implementasi Nyata untuk Tim Kecil

Vendor jual "Zero Trust Platform" seharga budget setahun, padahal tim kamu cuma 8 orang. CTO bingung: "Kita bukan bank, perlukah?" Jawabannya: Zero Trust bukan produk, tapi asumsi desain — "jangan percaya apa pun di dalam jaringan, verifikasi setiap request". Untuk tim kecil, itu malah lebih murah dilakukan bertahap daripada dibeli utuh. Artikel ini tidak jual framework. Kita bedah apa yang bisa tim 8 orang terapkan minggu ini tanpa konsultan: identity, device check, least-privilege, microsegmentation, dan logging — dengan alat yang sudah kamu punya atau gratis.

Asumsi dasar: perimeter sudah mati

Model lama: firewall di pinggir, di dalam dipercaya ("castle-and-moat"). Masalahnya: kalau attacker nembus perimeter (phishing, RDP bocor), ia jalan bebas di dalam. Zero Trust membaliknya: setiap akses — dari mana pun — diverifikasi. Bukan berarti "jangan pakai firewall", tapi firewall pinggir jadi satu lapis, bukan satu-satunya.

Untuk tim kecil, ini berarti: jangan anggap "koneksi dari kantor WiFi = aman". Laptop di kantor bisa tertinggal, atau ada tamu colok kabel. Verifikasi identity + device di tiap layanan, bukan cuma di gateway.

Langkah 1: Identity adalah fondasi (bukan VPN IP)

Tim kecil sering pakai "VPN masuk, dapat akses semua". Itu perimeter dalam bentuk lain. Zero Trust mulai dari: setiap user punya identity terpusat, dan akses ke tiap aplikasi butuh auth terhadap identity itu — bukan sekadar "sudah di VPN".

Alat gratis/murah: - Cloudflare Access / Tailscale — bisa ganti VPN untuk tim kecil. Tailscale bikin WireGuard mesh antar device, akses berbasis identity (Google/GitHub SSO). - Authelia / Authentik — self-hosted SSO + 2FA, pasang di depan app internal.

# Tailscale: akses ke server hanya dari device terdaftar di tailnet
# tidak ada "VPN IP 10.x = trusted" lagi

Why: identity terpusat membuat offboarding mudah — cabut 1 user di IdP, semua akses mati. Kalau kamu andalkan IP allowlist, offboarding berarti edit 10 firewall rule.

Langkah 2: MFA wajib, bukan opsional

Ini yang paling murah tapi paling sering dilewatkan. RDP tanpa MFA adalah pintu masuk ransomware #1. Untuk tim kecil, nyalakan MFA di: email, GitHub/GitLab, cloud console, dan semua SaaS. Pakai authenticator app atau passkey, bukan SMS (bisa SIM-swap).

# GitHub: Settings → Password and authentication → Require 2FA for all members
# GCP/AWS: IAM → enable MFA, pakai hardware key untuk admin

Why: 99% credential stuffing gagal kalau ada MFA. Biaya: nol (app gratis). Ini satu-satunya langkah dengan ROI tertinggi untuk tim kecil.

Langkah 3: Device posture, tidak harus MDM mahal

Zero Trust cek "device sehat?" sebelum izinkan akses. Tim kecil tidak perlu beli MDM enterprise. Pendekatan ringan: - Wajib disk encryption (BitLocker/FileVault) — di-check saat enroll device ke Tailscale. - Wajib OS update dalam N hari — bisa di-enforce lewat script login atau MDM ringan (Mosyle/Jamf untuk Mac murah). - Block device jailbroken/root dari akses sensitif.

Tailscale punya device posture lewat integrasi MDM + check script — ini terpisah dari tailnet lock, yang khusus mencegah node tak sah bergabung ke tailnet. Atau Cloudflare Access bisa minta WARP + posture via service token.

Why: laptop karyawan yang tidak terenkripsi dan kehilangan = kebocoran langsung, bukan cuma "perlu ganti password".

Langkah 4: Least privilege, bukan "admin ke semua"

Polisi paling sering dilanggar tim kecil: semua dev punya akses root ke produksi "biar cepat". Zero Trust = default deny, kasih akses per need.

Contoh konkret di cloud:

# SALAH: IAM user dengan AdministratorAccess ke semua
# BENAR: role per-job
- deploy-bot: hanya PutObject ke S3 + update Lambda
- dev-readonly: ReadOnlyAccess ke non-prod
- oncall: akses log + restart, bukan delete DB

Di database: jangan pakai user postgres superuser dari aplikasi. Buat user app_ro dan app_rw terpisah, aplikasi pakai app_rw, migrasi pakai migrator.

Why: kalau token aplikasi bocor (lihat artikel API Security), blast radius cuma satu schema, bukan drop whole cluster. Least privilege mengecilkan api serangan jadi satu fungsi.

Langkah 5: Microsegmentation tanpa fancy SDP

Tim kecil tidak butuh Software-Defined Perimeter berbayar. Pakai yang ada: - Pisahkan VLAN: app / db / management (sudah dibahas di artikel Networking). - Di cloud: Security Group / Firewall Rules — DB hanya nerima dari app SG, bukan 0.0.0.0. - Internal service pakai mTLS (mutual TLS) kalau bisa — Tailscale sudah sediakan encrypt + auth antar node.

# AWS SG: Postgres (5432) hanya dari SG aplikasi, bukan dari internet
ingress 5432 from sg-app  # bukan 0.0.0.0/0

Why: kalau app compromis, attacker tidak langsung dapat DB lewat jaringan terbuka. Segmentasi menghentikan lateral movement yang jadi alasan ransomware menyebar.

Langkah 6: Logging dan alerting, minimal

Zero Trust butuh visibilitas: siapa akses apa, kapan, dari device mana. Tim kecil tidak butuh SIEM. Cukup: - Centralized log: journaldrsyslog → file, atau pakai Grafana Loki (gratis, ringan). - Audit log untuk aksi sensitif (login admin, delete, role change) — jangan cuma app log biasa. - Alert sederhana: "login dari negara baru" atau "3 gagal login" → notif ke Slack.

# Loki + Promtail: kumpulkan log tiap host, query di Grafana
# Alert: count(auth_fail) by user > 5 in 5m → Slack

Why: tanpa log, kamu tidak tahu apa yang terjadi saat insiden. Zero Trust tanpa logging = kunci pintu tapi tidak pasang CCTV.

Langkah 7: Policy sebagai kode, bukan dokumen di folder

Tim kecil sering punya "kebijakan keamanan" di PDF yang tidak pernah dibaca. Zero Trust nyata = policy diterapkan di konfigurasi, bukan di kertas. - IAM role di Terraform (infra as code). - Firewall rule di repo, di-PR dan di-review. - SSO enforce di IdP setting, bukan "harusnya semua pakai MFA".

Why: policy di kode bisa di-test dan di-audit lewat git history. Policy di PDF hanya harapan.

Jangan beli "Zero Trust Platform" dulu

Urutan yang masuk akal untuk tim 8 orang: 1. Nyalakan MFA di semua (gratis, hari ini). 2. Pindah ke SSO ringan (Authentik/Tailscale) — minggu ini. 3. Least privilege di IAM + DB user — sprint 1. 4. Segmentasi SG/VLAN — sprint 2. 5. Logging ke Loki + alert — sprint 3. 6. Device posture ringan — kalau sudah stabil.

Jangan mulai dari nomor 6 lalu lintas macet di nomor 1. Fondasi identity dulu.

Kesalahan yang sering lolos

  1. Anggap VPN = Zero Trust (VPN cuma pindah perimeter).

  2. MFA cuma di email, lupa di cloud console & GitHub.

  3. Semua dev root di produksi "biar cepat".

  4. App pakai user DB superuser.

  5. DB buka 5432 ke 0.0.0.0/0.

  6. Log ada tapi tidak ada yang alert.

  7. Policy di PDF, tidak di kode.

  8. Beli platform mahal sebelum fondasi identity jalan.

Takeaways

  • Zero Trust = asumsi "jangan percaya, verifikasi", bukan produk.

  • Mulai dari identity: SSO + MFA wajib (gratis, ROI tertinggi).

  • Least privilege kecilkan blast radius kalau token bocor.

  • Segmentasi hentikan lateral movement.

  • Logging + alert wajib; tanpa itu cuma kunci tanpa CCTV.

  • Policy di kode, bukan PDF.

  • Tim kecil bisa jalan bertahap pakai alat gratis (Tailscale, Authentik, Loki).

  • Jangan beli platform sebelum fondasi identity jalan.