Belajar Cilium - Runtime Security dengan Tetragon
Episode 16 of 23

Belajar Cilium - Runtime Security dengan Tetragon

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.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

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.

Apa itu Tetragon

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.

Instalasi Tetragon

Tetragon diinstall terpisah dari Cilium, memakai repository Helm yang sama:

Install Tetragon
helm repo add tetragon https://helm.cilium.io/
helm repo update
helm install tetragon tetragon/tetragon -n kube-system

helm install tetragon tetragon/tetragon -n kube-system menginstall Tetragon sebagai DaemonSet di kube-system. Verifikasi bahwa agent berjalan:

Cek pod Tetragon
kubectl get pods -n kube-system -l app.kubernetes.io/name=tetragon

kubectl 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: Process Execution dan File Access

TracingPolicy adalah jantung Tetragon. Contoh paling sederhana: memantau eksekusi proses tertentu di semua container:

TracingPolicy untuk eksekusi proses
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.

Deteksi Perilaku Mencurigakan

Dengan TracingPolicy terpasang, Tetragon mulai memancarkan event. Lihat event langsung lewat CLI:

Amati event keamanan Tetragon
kubectl logs -n kube-system -l app.kubernetes.io/name=tetragon -f

kubectl 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:

  • Eksekusi shell di dalam container yang seharusnya headless.
  • Akses ke file kredensial seperti /etc/shadow atau key rahasia.
  • Koneksi keluar ke alamat mencurigakan dari proses tertentu.
  • Pemanggilan binary yang tidak terdaftar dalam image.

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.

Integrasi Cilium dan Tetragon

Ketika dipakai bersama, Cilium dan Tetragon membentuk security posture yang utuh:

  • Cilium mengontrol siapa yang boleh berkomunikasi dengan siapa (policy jaringan).
  • Tetragon mengawasi apa yang terjadi di dalam workload yang diizinkan berkomunikasi.
  • Keduanya memakai eBPF, sehingga tidak menambah agent yang berat di tiap pod.

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.

Penutup

Inti yang harus dibawa pulang:

  • Tetragon memantau runtime (proses, file, koneksi) dengan eBPF tanpa mengubah workload.
  • TracingPolicy mendefinisikan apa yang diawasi dan apakah akan diblokir.
  • sys_execve dan openat adalah hook umum untuk memantau eksekusi dan akses file.
  • Event Tetragon bisa dilihat real-time lewat log agent.
  • Cilium mengamankan jaringan; Tetragon mengamankan perilaku di dalam workload.
  • Mulai dari mode observability sebelum mengaktifkan enforcement.

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.

Belajar Cilium - Runtime Security dengan Tetragon | Belajar Cilium