OpenVAS 的简单安装和使用
OpenVAS 是一个开源的漏洞评估系统。
环境准备
- 这里用 CentOS 7 Minimal 版本开始安装
- 开始之前,首先关闭 Selinux 和 firewalld,以免造成一些不必要的干扰,安装完成后可以酌情开启。
- 考虑到一些特殊的网络状况,可能需要设置代理服务器,注意后面的安装可能用到 RSYNC,所以设置代理的时候也要加上:
RSYNC_PROXY=10.211.55.2:8016
诸如此类的语句。
最后是一些必要的工具准备:
yum install -y bzip2 wget net-tools
安装
安装过程需要借助第三方源进行,简单的一个命令:
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
注意代理服务器
接下来就是:yum install openvas
安装过程稍嫌繁琐,包括设置密码,监听地址等内容。最后还需要进行数据更新,时间可能较长。
选择下载工具的一步:curl/wget/rsync 三选一,这里尽可能选择 rsync,因为 curl 和 wget 都只下载 nvt 数据,而其余无法下载的数据在后面还是需要的。
检查
安装结束之后会启动几个服务:
- redis:数据库
- openvas-manager:调度服务
- openvas-scanner:扫描服务
- gsad:前端
另外,OpenVas 还提供了安装检查工具openvas-check-setup
,该工具运行过程中将会检查安装情况以及数据完整性,并给出相应的操作、补救建议。
一切就绪后,可以打开缺省端口 9392 尝试使用了,例如https://openvas:9392
,打开后是个丑陋的登录页面:
输入用户名密码之后,就进入系统的首页了。
任务和运行
新建一个任务
- Host:被扫描检测的主机,主机列表可以在主菜单的 Asset Management 下级 Host 中找到。
- Scan Config:扫描的配置,可以在 Configuration -> Scan Config 中找到。
运行
在 Scan Management 中可以看到任务列表,点击右侧的播放按钮即启动运行 运行时间随扫描目标、服务器性能、以及扫描配置影响,可能会很长。 最终生成的报告:
openvas-cli
前面提到,这个扫描过程可能很长,另外,为了配合我们的每日构建或者其他的周期性检查,可以使用 openvas 的命令行工具来进行任务的控制。
下面举几个典型的例子:
omp -T # 获取系统中保存的主机,会列出名字和 UUID
omp -g # 获取系统中现有的扫描配置,会列出名字和 UUID
omp -w admin -u admin \
-C -n autotask -t b493b7a8-7489-11df-a3ec-002264764cea \
-c daba56c8-73ec-11df-a475-002264764cea
# 上面的命令创建了一个任务,名字叫 autotask,
# 目标主机的 ID 为 b493b7a8-7489-11df-a3ec-002264764cea,
# 扫描配置的 ID 为 daba56c8-73ec-11df-a475-002264764cea
omp -G # 列出 Task 的名字和 UUID
omp -M 22bc21be-3eeb-4d43-9157-07515120c574 # 启动一个任务
omp -G 22bc21be-3eeb-4d43-9157-07515120c574 # 列出该 ID 任务的执行列表(每次任务执行都会有一个新的下一级的 UUID,用于记录执行情况)
omp -R fa7b3c8f-db75-44f6-8821-910f8f4b83e2 # 获取这一次执行的结果报表
有了上述内容,就可以完成漏洞扫描的自动触发,甚至可以根据最终报表,来进行数据分析和告警等后续动作。
openvas-nvt-sync、openvas-certdata-sync、openvas-nvt-sync 三个工具用于更新数据,应定时运行。