漏洞描述:
OpenSSL是OpenSSL团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。 OpenSSL 的 TLS、SSH和IPSec协议和其它协议及产品中使用的DES和Triple DES密码算法存在信息泄露漏洞。该漏洞源于网络系统或产品在运行过程中存在配置等错误。未授权的攻击者可利用漏洞获取受影响组件敏感信息。 Birthday Attack这个术语来源于生日问题:在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率不小于1/2?答案是23。如60人以上,概率大于99%,如70人以上,概率大于99.9%。TLS、SSH和IPSec协议以及其他协议和产品中使用的DES和3DES算法,约40亿个块存在生日冲突问题,这使得远程攻击者更容易通过针对长时间加密会话的生日攻击获取明文数据,在CBC模式下使用3DES的HTTPS会话,被称为“Sweet32”攻击。
建议
避免使用IDEA、DES和3DES算法
- OpenSSL用户补丁获取链接:https://www.openssl.org/blog/blog/2016/08/24/sweet32/
- 对于nginx、apache、lighttpd等服务器修改conf文件,禁止使用DES加密算法;
- Windows系统参考如下链接:https://social.technet.microsoft.com/Forums/en-US/31b3ba6f-d0e6-417a-b6f1-d0103f054f8d/ssl-medium-strength-cipher-suites-supported-sweet32cve20162183?forum=ws2016
上面是常规建议参考
本次修复经验参考:
- 该漏洞扫描针对特定端口,如果问题端口在nginx中配置了代理,则可按照该博客处理:https://segmentfault.com/a/1190000038486901
- 此次修复发现问题端口处于系统服务管理,并没有使用nginx代理,所以nginx的解决方法无效
- 扫描问题端口:
netstat -anop | grep 10250
发现端口属于Kubelet
所以修复方案参考:修复K8s漏洞中的kubelet一节
-
注意:
-
在编辑 kubelet 配置文件 /var/lib/kubelet/config.yaml时,添加加密套件过程中,注意系统k8s的版本(如:Kubernetes v1.14.1(36系统版本)不支持TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256加密套件),强行配置导致kubelet无法启动。大部分的加密套件还是支持的!
漏洞修复后复测
复测有两种方式:
- openssl指令扫描复测
- nmap扫描工具复测
注意: - 因为上述两种工具的加密库不一样,会导致不同的结果,nmap工具库较强大,请以nmap扫描结果为准。
- 在离线安装nmap工具时请使用nmap-7.92-1.x86_64.rpm版本(易安装使用)
- 扫描指令:
nmap -sV --script ssl-enum-ciphers -p 10250 10.194.69.36
该漏洞也可以通过升级Openssl版本来来达到修复的效果,但是高版本也存在此漏洞!
最终修复效果如下: