RadarGitHub Radarai üretimi

GitHub Radar — Tetragon

Linux çekirdeğinde eBPF ile çalışan ve TOCTOU açıklarını önleyen gerçek zamanlı güvenlik denetimi ve engelleme motoru.

Tetragon, modern bulut yerel (cloud-native) ve dağıtık konteyner altyapıları için Linux çekirdeği seviyesinde gerçek zamanlı güvenlik gözlemlenebilirliği ve anında engelleme (runtime enforcement) sağlayan açık kaynaklı bir eBPF motorudur 1. Geleneksel güvenlik araçlarının işletim sistemi olaylarını kullanıcı alanına (userspace) taşıyıp analiz ettiği hantal mimarilerin aksine Tetragon; Kubernetes podları, işlemler (processes) ve sistem çağrıları (syscalls) arasındaki tehditleri doğrudan çekirdek içinde tespit edip zararlı işlemi anında sonlandırır. Güvenlik ekiplerinin olay gerçekleştikten saatler sonra log taraması yerine, saldırganın zararlı komutunu henüz çekirdek seviyesinde yürütülürken durdurmasını sağlayan düşük gecikmeli bir savunma hattıdır 2.

Altyapı genelinde 5 bin yıldız ve son commit 2 gün önce verisine sahip olan repo, aktif olarak yönetilen 133 açık issue ve istikrarlı sürüm takvimini belgeleyen son sürüm v1.7.1 (Ağustos 2026) metrikleriyle canlılığını kanıtlamaktadır.

Mimari Deep-Dive: Tetragon

Tetragon’un mimari gücü, güvenlik karar döngüsünü kullanıcı alanından (userspace) tamamen çekip doğrudan Linux çekirdeğinin (kernel space) içine gömmesinden kaynaklanır. Proje iki ana programlama diliyle kurgulanmıştır: Çekirdeğe enjekte edilen algılayıcılar (sensors) için düşük seviyeli eBPF C kodu, kullanıcı alanındaki kontrol düzlemi, Kubernetes Custom Resource Definition (CRD) yönetimi ve gRPC olay dağıtımı için ise bellek güvenli Go dili tercih edilmiştir 1.

Geleneksel çalışma zamanı güvenlik araçlarının (örneğin auditd veya temel ptrace tabanlı yapılar) en ölümcül kusuru, Kontrol Zamanı - Kullanım Zamanı (Time-of-Check to Time-of-Use / TOCTOU) yarış koşullarıdır (race conditions). Kullanıcı alanında çalışan bir ajan sistem çağrısını tespit edene, bağlamı çözene ve analiz edene kadar geçen milisaniyeler içinde saldırgan zararlı ikiliyi çalıştırıp izini silebilir. Tetragon bu mimari zafiyeti in-kernel enforcement mekanizmasıyla kökünden çözer. TracingPolicy tanımları çekirdeğe yüklendiğinde kprobes, kretprobes, tracepoints, uprobes ve modern bpf_lsm (Linux Security Module) kancalarıyla doğrudan entegre olur 3. Yetkisiz bir dosya erişimi, ayrıcalık yükseltme (privilege escalation) veya yetkisiz execve çağrısı yakalandığı anda karar kullanıcı alanına bırakılmaz; çekirdek içi eBPF programı doğrudan bpf_send_signal ile işleme SIGKILL gönderir veya bpf_override_return aracılığıyla sistem çağrısına hata döndürerek yürütmeyi durdurur 2.

Performans ve bellek yönetimi açısından Tetragon, eski nesil per-CPU perf tamponları yerine Linux 5.8 ile gelen BPF_MAP_TYPE_RINGBUF veri yapısını kullanır. Ring buffer mimarisi, çekirdek ve kullanıcı alanı arasındaki olay aktarımında bellek kopyalamasını en aza indirirken bellek parçalanmasını önler. Çok çekirdekli sistemlerde CPU’lar arası tampon tıkanıklığını engelleyerek verimli bir kuyruk işleme sağlar. Daha da önemlisi, sistem çağrısı filtrelemesi çekirdeğin içinde gerçekleşir. Belirlenen güvenlik kurallarına uymayan veya izlenmesi gerekmeyen gürültülü olaylar çekirdek seviyesinde elenir; böylece kullanıcı alanındaki Tetragon ajanına gereksiz olay akışı engellenerek CPU bağlam değişimi (context switch) yükü önlenir. Eş zamanlı olarak cgroup hiyerarşisini izleyen çekirdek algılayıcıları, her olaya anında Kubernetes pod adı, konteyner kimliği ve ad alanı etiketlerini iliştirerek kullanıcı alanındaki harici metadata sorgulama maliyetini sıfıra indirir.

Kod ve Topluluk Sağlığı

Tetragon, açık kaynak dünyasında kurumsal ciddiyeti ve mühendislik disiplini en yüksek altyapı projelerinden biridir. Cloud Native Computing Foundation (CNCF) şemsiyesi altındaki Cilium projesinin kritik bir bileşeni olan araç, Isovalent (Cisco) çekirdek mühendisleri ve geniş bir açık kaynak topluluğu tarafından yönetilmektedir 1.

Kod tabanındaki kalite standartları olağanüstü katıdır. Dışarıdan açılan PR’ların tamamı Signed-off-by taahhüdü gerektirmekte, derleme hattında Clang/LLVM eBPF bytecode doğrulayıcıları, çekirdek sürüm matrisi uyumluluk testleri ve çoklu mimari (x86_64, arm64) entegrasyon testleri zorunlu tutulmaktadır. Projede plansız commit atılması söz konusu değildir; semantik versiyonlama (semver) kurallarına sıkı sıkıya bağlı düzenli sürüm döngüleri işletilmektedir. Katkı süreçlerinde güvenlik açıklarını engellemek adına eBPF verifier sınırları ve bellek erişim kuralları otomatik CI denetimleriyle korunur.

Açık issue yönetimi oldukça şeffaftır ve teknik tartışmalar derinlemesine yürütülmektedir. Maintainer ekibi topluluktan gelen hata bildirimlerini ortalama birkaç gün içinde yanıtlamakta ve önceliklendirmektedir. Örneğin, yüksek verimli küme senaryolarında kprobe kaynaklı sayaç metriklerinin izlenmesi ve filtreleme hatalarının ayıklanması amacıyla tetragon_generic_kprobe_merge_total gibi metrikler yeniden tasarlanmış, performansa etki eden hata kayıtları sürüm notlarında açıkça belgelenmiştir 4. health_score bu bölümden türer: issue kapanma hızı, sürüm düzeni, bakımcı ekibi. Ajanın tahminidir; künyede öyle yazılır. Bu doğrultuda projenin mimari güvenilirlik skoru için health_score: 8.8 tahmini yapılmıştır.

Production Riski: Gerçekten Kullanılır mı?

Tetragon’u üretim ortamına almayı düşünen bir sistem mimarının dikkate alması gereken operasyonel sınırlar mevcuttur. Lisanslama açısından kurumsal risk bulunmamaktadır; proje temiz bir Apache 2.0 lisansına sahiptir ve CNCF yönetiminde olduğundan telif veya çatallanma (fork) riski taşımaz 5.

Tetragon’un hayat kurtardığı senaryo, katı regülasyonlara tabi finans, telekomünikasyon ve SaaS altyapılarında sıfırıncı gün (zero-day) açıklarına ve konteyner kaçışlarına (container breakout) karşı gerçek zamanlı savunma ihtiyacıdır. Konteyner içinde yetkisiz bir binary çalıştırıldığında veya hassas bir dosya (/etc/shadow, Kubernetes servis token’ları) okunmaya çalışıldığında, saldırı daha gerçekleştiği mikrosaniyede engellenir.

Ancak hazırlıksız entegrasyonlar üretim ortamında kesintiye yol açabilir. En büyük operasyonel risk çekirdek bağımlılığıdır. Tetragon’un yeteneklerinden tam verim alabilmek için modern bir Linux çekirdeği (en az 5.4, ring buffer ve BPF LSM için 5.10+) ve ana makinede CAP_BPF ile CAP_SYS_ADMIN yetkileri şarttır. Eski kurumsal Linux dağıtımlarında (RHEL 7 gibi) çalıştırılamaz. İkinci büyük risk, yanlış yapılandırılmış TracingPolicy kurallarıdır. Çok yüksek I/O ve işlem hacmine sahip veritabanı düğümlerinde çekirdeğin sık kullanılan sistem çağrılarına dikkatsizce kprobe bağlanması, göz ardı edilemeyecek bir CPU ek yükü (overhead) yaratabilir. Bu nedenle kurallar önce sadece izleme modunda test edilmeli, engelleme kuralları aşamalı olarak devreye alınmalıdır. Doğru kurgulandığında ise modern Linux altyapılarında rakipsiz bir güvenlik katmanı sağlar.

Kaynaklar

  1. Cilium Tetragon GitHub Deposu
  2. Tetragon Resmi Dokümantasyonu ve Mimarisi
  3. Tetragon Mimari ve Güvenlik İlkeleri Dokümanı
  4. Tetragon Sürüm Notları ve Sürüm Geçmişi
  5. Tetragon Apache 2.0 Lisans Dosyası