4.17. 安全服务器配置更改


如果您迁移到 JBoss EAP 7 并计划在启用了 Java Security Manager 的情况下运行,则应该注意,在定义策略的方式中进行更改,并且可能需要进行额外的配置更改。另请注意,JBoss EAP 7 不支持自定义安全管理器。

有关 Java 安全管理器服务器配置更改的信息,请参阅 如何为 JBoss EAP 配置服务器安全性中的从以前的版本迁移

4.17.1.1. 不可访问的 LDAP Realm 的 HTTP 状态更改

如果 JBoss EAP 7.0 中的服务器无法访问 LDAP 域,则 security 子系统会返回 HTTP 状态代码"401 Unauthorized"。

JBoss EAP 7.1 及之后的版本中的旧 security 子系统现在会返回 HTTP 状态代码 "500 Internal Error",以更准确地描述导致服务器成功处理请求的意外状况。

4.17.1.2. 启用 LDAP Security Realm 来从 DN 解析角色

在 JBoss EAP 7.0 中,org.jboss.as.domain.management.security.parseGroupNameFromLdapDN 系统属性用于启用 LDAP 安全域从 DN 解析角色。当此属性设置为 true 时,会从 DN 解析角色。否则,会使用普通的 LDAP 搜索来搜索角色。

在 JBoss EAP 7.1 及更新的版本中,这个系统属性已弃用。反之,您可以使用以下管理 CLI 命令在核心服务路径中将新引入的 parse-group-name-from-dn 属性设置为 true 来配置这个选项:

/core-service=management/security-realm=REALM_NAME/authorization=ldap/group-search=principal-to-group:add(parse-group-name-from-dn=true)
Copy to Clipboard Toggle word wrap

在 JBoss EAP 7.0 中,当管理界面配置为使用 ldapSSL 安全域时,服务器和 LDAP 之间的相互身份验证会失败,从而导致管理界面中的身份验证失败。这是因为,会进行两个不同的 LDAP 连接,每个连接各自有不同的线程,它们不共享 SSL 会话。

JBoss EAP 7.1 在 LDAP outbound-connection 中添加了一个新的 always-send-client-cert 管理属性(布尔值)。这个选项允许配置出站 LDAP 连接以支持配置为始终需要客户端证书的 LDAP 服务器。

LDAP 身份验证分为两个步骤:

  1. 它搜索帐户。
  2. 它将验证凭据。

默认情况下,always-send-client-cert 属性设为 false,即客户端 SSL 证书仅通过第一个搜索帐户请求发送。当此属性设置为 true 时,JBoss EAP LDAP 客户端使用搜索和验证请求将客户端证书发送到 LDAP 服务器。

您可以使用以下管理 CLI 命令将此属性设置为 true

/core-service=management/ldap-connection=my-ldap-connection:write-attribute(name=always-send-client-cert,value=true)
Copy to Clipboard Toggle word wrap

这会在服务器配置文件中生成以下 LDAP 出站连接。

<management>
  ....
  <outbound-connections>
    <ldap name="my-ldap-connection" url="ldap://127.0.0.1:389" search-dn="cn=search,dc=myCompany,dc=com" search-credential="myPass" always-send-client-cert="true"/>
  </outbound-connections>
  ....
</management>
Copy to Clipboard Toggle word wrap

4.17.2. FIPS 模式更改

如果您以 FIPS 模式运行,请注意在 JBoss EAP 7.0 和 JBoss EAP 7.1 之间修改了默认行为。

在使用传统安全域时,JBoss EAP 7.1 和更高版本为开发提供了自动生成的自签名证书。默认情况下启用此功能(在 JBoss EAP 7.0 中不可用)。这意味着,如果您在 FIPS 模式下运行,您必须将服务器配置为禁用自动自签名证书创建。否则,您在启动服务器时可能会看到以下错误。

ERROR [org.xnio.listener] (default I/O-6) XNIO001007: A channel event listener threw an exception: java.lang.RuntimeException: WFLYDM0114: Failed to lazily initialize SSL context
...
Caused by: java.lang.RuntimeException: WFLYDM0112: Failed to generate self signed certificate
...
Caused by: java.security.KeyStoreException: Cannot get key bytes, not PKCS#8 encoded
Copy to Clipboard Toggle word wrap

有关自动创建自签名证书的信息,请参阅如何为 JBoss EAP 配置服务器安全性中的自动签署应用证书创建

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat