SeMF安装指南

Posted hi-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SeMF安装指南相关的知识,希望对你有一定的参考价值。

基础环境安装

安装依赖

# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y

安装python3

# yum install python3 -y
# python3 -V
Python 3.6.8

安装erlang

# cd /tmp
# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
# rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 8.0.3

安装Rabitmq

# cd /tmp
# wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.-el7.noarch.rpm      # 下载
# yum install rabbitmq-server-3.6.9-1.el7.noarch.rpm -y                  # 安装
# service rabbitmq-server start                       # 启动rabbitmq-server
Redirecting to /bin/systemctl start rabbitmq-server.service
# rabbitmq-plugins enable rabbitmq_management                            # 开启web

The following plugins have been enabled:
  amqp_client
  cowlib
  cowboy
  rabbitmq_web_dispatch
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@localhost... started 6 plugins.

rabbitmq基本操作

# rabbitmqctl add_user admin admin                       # 创建用户
Creating user "admin" ...
# rabbitmqctl add_vhost semf                       # 添加vhost
Creating vhost "semf" ...
# rabbitmqctl set_user_tags admin administrator            # 设置标签
Setting tags for user "admin" to [administrator] ...
# rabbitmqctl set_permissions -p semf admin ".*" ".*" ".*"     # 设置权限
Setting permissions for user "admin" in vhost "semf" ...

安装nmap

# yum install nmap -y

防火墙设置

  开放rabbitmq端口。

# systemctl start firewalld.service                    # 启动防火墙
# firewall-cmd --zone=public --add-port=5672/tcp --permanent     # rabbitmq api 端口
success
# firewall-cmd --zone=public --add-port=15672/tcp --permanent       # rabbitmq web 端口
success
# firewall-cmd --reload                           # 刷新规则 
success
# firewall-cmd --zone=public --list-ports                # 查看开放端口
5672/tcp 15672/tcp

安装SeMF

   创建一个SeMF的专属目录进行操作。

# cd /opt/
# mkdir SeMF
# cd SeMF/
# yum install git -y
# git clone https://gitee.com/gy071089/SecurityManageFramwork
# cd SecurityManageFramwork/
# ls
ArticleManage  cnvd_xml     logs          RBAC              SeMFSetting                  TaskManage
AssetManage    cnvd_xml.py  manage.py     README.md         SeMF使用指南-2018-06-20.pdf  templates
ChartManage    initdata.py  MappedManage  requirements.txt  SeMF安装指南-2018-06-12.pdf  tmp
cnnvd_xml.py   LICENSE      NoticeManage  SeMF              static                       VulnManage

修改配置文件

   需修改邮箱和队列存储信息。

# vim /opt/SeMF/SecurityManageFramwork/SeMF/settings.py
...
#设置邮箱
EMAIL_HOST = smtp.qq.com          #SMTP地址
EMAIL_PORT = 25                 #SMTP端口
EMAIL_HOST_USER = your-email    #我自己的邮箱
EMAIL_HOST_PASSWORD = ‘your-password#  #我的邮箱密码
EMAIL_SUBJECT_PREFIX = u[SeMF]      #为邮件Subject-line前缀,默认是[django]
EMAIL_USE_TLS = True               #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false
...
#设置队列存储 BROKER_URL
= amqp://admin:admin@localhost/semf #设置与rabbitmq一致 CELERY_ACCEPT_CONTENT = [pickle, json, msgpack, yaml]

  数据库的话我们就用默认sqlite就好了,省懒。

安装依赖

# cd /opt/SeMF/SecurityManageFramwork/
# sudo python3 -m pip install -r requirements.txt

   安装可能会比较慢,可能需要多试几次,如果还无法安装,请使用其它pip源。

初始化数据库

# python3 manage.py makemigrations    # 初始化数据表
# python3 manage.py migrate       # 初始化数据库

技术图片

创建超级用户

# python3 manage.py createsuperuser

  此处输入密码有复杂度要求,此处为登录SeMF界面的超管账户。

技术图片

初始化漏洞库

  CNNVD 漏洞数据 ,测试环境可不执行,执行过程中出现 fail 表明漏洞信息不完善或不重要,可忽略,因漏洞数据较多,需要耗费一定的时间,大概10min+。

# python3 cnvd_xml.py

初始化权限信息

  主要包含菜单,权限以及管理员角色信息,该信息可在后台调整。

# python3 initdata.py 
initassettype ok
initassettypeinfo ok
initrole ok
initrole ok
initsuperuser ok
initarticle ok

  开启异步任务,执行celery

# celery -A SeMF worker -l info

  启动服务器。

# python3 manage.py runserver 192.168.8.15:8000     # 虚拟机地址

使用

界面演示

  访问http://192.168.8.15:8000/。

技术图片

 

   可以看到左边栏:资产管理、漏洞管理、任务管理、报表中心及用户管理等。

技术图片

资产扫描

  点击资产管理 》 资产列表 》 新增资产 》 填写相关新即可,其中唯一标记可填单个ip或网段。

技术图片

资产发现

  如果填写了个172.16.80.0/24子网段,就可以点击资产发现,用来探测子网段中存活的主机。

技术图片

【注】经测试,资产发现实现功能有问题,未能正确识别资产和探测存活情况,应该简单修改就能修正这个Bug。

技术图片

以上是关于SeMF安装指南的主要内容,如果未能解决你的问题,请参考以下文章

VS Code 安装与使用,Python 顶级 IDE 编程指南!

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

GitHub Gist 指南

工先利其器:流行的代码与敏捷开发工具选择指南

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

PHP代码-psysh调试代码片段工具