我正在尝试按照下面的文章让 OpenVAS 正常工作。
https://www.atlantic.net/community/howto/install-openvas-vulnerability-scanner-centos-7
但是它不起作用,当我运行 openvas-check-setup 时,我在下面收到此错误,当我检查 /var/log/redis/redis.log 时,它显示“正在打开 Unix 套接字:绑定:权限被拒绝”
openvas-check-setup 2.3.7 Test completeness and readiness of OpenVAS-8 (add '--v6' or '--v7' or '--v9' if you want to check for another OpenVAS version)
Please report us any non-detected problems and help us to improve this check routine: http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss
Send us the log-file (/tmp/openvas-check-setup.log) to help analyze the problem.
Use the parameter --server to skip checks for client tools like GSD and OpenVAS-CLI.
Step 1: Checking OpenVAS Scanner ...
OK: OpenVAS Scanner is present in version 5.0.7.
OK: OpenVAS Scanner CA Certificate is present as /var/lib/openvas/CA/cacert.pem.
OK: redis-server is present in version v=3.0.7.
OK: scanner (kb_location setting) is configured properly using the redis-server socket: /tmp/redis.sock
ERROR: redis-server is not running or not listening on socket: /tmp/redis.sock
FIX: You should start the redis-server or configure it to listen on socket: /tmp/redis.sock
ERROR: Your OpenVAS-8 installation is not yet complete!
恭喜,您找到了一个糟糕的 Internet 教程。该教程的作者似乎从未亲自测试过它是否有效,因为它不能按原样工作。更糟糕的是,该教程似乎实际上是从官方 OpenVAS 网站链接到的,这会误导和挫败很多人。
因此,redis 无法启动的原因是 SELinux 拒绝 redis-server 写入
/tmp
. 您可以在审核日志中看到这一点:而不是
/tmp
,套接字文件应该位于/run/redis
,例如:这允许它在 SELinux 强加的约束内运行。
编辑
/etc/redis.conf
时,请务必检查文件底部是否有第二个unixsocket
指令添加openvas-setup
并删除它作为多余的。当然,通常在启用 SELinux 的系统上,应将 redis 配置为侦听 localhost 上的 TCP 端口,而不是使用套接字,因为其他守护进程可能不允许通过套接字与 redis 通信,而只能通过 TCP。这不是一个真正的问题,因为 OpenVAS 不是(还)受 SELinux 限制的,但它也不支持通过 TCP 联系 redis。这样做的结果是,除了 OpenVAS 的本地副本之外,此 redis 安装无法与任何其他服务共享或重用。
但是本教程的错误不止于此!
第二件事是,OpenVAS 没有任何地方被配置为实际使用 redis。它依赖于默认编译,正如我们所见,这是错误的。要解决此问题,需要在 中设置配置指令
/etc/openvas/openvassd.conf
,本教程从未提及:第三件事是它使用了一个名为 atomic 的第三方repo,它提供的包与普通 repos 中的包冲突,例如 EPEL - 它已经提供了 redis 和 OpenVAS!不清楚为什么 atomic 会这样做,也不清楚为什么本教程使用 atomic 开始。使用包含冲突包的存储库具有潜在危险。如果您继续使用原子包,您将需要绝对确定这台(虚拟)机器不会出于任何原因用于其他任何用途。
最后,一旦你安装了它,Web 界面实际上是不可访问的,因为指定的端口没有在防火墙中打开。你也必须自己做。
一旦你完成了,
openvas-check-setup
应该说,除其他外......具有讽刺意味的是,它还会说:
这似乎是完全免费和不必要的,因为 OpenVAS 并不受 SELinux 的限制。
我遇到了同样的问题。问题是在 Kali Linux OpenVas 上默认没有文件:/etc/openvas/openvassd.conf。
所以我创建了这个文件并在下面输入了内容来覆盖 Redis 服务器的默认值。kb_location=/var/run/redis/redis.sock
这解决了我的问题。我在这个网站上写了完整的教程: https ://waqasahmedkhan.com/openvas-bug-in-kali-linux-2017-3-5/