我们有 Weblogic 应用服务器。每当 Web 浏览器发送请求时,作为隧道创建过程的一部分,它将发送首选密码套件列表。
问题:
我怎么知道哪个是WL 服务器选择的密码套件或默认密码?我知道我可以使用 Fiddler 来获取这些详细信息;我也可以右键单击浏览器 HTTPS 锁定图标并获取它。但是我想从Weblogic服务器端知道选择了哪种密码套件,它是否在某些Weblogic环境
.sh
文件中定义?。有没有办法在 Weblogic 中更改密码优先级?我做了一些研究,找到了 -
Dweblogic.security.SSL.Ciphersuites=TLS_RSA_WITH_AES_256_CBC_SHA256"
。如果我配置 Weblogic 使用上面提到的密码,而浏览器发送的密码套装列表中没有该密码,会发生什么情况?我的想法是隧道建立将失败,并且客户端/浏览器将显示一些错误,例如连接被拒绝或失败。
如果也能从 Apache 的角度提供这些答案,我将不胜感激。
答案1
我认为我可以解释一些问题
Weblogic 根据您使用的安全类型(是否使用 JSSE)使用默认密码套件,并且该套件因版本而异。例如,10.3.0 将使用与 10.3.6 完全不同的套件。您需要根据您的版本进行查找。要查看该套件,请尝试在控制台上启用 SSL 调试,它会告诉您每个连接的详细信息。
- SSL.Ciphersuites 是限制 webloigc 将使用的密码的方法。如果您使用 TLS_RSA_WITH_AES_256_CBC_SHA256,它将尝试使用从左到右的密码进行握手。如果它用尽了提到的算法,它将拒绝 SSL 连接。这是严格的执行。
我建议使用 apache 作为 Web 前端,在其中设置密码套件。您将看到其中的简单性,并且作为额外的好处,您可以将其设置为 @STRENGTH,它将尝试从最强到最弱的算法进行握手。
因此,如果您在前面设置一个 apache httpd 服务器并在那里强制限制,那么您就不需要处理 weblogic,也不必担心在有安全更新或关键更新时每季度升级 java 和 weblogic。
添加:
针对 weblogic 的安全补丁不仅仅限于 weblogic,还必须针对 java 进行修补。但对于 apache,您不必总是更新 apache,只需更新它所依赖的 openssl 和 openssl mod。此过程使安全补丁变得非常简单。
Apache 有许多配置选项可以用来限制密码。
SSL协议:允许您手动指定密码或删除它们。
SSL密码套件:让您选择要允许的密码套件。还可以选择让您说 +HIGH +MEDIUM +LOW,表示由 openssl 定义的高低强度密码套件。您还可以说 @STRENGTH,客户端将使用可以进行握手的最强密码协议组合连接到服务器。
这精华中的精华是可用于 SSL 的日志记录选项以及您想要用于排除故障的任何其他通用要求。
更多详情请参见此处:
https://www.openssl.org/docs/manmaster/apps/ciphers.html
http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html
注意:OpenSSL 和 apache 得到专家的广泛支持和测试,并且是一种不成文的标准,将其(http 服务器)作为面向互联网的应用程序,而不是任何基于 Java 的应用程序。