5.2. レガシーのコア管理認証の使用
LDAP ディレクトリーサーバーをレガシー security
サブシステムを使用して管理インターフェースの認証ソースとして使用するには、以下の手順を実行する必要があります。
LDAP サーバーへアウトバウンド接続を作成します。
アウトバウンド LDAP 接続を作成する目的は、セキュリティーレルム (および JBoss EAP インスタンス) が LDAP サーバーへの接続を確立できるようにすることです。これは、セキュリティードメインの
Database
ログインモジュールで使用するデータソースを作成する場合と同様です。LDAP アウトバウンド接続は以下の属性を許可します。
属性 必須 説明 url
○
ディレクトリーサーバーの URL アドレス。
search-dn
×
検索の実行が許可されているユーザーの完全識別名 (DN)。
search-credential
×
検索を実行する権限のあるユーザーのパスワード。この要素によってサポートされる属性は次のとおりです。
-
store
: 検索認証情報の取得元のクレデンシャルストアへの参照。 -
alias
: 参照ストア内の認証情報のエイリアス。 -
type
: クレデンシャルストアから取得する認証情報タイプの完全修飾クラス名。 -
clear-text
: クレデンシャルストアを参照する代わりに、この属性を使用してクリアテキストのパスワードを指定できます。
initial-context-factory
×
接続を確立するときに使用する初期コンテキストファクトリー。デフォルトは
com.sun.jndi.ldap.LdapCtxFactory
です。security-realm
×
接続の確立時に使用する設定済みの
SSLContext
を取得するために参照するセキュリティーレルム。参考資料
×
検索時に参照が発生する場合の動作を指定します。有効なオプションは
IGNORE
、FOLLOW
、およびTHROW
です。-
ignore
: デフォルトのオプションです。リファレンスを無視します。 -
FOLLOW
: 検索時に参照が見つかると、DirContext
はその参照のフォローを試みます。ここでは、別のサーバーに接続するために同じ接続設定が使用できることを前提とし、参照機能で使用されている名前に到達できることを前提としています。 -
THROW
:DirContext
は例外LdapReferralException
をスローし、参照が必要であることを示します。セキュリティーレルムは、参照に使用する代替接続を処理し、特定しようとします。
always-send-client-cert
×
デフォルトでは、ユーザーの認証情報を確認する際に、サーバーのクライアント証明書は送信されません。これを
true
に設定すると、常に送信されます。handles-referrals-for
×
接続を処理できる参照情報を指定します。URI の一覧を指定する場合、それらはスペースで区切ります。これにより、複数の異なる認証情報をたどる必要がある場合に、接続プロパティーを持つ接続が定義され、使用されます。これは、別の認証情報が 2 つ目サーバーに対して認証する必要がある場合や、JBoss EAP インストールから到達できない参照表現にサーバーが名前を返し、代替のアドレスを送信できる場合に役に立ちます。
注記search-dn
およびsearch-credential
は、ユーザーが提供するユーザー名とパスワードとは異なります。ここで提供される情報は、JBoss EAP インスタンスと LDAP サーバー間の初期接続を確立するために特に提供されます。この接続により、JBoss EAP は認証を試みるユーザーの DN を後続の検索することができます。検索の結果となるユーザーの DN。この DN は認証を試み、入力したパスワードは認証プロセスを完了する際の別の接続を確立するために使用されます。以下は LDAP サーバーの例になりますが、アウトバウンド LDAP 接続を設定する管理 CLI コマンドになります。
表5.1 LDAP サーバーの例
属性 値 url
127.0.0.1:389
search-credential
myPass
search-dn
cn=search,dc=acme,dc=com
アウトバウンド接続追加の CLI
/core-service=management/ldap-connection=ldap-connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com") reload
注記これにより、JBoss EAP インスタンスと LDAP サーバー間に暗号化されていない接続が作成されます。SSL/TLS を使用して暗号化された接続を設定する方法は、Using SSL/TLS for the Outbound LDAP Connection を参照してください。
-
LDAP 対応のセキュリティーレルムを新規作成します。
アウトバウンド LDAP 接続を作成したら、使用する新しい LDAP 対応セキュリティーレルムを作成する必要があります。
LDAP セキュリティーレルムには、以下の設定属性があります。
属性 説明 connection
LDAP ディレクトリーへの接続に使用する outbound-connections で定義された接続の名前。
base-dn
ユーザーの検索を開始するコンテキストの DN です。
recursive
検索が LDAP ディレクトリーツリー全体で再帰的であるか、指定したコンテキストのみを検索するか。デフォルトは
false
です。user-dn
DN を保持するユーザーの属性です。この後、ユーザー完了時の認証テストに使用されます。デフォルトは
5
です。allow-empty-passwords
この属性は、空のパスワードを許可するかどうかを決定します。デフォルト値は
false
です。username-attribute
ユーザーを検索する属性の名前。このフィルターは、ユーザーが入力したユーザー名が指定した属性と一致する単純な検索を実行します。
advanced-filter
提供されたユーザー ID に基づいてユーザーを検索するために使用される、完全に定義されたフィルター。この属性には、標準の LDAP 構文のフィルタークエリーが含まれます。フィルターには、
{0}
形式の変数が含まれている必要があります。これは、ユーザーが指定したユーザー名で後ほど置き換えられます。詳細およびadvanced-filter
の例は、Combining LDAP and RBAC for Authorization section を参照してください。警告空の LDAP パスワードは、セキュリティ上の懸念が大きいため許可されていませんこの動作が環境内で特に必要でない限り、空のパスワードは許可されず、allow-empty-passwords は false のままになるようにしてください。
以下は、
ldap-connection
アウトバウンド LDAP 接続を使用して LDAP が有効なセキュリティーレルムを設定する管理 CLI コマンドです。/core-service=management/security-realm=ldap-security-realm:add /core-service=management/security-realm=ldap-security-realm/authentication=ldap:add(connection="ldap-connection", base-dn="cn=users,dc=acme,dc=com",username-attribute="sambaAccountName") reload
管理インターフェースの新しいセキュリティーレルムを参照します。セキュリティーレルムが作成され、アウトバウンド LDAP 接続を使用している場合、新しいセキュリティーレルムは管理インターフェースで参照される必要があります。
/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value="ldap-security-realm")
注記ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は『管理 CLI ガイド』を参照してください。
5.2.1. アウトバウンド LDAP 接続に双方向 SSL/TLS を使用する
以下の手順に従って、SSL/TLS でセキュア化されたアウトバウンド LDAP 接続を作成します。
Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。
使用するアウトバウンド LDAP 接続のセキュリティーレルムを設定します。
セキュリティーレルムには、JBoss EAP サーバーがそれ自体と LDAP サーバー間の通信の復号化/暗号化に使用するキーで設定されたキーストアが含まれる必要があります。このキーストアにより、JBoss EAP インスタンスは LDAP サーバーに対して自己検証することもできます。セキュリティーレルムには、LDAP サーバーの証明書が含まれるトラストストア、または LDAP サーバーの証明書の署名に使用する認証局の証明書が含まれる必要もあります。キーストアとトラストストアの設定とこれらを使用するセキュリティーレルムの作成方法については、JBoss EAP『サーバーセキュリティーの設定方法』の「管理インターフェース向けの双方向 SSL/TLS の設定」を参照してください。
SSL/TLS URL およびセキュリティーレルムを使用してアウトバウンド LDAP 接続を作成します。
Using Legacy Core Management Authentication で定義されてりうプロセスと同様に、LDAP サーバーの SSL/TLS URL と SSL/TLS セキュリティーレルムを使用してアウトバウンド LDAP 接続を作成する必要があります。
LDAP サーバーのアウトバウンド LDAP 接続および SSL/TLS セキュリティーレルムを作成したら、その情報でアウトバウンド LDAP 接続を更新する必要があります。
SSL/TLS URL でアウトバウンド接続を追加する CLI の例
/core-service=management/ldap-connection=ldap-connection/:add(search-credential=myPass, url=ldaps://LDAP_HOST:LDAP_PORT, search-dn="cn=search,dc=acme,dc=com")
SSL/TLS 証明書を使用したセキュリティーレルムの追加
/core-service=management/ldap-connection=ldap-connection:write-attribute(name=security-realm,value="CertificateRealm") reload
管理インターフェースで使用するためにアウトバウンド LDAP 接続を使用する新しいセキュリティーレルムを作成します。
Using Legacy Core Management Authentication の手順の Create a new LDAP-Enabled Security Realm および Reference the new security realm in the Management Interface の手順に従います。
注記ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は『管理 CLI ガイド』を参照してください。