当前位置: 首页 > news >正文

Tomcat6+JDK6如何加固,解决Logjam attack,

最近更新了最新版浏览器的同学是不是偶尔会遇到SSL加密协议不灵,访问不了的情况?

最典型的例子是使用FF39或38.0.2访问某些网站时报错:Error code: ssl_error_weak_server_ephemeral_dh_key

wKioL1XDb4mRBafgAAF6hGju614628.jpg

这是由于你的客户端(FF39)废弃了DHE、RC4密码,而服务器端默认使用DHE、RC4加密的密钥尝试与客户端进行通信,结果客户端就报错了。


解决办法:

1、首先你要确保你的密钥(证书)加密长度>1023bit,因为<1023bit FF会认为不安全。自签名证书的,自己去看看怎么把key size设置为1024或大于1024。如果是CA机构签名的,就需要去CA机构申请重新签名更换证书。

2、服务器SSL设置中,要disable DHE cipher suites,要disable TLSv2 TLSv3,启用TLSv1,TLSv1.1,TLSv1.2。

3、服务器SSL设置中还要明确指定可以使用的cipher suites。如果是tomcat6+JDK6,那么以下cipher suites可用:

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDH_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDH_RSA_WITH_AES_128_CBC_SHA

TLS_ECDH_ECDSA_WITH_RC4_128_SHA

TLS_ECDH_RSA_WITH_RC4_128_SHA

TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA

TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA

TLS_RSA_WITH_AES_256_CBC_SHA

TLS_RSA_WITH_AES_128_CBC_SHA


配置例子:

打开tomcat的server.xml,参考以下配置:

1
< Connector  protocol = "org.apache.coyote.http11.Http11Protocol"  URIEncoding = "UTF-8"  port = "9090"  SSLEnabled = "true"  maxThreads = "150"  scheme = "https"  secure = "true"  clientAuth = "false"  protocols = "TLSv1,TLSv1.1,TLSv1.2"  keystoreFile = "k.keystore"  keystorePass = "a123456"  truststoreFile = "k.keystore"  truststorePass = "a123456"  ciphers = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_RC4_128_SHA,TLS_ECDH_RSA_WITH_RC4_128_SHA,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA" />


参考资料:

https://developer.mozilla.org/en-US/Firefox/Releases/39/Site_Compatibility

https://weakdh.org/

https://weakdh.org/sysadmin.html

https://weakdh.org/logjam.html

https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange


本文转自 rickqin 51CTO博客,原文链接:http://blog.51cto.com/rickqin/1682426


相关文章:

  • Word2007“由于文件许可权错误,Word无法完成保存操作”问题的解决方法
  • Centos压缩解压
  • Linux执行命令常见的英语语句
  • asn1编码格式的解析过程
  • top2
  • 远程连接服务器工具:sshpass
  • U盘安装Debian 6 amd64版本
  • Zabbix调优的几个原则
  • HytrixCommand实践总结
  • 探索iptables BPF模块的悲惨历程
  • cp命令使用和注意
  • LVM中的PV、VG、LV、PE、LE的关系及简单LVM配置
  • Oracle错误:ORA-39125,ORA-31642,DBMS_CDC_EXPDP.SCHEMA_CALLOUT一例
  • 动态破解静态加密软件--simeon
  • byteofpython学习笔记(1)
  • Angular 响应式表单之下拉框
  • spring boot下thymeleaf全局静态变量配置
  • supervisor 永不挂掉的进程 安装以及使用
  • Vim 折腾记
  • webpack+react项目初体验——记录我的webpack环境配置
  • 给新手的新浪微博 SDK 集成教程【一】
  • 悄悄地说一个bug
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 正则表达式
  • - 转 Ext2.0 form使用实例
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (11)MSP430F5529 定时器B
  • (31)对象的克隆
  • (C++17) optional的使用
  • (javascript)再说document.body.scrollTop的使用问题
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (数据结构)顺序表的定义
  • (转)Scala的“=”符号简介
  • *** 2003
  • .Mobi域名介绍
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET关于 跳过SSL中遇到的问题
  • .Net小白的大学四年,内含面经
  • .考试倒计时43天!来提分啦!
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [20160902]rm -rf的惨案.txt
  • [20190113]四校联考
  • [AR Foundation] 人脸检测的流程
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境