Skip to main content

> politika_otomasyonu:_açık_politika_ajanı_(opa)_ve_rego_ile_kod_olarak_uyumluluk_(compliance-as-code)

Politika Otomasyonu: Açık Politika Ajanı (OPA) ve Rego ile Kod Olarak Uyumluluk (Compliance-as-Code)

Manuel güvenlik Excel denetimleri açık S3 depolama sızıntılarını ve şifrelenmemiş Kubernetes disklerini neden önleyemez; Açık Politika Ajanı (OPA) CI/CD üzerinde kuralları kodla nasıl uygular?

Principal/Architect (L7+)

ÖZET VE TEKNİK CEVAP

Geleneksel kurumsal güvenlikte uyumluluk denetimleri geriye dönük yapılır: Her 6 ayda bir harici bir denetçi 300 sayfalık PDF ve Excel formlarını inceler. Denetimlerin arasındaki sürede ise bir yazılımcı farkında olmadan herkese açık bir S3 depolama alanı, root yetkisiyle çalışan bir Kubernetes pod'u (privileged: true) veya şifresiz bir veritabanı açan Terraform kodunu canlıya gönderir. Şirket bu ihlali ancak bir hacker veritabanını çaldığında fark eder. Açık Politika Ajanı (OPA) ve Rego ile Kod Olarak Uyumluluk (Compliance-as-Code), güvenlik kurallarını daha Pull Request aşamasında çalışan test edilebilir koda dönüştürür:
1
Deklaratif Kurallar: Güvenlik ekibi kuralları Rego diliyle yazar ('Tüm S3 depoları AES-256 ile şifrelenmeli ve dış erişime kapalı olmalıdır').
2
CI/CD'de Erken Engelleme: Conftest aracı dağıtımdan önce Terraform planlarını tarar ve güvenlik kuralını çiğneyen PR'ları anında reddeder.
3
Kubernetes Giriş Denetimi: OPA Gatekeeper küme içine gelen kubectl apply komutlarını yakalayarak standart dışı konteynerlerin çalışmasını engeller.

Mühendislik El Kitabı & Mekanizma

6 Boyutlu Mimari Analiz

⚙️1. Temel Çalışma Mekanizması

Mekanizma
Kod Olarak Uyumluluk iki katı güvenlik kapısıyla çalışır:
1
Dağıtım Öncesi Kapısı (CI/CD): Geliştirici terraform plan çıktısını JSON formatına çevirir ve conftest aracı bunu policies/ klasöründeki Rego kurallarıyla tarar. S3 depolamasında şifreleme yoksa derleme anında durdurulur (exit code 1).
2
Çalışma Zamanı Giriş Kapısı: Kubernetes içindeki OPA Gatekeeper aracı API sunucusuna gelen istekleri yakalar ve kısıtlama şablonlarına (ConstraintTemplates) uymayan (ör. root kullanıcısıyla çalışan veya bellek limiti olmayan) pod'ları reddeder.
3
Politika Testleri: Rego güvenlik kuralları opa test komutuyla birim testlerden geçirilir.

🎯2. Doğru Kullanım Senaryosu

Kapsam
SOC2/ISO 27001 otomatik uyumluluk denetimleri, bulut güvenlik duruşu yönetimi (CSPM), Kubernetes yönetişimi ve Kod Olarak Altyapı (Terraform) güvenlik bariyerleri.

⚠️3. Prodüksiyon Arıza Modları

Kritik Risk
  • Aşırı katı ve hatalı Rego kuralları yazarak tüm PR'ları kilitleyip şirketin kod çıkış hızını durdurmak
  • eski bir Kubernetes kümesinde Gatekeeper'ı deneme modu olmadan aniden devreye alıp çalışan iç servisleri kilitlemek

📡4. Teşhis ve Telemetri Sinyalleri

Metrikler
  • Güvenlik mühendislerinin her çeyrekte 2 haftasını AWS konsolunu elle kontrol etmekle harcaması
  • yeni başlayan bir yazılımcının kazara şifresiz canlı veritabanı açması
  • güvenlik uyarılarının 6 ay sonra gelmesi

🛡️5. Önleme ve Mimari Bariyerler

Bariyerler
  • CI boru hatlarına Conftest politika taramasını ekleyin
  • OPA Gatekeeper'ı katı engelleme moduna almadan önce 30 gün boyunca dryrun (deneme) modunda çalıştırın
  • tüm Rego kurallarını opa test ile test edin

⚖️6. Mimari Ödünleşimler (Trade-offs)

Ödünleşim
Kod Olarak Uyumluluk manuel denetim gecikmelerini sıfırlar ve kesintisiz bulut güvenliği sağlar; ancak güvenlik ekiplerinin Rego dilinde bildirimsel politika yazmayı öğrenmesini gerektirir.
📋

Vaka İncelemesi (TinyCTO Saha Örneği)

GERÇEK DÜNYA TELEMETRİSİ
Bir finans şirketi, bir mühendisin müşteri banka hesap dökümlerini içeren şifresiz bir AWS S3 depolama alanı açması nedeniyle güvenlik denetiminden kaldı. CISO, Açık Politika Ajanı (OPA) ile güvenlik mimarisini baştan kurdu:
1
Şifreleme ve en az yetki ilkelerini şart koşan 25 maddelik bir Rego kural paketi yazdı,
2
GitHub Actions hattına Conftest ekleyerek kuralı bozan Terraform PR'larını 5 saniyede otomatik durdurdu, ve
3
Kubernetes kümesine OPA Gatekeeper kurarak root ile çalışan pod'ları engelledi. Sonraki yıl içinde kurallara uymayan 42 altyapı değişikliği henüz kod aşamasındayken yakalandı ve şirketin yıllık SOC2 denetimi sıfır bulguyla 2 günde tamamlandı.

İnteraktif Konsept Alıştırmaları

2 Alıştırma
Q1

Açık Politika Ajanı (OPA) nedir ve güvenlik kurallarını tanımlamak için hangi dili kullanır?

OPA, mikroservisler, Kubernetes ve CI/CD süreçlerinde güvenlik politikalarını birleştiren açık kaynaklı bir politika motorudur; kuralları tanımlamak için **Rego** adlı bildirimsel programlama dilini kullanır.
Q2

Conftest aracı Terraform pull request'leri sırasında Kod Olarak Uyumluluğu nasıl denetler?

CI boru hattında Terraform planının JSON çıktısını okur ve Rego kurallarına göre değerlendirir; altyapı güvenlik şartlarını karşılamıyorsa (şifresiz disk, açık depolama) derlemeyi anında durdurur.

Politika Otomasyonu: Açık Politika Ajanı (OPA) ve Rego ile Kod Olarak Uyumluluk (Compliance-as-Code) — Sıkça Sorulan Sorular

Kubernetes'te OPA Gatekeeper nedir?

Kubernetes içine gelen nesne oluşturma isteklerini yakalayan ve pod'ların Rego kısıtlamalarına uyup uymadığını (root olmama, bellek limiti) diske yazılmadan önce doğrulayan özel bir Giriş Denetleyicisi (Admission Controller) eklentisidir.

OPA Gatekeeper neden önce 'denetim / dry-run' modunda devreye alınmalıdır?

Çalışan canlı sistemleri aniden kilitlemeden önce, mevcut servislerden kaç tanesinin yeni kurallara uymadığını görmek ve takımların bunları düzeltmesine fırsat tanımak için.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Kod Olarak Uyumluluk geriye dönük denetimlerin yerine otomatik kod denetimlerini koyar.
  • Açık Politika Ajanı (OPA) güvenlik kurallarını tanımlamak için bildirimsel Rego dilini kullanır.
  • Bulut altyapısı kurulmadan önce Terraform planlarını taramak için CI'da Conftest kullanın.
  • Kurallara uymayan pod'ları dinamik olarak engellemek için Kubernetes'e OPA Gatekeeper kurun.

Yaygın Yanılgılar

  • Yanılgı: OPA sadece Kubernetes güvenliği içindir (Gerçek: OPA genel amaçlıdır; Terraform, API yetkilendirmeleri ve Envoy proxy'lerini de denetler).
  • Yanılgı: Uyumluluk sadece hukukçuların işidir, mühendislerin otomasyonuna gerek yoktur (Gerçek: Otomatikleştirilmeyen kurallar insan hatasını ve büyük veri sızıntılarını garantiler).

Karar Kılavuzu & Önceliklendirme

Güvenlik yapılandırma hatalarını canlıya ulaşmadan engellemek için CI/CD hatlarına OPA ve Conftest kurarak Terraform ve Kubernetes üzerinde Kod Olarak Uyumluluğu zorunlu kılın.

Doğrulanmış Kaynaklar & Referanslar