2.5. 数据网格服务器安全
数据网格服务器安全配置身份验证和加密,以防止网络攻击和保护数据。
2.5.1. 安全域
在 Data Grid 8 安全域中提供隐式配置选项,这意味着您不需要提供多个设置。例如,如果您定义了 Kerberos 域,则获得 Kerberos 功能。如果添加信任存储,您将获得证书身份验证。
在 Data Grid 7.x 中,有两个默认安全域:
-
ManagementRealm
保护管理 API。 -
ApplicationRealm
保护端点和远程客户端连接。
另一方面,Data Grid 8 提供了一个 security
元素,允许您定义可用于 Hot Rod 和 REST 端点的多个不同安全域:
<security> <security-realms> ... </security-realms> </security>
支持的安全域
-
属性域使用属性文件
users.properties
和groups.properties
来定义可以访问 Data Grid 的用户和组。 - LDAP 域连接到 LDAP 服务器,如 OpenLDAP、红帽目录服务器、Apache 目录服务器或 Microsoft Active Directory,以验证用户并获取成员资格信息。
- 信任存储域使用密钥存储,其中包含允许访问 Data Grid 的所有客户端的公共证书。
- 令牌域使用外部服务来验证令牌,并需要与 RFC-7662 (OAuth2 Token Introspection)兼容的提供程序,如 Red Hat SSO。
2.5.2. 服务器身份
服务器身份使用证书链来证明 Data Grid Server 身份提供给远程客户端。
Data Grid 8 使用与之前版本相同的配置来定义 SSL 身份,并改进一些可用性。
- 如果安全域包含 SSL 身份,Data Grid 会自动为该安全域的端点启用加密。
-
对于测试和开发环境,Data Grid 包含一个
generate-self-signed-certificate-host
属性,它可在启动时自动生成密钥存储。
<security-realm name="default"> <server-identities> <ssl> <keystore path="..." relative-to="..." keystore-password="..." alias="..." key-password="..." generate-self-signed-certificate-host="..."/> </ssl> </server-identities> ... <security-realm>
2.5.3. 端点身份验证机制
热 Rod 和 REST 端点使用 SASL 或 HTTP 机制来验证客户端连接。
Data Grid 8 对 hotrod-connector
和 rest-connector
配置使用 相同的身份验证
元素,如 Data Grid 7.x 及更早版本中。
<hotrod-connector name="hotrod"> <authentication> <sasl mechanisms="..." server-name="..."/> </authentication> </hotrod-connector> <rest-connector name="rest"> <authentication> <mechanisms="..." server-principal="..."/> </authentication> </rest-connector>
与之前版本的一个关键区别在于,Data Grid 8 支持端点的额外身份验证机制。
热 Rod SASL 身份验证机制
热 Rod 客户端现在使用 SCRAM-SHA-512
作为默认的身份验证机制,而不是 DIGEST-MD5
。
如果使用属性安全域,则必须使用 PLAIN
身份验证机制。
身份验证机制 | 描述 | 相关详情 |
---|---|---|
|
以纯文本格式使用凭据。您应该只在加密连接中使用 |
与 |
|
使用哈希算法和非ce 值。热 Rod 连接器支持 |
与 |
|
除了哈希算法和非ce 值外,还使用 salt 值。热 Rod 连接器支持 |
与 |
|
使用 Kerberos 票据并需要一个 Kerberos 域控制器。您必须在 realm 配置中添加对应的 |
与 |
|
使用 Kerberos 票据并需要一个 Kerberos 域控制器。您必须在 realm 配置中添加对应的 |
与 |
| 使用客户端证书。 |
与 |
|
使用 OAuth 令牌并需要一个 |
与EARER |
HTTP (REST)身份验证机制
身份验证机制 | 描述 | 相关详情 |
---|---|---|
|
以纯文本格式使用凭据。您应该只使用带有加密连接的 |
对应于 |
|
使用哈希算法和非ce 值。REST 连接器支持 |
对应于 |
|
使用 Kerberos 票据并需要一个 Kerberos 域控制器。您必须在 realm 配置中添加对应的 |
对应于 |
|
使用 OAuth 令牌并需要一个 |
对应于 |
| 使用客户端证书。 |
与 |
2.5.4. 对 EAP 应用进行身份验证
现在,您可以通过将凭证添加到 EAP 应用程序类路径上的 hotrod-client.properties
中,以便与 Data Grid 进行身份验证:
-
远程缓存容器(
remote-cache-container
) -
远程存储(
remote-store
) - EAP 模块
2.5.5. 日志记录
Data Grid 使用 Apache Log4j2,而不是之前版本基于 JBossLogManager 的 logging 子系统。
默认情况下,Data Grid 将日志消息写入以下目录:$RHDG_HOME/${infinispan.server.root}/log
server.log
是默认的日志文件。
访问日志
在以前的版本中,Data Grid 包含一个日志记录器,用于审计日志缓存的安全日志:
<authorization audit-logger="org.infinispan.security.impl.DefaultAuditLogger">
Data Grid 8 不再提供这个审计日志记录器。
但是,您可以将日志类别用于 Hot Rod 和 REST 端点:
-
org.infinispan.HOTROD_ACCESS_LOG
-
org.infinispan.REST_ACCESS_LOG
其他资源