0Pricing
Security+ Academy · Ders

DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma

Her gönderimde güvenlik kapılarının otomatik olarak uygulanması için SAST, DAST, kapsayıcı taraması ve IaC güvenlik denetimlerini CI/CD işlem hatlarına yerleştirin.

DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma, CoddyKit'te ücretsiz bir Security+ Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Security+ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Security+ Academy kursu toplamda 4 dersten oluşur.

Güvenliği Sola Kaydırmak Nedir?

Güvenliği sola kaydırmak, güvenlik etkinliklerini dağıtımdan önceki son kapıda test etmek yerine yazılım geliştirme yaşam döngüsünün daha erken aşamalarına (geliştiricinin IDE'sine, kod incelemesine ve CI/CD işlem hattına) entegre etmek anlamına gelir. Geleneksel güvenlik incelemeleri geliştirme döngüsünün sonunda yapılırdı; bu da düzeltmeleri pahalı ve zaman alıcı hâle getirirdi. Bir güvenlik açığını geliştirme sırasında bulup düzeltmenin maliyeti, üretimde bir ihlal sonrasında keşfetmeye kıyasla yaklaşık 100 kat daha düşüktür.

DevSecOps Nedir?

DevSecOps, tüm SDLC boyunca geliştirme, operasyon ve güvenlik ekipleri arasındaki ortak sorumluluk olarak güvenliği bütünleştirerek DevOps modelini genişletir. Amaç, teslimatı yavaşlatmadan her aşamada çalışacak şekilde güvenlik testlerini otomatikleştirmektir. Böylece güvenlik, tek seferlik bir kontrol noktası olmaktan çıkar ve işlem hattının sürekli bir özelliği hâline gelir. Olgun DevSecOps programlarında geliştiriciler, manuel bir incelemeden haftalar sonra değil, kod yazdıktan saniyeler içinde güvenlik geri bildirimi alır.

SAST: Statik Uygulama Güvenlik Testi

SAST (Statik Uygulama Güvenlik Testi), uygulamayı çalıştırmadan kaynak kodunu, bayt kodunu veya ikili kodu analiz eder. SAST araçları güvenlik açıklarına işaret eden örüntüleri tarar: SQL birleştirme işlemleri, temizlenmemiş çıktı, yasaklanmış işlevlerin kullanımı, koda sabitlenmiş kimlik bilgileri ve güvenli olmayan şifreleme kullanımı. SAST, her gönderimde sürekli tümleştirme işlem hattında çalışarak sorunları QA veya üretim ortamına ulaşmadan yakalar. Yaygın araçlar arasında Semgrep, SonarQube, Checkmarx ve Veracode bulunur.

# Semgrep SAST rule example:
# Detect raw SQL string concatenation (SQL injection risk):
# rules:
#   - id: sql-injection-string-concat
#     pattern: |
#       $QUERY = '...' + $USER_INPUT
#       $DB.execute($QUERY)
#     message: 'SQL injection risk: use parameterized queries'
#     severity: ERROR
#     languages: [python]

# Running Semgrep in CI:
# semgrep --config auto --error src/
# -> Fails build if ERROR severity findings found

DAST: Dinamik Uygulama Güvenlik Testi

DAST (Dinamik Uygulama Güvenlik Testi), kötü amaçlı yükler gönderip yanıtları gözlemleyerek çalışan bir uygulamayı test eder ve gerçek bir saldırganın davranışını taklit eder. SAST'tan farklı olarak DAST, yalnızca çalışma zamanında ortaya çıkan güvenlik açıklarını bulur: kimlik doğrulama kusurları, oturum yönetimi sorunları, iş mantığı hataları ve karmaşık veri akışlarındaki enjeksiyon güvenlik açıkları. Yaygın DAST araçları arasında OWASP ZAP (ücretsiz), Burp Suite Enterprise ve Acunetix bulunur. DAST, işlem hattında hazırlık ortamına karşı çalıştırılır.

# OWASP ZAP automated DAST in CI pipeline:
# docker run -t owasp/zap2docker-stable zap-baseline.py \
#   -t https://staging.myapp.com \
#   -r zap-report.html \
#   -I  (do not fail on alerts, report only)

# For blocking builds on high findings:
# zap-full-scan.py -t https://staging.myapp.com \
#   -l HIGH   (fail if HIGH or CRITICAL alerts found)

# ZAP tests for:
# SQL injection, XSS, CSRF, insecure headers,
# path traversal, broken authentication, open redirects

Kapsayıcı İmajı Taraması

Kapsayıcı imajları, işletim sistemi paketleri, dil çalışma zamanları ve uygulama bağımlılıkları içeren temel imajlardan oluşturulur; bunların tümü bilinen güvenlik açıklarının olası kaynaklarıdır. Kapsayıcı imajı taraması araçları imaj katmanlarını analiz eder ve güvenlik açığı içeren paketleri belirler. Trivy (ücretsiz ve hızlı), Grype (Anchore) ve Clair yaygın olarak kullanılır. Taramalar imaj oluşturma işlem hattının bir parçası olarak çalışır ve kritik CVE'ler içeren imajların üretim kayıtlarına aktarılmasını engeller.

# Trivy container scan in CI pipeline:
# trivy image --severity HIGH,CRITICAL \
#             --exit-code 1 \
#             myapp:latest

# Output example:
# library/python:3.9-slim (debian 11.6)
# ===================================
# CVE-2023-1234  CRITICAL  openssl 1.1.1n-0+deb11u3 -> 1.1.1t
# CVE-2023-5678  HIGH      libssl  1.1.1n            -> 1.1.1t

# --exit-code 1 causes pipeline to fail
# on any HIGH or CRITICAL finding -> blocks push to registry

Kod Olarak Altyapı (IaC) Güvenlik Taraması

IaC güvenlik taraması, uygulanmadan önce Terraform, CloudFormation, Kubernetes bildirimlerini ve Helm grafiklerini güvenlik açısından hatalı yapılandırmalar için analiz eder. Checkov ve tfsec gibi araçlar şu ihlalleri denetler: sunucu tarafı şifrelemesi olmayan S3 paketleri, gelen tüm trafiğe izin veren güvenlik grupları, joker karakter izinlerine sahip IAM rolleri ve kök kullanıcı olarak çalışan Kubernetes pod'ları. IaC taraması, bulut yapılandırma hatalarının herhangi bir ortama ulaşmasını önler.

# Checkov IaC scan example:
# checkov -d ./terraform/ --compact

# Findings example:
# FAILED: CKV_AWS_20: S3 Bucket has an ACL defined which allows public access
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_57: S3 Bucket has server access logging disabled
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_24: Ensure no security groups allow all ingress traffic
#   File: /terraform/sg.tf, Line: 8

# Passed checks: 47, Failed: 3, Skipped: 0

İşlem Hatlarında Gizli Bilgi Taraması

Gizli bilgi taraması araçları, yanlışlıkla eklenmiş kimlik bilgilerini bulmak için kaynak kodunu ve gönderimleri denetler. truffleHog, GitLeaks ve detect-secrets gibi araçlar git geçmişini ve yeni gönderimleri API anahtarları, bağlantı dizeleri, özel anahtarlar ve JWT belirteçleriyle eşleşen örüntüler için tarar. Ön gönderim kancası olarak gizli bilgi taraması, kimlik bilgileri içeren gönderimleri engeller. Sürekli tümleştirme kapısı olarak her gönderimde depodaki tüm dosyaları tarar ve gizli bilgiler algılanırsa derlemeyi başarısız kılar.

# GitLeaks pre-commit hook configuration:
# .gitleaks.toml:
# [allowlist]
#   description = 'Known false positives'
#   paths = ['test/fixtures/fake_key.txt']

# Install as pre-commit hook:
# gitleaks protect --staged
# (scans staged files before commit is created)

# In CI pipeline:
# gitleaks detect --source=. --report-format=json \
#   --report-path=gitleaks-report.json
# exit code 1 = secrets found -> blocks pipeline

SDLC'de Tehdit Modelleme

Tehdit modelleme, kod yazılmadan önce güvenlik gereksinimlerini ve tasarım kusurlarını belirlemeye yönelik yapılandırılmış bir süreçtir. STRIDE modeli (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege), ekiplerin bir sistemin veri akış şemasına yönelik tehditleri sistematik olarak sıralamasına yardımcı olur. Tehdit modelleme oturumları tasarım sırasında gerçekleştirilir; bunun sonucunda güvenlik gereksinimlerini yönlendiren ve SAST/DAST kural seçimine bilgi sağlayan önceliklendirilmiş bir tehdit listesi oluşturulur.

# STRIDE threat categories applied to a web login API:
# S - Spoofing:       Attacker impersonates valid user
#     Control: Strong authentication, MFA
# T - Tampering:      Attacker modifies login request
#     Control: TLS, HMAC, input validation
# R - Repudiation:    User denies actions taken
#     Control: Audit logging with tamper-evident storage
# I - Info Disclosure: Password exposed in logs
#     Control: Never log sensitive fields
# D - Denial of Service: Flood login endpoint
#     Control: Rate limiting, CAPTCHA
# E - Elevation of Privilege: Bypass authorization
#     Control: Server-side authorization checks

Güvenlik Kapıları: Engelleyici ve Bilgilendirici

DevSecOps işlem hatları, güvenlik denetimlerini ya engelleyici kapılar (derlemeyi başarısız kılar, dağıtımı önler) ya da bilgilendirici denetimler (bulguları raporlar, dağıtımın devam etmesine izin verir) olarak uygular. SAST, kapsayıcı taraması ve gizli bilgi algılamasından elde edilen kritik ve yüksek önem dereceli bulgular genellikle engellenir. Orta ve düşük önem dereceli bulgular, engelleme olmadan bildirim veya kayıt oluşturur. Bu denge, gerçek anlamda tehlikeli koşulların otomatik olarak üretim ortamına ulaşmasını önlerken güvenliğin tüm teslimat sürecini durdurmasını engeller.

DevSecOps'ta Güvenlik Ölçümleri

DevSecOps programları açık ölçütlerle değerlendirilmelidir. Temel ölçütler şunlardır: yüksek önem dereceli bulgular için Ortalama Düzeltme Süresi (MTTR), güvenlik açığı yoğunluğu (zaman içinde her 1.000 kod satırındaki bulgu sayısı), kaçış oranı (üretim sonrasında bulunan güvenlik açıklarının üretim öncesinde bulunanlara oranı) ve işlem hattı güvenlik kapısı geçiş oranı. Bu ölçütlerin zaman içindeki eğilimini izlemek, programın etkililiğini gösterir ve ek araçlara veya eğitime yapılacak yatırımlarla ilgili kararları yönlendirir.

Kültür: Ortak Sorumluluk Olarak Güvenlik

DevSecOps'un en zor kısmı teknik değil, kültüreldir. Güvenlik yalnızca güvenlik ekibinin değil, her geliştiricinin sorumluluğu hâline gelmelidir. Bunun için şunlar gerekir: geliştirici güvenlik eğitimi (güvenli kodlama farkındalığı), geliştirme ekipleri içinde yer alan güvenlik öncüleri, güvenlik açıkları üretim ortamına ulaştığında gerçekleştirilen suçlayıcı olmayan olay sonrası değerlendirmeler (cezalandırmaya değil, süreç iyileştirmesine odaklanma) ve gerçek bir güvenlik riski gerektirdiğinde hızdan ödün verilmesine izin veren yönetici desteği. Kültür değişikliği olmadan kullanılan teknoloji, geliştiricilerin görmezden gelmeyi öğrendiği tarama araçları üretir.

Hızlı Kontrol

Bu dersteki CompTIA Security+ (SY0-701) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: DevSecOps, SAST, DAST, gizli bilgi taramasını, kapsayıcı taramasını ve IaC taramasını otomatik işlem hattı kapıları olarak bütünleştirir; yüksek önem dereceli bulguların engellenmesi, tehlikeli koşulların üretim ortamına ulaşmasını önler ve güvenliği sürecin önceki aşamalarına taşımak, düzeltme maliyetlerini büyük ölçüde azaltır çünkü güvenlik açıkları dağıtımdan sonra değil, geliştirme sırasında yakalanır. Sıradaki derste tesisler ve veri merkezleri için fiziksel güvenlik denetimlerini inceleyeceğiz.

Sıkça Sorulan Sorular

“DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma” dersi ücretsiz mi?

Evet — “DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Security+ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Security+ Academy kursu toplamda 4 dersten oluşur.

“DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma” dersinde ne öğreneceğim?

Her gönderimde güvenlik kapılarının otomatik olarak uygulanması için SAST, DAST, kapsayıcı taraması ve IaC güvenlik denetimlerini CI/CD işlem hatlarına yerleştirin. Security+ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Security+ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Security+ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Security+ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Security+ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Girdi Doğrulama ve Çıktı Kodlama
  2. Güvenli Gizli Bilgi Yönetimi ve Ortam Değişkenleri
  3. Bağımlılık Güvenliği ve Yazılım Bileşimi Analizi
  4. DevSecOps: Güvenliği İşlem Hatlarına Sola Kaydırma
← Security+ Academy Sayfasına Dön