1、TLS1.0和TLS1.1是什么?
TLS协议其实就是网络安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性,TLS 1. 0 和TLS 1. 1 是分别是96 年和 06 年发布的老版协议。
2、为什么要禁用TLS1.0和TLS1.1传输协议
TLS1.0和TLS1.1协议使用的是弱加密算法,比如DES、SHA-1、MD5、RC4等。比较容易受攻击,目前新版本的TLS协议已经更新到TLS1.2、TLS1.3 ,高版本的TLS协议会对一些浏览器和系统兼容有影响,但是从互联网通信安全考虑,建议还是禁用TLS1.0和TLS1.1,启用TLS1.2和TLS1.3
3、Apache禁用TLS1.0和TLS1.1处理方案
一般Apache都是配置在http-ssl.conf
配置文件里,也有在自定义配置文件*.conf配置文件。将SSLProtocol
配置为以下内容:
SSLProtocol -ALL +TLSv1.2 +TLSv1.3
屏蔽不安全的加密套件,提供通讯安全性,配置如下:
SSLCipherSuite DHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!3DES:!DH:!DHE
修改完成后重启Apache即可。
4、nginx禁用TLS1.0和TLS1.1处理方案
在nginx安装目录/usr/local/nginx/conf
中找到所的主机的Nginx 配置文件,打开找到ssl_protocols
这行只保留TLSv1.2 TLSv1.3。例如:
ssl_protocols TLSv1.2 TLSv1.3;
屏蔽不安全的加密套件,提供通讯安全性。nginx配置文件中的ssl_ciphers
决定服务器使用的加密套件,减少非安全 ciphers 能够提高安全性,但是对老的系统、设备兼容性下降,甚至握手失败。mozilla 的站点 Security/Server Side TLS,里面有官方推荐的 tls ciphers 组合。可以根据实际使用配置,我配置的ssl_ciphers
如下:
ssl_ciphers TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384: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:!MD5:!RC4;
修改完成后重启Nginx即可。