GitLab DAST, çalışan bir uygulamaya dışarıdan istek göndererek güvenlik açıklarını arar. Kodun kendisini değil, ayakta duran sistemin davranışını test eder. Bu nedenle bulgular genellikle gerçek bir saldırı yüzeyine daha yakındır.
İki nokta özellikle karıştırılıyor: hangi tarayıcının kullanıldığı ve taramanın hangi ortamda çalıştırılmasının güvenli olduğu. Birçok Türkçe kaynak GitLab DAST’ı hâlâ ZAP tabanlı olarak anlatır; bu bilgi güncel sürümler için doğru değildir.
Tarayıcı tarafında ne değişti?
GitLab’ın eski proxy tabanlı DAST analizörü OWASP ZAP üzerine kuruluydu. Güncel DAST, tarayıcı tabanlı analizörle çalışır ve resmî dokümantasyonda eski analizörden geçiş için ayrı rehberler bulunur. Pratik sonucu şudur:
- Eski proxy yapılandırması için yazılmış örnekler güncel analizörde çalışmaz.
- Modern, JavaScript ağırlıklı arayüzlerde tarayıcı tabanlı yaklaşım daha isabetli sonuç verir.
Bizim kurduğumuz pipeline
Ayrı bir tarayıcı kurmuyoruz; GitLab’ın kendi DAST job’ını kullanıyoruz. Şablon hazır geldiği için iş, aracı kurmak değil kapsamı doğru tanımlamaktır.
Aynı pipeline’a Secret Detection‘ı da ekliyoruz. Depoya sızmış parola, API anahtarı ve token bulmak, dinamik taramadan daha hızlı ve daha kesin sonuç verir; bu yüzden ikisini birlikte çalıştırıyoruz.
Tipik akış şöyledir:
- Uygulama test ortamına dağıtılır.
- DAST job’ı bu ortamı hedefleyerek çalışır; kapsam ve hedef adresler açıkça sınırlandırılır.
- Secret Detection deponun tamamını tarar.
- Kritik bulgular pipeline’ı durdurur; kalanlar merge request üzerinden değerlendirilir.
- Tekrarlayan yanlış alarmlar gerekçesiyle işaretlenir.
Kurulumu ve eşik ayarlarını biz yapıp süreci ekibe devrediyoruz. Bulguları düzenli değerlendiren bir sahip yoksa hiçbir tarama sonuç üretmez.
Güvenli çalıştırma kuralları
- Yalnızca taramaya izin verilmiş sistemleri hedefleyin; üçüncü taraf servisleri kapsam dışında bırakın.
- Hazırlık/test ortamı kullanın; gerçek müşteri verisiyle çalışan ortamda tam tarama yapmayın.
- Tarama için ayrı bir test kullanıcısı tanımlayın ve yetkisini sınırlayın.
- Veri silen, ödeme başlatan veya bildirim gönderen uç noktaları kapsamdan çıkarın.
- Taramayı yoğun saat dışında planlayın ve eşzamanlı istek sayısını sınırlı tutun.
- Kimlik doğrulama gerektiren akışlar taranacaksa oturum yapılandırmasını ayrıca doğrulayın.
Bulgular ne yapılacak?
Tarama açmak işin kolay kısmıdır. Sürdürülebilir kurgu için:
- Kritik ve yüksek seviyeli bulguları ayırın.
- Her bulgu için sahip belirleyin.
- Yanlış alarmları gerekçeli olarak kayıt altına alın.
- Tekrarlayan bulgular için kalıcı çözüm (kütüphane, ortak katman, yapılandırma) arayın.
Resmi kaynaklar
- GitLab DAST dokümantasyonu
- Tarayıcı tabanlı DAST analizörü
- GitLab fiyatlandırma
- GitLab Secret Detection
Mono ne zaman yardımcı olur?
- Yerleşik DAST ile bağımsız tarayıcı arasındaki kararın maliyetle birlikte değerlendirilmesi
- Tarama ortamının, kapsamının ve test kullanıcısının güvenli biçimde tanımlanması
- Kimlik doğrulamalı akışlar için tarama yapılandırması
- Bulgu değerlendirme ve takip sürecinin kurulması

