0x01 insight 项目地址:宜信洞察
功能:
应用系统资产管理
漏洞生命周期管理
安全知识库管理
0x02 部署安装 参考项目提供的docker部署指南
本人使用centos7进行docker部署,yum更新完成后,开始部署。
部署和启动mysql 使用docker部署mysql,docker名称为open_source_mysqldb ,密码为root
1 2 3 4 5 6 docker pull mysql:5.7.13 docker run -d -p 127.0.0.1:6606:3306 \ --name open_source_mysqldb \ -e MYSQL_ROOT_PASSWORD=root \ mysql:5.7.13
创建数据库和账号权限配置 本地安装mysql客户端后直接使用如下命令:
1 2 3 4 5 6 7 $ mysql -h 127.0.0.1 -P 6606 -u root -p Enter password:root mysql> CREATE DATABASE IF NOT EXISTS vuldb DEFAULT CHARSET utf8 COLLATE utf8_general_ci; mysql> grant all on vuldb.* to vuluser@'%' identified by 'vulpassword'; mysql> flush privileges; mysql> quit
或者可以先进入docker容器中,再连接mysql数据库,使用如下命令:
1 2 3 4 5 6 7 8 9 docker exec -it open_source_mysqldb bash mysql -u root -p Enter password:root mysql> CREATE DATABASE IF NOT EXISTS vuldb DEFAULT CHARSET utf8 COLLATE utf8_general_ci; mysql> grant all on vuldb.* to vuluser@'%' identified by 'vulpassword'; mysql> flush privileges; mysql> quit
部署APP 1. 下载源码 1 $ git clone https://github.com/creditease-sec/insight.git
2. 修改srcpm/config.py 配置文件(若使用qq邮箱进行发件,见邮箱配置](#jump))
1 2 #公司邮箱后缀限制,只能使用公司邮箱注册账号。 CORP_MAIL = '@qq.com'
1 2 3 4 5 6 7 8 9 #平台发送的每封邮件的邮件抄送列表,可以设置发送给安全部邮箱列表,可自行修改,也可以保持不变为空 ''' 示例: CC_EMAIL = ['xxx1@creditease.cn', 'xxx2@creditease.cn', ] ''' CC_EMAIL = [ ]
1 2 3 4 5 6 7 8 9 10 11 12 # 以开发模式的配置运行,使用测试邮件服务器,并开启debug模式 # 平台发邮件账号设置 SRCPM_MAIL_SENDER = '安全部 <sec_creditease@sina.com>' # 发送邮件的服务器设置,邮箱密码由系统变量中读取 MAIL_SERVER = 'smtp.sina.com' MAIL_PORT = 587 MAIL_USE_TLS = True MAIL_USERNAME = os.environ.get( 'MAIL_USERNAME') or 'sec_creditease@sina.com' MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
1 2 3 4 5 6 7 8 9 10 11 12 # 以生产模式的配置运行,使用生产邮件服务器,并关闭debug模式 # 平台发邮件账号设置 SRCPM_MAIL_SENDER = '安全部 <xxx@creditease.cn>' # 发送邮件的服务器设置,账号密码由系统变量中读取 MAIL_SERVER = 'x.x.x.x' MAIL_PORT = 25 MAIL_USE_TLS = False MAIL_USERNAME = os.environ.get( 'MAIL_USERNAME') or 'xxx@creditease.cn' MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
3. 修改定时周期邮件 mail_sender.py 的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #平台发送的每封邮件的邮件抄送列表,可以设置发送给安全部邮箱列表,可自行修改,也可以保持不变为空 ''' 示例: CC_EMAIL = ['xxx1@creditease.cn', 'xxx2@creditease.cn', ] ''' CC_EMAIL = [ ] #主机名设置 SERVER_NAME = 'xxx.creditease.corp' # 平台发邮件账号设置 SRCPM_MAIL_SENDER = '安全部 <xxx@creditease.cn>' # 发送邮件的服务器设置,账号密码由系统变量中读取 MAIL_SERVER = 'x.x.x.x' MAIL_PORT = 25 MAIL_USE_TLS = False MAIL_USERNAME = os.environ.get( 'MAIL_USERNAME') or 'xxx@creditease.cn' MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
1 2 ''' 下拉选项 ''' source_choices = [('',''), (u'安全部', u'安全部'), (u'YISRC', u'YISRC'), (u'公众平台', u'公众平台'), (u'合作伙伴', u'合作伙伴')]
邮箱配置 参考洞察-漏洞管理系统安装
修改srcpm/mail_sender.py文件
在项目根目录下部署和启动APP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 拉取镜像 docker pull daocloud.io/liusheng/vulpm_docker:latest 或 自己构建镜像 docker build -t='vulpm_docker' . # 在项目目录下启动容器,确保当前目录下存在srcpm文件夹,MAIL_PASSOWRD替换为自己邮箱服务器的密码。 $ docker run -d -p 0.0.0.0:9000:5000 \ --link open_source_mysqldb:db \ --name open_source_srcpm \ -v $PWD/srcpm:/opt/webapp/srcpm \ -e DEV_DATABASE_URL='mysql://vuluser:vulpassword@db/vuldb' \ -e SrcPM_CONFIG=development \ -e MAIL_PASSWORD='xxxxxx' \ daocloud.io/liusheng/vulpm_docker:latest \ sh -c 'supervisord -c srcpm/supervisor.conf && supervisorctl -c srcpm/supervisor.conf start all && tail -f srcpm/log/gunicorn.err && tail -f srcpm/log/mail_sender.err'
注意命令中的IP地址设置成0.0.0.0,若为127.0.0.1则为本地访问。
如果之前有运行过此命令的话,使用如下命令查看open_source_srcpm容器中的环境变量是否正确,注意MAIL_PASSWORD值是否为QQ邮箱授权码
1 docker exec open_source_srcpm env
若不正确请先删除容器。
命令如下:
1 2 3 docker stop open_source_srcpm docker rm open_source_srcpm
再重新运行启动命令
初始化数据库 数据库初始化详细配置请见:
数据库初始化详细配置指南
或者
直接导入初始化的sql,本人使用直接导入初始化sql的方案
导入sql
1 2 $ mysql -h127.0.0.1 -P6606 -uroot -p vuldb < srcpm/vuldb_init.sql Enter password:root
访问洞察 1. 主页 http://IP:9000/srcpm/
2. 登录页面 http://IP:9000/srcpm/auth/login
0x03 使用体验 漏洞管理 登录后提交漏洞
对漏洞进行管理,发送邮件给安全管理员,进行通知。
若要忽略漏洞,需使用管理员账户进行管理编辑,修改为暂不处理
用户管理 在管理员后台-认证和授权-用户查看处,可对注册用户与人员管理处增加对人员进行关联,通常使用同一邮箱的人会自动进行关联。
匿名用户问题
洞察-漏洞管理系统安装 给出解决方案
缺陷 无法进行人员和资产批量导入,不过个人觉得可以直接操作数据库进行导入。
0x04 参考文章 洞察-漏洞管理系统安装
docker部署指南