卿言轻语

  • 媒体中心
  • 网络存储
  • 文章分类
    • 技术
    • 摄影
    • 杂谈
  1. 首页
  2. 技术
  3. 正文

Nginx禁用TLS1.0与1.1

2020年3月14日 9738点热度 64人点赞 1条评论

为什么要禁用 TLS1.0、TLS1.1

SSL 由于以往发现的漏洞,已经被证实不安全。而 TLS1.0 与 SSL3.0 的区别实际上并不太多,并且 TLS1.0 可以通过某些方式被强制降级为 SSL3.0。

由此,支付卡行业安全标准委员会(PCI SSC)强制取消了支付卡行业对 TLS 1.0 的支持,同时强烈建议取消对 TLS 1.1 的支持。

苹果、谷歌、微软、Mozilla 也发表了声明,将于 2020 年初放弃对 TLS 1.1 和 TLS 1.0 的支持。其原因是这两个版本使用的是过时的算法和加密系统,经发现,这些算法和系统是十分脆弱的,比如 SHA-1 和 MD5。它们也缺乏像完美的前向保密性这样的现代特征,并且容易受到降级攻击的影响。

实际我想要禁用 TLS1.0 和 TLS1.1 的一大原因是,在SSL Labs和My SSL做的 SSL 检测时,发现我的博客启用了 TLS1.0 和 TLS1.1 及配套的加密套件,导致评分直接掉到了 B 级,之前评分都是A+。

在 Nginx 上禁用 TLS1.0、TLS1.1

要禁用 TLS1.0 及 TLS1.1 的话,只需要在 Nginx 配置文件中,在指定的域名上指定支持的 TLS 的版本即可。

以OneinStack搭建的环境为例:

在目录/usr/local/nginx/conf/vhost中找到所的主机的Nginx 配置文件,打开找到ssl_protocols这行只保留TLSv1.2 TLSv1.3。
我所指定的如下:

ssl_protocols TLSv1.2 TLSv1.3;

屏蔽不安全的加密套件提高安全性

nginx的ssl_ciphers决定服务器使用的加密套件,以下cipher 安全性的一些经验:

CHACHA20 是 goolge 几年前对移动设备的优化算法,速度比 AES 快,也省电,一度是 google 极力推荐的。但是自从 ARMv7 支持硬件 AES 加密之后,chacha20 就比不上了。
MD5,RC4,DES,SHA1 等都是已知不安全的选项,容易被攻击。
SHA256,SHA384 要比 SHA1 安全。但是 CBC 模式的 SHA 是不安全。GCM 模式的 SHA 是安全的。
苹果旧设备默认是 CBC_SHA256,CBC_SHA384
减少非安全 ciphers 能够提高安全性,但是对老的系统、设备兼容性下降,甚至握手失败。

推荐一个 mozilla 的站点 Security/Server Side TLS,里面有官方推荐的 tls ciphers 组合。一般情况选择 Intermediate compatibility (recommended) 就可以了。

我的 ciphers 配置如下:

ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

最后保存 Nginx 配置后,重启 Nginx,使以上配置生效。

service nginx restart

现到SSL Labs和My SSL做的 SSL 检测,显示TLS1.0与1.1不可用,评分也恢复了A+。

标签: nginx SSL
最后更新:2020年4月13日

信仰飘扬

行尽天涯 静默山水间

点赞
< 上一篇
下一篇 >

文章评论

  • 美樂地

    感谢大佬,我试试,刚遇到 “This server supports TLS 1.0 and TLS 1.1. Grade capped to B.”的问题。

    2021年1月31日
    回复
  • 取消回复

    信仰飘扬

    行尽天涯 静默山水间

    搜索
    最新 热点 随机
    最新 热点 随机
    使用Macast搭建DLNA 投屏接收端 配置路由器IPv6地址访问局域网终端IPv4服务 frp内网穿透获取用户真实 IP CentOS 7 升级OpenSSL 下载GitHub仓库中的指定文件夹内容 搭建订阅转换API服务器
    使用Macast搭建DLNA 投屏接收端
    Jellyfin与Nginx共用80和443端口 Chrome谷歌浏览器直接查看SSL证书颁发者信息 Linux下安装aria2 穿越巴王海 使用 GitHub Actions 编译 OpenWrt 快速学习创联教育网在线视频课程
    标签聚合
    人像 FRP nginx CentOS Openwrt 网站 旅行 SSL
    书签
    • 密码管理
    • 数据网盘
    • 电影音乐
    • 订阅转换

    COPYRIGHT © 2021 qingsay.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang