资讯专栏INFORMATION COLUMN

宜信开源|漏洞管理平台『洞察』部署指南

FreeZinG / 2600人阅读

摘要:洞察是一个集成应用系统资产管理漏洞全生命周期管理安全知识库管理三位一体的管理平台。洞察使用了语言进行开发,利用框架部署实现。

『洞察』是一个集成应用系统资产管理、漏洞全生命周期管理、安全知识库管理三位一体的管理平台。

『洞察』使用了Python语言进行开发,利用Flask框架+MySQL+Docker部署实现。

一、部署和启动mysql

</>复制代码

  1. docker pull mysql:5.7.13
  2. docker run -d -p 127.0.0.1:6606:3306
  3. --name open_source_mysqldb
  4. -e MYSQL_ROOT_PASSWORD=root
  5. mysql:5.7.13
二、创建数据库和账号权限配置

</>复制代码

  1. $ mysql -h 127.0.0.1 -P 6606 -u root -p
  2. Enter password:root
  3. mysql> CREATE DATABASE IF NOT EXISTS vuldb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  4. mysql> grant all on vuldb.* to vuluser@"%" identified by "vulpassword";
  5. mysql> flush privileges;
  6. mysql> quit
三、部署和启动APP 1、下载源码

</>复制代码

  1. $ git clone https://github.com/creditease-sec/insight.git
2、修改srcpm/config.py 配置文件

1)修改公司邮箱后缀

</>复制代码

  1. #公司邮箱后缀限制,只能使用公司邮箱注册账号。
  2. CORP_MAIL = "@qq.com"

2)修改邮件CC抄送列表

</>复制代码

  1. #平台发送的每封邮件的邮件抄送列表,可以设置发送给安全部邮箱列表,可自行修改,也可以保持不变为空
  2. """
  3. 示例:
  4. CC_EMAIL = ["xxx1@creditease.cn",
  5. "xxx2@creditease.cn",
  6. ]
  7. """
  8. CC_EMAIL = [
  9. ]

3)修改开发模式的邮箱服务器和发件邮箱配置

</>复制代码

  1. # 以开发模式的配置运行,使用测试邮件服务器,并开启debug模式
  2. # 平台发邮件账号设置
  3. SRCPM_MAIL_SENDER = "安全部 "
  4. # 发送邮件的服务器设置,邮箱密码由系统变量中读取
  5. MAIL_SERVER = "smtp.sina.com"
  6. MAIL_PORT = 587
  7. MAIL_USE_TLS = True
  8. MAIL_USERNAME = os.environ.get(
  9. "MAIL_USERNAME") or "sec_creditease@sina.com"
  10. MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD") or ""

4)修改生产模式的邮箱服务器和发件邮箱配置

</>复制代码

  1. # 以生产模式的配置运行,使用生产邮件服务器,并关闭debug模式
  2. # 平台发邮件账号设置
  3. SRCPM_MAIL_SENDER = "安全部 "
  4. # 发送邮件的服务器设置,账号密码由系统变量中读取
  5. MAIL_SERVER = "x.x.x.x"
  6. MAIL_PORT = 25
  7. MAIL_USE_TLS = False
  8. MAIL_USERNAME = os.environ.get(
  9. "MAIL_USERNAME") or "xxx@creditease.cn"
  10. MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD") or ""
3、修改定时周期邮件 mail_sender.py 的配置

</>复制代码

  1. #平台发送的每封邮件的邮件抄送列表,可以设置发送给安全部邮箱列表,可自行修改,也可以保持不变为空
  2. """
  3. 示例:
  4. CC_EMAIL = ["xxx1@creditease.cn",
  5. "xxx2@creditease.cn",
  6. ]
  7. """
  8. CC_EMAIL = [
  9. ]
  10. #主机名设置
  11. SERVER_NAME = "xxx.creditease.corp"
  12. # 平台发邮件账号设置
  13. SRCPM_MAIL_SENDER = "安全部 "
  14. # 发送邮件的服务器设置,账号密码由系统变量中读取
  15. MAIL_SERVER = "x.x.x.x"
  16. MAIL_PORT = 25
  17. MAIL_USE_TLS = False
  18. MAIL_USERNAME = os.environ.get(
  19. "MAIL_USERNAME") or "xxx@creditease.cn"
  20. MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD") or ""
4、修改srcpm/app/src/forms.py 漏洞来源下拉列表

</>复制代码

  1. """ 下拉选项 """
  2. source_choices = [("",""), (u"安全部", u"安全部"), (u"YISRC", u"YISRC"), (u"公众平台", u"公众平台"), (u"合作伙伴", u"合作伙伴")]
5、在项目根目录下部署和启动APP

</>复制代码

  1. # 拉取镜像
  2. docker pull daocloud.io/liusheng/vulpm_docker:latest
  3. 自己构建镜像
  4. docker build -t="vulpm_docker" .
  5. # 在项目目录下启动容器,确保当前目录下存在srcpm文件夹,MAIL_PASSOWRD替换为自己邮箱服务器的密码。
  6. $ docker run -d -p 127.0.0.1:9000:5000
  7. --link open_source_mysqldb:db
  8. --name open_source_srcpm
  9. -v $PWD/srcpm:/opt/webapp/srcpm
  10. -e DEV_DATABASE_URL="mysql://vuluser:vulpassword@db/vuldb"
  11. -e SrcPM_CONFIG=development
  12. -e MAIL_PASSWORD="xxxxxx"
  13. daocloud.io/liusheng/vulpm_docker:latest
  14. 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"
四、初始化数据库 方法一:数据库初始化详细配置指南

说明

下面配置在泊坞窗容器中进行,进入搬运工容器命令:

</>复制代码

  1. # docker exec -it open_source_srcpm bash
  2. # cd srcpm

数据库初始化详细配置

1)创建数据库表,添加超级管理员账号,账号为admin@admin.com,密码为11。

</>复制代码

  1. # python manage.py db init
  2. # python manage.py db migrate
  3. # python manage.py db upgrade
  4. # python manage.py shell
  5. >>> admin = LoginUser(username="admin", email="admin@admin.com", password_hash="pbkdf2:sha1:1000$bLXlzNNn$6f8a286571a361ca99ede2ca3b9163e346f8a3ca", role_name=u"u8d85u7ea7u7ba1u7406u5458", confirmed=1)
  6. >>> db.session.add(admin)
  7. >>> db.session.commit()
  8. >>> exit()

2)启动应用

</>复制代码

  1. # python manage.py runserver -h 0.0.0.0

3)使用超级管理员账号登录,并设置角色

角色分为:

安全管理员

安全人员

普通用户

增加角色页面URL:http://127.0.0.1:9000/srcpm/admin/ role_add

并将【普通用户】设置为默认角色。

4) 设置不同角色的权限

不同角色的详细权限请见:

洞察权限分配一览表:https://github.com/creditease...

角色权限修改方法为:选择角色对应的所有权限之后提交。

方法二:直接导入初始化的sql

导入sql

</>复制代码

  1. $ mysql -h127.0.0.1 -P6606 -uroot -p vuldb < srcpm/vuldb_init.sql
  2. Enter password:root
五、访问洞察 5.1 主页

http://127.0.0.1:9000/srcpm/

5.2 登录页面

http://127.0.0.1:9000/srcpm/auth/login

GitHub开源地址:https://github.com/creditease...

内容来源:宜信技术学院

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45150.html

相关文章

  • 【须弥SUMERU】宜信分布式安全服务编排实践

    摘要:通过可视化操作,将安全任务灵活编排成扫描流程。失效转移失效转移又称故障切换,指系统中其中一项设备或服务失效而无法运作时,另一项设备或服务即可自动接手原失效系统所执行的工作,在须弥用于保障任务执行过程中的执行状态。 概要 1.分布式安全服务编排概念 2.须弥(Sumeru)关键实现思路 3.应用场景 前言 在笔者理解,安全防御的本质之一是增加攻击者的攻击成本,尤其是时间成本,那么从防御...

    syoya 评论0 收藏0
  • AI中台:一种敏捷的智能业务支持方案|宜信技术学院沙龙分享实录

    摘要:因此数据中台必须具备智能化能力,能够为业务提供一定的智能数据分析能力。宜信作为一家金融科技公司,更多面对的是金融领域的智能业务需求。 showImg(https://segmentfault.com/img/bVbqQM0?w=1155&h=492); 内容来源:宜信技术学院第1期技术沙龙-线上直播|AI中台:一种敏捷的智能业务支持方案 主讲人介绍:井玉欣 宜信技术研发中心AI应用团队...

    makeFoxPlay 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<