收藏 备忘 读
来源:互联网 发布:知网查重入口 知乎 编辑:程序博客网 时间:2024/06/06 10:36
安全服务工作中,漏洞的跟踪管理,应该是让大多数安全服务人员都头疼的事。业务系统少还好,一个Excel表格就解决了,而面对数十个不同的业务系统,邮件、报告满天飞,Excel大法就行不通了,报告整理、漏洞复测确认常常让人精疲力尽。DefectDojo正是一款解决漏洞管理之痛的开源工具,DefectDojo可将各种漏洞报告(Nessus、Nmap、Burp等)汇总分析,对漏洞的确认、复测进行跟踪,建立计划扫描任务,导出报告等。
关于这款工具的更多介绍,可以看看OWASP AppSec USA 2017会议上Greg Anderson的演讲视频
项目地址
https://github.com/OWASP/django-DefectDojo
项目文档
http://defectdojo.readthedocs.io/en/latest/
DefectDojo安装
本次安装基于Ubuntu Server 16.04 LTS
安装准备
创建一个普通用户,指定home目录为/home/dojo,添加sudo权限,:
useradd -d /home/dojo -m dojopasswd dojo #设置系统密码vi /etc/sudoers#添加以下一行内容:dojo ALL=(ALL:ALL) ALL
安装PostgreSQL
本次示例使用PostgreSQL数据库,安装PostgreSQL数据库,创建DefectDojo使用的账号:
#安装数据库:apt-get install postgresql#添加DefectDojo用户,设置密码:su - postgres createuser --interactive defectdojopsql -U postgresalter user defectdojo with password 'P@ssw0rd';
安装、激活Virtualenv
以下安装切换到dojo普通权限用户。
su - dojocd ~pip install virtualenvvirtualenv dojosource dojo/bin/activate
安装Dojo
git clone [https://github.com/OWASP/django-DefectDojo.git](https://github.com/OWASP/django-DefectDojo.git)cd django-DefectDojo./setup.bash
执行安装脚本,数据库选择2,使用PostgreSQL,安装过程中需sudo切换到root权限,输入系统帐户dojo的密码。
到数据库部分,填写刚才创建的数据库账号信息:
填写DefectDojo Web管理员账号:
安装Uwsgi
pip install uwsgi
安装WKHTML
wkhtmltopdf用于生产PDF报告,自动安装脚本出错的话,可以手动下载安装wkhtmltopdf
在/opt/django-DefectDojo目录下执行
./reports.sh
禁用Debug,添加信任IP
开始使用时为便于排错,可不修改DEBUG选项。
使用VI编辑/opt/django-DefectDojo/dojo/settings.py,修改DEBUG值为:
`DEBUG = False`
添加本机IP到信任中,我的IP是1.1.2.12:
ALLOWED_HOSTS = [u'1.1.2.12']
启动DefectDojo
在django-DefectDojo目录下执行:启动Celery和Beats
celery -A dojo worker -l info --concurrency 3 &celery beat -A dojo -l info &
启动Uwsgi
uwsgi --socket 127.0.0.1:8001 --wsgi-file wsgi.py --workers 7 &
安装配置Nginx
DefectDojo使用uWSGI的方式,启动后并不能直接访问,还需要配置Nginx,也可以在Nginx中添加SSL证书,配置HTTPS访问,增强安全性。这里只是简单演示,未使用HTTPS。
apt-get install nginx
删除/etc/nginx/site-enabled
和/etc/nginx/site-available
目录下默认文件,
创建新的配置文件:
cd /etc/nginx/sites-enabledvi defectdojo.conf
添加以下内容:
upstream django { server 127.0.0.1:8001;}server { listen 8888; server_name defectdojo; client_max_body_size 500m; location /static/ { alias /home/dojo/django-DefectDojo/static/; } location /media/ { alias /home/dojo/django-DefectDojo/media/; } location / { uwsgi_pass django; include /home/dojo/django-DefectDojo/wsgi_params; }}
重启Nginx
service nginx stop && service nginx start
远程访问,主界面如下:
启动脚本
为方便下次启动,在dojo账号home目录下创建一个启动脚本defectdojo-start.sh,
添加以下内容:
#!/bin/bashcd /home/dojosource dojo/bin/activatecd django-DefectDojocelery -A dojo worker -l info --concurrency 3 &celery beat -A dojo -l info &uwsgi --socket 127.0.0.1:8001 --wsgi-file wsgi.py --workers 7 &
软件升级
使用以下命令升级:
cd django-DefectDojogit checkout mastergit pullpip install ../manage.py makemigrations dojo./manage.py makemigrations./manage.py migrate
Bower的静态文件经常会更新,建议定期重装bower,更新文件:
cd django-DefectDojocd componentsbower installcd .../manage.py collectstatic --noinput
报错处理
安装不完整时,部分文件不能正常访问,打开界面会出现这种情况:
查看日志,发现大量文件访问结果为404:
解决方法:
查看/home/dojo/django-DefectDojo/static目录下404报错文件是否存在,如不存在,再运行一次./setup。
文件存在仍报错的话,检查Nginx配置。
配置HTTPS、开机自启动
参考django-DefectDojo/sample_deployments/
目录下脚本文件
- 收藏 备忘 读
- 读写方式,收藏备忘
- Python 备忘&技巧收藏
- 程序员备忘:收藏常用正则表达式
- ASP.Net 在论坛收藏收集的一些资料备忘
- ASP.Net 在论坛收藏收集的一些资料备忘
- c#常用函数和方法集收藏备忘
- [备忘]收藏:使页面变灰的方法
- 读Effective Java 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- java打印杨辉三角
- Python3中有关TK模块
- 关于webix数据表格用法完整示例
- servlet,jsp使用ajax进行数据交互
- Cookie/Session机制详解
- 收藏 备忘 读
- springmvc注解
- JSP基础(十五)——用JDBC处理MySQL大数据
- Java单例模式
- java基础之抽象类的意义(未修订)
- 微信抢票总结博客
- 坐标离散化
- 数据包的结构
- ReadMe