放弃使用sslv2,sslv3协议,请使用tlsv1.2,tlsv1.1版本

推荐一个网站测试网站的https的安全性: https://myssl.com。比如测试下面的网站如下:

评级只有5,myssl给的理由为:服务器易受到POODLE漏洞攻击,降级为5。POODLE漏洞为使用了不安全的sslv2和sslv3协议导致, 将协议去掉了,评级还是为5。后面测试原来是由于该服务器的其他站点仍支持sslv2,sslv3导致。于是去掉sslv2和sslv3协议的支持后:

这里升级的原因,主要还是用更高的标准要求,也许百度等引擎对安全级别更高的站点会比安全级别低的站点青睐些吧,否则好的东西不鼓励,那没法玩了。

如果你也需要配置, 请参考myssl.com的测试参考配置:

配置指南:

1. 需要配置符合PFS规范的加密套件,推荐配置:
ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE ;

2. 需要在服务端TLS协议中启用TLS1.2,推荐配置:TLSv1 TLSv1.1 TLSv1.2 ;

3. 需要保证当前域名与所使用的证书匹配;

4. 需要保证证书在有效期内;

5. 需要使用SHA-2签名算法的证书;

6. 需要保证证书签发机构是可信的CA机构。

7. HSTS(HTTP严格传输安全)的 max-age 需要大于15768000秒。

 

### 解决目标主机不受支持的SSL加密算法问题 当目标主机使用SSL加密算法不再受支持时,可以通过升级到更现代、更安全的协议算法来解决问题。以下是具体的替代方案升级方法: #### 1. **升级至TLS协议** 由于SSL协议已被证明存在多个安全性漏洞(如POODLE攻击),建议完全弃用SSL协议版本[^4]。可以启用最新的TLS版本(如TLS 1.2或更高版本)。配置如下所示: ```bash ssl_tlsv1=YES # 启用 TLS 1.0 (如果必要) tls_v1_1=YES # 启用 TLS 1.1 tls_v1_2=YES # 推荐:启用 TLS 1.2 tls_v1_3=YES # 如果支持,推荐启用 TLS 1.3 ssl_sslv2=NO # 禁用 SSL 2.0 ssl_sslv3=NO # 禁用 SSL 3.0 ``` #### 2. **更新加密套件** 为了增强安全性,应禁用弱加密算法(如RC4、DES等),并切换到更强的加密算法组合。推荐使用AES-GCM或ChaCha20-Poly1305作为对称加密算法,并结合ECDHE进行密钥交换[^3]。 以下是一个典型的强加密套件示例: ```plaintext ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA ``` #### 3. **获取并安装可信证书** 确保服务器上的数字证书是由可信赖的CA签发的。这不仅验证了身份的真实性,还保护了公钥免遭篡改。此外,考虑使用带有扩展验证(EV)功能的证书以提高信任度。 #### 4. **测试与监控** 完成上述更改后,需利用工具检测新设置的有效性兼容性。例如,`openssl s_client`命令可用于手动检查连接状态;在线服务如Qualys SSL Labs则提供全面评估报告。 --- ### 示例代码片段 以下是如何通过OpenSSL库建立基于TLS的安全连接的一个简单Python实现: ```python import socket import ssl context = ssl.create_default_context() context.options |= ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 # 只允许TLS 1.2及以上 context.set_ciphers('ECDHE-ECDSA-AES128-GCM-SHA256') # 设置高强度加密套件 with socket.create_connection(("example.com", 443)) as sock: with context.wrap_socket(sock, server_hostname="example.com") as secure_sock: print(secure_sock.version()) # 输出当前会话所用的TLS版本 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值