Episode ini memperkenalkan Tetragon, keamanan runtime berbasis eBPF yang memantau eksekusi proses dan akses file. Kalian menginstall Tetragon, menulis TracingPolicy, mendeteksi perilaku mencurigakan, serta mengintegrasikannya dengan Cilium untuk security posture menyeluruh.

Cilium melindungi jaringan di antara workload. Tapi bagaimana dengan apa yang terjadi di dalam pod — proses apa yang dijalankan, file apa yang diakses, perintah apa yang dieksekusi oleh attacker yang sudah masuk? Episode 16 menjawab dengan Tetragon: proyek keamanan runtime berbasis eBPF yang satu keluarga dengan Cilium.
Tetragon memantau syscall langsung di kernel dengan eBPF — tanpa agent yang mengubah aplikasi. Ia bisa mendeteksi eksekusi shell di dalam container, akses ke file sensitif, atau pola perilaku mencurigakan, lalu mencatatnya sebagai event keamanan. Kalian akan menginstall Tetragon, menulis TracingPolicy, dan melihat bagaimana ia melengkapi Cilium.
Tetragon adalah proyek CNCF (sandbox) yang memanfaatkan eBPF untuk runtime security observability dan enforcement. Bedanya dari Cilium: Cilium melihat traffic antar workload, Tetragon melihat perilaku di dalam workload — eksekusi process, akses file, koneksi jaringan per proses, dan lifecycle container. Keduanya melengkapi: satu melindungi perimeter jaringan, yang lain mengawasi isi.
Penting untuk disadari bahwa Tetragon bukan anti-virus. Ia tidak mendeteksi berdasarkan tanda tangan; ia memantau perilaku berdasarkan policy yang kalian tulis. Kekuatannya ada pada presisi: kalian menentukan persis apa yang diawasi, bukan bergantung pada basis data tanda tangan yang bisa kedaluwarsa.
Tetragon menggunakan CRD bernama TracingPolicy untuk mendefinisikan apa yang diawasi. Policy bisa bersifat observability (mencatat) atau enforcement (memblokir). Semua event dipancarkan ke user-space tanpa mengubah pod target — persis seperti filosofi Cilium.
Tetragon diinstall terpisah dari Cilium, memakai repository Helm yang sama:
helm repo add tetragon https://helm.cilium.io/
helm repo update
helm install tetragon tetragon/tetragon -n kube-systemhelm install tetragon tetragon/tetragon -n kube-system menginstall Tetragon sebagai DaemonSet di kube-system. Verifikasi bahwa agent berjalan:
kubectl get pods -n kube-system -l app.kubernetes.io/name=tetragonkubectl get pods -n kube-system -l app.kubernetes.io/name=tetragon menampilkan satu pod agent per node. Tetragon tidak membutuhkan perubahan pada workload kalian — ia hanya meng-attach program eBPF ke kernel.
TracingPolicy adalah jantung Tetragon. Contoh paling sederhana: memantau eksekusi proses tertentu di semua container:
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
name: pantau-exec
spec:
kprobes:
- call: "sys_execve"
syscall: true
args:
- index: 0
type: "string"
selectors:
- matchArgs:
- index: 0
operator: "In"
values:
- "/bin/bash"
- "/bin/sh"call: "sys_execve" menargetkan syscall eksekusi program, dan selector membatasi pada argumen yang mencurigakan seperti /bin/sh. Ketika pola ini terdeteksi, Tetragon menghasilkan event keamanan. Pola yang sama bisa dipakai untuk syscall openat guna memantau akses file sensitif.
Dengan TracingPolicy terpasang, Tetragon mulai memancarkan event. Lihat event langsung lewat CLI:
kubectl logs -n kube-system -l app.kubernetes.io/name=tetragon -fkubectl logs -n kube-system -l app.kubernetes.io/name=tetragon -f menampilkan event secara real-time dalam format JSON. Untuk menguji, jalankan shell interaktif di pod mana pun — event exec akan muncul mencatat proses /bin/bash beserta container dan pod asalnya.
Pola deteksi yang umum dipakai:
/etc/shadow atau key rahasia.Semua pola ini bisa dipancarkan ke SIEM (misalnya Elasticsearch atau Loki) untuk analisis lebih lanjut — pendekatan yang akan kita pertimbangkan dalam arsitektur production di episode 21.
Ketika dipakai bersama, Cilium dan Tetragon membentuk security posture yang utuh:
Kombinasi ini menutup skenario khas: policy jaringan mengizinkan pod A ke pod B, tapi attacker yang sudah berada di pod B bisa dieksekusi tanpa disadari — sampai Tetragon mencatat eksekusi mencurigakan. Dengan integrasi ke alerting, tim keamanan mendapat peringatan jauh lebih awal daripada menunggu kerusakan.
Warning
Jangan langsung menyalakan mode enforcement (memblokir) tanpa pengujian. Mulai dengan mode observability, kumpulkan data baseline, lalu aktifkan enforcement secara bertahap untuk pola yang benar-benar terpercaya — mencegah false positive yang memblokir aplikasi produksi.
Inti yang harus dibawa pulang:
sys_execve dan openat adalah hook umum untuk memantau eksekusi dan akses file.Di episode 17 selanjutnya kita akan membahas multi-cluster dan ClusterMesh — menghubungkan beberapa cluster, service discovery lintas cluster, MCS API yang stabil di versi 1.20, serta skenario failover dan portability service antar cluster. Ini membawa arsitektur kalian dari satu cluster ke banyak cluster.