Ubuntu 14.04 默认安装中的完美前向保密

Ubuntu 14.04 默认安装中的完美前向保密

Ubuntu 14.04 是否支持并启用完美前向保密nginx、dovecot 和 postfix 等服务器的默认 TLS 配置中的密码?

Ubuntu 12.04 等早期版本甚至没有编译所需的密码(请参阅LP#1197884或者如何在 Nginx 中启用 TLS 1.2?)。

答案1

不。但这是因为 Ubuntu 无法支持或启用此功能。这取决于相应的软件是否支持此功能。

您需要在配置中添加以下几行...

阿帕奇

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \
EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \
EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"

Nginx

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \
EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \
EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

多夫科特

ssl_cipher_list = EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
ssl_prefer_server_ciphers = yes

后缀

#the dh params
smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
#enable ECDH
smtpd_tls_eecdh_grade = strong
#enabled SSL protocols, don't allow SSLv2
smtpd_tls_protocols= !SSLv2
smtpd_tls_mandatory_protocols= !SSLv2
#allowed ciphers for smtpd_tls_security_level=encrypt
smtpd_tls_mandatory_ciphers = high
#allowed ciphers for smtpd_tls_security_level=may
#smtpd_tls_ciphers = high
#enforce the server cipher preference
tls_preempt_cipherlist = yes
#disable following ciphers for smtpd_tls_security_level=encrypt
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5 , DES, ADH, RC4, PSD, SRP, 3DES, eNULL
#disable following ciphers for smtpd_tls_security_level=may
#smtpd_tls_exclude_ciphers = aNULL, MD5 , DES, ADH, RC4, PSD, SRP, 3DES, eNULL
#enable TLS logging to see the ciphers for inbound connections
smtpd_tls_loglevel = 1
#enable TLS logging to see the ciphers for outbound connections
smtp_tls_loglevel = 1

有一些系统要求和其他配置设置。更多信息请参见以下 2 个链接:

答案2

是的,所有受支持的 Ubuntu 版本都附带 OpenSSL 1.0.1+,并且大多数软件都与 OpenSSL 链接以实现 TLS 安全。

请记住,正确设置合适的 TLS 服务器可能很复杂。以下是一些快速的一般建议。

服务器端密码套件排序

OpenSSL 的默认密码套件包括对 PFS 的支持,但在握手级别不优先考虑这一点。此外,应用程序可能有自己的默认密码套件设置来初始化 OpenSSL。

定期检查新建议

始终将您自己的密码套件/协议设置设置为现代建议。时不时会发现漏洞,如果仍然使用,可能会降低安全性。例如,应该禁用 RC4,但两年前建议优先考虑 BEAST 攻击。几周后,OpenSSL 中修补了这个问题,但人们仍在使用 RC4... :(

创建 DH 参数!

此外,千万不要忘记创建 DH 参数,否则 PFS 将不会用于非 ECDHE 密码套件!这是我周围人常犯的一个错误。OpenSSL 将在没有旧式 DH 参数的情况下初始化,从而导致非 ECDHE 客户端缺少 PFS。

遵循最新建议

这个由 Mozilla 安全团队管理的 wiki 页面保存了他们建议的简单说明和理由列表。

https://wiki.mozilla.org/Security/Server_Side_TLS

强烈建议遵循这个!

在线检查

例如使用 Qualys SSL Labs 测试:https://www.ssllabs.com/ssltest/并遵循建议。获得 A+ 分数是非常有可能的。

答案3

是的,Ubuntu 14.04 默认支持 Forward Security。

默认配置让客户端决定是否启用它。Chrome、Firefox 和 Safari 会请求它。

相关内容