GoCD ile Netsparker Entegrasyonu
Continuous Integration mimarisi günümüzdeki yazılım projelerinde olmazsa olmaz haline geldi. Deployment sürecinin otomatize olarak yapılmasının artılarından dolayı güvenlik testlerinin de bu mimari dahilinde otomatize edilmesi gereksinimi ortaya çıktı. GoCD popüler Continuous Integration araçlarından biridir. Bu yazımızda GoCD ile Netsparker tarafından yapılacak testlerin nasıl otomatize edilip Continuous Integration sürecine dahil edilebileceğini anlattık.
GoCD üzerinden Netsparker’a otomatik olarak tarama yaptırmak için aşağıdaki iki adımın gerçekleştirilmesi gerekmektedir:
- İşletim sisteminin PATH ortam değişkenine Netsparker’ın kurulu olduğu dizini ekleme.
- GoCD üzerinde “Custom Command Task” oluşturma.
1- PATH Ortam Değişkenine Netsparker’ın Kurulu Olduğu Dizini Ekleme
Windows 10 işletim sisteminde aşağıdaki adımları takip ederek PATH ortam değişkenine Netsparker’ın kurulu olduğu dizin eklenebilir:
1. “Bu Bilgisayar”a sağ tıklayıp “Özellikler”e tıklayın (“This PC” > “Properties”)
2. “Gelişmiş Sistem Ayarları”na tıklayın (Advanced System Settings)
3. "Gelişmiş" tab’ındaki “Ortam Değişkenleri”ne tıklayın (Advanced > Environment Variables)
4. “Path”i seçip “Düzenle...” butonuna basın (Path > Edit...)
5- “Yeni” butonuna basıp Netsparker’ın kurulu olduğu dizini yazın (New > Netsparker Path)
2- GoCD üzerinde “Custom Command Task” oluşturma
GoCD üzerinde yeni bir Custom Command Task oluşturup gerekli alanlar aşağıdaki şekilde doldurulursa bu task her çalıştığında otomatik olarak Netsparker ile tarama gerçekleştirip “Detailed Scan Report” formatında rapor dosyasını kaydeder.
Command:
netsparker.exe
Arguments:
/a
/url
http://php.testsparker.com/
/rt
"Detailed Scan Report"
/r
"C:\Program Files (x86)\Go Agent\pipelines\report_phptestsparkercom.html"
(Burada kullanılan parametreler hakkında ayrıntılı bilgiye https://www.netsparker.com/blog/docs-and-faqs/netsparker-desktop-command-line-interface-arguments/ adresinden ulaşılabilir)
Komut satırında “rt” parametresine vermiş olduğumuz “Detailed Scan Report” değerini;
C:\Users\{kullanici_adiniz}\Documents\Netsparker\Resources\Report Templates
içerisindeki şablon isimlerinden almaktadır.
Örneğin “Detailed Scan Report” yerine aşağıdaki görselde bulunan herhangi bir raporlama şablonunun ismi yazılırsa, tarama sonucunda yazılan şablona uygun olarak rapor üretilecektir.