JBoss EAP 6 - 如何更改java sessionid长度

时间:2015-09-15 11:11:29

标签: java security jboss6.x sessionid jsessionid

安全测试团队已经要求我们将会话长度增加到50个字符。

https://www.owasp.org/index.php/Insufficient_Session-ID_Length

如何在jboss应用服务器EAP 6中更改它。

2 个答案:

答案 0 :(得分:0)

我在另一个论坛找到了这个问题的答案。 实际上JBoss没有提供任何超越sesionid长度的方法。 org.jboss.web.tomcat.service.session.SessionIDGenerator类没有提供任何修改sessionid长度的公共方法。并且没有已知的方法为jboss提供自定义SessionIDGenerator。

现在是出路,你可以通过添加系统属性来增加sessionid的长度" jvmRoute"在jboss配置中。这为sessionid增加了额外的价值。

对于Jboss EAP 6独立环境, 编辑jboss-eap-6.2 / standalone / configuration / standalone.xml以添加以下系统属性:

    <system-properties>
       <property name="jvmRoute" value="qU2O2h8yQ1cxI9XsPK0aHlr3p"/>
    </system-properties>

答案 1 :(得分:0)

在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