今天收到云主机厂商发来的安全漏洞扫描信息,提示我公网主机有DES和Triple DES 信息泄露漏洞(CVE-2016-2183)的漏洞要求修复。 漏洞详细描述: TLS(Transport Layer Security,安全传输层协议)是一套用于在两个通信应用程序之间提供保密性和数据完整性的协议。SSH(全称Secure Shell)是国际互联网工程任务组(IETF)的网络小组(Network Working Group)所制定的一套创建在应用层和传输层基础上的安全协议。IPSec(全称InternetProtocolSecurity)是国际互联网工程任务组(IETF)的IPSec小组建立的一组IP安全协议集。DES和Triple DES都是加密算法。;TLS、SSH和IPSec协议和其它协议及产品中使用的DES和Triple DES密码算法存在安全漏洞。远程攻击者可通过实施生日攻击利用该漏洞获取明文数据。 安全报告提供的修复建议: 目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:https://www.openssl.org/blog/blog/2016/08/24/sweet32/ 通过补丁进行修复显然不现实,相关的证书已经生成了。于是想通过禁用DES相关的内容来达到修复的目的 检查配置: 根据描述为443端口暴露出来的,这个端口是服务器正常提供https服务的端口,使用nginx进行配置并提供服务。 其中关于nginx的ssl配置: ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; 发现里面确实有关于DES的配置项, 删除掉上面的ECDHE-RSA-DES-CBC3-SHA EDH-RSA-DES-CBC3-SHA DES-CBC3-SHA的相关内容。保留!DES的选项。 ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; 然后重新启动nginx 验证方法: nmap -sV --script ssl-enum-ciphers -p 443 www.example.com 域名改为你自己的域名即可。