搜索

第 5 章 使用 LDAP 保护管理接口

download PDF

管理接口可以针对 LDAP 服务器(包括 Microsoft Active Directory)进行身份验证。这通过使用 LDAP 身份验证器来完成。LDAP 身份验证器首先通过建立与远程目录服务器的连接(使用出站 LDAP 连接)运行。然后,它将使用用户传递给身份验证系统的用户名执行搜索,以查找 LDAP 记录的完全限定可分辨名称(DN)。如果成功,将使用用户的 DN 作为凭证和用户提供的密码来创建新的连接。如果这第二个连接和 LDAP 服务器的身份验证成功,则 DN 被验证为有效并且身份验证成功。

注意

使用 LDAP 保护管理接口将身份验证从摘要更改为 BASIC/Plain,默认情况下,会导致用户名和密码通过网络进行未加密发送。可以在出站连接上启用 SSL/TLS 来加密此流量,并避免在明文中发送此信息。

重要

如果传统安全域使用 LDAP 服务器来执行身份验证,例如使用 LDAP 保护管理接口,JBoss EAP 将返回 500 或内部服务器错误 如果该 LDAP 服务器无法访问,则返回错误代码。此行为与之前版本的 JBoss EAP 不同,后者在相同的条件下返回 401 或未授权的错误代码。

5.1. 使用 Elytron

您可以使用 LDAP 和 elytron 子系统来保护管理接口,其方式与使用任何身份存储相同。有关将身份存储用于 elytron 子系统安全性的信息,请参见 《如何使用 配置服务器安全性的新身份存储》的安全管理接口例如,使用 LDAP 保护管理控制台:

注意

如果 JBoss EAP 服务器没有读取密码的权限,例如使用 Active Directory LDAP 服务器时,需要在定义的 LDAP 域中 将直接验证 设置为 true。此属性允许直接在 LDAP 服务器上执行验证,而非 JBoss EAP 服务器。

LDAP 身份服务示例

/subsystem=elytron/dir-context=exampleDC:add(url="ldap://127.0.0.1:10389",principal="uid=admin,ou=system",credential-reference={clear-text="secret"})

/subsystem=elytron/ldap-realm=exampleLR:add(dir-context=exampleDC,identity-mapping={search-base-dn="ou=Users,dc=wildfly,dc=org",rdn-identifier="uid",user-password-mapper={from="userPassword"},attribute-mapping=[{filter-base-dn="ou=Roles,dc=wildfly,dc=org",filter="(&(objectClass=groupOfNames)(member={0}))",from="cn",to="Roles"}]})

/subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles)

/subsystem=elytron/security-domain=exampleLdapSD:add(realms=[{realm=exampleLR,role-decoder=from-roles-attribute}],default-realm=exampleLR,permission-mapper=default-permission-mapper)

/subsystem=elytron/http-authentication-factory=example-ldap-http-auth:add(http-server-mechanism-factory=global,security-domain=exampleLdapSD,mechanism-configurations=[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=exampleApplicationDomain}]}])

/core-service=management/management-interface=http-interface:write-attribute(name=http-authentication-factory, value=example-ldap-http-auth)

reload

5.1.1. 将 Elytron 用于出站 LDAP 连接的双向 SSL/TLS

使用 LDAP 保护管理接口时,您可以将出站 LDAP 连接配置为使用双向 SSL/TLS。为此,请创建一个 ssl-context,并将其添加到您的 ldap -realm 使用的dir- context 中。在如何使用 配置服务器安全性 Elytron Subsystem 部分为应用启用双向 SSL/TLS 中介绍了 创建 双向 SSL/TLS。

警告

红帽建议显式禁用 SSLv2、SSLv3 和 TLSv1.0,以便在所有受影响的软件包中明确禁用 TLSv1.1 或 TLSv1.2。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.