改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置

加密强度是信息系统用于业务时最重要的指标之一,因为每天都会涉及大量机密信息的传输。 评估 SSL 连接质量的一种普遍接受的方法是 Qualys SSL 实验室的独立测试。 由于任何人都可以运行此测试,因此对于 SaaS 提供商来说,在此测试中获得尽可能高的分数尤为重要。 不仅是SaaS提供商,普通企业也关心SSL连接的质量。 对于他们来说,这次测试是识别潜在漏洞并提前堵住网络犯罪分子所有漏洞的绝佳机会。

改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置
Zimbra OSE 允许两种类型的 SSL 证书。 第一个是在安装过程中自动添加的自签名证书。 该证书免费且没有时间限制,非常适合测试 Zimbra OSE 或仅在内部网络中使用它。 但是,当登录 Web 客户端时,用户会在浏览器中看到此证书不受信任的警告,并且您的服务器肯定无法通过 Qualys SSL Labs 的测试。

第二种是由认证机构签署的商业 SSL 证书。 此类证书很容易被浏览器接受,通常用于 Zimbra OSE 的商业用途。 正确安装商业证书后,Zimbra OSE 8.8.15 在 Qualys SSL Labs 的测试中显示出 A 分数。 这是一个很好的结果,但我们的目标是达到 A+ 的结果。

改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置

改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置

为了在使用 Zimbra Collaboration Suite 开源版时在 Qualys SSL Labs 的测试中获得最高分,您必须完成多个步骤:

1.增加Diffie-Hellman协议的参数

默认情况下,所有使用 OpenSSL 的 Zimbra OSE 8.8.15 组件都将 Diffie-Hellman 协议设置设置为 2048 位。 原则上,这足以在 Qualys SSL Labs 的测试中获得 A+ 分数。 但是,如果您从旧版本升级,设置可能会较低。 因此,建议更新完成后,运行命令 zmdhparam set -new 2048,这会将 Diffie-Hellman 协议的参数增加到可接受的 2048 位,如果需要,使用相同的命令,可以增加将参数的值设置为3072或4096位,这一方面会导致生成时间的增加,但另一方面会对邮件服务器的安全级别产生积极的影响。

2. 包括推荐使用的密码列表

默认情况下,Zimbra Collaborataion Suite 开源版支持各种强密码和弱密码,这些密码可对通过安全连接传递的数据进行加密。 然而,在检查 SSL 连接的安全性时,使用弱密码是一个严重的缺点。 为了避免这种情况,您需要配置所使用的密码列表。

为此,请使用命令 zmprov mcf zimbraReverseProxySSLCiphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'

该命令立即包含一组推荐的密码,并且由于它,该命令可以立即在列表中包含可靠的密码并排除不可靠的密码。 现在剩下的就是使用 zmproxyctl restart 命令重新启动反向代理节点。 重新启动后,所做的更改将生效。

如果由于某种原因此列表不适合您,您可以使用以下命令从中删除一些弱密码 zmprov mcf +zimbraSSLExcludeCipherSuites。 因此,例如,命令 zmprov mcf +zimbraSSLExcludeCipherSuites TLS_RSA_WITH_RC4_128_MD5 +zimbraSSLExcludeCipherSuites TLS_RSA_WITH_RC4_128_SHA +zimbraSSLExcludeCipherSuites SSL_RSA_WITH_RC4_128_MD5 +zimbraSSLExcludeCipherSuites SSL_RSA_WITH_RC4_128_SHA +zimbraSSLExcludeCipherSuites TLS_ECDHE_RSA_WITH_RC4_128_SHA,这将完全消除 RC4 密码的使用。 使用 AES 和 3DES 密码也可以完成同样的操作。

3.启用HSTS

为了在 Qualys SSL 实验室测试中获得满分,还需要启用强制连接加密和 TLS 会话恢复的机制。 要启用它们,您必须输入命令 zmprov mcf +zimbraResponseHeader "Strict-Transport-Security: max-age=31536000"。 此命令会将必要的标头添加到配置中,为了使新设置生效,您必须使用以下命令重新启动 Zimbra OSE zmcontrol重新启动.

在此阶段,Qualys SSL Labs 的测试将显示 A+ 评级,但如果您想进一步提高服务器的安全性,您还可以采取许多其他措施。

改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置

例如,您可以启用进程间连接的强制加密,也可以在连接到 Zimbra OSE 服务时启用强制加密。 要检查进程间连接,请输入以下命令:

zmlocalconfig -e ldap_starttls_supported=1
zmlocalconfig -e zimbra_require_interprocess_security=1
zmlocalconfig -e ldap_starttls_required=true

要启用强制加密,您需要输入:

zmprov gs `zmhostname` zimbraReverseProxyMailMode
zmprov ms `zmhostname` zimbraReverseProxyMailMode https

zmprov gs `zmhostname` zimbraMailMode
zmprov ms `zmhostname` zimbraMailMode https

zmprov gs `zmhostname` zimbraReverseProxySSLToUpstreamEnabled
zmprov ms `zmhostname` zimbraReverseProxySSLToUpstreamEnabled TRUE

由于这些命令,与代理服务器和邮件服务器的所有连接都将被加密,并且所有这些连接都将被代理。

改进 Zimbra Collaboration Suite 开源版中的 SSL 连接安全设置

因此,按照我们的建议,您不仅可以在 SSL 连接安全测试中获得最高分,还可以显着提高整个 Zimbra OSE 基础设施的安全性。

对于与 Zextras Suite 相关的所有问题,您可以通过电子邮件联系 Zextras Ekaterina Triandafilidi 的代表 [电子邮件保护]

来源: habr.com

添加评论