Skip to main content
DevOps & Güvenlik

DevOps ve Sıfır Güven: CI/CD Boru Hatlarında Güvenliği Tasarlamak

Şubat 24, 2026 4 dk okuma 43 views Raw
Beyaz Kompakt Disk
İçindekiler

Günümüz yazılım teslimat modellerinde DevOps uygulamaları ve CI/CD boru hatları hızı ve tekrar edilebilirliği ön plana çıkarır. Ancak hız ve otomasyon, güvenlik boşlukları oluşturmaya da müsaittir. Sıfır Güven (Zero Trust) yaklaşımı, 'ağın içinde güvenme' varsayımını ortadan kaldırarak, her kimlik, her hizmet ve her iletişim kanalının doğrulanmasını zorunlu kılar. Bu yazıda CI/CD boru hatlarında Sıfır Güven prensiplerini nasıl uygulayacağınızı, hangi bileşenlere öncelik vermeniz gerektiğini ve pratik korunma yöntemlerini ele alacağız.

Sıfır Güven Nedir? Temel Prensipler

Sıfır Güven, klasik sınır güvenliği yerine sürekli doğrulama, en düşük ayrıcalık (least privilege) ve mikro-segmentasyon gibi ilkelerle çalışır. Temel bileşenleri şunlardır:

  • Sürekli kimlik doğrulama ve yetkilendirme
  • Mikro-segmentasyon ile hareketin sınırlandırılması
  • En düşük ayrıcalık prensibi
  • Gözlemlenebilirlik: kapsamlı logging ve telemetry
  • Tehdit tespiti ve uyum süreçlerinin otomasyonu

Bu ilkeleri CI/CD boru hatlarına uygulamak, yazılım tedarik zincirini ve dağıtım süreçlerini hedef alan saldırıları azaltır.

CI/CD Boru Hatlarında Tehdit Modeli

Öncelikle boru hattınızda hangi varlıkların ve adımların risk taşıdığını belirleyin. Tipik tehditler şunlardır:

  • Kaynak kod deposuna yetkisiz erişim veya kötü amaçlı katkı (supply chain attacks)
  • CI sunucularında veya runner'larda ele geçirilmiş kimlik bilgileri
  • Kötü amaçlı veya açık kaynak bağımlılıklarında gizlenen zararlı yazılım
  • İmzasız veya doğrulanmamış container/image dağıtımları
  • Pipeline script'lerinde gizli bilgilerin sızdırılması

Tehdit modeliniz, hangi önlemleri öne çıkaracağınızı belirlemelidir: kimlik yönetimi, gizli yönetimi, imzalama, skan ve gözlem gibi.

Temel Uygulama Alanları ve Öneriler

1. Kimlik ve Erişim Yönetimi (IAM)

CI/CD sistemlerindeki servis hesapları, runner'lar ve geliştirici kimlikleri için sıkı IAM politikaları uygulanmalıdır. Öneriler:

  • Her servis hesabı için en düşük ayrıcalığı tanımlayın ve periyodik olarak izinleri gözden geçirin.
  • MFA (çok faktörlü kimlik doğrulama) zorunlu hale getirin, özellikle kod deposu ve üretim erişimlerinde.
  • Geçici kimlikler (short-lived credentials) kullanın; örn. kısa ömürlü token'lar veya STS mekanizmaları.

2. Gizli Yönetimi (Secrets Management)

API anahtarları, şifreler ve sertifikalar versiyon kontrolüne asla dahil edilmemelidir. Bunun yerine merkezi ve denetimli gizli yönetimi kullanın. Önerilen uygulamalar:

  • HashiCorp Vault, AWS Secrets Manager, Azure Key Vault gibi araçlarla entegrasyon.
  • CI runner'larının gizli verilere erişimini rol tabanlı izinlerle kısıtlayın.
  • Gizli kullanımının denetlenmesini sağlayacak audit logging etkinleştirin.

3. Pipeline as Code ve İnşa Ortamlarının İzolasyonu

Pipeline'ları kod olarak tutmak tekrar edilebilirlik sağlar ancak aynı zamanda yanlış yapılandırılmış script'ler risk oluşturabilir. Öneriler:

  • Pipeline kodunu da inceleme sürecine tabi tutun (MR/PR ile onay mekanizması).
  • Build runner'larını izole ortamlarda (ephemeral runners) çalıştırın; her build temiz bir başlangıç yapsın.
  • Katmanlı güvenlik: build ortamında çıkabilecek kötü amaçlı aktiviteleri sınırlamak için konteyner/VM sınırları kullanın.

4. Bağımlılık ve İmaj Güvenliği

Bağımlılıklar ve container imajları sıklıkla saldırı yüzeylerini oluşturur. Otomatik tarama ve uyum kontrolleri koyun:

  • Dünya çapında bilinen zafiyetler için SCA (Software Composition Analysis) araçları kullanın (Snyk, Dependabot, etc.).
  • Container imajlarını Trivy, Clair gibi araçlarla tarayın ve imaj kayıtlarına koymadan önce temizleyin.
  • SBOM (Software Bill of Materials) üreterek hangi bileşenlerin kullanıldığını kayıt altına alın.

5. İmza ve Doğrulama (Image/Artifact Signing)

Dağıtılan artefaktların bütünlüğünü sağlamak için imzalama mekanizmaları uygulanmalıdır. Öneriler:

  • Artefaktları Notary, Cosign veya Sigstore ile imzalayın ve doğrulayın.
  • Pipeline yalnızca imzalı ve doğrulanmış artefaktları dağıtsın.

6. Gözlemlenebilirlik ve Olay Müdahalesi

Her aşamada logging ve telemetry etkin olmalı; anomalileri tespit etmek için merkezi log yönetimi ve SIEM entegrasyonu şarttır.

  • Pipeline aktivitelerini, kimlik değişikliklerini ve gizli erişimlerini kaydedin.
  • Anomali tespiti için uyarılar kurun (örn. alışılmadık IP, commit zamanları, büyük dosya eklemeleri).
  • Olay müdahale sürecinizi belgeleyin ve düzenli tatbikat yapın.

Pratik Kontrol Listesi (Checklist)

Aşağıdaki kısa kontrol listesi, Sıfır Güven prensiplerini CI/CD boru hattınıza entegre ederken takip edebileceğiniz temel adımları özetler:

  • Kimlik: MFA + en düşük ayrıcalık + kısa ömürlü token'lar
  • Secrets: Merkezi gizli yönetimi ve audit logging
  • İzolasyon: Ephemeral build runner'lar ve container bazlı izolasyon
  • SCA & imaj tarama: Otomatik zafiyet taramaları ve SBOM
  • İmzalama: Artefakt imzalama ve doğrulama
  • Gözlemlenebilirlik: Merkezi loglama, SIEM ve uyarılar
  • İnşa süreci: Pipeline as Code + PR incelemesi

Popüler Araçlar ve Entegrasyonlar

Sıfır Güven uygulaması için yararlı olabilecek araçlardan bazıları:

  • Kimlik ve IAM: Keycloak, Okta, AWS IAM
  • Gizli Yönetimi: HashiCorp Vault, AWS Secrets Manager
  • SCA ve İmaj Tarama: Snyk, Trivy, Clair
  • İmzalama: Cosign, Sigstore, Notary
  • Policy as Code: Open Policy Agent (OPA), Gatekeeper
  • CI/CD Platformları: GitHub Actions, GitLab CI, Jenkins, Tekton

Sonuç

DevOps ve CI/CD boru hatlarında Sıfır Güven yaklaşımını benimsemek, yalnızca güvenlik kontrolleri eklemekten daha fazlasıdır; geliştirme kültüründe değişim, otomasyon ve sürekli doğrulama gerektirir. En iyi sonuçlar, kimlik ve erişim yönetimi, gizli yönetimi, imaj ve bağımlılık taramaları, imzalama ve kapsamlı gözlemlenebilirliği bir arada uyguladığınızda alınır. Bu adımlar sayesinde yazılım teslimat hızınızı korurken güvenliğinizi de sürdürülebilir şekilde artırabilirsiniz.

Bu yazıyı paylaş