我在尝试在 nginx 安装上禁用 SSLv3 时遇到问题。
HTTPS 运行良好,但我似乎无法禁用 SSLv3,这使我的网站容易受到 POODLE 攻击。此外,由于某种原因,尽管我获得了 256 位证书,但连接却是通过 128 位而不是 256 位加密的。
Nginx 版本:1.6.2
以下是我在想要使用的网站上的服务器块中输入的内容:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers On;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
谢谢!
答案1
1. 禁用 SSLv3
你需要使用的唯一一行来让 nginx 停止使用,即第一行
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
如果您仍然看到 nginx 使用 SSLv3,那么您的新配置很可能尚未应用。
使用nginx -t
测试您的配置,然后使用以下命令重新加载服务:
service nginx reload
或者SIGHUP
向 nginx 主进程发送信号。
要检查是否没有发生错误并且配置重新加载是否完美无缺,请密切监视主服务器error_log
(通常在最高级别定义main
)。如果出现问题(即由于 SSL 证书或配置验证时无法检测到的任何内容),错误将弹出
2. 密码
密码与密钥大小无关。它们由客户端和服务器协商选择常见的受支持的密码套件,以执行 SSL 协议中需要摘要/哈希/签名的 4 个部分。
不同密码套件的不同特性对于某些步骤来说比其他步骤更合适。