基本介绍

OpenVAS是Greenbone旗下,一个功能齐全的漏洞扫描程序。其能力 包括未经身份验证和经过身份验证的测试,各种高级 以及低级互联网和工业协议,性能调优 用于大规模扫描和强大的内部编程语言 实施任何类型的漏洞测试。

Feed比较

Greenbone生产和维护两个feeds:Greenbone Enterprise Feed和Greenbone社区Feed。它们提供用于检测现有漏洞的测试以及有关其潜在威胁的信息。

通过漏洞测试,扫描程序会检查 IT 网络中的所有系统(例如服务器、防火墙或交换机)是否存在已知和潜在的安全漏洞,从而提供对现有漏洞的新见解。检查识别出的系统的各种属性:操作系统、开放端口、已安装的软件、用户帐户、文件系统结构、系统配置等等。

OpenVAS(GVM)开源漏洞扫描安装配置教程_OpenVAS

官方网站:www.openvas.org

安装配置

当OpenVAS项目启动时,它只包含一个用于扫描的引擎。 漏洞。

Greenbone公司成立,开始领导 开发OpenVAS,添加多个软件组件并转向OpenVAS 融入漏洞管理解决方案,同时保持免费价值 软件。该漏洞管理解决方案后来被命名为Greenbone漏洞管理(GVM)。因此,在OpenVAS 9发布之后,版本被命名为 GVM。

了解架构

OpenVAS是一个客户端/服务器架构,它由几个组件组成。在服务器上(仅限于Linux),用户需要四个程序包:

OpenVAS-Server: 实现基本的扫描功能

OpenVAS-Plugins: 一套网络漏洞测试程序

OpenVAS-LibNASL 和OpenVAS-Libraries: 实现服务器功能所需要的组件

而在客户端上(Windows或Linux均可),用户仅需要OpenVAS客户端。

硬件要求

最低:

  • CPU内核数:2
  • 内存:4GB
  • 硬盘:20GB 可用空间

推荐:

  • CPU内核数:4
  • 内存:8GB
  • 硬盘:60GB 可用空间

开始安装

安装环境以kali linux为例,支持debian/ubuntu/fedora/centos等系统。

安装可以选择源码编译Docker等,具体可以点击跳转官网文档。

先决条件

社区版提供的服务应以专用用户身份运行。
所以需要一个相同名称的用户和组。

debian/ubuntu
创建 gvm 系统用户和组
sudo useradd -r -M -U -G sudo -s /usr/sbin/nologin gvm

fedora/centos
创建 gvm 系统用户和组
sudo useradd -r -M -U -G wheel -s /usr/sbin/nologin gvm

要允许当前用户运行 gvmd,必须将他添加到 gvm 组。
要使组更改生效,请注销并再次登录或使用 su。
sudo usermod -aG gvm $USER
su $USER

源更换

安装之前将kali的源换成国内的源,阿里或中科大的源

vim  /etc/apt/sources.list 或 leafpad /etc/apt/sources.list

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

kali升级


  sudo apt-get update  // 软件库更新

  sudo apt-get upgrade  // 软件升级

  sudo apt-get dist-upgrade  // 升级系统

  sudo apt-get clean  // 删除包缓存

在线安装

 sudo apt-get install gvm -y #安装命令 不多说

配置

gvm-setup  #初始化环境。联网下载扫描脚本等 不能科学上网的话  时间很长  一晚上
#成功以后会提示有登录密码 记得保存。  账号默认 admin
#报错一般都是postgresql.service  看看有没有启动。5432端口是否在监听状态。
#具体报错看报错信息,先排除 postgresql 的问题

检查

sudo gvm-check-setup  #检查openvas 安装是否成功

如果成功
默认监听在回环地址 9392 端口 https://IP地址:9392 

服务启停

gvm-start    #启动openvas
gvm-stop     #停止openvas    
gvm-check-setup  #升级特征库  第一次安装,不用升级。后期使用记得经常升级特征库。

基本配置

修改密码

sudo runuser -u _gvm -- gvmd --user=admin --new-password=password  #修改密码
sudo runuser -u _gvm -- gvmd --create-user=admin2 --new-password=123456  #创建新的管理员

启用外部监听

systemctl stop gvmd.service  \ gvm-stop   # 先停止在修改

vim /lib/systemd/system/greenbone-security-assistant.service 
    [Unit]
    Description=Greenbone Security Assistant (gsad)
    Documentation=man:gsad(8) https://www.greenbone.net
    After=network.target gvmd.service
    Wants=gvmd.service

    [Service]
    Type=forking
    User=_gvm
    Group=_gvm
    ExecStart=/usr/sbin/gsad --listen=0.0.0.0 --port=9392   
    Restart=always
    TimeoutStopSec=10

    [Install]
    WantedBy=multi-user.target
    Alias=gsad.service
    
    
systemctl start  gvmd.service

OpenVAS(GVM)开源漏洞扫描安装配置教程_docker_02

启动服务并加载所有源数据后, Greenbone安全助手Web界面 - GSA - 可以在浏览器中打开。

xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null &

OpenVAS(GVM)开源漏洞扫描安装配置教程_docker_03

最后,通过浏览器将显示GSA的登录页面,输入之前创建的账号密码完成登陆,可以开始漏洞扫描啦。

设置和启动脚本

将安装程序和启动脚本下载到当前工作目录

curl -f -O https://greenbone.github.io/docs/latest/_static/setup-and-start-greenbone-community-edition.sh && chmod u+x setup-and-start-greenbone-community-edition.sh

要执行脚本,需要运行以下命令

./setup-and-start-greenbone-community-edition.sh

故障排除

VT 是最新的,但在 Web 界面上不可见

重启扫描程序以保障加载新的VT

docker compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \
    restart ospd-openvas

端口列表、扫描配置、报告格式是最新的,但在 Web 界面上不可见

强制加载格式、扫描配置和端口列表

docker compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \
    exec -u gvmd gvmd gvmd --rebuild-gvmd-data=all

启动容器时出错pg-gvm

启动容器时,会显示一些错误。例如

.pg-gvmcreateuser: error: creation of new role failed: ERROR:  role "gvmd" already existsERROR:  extension "uuid-ossp" already exists

这些错误代码表示,数据库配置错误。如果数据库是 已初始化,所有表、用户、权限和扩展都存在。目前,无法消除这些错误,但是 它们可以安全地忽略。

osp_scanner_feed_version: failed to connect to /run/ospd/ospd-openvas.sock

如果日志包含此错误,则无法连接到扫描程序。很可能没有运行。尝试 使用以下命令重新启动相应的容器:

gvmdgvmdospd-openvasospd-openvas

重新启动 ospd-openvas 扫描程序

docker compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \
    restart ospd-openvas

如果仍然遇到错误,则需要查看日志。

显示 ospd-openvas 扫描程序的日志消息

docker compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \
    log -f ospd-openvas

无法登录到 Web 界面

OpenVAS(GVM)开源漏洞扫描安装配置教程_漏洞扫描_04

必须重新启动 gvmd 容器。很有可能 在访问PostgreSQL数据库时遇到一些问题。

Failed to connect to server at /run/gvmd/gvmd.sock: Connection refused

重新启动 gvmd

docker compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \

    restart gvmd