设为首页 收藏本站
查看: 3369|回复: 0

[经验分享] CVE-2016-2183 OpenSSL Sweet32 Birthday Attack

[复制链接]

尚未签到

发表于 2018-6-25 09:17:04 | 显示全部楼层 |阅读模式
  最近安全扫描时发现OpenSSL 1.0的这个问题,从编号可以看出这是2016年发现的老问题。Birthday Attack这个术语来源于生日问题:在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率不小于1/2?答案是23。如60人以上,概率大于99%,如70人以上,概率大于99.9%。
  OpenSSL 1.0支持DES/3DES算法,DES/3DES仅是64位的分组密码算法,在两天内即可破解。OpenSSL 1.0.2、1.0.1将DES/3DES算法从“HIGH”降到“MEDIUM”,但默认仍是支持的。OpenSSL 1.1默认不编译DES/3DES。
  OpenSSL 1.0编译时,可禁用DES:
  

# ./config --prefix=/usr --no-des --shared  
# make
  
# make install
  

  查看OpenSSL支持的算法:
  

openssl ciphers -v  

  下面是一些常用服务的解决方法:

OpenSSH
  目前OpenSSH仅支持OpenSSL 1.0,且编译时要用到DES算法。因此通常做法是在配置文件ssh_config/sshd_config中设定Ciphers:
  

Ciphers aes256-ctr,aes192-ctr,aes128-ctr  

  查看ssh支持的算法:
  

ssh -Q cipher  

Apache
  编辑ssl.conf,禁用老的协议,配置SSLCipherSuite:
  

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1  
SSLCipherSuite HIGH
  

Subversion Edge
  Subversion Edge使用了jetty服务器,编辑appserver/etc/svnedge-ssl.xml,排除DES算法:
  

<New>  <Arg>
  <New>
  <Set name="ExcludeProtocols">
  <Array type="java.lang.String">
  <Item>TLSv1</Item>
  <Item>SSLv2</Item>
  <Item>SSLv3</Item>
  </Array>
  </Set>
  <Set name="ExcludeCipherSuites">
  <Array type="java.lang.String">
  <Item>.*DES.*</Item>
  </Array>
  </Set>
  </New>
  </Arg>
  ...
  
</New>
  

Tomcat
  配置Connector的ciphers项:
  

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200"  scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS"
  keystoreFile="${user.home}/.keystore" keystorePass="changeit" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"/>
  

  ciphers支持两种语法:JSSE和OpenSSL,Tomcat 9默认值为:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA

Jboss EAP 6
  

<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">  <ssl name="https" ... cipher-suite="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA"/>
  
</connector>
  

  cipher-suite支持两种语法:JSSE和OpenSSL,默认值是HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5

Jboss EAP 7
  

<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true" enabled-protocols="TLSv1.2"  enabled-cipher-suites="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA"/>
  

  enabled-cipher-suites支持两种语法:JSSE和OpenSSL,默认是JVM的默认值。

JSSE
  JDK 1.7.0_75以后的版本,java.security配置文件中提供了jdk.tls.disabledAlgorithms参数,可以配置禁用的算法:
  

jdk.tls.disabledAlgorithms=SSLv3,DESede,DES  

参考文档
  OpenSSL
  OpenSSH
  The SWEET32 Issue, CVE-2016-2183
  Jboss EAP 6.4 Securing the Server and Its Interfaces
  Jboss EAP 7.1 Securing the Server and Its Interfaces

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-530397-1-1.html 上篇帖子: Windows 10与Office 2016微软官方KMS Client key 下篇帖子: 解决SCCM 2016客户端安装报错一例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表