第一步安装go环境
apt-get install golang-go
(显示出错,go版本apt安装太低,apt-get purge golang-go卸载后手动安装,必须1.8.3以上)

还需将/usr/local/目录中的go目录删除   rm -rf go
wget https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz
mkdir $HOME/go //设置工作目录
vi /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile.d/goenv.sh //环境变量设置为当前shell

第二步部署go-cve-dictionary,CVE样本库
sudo mkdir /var/log/vuls //创建目录设置权限,如果是root可以不设置
sudo chown root /var/log/vuls
sudo chmod 700 /var/log/vuls
//sudo chmod 777 -R xxx (更改文件夹及其子文件夹权限为777)
//sudo chmod 600 ××× (只有所有者有读和写的权限)
//sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
//sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
//sudo chmod 666 ××× (每个人都有读和写的权限)
//sudo chmod 777 ××× (每个人都有读和写以及执行的权限
mkdir -p $GOPATH/src/github.com/kotakanbe //递归创建目录
cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/go-cve-dictionary.git
cd go-cve-dictionary
make install

第三步获取漏洞数据
部署go-cve-dictionary
cd $HOME
for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done
//bash循环从2002年开始的数据
//下载完成后会存在一个数据库
ls -alh cve.sqlite3 //查看数据库容量

部署goval-dictionary
mkdir -p $GOPATH/src/github.com/kotakanbe
cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git
cd goval-dictionary
make install

//然后,由于要扫描的服务器是Ubuntu,因此要获取ubuntu的数据
二进制文件生成在$GOPATH/bin目录中
cd $HOME
goval-dictionary fetch-ubuntu 12 14 16 //获取所有版本数据

第四步部署Vuls
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
cd vuls
make install //报了错误GNUmakefile:42: recipe for target 'lint' failed
手动克隆存储库来解决此问题
mkdir -p $GOPATH/src/golang.org/x \
&& git clone https://github.com/golang/lint.git $GOPATH/src/golang.org/x/lint \
&& go get -u golang.org/x/lint/golint

以上为安装过程

1.下面开始本地扫描模式
组态
cd $HOME
touch config.toml
cat config.toml
[servers]

[servers.localhost]
host = "localhost"
port = "local"

vuls configtest //扫描前检查配置

开始扫描
vuls scan

查看单行摘要
vuls report -format-one-line-text
查看简要摘要
vuls report -format-short-text
查看完整报告
vuls report -format-full-text | less
Vuls有基于终端的用户界面来显示扫描结果
vuls tui //查看报告
扫描结果保存在results目录中

2.远程扫描模式
本地主机创建秘钥
ssh-keygen -t rsa
~/.ssh/id_rsa.pub //复制公钥内容
#/root/.ssh/id_rsa. <== 私钥
#/root/.ssh/id_rsa.pub
进入远程主机
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
vi ~/.ssh/authorized_keys //复制公钥在其中
设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
最后,重启 SSH 服务:
[root@host .ssh]$ service sshd restart
然后试试本地远程连接ssh通过私钥连接
ssh root@120.203.13.112 -p 2228 -i ~/.ssh/id_rsa
连接成功后输入exit退出ssh
cd $HOME
修改配置config.toml
把对象改为目标远程主机
[servers]

[servers.centos]
host = "120.203.13.112"
port = "2228"
user = "root"
keyPath = "/root/.ssh/id_rsa"

vuls configtest centos //检测服务器配置
vuls scan centos //开始扫描
vuls tui //查看报告
扫描结果保存在results目录中

使用WEB界面查看报告
VulsRepo
vuls report -format-json //创建一个json报告
cd $HOME
git clone https://github.com/usiusi360/vulsrepo.git //安装
cd $HOME/vulsrepo/server
cp vulsrepo-config.toml.sample vulsrepo-config.toml //复制配置文件
配置
vi vulsrepo-config.toml
根据自己目录而定
[Server]
rootPath = "/root/vulsrepo"
resultsPath = "/root/results"
serverPort = "9998"
serverIP = "0.0.0.0"
配置完后运行
./vulsrepo-server

vuls安装记录的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  3. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  4. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  5. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  6. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  7. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  8. mysql5.7安装记录

    mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...

  9. Liunx/RHEL6.5 Oracle11 安装记录

    1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...

随机推荐

  1. BeginInvoke和EndInvoke方法

    本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法 2. Thread类 3. 线程池 4. 线程同步基础 5. 死锁 6. 线程同步的7种方法 7. 如何在线程中访问G ...

  2. Oracle DG 三种模式(转)

    DG有下面三种模式– Maximum protection– Maximum availability– Maximum performance 在Maximum protection下, 可以保证从 ...

  3. IEEP-网络实施-项目交付流程

    1.项目交付流程 1.1 定义 项目交付流程规定了对项目实施的管理和作业控制要求,保证了工程项目实施按照规定的程序进行 1.2 重要性 1.2.1提高客户满意度 1.2.2 提高工程效率,节约成本 1 ...

  4. 通过vue-cli3构建一个SSR应用程序

    1.前沿 1.1.什么是SSR SSR(服务端渲染)顾名思义就是将页面在服务端渲染完成后在客户端直接展示. 1.2.客户端渲染与服务端渲染的区别 传统的SPA模式 即客户端渲染的模式 Vue.js构建 ...

  5. 关于simotion建立同步/解除同步的问题

    关于simotion建立同步/解除同步的问题. 问题: [enable gearing][disable gearing][enable camming][disable camming]都是一个过程 ...

  6. 【转载】#446 - Deciding Between an Abstract Class and an Interface

    An abstract class is a base class that may have some members not implemented in the base class, but ...

  7. IOS Xib使用

  8. 从零开始Vue项目实战(四)-路由

    一.理解路由 传统的页面应用,是用一些超链接来实现页面切换和跳转的.而vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来. 路由中有三个基本的概念 route, rou ...

  9. Wannafly挑战赛1,2

    做了好久了,今天大佬讲题,好厉害,弱鸡只会几道水题. Treepath 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x到y与y到x被视为同一条路径.路径的起点与终点 ...

  10. CF666E 【Forensic Examination】

    题目 每天一道\(SAM\)真是非常开心 一看就是广义\(SAM\)+线段树合并了 我们存好\(S\)串每一个前缀的终点,之后在\(parent\)树上倍增找到表示\(S[l,r]\)这个子串的节点, ...