第5章 LDAP での管理インターフェイスのセキュリティー保護

管理インターフェイスは LDAP サーバー (Microsoft Active Directory など) に対して認証できます。これは、LDAP 認証システムを使用して実行できます。LDAP 認証システムは、最初にリモートディレクトリーサーバーへの接続を確立します (アウトバウンド LDAP 接続を使用)。その後、ユーザーが認証システムに渡すユーザー名を使用して検索を実行し、LDAP レコードの完全修飾識別名 (DN) を探します。成功すると、ユーザーが入力したパスワードとユーザーの DN を認証情報として使用し、新しい接続が確立されます。LDAP サーバーへの 2 つ目の接続と認証に成功すると、DN が有効であることが検証され、認証に成功します。

注記

LDAP で管理インターフェイスのセキュリティーを保護すると、認証がダイジェストから BASIC/Plain に変更されますが、デフォルトでは、ユーザー名とパスワードが暗号化されずにネットワーク上で送信されてしまいます。送信接続で SSL/TLS を有効にして、このトラフィックを暗号化し、ユーザー名とパスワードが暗号化なしで送信されないようにします。

重要

LDAP を使用した管理インターフェイスのセキュリティー保護など、レガシーセキュリティーレルムが LDAP サーバーを使用して認証を実行する場合には、JBoss EAP は LDAP サーバーに到達できないと 500 や内部サーバーのエラー、エラーコードを返します。この動作は、同じ状況下で JBoss EAP の以前のバージョンが 401 または不正アクセスのエラーコードを返す動作とは異なります。

5.1. Elytron の使用

管理インターフェイスは、任意のアイデンティティーストアを使用するのと同じ方法で、elytron サブシステムで LDAP を使用してセキュリティー保護できます。elytron サブシステムとのセキュリティーにアイデンティティーストアを使用する方法は、サーバーセキュリティーの設定方法新規アイデンティティーストアでの管理インターフェイスのセキュア保護 を参照してください。たとえば、管理コンソールを LDAP でセキュリティー保護するには、以下を実行します。

注記

JBoss EAP サーバーで Active Directory LDAP サーバーが使用する場合など、パスワードを読み取るパーミッションがない場合は、定義済みの LDAP レルムで direct-verificationtrue に設定する必要があります。この属性を使用すると、JBoss EAP サーバーの代わりに LDAP サーバーで検証を直接実行できます。

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. アウトバウンド LDAP 接続の双方向 SSL/TLS での Elytron の使用

LDAP を使用して管理インターフェイスをセキュアにする場合は、双方向 SSL/TLS を使用するようにアウトバウンド LDAP 接続を設定できます。これには、ssl-context を作成し、ldap-realm が使用する dir-context に追加します。双方向 SSL/TLS ssl-context の作成は、サーバーセキュリティーの設定方法Elytron サブシステムを使用してアプリケーションに対して双方向 SSL/TLS を有効化する手順 を参照してください。

警告

Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。