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ı
| Setting | Ayar | Description | Açıklama | Default | Varsayı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ı
| Setting | Ayar | Description | Açı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 Call | Sistem Çağrısı | Env Variable | Ortam Değişkeni | Purpose | Amaç | Default | Varsayılan |
|---|---|---|---|---|---|---|---|
execve | ENABLE_EXECVE | Process executionSüreç yürütme | false | ||||
clone | ENABLE_CLONE | Process creationSüreç oluşturma | false | ||||
fork | ENABLE_FORK | Process forkingSüreç dallanma | false | ||||
connect | ENABLE_CONNECT | Network connectionsAğ bağlantıları | false | ||||
bind | ENABLE_BIND | Port bindingPort bağlama | false | ||||
open/openat | ENABLE_OPEN/ENABLE_OPENAT | File accessDosya erişimi | false | ||||
write | ENABLE_WRITE | File writeDosya yazma | false | ||||
unlink/unlinkat | ENABLE_UNLINK/ENABLE_UNLINKAT | File deletionDosya silme | false | ||||
link | ENABLE_LINK | Hard link creationHard link oluşturma | false | ||||
rename | ENABLE_RENAME | File renamingDosya yeniden adlandırma | false | ||||
mkdir/rmdir | ENABLE_MKDIR/ENABLE_RMDIR | Directory opsDizin işlemleri | false | ||||
xattr | ENABLE_XATTR | Extended attributesGenişletilmiş öznitelikler | false | ||||
ptrace | ENABLE_PTRACE | Process debuggingSüreç hata ayıklama | false | ||||
mount | ENABLE_MOUNT | Filesystem mountingDosya sistemi bağlama | false | ||||
accept | ENABLE_ACCEPT | Inbound connectionsGelen bağlantılar | false |
eBPF Configuration
eBPF Yapılandırması
| Setting | Ayar | Description | Açıklama | Default | Varsayı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ı
| Setting | Ayar | Description | Açıklama | Default | Varsayı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
| Setting | Ayar | Description | Açıklama | Default | Varsayı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ı
| Setting | Ayar | Description | Açıklama | Default | Varsayı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ı
| Setting | Ayar | Description | Açıklama | Default | Varsayılan |
|---|---|---|---|---|---|
OBSERVABILITY__LOG_LEVEL | Log verbosity (DEBUG, INFO, WARN)Log ayrıntısı (DEBUG, INFO, WARN) | INFO | |||
OBSERVABILITY__LOG_FORMAT | Log output format (json, text)Log çıktı formatı (json, text) | json | |||
OBSERVABILITY__METRICS_ENABLED | Enable Prometheus metrics exportPrometheus metrik dışa aktarmayı aç | true | |||
OBSERVABILITY__METRICS_PORT | Port for metrics scrapingMetrik kazıma portu | 8080 | |||
OBSERVABILITY__HEALTH_CHECK_ENABLED | Enable /healthz endpoint/healthz uç noktasını aç | true |
Kubernetes Integration
Kubernetes Entegrasyonu
| Setting | Ayar | Description | Açıklama | Default | Varsayı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_PAGESto 1024 EBPF__BUFFER_PAGES'i 1024'e yükseltin- Reduce
EBPF__POLL_TIMEOUTto 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_LEVELto 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