Nagios Web GUI 的 LDAPS 身份验证

LDAPS Authentication for Nagios Web GUI

我正在尝试针对 Active Directory 为我的 Nagios Web GUI (https://localhost/nagios) 启用 LDAPS 身份验证。我之前已经用 LDAP 设置了它,没有遇到太多麻烦,但是 LDAPS 令人头疼。 我认为我的证书是有效的,因为 Active Directory 中的事件查看器显示我认为是成功的凭据验证。 在我的浏览器中,输入 AD 的用户名和密码后,它旋转了一会儿,最终出现在内部服务器错误页面。 None 我的日志给了我任何有用的东西。

这是我目前所做的:

  1. nagios.conf - 针对 LDAPS 进行了修改(见下面的附件)
  2. ldap.conf - 添加了以下行:

    HOST "hostname"
    PORT 636
    TLS_CACERT /etc/httpd/conf.d/rootcert.pem
    TLS_REQCERT never

  3. (仅供参考,rootcert.pem 是通过采用根 CA 颁发的证书并转换为 pem 格式创建的):

    openssl x509 -inform der -in rootcert.cer -out rootcert.pem

这是我的 nagios.conf。 [括号] 中的内容经过编辑,不包含我的真实信息:

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative on
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN off
AuthName "Active Directory Login 1"
AuthLDAPURL "ldaps://[myActiveDirServerName]:636/DC=[dc1],DC=[dc2],DC=[dc3],DC=[dc4]?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "CN=nagiosadmin,OU=[ou1],OU=[ou2],OU=[ou3],DC=[dc1],DC=[dc2],DC=[dc3],dc=[dc4]"
AuthLDAPBindPassword [passwd]
Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative on
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN off
AuthName "Active Directory Login 2"
AuthLDAPURL "ldaps://[myActiveDirServerName]:636/DC=[dc1],DC=[dc2],DC=[dc3],DC=[dc4]?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "CN=nagiosadmin,OU=[ou1],OU=[ou2],OU=[ou3],DC=[dc1],DC=[dc2],DC=[dc3],dc=[dc4]"
AuthLDAPBindPassword [passwd]
Require valid-user
</Directory>

如果您能提供任何帮助,我们将不胜感激!

已解决。

端口从 636 切换到 3269。

还使用了不同的证书。我的主机位于与 AD 服务器不同的网络飞地中,因此我需要将 PEM 转换的中间证书和根证书链接在一起:

openssl x509 -inform der -in rootcert.cer -out rootcert.pem
openssl x509 -inform der -in intermediateCert.cer -out intermediateCert.pem
cat intermediateCert.pem rootcert.pem > chainedCert.pem
(Then use chainedCert.pem in ldap.conf. Youll need to change the permissions on that cert too)