【问题标题】:JBoss EAP 6 - How to change java sessionid lengthJBoss EAP 6 - 如何更改 java sessionid 长度
【发布时间】:2015-12-11 14:53:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: java security jboss6.x sessionid jsessionid


    【解决方案1】:

    我在另一个论坛上找到了这个问题的答案。 实际上,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>
    

    【讨论】:

      【解决方案2】:

      在 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-05
        • 2019-05-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多