昨天一早,客户联系到我,说他们源站https支持tlsv1.0 tlsv1.1 tlsv1.2,因为安全扫描的时候显示tlsv1.0和tlsv1.1存在安全风险,所以源站将tlsv1.0和tlsv1.1关闭了,但再后续扫描发现还是存在tlsv1.0开启的问题,所以联系到我问是不是cdn侧的问题。作为cdn厂商,为了兼容老的浏览器,cdn侧默认是开启了tlsv1.0等低版本的支持。确认问题后,客户要求关闭tlsv1.0。
大家都知道,nginx配置中有关于ssl_protocol的配置,所以开始我以为关闭tlsv1.0非常容易,只需要改一行配置即可。

#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_protocols  TLSv1.2;

改完后通过curl测试发现,使用tlsv1.0还是可以正常访问的,感觉比较奇怪。

curl -vo /dev/null "https://www.example.com/client.css" --resolve www.example.com:443:203.0.113.1  --tlsv1.0 #linux
curl -vo /dev/null "https://www.example.com/client.css" --resolve www.example.com:443:203.0.113.1  --tlsv1.0 --tls-max 1.0 #mac

经过进一步分析发现,nginx配置项中的ssl_ciphers项中,如果允许了低版本的加密套件,哪怕ssl_protocols中没有允许低版本的ssl协议,nginx也会开启对低版本的支持,这就是问题所在。
通过更改ssl_ciphers,重新验证,问题修复。

ssl_ciphers 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;

这里推荐一个工具,大家在配置ssl_ciphers的时候,可能不知道如何配置,可以到SSL Configuration Generator上面根据自己软件类型、版本,openssl版本,以及自己期望的安全等级在线生成建议的配置。

nginx 关闭低版本tls协议相关推荐

  1. NGINX关闭低版本tls协议 禁用 tls1.0 tls1.1等协议

    配置如下: ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM- ...

  2. SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复

    SSL/TLS协议信息泄露漏洞(CVE-2016-2183) 详细描述 TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性. TLS, SSH, IPSec协商及其他产品中使用的 ...

  3. SSL协议、TLS协议,使用哪一种更安全?

    在金融银行业,保护机密信息的安全至关重要.由于财务记录完全通过在线数据库维护,因此实施保护客户.银行和金融机构免受黑客攻击的安全功能比以往任何时候都更加重要.安全套接字层(SSL)协议和传输层安全(T ...

  4. 服务器支持低版本SSL/TLS协议 支持SSL弱密码套件

    服务器支持低版本SSL/TLS协议 漏洞描述 在测试中发现服务器支持低版本的 TLS1.0和 TLS1.1协议,这些协议存在公开的漏洞建议,应该禁止使用. 漏洞影响 TLS 1.0和 TLS 1.1可 ...

  5. 解密TLS协议全记录之Openssl的使用与Nginx Server的配置

    引言 Openssl是TLS协议进行报文加密,安全通讯而用到的开源代码包,代码主要由C语言编写,我个人也只看了其中一部分代码,当作工具使用,没有深入分析. 其维基百科的链接:https://zh.wi ...

  6. TLS协议与JDK版本之间微妙的关系

    TLS协议与JDK版本之间微妙的关系 首先想知道TLS协议与JDK版本之间微妙的关系,就必须知道什么是TLS协议? 维基百科是这样说的: 传输层安全性协定(英语:Transport Layer Sec ...

  7. nginx:启动、重启、关闭、版本查看、安装目录获取

    通过cmd面板或者Xsheel控制面板,输入相应指令,如下表所示: 编号 目的 操作指令 1 利用配置文件启动nginx nginx -c /usr/local/nginx/conf/nginx.co ...

  8. android4.4 ssl版本查看,OkHttp在4.4及以下不支持TLS协议的解决方法

    在做超理论坛app的过程中,遇到许多用户反馈在他们的手机上客户端不能访问网络,我问了他们的手机型号和Android系统版本,全部是5.0以下的,之后我自己运行API19(4.4)的Android模拟器 ...

  9. 低版本MacOS安装Nginx

    笔者MacOs版本: 10.14.6 背景 高版本MacOs可以直接使用 brew install nginx 进行安装,低版本执行此命令会提示Os is old version导致无法安装,网上又找 ...

最新文章

  1. 注意2018年数据中心的这5大发展趋势
  2. 基于stm32、spi协议的Fatfs文件系统移植(附完整代码下载)
  3. 冒泡排序代码及其思路(怕忘记才记录的_(:з」∠)_)
  4. mysql常用函数 [转]
  5. python 写入第二列_python读写Excel表格的实例代码(简单实用)
  6. html5不支持的属性,HTML5 常用语法一览(列举不支持的属性)
  7. SQL Server Denali:SSDT新功能解读
  8. hbuilderx内置服务器启动失败_我们来看看Swoole是如何实现WebSocket服务器及客户端的...
  9. php输出图片问题,解决ThinkPHP里无法输出图片问题(关于设置响应头)
  10. 用 python 写了一个随机任务抽取器
  11. 《机器人动力学与控制》第九章——动力学 9.4 欧拉-拉格朗日方程法应用举例(下)
  12. python3.5安装scipy_Python3上的Scipy安装
  13. U盘启动盘还原的方法
  14. 【实战】疾病-基因与图神经网络和图自动编码器的相互作用
  15. Django的语言模板
  16. 微信小程序之订阅消息推送
  17. 用Speedtest-Tracker跟踪上网速度
  18. 抢滩抖音、B站,快手港股IPO进程加速
  19. 大型网站数据库优化及浅析大型网站的架构
  20. 带密码的php文件管理器,PHP文件管理器Tiny File Manager账号密码修改方法

热门文章

  1. laya开发微信小游戏《奇异水族馆》之 观察者模式应用
  2. 布尔表达式和正则表达式_简化布尔表达式的实例
  3. 计算机环保作品,19届中小学电脑制作活动精选课件:环保垃圾桶设计
  4. 微生物文献调研网站与工具---持续更新(2022.09.16)
  5. php中数组转字符串,php怎么将数组转化成字符串
  6. PowerShell远程重启IIS和Service
  7. 三国志战略版:Daniel_S3五谋臣分析及阵容推荐
  8. Python opencv进行矩形识别
  9. 基础知识——电脑键盘快捷键
  10. WEB阶段5:JSP、EL、JSTL、MVC软件结构