『洞察』是一个集成应用系统资产管理、漏洞全生命周期管理、安全知识库管理三位一体的管理平台。python
『洞察』使用了Python语言进行开发,利用Flask框架+MySQL+Docker部署实现。mysql
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 -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
$ git clone https://github.com/creditease-sec/insight.git
1)修改公司邮箱后缀git
#公司邮箱后缀限制,只能使用公司邮箱注册帐号。 CORP_MAIL = '@qq.com'
2)修改邮件CC抄送列表github
#平台发送的每封邮件的邮件抄送列表,能够设置发送给安所有邮箱列表,可自行修改,也能够保持不变为空 ''' 示例: CC_EMAIL = ['xxx1@creditease.cn', 'xxx2@creditease.cn', ] ''' CC_EMAIL = [ ]
3)修改开发模式的邮箱服务器和发件邮箱配置web
# 以开发模式的配置运行,使用测试邮件服务器,并开启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 ''
4)修改生产模式的邮箱服务器和发件邮箱配置sql
# 以生产模式的配置运行,使用生产邮件服务器,并关闭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 ''
#平台发送的每封邮件的邮件抄送列表,能够设置发送给安所有邮箱列表,可自行修改,也能够保持不变为空 ''' 示例: 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 ''
''' 下拉选项 ''' source_choices = [('',''), (u'安所有', u'安所有'), (u'YISRC', u'YISRC'), (u'公众平台', u'公众平台'), (u'合做伙伴', u'合做伙伴')]
# 拉取镜像 docker pull daocloud.io/liusheng/vulpm_docker:latest 或 本身构建镜像 docker build -t='vulpm_docker' . # 在项目目录下启动容器,确保当前目录下存在srcpm文件夹,MAIL_PASSOWRD替换为本身邮箱服务器的密码。 $ docker run -d -p 127.0.0.1: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'
说明docker
下面配置在泊坞窗容器中进行,进入搬运工容器命令:shell
# docker exec -it open_source_srcpm bash # cd srcpm
数据库初始化详细配置数据库
1)建立数据库表,添加超级管理员帐号,帐号为admin@admin.com,密码为11。安全
# python manage.py db init # python manage.py db migrate # python manage.py db upgrade # python manage.py shell >>> admin = LoginUser(username='admin', email='admin@admin.com', password_hash='pbkdf2:sha1:1000$bLXlzNNn$6f8a286571a361ca99ede2ca3b9163e346f8a3ca', role_name=u'\u8d85\u7ea7\u7ba1\u7406\u5458', confirmed=1) >>> db.session.add(admin) >>> db.session.commit() >>> exit()
2)启动应用
# 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
$ mysql -h127.0.0.1 -P6606 -uroot -p vuldb < srcpm/vuldb_init.sql Enter password:root
http://127.0.0.1:9000/srcpm/
http://127.0.0.1:9000/srcpm/auth/login
GitHub开源地址:https://github.com/creditease...
内容来源:宜信技术学院