如何查看 openldap 连接的 TLS 密码?

如何查看 openldap 连接的 TLS 密码?

我们的 OpenLDAP 服务器运行 EL6 版本。OpenLDAP 是针对 Mozilla 网络安全服务 (NSS) 库构建的。我们的 LDAP 客户端来自各种 Unix 和 Linux 系统。

当我们使用首选的 TLS 密码时,我们无法让 OpenLDAP 连接为客户端或复制工作。

例如,如果我们使用 Red Hat 的仅使用最强的可用密码列表,例如:

# /etc/openldap/slapd.conf
TLSProtocolMin 3.2
TLSCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL

客户端连接失败,因为它们不符合我们的 ACL 对最低安全强度因子 (SSF) 的要求:

slapd[22887]: conn=1022 fd=20 ACCEPT from IP=192.168.100.101:35936 (IP=192.168.100.100:636)
slapd[22887]: conn=1022 fd=20 TLS established tls_ssf=128 ssf=128
...
slapd[22887]: <= check a_authz.sai_ssf: ACL 256 > OP 128

我如何才能知道这个连接使用了哪种密码,以便可以将其从列表中删除?

如果我们禁用密码列表并使用 OpenLDAP + NSS 提供的默认值,它就可以起作用:

# /etc/openldap/slapd.conf
TLSProtocolMin 3.2
# TLSCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL


slapd[6020]: conn=1003 fd=20 ACCEPT from IP=192.168.100.101:35936 (IP=192.168.100.100:636)
slapd[6020]: conn=1003 fd=20 TLS established tls_ssf=256 ssf=256

但是,默认列表是不可接受的,因为它包含一些我们的安全团队不想要的弱密码,例如 RC4-SHA 和 RC4-MD5 密码。

我们知道 EL6 将于今年年底停止服务。这是另一个问题。

答案1

我无法直接在节点上执行此操作tcpdumptshark我所要做的是tcpdump在机器上捕获数据,将数据传输到我的笔记本电脑,然后运行现代版本的 Wiresharkhttps://security.stackexchange.com/questions/52150/identify-ssl-version-and-cipher-suite

另一个非常有用的命令是使用nmap脚本来枚举密码:

$ nmap --script ssl-enum-ciphers -p 636 ldap.example.org -Pn


PORT    STATE SERVICE
636/tcp open  ldapssl
| ssl-enum-ciphers: 
...
|   TLSv1.2
|     Ciphers (16)
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA256
|       TLS_RSA_WITH_AES_128_GCM_SHA256
|       TLS_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_AES_256_CBC_SHA256
|       TLS_RSA_WITH_AES_256_GCM_SHA384
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA


Nmap done: 1 IP address (1 host up) scanned in 0.34 seconds

这些AES_128密码导致了我的问题,因此我通过将其添加到排除密码列表中来禁用它们:

TLSCipherSuite HIGH:!LOW:!MEDIUM:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL:!AES128

相关内容