我们的 OpenLDAP 服务器在 EL6 上运行版本。OpenLDAP 是针对 Mozilla 网络安全服务 (NSS) 库构建的。我们的 LDAP 客户端来自各种 Unix 和 Linux 系统。
当我们使用我们首选的 TLS 密码时,我们无法让 OpenLDAP 连接为客户端或复制工作。
例如,如果我们使用 Red Hat 的Strongest available ciphers only列表,例如:
# /etc/openldap/slapd.conf
TLSProtocolMin 3.2
TLSCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL
客户端连接失败,因为它们不符合我们对最低安全强度因子 (SSF) 的 ACL 要求:
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 将在今年年底前停产。那是一个不同的问题。
我无法直接使用节点
tcpdump
或tshark
在节点上执行此操作。我必须做的是tcpdump
在机器上捕获数据,将数据传输到我的笔记本电脑,然后按照https://security.stackexchange.com/questions/52150/identify-ssl-version-and-cipher运行现代版本的 Wireshark -套房另一个非常有用的命令是使用
nmap
's 脚本来枚举密码:这些
AES_128
密码导致了我的问题,因此我通过将其添加到排除密码列表中来禁用它们: