我在 CentOS 上运行 389-DS。版本 - '389-ds-base.i686 1.2.11.15-34.el6_5'。安全扫描显示在端口 389 和 636 上发现了 NullCiphers。
我尝试通过关闭 DS、编辑所有“/etc/dirsrv/slapd-/dse.ldif”文件上的“nsSSL3Ciphers”并启动 DS 来禁用它们。nsSSL3Ciphers 现在看起来像这样 -
modifyTimestamp: 20140915221826Z
nsSSL3Ciphers: -rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5,
+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,+rsa_fips_3des_sha,+fortezza,+fo
rtezza_rc4_128_sha,-fortezza_null,+tls_rsa_export1024_with_rc4_56_sha,+tls_rs
a_export1024_with_des_cbc_sha
numSubordinates: 1
扫描仍然显示这两个端口上的密码为空。
Here is the list of null SSL ciphers supported by the remote server :
Null Ciphers (no encryption)
TLSv1
NULL-SHA Kx=RSA Au=RSA Enc=None Mac=SHA1
The fields above are :
{OpenSSL ciphername}
Port
389 / tcp / ldap
636 / tcp / ldap
关于如何禁用这些空密码,您有什么想法吗?
答案1
您可以按照其他答案中的建议手动修复密码,或者在适用的情况下,只需升级到 FreeIPA 4.0.3 即可修复开箱即用的密码(上行票)。
这就是我得到的FreeIPA 4.0.3或 4.1.0 Alpha1:
# nmap --script ssl-cert,ssl-enum-ciphers -p 636 `hostname`
Starting Nmap 6.40 ( http://nmap.org ) at 2014-10-09 01:52 EDT
Nmap scan report for ipa.mkosek-rhel71.test (10.16.78.57)
Host is up (0.000092s latency).
PORT STATE SERVICE
636/tcp open ldapssl
| ssl-cert: Subject: commonName=ipa.mkosek-rhel71.test/organizationName=MKOSEK-RHEL71.TEST
| Issuer: commonName=Certificate Authority/organizationName=MKOSEK-RHEL71.TEST
| Public Key type: rsa
| Public Key bits: 2048
| Not valid before: 2014-10-09T04:52:15+00:00
| Not valid after: 2016-10-09T04:52:15+00:00
| MD5: 0fc7 afd6 343b 9e51 abd0 3ba1 7bde 3c25
|_SHA-1: 246a 02f2 1663 3ca9 e97b cdd4 887e 6e10 7685 5627
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| TLS_RSA_WITH_SEED_CBC_SHA - strong
| compressors:
| NULL
|_ least strength: strong
Nmap done: 1 IP address (1 host up) scanned in 0.91 seconds
答案2
您必须使用 LDAP 浏览器(例如 Apache Directory Studio)来修改配置或使用内置 LDAP 实用程序 ldapmodify。我将概述使用 ldapmodify 的步骤,因为如果您选择使用 UI 工具,这将有所帮助。
要使用 ldapmodify,首先要创建一个具有特定语法的 ldif 文件,然后将其导入。请注意,文件中到处都是“replace:”。此特定示例正在修改 cn=encryption,cn=config 中的内容,您也可以使用 LDAP 浏览器查看和修改这些内容。该文件看起来类似于以下内容:
dn: cn=encryption,cn=config
changetype: modify
replace: nsSSL3
nsSSL3: off
-
replace: nsSSL2
nsSSL2: off
-
replace: nsSSL3Ciphers
nsSSL3Ciphers: nsSSL3Ciphers: -rc4,-rc4export,-rc2,-rc2export,-des,-desede3,-rsa_rc4_128_md5,+rsa_rc4_128_sha,+rsa_3des_sha,-rsa_des_sha,+rsa_fips_3des_sha,+fips_3des_sha,-rsa_fips_des_sha,-fips_des_sha,-rsa_rc4_40_md5,-rsa_rc2_40_md5,-rsa_null_md5,-rsa_null_sha,-tls_rsa_export1024_with_rc4_56_sha,-rsa_rc4_56_sha,-tls_rsa_export1024_with_des_cbc_sha,-rsa_des_56_sha,-fortezza,-fortezza_rc4_128_sha,-fortezza_null,-dhe_dss_des_sha,+dhe_dss_3des_sha,-dhe_rsa_des_sha,+dhe_rsa_3des_sha,+tls_rsa_aes_128_sha,+rsa_aes_128_sha,+tls_dhe_dss_aes_128_sha,+tls_dhe_rsa_aes_128_sha,+tls_rsa_aes_256_sha,+rsa_aes_256_sha,+tls_dhe_dss_aes_256_sha,+tls_dhe_rsa_aes_256_sha,+tls_dhe_dss_1024_rc4_sha,+tls_dhe_dss_rc4_128_sha
您可以像这样将文件应用到您的 LDAP 服务器:
ldapmodify -x -D “cn=目录管理器” -W -f no_null_cipher.ldif
我不能说这些确切的命令是否适用于您的特定设置,但这会让您走上正确的轨道。您的架构可能不同,因此 cn=encryption,cn=config 可能不是进行更改的地方。一定要非常小心,如果可能的话,彻底测试您正在做的事情。