我卡在了 Openvas ldap 身份验证配置过程中。
我使用上游的以下 openvas 组件版本:
openvas libraries - 8.0.3
openvas manager - 6.0.3
(均从自制的 ppa repo 安装openvas8)
发行版 - Ubuntu 14.04.2 LTS
我发现例子.auth.conf在库源 tarball 中。在 strace 的帮助下,我找到了 openvasmd 期望找到其身份验证配置的目录:
PREFIX/var/lib/openvas/openvasmd/auth.conf
由于PREFIX
变量为空,因此路径如下:
/var/lib/openvas/openvasmd/auth.conf
然后我提高了 openvasmd 的日志记录级别 127=>128(也以详细模式运行-v
,因为如果没有该标志就无法在日志中找到有趣的信息)
根据邮件列表档案中的信息(例子是的,它相当过时了=\) 我添加到配置中:
[method:ldap]
order=2
enable=false
ldaphost=my_ldap_server_hostname
authdn=uid=%s,my_dn
allow-plaintext=false
我还method:file
出于测试目的评论了部分内容。但在服务重启并尝试登录(使用 GSAD Web 界面)后,我在 openvasmd.log 中发现:
lib auth:WARNING:2015-06-23 12h04.38 utc:15352: Unsupported authentication method: method:ldap.
还有明显的登录结果:
md omp: DEBUG:2015-06-23 14h33.05 utc:17775: XML start: authenticate (0)
...-设置我的凭据,顺便说一下,日志文件中的密码是纯文本格式
md omp: DEBUG:2015-06-23 14h33.05 utc:17775: XML end: authenticate
md main: /<authenticate_response status="400" status_text="Authentication failed"/
首先,我认为这是编译库时的错误配置问题(没有 ldap 支持标志)。但这两个库和 openvas 管理器都与 ldap 库链接(我还将 ldap dev 库添加到 debian/control 文件中作为软件包的构建依赖项):
ldd /usr/lib/libopenvas_misc.so.8.0.3 | grep ldap
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fc3529e9000)
ldd /usr/sbin/openvasmd | grep ldap
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f83fdead000)
我method:ldap
在库源文件中没有找到任何引用。只method:ldap_connect
找到了,但它被称为“每个用户的 ldap 身份验证”。如果我正确理解了这个概念,它是一种针对已创建用户的身份验证机制,有权通过 ldap 进行身份验证,我已经测试过它并且它运行良好(这个事实证实了 openvas 库/管理器是在 ldap 支持下编译的)。但这不是我需要的完整 ldap 集成功能。
答案1
我敢打赌,这是因为你的库没有编译 ldap 支持。来自你的构建日志:
cd /«PKGBUILDDIR»/obj-x86_64-linux-gnu/misc && /usr/bin/x86_64-linux-gnu-gcc -DENABLE_LDAP_AUTH=1
不幸的是,这与非官方推荐的 ppa。