zoukankan      html  css  js  c++  java
  • 漏洞管理平台『洞察』部署指南

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

    『洞察』使用了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 = ['xxx1@creditease.cn',
                    'xxx2@creditease.cn',
                ]
        '''
        CC_EMAIL = [
                ]

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

    # 以开发模式的配置运行,使用测试邮件服务器,并开启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)修改生产模式的邮箱服务器和发件邮箱配置

    # 以生产模式的配置运行,使用生产邮件服务器,并关闭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 的配置

    #平台发送的每封邮件的邮件抄送列表,可以设置发送给安全部邮箱列表,可自行修改,也可以保持不变为空
        '''
        示例:
        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 ''

    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)创建数据库表,添加超级管理员账号,账号为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'u8d85u7ea7u7ba1u7406u5458', 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 主页

    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

    内容来源:宜信技术学院

  • 相关阅读:
    mysql之指定为definer的用户不存在
    Hibernate报错:org.hibernate.ObjectNotFoundException: No row with the given identifier exists 解决办法
    MongoDB mongo.exe启动及闪退解决 转载
    pycharm下运行unittest的问题
    mysql大小写敏感与校对规则
    windows7环境下使用pip安装MySQLdb
    HTML中title前面小图标和网站收藏现实的图标
    异步发送的请求---取消操作
    视频文件上传遇到的问题
    vue-devtools 必备开发工具
  • 原文地址:https://www.cnblogs.com/yixinjishu/p/11187892.html
Copyright © 2011-2022 走看看