如何在我的 Ubuntu 12.04 服务器中为 SSL 连接启用 TLS 1.1 和 1.2?我正在使用以下版本的 nginx 和 openssl 库。
$ ./nginx -v
nginx version: nginx/1.2.3
$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun 4 07:26:06 UTC 2013
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
Run Code Online (Sandbox Code Playgroud)
qbi*_*qbi 16
首先,您需要在以下文件中激活 SSL/TLS nginx.conf
:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.org;
ssl_certificate /etc/ssl/example.org.crt;
ssl_certificate_key /etc/ssl/private/example.org.key;
Run Code Online (Sandbox Code Playgroud)
这两listen
行在您的 IPv4 和 IPv6 连接上启用 SSL。如果您没有 IPv6,您可能会省略第二listen
行。
我假设您的服务器证书在/etc/ssl
. 如果您使用其他路径,则需要更改最后两行。
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
Run Code Online (Sandbox Code Playgroud)
这将启用不同的 TLS 版本。当前所有的浏览器都可以使用 TLS1.2。对于较旧的浏览器,我写了一个小的如何启用安全设置。
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;
Run Code Online (Sandbox Code Playgroud)
第一行设置您的 nignx 应该使用的密码。第二行更喜欢服务器(而不是客户端)端的密码套件。所以你可以使用强(er)密码。
如果你完成了,你的 nginx 应该使用 TLS1.2。如果您愿意,可以将您的站点添加到TLS1.2 名人堂并为此感到自豪。;)
但是,有几种方法可以改进设置。我按照此德语指南进行安全 nginx 配置。
nginx 的后续版本已解决了许多安全建议。如果您仍然处于这种情况(发布后 6 个月?),请认真考虑升级;如果 Web 服务器本身不安全,则 TLS 设置并不重要。有关详细信息,请参阅http://nginx.org/en/security_advisories.html。
如果由于某种原因您必须运行此版本的 nginx,此处有关使用 nginx(或 Apache)启用强密码套件的信息可能会有所帮助: https: //community.qualys.com/blogs/securitylabs/2013/08/ 05/配置-apache-nginx-和-openssl-for-forward-secrecy
归档时间: |
|
查看次数: |
48464 次 |
最近记录: |