Ssl

如何查看 openldap 連接的 TLS 密碼?

  • June 12, 2020

我們的 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 將在今年年底前停產。那是一個不同的問題。

我無法直接使用節點tcpdumptshark在節點上執行此操作。我必須做的是tcpdump在機器上擷取數據,將數據傳輸到我的筆記型電腦,然後按照https://security.stackexchange.com/questions/52150/identify-ssl-version-and-cipher執行現代版本的 Wireshark -套房

另一個非常有用的命令是使用nmap’s 腳本來列舉密碼:

$ 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

引用自:https://serverfault.com/questions/1020948