Keamanan

Zero Trust Architecture Implementation

Panduan lengkap implementasi Zero Trust Architecture β€” prinsip, identity-centric security, microsegmentation, SASE/ZTNA, dan roadmap

1. Pengenalan Zero Trust Architecture

Zero Trust adalah model keamanan yang menghilangkan konsep trust berdasarkan lokasi jaringan. "Never trust, always verify" β€” setiap akses harus diverifikasi terlepas dari lokasi.

πŸ“‹ Apa yang Dipelajari
  • Konsep dan prinsip Zero Trust
  • Identity-centric security model
  • Microsegmentation strategy
  • ZTNA dan SASE
  • Implementation roadmap

Traditional vs Zero Trust

Diagram: Traditional vs Zero Trust
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  TRADITIONAL PERIMETER                                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚            TRUSTED ZONE                          β”‚    β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”       β”‚    β”‚
β”‚  β”‚  β”‚Serverβ”‚  β”‚ DB   β”‚  β”‚App   β”‚  β”‚File  β”‚       β”‚    β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜       β”‚    β”‚
β”‚  β”‚     Internal = Trusted                          β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                          β”‚
β”‚  β”‚ Firewall β”‚ ← Single perimeter                      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ZERO TRUST MODEL                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”               β”‚
β”‚  β”‚Serverβ”‚  β”‚ DB   β”‚  β”‚App   β”‚  β”‚File  β”‚               β”‚
β”‚  β”‚ β–“β–“β–“β–“ β”‚  β”‚ β–“β–“β–“β–“ β”‚  β”‚ β–“β–“β–“β–“ β”‚  β”‚ β–“β–“β–“β–“ β”‚  ← Verified β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜               β”‚
β”‚  βœ… Verify identity  βœ… Least privilege                 β”‚
β”‚  βœ… Encrypt everything  βœ… Log & monitor                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

2. Prinsip Zero Trust

PrinsipPenjelasanImplementasi
Never Trust, Always VerifyAutentikasi setiap requestMFA, continuous auth
Least Privilege AccessAkses minimumJIT, RBAC/ABAC
Assume BreachAsumsikan attacker di dalamSegmentation, encryption
Verify ExplicitlyVerifikasi semua data pointIdentity, device, behavior
Minimize Blast RadiusBatasi dampak kompromiSegmentation, PAM

3. Identity-Centric Security

Dalam Zero Trust, identity (bukan network) menjadi perimeter baru. Setiap user, device, dan service harus memiliki identity terverifikasi.

Config β€” Identity Policy
# =============================================
+# Zero Trust Identity Policy
+# =============================================

+# Azure AD Conditional Access (translated)

+# Policy 1: Require MFA
+IF user.role != "service_account"
+AND app.risk != "low"
+THEN require_mfa()
+AND require_compliant_device()

+# Policy 2: Block legacy auth
+IF client_app == "IMAP" OR "POP3" OR "SMTP"
+THEN block()

+# Policy 3: Risk-based access
+IF sign_in_risk == "high" THEN block()
+IF sign_in_risk == "medium" THEN require_mfa()
+AND require_password_change()

+# Policy 4: Session management
+IF app.sensitivity == "high"
+THEN max_session = 1_hour
+AND require_reauthentication()

4. Microsegmentation

Microsegmentation membagi jaringan menjadi granular security zones hingga level workload. Membatasi lateral movement.

YAML β€” K8s Network Policy
# =============================================
+# Microsegmentation β€” Kubernetes NetworkPolicy
+# =============================================

+# Default deny all
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  name: default-deny-all
+  namespace: production
+spec:
+  podSelector: {}
+  policyTypes: [Ingress, Egress]

+# Allow frontend to backend only
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  name: frontend-to-backend
+  namespace: production
+spec:
+  podSelector:
+    matchLabels:
+      app: backend
+  ingress:
+    - from:
+        - podSelector:
+            matchLabels:
+              app: frontend
+      ports:
+        - port: 8080

+# Allow backend to database only
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  name: backend-to-db
+spec:
+  podSelector:
+    matchLabels:
+      app: database
+  ingress:
+    - from:
+        - podSelector:
+            matchLabels:
+              app: backend
+      ports:
+        - port: 5432

5. Zero Trust Network Access (ZTNA)

ZTNA menggantikan VPN dengan model yang memverifikasi identity dan device health sebelum memberikan akses ke aplikasi spesifik.

AspekVPNZTNA
AccessFull networkPer-app access
TrustAfter connectContinuous verify
MovementPossibleRestricted
ExperienceSlow, clunkySeamless, fast

6. SASE Architecture

SASE menggabungkan networking (SD-WAN) dan security (ZTNA, SWG, CASB, FWaaS) ke cloud-delivered service.

Diagram: SASE Architecture
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                SASE ARCHITECTURE                          β”‚
β”‚                                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚              IDENTITY LAYER                    β”‚       β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚       β”‚
β”‚  β”‚  β”‚  User   β”‚  β”‚ Device β”‚  β”‚ Serviceβ”‚         β”‚       β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                          β”‚                               β”‚
β”‚                          β–Ό                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚              SASE EDGE (Cloud)                β”‚       β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”‚       β”‚
β”‚  β”‚  β”‚ZTNA β”‚ β”‚ SWG β”‚ β”‚CASB β”‚ β”‚FWaaSβ”‚ β”‚ SD-  β”‚ β”‚       β”‚
β”‚  β”‚  β”‚     β”‚ β”‚     β”‚ β”‚     β”‚ β”‚     β”‚ β”‚ WAN  β”‚ β”‚       β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                          β”‚                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”              β”‚
β”‚  β”‚ SaaS β”‚  β”‚ IaaS β”‚  β”‚  DC  β”‚  β”‚ Net  β”‚              β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

7. Implementation Roadmap

Roadmap β€” Zero Trust
# =============================================
+# Zero Trust Implementation Roadmap
+# =============================================

+# PHASE 1: Foundation (Bulan 1-3)
+# βœ… Asset inventory
+# βœ… Data classification
+# βœ… Identity consolidation β€” SSO + MFA
+# βœ… Device management β€” MDM
+# βœ… Logging foundation

+# PHASE 2: Identity & Access (Bulan 3-6)
+# βœ… Conditional Access policies
+# βœ… Privileged Access Management
+# βœ… Just-In-Time access
+# βœ… RBAC implementation

+# PHASE 3: Network Segmentation (Bulan 6-12)
+# βœ… Microsegmentation
+# βœ… ZTNA deployment
+# βœ… East-West traffic inspection
+# βœ… DNS filtering

+# PHASE 4: Data Protection (Bulan 12-18)
+# βœ… DLP policies
+# βœ… Encryption at rest & transit
+# βœ… CASB for SaaS apps

+# PHASE 5: Continuous Monitoring (Bulan 18-24)
+# βœ… UEBA
+# βœ… SOAR automated response
+# βœ… Threat hunting program
+# βœ… Maturity assessment

8. Technology & Vendors

CategoryVendorsKey Features
IdentityAzure AD, Okta, PingSSO, MFA, Conditional Access
ZTNAZscaler, Cloudflare, Palo AltoPer-app access, device posture
EndpointCrowdStrike, SentinelOneEDR, device compliance
MicrosegIllumio, GuardicoreWorkload segmentation
SASEZscaler, NetskopeUnified security + networking
PAMCyberArk, BeyondTrustPrivileged access management

Device Trust & Compliance

Dalam Zero Trust, device health adalah faktor kritis dalam keputusan akses. Device yang tidak compliant harus ditolak atau diberikan akses terbatas.

Config β€” Device Compliance Policy
# =============================================
+# Device Compliance & Trust Policy
+# =============================================

+# Device Trust Requirements:
+# Level 1: Basic (all devices)
+# - OS version >= minimum
+# - Antivirus active & updated
+# - Firewall enabled
+# - Disk encryption enabled
+
+# Level 2: Enhanced (corporate devices)
+# - All Level 1 requirements
+# - MDM enrolled
+# - Company certificate installed
+# - Approved OS build
+# - No jailbreak/root
+
+# Level 3: High Security (privileged access)
+# - All Level 2 requirements
+# - Hardware TPM/FIDO2 key
+# - Specific network location
+# - Recent security scan passed
+# - No USB peripherals (optional)

+# Azure AD Conditional Access β€” Device filter
+# IF device.trustType == "ServerAD"
+# OR device.isCompliant == true
+# THEN allow_access()
+# ELSE redirect_to_portal("Register your device")

+# Intune Compliance Policy
+# Minimum OS: Windows 10 22H2
+# BitLocker: Required
+# Defender: Real-time protection ON
+# Password: Min 12 chars, complexity
+# Jailbreak: Block compromised devices

Zero Trust Network Architecture

Diagram: Zero Trust Network Design
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          ZERO TRUST NETWORK ARCHITECTURE                  β”‚
β”‚                                                          β”‚
β”‚  Users & Devices                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”                  β”‚
β”‚  β”‚Remoteβ”‚ β”‚Officeβ”‚ β”‚Mobileβ”‚ β”‚ IoT  β”‚                  β”‚
β”‚  β””β”€β”€β”¬β”€β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”˜                  β”‚
β”‚     β”‚        β”‚        β”‚        β”‚                        β”‚
β”‚     β–Ό        β–Ό        β–Ό        β–Ό                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚         IDENTITY PROVIDER (IdP)               β”‚       β”‚
β”‚  β”‚  β€’ MFA verification                          β”‚       β”‚
β”‚  β”‚  β€’ Device compliance check                   β”‚       β”‚
β”‚  β”‚  β€’ Risk assessment                           β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                         β–Ό                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚         POLICY DECISION POINT (PDP)           β”‚       β”‚
β”‚  β”‚  β€’ Evaluate access policies                   β”‚       β”‚
β”‚  β”‚  β€’ Context-aware decisions                    β”‚       β”‚
β”‚  β”‚  β€’ Real-time risk scoring                     β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                         β–Ό                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚         POLICY ENFORCEMENT POINT (PEP)        β”‚       β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”           β”‚       β”‚
β”‚  β”‚  β”‚ZTNA β”‚ β”‚ SWG β”‚ β”‚CASB β”‚ β”‚DLP  β”‚           β”‚       β”‚
β”‚  β”‚  β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”˜           β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚        β–Ό       β–Ό       β–Ό       β–Ό                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”                  β”‚
β”‚  β”‚ Apps β”‚ β”‚ Web  β”‚ β”‚ SaaS β”‚ β”‚ Data β”‚                  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Automated Access Reviews

Zero Trust memerlukan review akses berkala untuk memastikan tidak ada privilege creep. Automasi membantu skala proses ini.

Python β€” Access Review Automation
# =============================================
+# Automated Access Review Script
+# =============================================

+import datetime
+from dataclasses import dataclass
+
+@dataclass
+class AccessReview:
+    user: str
+    role: str
+    last_activity: datetime.datetime
+    granted_date: datetime.datetime
+    approver: str
+    risk_level: str
+
+def review_access(access_records):
+    # Flag access that needs review.
+    now = datetime.datetime.now()
+    alerts = []
+
+    for record in access_records:
+        # Rule 1: Inactive access (> 90 days no activity)
+        days_inactive = (now - record.last_activity).days
+        if days_inactive > 90:
+            alerts.append({
+                "user": record.user,
+                "issue": f"Inactive for {days_inactive} days",
+                "action": "REVOKE"
+            })
+
+        # Rule 2: Stale access grants (> 365 days)
+        days_granted = (now - record.granted_date).days
+        if days_granted > 365:
+            alerts.append({
+                "user": record.user,
+                "issue": f"Access granted {days_granted} days ago",
+                "action": "RE-APPROVE"
+            })
+
+        # Rule 3: High-risk access without recent review
+        if record.risk_level == "high":
+            alerts.append({
+                "user": record.user,
+                "issue": "High-risk access needs quarterly review",
+                "action": "MANAGER_REVIEW"
+            })
+
+    return alerts
+
+# Generate report
+# alerts = review_access(all_access_records)
+# for alert in alerts:
+#     send_notification(alert["user"], alert["issue"])
+
+

Zero Trust Assessment Checklist

+ + + + + + + + +
DomainAssessment CriteriaScore
IdentityMFA enabled for all users? SSO implemented?0-5
DevicesMDM enrolled? Compliance policies enforced?0-5
NetworkMicrosegmentation? Encrypted traffic?0-5
ApplicationsZTNA deployed? API security?0-5
DataClassification done? DLP active?0-5
MonitoringUEBA? SOAR? Continuous verification?0-5
GovernanceAccess reviews? Policy enforcement?0-5
+

Target score: 28/35 (80%) untuk mature Zero Trust implementation.

+ +

Zero Trust for Remote Work

+

Remote work mempercepat adopsi Zero Trust karena traditional perimeter (kantor) sudah tidak relevan. Setiap koneksi harus diverifikasi terlepas dari lokasi.

+
Config β€” Remote Work Zero Trust
+
# =============================================
+# Zero Trust Remote Work Policy
+# =============================================

+# Network Access Policy:
+# 1. Remote workers connect via ZTNA (bukan VPN)
+# 2. Device compliance checked before access
+# 3. Per-app access (bukan full network)
+# 4. Session recording untuk sensitive apps

+# ZTNA Connection Flow:
+# 1. User opens browser/app
+# 2. ZTNA agent checks:
+#    - Device identity (certificate)
+#    - Device compliance (OS, AV, encryption)
+#    - User identity (MFA)
+#    - Location risk score
+# 3. Policy engine evaluates:
+#    - Is user allowed to access this app?
+#    - Is device compliant enough?
+#    - Is current risk acceptable?
+# 4. If approved: encrypted tunnel to app only
+# 5. If denied: clear error message + remediation steps

+# Home Network Security Recommendations:
+# - Separate VLAN for work devices
+# - Updated router firmware
+# - Strong WiFi password (WPA3)
+# - Disable WPS
+# - Enable router firewall
+# - Use DNS filtering (1.1.1.3 / 9.9.9.9)
+
+

Zero Trust Maturity Assessment

+
Checklist β€” ZT Maturity Assessment
+
# =============================================
+# Zero Trust Maturity Assessment
+# =============================================

+# IDENTITY (Score: 0-5)
+# β–‘ All users have unique identity
+# β–‘ MFA enabled for all users (not just admin)
+# β–‘ MFA is phishing-resistant (FIDO2)
+# β–‘ SSO across all applications
+# β–‘ Just-in-time privileged access
+# β–‘ Regular access reviews (quarterly)
+# β–‘ Service account inventory & rotation
+# β–‘ No shared accounts
+
+# DEVICES (Score: 0-5)
+# β–‘ All devices inventoried
+# β–‘ MDM enrolled (corporate devices)
+# β–‘ Device compliance policies enforced
+# β–‘ Endpoint detection & response deployed
+# β–‘ Automated patching
+# β–‘ Disk encryption mandatory
+# β–‘ BYOD policy with container isolation
+# β–‘ No unmanaged devices access sensitive data
+
+# NETWORK (Score: 0-5)
+# β–‘ Microsegmentation implemented
+# β–‘ All traffic encrypted (TLS 1.3)
+# β–‘ DNS filtering active
+# β–‘ East-west traffic inspection
+# β–‘ No implicit trust for internal traffic
+# β–‘ ZTNA replacing VPN
+# β–‘ DDoS protection
+# β–‘ Network anomaly detection
+
+# APPLICATIONS (Score: 0-5)
+# β–‘ Secure SDLC implemented
+# β–‘ API security controls
+# β–‘ WAF deployed
+# β–‘ SaaS access through CASB
+# β–‘ Application-level access control
+# β–‘ Secrets management (no hardcoded)
+# β–‘ Regular security testing
+# β–‘ Dependency vulnerability scanning
+
+# DATA (Score: 0-5)
+# β–‘ Data classification complete
+# β–‘ Encryption at rest & in transit
+# β–‘ DLP controls active
+# β–‘ Data access logging
+# β–‘ Retention policies enforced
+# β–‘ Backup & recovery tested
+# β–‘ Data sovereignty compliance
+# β–‘ No sensitive data in unprotected locations
+
+# SCORING:
+# 0 = Not started
+# 1 = Initial (ad-hoc)
+# 2 = Developing (some implementation)
+# 3 = Defined (consistent implementation)
+# 4 = Managed (measured & controlled)
+# 5 = Optimized (automated & continuous improvement)
+#
+# Total Score: ___/40
+# Maturity Level: Traditional (0-10) | Advanced (11-25) | Optimal (26-40)
+

9. Quiz Pemahaman

1. Prinsip utama Zero Trust?

2. Apa 'perimeter' baru dalam Zero Trust?

3. Fungsi microsegmentation?

4. Keunggulan ZTNA vs VPN?

5. SASE menggabungkan?

Rangkuman

πŸ“ Poin Penting
  • Never Trust β€” Setiap akses diverifikasi terlepas lokasi
  • Identity β€” Identity menjadi perimeter baru, bukan network
  • Microsegmentation β€” Granular zones membatasi lateral movement
  • ZTNA β€” Per-app access menggantikan VPN full-network
  • Roadmap β€” Implementasi bertahap 24 bulan: Foundation β†’ Identity β†’ Segmentation β†’ Data β†’ Monitoring