3

阅读 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 标头的建议。

4

2 回答 2

5

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

于 2016-11-15T01:15:31.657 回答
0

我一般也不会将 Servlet 容器直接放在 Internet 上。这就是我使用反向代理(和负载平衡)的原因。

回答你的问题;我不认为通过默默无闻的安全是一种特别“好的”安全实践。

于 2013-12-13T15:52:59.347 回答