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 独立上” 中列出的。
流程
要将 HTTPS 设置为所需的协议,请在
$KARAF_HOME/system.properties 文件中设置
属性,如下例所示:hawtio.http.
strictTransportSecurityhawtio.http.strictTransportSecurity = max-age=31536000; includeSubDomains; preload
要使用公钥来保护响应,请在
$KARAF_HOME/system.properties 文件中设置
属性,如下例所示:hawtio.http.
publicKeyPinshawtio.http.publicKeyPins = pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains
- 有关如何启用 SSL/TLS 安全性的详细信息,请参阅 Apache Karaf 安全指南 中的"为 Undertow 启用 SSL/TLS"部分。
- 有关如何使用红帽单点登录保护 Fuse 控制台的详情,请参考 Red Hat Single Sign-on Securing Applications and Services Guide 中的保护 Hawtio 管理控制台的章节。
要确保用户具有必要的用户角色授权来执行用户需要执行的 Fuse 控制台操作,请按照以下步骤设置用户角色:
-
在编辑器中打开 Red Hat Fuse
etc/users.properties
文件。 为用户名、密码和角色添加一个条目。
例如,
etc/users.properties
文件中的以下条目定义了 admin 用户并授予 admin 角色。admin = secretpass,admin
- 保存该文件。
-
在编辑器中打开 Red Hat Fuse
其他资源
-
有关
hawtio.http.strictTransportSecurity
属性的语法的描述,请参阅 HTTP Strict Transport Security (HSTS) 响应标头的描述页面。 -
有关
hawtio.http.publicKeyPins
属性的语法的描述,包括如何提取 Base64 编码公钥的说明,请参阅 HTTP 公钥 Pinning 响应标头 的描述页面。