第 4 章 保护 Fuse 控制台


在 Spring Boot 上保护 Fuse 控制台:

  • 在部署到 AWS 时禁用 Fuse 控制台代理 servlet

    如果要将独立 Fuse 应用程序部署到 Amazon Web Services(AWS),您应该通过将 hawtio.disableProxy 系统属性设置为 true 来禁用 Fuse Console 的代理 servlet。

    注意

    当您禁用 Fuse 控制台代理 servlet 时,Fuse Console 的 Connect 选项卡被禁用,您无法从 Fuse 控制台连接到其他 JVM。如果要在 AWS 上部署多个 Fuse 应用程序,则必须为每个应用程序部署 Fuse 控制台。

  • 将 HTTPS 设置为所需协议

    您可以使用 hawtio.http.strictTransportSecurity 属性来要求 Web 浏览器使用安全 HTTPS 协议来访问 Fuse 控制台。此属性指定尝试使用 HTTP 访问 Fuse 控制台的 Web 浏览器必须自动转换请求以使用 HTTPS。

  • 使用公钥来保护响应

    您可以使用 hawtio.http.publicKeyPins 属性来确保 HTTPS 协议的安全,方法是指示 Web 浏览器将特定的加密密钥与 Fuse 控制台关联,以减少"man-in-the-the-the-the-the-middle"攻击的风险。

流程

  1. 设置 hawtio.http.strictTransportSecurityhawtio.http.publicKeyPins 属性,如下例所示:

    public static void main(String[] args) {
        System.setProperty("hawtio.http.strictTransportSecurity", "max-age=31536000; includeSubDomains; preload");
        System.setProperty("hawtio.http.publicKeyPins", "pin-sha256=cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains");
        SpringApplication.run(YourSpringBootApplication.class, args);
    }
  2. (仅用于在 AWS 上部署)要禁用 Fuse 控制台的代理 servlet,请设置 hawtio.disableProxy 属性,如下例所示:

    public static void main(String[] args) {
        System.setProperty("hawtio.disableProxy", "true");
    }

其他资源

  • 有关 hawtio.http.strictTransportSecurity 属性语法的描述,请查看 HTTP Strict Transport Security(HSTS) 响应标头的描述页。
  • 有关 hawtio.http.publicKeyPins 属性语法的描述,包括如何提取 Base64 编码公钥的说明,请参阅 HTTP Public Key Pinning 响应标头的描述页面。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.