检测到弱密码:并非所有密码套件均支持完全前向保密(弱密码套件 - ROBOT 攻击:服务器支持易受攻击的密码套件)
背景介绍
代码语言:txt复制HTTP 协议自身没有加密机制,但可以通过和 TLS (Transport Layer Security) / SSL (Secure Socket Layer) 的组合使用,加密 HTTP 的通信内容,借助 TLS / SSL 提供的信息加密功能、完整性校验功能、身份验证功能保障网络通信的安全,与 TLS / SSL 组合使用的 HTTP 被称为 HTTPS(HTTPSecure),可以说 HTTPS 相当于身披 SSL / TLS 外壳的 HTTP。
传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。
漏洞分析
- 漏洞前提:此问题在HTTPS环境下出现
- 弱密码套件 - ROBOT 攻击:服务器支持易受攻击的密码套件原因:使用了过期的TLS/SSL协议,部分TLS/SSL协议由于过于老旧,已经被各类操作系统及浏览器弃用(SSL所有版本、TLSv1.0、TLSv1.1)
- 并非所有密码套件均支持完全前向保密原因:使用了不支持前向加密的密码套件'ssl_ciphers',目前支持前向加密的密码套件第二部分必须为DHE、ECDHE,其他套件均不符合要求。
密码套件组成「TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384」
密钥协商算法使用 ECDHE;
签名算法使用 RSA;
握手后的通信使用 AES 对称算法,密钥长度 256 位,分组模式是 GCM;
摘要算法使用 SHA384;
代码语言:javascript复制 所谓前向加密是指:每一次通信过程的私钥都是临时的,即使某一次通信过程的私钥被破解或者泄露、
其他通信过程的私钥仍然是安全的,因为每个通信过程的私钥都是没有任何关系的,都是独立的,这样
就保证了「前向安全」。
来自百科:https://en.wikipedia.org/wiki/Transport_Layer_Security
整改方案
- 弃用各类过期的协议:SSL所有版本、TLSv1.0、TLSv1.1
- 使用当前时效期内推荐的套件协议(套件不是一层不变的,需要随着操作系统、浏览器以及套件本身未来发展变化适时改变)
ssl_protocols TLSv1.2;
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;
注意事项
- 在执行安全扫描前请关闭WEB防护设备及软件,如waf等,建议直接扫描应用暴漏的地址,尽量减少外部环境的干扰。
- 不要在多重代理环境下进行安全扫描,过多的代理CLB、SLB会影响扫描结果的准确性。