2026 DevOps Pipeline Güvenliği: DevSecOps En İyi Uygulamaları ve Mülakat Soruları
CI/CD pipeline güvenliği, DevSecOps pratikleri ve 2026 yılında en sık sorulan mülakat sorularına kapsamlı rehber.

DevOps pipeline güvenliği, büyük ölçekte yazılım dağıtan organizasyonlar için kritik bir farklılaştırıcı haline geldi. OWASP Top 10 CI/CD Security Risks modern pipeline'lardaki en tehlikeli güvenlik açıklarını tanımlar; yetersiz akış kontrolünden kompromize olmuş build bağımlılıklarına kadar. Bu rehber, 2026'da mülakatçıların adaylardan bilmesini beklediği temel DevSecOps pratiklerini kapsar.
DevSecOps, yazılım teslim yaşam döngüsünün her aşamasına güvenlik kontrollerini entegre eder. Güvenliği üretim öncesi son bir kapı olarak ele almak yerine, shift-left pratikleri düzeltmelerin daha ucuz ve daha hızlı olduğu geliştirme aşamasında güvenlik açıklarını yakalar.
CI/CD Saldırı Yüzeyini Anlamak
Modern CI/CD pipeline'ları kaynak kod depoları, build runner'ları, artefakt registry'leri ve dağıtım hedeflerini kapsayan karmaşık bir saldırı yüzeyi sunar. Mart 2025'teki tj-actions/changed-files kompromizasyonu, yaygın kullanılan bir GitHub Action'a kötü amaçlı kod enjekte ederek 23.000'den fazla depodan secret sızdırdı. 2026'nın başlarındaki TanStack saldırısı, geçerli SLSA Build Level 3 provenance ile 170'ten fazla zehirli npm paketi yayınladı ve saldırganlar build sürecini kontrol ettiğinde kriptografik attestation'ların bile atlanabileceğini gösterdi.
Bu olaylar üç kritik kontrol noktasını vurgular:
- Kaynak bütünlüğü: Branch koruma kuralları, imzalı commit'ler ve zorunlu kod incelemeleri yetkisiz değişikliklerin build pipeline'ına ulaşmasını önler
- Build izolasyonu: Geçici runner'lar, minimal izinler ve artefakt doğrulaması kompromize olmuş bağımlılıkların etki alanını sınırlar
- Secret hijyeni: Kısa ömürlü kimlik bilgileri, OIDC federasyonu ve secret taraması saldırganların aradığı statik token'ları ortadan kaldırır
Mülakatçılar sıklıkla adaylardan tipik bir dağıtım pipeline'ındaki güven sınırlarını izlemesini ister. Güçlü bir cevap, saldırganın kod enjekte edebileceği veya kimlik bilgilerini çalabileceği her aşamayı haritalandırır.
SAST ve SCA: Güvenlik Açıklarını Erken Yakalamak
Static Application Security Testing (SAST), programı çalıştırmadan kaynak kodu güvenlik açıkları açısından analiz eder. Software Composition Analysis (SCA), üçüncü parti bağımlılıklardaki bilinen güvenlik açıklarını tanımlar. Her pull request'te her ikisini de çalıştırmak, kod birleştirilmeden önce yaygın güvenlik sorunlarının çoğunu yakalar.
# .github/workflows/security.yml
name: Security Scan
on:
pull_request:
branches: [main]
jobs:
sast:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Run CodeQL
uses: github/codeql-action/analyze@v3
with:
languages: javascript,typescript
queries: security-extended
sca:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@0.28.0
with:
scan-type: fs
scan-ref: .
severity: HIGH,CRITICAL
exit-code: 1Yukarıdaki workflow SAST için CodeQL ve SCA için Trivy çalıştırır. Trivy üzerinde exit-code: 1 ayarı, yüksek veya kritik güvenlik açıkları göründüğünde build'i başarısız kılar. GitHub Advanced Security ve GitLab Ultimate, ilgili merge request workflow'larıyla entegre olan yerleşik SAST yetenekleri içerir.
OIDC Federasyonu ile Secret Yönetimi
CI/CD platformlarında saklanan uzun ömürlü kimlik bilgileri, pipeline kompromizasyonlarında en çok sömürülen saldırı vektörü olmaya devam ediyor. GitHub Actions OIDC, statik secret'ları çalışma zamanında bulut sağlayıcısı tarafından verilen kısa ömürlü token'larla değiştirir.
# .github/workflows/deploy.yml
name: Deploy to AWS
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write # OIDC için gerekli
contents: read
steps:
- uses: actions/checkout@v4
- name: Configure AWS credentials via OIDC
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789012:role/GitHubActionsRole
aws-region: us-east-1
# Hiçbir yerde AWS_ACCESS_KEY_ID veya AWS_SECRET_ACCESS_KEY saklanmıyor
- name: Deploy to ECS
run: aws ecs update-service --cluster prod --service api --force-new-deploymentAWS IAM rol güven politikası, hangi depoların ve branch'lerin rolü üstlenebileceğini kısıtlar:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789012:oidc-provider/token.actions.githubusercontent.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
},
"StringLike": {
"token.actions.githubusercontent.com:sub": "repo:my-org/my-repo:ref:refs/heads/main"
}
}
}
]
}Koşul, kimlik bilgisi verilmesini belirli bir deponun main branch'i ile sınırlar. Azure ve GCP eşdeğer OIDC federasyon yetenekleri sunar. Var olması gereken secret'lar için HashiCorp Vault ve AWS Secrets Manager gibi bulut-native seçenekler merkezi rotasyon ve erişim günlüğü sağlar.
DevOps mülakatlarında başarılı olmaya hazır mısın?
İnteraktif simülatörler, flashcards ve teknik testlerle pratik yap.
Konteyner Güvenliği ve SBOM Oluşturma
Konteyner imajları, uygulama kodunun ötesinde bağımlılıklar getirir. Base imajlar, sistem paketleri ve build araçları potansiyel güvenlik açıkları taşır. Build süreci sırasında imajları taramak ve Software Bill of Materials (SBOM) oluşturmak, tüm bağımlılık zincirinde görünürlük sağlar.
# GitLab CI container security
container_scanning:
stage: test
image: registry.gitlab.com/gitlab-org/security-products/analyzers/container-scanning:7
variables:
CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
CS_DOCKERFILE_PATH: Dockerfile
script:
- /analyzer run
artifacts:
reports:
container_scanning: gl-container-scanning-report.json
cyclonedx: gl-sbom.cdx.jsonCycloneDX formatındaki SBOM artefaktı, yeniden build olmadan yeni açıklanan güvenlik açıklarını kontrol etmek için downstream tüketicilere olanak tanır. SLSA gibi tedarik zinciri güvenlik framework'leri, temel kontrol olarak SBOM oluşturmayı gerektirir.
Staging'de Dinamik Uygulama Güvenlik Testi
DAST araçları, statik analizin tespit edemediği güvenlik açıkları için çalışan uygulamaları test eder; kimlik doğrulama kusurları, injection güvenlik açıkları ve güvenlik yanlış yapılandırmaları dahil. Production dağıtımından önce staging ortamına karşı DAST çalıştırmak, önceki kapıları atlatan sorunları yakalar.
# .gitlab-ci.yml
dast:
stage: dast
image: registry.gitlab.com/gitlab-org/security-products/analyzers/dast:5
variables:
DAST_WEBSITE: https://staging.example.com
DAST_AUTH_URL: https://staging.example.com/login
DAST_USERNAME: $DAST_USER
DAST_PASSWORD: $DAST_PASSWORD
DAST_AUTH_VERIFICATION_URL: https://staging.example.com/dashboard
script:
- /analyze
artifacts:
reports:
dast: gl-dast-report.json
rules:
- if: $CI_COMMIT_BRANCH == "main"OWASP ZAP, GitLab Ultimate olmayan ekipler için ücretsiz bir alternatif sağlar. Kimlik doğrulamalı taramalar, hassas işlemlerin genellikle bulunduğu giriş duvarlarının arkasındaki işlevselliği test eder. Kubernetes ortamları için API güvenlik testi, ingress yapılandırmalarını ve service mesh politikalarını doğrular.
Infrastructure as Code Güvenlik Taraması
Terraform, Kubernetes manifest'leri ve Helm chart'ları saldırganların hedef aldığı altyapıyı tanımlar. IaC taraması, bulut ortamlarına ulaşmadan önce yanlış yapılandırmaları yakalar.
# Checkov IaC scanning in GitHub Actions
iac-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Checkov
uses: bridgecrewio/checkov-action@v12
with:
directory: terraform/
framework: terraform
soft_fail: false
output_format: sarif
output_file_path: checkov.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: checkov.sarifCheckov, Terraform yapılandırmalarını CIS ve SOC2 dahil güvenlik benchmark'larına göre doğrular. SARIF çıktısı, birleşik güvenlik açığı takibi için GitHub Security sekmesiyle entegre olur. Ansible kullanan ekipler, aynı pipeline aşamasına güvenlik kurallarıyla ansible-lint ekleyebilir.
GitHub Actions Tedarik Zinciri Güçlendirme
Action'ları tam commit SHA'larına sabitlemek, maintainer'ların veya kompromize olmuş hesapların mevcut tag'lere kötü amaçlı sürümler force-push ettiği tag tabanlı saldırıları önler. Mayıs 2026'daki Megalodon kampanyası, altı saatlik bir pencerede binlerce depoya 5.700'den fazla kötü amaçlı commit gönderdi.
# Pin to commit SHA, not tag
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# Avoid mutable tags like @v4 or @latest
# Bad: uses: actions/checkout@v4Dependabot, yeni sürümler çıktığında SHA-pinlenmiş action'ları günceller. OWASP DevSecOps Guideline ek kontroller önerir:
permissions:blokları kullanarak workflow izinlerini gereken minimum ile sınırlamapull_request_targettetikleyicilerini devre dışı bırakma veya işbirlikçilerinden etiketli PR'larla sınırlama- Organizasyon düzeyinde salt okunur varsayılanlarla
GITHUB_TOKENkullanma - Varsayılan branch'lerde zorunlu durum kontrolleri ve branch koruması etkinleştirme
Yaygın DevSecOps Mülakat Soruları
Mülakatçılar hem teknik derinliği hem de pratik deneyimi değerlendirir. Bu sorular DevOps güvenlik mülakatlarında sıkça görülür.
S: Secret'ların depoya commit edilmesini nasıl önlersiniz?
detect-secrets veya gitleaks gibi araçlarla pre-commit hook'ları, commit'ten önce staged değişiklikleri tarar. GitHub Enterprise veya GitLab'daki sunucu tarafı push kuralları, bilinen secret formatlarıyla eşleşen kalıplar içeren commit'leri engeller. Geliştiriciler yerel hook'ları atlayabildiğinden, secret taraması CI'da bir yedek olarak da çalışmalıdır.
S: SAST, DAST ve SCA arasındaki farkı açıklayın.
SAST, kaynak kodu çalıştırmadan analiz eder; SQL injection kalıpları ve hard-coded kimlik bilgileri gibi hataları bulur. SCA, paket sürümlerini CVE veritabanlarıyla eşleştirerek bağımlılıklardaki bilinen güvenlik açıklarını tanımlar. DAST, kötü amaçlı istekler göndererek ve yanıtları gözlemleyerek çalışan uygulamaları test eder. Olgun bir pipeline üçünü de çalıştırır: Her PR'da SAST ve SCA, production release'lerden önce staging'de DAST.
S: CI/CD'de en az yetki ilkesi nedir?
Build job'ları yalnızca belirli görevlerini tamamlamak için gereken izinlere sahip olmalıdır. Staging'e dağıtan bir job, production kimlik bilgilerine ihtiyaç duymaz. OIDC federasyonu, belirli depolar, branch'ler ve workflow job'larına kapsamlı kimlik bilgileri vererek bunu zorlar. OWASP CI/CD Top 10, yetersiz kimlik ve erişim yönetimini en büyük risk olarak listeler çünkü aşırı izinlere sahip kompromize olmuş job'lar saldırı yüzeyini dramatik şekilde genişletir.
S: Konteyner imajlarının bütünlüğünü nasıl doğrularsınız?
Content trust imzaları (Docker Content Trust, Sigstore cosign), imajların güvenilir pipeline'lar tarafından build edildiğinin kriptografik doğrulamasını sağlar. SBOM attestation'ları imajların içindeki bileşenleri belgeler. Kubernetes'teki admission controller'lar imzasız imajları veya bilinen kritik güvenlik açıklarına sahip imajları reddeder. Registry taraması, build zamanından sonra ortaya çıkan güvenlik açıklarını yakalar.
S: CI/CD üzerinde bir tedarik zinciri saldırısını ve nasıl önleneceğini açıklayın.
tj-actions/changed-files saldırısı, yaygın kullanılan bir GitHub Action'ı kompromize ederek saldırgan tarafından kontrol edilen endpoint'lere secret'ları sızdıran kod enjekte etti. Önleme tedbirleri şunları içerir: action'ları tag yerine commit SHA'larına sabitleme, Dependabot kullanarak sabitlenmiş sürümleri güncelleme, organizasyon düzeyinde politikalar aracılığıyla hangi action'ların çalışabileceğini kısıtlama ve beklenmedik ağ bağlantıları veya kimlik bilgisi erişimi için workflow çalıştırmalarını izleme.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
Teknik Mülakatlar için DevSecOps Yol Haritası Oluşturma
Güvenlik uygulaması hakkında yapısal düşünce sergileyen adaylar öne çıkar. Pratik bir DevSecOps dağıtımı, yüksek etkili, düşük çabalı kontrolleri önceliklendirir:
- Secret taraması ve branch korumasını hemen etkinleştirme, çünkü her ikisi de ücretsiz ve en yaygın saldırı vektörlerini engeller
- İlk sprint'te pull request kontrollerine SAST ve SCA ekleme, birleştirmeden önce güvenlik açıklarını yakalama
- Statik kimlik bilgilerinden OIDC federasyonuna geçiş, CI/CD platformlarından en tehlikeli secret'ları ortadan kaldırma
- İmaj build'lerinin bir parçası olarak konteyner taraması ve SBOM oluşturma uygulama
- Terraform, Kubernetes ve bulut yapılandırması için IaC taraması dağıtma
- Kimlik doğrulamalı veya hassas veri işleyen uygulamalar için DAST ekleme
- Production Kubernetes kümeleri için Falco veya eşdeğeriyle runtime izleme oluşturma
Mülakatçılar, trade-off'ları kabul eden adayları değerli bulur. Güvenlik taraması pipeline gecikmesi ekler. Yanlış pozitifler alarm yorgunluğu yaratır. Olgun bir DevSecOps pratiği eşikleri ayarlar, telafi edici kontrollerle hesaplanmış riskleri kabul eder ve düzeltme için ortalama süreyi sürekli ölçer.
Pratik yapmaya başla!
Mülakat simülatörleri ve teknik testlerle bilgini test et.
DevOps kodundaki hatayı bulabilir misin?
Gerçek bir kod parçası, gizli bir hata, günde bir deneme. Denemek için hesap gerekmez.

Yazan:
Anthony Fillion-MailletSharpSkill kurucusu
10 yılı aşkın süredir fullstack geliştirici. SharpSkill’i yönetiyor ve burada yayımlanan her şeyden sorumlu.
8 Eylül 2026 tarihinde güncellendi
Paylaş
İlgili makaleler

2026'da DevOps Pipeline Güvenliği: SAST, DAST, Supply Chain ve Mülakat Soruları
2026 yılında CI/CD pipeline güvenliğini sağlama konusunda kapsamlı rehber. SAST, DAST, SCA, SBOM, SLSA provenance ve pratik DevSecOps mülakat sorularını içerir.

2026'da Kubernetes Secrets Yönetimi: External Secrets, Vault ve Mülakat Soruları
External Secrets Operator ve HashiCorp Vault ile Kubernetes secrets yönetiminde uzmanlaşma rehberi. Güvenli kalıplar, en iyi uygulamalar ve DevOps mülakat soruları.

2026'da Ansible vs Terraform: Infrastructure as Code ve DevOps Mülakat Soruları
Ansible ve Terraform karşılaştırması: Infrastructure as Code perspektifinden temel farklar, pratik kullanım senaryoları ve 2026 DevOps mülakat soruları.