Glassfish server 5.1如何配置不泄露环境信息

How can configure Glassfish server 5.1 not to disclose environment information

我们最近进行了一次 PCI 扫描,其中一项建议是不应泄露环境信息。有谁知道如何配置 Glassfish 服务器不泄露服务器信息。

我假设您指的是响应 header 中的设置。如果是这样,您需要进行三个配置更改,因此启动 Glassfish 并打开其管理控制台。在我的例子中是 http://localhost:4848,但你可能有不同的东西。

变化一:

  • Select 配置 > server-config > JVM 设置,然后单击 JVM 选项 选项卡。
  • 单击 添加 JVM 选项 按钮。添加选项 -Dproduct.name=_{server},其中 {server} 可以是您想要的任何内容,包括空字符串。我选择了-Dproduct.name=AnonymousServer。单击保存。您指定的值将设置在响应 header 的 Server 字段中。

变化2:

  • Select 配置 > server-config > 网络配置 > 网络侦听器 > http-listener-1,然后单击 右侧面板中的 HTTP 选项卡。
  • 向下滚动并取消选中 XPowered By: 字段并单击 保存
  • 这将从响应 header.
  • 中排除 X-Powered-By 字段

变化3:

  • 重复上面的更改 2,但是 select http-listener-2安全已启用) 而不是 http-listener-1安全未启用)。

最后,重新启动 Glassfish,然后在浏览器或 Postman 等工具中连接到您的应用程序,并验证响应 header 是否已更改。例如,这里是 Firefox 中一个简单 Web 应用程序前后的截图,使用 它的浏览器的开发者工具。他们显示配置更改并重新启动后:

  • 不再有 X-Powered-By 响应 header 字段。
  • Server 字段中的服务器名称已更改(在我的例子中为 AnonymousServer)。

变更前:

修改后: