OpenVAS漏洞评估系统
1. 什么是OpenVAS
OpenVAS是一款开源的漏洞扫描攻击,主要用来检测网络或主机的安全性。其强大的扫描能力来自于集成数万个漏洞测试程序,这些测试程序以插件的形式提供,可以从官方网站免费更新
1.1 OpenVAS的工作组件
OpenVAS能够基于C/S,B/S架构工作,管理员通过浏览器或者专用的客户端程序下达扫描任务,服务器负责授权,执行扫描操作并提供扫描的结果。
一套完整的OpenVAS系统如下图显示
① 客户层组件
l Openvas-cli:负责提供从命令行访问openvas服务的程序
l Greenbone-security-assistant(gsa) :负责提供访问openvas服务层的web接口,便于通过浏览器来执行扫描任务,监听端口9392
l Greenbone-Desktop-Suit: 主要用于windows客户机上的套件
② 服务层组件
l Openvas-scanner: 负责调用各种漏洞测试插件,完成实际的扫描操作,监听端口9391
l Openvas-manager: 负责分配扫描任务,并根据扫描结果生成评估报告,监听端口9390
l Openvas-administrator: 负责管理配置信息,用户授权等相关工作
2. 构建OpenVAS服务器(CentOS)
① 配置yum Atomicorp 仓库
wget -q -O - http://www.atomicorp.com/installers/atomic |sh
② 快速安装OpenVAS
Yum upgrade
Yum install openvas(下载整个软件包)
Openvas-setup(下载完成要进行安装,后面还要配置一些设定)
③ 预备设定
Allow connection from any IP? [Default: Yes] : #允许客户端通过服务器ip地址访问
Login:#设定gasd管理者用户
Authentication(pass/cert) [pass]:#设定gasd管理者验证方式
Login password:#设定gasd管理者密码
Login password(again):
设定好基本配置,会跑出user rule,直接ctrl+D即可,接着会显示is that ok?[y/n],打上y就完成了设定
④ 启动administrator
[root@raingolee]# /etc/init.d/openvas-administrator start
⑤ 更新nvt
[root@raingolee]# openvas-nvt-sync
OpenVAS提供了一个名为openvas-nvt-sync的脚本,可用来在线更新插件。虽然这一步时间很久,可是非常重要,不然扫描时候没有结果,大概有4万多个插件
⑥ 重启openvassd ,openvasmd两个daemon
[root@raingolee]# openvassd restart
[root@raingolee]# openvasmd restart
Openvassd: the scanner of the openvas。
负责对目标主机执行一个最完善方法的许多安全测试,同时为了他的
客户端提供一个交流的协议,called OTP(openvas transport protocol)
Openvasmd: the manager daemon of the openvas。
The Openvas Manager 是OTP的客户端和加入了各样的管理功能
整理scanner扫描出来的结果。
同时还是OMP(Openvas manager protocol)的服务器端,通过OMP协
和gasd,gsd交流
⑦ 重建OpenVAS资料库
[root@raingolee]# openvas --rebuild
⑧ 启动openvs-scanner
[root@raingolee]# /etc/init.d/openvas-scanner start
⑨ 启动openvas-manager
[root@raingolee]# /etc/init.d/openvas-manager start
⑩ 重启administrator
[root@raingolee]# /etc/init.d/openvas-administrator start
11 完成了配置,接着要测试是否安装成功
[root@raingolee]# openvas-check-setup
如果跑完后显示It seems like your OpenVAS-6 installtion is OK,表示成功了。不然
要安装提示检查一下哪个配置没完成
因为OpenVAS默认支持https,需要自签证书太麻烦,所以我修改gasd的启动脚本,把httpd改为http
记得关闭SELinux和放行IPtables的TCP 9392端口