Runtime Security Configuration

Runtime Güvenlik Yapılandırması

Configure the advanced eBPF-based runtime security agent that monitors system calls and enforces exec-allow policies across your Kubernetes cluster. All settings are managed through the runtime-security-config ConfigMap.

Kubernetes kümenizde sistem çağrılarını izleyen ve exec-allow politikalarını uygulayan gelişmiş eBPF tabanlı runtime güvenlik ajanını yapılandırın. Tüm ayarlar runtime-security-config ConfigMap aracılığıyla yönetilir.

⚠️ Kernel Requirements

⚠️ Çekirdek Gereksinimleri

Kernel 5.8+ has been thoroughly tested and is strongly recommended. Earlier versions may not support advanced eBPF features like BPF RingBuf.

Kernel 5.8+ kapsamlı olarak test edilmiş ve şiddetle önerilir. Önceki sürümler BPF RingBuf gibi gelişmiş eBPF özelliklerini desteklemeyebilir.

ConfigMap Overview

ConfigMap Genel Bakış

The runtime security agent reads its configuration from the runtime-security-config ConfigMap in the poyraz-runtime-security namespace. This configuration controls system call monitoring, alerting, and backend integration.

Runtime güvenlik ajanı yapılandırmasını poyraz-runtime-security namespace'indeki runtime-security-config ConfigMap'inden okur. Bu yapılandırma sistem çağrısı izleme, uyarı ve backend entegrasyonunu kontrol eder.

Application Settings

Uygulama Ayarları

SettingAyar DescriptionAçıklama DefaultVarsayılan
APP_NAME Application identifierUygulama tanımlayıcısı runtime-security
VERSION Agent versionAjan sürümü 2.0.0
ENVIRONMENT Deployment environmentDağıtım ortamı production

Backend API Configuration

Backend API Yapılandırması

SettingAyar DescriptionAçıklama ExampleÖrnek
BACKEND__BASE_URL Backend API base URLBackend API temel URL'si http://backend-ip:8686
BACKEND__TIMEOUT API request timeout (seconds)API istek zaman aşımı (saniye) 10
BACKEND__AGENT_API_KEY Agent authentication keyAjan doğrulama anahtarı poyraz-runtime-security-2026-agent-key
BACKEND__RULES_PATH Security rules endpointGüvenlik kuralları uç noktası /api/securityrules/rules
BACKEND__CONFIG_PATH Monitoring config endpointİzleme yapılandırma uç noktası /api/securityrules/monitoring-config
BACKEND__ALERTS_PATH Alert submission endpointUyarı gönderme uç noktası /api/securityrules/alerts

System Call Monitoring

Sistem Çağrısı İzleme

Control which system calls to monitor. Enabling specific syscalls allows fine-grained security monitoring but may increase overhead:

Hangi sistem çağrılarının izleneceğini kontrol edin. Belirli syscall'ları etkinleştirmek ince ayrıntılı güvenlik izlemeye izin verir ancak yükü artırabilir:

System CallSistem Çağrısı Env VariableOrtam Değişkeni PurposeAmaç DefaultVarsayılan
execveENABLE_EXECVEProcess executionSüreç yürütmefalse
cloneENABLE_CLONEProcess creationSüreç oluşturmafalse
forkENABLE_FORKProcess forkingSüreç dallanmafalse
connectENABLE_CONNECTNetwork connectionsAğ bağlantılarıfalse
bindENABLE_BINDPort bindingPort bağlamafalse
open/openatENABLE_OPEN/ENABLE_OPENATFile accessDosya erişimifalse
writeENABLE_WRITEFile writeDosya yazmafalse
unlink/unlinkatENABLE_UNLINK/ENABLE_UNLINKATFile deletionDosya silmefalse
linkENABLE_LINKHard link creationHard link oluşturmafalse
renameENABLE_RENAMEFile renamingDosya yeniden adlandırmafalse
mkdir/rmdirENABLE_MKDIR/ENABLE_RMDIRDirectory opsDizin işlemlerifalse
xattrENABLE_XATTRExtended attributesGenişletilmiş özniteliklerfalse
ptraceENABLE_PTRACEProcess debuggingSüreç hata ayıklamafalse
mountENABLE_MOUNTFilesystem mountingDosya sistemi bağlamafalse
acceptENABLE_ACCEPTInbound connectionsGelen bağlantılarfalse

eBPF Configuration

eBPF Yapılandırması

SettingAyar DescriptionAçıklama DefaultVarsayılan
EBPF__BUFFER_PAGES eBPF ring buffer size in pagesSayfa cinsinden eBPF halka tamponu boyutu 512
EBPF__POLL_TIMEOUT Event polling timeout in millisecondsMilisaniye cinsinden olay polling zaman aşımı 50

Alert Configuration

Uyarı Yapılandırması

SettingAyar DescriptionAçıklama DefaultVarsayılan
ALERTS__DEDUPLICATION_WINDOW Alert deduplication window (seconds)Uyarı yinelenme önleme penceresi (saniye) 300
ALERTS__RATE_LIMIT_PER_POD Maximum alerts per pod per minutePod başına dakika başına maksimum uyarı 10
ALERTS__RATE_LIMIT_PER_NAMESPACE Maximum alerts per namespace per minuteNamespace başına dakika başına maksimum uyarı 100
ALERTS__WEBHOOK_ENABLED Enable webhook notificationsWebhook bildirimlerini etkinleştir false
ALERTS__WEBHOOK_URL Webhook endpoint URLWebhook uç nokta URL'si ""

Rule Management

Kural Yönetimi

SettingAyar DescriptionAçıklama DefaultVarsayılan
RULES__RULES_DIRECTORY Local rules storage directoryYerel kural depolama dizini /tmp/rules
RULES__RELOAD_INTERVAL Rule reload interval (seconds)Kural yeniden yükleme aralığı (saniye) 60
RULES__ENABLE_HOT_RELOAD Enable automatic rule reloadingOtomatik kural yeniden yüklemeyi etkinleştir true

Security Configuration

Güvenlik Yapılandırması

SettingAyar DescriptionAçıklama DefaultVarsayılan
SECURITY__EXCLUDED_NAMESPACES Namespaces to exclude from monitoringİzlemeden hariç tutulacak namespace'ler poyraz-runtime-security,kube-public,kube-node-lease

Observability Configuration

Gözlemlenebilirlik Yapılandırması

SettingAyar DescriptionAçıklama DefaultVarsayılan
OBSERVABILITY__LOG_LEVELLog verbosity (DEBUG, INFO, WARN)Log ayrıntısı (DEBUG, INFO, WARN)INFO
OBSERVABILITY__LOG_FORMATLog output format (json, text)Log çıktı formatı (json, text)json
OBSERVABILITY__METRICS_ENABLEDEnable Prometheus metrics exportPrometheus metrik dışa aktarmayı açtrue
OBSERVABILITY__METRICS_PORTPort for metrics scrapingMetrik kazıma portu8080
OBSERVABILITY__HEALTH_CHECK_ENABLEDEnable /healthz endpoint/healthz uç noktasını açtrue

Kubernetes Integration

Kubernetes Entegrasyonu

SettingAyar DescriptionAçıklama DefaultVarsayılan
KUBERNETES__IN_CLUSTER Use in-cluster Kubernetes configurationKüme içi Kubernetes yapılandırmasını kullan true
KUBERNETES__POD_CACHE_REFRESH_INTERVAL Pod metadata cache refresh interval (seconds)Pod metadata önbellek yenileme aralığı (saniye) 600

Complete Configuration Example

Tam Yapılandırma Örneği

  # Application
  APP_NAME: "runtime-security"
  VERSION: "2.0.0"
  ENVIRONMENT: "production"
  
  # Backend API
  BACKEND__BASE_URL: "http://10.200.63.202:8686"
  BACKEND__TIMEOUT: "10"
  BACKEND__AGENT_API_KEY: "poyraz-runtime-security-2026-agent-key"
  BACKEND__RULES_PATH: "/api/securityrules/rules"
  BACKEND__CONFIG_PATH: "/api/securityrules/monitoring-config"
  BACKEND__ALERTS_PATH: "/api/securityrules/alerts"

  # Event Monitoring Configuration
  ENABLE_EXECVE: "true"
  ENABLE_CLONE: "false"
  ENABLE_FORK: "false"
  ENABLE_CONNECT: "true"
  ENABLE_BIND: "false"
  ENABLE_OPEN: "true"
  ENABLE_OPENAT: "true"
  ENABLE_WRITE: "false"
  ENABLE_UNLINK: "false"
  ENABLE_UNLINKAT: "false"
  ENABLE_LINK: "false"
  ENABLE_RENAME: "false"
  ENABLE_MKDIR: "false"
  ENABLE_RMDIR: "false"
  ENABLE_XATTR: "false"
  ENABLE_PTRACE: "true"
  ENABLE_MOUNT: "false"
  ENABLE_ACCEPT: "false"
  
  # eBPF Configuration
  EBPF__BUFFER_PAGES: "512"
  EBPF__POLL_TIMEOUT: "50"
  
  # Alert configuration
  ALERTS__DEDUPLICATION_WINDOW: "300"
  ALERTS__RATE_LIMIT_PER_POD: "10"
  ALERTS__RATE_LIMIT_PER_NAMESPACE: "100"
  ALERTS__WEBHOOK_ENABLED: "false"
  
  # Security configuration
  SECURITY__EXCLUDED_NAMESPACES: "poyraz-runtime-security,kube-public,kube-node-lease"
  
  # Observability configuration
  OBSERVABILITY__LOG_LEVEL: "INFO"
  OBSERVABILITY__METRICS_ENABLED: "true"
  
  # Kubernetes configuration
  KUBERNETES__IN_CLUSTER: "true"
  KUBERNETES__POD_CACHE_REFRESH_INTERVAL: "600"

Performance Tuning Recommendations

Performans Ayarlama Önerileri

🔧 High-Volume Environments

🔧 Yüksek Hacimli Ortamlar

For clusters with high activity:

Yüksek aktiviteye sahip kümeler için:

  • Increase EBPF__BUFFER_PAGES to 1024
  • EBPF__BUFFER_PAGES'i 1024'e yükseltin
  • Reduce EBPF__POLL_TIMEOUT to 25ms
  • EBPF__POLL_TIMEOUT'u 25ms'ye düşürün
  • Enable only critical syscalls
  • Yalnızca kritik syscall'ları etkinleştirin
  • Increase alert rate limits
  • Uyarı hız limitlerini artırın

🎯 Security-Focused Setup

🎯 Güvenlik Odaklı Kurulum

For maximum security monitoring:

Maksimum güvenlik izleme için:

  • Enable ENABLE_EXECVE, ENABLE_CONNECT
  • ENABLE_EXECVE, ENABLE_CONNECT'i etkinleştirin
  • Enable ENABLE_OPEN, ENABLE_OPENAT
  • ENABLE_OPEN, ENABLE_OPENAT'ı etkinleştirin
  • Set LOG_LEVEL to DEBUG
  • LOG_LEVEL'i DEBUG'a ayarlayın
  • Enable webhook notifications
  • Webhook bildirimlerini etkinleştirin

🚀 Applying Configuration Changes

🚀 Yapılandırma Değişikliklerini Uygulama

After updating the ConfigMap, restart the agent pods to apply changes:

ConfigMap'i güncelledikten sonra, değişiklikleri uygulamak için ajan pod'larını yeniden başlatın:

kubectl rollout restart daemonset/runtime-security -n poyraz-runtime-security

Monitor the rollout with:

kubectl rollout status daemonset/runtime-security -n poyraz-runtime-security