HTTPS加密套件的笔记

打印 上一主题 下一主题

主题 890|帖子 890|积分 2670

本文于2016年5月份完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。
按照如下配置(适用于Tomcat 7.0.x),为Tomcat启用了HTTPS协议,用户访问站点时是否就安全了呢?
  1. [/code]原来还真不是。
  2. 文章[url=https://www.ssllabs.com/projects/best-practices/]SSL/TLS Deployment Best Practices[/url]中有如下描述:
  3. [indent]SSL/TLS is a deceptively simple technology. It is easy to deploy, and it just works . . . except that it does not, really.The first part is true—SSL is easy to deploy—but it turns out that it is not easy to deploy correctly.
  4. [/indent]近日收到我厂发布的安全预警,要求对于我厂自研的网元:
  5. [list]
  6. [*]网元之间使用ssh协议交互时,需要禁用不安全的协议,如SSL2.0、SSL3.0、TLS1.0;
  7. [*]网元使用ssh协议向外部开放服务时,默认情况下需要禁用不安全的协议;
  8. [*]使用自签名证书时,RSA算法的密钥长度至少为2048,并且签名算法应选择SHA256withRSA;
  9. [*]cipher suite应避免使用RC4、3DES等不安全算法,同时禁用CBC模式;
  10. [*]。。。
  11. [/list]但是,没看明白。预警中提到了太多的名词,但限于篇幅,没有为名词提供更多的解释。不过预警的详细信息中建议搜索关键词如cipher suite,了解相关的信息,便于进一步的分析和整改。
  12. 结果找到了[url=https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/]Hardening Your Web Server’s SSL Ciphers[/url],一篇很给力的文章,提到了如下的加固步骤:
  13. [indent]If you configure a web server’s TLS configuration, you have primarily to take care of three things:
  14. [/indent][list=1]
  15. [*]disable SSL 2.0 (FUBAR) and SSL 3.01 (POODLE),
  16. [*]disable TLS 1.0 compression (CRIME),
  17. [*]disable weak ciphers (DES, RC4), prefer modern ciphers (AES), modes (GCM), and protocols (TLS 1.2).
  18. [/list]另外从平台部门同事那边也获取到一份资料,名为《Web安全加固最佳实践》,内容也很强大。虽然没看完全看明白,但确认预警是足够了。
  19. 对于Web应用来说,安全协议和套件的配置取决于运行Tomcat的JDK、Tomcat自身、客户使用的浏览器。考虑项目当前的情况以及浏览器兼容性,从前述三个维度进行分析:
  20. [list]
  21. [*]项目当前使用了JDK 8U65版本,支持TLS1.2;
  22. [*]项目当前使用的是平台部门加固过的Tomcat,支持TLS1.2;
  23. [*]项目需要兼容IE8、IE9、IE11,所以CBC相关的cipher suite还得保留;
  24. [/list]最终加固后的Tomcat配置样例如下:
  25. [code]
复制代码
如上仅是样例,并不是最佳实践。项目实际使用时,在$CATALINA_BASE/conf/catalina.properties中定义配置项,然后在$CATALINA_BASE/conf/server.xml中引用前述配置项,便于脚本读取、替换这些配置项的取值。
资料

TLS协议

Web加固

Tomcat

如下资料介绍如何对Apache Tomcat进行加固。
openssl

如下资料介绍了openssl支持的加密套件,以及相关的材料。
JDK支持的cipher suites

如下分别来自IBM和Oracle,介绍了各自JDK支持的cipher suite。
其它资料

其它

使用浏览器访问poodle.io时,站点会给出浏览器是否使用SSLv3协议的提示,如下:
Good News! Your browser does not support SSLv3.
www.howsmyssl.com大致类似,也可以对浏览器进行检测,但提供的信息更多。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

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