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

『洞察』——集成應用系統資產管理、漏洞全生命週期管理、安全知識庫管理三位一體的管理平臺。python

『洞察』使用了Python語言進行開發,利用Flask框架+MySQL+Docker部署實現。mysql

1、部署和啓動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

2、建立數據庫和帳號權限配置

$ 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

3、部署和啓動APP

一、下載源碼

$ git clone https://github.com/creditease-sec/insight.git

二、修改srcpm/config.py 配置文件

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 ''

三、修改定時週期郵件 mail_sender.py 的配置

#平臺發送的每封郵件的郵件抄送列表,能夠設置發送給安所有郵箱列表,可自行修改,也能夠保持不變爲空
    '''
    示例:
    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 ''

四、修改srcpm/app/src/forms.py 漏洞來源下拉列表

''' 下拉選項 '''
    source_choices = [('',''), (u'安所有', u'安所有'), (u'YISRC', u'YISRC'), (u'公衆平臺', u'公衆平臺'), (u'合做夥伴', u'合做夥伴')]

五、在項目根目錄下部署和啓動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'

4、初始化數據庫

方法一:數據庫初始化詳細配置指南

說明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-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、訪問洞察

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-sec/insight

內容來源:宜信技術學院

相關文章
相關標籤/搜索