3.3. 保护 Fuse 控制台

要保护 Apache Karaf 上的 Fuse 控制台,您可以:

  • 将 HTTPS 设置为所需的协议

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

  • 使用公钥保护响应

    您可以使用 hawtio.http.publicKeyPins 属性来保护 HTTPS 协议,方法是告诉 Web 浏览器将特定的加密公钥与 Fuse 控制台关联,以减少对伪证书进行"man-in-the-middle"攻击的风险。

  • 启用 SSL/TLS 安全性

    默认情况下,Fuse 控制台不启用 SSL/TLS 安全性。建议您在 Fuse 控制台中启用 SSL/TLS 安全性,以保护用户名/密码凭证不受 snooping 的影响。

  • 实施 Red Hat Single Sign On
  • 控制用户访问

    允许经过身份验证的用户执行的操作取决于分配给该用户的角色(或角色),如 表 3.1 “基于角色的访问,在 Karaf 独立上” 中列出的。

流程

  1. 要将 HTTPS 设置为所需的协议,请在 $KARAF_HOME/system.properties 文件中设置 hawtio.http. strictTransportSecurity 属性,如下例所示:

    hawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
  2. 要使用公钥来保护响应,请在 $KARAF_HOME/system.properties 文件中设置 hawtio.http. publicKeyPins 属性,如下例所示:

    hawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
  3. 有关如何启用 SSL/TLS 安全性的详细信息,请参阅 Apache Karaf 安全指南 中的"为 Undertow 启用 SSL/TLS"部分
  4. 有关如何使用红帽单点登录保护 Fuse 控制台的详情,请参考 Red Hat Single Sign-on Securing Applications and Services Guide 中的保护 Hawtio 管理控制台的章节。
  5. 要确保用户具有必要的用户角色授权来执行用户需要执行的 Fuse 控制台操作,请按照以下步骤设置用户角色:

    1. 在编辑器中打开 Red Hat Fuse etc/users.properties 文件。
    2. 为用户名、密码和角色添加一个条目。

      例如,etc/users.properties 文件中的以下条目定义了 admin 用户并授予 admin 角色。

      admin = secretpass,admin
    3. 保存该文件。

其他资源