DevSecOps Cephaneliği: Sıfırdan Kahramana
Gerçekçi olalım: trivy image çalıştırmak DevSecOps değildir. Bu sadece gürültü üretimidir.
Gerçek güvenlik mühendisliği sinyal-gürültü oranı ile ilgilidir. Geliştiricilerinizin saygı duyduğu, etrafından dolanmadığı bir boru hattı inşa etmekle ilgilidir. Bu kılavuz, işi durdurmadan güvenlik açıklarını durdurmak için 17 endüstri standardı aracın “üretim kalitesinde” yapılandırmalarını sağlar.
Aşama 1: Ön Taahhüt ve Yerel (Soldan Kaydır veya Eve Git)
CI’da sorunları yakalamak zaten çok geç. Sadece hesaplama kredilerini ve bir geliştiricinin bağlam değiştirme zamanını boşa harcadınız. Onların dizüstü bilgisayarında yakalayın.
1. Gitleaks (Gizli Tutucu)
AWS anahtarlarını GitHub’da sızdıran şirket olmayın.
Çoğu kişi Gitleaks’i körü körüne çalıştırır. Profesyoneller Temel Çizgiler kullanır.
--baseline-path: Altın bilet. Yeni bir tarama çalıştırın, çıktıyı kaydedin. Artık Gitleaks sadece yeni sırları uyarır.--redact: Çıktı günlüklerinde keşfedilen sırları maskeleyin (yüzde 0-100). Asla çift sızdırmayın.--enable-rule: Belirli gizli türlerine (örneğin, sadece AWS anahtarları) kimlik ile odaklanın.--follow-symlinks: Sırlarınızı sembolik bağlantıların arkasına saklamayın.--ignore-gitleaks-allow: Satır içi “atla” yorumlarının kullanımına izin vermeyin. Kuralları uygulayın.--max-target-megabytes: Büyük ikili blobları taramaktan kaçının.
2. Trufflehog (Doğrulayıcı)
Bir anahtar gibi görünen bir dize bulmak bir şeydir. Çalışıp çalışmadığını kontrol etmek başka bir şeydir.
Trufflehog, sağlayıcıya karşı kimlik bilgilerini doğrulayarak kendini ayırt eder.
--no-verification: Daha hızlı mod. Sadece statik analiz istiyorsanız “canlı kontrolü” atlar.--results: Çıktıyıverified(gerçek tehlike) veyaunknownile filtreleyin.--filter-entropy: Yüksek entropili dizeleri (muhtemelen şifreler) regex eşleşmesi olmadan bile bulun. 3.0 ile başlayın.--detector-timeout: CI takılmalarını önlemek için dedektör başına yürütme süresini sınırlayın.--archive-max-depth: İç içe geçmiş zip-bombalarında sıkışıp kalmayın.
3. Opengrep (Hızlı Statik Analiz)
Grep öldü. Yapısal arama yaşasın.
Semgrep uyumlu motor, sadece dizeler değil, kod kalıpları kullanarak hataları bulur.
--baseline-commit: Çok önemli. Belirli bir committan bu yana değişen kodu tarayın (Delta Tarama).--config: YAML sınırlarından veya kayıt defterinden özel kurallar yükleyin.--dataflow-traces: Verinin kaynaktan hedefe nasıl hareket ettiğini gösteren tam yolu gösterin.--exclude-minified-files:.min.jsve diğer yoğun, insan tarafından okunamayan dosyaları atlayın.--strict: Yapılandırma geçersizse veya WARN düzeyinde hatalar meydana gelirse derlemeyi başarısız kılın.
4. Bandit (Python Güvenliği)
Python AST analizi için standart.
-t/--tests: YALNIZCA belirli test kimliklerini çalıştırın (izin listesi).-s/--skips: Belirli test kimliklerini atlayın (yasak listesi).--severity-level: Yalnızcadüşük,ortaveyayüksekseviyesindeki sonuçları gösterin.--confidence-level: “Tahmin”i filtreleyin—yalnızca yüksek güven düzeyindeki bulguları gösterin.--ignore-nosec: Geliştiricilerin# noseckullanarak atlamaya çalıştıklarını görün.
5. Dustilock (Bağımlılık Karışıklığı)
Saldırganın kötü niyetli bir özel paket enjekte etmesini önleyin.
-a: Sadece denetim. Paket adı ele geçirme konusunda savunmasız olup olmadığınızı kontrol edin, ancak hattı durdurmayın.
6. Hadolint (Docker Zekası)
Dockerfile’ınız berbat. Hadolint nedenini biliyor.
--trusted-registry: Tedarik zinciri güvenliği. Sadeceinternal.ecr.aws’den gelen görüntülere izin verin.--strict-labels: Meta veri standartlarını zorunlu kılın (örneğin,maintainer,cost-center).--ignore: Yapınıza uymayan kuralları sessize alın.--error/--warning: Kural şiddetlerini politikanıza uyacak şekilde yeniden eşleyin.--require-label: Belirli etiket formatlarını zorunlu kılın (Regex).
7. TFLint (Terraform Mantığı)
terraform validate bir sözdizimi kontrolüdür. TFLint bir mantık kontrolüdür.
--enable-plugin: API spesifikasyonlarına karşı kontrol etmek için sağlayıcıya özgü kuralları yükleyin (örneğin, AWS, Azure).--minimum-failure-severity: Yapı kırılma eşiğini kontrol edin (Hata, Uyarı, Bildirim).--call-module-type:all,localveyanonemodüllerini tarayın.--var-file: Koşullu mantığı doğru bir şekilde değerlendirmek için değişkenler enjekte edin.
Aşama 2: CI Kapı Bekçileri (Güven, ama Doğrula)
Burası savaş odası. Yapı sürecinde derin analiz.
8. Trivy (Ağır Top)
İsviçre Çakısı.
--ignore-unfixed: Zorunlu. Bir yama yoksa, derlemeyi başarısız yapma. İzlemede tut.--ignore-status: Belirli durumlara sahip güvenlik açıklarını filtrele.--pkg-types: Taramalarıospaketlerine veyalibrarybağımlılıklarına odakla.--offline-scan: Hava boşluklu ortamlarda çalıştır.--include-dev-deps:devDependencies’i göz ardı etme—bunlar hala derleme ortamını tehlikeye atabilir.--list-all-pkgs: Her şeyi çıktı olarak ver. Tam bir SBOM oluşturmak için gereklidir.
9. Syft (SBOM Üreticisi)
Sahip olduğunuzu bilmediğiniz şeyi güvence altına alamazsınız.
--enrich: Daha zengin kullanım bağlamı için çevrimiçi meta veriler ekle (Golang, Java, vb.).-s/--scope: Tüm katmanları tara (all-layers) veya sadece son görüntüyü (squashed).--select-catalogers: Belirli paket yöneticilerini hedefle (npm, pip, apk).--platform: Belirli mimarileri hedefle (örneğin,arm64).
10. Grype (SBOM Tarayıcısı)
Bayrağı Syft’ten devralır.
-f/--fail-on: Ciddiyet >=orta,yüksek, vb. ise derlemeyi kır.--only-fixed: Sadece eyleme geçirilebilir güvenlik açıklarını raporla.--by-cve: Takip için çıktıyı CVE ID’ye göre düzenle.--ignore-states: Genel “wontfix” veya “etkilenmedi” durumlarını göz ardı et.
11. Checkov (IaC Yönetimi)
Bulut yanlış yapılandırmalarını size maliyet yaratmadan önce önleyin.
-s/--soft-fail: Uyarı verin ama kırmayın. “Gözlem modu” için en iyisi.--check/--skip-check: Belirli kontrolleri beyaz listeye veya kara listeye alın (CKV_AWS_1).--skip-framework: Tüm çerçeveleri yoksay (örneğin, Terraform’u tarayın ama CloudFormation’u atlayın).--enable-secret-scan-all-files: Gizli taramayı standart yapılandırma dosyalarının ötesine genişletin.--block-list-secret-scan: Gizli tarayıcıdan belirli dosyaları hariç tutun.
12. KICS (Keeping IaC Secure)
Geniş IaC kapsamı için alternatif.
--exclude-queries: Belirli sorgu kimliklerini filtreleyerek gürültüyü azaltın.--exclude-categories: Bulguları güvenlik alanına göre filtreleyin.--fail-on: Hangi ciddiyet seviyelerinin sıfır olmayan bir çıkış kodu döndüreceğini tanımlayın.--minimal-ui: Daha temiz günlükler için basitleştirilmiş CLI çıktısı.--disable-secrets: Dahili gizli taramayı kapatın (Gitleaks’i kullanın).
13. Terrascan (Policy-as-Code)
Çoklu bulut politika uygulaması için uzmanlaşmış.
-i/--iac-type: Platformu belirterek optimize edin (k8s, helm, terraform).-t/--policy-type: Sağlayıcıya göre politikaları filtreleyin (aws, azure, gcp).--severity: Rapor edilecek minimum ciddiyeti tanımlayın.--non-recursive: Yalnızca mevcut dizini tarayın.
14. OWASP Dependency-Check (Legacy & Compliance)
Java ve .NET SCA için ağır yük kaldırıcı.
--failOnCVSS: Herhangi bir kütüphane bir CVSS puanını (örneğin, 7.0) aşarsa derlemeyi durdur.--suppression: Bilinen güvenli açıkları “sessize almak” için bir XML dosyası kullan (VEX-lite).--enableExperimental: Daha az yaygın diller için yeni analizörleri kullan.
15. DevSkim (Polyglot Hijyen)
Geliştirici merkezli IDE ve CI kontrolleri.
--rule-ids: Analizi belirli kurallarla sınırla.--ignore-globs: Gürültülü dosyaları atlamak için standart glob desenlerini kullan.--skip-git-ignored-files:.gitignoreile otomatik olarak senkronize et.--skip-excerpts: Raporları küçük tutmak için kod örneklerini kaldır.
Aşama 3: Çalışma Zamanı & Artifaktlar (Son Hat)
Son artifaktı veya canlı ortamı tarama.
16. Clamscan (Kötü Amaçlı Yazılım Savunması)
Çünkü bazen insanlar S3 bucket’ınıza virüs yükler.
--exclude/--exclude-dir: Zaman kazanmak için dosya/dizin desenlerini atla.--detect-pua: “Potansiyel Olarak İstenmeyen Uygulamalar”ı (adware, madenciler) ara.--detect-structured: Kredi Kartları/SSN’ler gibi hassas veri desenlerini tara.--scan-pdf/--scan-html: Belge türleri için derin incelemeyi etkinleştir.--cross-fs: Farklı dosya sistemleri arasında taramaya izin ver (dikkatle kullanın).
17. Nuclei (Hacker’ın Bıçağı)
Yasadışı hissettiren şablonlu tarama.
-t/--templates: Belirli şablon dosyalarını veya dizinlerini çalıştırın.-tags: Teknolojiye göre tarama hedefleyin (örneğin,wordpress,cve).-s/--severity: Şablonları etki seviyesine göre filtreleyin.-fr/--follow-redirects: Yönlendirmeleri (HTTP 301/302) takip ederek yükü bulun.-passive: Yeni “saldırılar” göndermeden mevcut başlıklar/yanıtlar üzerinden tarama yapın.-etags fuzz: Üretimde fuzzing şablonlarını hariç tutun.
Özet: “Mükemmel” Boru Hattı
- Yerel:
pre-commitGitleaks (temel), Trufflehog (doğrulanmış) ve Hadolint çalıştırır. - Yapı: Trivy bağımlılıkları tarar (
--ignore-unfixed). Syft SBOM oluşturur. Dependency-Check uyumluluk için kullanılır. - Test: Checkov ve KICS Terraform planını tarar. Opengrep kod desenlerini kontrol eder.
- Artefakt: Clamscan son ikili/varlıkları kontrol eder.
- Dağıtım: Nuclei canlı uç noktayı kontrol eder.
Araçlarınızı ayarlayın, yoksa onlar sizi ayarlar.
Plexicus bunu daha kolay hale getirdi
Tek bir birleşik gösterge paneli ile ve tüm araç entegrasyonlarımıza erişimle, sadece birkaç tıklama ile Plexicus


