Bu siteyi kullanarak Gizlilik Politikası'nı ve Çerez Politikası'nı kabul etmiş olursunuz.
Kabul et
Tekno TürkiyeTekno Türkiye
  • Anasayfa
  • Teknoparklar
    Teknoparklar
    Teknoparklar, bilimsel ve teknolojik çalışmaların yapıldığı, Ar-Ge projelerinin geliştirildiği ve yenilikçi şirketlerin bulunduğu özel alanlardır. Üniversitelerle işbirliği içerisinde olan bu teknoparklar, genellikle üniversite kampüsleri içerisinde…
    Daha Fazla Göster
    En Trend Haberler
    Teknopark Başarısı Nasıl Ölçülür Örnek Projeler ve Etkileri
    Teknopark Başarısı Nasıl Ölçülür? Örnek Projeler ve Etkileri
    13 Kasım 2025
    Teknoparkların Yerli ve Yabancı Yatırımcılara Sağladığı Avantajlar
    Teknoparkların Yerli ve Yabancı Yatırımcılara Sağladığı Avantajlar
    18 Ocak 2024
    Teknoparkta İş Deneyimi Kazanma Rehberi
    Teknoparkta İş Deneyimi Kazanma Rehberi
    18 Ocak 2024
    Son Haberler
    AR-GE Projelerinde Teknoloji Hazırlık Seviyesi (TRL) Nedir? 9 Seviye Açıklaması
    21 Temmuz 2026
    Yazılımcılar İçin Teknopark Uzaktan Çalışma Yasası ve Teknopark Muafiyetleri
    12 Aralık 2025
    Girişimciler İçin Vergi Cenneti: Teknopark Vergi Avantajları ve SGK Avantajları (2025 Rehberi)
    12 Aralık 2025
    Teknoloji Transfer Ofisi (TTO) Nedir? Girişimcilere Hangi Destekleri Sağlar?
    12 Aralık 2025
  • Startup
    Startup
    Startup, genellikle yeni bir ürün veya hizmet sunan ve sürdürülebilir bir iş modeli üzerine kurulan genç bir şirket veya girişimdir. Bu tür girişimler, genellikle hızlı…
    Daha Fazla Göster
    En Trend Haberler
    Growth Hacking Nedir? Bütçesiz Büyümenin 7 Yaratıcı Yolu
    Growth Hacking Nedir? Bütçesiz Büyümenin 7 Yaratıcı Yolu
    3 Ocak 2026
    KOSGEB Girişimcilik Teşvikleri
    KOSGEB Girişimcilik Teşvikleri
    18 Ocak 2024
    MVP nedir? MVP geliştirme süreci ve aşamaları
    MVP Nedir? Başarılı Ürün İçin 7 Kritik Adım
    17 Temmuz 2026
    Son Haberler
    Platform Engineering Nedir? Yazılım Teslimatını Hızlandıran 7 Güçlü Uygulama
    24 Temmuz 2026
    FinOps Nedir? Bulut Maliyetini Azaltan 7 Güçlü Strateji
    23 Temmuz 2026
    SaaS Metrikleri: Başarı İçin 9 Güçlü Hesaplama
    23 Temmuz 2026
    Yapay Zeka Ajanları: İşletmeler İçin 10 Güçlü Kullanım Alanı
    23 Temmuz 2026
  • Savunma Sanayi
    Savunma Sanayi
    Geleceğin Yatırım Fırsatı Savunma sanayisi, bir ülkenin askeri ihtiyaçlarını karşılamak için üretilen, geliştirilen ve satılan ürün ve hizmetleri kapsayan bir sektördür. Bu alandaki yatırımlar, hem…
    Daha Fazla Göster
    En Trend Haberler
    Milli Teknoloji Hamlesinin Ekonomi Üzerindeki Etkileri
    Milli Teknoloji Hamlesinin Ekonomi Üzerindeki Etkileri
    18 Ocak 2024
    Savunma Sanayiinde Yenilikçi Yaklaşımlar
    Savunma Sanayiinde Yenilikçi Yaklaşımlar
    17 Ocak 2024
    Savunma Sanayiinde Yüksek Teknoloji İhtiyacı ve Yerli Çözümler
    Savunma Sanayiinde Yüksek Teknoloji İhtiyacı ve Yerli Çözümler
    17 Ocak 2024
    Son Haberler
    Robotik Sistemlerin Savunma Sanayinde Kullanım Alanları
    12 Aralık 2025
    Milli ve Yerli Savunma Sanayi Projeleri
    12 Aralık 2025
    F110 Motoru Üretimi: Türk Savunma Sanayiinin Yeni Hedefleri ve Planları
    20 Ocak 2024
    ASELSAN’dan Yeni Müjde: ASELFLIR-400 İçin Yapılan İlk Teslimat Detayları
    18 Ocak 2024
  • Tekno Blog
    Tekno BlogDaha Fazla Göster
    SBOM nedir
    SBOM Nedir? Yazılım Güvenliği İçin 11 Kritik Avantaj
    5 Ağustos 2026
    bellek güvenli programlama dilleri
    Bellek Güvenli Programlama Dilleri: 10 Kritik Avantaj
    5 Ağustos 2026
    Cyber Resilience Act nedir ve AB yazılım güvenliği gereksinimleri nelerdir
    Cyber Resilience Act Nedir? AB Yazılım ve Donanım Güvenliği Rehberi
    5 Ağustos 2026
    WebAssembly nedir WASI ve Component Model nasıl çalışır
    WebAssembly ve WASI: Tarayıcıdan Edge’e Taşınabilir Yazılım Mimarisi
    5 Ağustos 2026
    AI Gateway nedir ve çoklu yapay zekâ model trafiği nasıl yönetilir
    AI Gateway: Çoklu Model Trafiğini Tek Noktadan Yönetme Mimarisi
    5 Ağustos 2026
  • AR-GE
Arama
Technology
  • Advertise with us
  • Newsletters
  • Deal
Health
  • Provega Bilişim
  • Proje Danışmanlık
Entertainment
  • Provega Bilişim
  • Proje Danışmanlık
© 2024 Tekno Türkiye. Her hakkımız saklıdır.
Okuma: eBPF Nedir? Ağ, Güvenlik ve Gözlemlenebilirlik
Paylaş
Giriş Yap
Bildirim Daha Fazla Göster
Tekno TürkiyeTekno Türkiye
  • Teknoparklar
  • Tekno Blog
  • Startup
  • Savunma Sanayi
  • Firmalar
Arama
  • Tekno Türkiye
    • Firmalar
    • Teknoparklar
    • Savunma Sanayi
    • AR-GE
  • Startup
  • Tekno Blog
    • Dijital Dönüşüm
    • Finans
    • Havacılık ve Uzay
    • İmalat
    • İnovasyon
    • Sağlık
    • Teknoloji
    • Yazılım
Mevcut bir hesabınız var mı? Giriş Yap
Bizi Takip Edin
  • Provega Bilişim
  • Proje Danışmanlık
© 2024 Tekno Türkiye. Her hakkımız saklıdır.
Tekno Türkiye > Blog > Tekno Blog > Yazılım > eBPF Nedir? Ağ, Güvenlik ve Gözlemlenebilirlik
YazılımTeknoloji

eBPF Nedir? Ağ, Güvenlik ve Gözlemlenebilirlik

admin
Son güncelleme: 2026/08/04 at 10:52 PM
admin
Paylaş
40 minimum okunma
eBPF nedir Linux çekirdeğinde ağ güvenlik ve gözlemlenebilirlik
eBPF programları Linux çekirdeğindeki ağ, sistem çağrısı ve güvenlik olaylarına bağlanarak gerçek zamanlı görünürlük sağlar.
Paylaş

Table of Contents

Toggle
  • eBPF Nedir? Linux Çekirdeğinde Ağ, Güvenlik ve Gözlemlenebilirlik Rehberi
    • İçindekiler
    • eBPF Nedir?
      • eBPF Bir Programlama Dili midir?
    • eBPF Açılımı Nedir?
      • Classic BPF ile eBPF Arasındaki Fark
    • eBPF Neden Önemlidir?
      • Çekirdeğin Görüş Alanından Yararlanır
      • Uygulamaya Özel Ajan Gereksinimini Azaltabilir
      • Yüksek Performanslı Paket İşleme Sağlayabilir
      • Çalışma Zamanında Güncellenebilir
      • Tek Bir Teknolojiyle Farklı Alanlara Hizmet Eder
    • eBPF Nasıl Çalışır?
      • Çekirdek Alanındaki Bölüm
      • Kullanıcı Alanındaki Bölüm
      • Temel Çalışma Akışı
    • eBPF Mimarisinin Temel Bileşenleri
    • eBPF Programları
      • Başlıca Program Türleri
      • Program Türü Neden Önemlidir?
    • Hook ve Bağlanma Noktaları
      • Tracepoint
      • Kprobe
      • Kretprobe
      • Uprobe
      • XDP Hook
      • Traffic Control Hook
      • Cgroup Hook
      • LSM Hook
    • eBPF Verifier Nedir?
      • Verifier Neleri Kontrol Eder?
      • Verifier Programın İş Mantığını Doğrular mı?
      • Verifier Kusursuz mudur?
    • JIT Derleyici Ne Yapar?
      • JIT Kullanımının Amacı
      • JIT Her Zaman Daha Güvenli midir?
    • eBPF Maps Nedir?
      • Yaygın Map Türleri
      • Maps Güvenlik Açısından Neden Önemlidir?
    • Helper Functions ve KFuncs
      • Helper Function Nedir?
      • KFunc Nedir?
    • Kullanıcı Alanı ile İletişim
      • İletişim Yöntemleri
      • Örnek
    • BPF System Call
    • BTF Nedir?
      • BTF Ne Sağlar?
      • BTF Olmadan eBPF Çalışmaz mı?
    • CO-RE Nedir?
      • Neden Gereklidir?
      • CO-RE Tam Uyumluluk Garantisi Verir mi?
    • XDP Nedir?
      • XDP Programı Hangi Kararları Verebilir?
      • XDP Kullanım Alanları
      • XDP Her Paket İşleme Sorunu İçin Uygun mu?
    • Traffic Control ile eBPF
      • TC Kullanım Alanları
      • XDP ile TC Arasındaki Temel Fark
    • eBPF ile Tracing ve Profiling
      • İzlenebilecek Veriler
      • CPU Profiling
      • Off-CPU Analizi
      • Uygulama Kodu Değişmeden İzleme
    • eBPF ile Ağ ve Yük Dengeleme
      • Başlıca Ağ Kullanımları
      • Çekirdek İçinde İşlemenin Avantajı
      • Her Proxy’nin Yerini Alır mı?
    • eBPF ile Güvenlik
      • Güvenlik Kullanım Alanları
      • Gözlemleme ile Engelleme Arasındaki Fark
      • eBPF Antivirüs müdür?
    • Kubernetes Ortamlarında eBPF
      • eBPF’nin Kubernetes’te Sağlayabildiği Yetkinlikler
      • IP Adresi Yerine Kimlik Kullanımı
    • Cilium ve Hubble
      • Cilium Neler Yapabilir?
      • Hubble Nedir?
      • Hubble ile Görülebilecek Bilgiler
    • eBPF ve Observability
      • eBPF ile Toplanabilecek Observability Sinyalleri
      • Log, Metric ve Trace’in Yerini Alır mı?
      • Veri Hacmi Sorunu
    • eBPF ve Service Mesh İlişkisi
      • eBPF’nin Üstlenebileceği İşlevler
      • Sidecar Tamamen Gereksiz Olur mu?
    • eBPF ve Zero Trust İlişkisi
      • Destekleyebileceği Kontroller
    • eBPF Araçları ve Kütüphaneleri
      • bpftool Ne İşe Yarar?
      • BCC ile bpftrace Arasındaki Fark
    • Bir eBPF Uygulaması Nasıl Çalışır?
      • Derleme Aşaması
      • Yükleme Aşaması
      • Doğrulama Aşaması
      • Bağlanma Aşaması
      • Olay Toplama
      • Veri Aktarımı
      • Raporlama
    • Örnek Performans Sorunu Senaryosu
      • Geleneksel Gözlem
      • eBPF ile İnceleme
      • Kök Neden
    • eBPF’nin Sınırlamaları
      • Çekirdek Sürümüne Bağımlılık
      • Verifier Karmaşıklığı
      • Geliştirme Zorluğu
      • Sınırlı Programlama Ortamı
      • Veri Hacmi
      • Sembol ve Uygulama Uyumluluğu
      • Windows ve Diğer Sistemler
      • İş Mantığını Tam Olarak Göremez
    • eBPF Güvenlik Riskleri
      • Yüksek Yetki Gereksinimi
      • Verifier Güvenlik Açıkları
      • Hassas Veri Toplama
      • Tedarik Zinciri Riski
      • Yanlış Politika
      • Kaynak Tüketimi
      • Görünmez Programlar
    • Üretim Ortamında eBPF Kullanım Rehberi
      • Net Bir Kullanım Senaryosu Belirleyin
      • Çekirdek Uyumluluğunu Kontrol Edin
      • Hazır Çözüm ile Özel Geliştirmeyi Karşılaştırın
      • En Az Yetki Uygulayın
      • Önce Gözlem Modunda Çalışın
      • Map Sınırlarını Belirleyin
      • Telemetriyi Filtreleyin
      • Geri Dönüş Planı Hazırlayın
      • Sürüm ve Değişiklik Yönetimi
      • Program Envanteri Tutun
      • Düzenli Güvenlik Güncellemesi
    • eBPF Kontrol Listesi
    • eBPF Kullanımında Sık Yapılan Hatalar
    • eBPF İçin Güvenilir Kaynaklar
    • eBPF Hakkında Sık Sorulan Sorular
      • eBPF nedir?
      • eBPF neyin kısaltmasıdır?
      • BPF ile eBPF aynı mı?
      • eBPF yalnızca Linux’ta mı çalışır?
      • eBPF bir programlama dili midir?
      • eBPF programları nerede çalışır?
      • eBPF güvenli midir?
      • eBPF verifier nedir?
      • Verifier programın doğru sonuç üretmesini garanti eder mi?
      • eBPF map nedir?
      • eBPF hook nedir?
      • XDP nedir?
      • XDP ile TC arasındaki fark nedir?
      • BTF nedir?
      • CO-RE nedir?
      • libbpf nedir?
      • bpftool nedir?
      • bpftrace nedir?
      • BCC nedir?
      • eBPF uygulama kodunu değiştirmeden izleme yapabilir mi?
      • eBPF performansı düşürür mü?
      • eBPF ile DDoS engellenebilir mi?
      • eBPF güvenlik duvarının yerini alır mı?
      • eBPF antivirüs müdür?
      • eBPF root yetkisi gerektirir mi?
      • Unprivileged eBPF nedir?
      • eBPF Kubernetes’te ne işe yarar?
      • Cilium nedir?
      • Hubble nedir?
      • eBPF service mesh’in yerini alır mı?
      • eBPF observability aracının yerini alır mı?
      • eBPF ile uygulama fonksiyonları izlenebilir mi?
      • eBPF ile dosya işlemleri izlenebilir mi?
      • eBPF programları sistem yeniden başlatılmadan güncellenebilir mi?
      • eBPF programları yeniden başlatınca kaybolur mu?
      • Pinning nedir?
      • eBPF map bellek tüketir mi?
      • eBPF öğrenmek zor mu?
      • eBPF kullanmaya nereden başlanmalı?
    • eBPF Nedir? Sonuç

eBPF Nedir? Linux Çekirdeğinde Ağ, Güvenlik ve Gözlemlenebilirlik Rehberi

eBPF nedir sorusu; modern Linux sistemlerinde ağ trafiğinin nasıl yüksek performansla işlendiğini, uygulamaların çekirdek seviyesinde nasıl izlendiğini ve konteyner güvenliğinin nasıl sağlandığını anlamak isteyenlerin karşısına giderek daha sık çıkıyor.

eBPF, işletim sistemi çekirdeğinin belirli olay noktalarında küçük ve doğrulanan programların çalıştırılmasını sağlayan bir teknolojidir. Bu programlar ağ paketlerini inceleyebilir, sistem çağrılarını gözlemleyebilir, performans verisi toplayabilir ve güvenlik politikalarının uygulanmasına yardımcı olabilir.

Geleneksel yöntemde çekirdeğe yeni bir özellik eklemek için çekirdek kaynak kodunun değiştirilmesi veya çekirdek modülü yüklenmesi gerekebilir. eBPF ise uygun yetkiler ve çekirdek desteği bulunduğunda çalışma zamanında yeni davranışların eklenmesini mümkün kılar.

eBPF programları doğrudan ve kontrolsüz biçimde çekirdekte çalıştırılmaz. Program yüklenmeden önce eBPF doğrulayıcısı tarafından analiz edilir. Doğrulayıcı; programın izin verilen bellek alanlarını kullanıp kullanmadığını, geçersiz erişim oluşturup oluşturmadığını ve güvenli biçimde sonlanıp sonlanamayacağını kontrol etmeye çalışır.

Teknoloji bugün yalnızca ağ paket filtreleme için kullanılmıyor. Performans profilleme, uygulama izleme, Kubernetes ağ politikaları, saldırı tespiti, çalışma zamanı güvenliği, yük dengeleme ve sistem çağrısı görünürlüğü gibi birçok alanda değerlendiriliyor.

Bu rehberde eBPF’nin temel mimarisini, programların nasıl yüklendiğini, verifier, maps, hooks, XDP, BTF ve CO-RE kavramlarını, Kubernetes ortamlarındaki kullanımını ve üretim sistemlerinde dikkat edilmesi gereken güvenlik sınırlarını inceleyeceğiz.

Önemli: eBPF programlarının doğrulanması, teknolojinin her koşulda risksiz olduğu anlamına gelmez. Çekirdek sürümü, yükleme yetkileri, doğrulayıcı açıkları, kullanılan yardımcı fonksiyonlar ve programın topladığı veriler ayrıca güvenlik değerlendirmesine alınmalıdır.

İçindekiler

  • eBPF Nedir?
  • eBPF Açılımı Nedir?
  • eBPF Neden Önemlidir?
  • eBPF Nasıl Çalışır?
  • eBPF Mimarisinin Temel Bileşenleri
  • eBPF Programları
  • Hook ve Bağlanma Noktaları
  • eBPF Verifier Nedir?
  • JIT Derleyici Ne Yapar?
  • eBPF Maps Nedir?
  • Helper Functions ve KFuncs
  • Kullanıcı Alanı ile İletişim
  • BPF System Call
  • BTF Nedir?
  • CO-RE Nedir?
  • XDP Nedir?
  • Traffic Control ile eBPF
  • Tracing ve Profiling
  • Ağ ve Yük Dengeleme
  • eBPF ile Güvenlik
  • Kubernetes Ortamlarında eBPF
  • Cilium ve Hubble
  • eBPF ve Observability
  • Service Mesh ile İlişkisi
  • Zero Trust ile İlişkisi
  • eBPF Araçları ve Kütüphaneleri
  • Bir eBPF Uygulaması Nasıl Çalışır?
  • Örnek Performans Sorunu Senaryosu
  • eBPF’nin Sınırlamaları
  • eBPF Güvenlik Riskleri
  • Üretim Ortamında Kullanım Rehberi
  • eBPF Kontrol Listesi
  • Sık Yapılan Hatalar
  • Sık Sorulan Sorular

eBPF Nedir?

eBPF, işletim sistemi çekirdeğinin önceden tanımlanmış olay ve bağlanma noktalarında doğrulanan programların çalıştırılmasını sağlayan bir çalışma ortamıdır.

Bir eBPF programı aşağıdaki olaylardan biri gerçekleştiğinde çağrılabilir:

  • Ağ paketi sisteme ulaştığında
  • Bir uygulama sistem çağrısı yaptığında
  • Bir çekirdek fonksiyonu çalıştığında
  • Bir kullanıcı alanı fonksiyonu çağrıldığında
  • Bir süreç oluşturulduğunda
  • Bir dosya açıldığında
  • Bir soket bağlantısı kurulduğunda
  • Kubernetes pod trafiği işlendiğinde
  • Bir güvenlik kararı verilmesi gerektiğinde

Program olayın bağlamını inceleyebilir, belirli bilgileri kaydedebilir, sayaçları güncelleyebilir veya program türünün izin verdiği ölçüde bir karar üretebilir.

Örneğin ağ paketine bağlanan bir eBPF programı paketi kabul edebilir, düşürebilir, başka bir arabirime yönlendirebilir veya paket hakkındaki bilgileri kullanıcı alanındaki izleme uygulamasına gönderebilir.

eBPF Bir Programlama Dili midir?

Hayır. eBPF tek başına Python veya Go gibi genel amaçlı bir programlama dili değildir. Bir komut kümesi, çalışma ortamı, program türleri, haritalar ve çekirdek arayüzlerinden oluşan teknolojik yapıdır.

eBPF programları çoğunlukla sınırlı bir C alt kümesiyle yazılıp Clang ve LLVM aracılığıyla eBPF bytecode biçimine derlenir. Rust gibi farklı diller ve özel araçlar da kullanılabilir.

eBPF Açılımı Nedir?

BPF’nin tarihsel açılımı Berkeley Packet Filter şeklindedir. İlk BPF yapısı ağ paketlerinin filtrelenmesi amacıyla geliştirilmiştir.

Daha sonra genişletilmiş sürüm için “extended Berkeley Packet Filter” ifadesi kullanılmaya başlandı. Günümüzde eBPF yalnızca paket filtrelemenin çok ötesine geçtiği için resmî eBPF topluluğu, eBPF adının artık belirli bir ifadenin kısaltması olarak değerlendirilmediğini belirtmektedir.

Classic BPF ile eBPF Arasındaki Fark

Özellik Classic BPF eBPF
Temel kullanım Ağ paketi filtreleme Ağ, güvenlik, izleme ve performans
Komut kümesi Daha sınırlı Daha gelişmiş ve genişletilebilir
Harita desteği Sınırlı veya bulunmaz Çok sayıda map türü bulunur
Bağlanma noktaları Temel paket işleme Tracepoint, XDP, socket, cgroup, LSM ve diğerleri
Kullanım alanı iletişimi Daha sınırlı Maps, ring buffer ve farklı mekanizmalar
Modern bulut kullanımı Sınırlı Kubernetes, güvenlik ve observability çözümlerinde yaygın

eBPF Neden Önemlidir?

Çekirdeğin Görüş Alanından Yararlanır

İşletim sistemi çekirdeği; süreçler, ağ bağlantıları, dosya işlemleri, sistem çağrıları ve kaynak kullanımı hakkında merkezi bir görüş alanına sahiptir.

eBPF programları uygun noktalara bağlanarak bu olayları uygulama kaynak kodunu değiştirmeden gözlemleyebilir.

Uygulamaya Özel Ajan Gereksinimini Azaltabilir

Geleneksel izleme çözümleri uygulamanın içine kütüphane eklenmesini veya her dil için ayrı ajan kullanılmasını gerektirebilir.

eBPF tabanlı bir çözüm, çekirdek seviyesinde ağ ve sistem davranışlarını görebildiği için bazı verileri uygulamanın içine kod eklemeden toplayabilir.

Bununla birlikte eBPF, uygulama içindeki iş mantığı ve kullanıcı deneyimi gibi bütün verileri otomatik olarak açıklamaz. Uygulama metrikleri ve dağıtık izleme sistemleri hâlâ gerekli olabilir.

Yüksek Performanslı Paket İşleme Sağlayabilir

XDP gibi eBPF bağlanma noktaları ağ paketlerini ağ yığınının erken aşamalarında işleyebilir. Böylece gereksiz paketler sistemin daha üst katmanlarına ulaşmadan düşürülebilir.

Çalışma Zamanında Güncellenebilir

Uygun tasarımda eBPF programları sistem yeniden başlatılmadan yüklenebilir, değiştirilebilir veya kaldırılabilir.

Tek Bir Teknolojiyle Farklı Alanlara Hizmet Eder

  • Ağ bağlantısı ve paket analizi
  • CPU performans profilleme
  • Sistem çağrısı izleme
  • Konteyner çalışma zamanı güvenliği
  • Kubernetes ağ politikaları
  • Yük dengeleme
  • DNS ve servis iletişimi görünürlüğü
  • Dosya erişimi gözlemi

eBPF Nasıl Çalışır?

Tipik bir eBPF uygulaması çekirdek alanı ve kullanıcı alanı olmak üzere iki ana bölümden oluşur.

Çekirdek Alanındaki Bölüm

Çekirdekte çalışan küçük program olayları gözlemler veya izin verilen işlemleri gerçekleştirir.

Kullanıcı Alanındaki Bölüm

Kullanıcı alanındaki uygulama eBPF programını yükler, bağlanma noktasını belirler, haritaları okur ve toplanan verileri raporlar.

Temel Çalışma Akışı

  1. Geliştirici eBPF programını yazar.
  2. Program eBPF bytecode biçimine derlenir.
  3. Yükleyici uygulama programı çekirdeğe gönderir.
  4. Çekirdeğin doğrulayıcısı programı analiz eder.
  5. Program kabul edilirse ilgili hook noktasına bağlanır.
  6. Belirlenen olay gerçekleştiğinde program çalışır.
  7. Sonuçlar bir eBPF map veya ring buffer içine yazılabilir.
  8. Kullanıcı alanındaki uygulama verileri okuyup işler.

eBPF Mimarisinin Temel Bileşenleri

Bileşen Görevi
eBPF programı Belirli olay gerçekleştiğinde çalışan doğrulanan kod
Program türü Programın nereye bağlanabileceğini ve ne yapabileceğini belirler
Hook Programın çalışmasını tetikleyen çekirdek veya uygulama noktası
Verifier Programı yüklenmeden önce güvenlik ve geçerlilik açısından analiz eder
JIT derleyici Bytecode’u desteklenen sistemlerde yerel makine koduna çevirebilir
BPF map Veri saklama ve çekirdek-kullanıcı alanı iletişimi sağlar
Helper function Programın izin verilen çekirdek işlevlerini çağırmasını sağlar
KFunc eBPF kullanımına açılmış belirli çekirdek fonksiyonudur
Loader Programı ve haritaları oluşturan kullanıcı alanı uygulamasıdır
BTF Çekirdek ve eBPF nesneleri için tür bilgisi sağlar

eBPF Programları

eBPF programı genellikle belirli ve küçük bir görevi yerine getirecek şekilde hazırlanır. Programın erişebileceği bağlam ve döndürebileceği sonuç program türüne bağlıdır.

Başlıca Program Türleri

  • XDP programları
  • Traffic Control programları
  • Socket filter programları
  • Tracepoint programları
  • Kprobe ve kretprobe programları
  • Uprobe ve uretprobe programları
  • Cgroup programları
  • Linux Security Module programları
  • Perf event programları
  • Socket operation programları

Program Türü Neden Önemlidir?

Bir XDP programının paket üzerinde yapabileceği işlemlerle tracepoint programının yapabilecekleri aynı değildir.

Program türü şunları belirleyebilir:

  • Programın hangi olaya bağlanabileceğini
  • Programa hangi bağlam verisinin aktarılacağını
  • Hangi helper fonksiyonlarının kullanılabileceğini
  • Dönüş değerinin ne anlama geleceğini
  • Programın veri değiştirme yetkisini

Hook ve Bağlanma Noktaları

Hook, eBPF programının çalışmasını tetikleyen noktadır. Linux çekirdeği ve kullanıcı uygulamaları farklı hook türleri sunabilir.

Tracepoint

Çekirdekte izleme amacıyla tanımlanmış daha kararlı olay noktalarıdır. Süreç oluşturma, sistem çağrısı veya blok cihaz işlemleri gibi olaylar izlenebilir.

Kprobe

Bir çekirdek fonksiyonunun girişine dinamik olarak bağlanabilir. İç çekirdek fonksiyonları sürümler arasında değişebileceği için uyumluluk dikkatle yönetilmelidir.

Kretprobe

Çekirdek fonksiyonunun dönüş noktasına bağlanarak sonuç veya geçen süre gibi bilgilerin incelenmesini sağlayabilir.

Uprobe

Kullanıcı alanındaki uygulama veya kütüphane fonksiyonlarına bağlanır. Örneğin belirli bir veritabanı kütüphanesindeki çağrılar izlenebilir.

XDP Hook

Ağ paketi çekirdek ağ yığınının üst katmanlarına ulaşmadan önce erken bir noktada çalışır.

Traffic Control Hook

Ağ paketlerinin giriş ve çıkış yönünde daha gelişmiş trafik işleme ve sınıflandırma işlemleri için kullanılabilir.

Cgroup Hook

Belirli süreç veya konteyner gruplarının ağ ve sistem davranışlarına politika uygulanmasına yardımcı olabilir.

LSM Hook

Linux Security Module altyapısındaki güvenlik karar noktalarına eBPF programlarının bağlanmasını sağlayabilir.

eBPF Verifier Nedir?

eBPF verifier, program çekirdekte çalıştırılmadan önce programın güvenli ve geçerli olup olmadığını analiz eden bileşendir.

Verifier Neleri Kontrol Eder?

  • Programın geçerli komutlardan oluşup oluşmadığını
  • Bellek erişimlerinin izin verilen sınırlar içinde olup olmadığını
  • Başlatılmamış değerlerin kullanılıp kullanılmadığını
  • İşaretçilerin güvenli biçimde takip edilip edilmediğini
  • Programın ulaşılabilir yollarının analiz edilebilir olup olmadığını
  • Helper fonksiyonlarına doğru parametrelerin verilip verilmediğini
  • Programın program türüne uygun davranıp davranmadığını

Verifier Programın İş Mantığını Doğrular mı?

Hayır. Programın teknik olarak güvenli çalışabilmesi, ürettiği güvenlik kararının doğru olduğu anlamına gelmez.

Örneğin yanlış yazılmış bir ağ politikası verifier tarafından kabul edilebilir ancak beklenmedik trafiğin geçmesine veya gerekli trafiğin engellenmesine neden olabilir.

Verifier Kusursuz mudur?

Hayır. Verifier büyük bir güvenlik katmanı sağlar ancak yazılım olduğu için güvenlik açıkları ve hatalar barındırma ihtimali bulunur. Çekirdek güncellemelerinin düzenli uygulanması bu nedenle önemlidir.

JIT Derleyici Ne Yapar?

eBPF programı bytecode biçiminde çekirdeğe gönderilir. Desteklenen sistemlerde Just-in-Time derleyici bu bytecode’u işlemcinin yerel makine koduna çevirebilir.

JIT Kullanımının Amacı

  • Programın daha hızlı çalışmasını sağlamak
  • Yorumlama maliyetini azaltmak
  • Paket işleme ve yüksek frekanslı olaylarda performansı artırmak

JIT davranışı çekirdek yapılandırmasına, mimariye ve güvenlik politikasına göre değişebilir.

JIT Her Zaman Daha Güvenli midir?

Performans avantajı sağlaması güvenlik açısından otomatik üstünlük oluşturmaz. JIT derleyici de çekirdek saldırı yüzeyinin bir parçasıdır ve güncel tutulmalıdır.

eBPF Maps Nedir?

eBPF maps, çekirdek içinde yaşayan ve eBPF programlarıyla kullanıcı alanındaki uygulamaların erişebildiği veri yapılarıdır.

Program çağrıları arasında bilgi saklamak, sayaç tutmak, politika verisi paylaşmak ve olayları kullanıcı alanına aktarmak için kullanılabilir.

Yaygın Map Türleri

Map Türü Kullanım Örneği
Array Sabit indeksli sayaç ve yapılandırma verileri
Hash Anahtar-değer biçiminde bağlantı veya süreç bilgileri
LRU Hash Kapasite dolduğunda eski kayıtları otomatik çıkaran önbellek
Per-CPU Array CPU başına ayrı sayaç tutarak kilit çekişmesini azaltma
Program Array Bir eBPF programından diğerine yönlendirme
Ring Buffer Olayları kullanıcı alanına verimli biçimde aktarma
Perf Event Array Performans ve olay verilerinin kullanıcı alanına gönderilmesi
Stack Trace Çağrı yığını bilgilerinin saklanması
Socket Map Soketler arasında trafik yönlendirme ve yönetim

Maps Güvenlik Açısından Neden Önemlidir?

Haritalar bütün sistem genelinde paylaşılan hassas bilgiler içerebilir. Dosya izinleri, pinlenen nesneler, kullanıcı yetkileri ve map içeriğinin yaşam süresi kontrol edilmelidir.

Helper Functions ve KFuncs

Helper Function Nedir?

eBPF programının doğrudan yapamadığı belirli çekirdek işlemlerini kontrollü biçimde gerçekleştirmesine izin veren fonksiyonlardır.

Helper fonksiyonları aşağıdaki amaçlarla kullanılabilir:

  • Map kaydı okumak veya güncellemek
  • Mevcut süreç kimliğini almak
  • Zaman bilgisini okumak
  • Paket verisini değiştirmek
  • Olayı ring buffer içine yazmak
  • Başka bir programa yönlendirme yapmak

KFunc Nedir?

KFuncs, eBPF programlarının çağırabilmesi için çekirdek tarafından özel olarak işaretlenen fonksiyonlardır.

Helper fonksiyonları kullanıcı alanı arayüzü kapsamında daha güçlü uyumluluk beklentisine sahipken KFuncs aynı kararlılık garantilerine sahip olmayabilir. Bu nedenle sürüm uyumluluğu ayrıca değerlendirilmelidir.

Kullanıcı Alanı ile İletişim

eBPF programları genellikle tek başına kullanıcıya rapor göstermez. Toplanan veriler kullanıcı alanındaki uygulama tarafından okunur ve anlamlandırılır.

İletişim Yöntemleri

  • BPF maps
  • Ring buffer
  • Perf buffer
  • Map polling
  • Pinlenmiş BPF nesneleri

Örnek

Bir eBPF programı başarısız ağ bağlantılarını izleyerek süreç kimliği, hedef adres ve zaman bilgisini ring buffer içine yazabilir.

Kullanıcı alanındaki Go veya C uygulaması bu olayları okuyup:

  • Terminalde gösterebilir.
  • Log sistemine gönderebilir.
  • Prometheus metriğine dönüştürebilir.
  • Güvenlik alarmı oluşturabilir.
  • Bir gözlemlenebilirlik platformuna aktarabilir.

BPF System Call

Linux kullanıcı alanı uygulamaları BPF sistem çağrısını kullanarak eBPF nesneleriyle etkileşim kurabilir.

Bu sistem çağrısı aracılığıyla:

  • Map oluşturulabilir.
  • Program yüklenebilir.
  • Map kayıtları okunabilir veya değiştirilebilir.
  • Program belirli nesnelere bağlanabilir.
  • BPF nesneleri dosya sistemine pinlenebilir.

Uygulama geliştiricileri çoğunlukla sistem çağrısını doğrudan kullanmak yerine libbpf gibi kütüphanelerden yararlanır.

BTF Nedir?

BTF, BPF Type Format ifadesinin kısaltmasıdır. Çekirdek ve eBPF nesnelerindeki veri türlerini daha kompakt biçimde tanımlayan metadata yapısıdır.

BTF Ne Sağlar?

  • Çekirdek veri yapılarının tür bilgisini sunar.
  • Verifier analizini destekler.
  • Hata ayıklama ve nesne incelemeyi kolaylaştırır.
  • CO-RE yaklaşımına temel oluşturur.
  • bpftool gibi araçların daha anlamlı çıktı üretmesini sağlar.

BTF Olmadan eBPF Çalışmaz mı?

Bütün eBPF kullanım senaryoları BTF gerektirmez. Ancak taşınabilir modern eBPF uygulamalarında önemli kolaylık sağlar.

CO-RE Nedir?

CO-RE, Compile Once – Run Everywhere ifadesinin kısaltmasıdır. Aynı eBPF programının uyumlu farklı Linux çekirdeklerinde yeniden derlenmeden çalıştırılabilmesini kolaylaştırmayı amaçlar.

Neden Gereklidir?

Linux çekirdeğindeki veri yapıları sürümler ve dağıtımlar arasında değişebilir. Belirli bir çekirdek yapısındaki alanın konumu başka sürümde farklı olabilir.

CO-RE, BTF bilgisi ve libbpf yeniden yerleştirmelerinden yararlanarak programın hedef çekirdek yapısına uyarlanmasına yardımcı olur.

CO-RE Tam Uyumluluk Garantisi Verir mi?

Hayır. Gerekli program türünün, helper fonksiyonunun veya çekirdek özelliğinin hedef sistemde bulunmaması hâlinde program yine çalışmayabilir.

XDP Nedir?

XDP, eXpress Data Path ifadesinin kısaltmasıdır. Ağ paketlerini ağ sürücüsüne yakın ve erken bir aşamada işlemek için kullanılan yüksek performanslı eBPF bağlanma noktasıdır.

XDP Programı Hangi Kararları Verebilir?

  • Paketi kabul etmek
  • Paketi düşürmek
  • Paketi başka arabirime yönlendirmek
  • Paketi kullanıcı alanına göndermek
  • Paketi aynı arabirim üzerinden geri iletmek

XDP Kullanım Alanları

  • DDoS trafiğini erken aşamada düşürme
  • Yük dengeleme
  • Paket filtreleme
  • Ağ telemetrisi
  • Özel yönlendirme
  • Yüksek hızlı güvenlik politikaları

XDP Her Paket İşleme Sorunu İçin Uygun mu?

Hayır. XDP çok erken bir aşamada çalıştığı için ağ yığınının daha üst katmanlarında bulunan bütün bağlam bilgilerine sahip olmayabilir.

Traffic Control ile eBPF

Linux Traffic Control altyapısındaki ingress ve egress noktalarına eBPF programları bağlanabilir.

TC programları XDP’ye göre ağ yığınının daha ileri bir aşamasında çalışır ve farklı paket bağlamlarına erişebilir.

TC Kullanım Alanları

  • Paket sınıflandırma
  • Trafik yönlendirme
  • Politika uygulama
  • Paket başlıklarını değiştirme
  • Konteyner ağ trafiğini izleme
  • Servis iletişimini kontrol etme

XDP ile TC Arasındaki Temel Fark

Özellik XDP TC
Çalışma noktası Ağ girişinin çok erken aşaması Ağ yığınının daha ileri katmanı
Performans potansiyeli Çok yüksek Yüksek
Bağlam bilgisi Daha sınırlı olabilir Daha geniş ağ bağlamı bulunabilir
Yön Temel olarak giriş Giriş ve çıkış
Yaygın kullanım Erken filtreleme ve DDoS koruması Politika, yönlendirme ve trafik kontrolü

eBPF ile Tracing ve Profiling

eBPF, uygulama koduna özel bir izleme kütüphanesi eklemeden çekirdek ve uygulama davranışlarını gözlemlemek için kullanılabilir.

İzlenebilecek Veriler

  • Sistem çağrıları
  • Dosya açma işlemleri
  • Ağ bağlantıları
  • Disk giriş ve çıkış gecikmesi
  • CPU çalışma süresi
  • Fonksiyon çağrıları
  • Bellek ayırma davranışları
  • Süreç ve thread oluşturma
  • Kilit bekleme süreleri

CPU Profiling

Belirli aralıklarla çalışan perf event programları, uygulamanın hangi fonksiyonlarda CPU zamanı harcadığını incelemek için kullanılabilir.

Toplanan çağrı yığınları daha sonra flame graph gibi görselleştirmelere dönüştürülebilir.

Off-CPU Analizi

Bir uygulamanın yalnızca CPU üzerinde çalıştığı süre değil, disk, ağ, kilit veya zamanlayıcı beklediği süre de analiz edilebilir.

Uygulama Kodu Değişmeden İzleme

Uprobe kullanılarak kullanıcı alanındaki belirli fonksiyonlara bağlanılabilir. Ancak uygulama sürümü, semboller ve derleme optimizasyonları uyumluluğu etkileyebilir.

eBPF ile Ağ ve Yük Dengeleme

eBPF, paketlerin çekirdek içinde programlanabilir biçimde işlenmesini sağladığı için modern ağ çözümlerinde önemli bir yere sahiptir.

Başlıca Ağ Kullanımları

  • Katman 3 ve katman 4 ağ politikaları
  • Servis yük dengeleme
  • NAT işlemleri
  • Tünelleme
  • Paket yönlendirme
  • DDoS azaltma
  • Konteyner ağ iletişimi
  • DNS trafiği görünürlüğü
  • Soket tabanlı yönlendirme

Çekirdek İçinde İşlemenin Avantajı

Paketin kullanıcı alanındaki bir proxy’ye gidip geri dönmesi yerine bazı kararlar doğrudan çekirdekte alınabilir. Bu yaklaşım belirli senaryolarda gecikme ve işlem yükünü azaltabilir.

Her Proxy’nin Yerini Alır mı?

Hayır. Katman 7 protokol ayrıntıları, karmaşık kimlik doğrulama, içerik dönüştürme ve gelişmiş uygulama yönlendirmesi için kullanıcı alanındaki proxy’ler hâlâ gerekli olabilir.

eBPF ile Güvenlik

eBPF, sistem çağrıları, süreç bilgileri ve ağ trafiğini aynı bağlamda değerlendirebildiği için çalışma zamanı güvenlik çözümlerinde kullanılabilir.

Güvenlik Kullanım Alanları

  • Şüpheli sistem çağrılarını izleme
  • Yetkisiz dosya erişimini tespit etme
  • Konteyner kaçışı belirtilerini gözlemleme
  • Beklenmeyen ağ bağlantılarını belirleme
  • Yeni süreç oluşturma olaylarını kaydetme
  • Kritik dosya değişikliklerini izleme
  • Ağ politikası uygulama
  • Çalışma zamanı tehdit algılama
  • Belirli davranışları engelleme

Gözlemleme ile Engelleme Arasındaki Fark

Bazı eBPF programları yalnızca olay kaydı oluştururken bazı program türleri belirli işlemlerin engellenmesine izin verebilir.

Üretim ortamında önce görünürlük ve uyarı modunda çalışmak, yanlış engelleme riskini azaltabilir.

eBPF Antivirüs müdür?

Hayır. eBPF bir güvenlik ürünü değil, güvenlik ürünlerinin kullanabileceği altyapı teknolojisidir.

Tehdit istihbaratı, politika motoru, olay korelasyonu, kullanıcı arayüzü ve müdahale süreçleri ayrıca geliştirilmelidir.

Kubernetes Ortamlarında eBPF

Kubernetes ortamlarında pod’lar kısa ömürlü olabilir, IP adresleri değişebilir ve tek bir uygulama çok sayıda node üzerinde çalışabilir.

Bu dinamik yapı geleneksel IP tabanlı izleme ve güvenlik yöntemlerini zorlaştırabilir.

eBPF’nin Kubernetes’te Sağlayabildiği Yetkinlikler

  • Pod ağ trafiğini çekirdek seviyesinde izleme
  • Kubernetes kimliklerine göre ağ politikası uygulama
  • Servis yük dengeleme
  • Node ve pod arasındaki trafik görünürlüğü
  • DNS sorgularını izleme
  • Konteyner sistem çağrılarını gözlemleme
  • Çalışma zamanı güvenlik olayları oluşturma
  • Servis haritası çıkarma

IP Adresi Yerine Kimlik Kullanımı

Bazı eBPF tabanlı çözümler politikaları yalnızca değişken IP adreslerine göre değil, Kubernetes label ve workload kimliklerine göre uygulayabilir.

Cilium ve Hubble

Cilium, Linux çekirdeğindeki eBPF yeteneklerini kullanarak Kubernetes ve bulut yerel ortamlarda ağ, güvenlik ve gözlemlenebilirlik sunan açık kaynaklı bir projedir.

Cilium Neler Yapabilir?

  • Kubernetes CNI işlevi sağlamak
  • Ağ politikaları uygulamak
  • Servis yük dengeleme gerçekleştirmek
  • Cluster’lar arası iletişimi yönetmek
  • Katman 3, 4 ve bazı katman 7 politikaları uygulamak
  • Şifreleme ve egress kontrolü sağlamak
  • Servis mesh özellikleri sunmak

Hubble Nedir?

Hubble, Cilium tarafından sağlanan ağ ve güvenlik görünürlüğü bileşenidir. Kubernetes servisleri ve pod’ları arasındaki akışları incelemeye yardımcı olur.

Hubble ile Görülebilecek Bilgiler

  • Kaynak ve hedef workload
  • İzin verilen veya engellenen trafik
  • DNS sorguları
  • TCP bağlantıları
  • HTTP istekleri için desteklenen katman 7 bilgileri
  • Ağ politikası kararları
  • Servisler arasındaki iletişim haritası

eBPF ve Observability

Observability, bir sistemin dışarıdan ürettiği veriler kullanılarak iç durumunun anlaşılabilmesidir. eBPF, çekirdek seviyesinde yüksek ayrıntılı sinyaller sunarak bu süreci destekleyebilir.

eBPF ile Toplanabilecek Observability Sinyalleri

  • Ağ akışları
  • Sistem çağrıları
  • CPU profilleri
  • Disk gecikmeleri
  • TCP yeniden iletimleri
  • DNS gecikmesi
  • Süreç yaşam döngüsü
  • Fonksiyon çağrı süreleri

Log, Metric ve Trace’in Yerini Alır mı?

Hayır. eBPF bu sinyalleri zenginleştirebilir ancak uygulamanın iş mantığını açıklayan log, metric ve trace verilerine duyulan ihtiyacı ortadan kaldırmaz.

Konunun genel yapısı için Observability Nedir? rehberini inceleyebilirsiniz.

Veri Hacmi Sorunu

Her sistem çağrısını veya paketi kullanıcı alanına göndermek büyük miktarda veri oluşturabilir. Filtreleme, örnekleme ve çekirdek içi toplulaştırma uygulanmalıdır.

eBPF ve Service Mesh İlişkisi

Geleneksel service mesh mimarisinde her uygulama pod’unun yanında sidecar proxy çalıştırılabilir. Bu proxy servisler arasındaki trafiği yönetir.

eBPF tabanlı yaklaşımlar bazı ağ ve yönlendirme işlevlerini çekirdeğe taşıyarak sidecar gereksinimini azaltabilir.

eBPF’nin Üstlenebileceği İşlevler

  • Servis yönlendirme
  • Yük dengeleme
  • Ağ politikası
  • Akış görünürlüğü
  • Bazı şifreleme ve kimlik işlemleri

Sidecar Tamamen Gereksiz Olur mu?

Her senaryoda değil. Gelişmiş HTTP yönlendirmesi, protokol dönüşümü ve belirli uygulama katmanı özellikleri için proxy kullanılmaya devam edilebilir.

Service mesh mimarisinin genel yapısı için Service Mesh Nedir? içeriğine göz atabilirsiniz.

eBPF ve Zero Trust İlişkisi

Zero Trust yaklaşımı, ağın içinde bulunduğu için hiçbir kullanıcıya, cihaza veya uygulamaya otomatik güven verilmemesini savunur.

eBPF, çalışma zamanı bağlamı ve ağ kimliği sağlayarak Zero Trust politikalarının uygulanmasına yardımcı olabilir.

Destekleyebileceği Kontroller

  • Workload kimliğine göre ağ erişimi
  • En az ayrıcalıklı pod iletişimi
  • Beklenmeyen bağlantıların görünür hâle getirilmesi
  • İzin verilmeyen süreç davranışlarının tespiti
  • Ağ politikası kararlarının kaydedilmesi
  • Konteynerler arasında mikro segmentasyon

Zero Trust’ın yalnızca eBPF kullanılarak kurulamayacağı unutulmamalıdır. Kimlik yönetimi, cihaz güvenliği, veri sınıflandırması ve erişim yönetişimi de gereklidir.

Ayrıntılı mimari için Zero Trust Mimarisi Nedir? rehberini inceleyebilirsiniz.

eBPF Araçları ve Kütüphaneleri

Araç veya Kütüphane Temel Kullanım
libbpf C tabanlı eBPF programlarını yükleme ve yönetme
bpftool BPF programlarını, maps ve link nesnelerini inceleme
BCC Python ve C tabanlı tracing araçları geliştirme
bpftrace Yüksek seviyeli tracing komutları ve betikleri
Clang ve LLVM C kodunu eBPF bytecode biçimine derleme
CO-RE Programların farklı çekirdeklerde taşınabilirliğini artırma
Cilium Kubernetes ağ, güvenlik ve gözlemlenebilirlik
Hubble Cilium ağ akışlarını gözlemleme
Falco Çalışma zamanı güvenlik olayları ve kuralları
Tetragon eBPF tabanlı güvenlik gözlemi ve politika uygulama

bpftool Ne İşe Yarar?

Linux çekirdeğiyle birlikte geliştirilen bpftool, sistemdeki BPF programlarını ve nesnelerini incelemek için kullanılan komut satırı aracıdır.

Aşağıdaki işlemlerde kullanılabilir:

  • Yüklü programları listelemek
  • Map içeriklerini görüntülemek
  • Program kimliklerini incelemek
  • BTF bilgilerini göstermek
  • Program istatistiklerini almak
  • Çekirdeğin BPF özelliklerini sorgulamak

BCC ile bpftrace Arasındaki Fark

BCC daha gelişmiş özel araçlar geliştirmek için Python ve C tabanlı bir çerçeve sunar. bpftrace ise daha kısa ve yüksek seviyeli tracing ifadeleri yazmayı kolaylaştırır.

Bir eBPF Uygulaması Nasıl Çalışır?

Örnek olarak başarısız TCP bağlantılarını izleyen bir uygulamayı düşünelim.

Derleme Aşaması

Geliştirici bağlantı olayına bağlanan eBPF programını yazar ve Clang kullanarak bytecode biçimine derler.

Yükleme Aşaması

Kullanıcı alanındaki yükleyici uygulama, programı BPF sistem çağrısı veya libbpf aracılığıyla çekirdeğe gönderir.

Doğrulama Aşaması

Verifier programın bellek erişimlerini, dallanmalarını ve helper çağrılarını analiz eder.

Bağlanma Aşaması

Program uygun tracepoint, kprobe veya socket hook noktasına bağlanır.

Olay Toplama

Bağlantı başarısız olduğunda program süreç kimliğini, hedef adresi ve hata kodunu toplar.

Veri Aktarımı

Bilgiler ring buffer aracılığıyla kullanıcı alanına gönderilir.

Raporlama

Kullanıcı alanındaki uygulama veriyi log, metrik veya alarm sistemine dönüştürür.

Örnek Performans Sorunu Senaryosu

Bir e-ticaret uygulamasının belirli saatlerde yavaşladığını düşünelim. Uygulama loglarında açık bir hata bulunmuyor.

Geleneksel Gözlem

  • CPU kullanımı normal görünüyor.
  • Bellek tüketimi kabul edilebilir düzeyde.
  • Uygulama hata oranı düşük.
  • Veritabanı sorguları zaman zaman yavaşlıyor.

eBPF ile İnceleme

eBPF tabanlı gözlem aracı aşağıdaki verileri ortaya çıkarabilir:

  • TCP yeniden iletimlerinin arttığı
  • Belirli node’da DNS sorgularının geciktiği
  • Uygulama süreçlerinin disk beklemesinde kaldığı
  • Belirli fonksiyonun CPU örneklerinde yoğunlaştığı
  • Konteynerin ağ bağlantılarının paket kaybı yaşadığı

Kök Neden

Sorunun uygulama kodundan değil, belirli node üzerindeki ağ arabirimi veya DNS iletişiminden kaynaklandığı anlaşılabilir.

Bu örnek eBPF’nin uygulama ve altyapı arasındaki görünürlük boşluğunu azaltabileceğini gösterir.

eBPF’nin Sınırlamaları

Çekirdek Sürümüne Bağımlılık

Bütün program türleri, helper fonksiyonları ve özellikler her Linux çekirdeğinde bulunmaz.

Verifier Karmaşıklığı

Teknik olarak güvenli görünen bazı programlar verifier’ın analiz sınırları nedeniyle reddedilebilir. Programın daha basit biçimde yeniden yazılması gerekebilir.

Geliştirme Zorluğu

Çekirdek veri yapıları, eş zamanlılık, bellek güvenliği ve ağ protokolleri hakkında bilgi gerektirebilir.

Sınırlı Programlama Ortamı

eBPF genel amaçlı kullanıcı alanı programları kadar özgür değildir. Bellek kullanımı, fonksiyonlar ve çalışma süresi üzerinde sınırlamalar bulunur.

Veri Hacmi

Yüksek frekanslı olaylar büyük telemetri hacmi oluşturabilir. Kullanıcı alanına her olayı göndermek sistemi zorlayabilir.

Sembol ve Uygulama Uyumluluğu

Uprobe tabanlı izleme, uygulama sürümü ve derleme yöntemine göre bozulabilir.

Windows ve Diğer Sistemler

eBPF’nin kökeni Linux olsa da farklı işletim sistemlerinde çalışmalar bulunmaktadır. Ancak özellik ve uyumluluk Linux ile aynı değildir.

İş Mantığını Tam Olarak Göremez

Çekirdek seviyesindeki bağlantı bilgisi, kullanıcının neden ödeme yapamadığını tek başına açıklamayabilir. Uygulama telemetry verileriyle birlikte kullanılmalıdır.

eBPF Güvenlik Riskleri

Yüksek Yetki Gereksinimi

eBPF programı yüklemek çoğu sistemde güçlü yetkiler gerektirir. Yanlış yapılandırılan yetkiler saldırganın çekirdek seviyesinde görünürlük elde etmesine neden olabilir.

Verifier Güvenlik Açıkları

Verifier’daki bir hata, kötü amaçlı programın normalde izin verilmeyen belleğe erişmesine yol açabilir. Çekirdek güvenlik güncellemeleri geciktirilmemelidir.

Hassas Veri Toplama

eBPF araçları süreç adları, ağ adresleri, dosya yolları ve uygulama fonksiyon bilgileri gibi hassas veriler toplayabilir.

Tedarik Zinciri Riski

Yüklenen programın, container image’ın ve kullanıcı alanı ajanının kaynağı doğrulanmalıdır.

Yazılım bileşenlerinin izlenmesi için SBOM Nedir? rehberinden yararlanabilirsiniz.

Yanlış Politika

Hatalı bir eBPF ağı veya güvenlik politikası kritik trafiği kesebilir ve hizmet kesintisi oluşturabilir.

Kaynak Tüketimi

Çok sık çalışan veya yanlış tasarlanan programlar CPU tüketimini ve map bellek kullanımını artırabilir.

Görünmez Programlar

Sistemde hangi eBPF programlarının yüklü olduğu düzenli biçimde denetlenmezse yetkisiz veya unutulmuş programlar çalışmaya devam edebilir.

Üretim Ortamında eBPF Kullanım Rehberi

Net Bir Kullanım Senaryosu Belirleyin

“eBPF kullanalım” tek başına teknik hedef değildir. Çözülmek istenen problem açıkça tanımlanmalıdır:

  • Ağ gecikmesini mi ölçmek istiyorsunuz?
  • Konteyner çalışma zamanı saldırılarını mı izliyorsunuz?
  • Kubernetes ağ politikasını mı değiştireceksiniz?
  • CPU darboğazını mı araştırıyorsunuz?

Çekirdek Uyumluluğunu Kontrol Edin

Node’ların çekirdek sürümleri, BTF desteği, gerekli program türleri ve helper fonksiyonları envantere alınmalıdır.

Hazır Çözüm ile Özel Geliştirmeyi Karşılaştırın

Cilium, bpftrace veya hazır gözlemlenebilirlik araçları sorunu çözüyorsa sıfırdan çekirdek programı geliştirmek gereksiz risk oluşturabilir.

En Az Yetki Uygulayın

eBPF yükleyen ajanlara yalnızca ihtiyaç duydukları Linux yetkileri verilmeli, geniş ayrıcalıklı container kullanımından kaçınılmalıdır.

Önce Gözlem Modunda Çalışın

Güvenlik politikasını doğrudan engelleme moduna almak yerine bir süre yalnızca olay üretmesini sağlayın.

Map Sınırlarını Belirleyin

Map kapasitesi, kayıt yaşam süresi ve bellek tüketimi ölçülmelidir. LRU gibi uygun map türleri değerlendirilebilir.

Telemetriyi Filtreleyin

Her olayın kullanıcı alanına aktarılması yerine çekirdek içinde sayaç, histogram ve örnekleme uygulanabilir.

Geri Dönüş Planı Hazırlayın

Program performans veya bağlantı sorunu oluşturursa programın güvenli biçimde kaldırılması ve önceki yapılandırmaya dönülmesi mümkün olmalıdır.

Sürüm ve Değişiklik Yönetimi

eBPF nesneleri, loader uygulaması, çekirdek sürümü ve politika dosyaları birlikte sürümlenmelidir.

Program Envanteri Tutun

Her node’da hangi programın, hangi sürümle ve hangi ekip tarafından yüklendiği kayıt altına alınmalıdır.

Düzenli Güvenlik Güncellemesi

Linux çekirdeği, eBPF kütüphaneleri, Cilium veya kullanılan güvenlik ajanları güncel tutulmalıdır.

eBPF Kontrol Listesi

Kontrol Maddesi Durum
eBPF kullanım senaryosu açıkça tanımlandı mı? Evet / Hayır
Hedef node’ların Linux çekirdek sürümleri biliniyor mu? Evet / Hayır
Gerekli program türü ve helper fonksiyonları destekleniyor mu? Evet / Hayır
BTF ve CO-RE gereksinimleri kontrol edildi mi? Evet / Hayır
Program kaynak kodu ve derleme zinciri doğrulandı mı? Evet / Hayır
Loader uygulamasının yetkileri sınırlandırıldı mı? Evet / Hayır
Privileged container kullanımından kaçınıldı mı? Evet / Hayır
Map kapasitesi ve bellek tüketimi belirlendi mi? Evet / Hayır
Telemetri hacmi ve örnekleme politikası oluşturuldu mu? Evet / Hayır
Program performans testi yapıldı mı? Evet / Hayır
Politika önce gözlem modunda denendi mi? Evet / Hayır
Yanlış pozitif ve yanlış engelleme oranları ölçüldü mü? Evet / Hayır
Programı kaldırma ve geri dönüş yöntemi hazır mı? Evet / Hayır
Node başına program envanteri tutuluyor mu? Evet / Hayır
Hassas telemetri verileri korunuyor mu? Evet / Hayır
Çekirdek güvenlik güncellemeleri düzenli uygulanıyor mu? Evet / Hayır
Kullanılan açık kaynak projelerin sürümleri takip ediliyor mu? Evet / Hayır
eBPF ölçümleri uygulama telemetry verileriyle ilişkilendiriliyor mu? Evet / Hayır

eBPF Kullanımında Sık Yapılan Hatalar

  • eBPF’yi tek başına bir güvenlik ürünü sanmak
  • Çekirdek uyumluluğunu kontrol etmeden dağıtım yapmak
  • Her node’a geniş yetkili privileged ajan yüklemek
  • Verifier’ın bütün mantık hatalarını engellediğini düşünmek
  • Her olayı kullanıcı alanına göndererek veri hacmini artırmak
  • Map bellek sınırlarını belirlememek
  • Kubernetes pod kimliği yerine yalnızca değişken IP adreslerini izlemek
  • Güvenlik politikasını test etmeden engelleme moduna almak
  • Çekirdek ve eBPF araç güncellemelerini geciktirmek
  • Programları kimin yüklediğini kayıt altına almamak
  • Yüklenmiş eski programları sistemde unutmak
  • Uprobe sembollerinin bütün uygulama sürümlerinde aynı kalacağını varsaymak
  • eBPF’nin uygulama log ve trace verilerinin tamamının yerini aldığını düşünmek
  • Çekirdek seviyesinde toplanan hassas verileri korumamak
  • Geri dönüş ve program kaldırma planı hazırlamamak
  • Hazır ve test edilmiş araç varken gereksiz özel program geliştirmek

eBPF İçin Güvenilir Kaynaklar

  • eBPF Foundation – What Is eBPF?
  • Linux Kernel – BPF Documentation
  • eBPF Docs – eBPF on Linux
  • Linux Kernel – libbpf Documentation
  • Cilium Documentation
  • TeknoTürkiye – Observability Nedir?
  • TeknoTürkiye – Service Mesh Nedir?
  • TeknoTürkiye – Zero Trust Mimarisi Nedir?

eBPF Hakkında Sık Sorulan Sorular

eBPF nedir?

Linux çekirdeğinin belirli noktalarında doğrulanan küçük programların çalıştırılmasını sağlayan ağ, güvenlik, izleme ve performans teknolojisidir.

eBPF neyin kısaltmasıdır?

Tarihsel olarak extended Berkeley Packet Filter ifadesi kullanılmıştır. Günümüzde resmî topluluk eBPF adını belirli bir ifadenin kısaltması olarak değerlendirmemektedir.

BPF ile eBPF aynı mı?

eBPF, klasik BPF yaklaşımının çok daha gelişmiş hâlidir. Classic BPF ağırlıklı olarak paket filtrelemeye odaklanırken eBPF çok sayıda çekirdek olayına bağlanabilir.

eBPF yalnızca Linux’ta mı çalışır?

Kökeni ve en geniş kullanımı Linux’tadır. Diğer işletim sistemlerinde de eBPF çalışmaları bulunmakla birlikte özellik ve uyumluluk düzeyi farklı olabilir.

eBPF bir programlama dili midir?

Hayır. Programların çalıştığı bir komut kümesi ve çekirdek çalışma ortamıdır. Programlar çoğunlukla C, Rust veya özel araçlarla hazırlanır.

eBPF programları nerede çalışır?

Linux çekirdeğinin belirli hook noktalarında çalışır. Programı yöneten ve verileri gösteren bölüm genellikle kullanıcı alanında bulunur.

eBPF güvenli midir?

Programlar verifier tarafından analiz edilir ve önemli güvenlik sınırlamaları uygulanır. Ancak verifier açıkları, yüksek yetkiler ve yanlış program mantığı gibi riskler tamamen ortadan kalkmaz.

eBPF verifier nedir?

Programı çekirdeğe yüklenmeden önce bellek erişimleri, program akışı ve helper kullanımı açısından analiz eden bileşendir.

Verifier programın doğru sonuç üretmesini garanti eder mi?

Hayır. Teknik güvenlik kontrolleri yapar; iş mantığının veya güvenlik politikasının doğru olduğunu garanti etmez.

eBPF map nedir?

eBPF programları ve kullanıcı alanı uygulamaları arasında veri saklama ve paylaşma amacıyla kullanılan çekirdek içi veri yapısıdır.

eBPF hook nedir?

eBPF programının çalışmasını tetikleyen ağ paketi, sistem çağrısı, çekirdek fonksiyonu veya güvenlik olayı gibi bağlanma noktasıdır.

XDP nedir?

Ağ paketlerini sürücüye yakın erken bir aşamada yüksek performansla işlemek için kullanılan eBPF bağlanma noktasıdır.

XDP ile TC arasındaki fark nedir?

XDP paketi ağ girişinin daha erken aşamasında işler. TC ise giriş ve çıkış yönlerinde daha geniş ağ bağlamına erişebilir.

BTF nedir?

Çekirdek ve BPF nesnelerindeki veri türlerini tanımlayan kompakt tür bilgisi formatıdır.

CO-RE nedir?

eBPF programlarının uyumlu farklı çekirdek sürümlerinde yeniden derlenmeden çalışmasını kolaylaştıran Compile Once – Run Everywhere yaklaşımıdır.

libbpf nedir?

eBPF nesnelerini yüklemek, maps oluşturmak ve programları hook noktalarına bağlamak için kullanılan C tabanlı kütüphanedir.

bpftool nedir?

Linux sistemindeki BPF programlarını, maps, BTF ve diğer BPF nesnelerini incelemeye yarayan komut satırı aracıdır.

bpftrace nedir?

Yüksek seviyeli ifadelerle kısa tracing programları yazmayı sağlayan eBPF aracıdır.

BCC nedir?

Python ve C kullanarak eBPF tabanlı performans ve tracing araçları geliştirmeyi kolaylaştıran çerçevedir.

eBPF uygulama kodunu değiştirmeden izleme yapabilir mi?

Çekirdek ve uygulama fonksiyonlarına bağlanarak birçok sistem davranışını kod değişikliği olmadan izleyebilir. Ancak uygulama iş mantığı için ek telemetry gerekebilir.

eBPF performansı düşürür mü?

Doğru tasarlandığında düşük ek yükle çalışabilir. Çok sık çalışan, fazla veri toplayan veya kullanıcı alanına aşırı olay gönderen programlar performansı etkileyebilir.

eBPF ile DDoS engellenebilir mi?

XDP tabanlı programlar kötü amaçlı paketleri erken aşamada düşürmeye yardımcı olabilir. Tam DDoS savunması için kapasite, ağ sağlayıcısı ve farklı güvenlik katmanları da gerekir.

eBPF güvenlik duvarının yerini alır mı?

Bazı paket filtreleme ve politika işlevlerini gerçekleştirebilir ancak bütün güvenlik duvarı özelliklerinin otomatik olarak yerini almaz.

eBPF antivirüs müdür?

Hayır. Antivirüs ve EDR çözümlerinin olay toplamak veya politika uygulamak için kullanabileceği altyapı teknolojisidir.

eBPF root yetkisi gerektirir mi?

Program yükleme çoğu ortamda root veya belirli Linux yetenekleri gerektirir. Kesin gereksinim çekirdek ve dağıtım güvenlik politikasına bağlıdır.

Unprivileged eBPF nedir?

Yetkisiz kullanıcıların sınırlı eBPF işlevlerine erişebilmesidir. Güvenlik gerekçeleriyle birçok sistemde sınırlandırılabilir veya kapatılabilir.

eBPF Kubernetes’te ne işe yarar?

Pod ağ iletişimi, ağ politikaları, yük dengeleme, servis görünürlüğü ve çalışma zamanı güvenliği için kullanılabilir.

Cilium nedir?

eBPF kullanarak Kubernetes ve bulut yerel ortamlarda ağ, güvenlik ve gözlemlenebilirlik sağlayan açık kaynak projedir.

Hubble nedir?

Cilium tabanlı ağ akışlarını, politika kararlarını ve servis iletişimini gözlemlemeyi sağlayan bileşendir.

eBPF service mesh’in yerini alır mı?

Bazı ağ ve yönlendirme işlevlerini sidecar olmadan gerçekleştirebilir. Gelişmiş uygulama katmanı özellikleri için proxy gerekebilir.

eBPF observability aracının yerini alır mı?

Hayır. Gözlemlenebilirlik platformlarına güçlü çekirdek ve ağ verileri sağlayan bir veri toplama teknolojisidir.

eBPF ile uygulama fonksiyonları izlenebilir mi?

Uprobe ve uretprobe kullanılarak kullanıcı alanı fonksiyonlarına bağlanılabilir. Sembol ve sürüm uyumluluğu kontrol edilmelidir.

eBPF ile dosya işlemleri izlenebilir mi?

Uygun tracepoint, kprobe veya LSM hook noktalarıyla dosya açma ve erişim olayları gözlemlenebilir.

eBPF programları sistem yeniden başlatılmadan güncellenebilir mi?

Uygun tasarımda programlar çalışma zamanında yüklenebilir ve değiştirilebilir. Kalıcı yükleme için başlangıç ve yönetim süreçleri ayrıca hazırlanmalıdır.

eBPF programları yeniden başlatınca kaybolur mu?

Çekirdekteki programlar genellikle sistem yeniden başladığında kaybolur. Yönetim uygulamasının yeniden yüklemesi gerekir.

Pinning nedir?

BPF nesnelerinin BPF dosya sistemi altında bir yol üzerinden erişilebilir ve yükleyici süreçten bağımsız tutulmasıdır.

eBPF map bellek tüketir mi?

Evet. Map türü, kapasitesi ve kayıt boyutu çekirdek belleği tüketir. Sınırlar üretim öncesinde hesaplanmalıdır.

eBPF öğrenmek zor mu?

Linux, ağ, çekirdek veri yapıları ve düşük seviyeli programlama bilgisi gerektirebilir. bpftrace gibi araçlar başlangıç sürecini kolaylaştırabilir.

eBPF kullanmaya nereden başlanmalı?

Önce net bir gözlem veya ağ problemi seçilmeli, bpftrace ve bpftool gibi araçlarla temel kavramlar öğrenilmeli, ardından libbpf ve CO-RE yapısına geçilmelidir.

eBPF Nedir? Sonuç

eBPF nedir sorusunun temel cevabı; Linux çekirdeğinin belirli olay noktalarında doğrulanan ve sınırlandırılan programların çalışmasını sağlayan modern bir çekirdek teknolojisidir.

eBPF programları ağ paketleri, sistem çağrıları, çekirdek fonksiyonları, kullanıcı uygulamaları ve güvenlik olayları gibi çok farklı noktalara bağlanabilir.

Verifier programı çekirdeğe yüklenmeden önce analiz eder. JIT derleyici desteklenen sistemlerde programı yerel makine koduna dönüştürerek performansı artırabilir.

BPF maps, programlar arasında veri saklamayı ve çekirdek ile kullanıcı alanı arasında iletişim kurulmasını sağlar. BTF ve CO-RE ise programların farklı Linux çekirdeklerinde daha taşınabilir olmasına yardımcı olur.

XDP ve Traffic Control, yüksek performanslı paket işleme ve ağ politikaları için kullanılır. Tracepoint, kprobe ve uprobe gibi bağlanma noktaları performans analizi ve çalışma zamanı görünürlüğü sağlar.

Kubernetes ortamlarında eBPF; pod ağları, servis yük dengeleme, güvenlik politikaları ve ağ akışlarının gözlemlenmesi için değerlendirilebilir. Cilium ve Hubble bu kullanımın bilinen örnekleri arasındadır.

Bununla birlikte eBPF bütün güvenlik ve observability araçlarının yerine geçen sihirli bir çözüm değildir. Uygulama logları, iş metrikleri, dağıtık trace verileri, kimlik yönetimi ve geleneksel güvenlik kontrolleriyle birlikte kullanılmalıdır.

Üretim ortamında çekirdek uyumluluğu, yükleme yetkileri, verifier güncellemeleri, map bellek tüketimi, telemetri hacmi ve geri dönüş planı birlikte değerlendirilmelidir.

Doğru yönetildiğinde eBPF, işletim sistemi çekirdeğini ağ, güvenlik ve gözlemlenebilirlik için programlanabilir bir platforma dönüştüren güçlü bir altyapı sunar.

Ayrıca Hoşunuza Gidebilir

SBOM Nedir? Yazılım Güvenliği İçin 11 Kritik Avantaj

Bellek Güvenli Programlama Dilleri: 10 Kritik Avantaj

Cyber Resilience Act Nedir? AB Yazılım ve Donanım Güvenliği Rehberi

WebAssembly ve WASI: Tarayıcıdan Edge’e Taşınabilir Yazılım Mimarisi

AI Gateway: Çoklu Model Trafiğini Tek Noktadan Yönetme Mimarisi

ETİKETLENEN: Ağ Güvenliği, BPF, BPF maps, Cilium, eBPF, Kubernetes, Linux çekirdeği, Linux güvenliği, Observability, performans izleme, XDP

Posta Bültenine Kayıt Olun

Takipte kalın! En son son dakika haberlerinin doğrudan gelen kutunuza gönderilmesini sağlayın.
Kaydolarak Kullanım Koşullarımızı kabul etmiş ve Gizlilik Politikamızdaki veri uygulamalarını kabul etmiş olursunuz. İstediğiniz zaman abonelikten çıkabilirsiniz.
Bu makaleyi paylaş
Facebook Twitter Pinterest WhatsApp WhatsApp LinkedIn Tumblr Reddit Vkontakte Telegram Eposta Linki Kopyala Yazdır
Paylaş
Önceki makale C2PA nedir ve dijital içeriklerin kaynağı nasıl doğrulanır C2PA Nedir? İçerik Kimlik Bilgileri İçin 9 Kritik Adım
Sonraki makale AI Red Teaming nedir ve yapay zekâ güvenlik testleri nasıl yapılır AI Red Teaming: Üretken Yapay Zekâyı Saldırgan Gibi Test Etme Rehberi
Bir yorum bırakın Bir yorum bırakın

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bizi Takip Edin

12.1k Takipçi Beğen
14.2k Takipçi Takip et
12.3k Takipçi Takip et

Son İçerikler

CTEM nedir
CTEM Nedir? Şirketler İçin 11 Kritik Avantaj
siber güvenlik 5 Ağustos 2026
SBOM nedir
SBOM Nedir? Yazılım Güvenliği İçin 11 Kritik Avantaj
Yazılım 5 Ağustos 2026
SASE nedir
SASE Nedir? Şirketler İçin 11 Kritik Avantaj
siber güvenlik 5 Ağustos 2026
bellek güvenli programlama dilleri
Bellek Güvenli Programlama Dilleri: 10 Kritik Avantaj
Yazılım 5 Ağustos 2026
Browser Isolation nedir
Browser Isolation Nedir? 10 Kritik Güvenlik Avantajı
siber güvenlik 5 Ağustos 2026
//

Yüksek ziyaretçi sayımız ile Yerli ve Milli Teknolojilerin yanında Teknoparklar hakkında ayrıntılı bilgiye sahip olacağınız Türkiye’nin en iyi iş, inovasyon ve teknoloji portalıyız.

Tekno Türkiye

  • Gizlilik Politikası
  • Çerez (Cookie) Politikası
  • Künye
  • İletişim
  • AR-GE
  • Firmalar
  • Haberler
  • Savunma Sanayi
  • Startup
  • Teknoparklar
  • AR-GE Proje Hazırlama
  • Teknopark AR-GE Proje
  • AR-GE Portal Yönetim

Tekno Blog

  • Dijital Dönüşüm
  • Finans
  • Havacılık ve Uzay
  • İmalat
  • İnovasyon
  • Sağlık
  • Teknoloji
  • Yazılım

Posta Bülteni

En yeni içeriklere anında ulaşmak için e-posta bültenimize abone olun!

Tekno TürkiyeTekno Türkiye
Bizi Takip Edin
© 2024 Tekno Türkiye. Her hakkımız saklıdır.
adbanner
AdBlock Algılandı
Sitemiz reklam destekli bir sitedir. Lütfen sitemizi desteklemek için beyaz listeye ekleyin.
Tamam, beyaz listeye ekleyeceğim
Tekrar hoşgeldiniz!

Hesabınıza giriş yapın

Şifrenizi mi unuttunuz?