Java Servlet 3.0规范建议公开X-Powered-by。这不是安全的坏习惯吗?

Pet*_*háč 3 java security servlets servlet-3.0 response-headers

在阅读Servlet 3.0规范时,我遇到了以下问题,并想知道这是否真的是推荐的做法。我记得出于安全原因,遇到过建议不要包含此信息:

建议容器使用X-Powered-By HTTP标头发布其实现信息。该字段值应包含一种或多种实现类型,例如“ Servlet / 3.0”。可选地,可以在括号内的实现类型之后添加容器和基础Java平台的补充信息。容器应可配置为禁止显示此标头。这是此标头的示例:

X-Powered-By:Servlet / 3.0 JSP / 2.2(GlassFish v3 JRE / 1.6.0)

例如,在这里,它反对这种做法。我曾经使用一种工具来分析我的网站中的潜在问题,然后返回了一个安全警告和删除X-Powered-By标头的建议。

小智 5

默默无闻的安全性是安全性的“层”。由于与这种情况有关,因此最好隐藏该标头而不是使其暴露。有自动工具,扫描仪,机器人等,它们会寻找某些服务器响应标头。如果满足正确的条件,则该工具/机器人通常会执行其他功能,包括将漏洞利用发送给主机。通过简单地隐藏标题,您就可以防止这些和其他类型的攻击。当然,易受攻击的应用程序仍然是易受攻击的应用程序。无论如何...建议,建议删除这些标头。安全必须分层实施,防止应用程序基础框架覆盖是保护它的许多步骤中的第一步。