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.
sudo apt-get install git sudo apt-get install mysql-server sudo service mysqld start mysql_secure_install
Şimdi sıra projeyi github üzerinden clone’lamak.
root@ubuntu:~# git clone https://github.com/rackerlabs/django-DefectDojo.git Cloning into 'django-DefectDojo'... remote: Counting objects: 750, done. remote: Compressing objects: 100% (17/17), done. remote: Total 750 (delta 0), reused 0 (delta 0), pack-reused 731 Receiving objects: 100% (750/750), 2.00 MiB | 645.00 KiB/s, done. Resolving deltas: 100% (397/397), done. Checking connectivity... done.
Ş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.
root@ubuntu:~# cd django-DefectDojo/ root@ubuntu:~/django-DefectDojo# ./setup.bash
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.
MySQL user (should already exist): root Password for user: Database name (should NOT exist): defectdojo
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.
You have installed Django's auth system, and don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'root'): mince Email address: mehmet@mehmetince.net Password: Password (again):
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.
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.