Vulnerability Management

Django-DefectDojo ile Penetration Test ve Zafiyetlerin Yönetimi

Merhaba

Django-DefectDojo uygulaması Rackspace firmasında ki güvenlik ekibinin, penetration testlerini ve bulunan zafiyetlerin takibini yapabilmek adına kendileri için geliştirdikleri açık kaynak kodlu Django uygulamasıdır.

Bootstrap ve Django teknolojileri kullanılarak geliştirilmesine devam edilen DefectDojo uygulaması pentest süreçlerinin yönetimini son derece kolay hale getirmektedir.

Kurulum

Uygulamanın kurulumunu yeni bir Ubuntu 14.04 sunucu üzerinden gerçekleştireceğiz.

Şimdi sıra projeyi github üzerinden clone’lamak.

Şimdiyse DefectDojo uygulamasının kullandığı python modülleri ve settings.py ‘da yazılması gereken veri tabanı bağlantı bilgileri gibi işlemlerin tamamlanmasına. Tüm bu süreci bizim için otomatik olarak halledecek bir bash script’i proje ile birlikte github üzerinden gelmektedir.

Bu işlem biraz uzun sürebilir. Özellikle NPM paketlerinin kurulumundan sonra size veri tabanı için uername ve password soracaktır. Bir önce ki mysql_secure_installation adımında belirlediğiniz şifreyi girerek kurulumu tamamlayabilirsiniz.

Ardından Django migration işlemleri tamamlanacak ve size superuser oluşturulmak isteyip, istemediğiniz sorulacaktır. Evet diyerek aşağıdaki şekilde bir super user oluşturuyoruz.

Son olarak  python manage.py runserver komutu ile uygulama çalıştırılır. Ve karşınızda kullanıma hazır bir DefectDojo.

DefectDojo Temel Kavramlar

DefectDojo’nun kullandığı terimleri ve neye tekabûl ettiğine bakalım.

Product

Projenize verdiğiniz isimdir. Örneğin; pentest yapılacak uygulamanızın adını verebilirsiniz. Özellikle major release öncesi teste tabi tutulan uygulamalarınızı proje olarak eklerken, UygulamaAdıV0.1 gibi bir isimlendirme mimarisi seçebilirsiniz.

Test Types

Yapılacak olan “test” sürecini belirten alandır. Örneğin aşağıdaki şekillerde isimlendirmeler verilebilir.

  • Security
  • Automated Scans ( Acunetix, Netsparker )
  • API Test
  • Thread Analysis

Development Environments

Güvenlik testinin gerçekleştirileceği ortamı belirtir. Aşağıdaki şekilde örnekler verilebilir.

  • Development
  • Staging
  • Stable
  • Production

Testlerinizi en azından staging ortamında yapmanızı öneririm.

Engagement

Belirlenen test ortamı ve test tipine göre güvenlik testi sürecinin başlatıldığı alandır. Aşağıdaki ekran görüntüsü daha net bir bilgi verecektir sizlere.

DefectDojo Engagement

Nessus ve Burp Raporlarının Import Edilmesi

DefectDojo’nun güzel özelliklerinden bir taneside Nessu ve Burp araçlarının tarama sonuçlarını kendi yapısına import edebilmesi. Import edilen zafiyetleri Verified, Duplicated, False Positive gibi bayraklar ile işaretleyerek süreç takibini gerçekleştirebiliyorsunuz.

Bu işaretlemeler ve analiz ile dashboard üzerinden grafikler ve genel durum özetleri oluşmaktadır.

DefectDojo Dashboard