セキュリティのコンフィグレーション

     前  次    新しいウィンドウで目次を開く      
コンテンツの開始位置

ダイジェスト認証のコンフィグレーション

以下の節では、ダイジェスト認証を使用するように Oracle Communications Converged Application Server をコンフィグレーションし、サポートされている LDAP サーバまたは RDBMS と連係させる方法について説明します。

 


ダイジェスト認証の概要

以下の節では、ダイジェスト認証についての概要と、Oracle Communications Converged Application Server でのダイジェスト認証のサポートとコンフィグレーションについて説明します。

ダイジェスト認証とは

ダイジェスト認証とは、SIP または HTTP でユーザ認証に使用するシンプルなチャレンジ/応答メカニズムです。ダイジェスト認証の詳細は RFC 2617 で規定されています。

ダイジェスト認証を使用しているときに、保護されているサーバ リソースに対してクライアントが未認証のリクエストを行うと、サーバからクライアントに対して、nonce 値を使用してチャレンジが送信されます。クライアントは、要求されたアルゴリズム (デフォルトでは MD5) を使用して、暗号化された応答 (ダイジェスト) を生成します。その中には、ユーザ名、パスワード、チャレンジからの nonce 値、SIP メソッド、およびリクエストの URI が含まれます。

サーバは、自らダイジェスト値を再作成し、クライアントから受け取ったダイジェストと比較することで、クライアントのダイジェストを検証します。サーバは、ダイジェスト値を再作成するために、[A1] 値 (RFC 2617 を参照) のハッシュを必要とします。この中には、nonce、ユーザ名、パスワード、およびレルム名が少なくとも必要です。サーバが A1 値のハッシュを再作成するときには、格納してある当該ユーザのクリアテキストのパスワードを取得して求めるか、または計算済みのハッシュ値を取得します。クリアテキストのパスワードまたは計算済みのハッシュ値は、LDAP ディレクトリに格納してあるか、JDBC を使用して RDBMS から利用するかのいずれかです。そしてサーバは、A1 値のハッシュを使用してダイジェストを再作成し、クライアントのダイジェストと比較して、ユーザの ID を検証します。

ダイジェスト認証では、クライアントとサーバの間でクリアテキスト パスワードが送信されないため、HTTP 上で安全な認証を実現できます。また、クライアントのチャレンジで nonce 値を使用するため、ダイジェスト認証はリプレイ攻撃への耐性があります。一般的なリクエストでのチャレンジ/応答のメカニズムの詳細については、図 2-1 を参照してください。

Oracle Communications Converged Application Server でのダイジェスト認証サポート

Oracle Communications Converged Application Server には、LDAP または RDBMS を使用してクライアントのダイジェストの有効性を確認するための LDAP ダイジェスト ID アサーション セキュリティ プロバイダが含まれています。認証プロセスを完了するためには、認可プロバイダが別途必要です (「認証プロバイダのコンフィグレーション」を参照)。

ダイジェスト Id アサーション プロバイダが行うのは、クライアントのダイジェストを使用してユーザの資格を検証することだけです。ダイジェストを検証した後は、コンフィグレーション済みの認可プロバイダが、ユーザ名に基づいてそのユーザの存在をチェックし、結果の javax.security.auth.Subject のグループ メンバシップを設定して、認証プロセスを完了します。

ダイジェスト ID アサーション プロバイダでは、次のいずれかの形で、LDAP サーバまたは RDBMS にユーザ資格が格納されている必要があります。

LDAP ダイジェスト ID アサーション プロバイダは、クリアテキストのパスワードや計算済みのハッシュ値を格納できるすべての LDAP プロバイダと互換性があります。

注記 : 組み込み LDAP ストアのスキーマを変更して、クリアテキストのパスワードや計算済みのハッシュ値を格納するための専用のフィールドを追加することはできません。ただし、テストやデモンストレーションの目的では、定義済みの「記述」フィールドにパスワード情報を格納できます。
注意 : 認証の判断に DefaultAuthenticator プロバイダを使用しない場合は、ダイジェスト認証を使用する前に、DefaultAuthenticator をオプションのプロバイダにする (制御フラグを SUFFICIENT 以下にする) 必要があります。通常、クリアテキストまたはハッシュのパスワード情報の保持に別個の LDAP ストアを使用するプロダクション インストールでは、これは必須のコンフィグレーションです。
図 2-1 Oracle Communications Converged Application Server でのダイジェスト認証

Oracle Communications Converged Application Server でのダイジェスト認証

図 2-1 は、一般的なクライアント リクエストにおける ID アサーション プロバイダの基本的なアーキテクチャと使用法を示します。

  1. クライアントが、保護されたアプリケーション リソースに対して、未認証のリクエストを行います(sip-xml デプロイメント記述子でセキュリティ制約を指定すると、SIP サーブレット リソースが保護されます。「SIP サーブレット リソースのセキュリティ」を参照してください)。
  2. ダイジェスト ID アサーション プロバイダは、nonce 値、レルム名、および暗号アルゴリズム (MD5 または MD5-sess) で構成されるチャレンジ文字列を生成します。SIP コンテナがチャレンジ文字列をクライアントに送信します。
  3. 注意 : ダイジェスト ID アサーション プロバイダは、使用された nonce とタイムスタンプのキャッシュを指定の期間保持します。指定したタイムスタンプより古いタイムスタンプのリクエストはすべて拒否されます。また、キャッシュに保持されている最新のタイムスタンプ/nonce ペアと同じタイムスタンプ/nonce ペアを使用するリクエストもすべて拒否されます。
  4. クライアントは、暗号化アルゴリズムを使用したダイジェストを作成します。このダイジェストは、ユーザ名、パスワード、実際の名前、nonce、SIP メソッド、リクエストされた URI、および RFC 2617 で定められたその他の情報で構成されます。
  5. ダイジェスト ID アサーション プロバイダは、A1 値、nonce、SIP メソッドなどの情報のハッシュを使用したダイジェスト値を再作成し、クライアントのダイジェストを検証します。ID アサーション プロバイダは、A1 値のハッシュを取得するために、クリアテキストのパスワードをストアから取得して HA1 を生成するか、または計算済みの HA1 をストアから取得します。
  6. 生成したダイジェスト文字列をクライアントのダイジェストと比較してユーザの ID を検証します。
  7. ユーザの ID の検証が済むと、認証プロバイダは、ユーザが存在するかどうかを確認します。そして、存在する場合は、コンフィグレーションされたグループ情報を javax.security.auth.Subject に設定します。認証プロセスは以上で完了します。
  8. 注意 : ユーザが存在するかどうかのチェックやグループの設定が必要ない場合には、特別な「何もしない」ID アサーション認証プロバイダを使用すると、LDAP サーバに対する余分な接続を回避できます。詳細については、「認証プロバイダのコンフィグレーション」を参照してください。

    認証が完了した後で、SIP サーブレット コンテナは、サーブレットの sip.xml デプロイメント記述子で定義された宣言によるセキュリティ制約に照らして、ログインした javax.security.auth.Subject の認可チェックを実行します。

LDAP ダイジェスト ID アサーション プロバイダと、コンフィグレーションされた認証プロバイダは、同じ LDAP ストアを使用することも、別々のストアを使用することもできます。

注意 : 複数の LDAP ストアを使用する場合は、図 2-2 に示すように、ユーザ資格の追加、削除、または変更に応じて両方のストアを同期するための何らかのインフラストラクチャを構築する必要があります。LDAP ストアを同期する方法については、このドキュメントでは取り上げません。
図 2-2 複数の LDAP サーバ

複数の LDAP サーバ

 


LDAP ダイジェスト認証のコンフィグレーションの前提条件

ダイジェスト認証をコンフィグレーションするためには、LDAP サーバと LDAP 管理の基本を理解する必要があります。また、使用する LDAP サーバ実装の要件と制約を理解することと、LDAP のコンフィグレーションと Oracle Communications Converged Application Server のコンフィグレーションを変更する特権を持っていることも必要です。

表  2-1 は、Oracle Communications Converged Application Server と連係したダイジェスト認証を行うように LDAP サーバを完全にコンフィグレーションするために必要なすべての情報の概要です。

LDAP 認証プロバイダと、ダイジェスト認証 ID アサーション プロバイダは、複数の LDAP サーバに対してコンフィグレーションして、フェイルオーバ機能を実現できます。複数の LDAP サーバを使用したフェイルオーバ機能を実現するためには、ダイジェスト認証をコンフィグレーションするときに、各サーバに対する接続情報が必要です。「ダイジェスト認証のコンフィグレーションの手順」を参照してください。

表 2-1 ダイジェスト ID アサーション プロバイダのチェックリスト
項目
説明
値の例
ホスト
LDAP サーバのホスト名である。
MyLDAPServer
Port
LDAP サーバのポート番号である。デフォルトでは 389 番のポートが使用されている。
389
Principal
Oracle Communications Converged Application Server が LDAP サーバへの接続に使用できる識別名 (DN) です。
cn=ldapadminuser
Credential
上記のプリンシパル名に対応する資格 (一般にはパスワード) である。
ldapadminuserpassword
LDAP Connection Timeout
LDAP サーバへの接続に対してコンフィグレーションされたタイムアウト値 (秒単位) である。パフォーマンスを最大限に高めるためには、LDAP サーバにタイムアウト値をコンフィグレーションしないようにする。LDAP サーバにタイムアウト値を設定した場合は、ダイジェスト ID アサーション プロバイダのタイムアウト値が LDAP サーバのタイムアウト値以下となるようにコンフィグレーションする必要がある。
30 秒
User From Name Filter
Oracle Communications Converged Application Server が、指定のユーザ名の検索で使用する LDAP 検索フィルタである。この属性に値を指定しない場合、ユーザ スキーマに基づくデフォルトの検索フィルタが使用される。
(&(cn=%u)(objectclass=person))
User Base DN
ユーザを格納する LDAP ディレクトリ内のツリーの基本識別名 (DN) である。
cn=users,dc=mycompany,dc=com
Credential Attribute Name
ダイジェストの計算で使用する資格属性名である。これは、暗号化されていないパスワードまたは計算済みのハッシュ値の格納に使用する属性名に対応する。「LDAP サーバまたは RDBMS のコンフィグレーション」を参照。
hashvalue
Digest Realm Name
ダイジェスト認証で使用するレルム名である。
mycompany.com
Digest Algorithm
暗号化されたダイジェストの作成でクライアントが使用するアルゴリズムである。Oracle Communications Converged Application Server は MD5 アルゴリズムと MD5-sess アルゴリズムの両方をサポートする。 デフォルトでは MD5 が使用される。
MD5
Digest Timeout
ダイジェスト認証のタイムアウトの設定である。デフォルトでは 120 秒に設定されている。
120

 


ダイジェスト認証のコンフィグレーションの手順

Oracle Communications Converged Application Server でダイジェスト認証をコンフィグレーションするには、次の手順に従います。

  1. LDAP サーバまたは RDBMS のコンフィグレーション
  2. DefaultAuthenticator プロバイダのコンフィグレーションの変更
  3. 注意 : DefaultAuthenticator は、必須の認証プロバイダとしてデフォルトで設定されています。組み込み LDAP ストアに対して機能する DefaultAuthentication プロバイダを認証の判断に使用しない場合には、制御フラグを SUFFICIENT に変更する必要があります。
  4. 認証プロバイダのコンフィグレーション
  5. 新しいダイジェスト ID アサーション プロバイダのコンフィグレーション

以下の節では、各手順について詳しく説明します。

LDAP サーバまたは RDBMS のコンフィグレーション

ダイジェストの検証に使用する LDAP サーバまたは RDBMS には、暗号化されていないクリアテキストのパスワード、計算済みのハッシュ値、標準の暗号化アルゴリズム (デフォルトでは 3DES_EDE/CBC/PKCS5Padding) で暗号化されたパスワードのいずれかが格納されている必要があります。以下の節では、必要な情報を格納するための LDAP サーバまたは RDBMS の設定について、概要を示します。LDAP サーバでは、使用するスキーマや管理ツールが異なるため、以下の手順を実行する方法については、必要に応じて LDAP サーバのドキュメントを参照してください。

複数の LDAP サーバを使用したセキュリティ プロバイダのフェイルオーバ機能を有効にする場合は、各 LDAP サーバを次のようにコンフィグレーションする必要があります。

暗号化されていないパスワードの使用

RDBMS を使用する場合、または、LDAP サーバのスキーマで、暗号化されていないパスワードをユーザのパスワード属性に格納することが認められている場合は、さらにコンフィグレーションを行う必要はありません。ダイジェスト ID アサーション プロバイダは、デフォルトでは、パスワード フィールドで、暗号化されていないパスワードを検索します。

パスワード属性に対し、暗号化されていないパスワードの格納が認められていないスキーマの場合には、次の 2 つの方法があります。

スキーマで利用可能な資格属性の詳細については、LDAP サーバのドキュメントを参照してください。どの方法を使用する場合も、暗号化されていないパスワードの格納に使用する正確な属性名を記録します。LDAP ダイジェスト ID アサーション プロバイダをコンフィグレーションするときに、この属性の名前を入力する必要があります。

計算済みのハッシュ値の使用

暗号化されていないパスワードではなく、計算済みのハッシュ値を使用する場合には、LDAP ディレクトリの次の 2 つの場所のいずれかにハッシュ値を格納できます。

新しい資格属性の使用または作成の詳細については、LDAP サーバのドキュメントを参照してください。

RDBMS ストアの場合は、スキーマに含まれる任意のカラムにハッシュ値を格納できます。RDBMS ID アサーション プロバイダをコンフィグレーションするときに、ハッシュ値の取得に使用する SQL コマンドを定義します。

Oracle Communications Converged Application Server では、ユーザ名、レルム名、および暗号化されていないパスワードを指定して簡単なユーティリティで、A1 値のハッシュを生成できます。このユーティリティは、com.bea.wcp.sip.security.utils.PreCalculatedHash のようにパッケージされます。以下の構文を使います。

java com.bea.wcp.sip.security.utils.PreCalculatedHash user_name realm_name password

また、サード パーティのユーティリティを使用したハッシュ値を生成したり、RFC 2617 の情報に基づいて独自のメソッドを作成することもできます。

ユーザ名、パスワード、またはレルム名の値が変更になったときに、格納したハッシュ値を自動的に更新するためのインフラストラクチャも構築する必要があります。パスワード情報をそのように維持する方法については、このドキュメントでは取り上げません。

逆暗号化パスワードの使用

Oracle Communications Converged Application Server に用意されているユーティリティを使用すると、ダイジェスト認可 Id アサーション プロバイダをコンフィグレーションするときに使用する、暗号化キー、暗号化の初期ベクタ、および暗号化パスワードの各値を計算できます。そのユーティリティの名前は com.bea.wcp.sip.security.utils.JSafeEncryptionUtil で、WLSS_HOME/telco/lib ディレクトリの wlss.jar ファイルにパッケージされています。

使用法の説明と構文を参照するには、次の手順に従います。

  1. 次のように、wlss.jar をクラスパスに追加します。
  2. export CLASSPATH=$CLASSPATH:~/bea/wlcserver_10.3/server/lib/wlss/wlss.jar
  3. 次のように、オプションを指定せずにユーティリティを実行します。
  4. java com.bea.wcp.sip.security.utils.JSafeEncryptionUtil

DefaultAuthenticator プロバイダのコンフィグレーションの変更

プロダクション環境では、別個の LDAP プロバイダにパスワード情報を格納することが大半であり、したがって、組み込み LDAP ストアに対して機能する DefaultAuthenticator は認証に必須ではありません。この節の手順に従って、プロバイダの制御フラグを sufficient に変更します。

注意 : DefaultAuthenticator は、必須の認証プロバイダとしてデフォルトで設定されています。組み込み LDAP ストアに対して機能する DefaultAuthentication プロバイダを認証の判断に使用しない場合には、制御フラグを SUFFICIENT に変更する必要があります。

DefaultAuthenticator プロバイダのコンフィグレーションを変更するには、次の手順に従います。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [プロバイダ|認証] タブを選択します。
  5. DefaultAuthenticator プロバイダを選択します。
  6. [コンフィグレーション|共通] タブで、[制御フラグ] の値を [SUFFICIENT] に変更します。
  7. [保存] をクリックして変更内容を保存します。

認証プロバイダのコンフィグレーション

クライアントのダイジェストの検証のみを行うダイジェスト Id アサーション プロバイダに加えて、ユーザの存在のチェックとユーザのグループ情報の値の設定を行う認証プロバイダをコンフィグレーションする必要があります。Oracle WebLogic Server 10g Release 3 ドキュメントの「LDAP 認証プロバイダのコンフィグレーション」の手順に従って、LDAP サーバ用の LDAP 認証プロバイダを構築します。「表 2-1 ダイジェスト Id アサーション プロバイダのチェックリスト」の情報を使用して、プロバイダをコンフィグレーションします。

ユーザの存在チェックやグループの値の設定が必要ない場合には、ダイジェスト Id アサーション プロバイダに加えて、IdentityAssertionAuthenticator] の名でパッケージされた、特別な「何もしない」認証プロバイダをコンフィグレーションおよび使用します。このプロバイダを使用すると、LDAP サーバに対する余分な接続のやり取りを防ぐことができます。このプロバイダはユーザ検証は実行しません。ユーザに対しグループ情報が必要ない場合に使用する必要があります。

「何もしない」認可プロバイダをコンフィグレーションするには、次の手順に従います。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [プロバイダ|認証] タブを選択します。
  5. [新規] をクリックします。
  6. 新しいプロバイダ名を入力し、タイプには [IdentityAssertionAuthenticator] を選択します。
  7. [OK] をクリックします。
  8. プロバイダのリストから新しいプロバイダ名を選択します。
  9. [コンフィグレーション|共通] タブで、[制御フラグ] の値を [SUFFICIENT] に設定します。
  10. [保存] をクリックして変更内容を保存します。

新しいダイジェスト ID アサーション プロバイダのコンフィグレーション

以下のいずれかの節の手順に従って、ダイジェスト ID アサーション プロバイダを作成し、LDAP サーバまたは RDBMS ストアと関連付けます。

LDAP ダイジェスト ID アサーション プロバイダのコンフィグレーション

次の手順に従って、新しい LDAP ダイジェスト ID アサーション プロバイダを作成します。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [プロバイダ|認証] タブを選択します。
  5. [新規] をクリックします。
  6. 新しいプロバイダ名を入力し、タイプには [LdapDigestIdentityAsserter] を選択します。
  7. [OK] をクリックします。
  8. プロバイダのリストから新しいプロバイダ名を選択します。
  9. 右ペインで [コンフィグレーション|永続化] タブを選択します。
  10. コンフィグレーション ページで、LDAP サーバとダイジェスト認証の情報を各フィールドに次のように入力します (表 2-1 の情報を使用)。
    • [User From Name Filter] : Oracle Communications Converged Application Server が、指定のユーザ名の検索で使用する LDAP 検索フィルタを入力します。この属性に値を指定しない場合、ユーザ スキーマに基づくデフォルトの検索フィルタが使用されます。
    • [User Base DN]: ユーザを格納する LDAP ディレクトリ内のツリーの基本識別名 (DN) を入力します。
    • [Credential Attribute Name]: 計算済みのハッシュ値または暗号化されていないパスワードのいずれかを格納する、LDAP ディレクトリの資格属性を入力します。デフォルトでは、Oracle Communications Converged Application Server はユーザエントリーのパスワード属性を使用します。暗号化されていないパスワードではなく計算済みのハッシュ値を使用する場合や、暗号化されていないパスワードが別の属性に格納されている場合は、正しい属性名をここに指定する必要があります。
    • [Group Attribute Name]: ユーザが属する一連のグループ名が格納された、LDAP ディレクトリのグループ属性を入力します。
    • [Password Encryption Type]: パスワードが格納されている形式を、[PLAINTEXT]、[PRECALCULATEDHASH]、[REVERSIBLEENCRYPTED] のいずれかから選択します。
    • [Encryption Algorithm]: 暗号化したパスワードを格納した場合は、ダイジェスト ID アサーション プロバイダが逆暗号化に使用する暗号化アルゴリズムを入力します。
    • [Encryption Key] と [Please type again to confirm]: 暗号化されたパスワードを格納した場合は、逆暗号化アルゴリズムの中で使用される Base64 暗号化キーを入力します。
    • [Encryption Init Vector] と [Please type again to confirm]: 暗号化されたパスワードを格納した場合は、逆暗号化アルゴリズムの中で使用される Base64 初期ベクタを入力します。
    • [Digest Realm Name]: ダイジェスト認証で使用するレルム名を入力します。
    • [Digest Algorithm]: ダイジェストの暗号化に使用するアルゴリズムとして [MD5] または [MD5-sess] を選択します。
    • [Digest Timeout]: ダイジェスト チャレンジの nonce タイムアウト値を定義します。クライアントから応答がないままに nonce タイムアウトに達した場合は、新しい nonce でクライアントに対して改めてチャレンジが送信されます。デフォルトでは 120 秒に設定されています。
    • [Host]: ダイジェスト認証に使用する LDAP サーバのホスト名を入力します。フェイルオーバ機能として複数の LDAP サーバを使用している場合は、各サーバに対応する hostname:port 値をスペース区切りで入力します。たとえば、「ldap1.mycompany.com:1050 ldap2.mycompany.com:1050」のように指定します。
    • フェイルオーバのコンフィグレーションの詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「LDAP 認証プロバイダのフェイルオーバのコンフィグレーション」を参照してください。

    • [Port] : LDAP サーバのポート番号を入力します。
    • [SSL Enabled] : Oracle Communications Converged Application Server と LDAP サーバの間で、暗号化されていないパスワードを、SSL を使用して通信している場合は、このオプションをチェックします。
    • [Principal] : Oracle Communications Converged Application Server が LDAP サーバへのアクセスに使用するプリンシパルの名前を入力します。
    • [Credential] と [Please type again to confirm]: 上記のプリンシパル名に対応する資格情報 (一般にはパスワード) を入力します。
  11. [保存] をクリックして変更内容を保存します。
  12. 右ペインで [パフォーマンス] タブを選択します。
  13. [Performance] ページで、キャッシングと接続の情報を以下のフィールドに入力します。
    • [LDAP Connection Pool Size]: LDAP サーバへの接続に使用する接続数を入力します。この値は、Oracle Communications Converged Application Server でコンフィグレーションされた実行スレッドの総数以下にする必要があります。現在コンフィグレーションされているスレッド数を参照するには、Administration Console の左ペインで Oracle Communications Converged Application Server の名前を右クリックし、[実行キューを表示] を選択します。SIP コンテナは、sip.transport.Default という名前のキューのスレッド数の値を使用します。LDAP Connection Pool Size のデフォルト値は 10 です。
    • 古い接続 (たとえばロード バランサによりタイム アウトとなった LDAP 接続) は接続プールから自動的に削除されます。

    • [Cache Enabled]: 対応する LDAP サーバでキャッシュを使用するかどうかを指定します。
    • [Cache Size]: LDAP サーバからの結果の格納に使用するキャッシュのサイズを KB 単位で指定します。デフォルトのキャッシュ サイズは 32KB です。
    • [Cache TTL]: LDAP キャッシュ用の存続時間 (TTL) の値を秒単位で指定します。デフォルトの TTL 値は 60 秒です。
    • [Results Time Limit]: LDAP の結果を待つ最大ミリ秒数を指定します。この時間を超えるとタイム アウトになります。タイム リミットを設定しない場合は、デフォルト値の 0 をそのまま使用します。
    • [Connect Timeout]: LDAP 接続が確立されるのを待つ最大ミリ秒数を指定します。この時間を超えると、接続はタイム アウトになります。タイムアウト値を設定しない場合は、デフォルト値の 0 を使用します。
    • [Parallel Connect Delay]: コンフィグレーション済みの複数の LDAP サーバに同時に接続を試みるときに遅延する秒数を指定します。この値を 0 に設定した場合、プロバイダは複数サーバに順次接続します。プロバイダはまず、[Host] リストの最初のコンフィグレーション済み LDAP サーバへの接続を試みます。この接続が失敗した場合、プロバイダは、次のコンフィグレーション済みサーバに接続を試みます。以下同様です。
    • 0 以外の値を設定した場合、プロバイダは、指定した秒数だけ待機したうえで、別の接続を試みるための新しいスレッドを生成します。たとえば、この値を 2 に設定した場合、プロバイダはまず、[Host] リストの最初のコンフィグレーション済み LDAP サーバに接続を試みます。2 秒が経過した時点で接続がまだ確立されていない場合、プロバイダは、新しいスレッドを生成し、[Host] リストの 2 番目のコンフィグレーション済み LDAP サーバへの接続を試みます。以下同様に、コンフィグレーション済みの各 LDAP サーバに対する接続を試みます。

    • [Connection Retry Limit]: 接続の確立時に LDAP サーバが例外を送出した場合に、プロバイダが LDAP サーバへの接続の再確立を試行する回数を指定します。
  14. [保存] をクリックして変更内容を保存します。

RDBMS ダイジェスト ID アサーション プロバイダのコンフィグレーション

次の手順に従って、新しい RDBMS ダイジェスト ID アサーション プロバイダを作成します。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンフィグレーション ロックを取得するには、[Lock & Edit] をクリックします。
  3. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  4. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  5. [プロバイダ|認証] タブを選択します。
  6. [新規] をクリックします。
  7. 新しいプロバイダ名を入力し、タイプには [DBMSDigestIdentityAsserter] を選択します。
  8. [OK] をクリックします。
  9. プロバイダのリストから新しいプロバイダ名を選択します。
  10. 右ペインで [コンフィグレーション|永続性] タブを選択します。
  11. [コンフィグレーション] タブで、RDBMS サーバとダイジェスト認証の情報を各フィールドに次のように入力します。
    • [Data Source Name]: パスワード情報のアクセスに使用する JDBC データ ソースの名前を入力します。
    • [SQLGet Users Password]: データベースからパスワードまたはハッシュ値を取得するときに使用する SQL 文を入力します。単一のレコードの結果セットを返す SQL 文であることが必要です。
    • [SQLList Member Groups]: 指定したユーザ名からグループ情報を取得する SQL 文を入力します。ユーザ名は SQL 文に対して変数として渡します。たとえば、「SELECT G_NAME FROM groupmembers WHERE G_MEMBER = ?」のようにします。
    • [Password Encryption Type]: パスワードが格納されている形式を、[PLAINTEXT]、[PRECALCULATEDHASH]、[REVERSIBLEENCRYPTED] のいずれかから選択します。
    • [Encryption Algorithm]: 暗号化したパスワードを格納した場合は、ダイジェスト ID アサーション プロバイダが逆暗号化に使用する暗号化アルゴリズムを入力します。
    • [Encryption Key] と [Please type again to confirm]: 暗号化されたパスワードを格納した場合は、逆暗号化アルゴリズムの中で使用される Base64 暗号化キーを入力します。
    • [Encryption Init Vector] と [Please type again to confirm]: 暗号化されたパスワードを格納した場合は、逆暗号化アルゴリズムの中で使用される Base64 初期ベクタを入力します。
    • [Digest Realm Name]: ダイジェスト認証で使用するレルム名を入力します。
    • [Digest Algorithm]: ダイジェストの暗号化に使用するアルゴリズムとして [MD5] または [MD5-sess] を選択します。
    • [Digest Timeout]: ダイジェスト チャレンジの nonce タイムアウト値を定義します。クライアントから応答がないままに nonce タイムアウトに達した場合は、新しい nonce でクライアントに対して改めてチャレンジが送信されます。デフォルトでは 120 秒に設定されています。
  12. [保存] をクリックして変更内容を保存します。

 


組み込み LDAP を使用したダイジェスト認証のコンフィグレーションのサンプル

Oracle Communications Converged Application Server の組み込み LDAP 実装を利用すると、テストまたはデモ環境でダイジェスト認証を使用できます。組み込み LDAP ストアのスキーマは変更できないので、既存の「記述」フィールドにパスワード情報を格納する必要があります。

組み込み LDAP ストアをダイジェスト認証に使用するには、以下の節の手順に従います。

記述フィールドへのユーザ パスワード情報の格納

新しいユーザを作成し、既存の「記述」フィールドにパスワード情報を格納するには、次の手順に従います。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [ユーザおよびグループ|ユーザ] タブを選択します。
  5. [新規] をクリックします。
  6. [名前] フィールドに、新しいユーザの名前を入力します。
  7. [記述] フィールドに、このユーザのダイジェストのパスワード情報を入力します。パスワード情報は、クリアテキスト パスワード、計算済みのハッシュ値、または逆暗号化パスワードのいずれかとします。
  8. [パスワード] フィールドと [パスワードの確認] フィールドに、8 文字のパスワードを入力します。標準のパスワード エントリを追加しないと、次へ進むことはできません。
  9. [OK] をクリックします。

組み込み LDAP のパスワードの設定

次の手順に従って、組み込み LDAP ストアのパスワードを既知のパスワードに設定します。「LDAP ダイジェスト ID アサーション プロバイダのコンフィグレーション」で説明するように、ダイジェスト ID アサーション プロバイダをコンフィグレーションするときにこのパスワードを使用します。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. 左ペインで、コンフィグレーションするドメイン名 (たとえば、mydomain) をクリックします。
  3. 右ペインで、[Security|Embedded LDAP] を選択します。
  4. 使用するパスワードを、[資格] フィールドと [資格の確認] フィールドに入力します。
  5. [保存] をクリックします。
  6. サーバを再起動します。

ダイジェスト ID アサーション プロバイダのコンフィグレーション

コード リスト 2-1 は、Oracle Communications Converged Application Server の組み込み LDAP 実装を使用するドメインの config.xml のセキュリティ プロバイダ コンフィグレーションを示します。このようなコンフィグレーションはテスティングや開発のみを目的とする場合に適しています。コード リスト 2-1 には、「LDAP ダイジェスト ID アサーション プロバイダのコンフィグレーション」に示す手順にしたがってプロバイダをコンフィグレーションする時に定義する必要がある値について説明します。

コード リスト 2-1 組み込み LDAP を使用したセキュリティ プロバイダ コンフィグレーションのサンプル
<sec:authentication-provider xmlns:ext="http://www.bea.com/ns/weblogic/90/security/extension" xsi:type="ext:ldap-digest-identity-asserterType"> 
        <sec:name>myrealmLdapDigestIdentityAsserter</sec:name>
        <ext:user-base-dn>ou=people, ou=myrealm, dc=mydomain</ext:user-base-dn>
        <ext:credential-attribute-name>説明</ext:credential-attribute-name>
        <ext:digest-realm-name>wlss.oracle.com</ext:digest-realm-name>
        <ext:host>myserver.mycompany.com</ext:host>
        <ext:port>7001</ext:port>
        <ext:principal>cn=Admin</ext:principal>
      </sec:authentication-provider>

  ページの先頭       前  次