Java 隐藏Red5 tomcat版本-减少请求的信息泄漏 问题:

Java 隐藏Red5 tomcat版本-减少请求的信息泄漏 问题:,java,tomcat,red5,Java,Tomcat,Red5,我想在red5中隐藏我的tomcat版本的身份。 到目前为止,我已经做了以下工作: </bean> <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve"> v<property name="showServerInfo" value="false" />

我想在red5中隐藏我的tomcat版本的身份。 到目前为止,我已经做了以下工作:

            </bean>
            <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                    v<property name="showServerInfo" value="false" />
                    <property name="showReport" value="false" />
            </bean>
        </list>
  • 删除了
    webapps
    文件夹中除
    vod
    root\web-inf
    之外的所有非必需目录。其他目录/webapps不是必需的
  • 我在
    conf/j2ee container.xml
    中添加了一个
    错误阀

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    
    然而,我还没有找到如何做剩下的三件事:

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    
  • 隐藏响应头概述版本(
    Server:apachecoyote/1.1
  • 禁用目录浏览
  • 藏起来
  • 2和3对我来说应该比较简单。。。。但不确定1

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    
    当前的tomcat是ApacheTomcat/7.0.57

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    
    关于保密性的免责声明
    这并不意味着我支持仅仅依靠默默无闻的安全。相反,我相信隐藏版本会给攻击增加一点延迟,迫使攻击者执行更多信息收集。减少信息泄漏被认为是OWASP的最佳实践。

    您可以禁用Tomcats“/conf/web.xml”中的几个设置,例如将这些设置设置为false:

                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>
    

    xpoweredBy、listings、showServerInfo、…

    默默无闻的安全性从未奏效,也永远不会奏效。你这样做几乎一无所获。类似的问题已经提交给Tomcat,Mark Thomas关闭了它们,因为它们不会修复。

    实际上隐藏识别功能是一种众所周知的方法,因为许多常见的攻击者首先识别在潜在受害者上运行的软件,然后查找站点上的漏洞,如漏洞数据库。显然,保持系统补丁和更新是第一位的。您的答案不是答案,更适合作为评论。@maythesource.com认为攻击者不会发现它是最愚蠢的方法。你所做的就是推迟可能的攻击。阅读Tomcat错误报告。我不同意。。。使攻击者更难识别系统(使他花费一点额外的时间)并不是一个缺点。现在,它值得额外的努力吗?如果现有工具可以根据行为(指纹)检测版本,则可能不会。然而,如果你把它说得一文不值,那你就错了。默默无闻的安全不是一颗银弹。。。它应该是多个其他最佳安全实践(补丁、更新、防火墙、最佳实践等)之上的一个小小的威慑。发表意见并不能回答“你所做的只是推迟可能的攻击”的问题。确切地说。。。攻击者还需要克服一个障碍。此外,您还使得没有经验的脚本kddies无法使用。现在,如果你的论点是,更有经验的攻击者会感兴趣。。。如果你的版本补丁速度不够快,或者存在一个零日漏洞,并且有一个足够好的黑客拥有它,那么你的程序就完蛋了。所以我们可以整天都这么做,但这毫无意义,因为我不同意你的观点。显然,设计的安全性是至关重要的,但隐蔽性作为纵深防御措施是有用的。
                </bean>
                <bean id="valve.error" class="org.apache.catalina.valves.ErrorReportValve">
                        v<property name="showServerInfo" value="false" />
                        <property name="showReport" value="false" />
                </bean>
            </list>