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)。
变更前:
修改后:
我们最近进行了一次 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)。
变更前:
修改后: