Skip to main content
Siber Güvenlik

DevOps ve Siber Güvenlik: CI/CD Boru Hatlarınızı Güvence Altına Almanın En İyi Yöntemleri

Şubat 18, 2026 4 dk okuma 32 views Raw
ağ, bilgi, bilgi Teknolojisi içeren Ücretsiz stok fotoğraf
İçindekiler

Modern yazılım geliştirme süreçlerinde DevOps uygulamaları hız, tekrarlanabilirlik ve ölçeklenebilirlik sağlar. Ancak CI/CD (Continuous Integration / Continuous Delivery) boru hatları, yanlış yapılandırıldığında veya korunmadığında saldırganlar için zengin hedefler haline gelir. Bu yazıda CI/CD boru hatlarınıza uygulanabilecek en iyi güvenlik yaklaşımlarını, araçları ve pratik adımları ele alacağız.

Neden CI/CD güvenliği kritik?

CI/CD boru hattı; kaynak koddan üretime kadar uzanan tüm süreci otomatikleştirir. Bu süreçte kaynağa, yapı araçlarına, bağımlılıklara, artifact depolarına ve hedef ortamlara erişim sağlanır. Bir saldırgan pipeline erişimi elde ederse kod enjekte edebilir, kötü amaçlı bağımlılık ekleyebilir, gizli anahtarları ele geçirebilir veya üretim ortamına zararlı değişiklikler getirebilir. Bu yüzden pipeline güvenliği, yazılım tedarik zinciri güvenliğinin merkezindedir.

Temel ilkeler: Güvenlik her katmanda

CI/CD güvenliğinde uygulanması gereken temel ilkeler şunlardır:

  • En az ayrıcalık (least privilege) prensibini benimseyin.
  • Shift-left yaklaşımıyla güvenliği geliştirme yaşam döngüsünün erken aşamalarına taşıyın.
  • Pipeline ve altyapıyı kod olarak yönetin (Pipelines as Code, Infrastructure as Code).
  • İzlenebilirlik ve imzalama ile değişikliklerin kaynağını doğrulayın (provenance).
  • Otomasyon ile tekrar eden güvenlik kontrollerini zorunlu hale getirin.

CI/CD boru hattınızı güvence altına almak için pratik yöntemler

1. Kimlik ve erişim yönetimi (IAM) ve RBAC

Pipeline araçları, artifact depoları ve hedef ortamlarda rol tabanlı erişim kontrolü (RBAC) uygulayın. Hizmet hesaplarına kısa ömürlü tokenler veya kısa süreli kimlik doğrulama sağlayan mekanizmalar kullanın. Kullanıcı ve servis hesaplarına sadece ihtiyaç duydukları izinleri verin.

2. Sır yönetimi ve gizli bilgiler

Kaynak kodunda hiçbir şekilde şifre, anahtar veya token saklamayın. Bunun yerine HashiCorp Vault, AWS Secrets Manager, Azure Key Vault gibi merkezi ve izlenebilir sır yönetim sistemleri kullanın. Pipeline'larda gizli bilgilerin sızmasını önlemek için maskalama, erişim denetimleri ve otomatik rotasyon uygulayın.

3. Statik ve dinamik analiz (SAST/DAST) ve bağımlılık taramaları

Shift-left stratejisinin bir parçası olarak kaynak kodu için SAST (ör. SonarQube, Semgrep) ve bağımlılık taramaları (SCA: Snyk, OWASP Dependency-Check) entegre edin. Derlenmiş veya çalışan uygulamalar için DAST (ör. OWASP ZAP) ile dinamik analiz yapın. Tarama sonuçlarını pipeline içinde kırmızı/kritik bulgular için fail-gate kurallarıyla bağlayın.

4. Container ve görüntü güvenliği

Container görüntülerini scan edin (Trivy, Clair, Anchore). Güvenilir, minimal tabanlı görüntüler kullanın ve imzasız veya güvenilmeyen görüntüleri üretime göndermeyin. Cosign veya Sigstore gibi araçlarla imzalama ve doğrulama adımları ekleyin. Image provenance için SBOM (Software Bill of Materials) üretin (SPDX veya CycloneDX formatları).

5. IaC (Infrastructure as Code) güvenliği

Terraform, CloudFormation, Ansible gibi IaC şablonlarını Checkov, Terraform Sentinel, tfsec veya cfn-lint ile tarayın. Yanlış yapılandırmalar (açık güvenlik grupları, geniş IAM izinleri vb.) erken aşamada yakalanmalı. Policy as code (OPA, Gatekeeper veya Kyverno) ile Kubernetes ve bulut kaynakları için zorunlu kurallar uygulayın.

6. Supply chain ve yazılım tedarik zinciri güvenliği

Tedarik zincirine yönelik saldırıları önlemek için üçüncü taraf bağımlılık yönetimini sıkılaştırın. Bağımlılık imzaları, SBOM, doğrulama ve sağlam bir kullanım politikası ile riskleri azaltın. Otomatik bileşen güncellemeleri ve güvenlik testleri ekleyin. Önceden belirlenmiş, imzalı ve test edilmiş artifact'leri üretime terfi ettirin.

7. Pipeline izolasyonu ve güvenli çalışma ortamları

Pipeline çalıştırıcılarını (runners/agents) izole edilmiş, güncel ve minimal yetkiye sahip ortamlarda çalıştırın. Paylaşılan ajanlardan kaçının veya ajan başına güvenlik kontrolleri uygulayın. Build ortamlarının temizlenmesini ve geçici kimlik bilgilerinin silinmesini sağlayın.

8. Loglama, izleme ve uyarılar

Pipeline aktivitelerini, erişim denemelerini ve güvenlik tarama sonuçlarını merkezi loglama çözümlerine yönlendirip SIEM/EDR sistemleriyle entegre edin. Anormallik tespiti ve davranış analitiği ile şüpheli etkinliklerde otomatik alarmlar oluşturun. Her kritik işlem için audit trail (denetim kaydı) tutun.

9. Otomatik politika ve kuvvetlendirme

Güvenlik kontrollerini manuel süreçler yerine kodla ifade edin. Örnek: tüm PR'lar için güvenlik taraması, tüm üretim etiketli görüntüler için imza doğrulama, pull request onayı gereksinimleri ve korumalı branch politikaları. Policy as Code yaklaşımı tutarlı, tekrar edilebilir güvenlik sağlar.

10. Olay müdahalesi ve süreçler

Pipeline kaynaklı bir güvenlik olayı durumunda uygulanacak olay müdahalesi planları oluşturun. Artifact geri alma, geri dönüş (rollback) prosedürleri, etkilenebilecek hizmetlerin belirlenmesi ve iletişim planları önceden tanımlı olmalı. Düzenli tatbikatlar yapın.

Örnek güvenlik checklist'i (hızlı kontrol)

  • Kaynak kodda gizli bilgi yok mu? (Sensitive data scanning)
  • Pipeline ajanları izole ve güncel mi?
  • İmajlar taranıyor ve imzalanıyor mu?
  • IaC dosyaları otomatik taramadan geçiyor mu?
  • RBAC, least privilege ve kısa ömürlü kimlik doğrulama uygulanıyor mu?
  • SBOM ve provenance izleniyor mu?
  • Otomatik uyarılar ve audit trail mevcut mu?

Popüler araç önerileri

SAST: SonarQube, Semgrep. SCA: Snyk, Dependabot. Container tarama: Trivy, Anchore, Clair. IaC güvenliği: Checkov, tfsec. Secrets management: HashiCorp Vault, AWS Secrets Manager. Policy as code: OPA (Gatekeeper), Kyverno. Image signing: Cosign, Sigstore. CI platformları: GitHub Actions, GitLab CI, Jenkins, Tekton.

Sonuç

CI/CD boru hatlarının güvenliği çok katmanlı bir yaklaşım gerektirir: kimlik yönetimi, sır yönetimi, kod analizleri, imza ve provenance, IaC kontrolleri, runtime koruma ve etkin izleme. Güvenliği sürecin merkezine koymak (Security as Code) ve otomasyona dayalı tekrarlanabilir kontroller oluşturmak, yazılım tedarik zincirinizi güvence altına almanın en etkili yoludur. Sen Ekolsoft olarak, CI/CD güvenliği değerlendirmesi ve uygulanabilir güvenlik mimarileri konularında destek için iletişime geçebilirsiniz.

Bu yazıyı paylaş