【问题标题】:Does Tomcat have default cipher suite listTomcat 是否有默认密码套件列表
【发布时间】:2019-12-19 20:32:05
【问题描述】:

我已经如下配置了我的 Tomcat 8.5 密码套件

    <Connector
      ....
      sslEnabledProtocols="TLSv1.2" 
      ciphers="
            TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
            TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
            TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
            TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
    ... />

在使用www.ssllabs.com 测试站点时,我在服务器支持的密码套件部分发现了奇怪的结果。名单如下:

    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384  ....   OK
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384  ....   WEAK
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA     ....   WEAK
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256  ....   OK
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256  ....   WEAK
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA     ....   WEAK

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256哪里来的,我在‍server.xml里没有配置?!

它是 Tomcat 中密码套件的任何默认列表吗?!

【问题讨论】:

  • 除非您对其进行配置,否则它与运行它的 JRE 具有相同的默认值。
  • 谢谢,我在docs.oracle.com/javase/8/docs/technotes/guides/security/… 找到了默认启用的密码套件列表。我只是想知道为什么 ssllab 只显示两个协议,而 jre 支持的密码套件远不止这些。
  • 它没有显示两个启用的协议。它显示了六个,其中四个是弱的。
  • @user207421 这些密码显示为弱密码,而不是协议。所有这些密码的协议都是 TLSv1.2。
  • 当您指定ciphers 时,应该没有其他密码可用。你确定你的配置确实被使用了吗?

标签: security ssl tomcat tomcat8


【解决方案1】:

当您指定 ciphers 时,将不会提供额外的密码,无论使用的加密提供程序的功能如何(例如 JSSE、OpenSSL 等)。

如果您看到正在协商一组不同的密码套件,我会检查两件事:

  1. 实际上正在使用您的配置。尝试在您的 XML 配置文件中添加语法错误以查看 Tomcat 是否仍然启动。如果文件格式不正确,Tomcat 应该拒绝启动,确认您实际上正在更改正确的配置文件。

  2. 如果您不直接连接到 Tomcat,您可能正在与另一个网络组件(例如正在终止 TLS 的反向代理)协商您的 TLS 握手。如果是这样的话,Tomcat的配置是不相关的;客户端实际上是在与反向代理而不是 Tomcat 交谈,因此就客户端所知,密码列表会有所不同。在这种情况下,您需要重新配置反向代理。 Tomcat 中的密码套件列表仍然很重要,因为您甚至希望在自己的网络“内部”使用安全的密码套件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    相关资源
    最近更新 更多