Skip to content

defectdojo

DefectDojo:开源应用程序漏洞关联和安全编排工具。

github地址

安装与配置

# 操作系统:Centos7
# 下载
git clone https://github.com/DefectDojo/django-DefectDojo

# 进入目录并执行
cd django-DefectDojo
./setup.bash

# 数据库选择mysql,不用自己安装,安装进行会帮你安装好

defectdojo-1

# 已知确认下去,直到出现数据库配置信息

# 启动数据库
systemctl start mariadb.service

# 配置数据库账号密码
mysql_secure_installation

defectdojo-2

# 配置后台管理账号密码

defectdojo-3

# 启动服务
python manage.py runserver 0.0.0.0:80

# 此时访问会报错

defectdojo-4

# 解决方案,修改配置文件第68行
vim django-DefectDojo/dojo/settings/settings.py

# ALLOWED_HOSTS = [] # 注释这一行
ALLOWED_HOSTS = ['*'] # 添加这一行

# 重启服务

defectdojo-5

使用心得

核心内容

  • 产品管理
新增产品
产品类型:

defectdojo-7

  • 项目管理
产品新增项目:
测试类型:
环境管理:
新增测试:
新增漏洞:

defectdojo-8

defectdojo-9

defectdojo-10

  • 用户管理

标准的Django管理用户方式。

产品评价

  • 缺点
不支持中文真的很坑,需要汉化;
Python Django的框架,有很多需要踩坑的地方,我这里踩一些,大家可以补充;
系统整体架构不适合国人简单易用的习惯;
……
  • 优点
完善的任务分配系统,不同任务分配给不同人员进行测试;
对不同产品、不同项目进行管理,可以查看各自的漏洞情况;
支持LDAP、JIRA集成;
……

踩坑记

中文乱码

在defectdojo安装过程中配置数据库信息之前,也就是启动MySQL数据库时,需要修改MySQL配置文件:

vim /etc/my.cnf

# [mysqld] 下面添加以下三行
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

# 重启MySQL服务

新增漏洞时,漏洞名称为中文时报错

defectdojo-6

备注:这里虽然报错,但是实际上新增漏洞成功

如何解决这个报错问题

vim django-DefectDojo/dojo/models.py

# 跳转到1049行
# hash_string = hash_string.decode('utf-8').strip() # 注释此行
hash_string = hash_string.strip() # 新增此行

汉化Django

vim django-DefectDojo/dojo/settings/settings.py

# 搜索LANGUAGE_CODE,修改为如下
LANGUAGE_CODE = 'zh-Hans'

参考资料

Django Authentication Using LDAP

开源漏洞管理工具DefectDojo(二)使用指南:基本使用