使用 StartTLS 对 Samba Active Directory 进行 OpenFire 身份验证

使用 StartTLS 对 Samba Active Directory 进行 OpenFire 身份验证

我正在尝试对不同的服务(目前特别是 openfire)进行身份验证Samba 活动目录超过启动TLS(端口 389)。

在设置 openfire 时,我选中了此选项(使用 StartTLS),但是当我测试连接时,出现此错误:

[LDAP: error code 1 - 00002020: Operation unavailable without authentication]

我不得不说,当我尝试通过 LDAPS 连接(使用端口 636)时,一切都很顺利。无论如何,很明显,389 上没有加密的连接将无法与 AD 一起使用(当我尝试时,openfire 告诉我必须使用加密层)。

有人能帮助我成功连接吗启动TLS

这是我的 smb.conf

[global]
        netbios name = S1
        realm = NOURELDIN.LOCAL
        workgroup = NOURELDIN
        dns forwarder = 8.8.8.8
        server role = active directory domain controller
        idmap_ldb:use rfc2307 = yes
        ldap ssl = start tls

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/noureldin.local/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

附言:我尝试添加和删除 (ldap ssl = start tls) 行,但没有任何区别。

我感谢任何帮助。

答案1

您可能需要在 openfire 系统中导入 samba ADS CA 证书

编辑:我在 centos vm 中安装了 samba4,并将 openfire 配置为使用带有 startls 的 ldap。

从 samba wiki 中所示的来源安装 samba4 后(https://wiki.samba.org/index.php/Build_Samba_from_sourcehttps://wiki.samba.org/index.php/Setup_a_Samba_Active_Directory_Domain_Controller),我将 Samba 域控制器中的目录更改为 /usr/local/samba/private/tls

此文件夹中有三个文件:

# pwd
/usr/local/samba/private/tls
[root@dc1 tls]# ls -l
total 12
-rw-r--r--. 1 root root 2025 Jun 20 21:29 ca.pem
-rw-r--r--. 1 root root 2029 Jun 20 21:29 cert.pem
-rw-------. 1 root root 3243 Jun 20 21:29 key.pem

复制 ca.pem 的内容。一种方法是:

# cat ca.pem 

复制从 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE----- 的所有内容

在 openfire 控制台中,转到 TLS/SSL 证书并单击管理服务器联合存储的信任存储的存储内容:

在此处输入图片描述

点击‘导入自’:

并为新的 CA 命名,如“我的超棒 samba4 域”,然后粘贴 ca.pem 的内容:

在此处输入图片描述 在此处输入图片描述

验证新的 CA 是否存在,它应该被添加到受信任的存储列表中:

在此处输入图片描述

在服务器设置中验证您正在使用 startls:

在此处输入图片描述

重新启动 openfire,以管理员用户身份登录 Web 控制台。要验证您是否正在使用 starttls,可以使用 tcpdump。

完毕。

相关内容