宜信開源|漏洞管理平臺『洞察』部署指南
阿新 • • 發佈:2019-07-15
『洞察』——整合應用系統資產管理、漏洞全生命週期管理、安全知識庫管理三位一體的管理平臺。
『洞察』使用了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
三、部署和啟動APP
1、下載原始碼
$ git clone https://github.com/creditease-sec/insight.git
2、修改srcpm/config.py 配置檔案
1)修改公司郵箱字尾
#公司郵箱字尾限制,只能使用公司郵箱註冊賬號。
CORP_MAIL = '@qq.com'
2)修改郵件CC抄送列表
#平臺傳送的每封郵件的郵件抄送列表,可以設定傳送給安全部郵箱列表,可自行修改,也可以保持不變為空 ''' 示例: CC_EMAIL = ['[email protected]', '[email protected]', ] ''' CC_EMAIL = [ ]
3)修改開發模式的郵箱伺服器和發件郵箱配置
# 以開發模式的配置執行,使用測試郵件伺服器,並開啟debug模式 # 平臺發郵件賬號設定 SRCPM_MAIL_SENDER = '安全部 <[email protected]>' # 傳送郵件的伺服器設定,郵箱密碼由系統變數中讀取 MAIL_SERVER = 'smtp.sina.com' MAIL_PORT = 587 MAIL_USE_TLS = True MAIL_USERNAME = os.environ.get( 'MAIL_USERNAME') or '[email protected]' MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
4)修改生產模式的郵箱伺服器和發件郵箱配置
# 以生產模式的配置執行,使用生產郵件伺服器,並關閉debug模式
# 平臺發郵件賬號設定
SRCPM_MAIL_SENDER = '安全部 <[email protected]>'
# 傳送郵件的伺服器設定,賬號密碼由系統變數中讀取
MAIL_SERVER = 'x.x.x.x'
MAIL_PORT = 25
MAIL_USE_TLS = False
MAIL_USERNAME = os.environ.get(
'MAIL_USERNAME') or '[email protected]'
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
3、修改定時週期郵件 mail_sender.py 的配置
#平臺傳送的每封郵件的郵件抄送列表,可以設定傳送給安全部郵箱列表,可自行修改,也可以保持不變為空
'''
示例:
CC_EMAIL = ['[email protected]',
'[email protected]',
]
'''
CC_EMAIL = [
]
#主機名設定
SERVER_NAME = 'xxx.creditease.corp'
# 平臺發郵件賬號設定
SRCPM_MAIL_SENDER = '安全部 <[email protected]>'
# 傳送郵件的伺服器設定,賬號密碼由系統變數中讀取
MAIL_SERVER = 'x.x.x.x'
MAIL_PORT = 25
MAIL_USE_TLS = False
MAIL_USERNAME = os.environ.get(
'MAIL_USERNAME') or '[email protected]'
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or ''
4、修改srcpm/app/src/forms.py 漏洞來源下拉列表
''' 下拉選項 '''
source_choices = [('',''), (u'安全部', u'安全部'), (u'YISRC', u'YISRC'), (u'公眾平臺', u'公眾平臺'), (u'合作伙伴', u'合作伙伴')]
5、在專案根目錄下部署和啟動APP
# 拉取映象
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 exec -it open_source_srcpm bash
# cd srcpm
資料庫初始化詳細配置
1)建立資料庫表,新增超級管理員賬號,賬號為[email protected],密碼為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='[email protected]', 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-sec/insight/blob/open-source/docs/permissions.md
角色許可權修改方法為:選擇角色對應的所有許可權之後提交。
方法二:直接匯入初始化的sql
匯入sql
$ mysql -h127.0.0.1 -P6606 -uroot -p vuldb < srcpm/vuldb_init.sql
Enter password:root
五、訪問洞察
5.1 主頁
5.2 登入頁面
http://127.0.0.1:9000/srcpm/auth/login
GitHub開源地址:https://github.com/creditease-sec/insight
內容來源