OpenVAS

出自 ArchWiki

此文章或章节需要语言、wiki 语法或样式改进。请参阅 Help:Style 以获取参考。

原因: 各种 Help:Style 问题 (在 Talk:OpenVAS#Complete rewrite 中讨论)

OpenVAS 代表开放式漏洞评估系统(Open Vulnerability Assessment System),是一个网络安全扫描器,带有图形用户前端等相关工具。核心组件是一个服务器,带有一组网络漏洞测试(NVT),用于检测远程系统和应用程序中的安全问题。

预安装

PostgreSQL

在继续之前设置 PostgreSQL

Redis

按照 OpenVAS redis 配置 中的规定配置 Redis。总而言之,将以下内容添加到您的 /etc/redis/redis.conf

port 0
unixsocket /run/redis/redis.sock
unixsocketperm 770
timeout 0
databases 128
注意: 请参阅之前的 OpenVAS redis 配置 文档,了解如何计算 databases 数量。

最后 重启 redis.service

安装

安装 以下软件包以获得完整的 OpenVAS 设置,包括管理器、Web 前端、扫描器等: openvas-scannerAUR, ospd-openvasAUR, gsaAUR, gvmdAUR。需要安装 nmap 才能使扫描器提供正确的结果,并且需要 texlive 才能使 PDF 报告功能正常工作。

警告: 软件包 openvas-scannerAUR, ospd-openvasAUR, gsaAUR, gvmdAUR 当前已损坏。要修复它们,请参考 [1]

初始设置

为 gvm 设置 PostgreSQL 数据库

[postgres]$ createuser gvm
[postgres]$ createdb -O gvm gvmd

授予此用户 DBA 角色

[postgres]$ psql gvmd
# create role dba with superuser noinherit;
# grant dba to gvm;
# create extension "uuid-ossp";
# \q

确保具有以下 sysctl 配置

# echo "net.core.somaxconn = 1024" >> /etc/sysctl.d/90-openvas.conf
# echo "vm.overcommit_memory = 1" >> /etc/sysctl.d/90-openvas.conf
# sysctl -p /etc/sysctl.d/90-openvas.conf

在执行此操作之前,请检查 somaxconn 的值(通常 Arch Linux 的值为 4096,无需调整)

# sysctl -a | grep somaxconn

如果情况如此,请跳过第一个 echo 行。

授予 gvm 用户访问 redis 套接字的权限

# usermod -aG redis gvm
# echo "db_address = /run/redis/redis.sock" > /etc/openvas/openvas.conf
# chown gvm:gvm /etc/openvas/openvas.conf

更新 NVT

# chown -R gvm:gvm /var/lib/openvas
[gvm]$ greenbone-nvt-sync && openvas --update-vt-info

更新 feeds

[gvm]$ greenbone-feed-sync --type GVMD_DATA
[gvm]$ greenbone-scapdata-sync --rsync
[gvm]$ greenbone-certdata-sync --rsync

您可以启用以下计时器以经常更新这些数据: greenbone-nvt-sync.timergreenbone-feed-sync.timergreenbone-scapdata-sync.timergreenbone-certdata-sync.timer

为服务器和客户端创建证书,使用了默认值

[gvm]$ gvm-manage-certs -a

添加管理员用户帐户,请务必复制密码

[gvm]$ gvmd --create-user=admin --role=Admin

您也可以稍后更改用户的密码

[gvm]$ gvmd --user=admin --new-password=<password>

开始使用

启动 ospd-openvas.servicegvmd.servicegsad.service

创建扫描器

[gvm]$ gvmd --get-scanners

复制 OpenVAS 默认扫描器的 ID 并运行

[gvm]$ gvmd --modify-scanner=id-of-scanner --scanner-host=/run/gvm/ospd.sock
[gvm]$ gvmd --verify-scanner=id-of-scanner

设置 feed 导入用户

[gvm]$ gvmd --get-users --verbose

复制管理员用户的 ID 并运行

[gvm]$ gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value id-of-admin

将您的 Web 浏览器指向 http://127.0.0.1 并使用您的管理员凭据登录。

注意: 默认情况下,gsad 将绑定到端口 80。如果您已经运行了 Web 服务器,这将显然会导致问题。您可以在文件 /etc/default/gsad 中修改端口和监听地址

参见