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

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

Client-Cert 認証のコンフィグレーション

以下の節では、Client-Cert 認証を使用する Oracle Communications Converged Application Server をコンフィグレーションする方法について説明します。

 


Client-Cert 認証の概要

Client-Cert 認証では、証明書やその他のカスタム トークンを使用してユーザを認証します。トークンは、サーブレットがデプロイされている Oracle Communications Converged Application Server セキュリティ レルムに属するユーザに「マッピング」されています。Client-Cert 認証を使用する SIP サーブレットは、sip.xml デプロイメント記述子で auth-method 要素を CLIENT-CERT に設定する必要があります。

Client-Cert 認証に使用するトークンを取得するには、次のような方法があります。

SIP サーブレットでは、CLIENT-CERT auth-method を使用して境界認証を実装することもできます。境界認証では、カスタム トークンの名前と値、およびカスタム セキュリティ プロバイダを使用してクライアントを認証します。境界認証を実装するために必要な手順の概要については、「カスタム ID アサーション プロバイダによる境界認証のサポート」を参照してください。

 


Oracle Communications Converged Application Server での SSL と X509 のコンフィグレーション

Oracle Communications Converged Application Server には、X509 証明書に対して使用できる Id アサーション プロバイダが 2 種類用意されています。LDAP X509 ID アサーション プロバイダは、X509 証明書を受け取り、その証明書に関連付けられたユーザの LDAP オブジェクトを別の LDAP ストアでルックアップして、LDAP オブジェクトの証明書が提示された証明書と一致することを確認したうえで、LDAP オブジェクトからユーザの名前を取得します。デフォルト ID アサーション プロバイダは、コンフィグレーションに基づいてユーザをマッピングしますが、証明書の検証は行いません。

いずれのプロバイダの場合も、Oracle Communications Converged Application Server は、双方向 SSL を使用して、クライアントから提示されたデジタル証明書を検証します。Client-Cert 認証を使用するためには、SIPS トランスポート (SSL) がコンフィグレーションされていることが必要です。セキュア伝送をまだコンフィグレーションしていない場合は、『ネットワーク リソースのコンフィグレーション』の「Oracle Communications Converged Application Server のネットワーク リソースの管理」を参照してください。

デフォルト ID アサーション プロバイダをコンフィグレーションするには、「デフォルト ID アサーション プロバイダのコンフィグレーション」を参照してください。多くのプロダクション インストールでは、LDAP ストアが別個にあり、Client-Cert 認証を使用するように LDAP X509 ID アサーション プロバイダをコンフィグレーションする必要があります。詳細については「LDAP X509 ID アサーション プロバイダのコンフィグレーション」を参照してください。

デフォルト ID アサーション プロバイダのコンフィグレーション

セキュリティ保護された SSL 接続を通じてクライアントから渡された X509 証明書を検証するように、デフォルト ID アサーション プロバイダをコンフィグレーションできます。デフォルト Id アサーション プロバイダには、デフォルト セキュリティ レルムでコンフィグレーションされたユーザに、対応するクライアントの「証明書」をマッピングするためのユーザ名マッパーが別個に必要です。Oracle Communications Converged Application Server に付属のデフォルト ユーザ名マッパーを使用することも、Oracle WebLogic Server 10g Release 3 ドキュメントの「WebLogic 資格マッピング プロバイダのコンフィグレーション」に説明する方法でカスタム ユーザ名マッパー クラスを作成することもできます。

次の手順に従って、デフォルト ID アサーション プロバイダをコンフィグレーションします。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [プロバイダ|認証] タブを選択します。
  5. コンソールの右ペインで、コンフィグレーション済みプロバイダの表から [DefaultIdentityAsserter] を選択します。
  6. [コンフィグレーション|一般] ページでアクティブなタイプ テーブルの [選択可] カラムで X.509 を選択し、矢印をクリックして、[選択済み] カラムに移動します。
  7. [保存] をクリックして変更を適用します。
  8. カスタム Java クラスを使用して X509 証明書の名前と組み込みの LDAP ストアのユーザ名とをマッピングすることも、デフォルト ユーザ名マッパーを使用することもできます。ユーザ名のマッピングを実行するカスタム Java クラスを指定するには、次の手順に従います。
    1. [コンフィグレーション|Provider Specific] タブを選択します。
    2. カスタム クラスの名前を [ユーザ名マッパーのクラス名] フィールドに入力します。
    3. [保存] をクリックします。
    4. デフォルト ユーザ名マッパーを使用するには、次の手順に従います。

    5. [コンフィグレーション|Provider Specific] タブを選択します。
    6. [デフォルト ユーザ名マッパーを使用] をチェックします。
    7. [デフォルト ユーザ名マッパー属性タイプ] リストで、[CN (一般名)] または [E(電子メール アドレス)] のどちらかを、セキュリティ レルムに格納したユーザ名属性に応じて選択します。
    8. [デフォルト ユーザ名マッパー属性の区切り文字] フィールドで、デフォルトの区切り文字である @ をそのまま使用します。この区切り文字は、[E(電子メール アドレス)] の属性で使用し、クライアント トークンから電子メール部分を抽出します。たとえば、「joe@mycompany.com」のトークンは、デフォルト セキュリティ レルムでコンフィグレーションされたユーザ名「joe」にマッピングされます。
    9. [保存] をクリックします。

LDAP X509 ID アサーション プロバイダのコンフィグレーション

X509 認証プロバイダを作成およびコンフィグレーションするには、次の手順に従います。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. コンソールの左ペインで、[セキュリティ レルム] ノードを選択します。
  3. コンソールの右ペインで、セキュリティ レルム名を選択します。(例えば、「myrealm」)
  4. [プロバイダ|認証] タブを選択します。
  5. [新規] をクリックします。
  6. 新しいプロバイダ名を入力し、[LDAPX509IdentityAsserter] をタイプとして選択します。
  7. [OK] をクリックします。
  8. プロバイダのリストで、作成したプロバイダ名を選択します。
  9. [コンフィグレーション|Provider Specific] タブで、LDAP サーバ情報を各フィールドに以下のように入力します。
    • [ユーザ フィルタの属性] : Oracle Communications Converged Application Server が、指定のユーザ名の検索で使用する LDAP 検索フィルタを入力します。このフィルタは、下記の [証明書のマッピング] 属性で定義されたベース DN の下の LDAP オブジェクトに適用されます。
    • [ ユーザ名の属性] : ユーザ名を保持する LDAP 属性を入力します。
    • [証明書の属性] : ユーザ名に対応する証明書を保持する LDAP 属性を入力します。
    • [証明書のマッピング] : ユーザの LDAP オブジェクトの検索に使用される LDAP ベース DN を構築するクエリ文字列を指定します。
    • [ホスト] : 受け取った証明書を検証する 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] : 上記のプリンシパル名に対応する資格 (一般にはパスワード) を入力します。
    • [Confirm Credential] : プリンシパルの資格を再入力します。
    • [Cache Enabled] : 対応する LDAP サーバでキャッシュを使用するかどうかを指定します。
    • [Cache Size] : LDAP サーバからの結果の格納に使用するキャッシュのサイズを KB 単位で指定します。デフォルトのキャッシュ サイズは 32KB です。
    • [Cache TTL] : LDAP キャッシュ用の存続時間 (TTL) の値を秒単位で指定します。デフォルトの TTL 値は 60 秒です。
    • [Follow Referrals] : LDAP X509 ID アサーション プロバイダのユーザまたはグループの検索で、他の LDAP サーバまたは LDAP ディレクトリ内のブランチの照会先に従う場合は、このボックスをチェックします。
    • [Bind Anonymously On Referrals] : デフォルトでは、LDAP X509 ID アサーション プロバイダは、検索時に照会先に従う場合に、LDAP サーバへの接続に使用するものと同じ DN およびパスワードを使用します。匿名ユーザとして接続する場合は、このボックスをチェックします。
    • [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 サーバへの接続の再確立を試行する回数を指定します。
  10. [保存] をクリックして変更内容を保存します。
  11. 変更したセキュリティ コンフィグレーションを有効にするために、サーバを再起動します。

 


Oracle Communications Converged Application Server での WL-Proxy-Client-Cert のコンフィグレーション

Oracle Communications Converged Application Server が WL-Proxy-Client-Cert ヘッダを使用するためには、プロキシ サーバまたはロード バランサがクライアント リクエストに対応する X509 証明書をまず送信し、base-64 エンコーディングを使用して暗号化したうえで、得られたトークンを SIP メッセージの WL-Proxy-Client-Cert ヘッダに追加する必要があります。システムがそのようにコンフィグレーションされている場合には、ローカルの Oracle Communications Converged Application Server インスタンス (または個々の SIP サーブレット インスタンス) で、WL-Proxy-Client-Cert ヘッダを調べて、クライアント トークンをチェックできます。

WL-Proxy-Client-Cert ヘッダを使用するようにサーバ インスタンスをコンフィグレーションするには、次の手順に従います。

  1. コンフィグレーションする Oracle Communications Converged Application Server ドメインの Administration Console にログインします。
  2. 左ペインで、[環境|サーバ] ノードを選択します。
  3. コンフィグレーションするエンジン層サーバ名を選択します。
  4. 右ペインの [コンフィグレーション|一般] タブを選択します。
  5. [クライアント証明書プロキシを有効化] をチェックします。
  6. [保存] をクリックして変更内容を保存します。
  7. Oracle Communications Converged Application Server での SSL と X509 のコンフィグレーション」の手順に従って、X509 証明書を処理するデフォルト ID アサーション プロバイダまたは LDAP ID アサーション プロバイダをコンフィグレーションします。
  8. サーバを再起動して、変更したコンフィグレーションを有効にします。

個別の Web アプリケーションに対して WL-Proxy-Client-Cert ヘッダを有効にするには、アプリケーションの sip.xml デプロイメント記述子で com.bea.wcp.clientCertProxyEnabled コンテキスト パラメータを true に設定します。

 


カスタム ID アサーション プロバイダによる境界認証のサポート

境界認証では、WebLogic Server の外部にあるシステムがトークンを通じて信頼を確立します。通常このシステムでは認証エージェントを使用します。認証エージェントは、認証ユーザについての情報を後で確認するために提示が必要なアーティファクトまたはトークンを作成します。トークンの実際のフォーマットはベンダごとに異なります (たとえば SAML や SPNEGO など)。

Oracle Communications Converged Application Server では、1 つまたは複数のトークン フォーマットを認識するようにデザインされた ID アサーション プロバイダの使用による境界認証がサポートされています。SIP サーブレットの認証タイプが CLIENT-CERT に設定されている場合、Oracle Communications Converged Application Server の SIP コンテナは、リクエスト ヘッダからの値に対して ID アサーションを実行します。ヘッダの名前が、コンフィグレーションされたプロバイダのアクティブなトークンの種類に合致する場合、ID アサーション用のプロバイダに値が渡されます。

プロバイダは、ユーザ名マッパーを使用して、証明書をセキュリティ レルム内のユーザに解決します。クライアントのデジタル証明書のサブジェクトの識別名 (SubjectDN) 属性に対応するユーザが、サーバのセキュリティ レルムに定義されている必要があります。このユーザが定義されていない場合、WebLogic の保護リソースに対するクライアントからのアクセスは認められません。

境界認証用のクライアント証明書の受け渡しにカスタム トークンを使用するには、前述の LDAP X509 またはデフォルト ID アサーション プロバイダの代わりに、カスタムの ID アサーション プロバイダを作成およびコンフィグレーションする必要があります。境界認証で渡されたトークンを処理するプロバイダの作成の詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「ID アサーション プロバイダ」を参照してください。


  ページの先頭       前  次