安全测试团队已经要求我们将sessionid长度增加到50个字符。
https://www.owasp.org/index.php/Insufficient_Session-ID_Length
如何在jboss应用程序服务器EAP 6中更改它。
我在另一个论坛找到了这个问题的答案。实际上JBoss没有提供任何超越sesionid长度的方法。 org.jboss.web.tomcat.service.session.SessionIDGenerator类不提供任何修改sessionid长度的公共方法。并且没有已知的方法来向jboss提供自定义SessionIDGenerator。
现在这里是出路,您可以通过在jboss配置中添加系统属性“jvmRoute”来增加sessionid的长度。这为sessionid增加了额外的价值。
对于Jboss EAP 6独立环境,编辑jboss-eap-6.2 / standalone / configuration / standalone.xml以添加以下系统属性:
<system-properties>
<property name="jvmRoute" value="qU2O2h8yQ1cxI9XsPK0aHlr3p"/>
</system-properties>
JBoss EAP 6.4.8中添加了一个系统属性,用于调整会话ID的长度。新的系统属性称为org.apache.catalina.session.ManagerBase.SESSION_ID_LENGTH
。
基于新系统属性设置会话ID长度的行为是非直观的,因此您必须使用公式来确定将org.apache.catalina.session.ManagerBase.SESSION_ID_LENGTH
设置为:
((Desired-Session-ID-Length / 4) * 3) - 2
例如,如果您希望会话ID长度为40:
((40 / 4) * 3) -2 = 28
你会设置org.apache.catalina.session.ManagerBase.SESSION_ID_LENGTH=28
。
注意:此解决方案适用于JBoss EAP 6.4.8及更高版本
你可以在这里了解更多:https://access.redhat.com/solutions/454893