![]() ![]() ![]() ![]() |
以下の節では、Client-Cert 認証を使用する Oracle Communications Converged Application Server をコンフィグレーションする方法について説明します。
Client-Cert 認証では、証明書やその他のカスタム トークンを使用してユーザを認証します。トークンは、サーブレットがデプロイされている Oracle Communications Converged Application Server セキュリティ レルムに属するユーザに「マッピング」されています。Client-Cert 認証を使用する SIP サーブレットは、sip.xml
デプロイメント記述子で auth-method
要素を CLIENT-CERT
に設定する必要があります。
Client-Cert 認証に使用するトークンを取得するには、次のような方法があります。
javax.servlet.request.X509Certificate
属性で参照できます。この方法による Client-Cert 認証の実行は最も一般的であり、SIP Servlet 仕様 (JSR-116) でも述べられています。Oracle Communications Converged Application Server には、X509 証明書の検証に使用できるセキュリティ プロバイダが 2 つあります。「Oracle Communications Converged Application Server での SSL と X509 のコンフィグレーション」を参照してください。WL-Proxy-Client-Cert
ヘッダに追加します。宛先の SIP サーブレットをホストするサーバは、この WL-Proxy-Client-Cert
ヘッダを使用して証明書を取得します。また、コンテナからサーブレットに対しては、リクエストの javax.servlet.request.X509Certificate
属性を通じて証明書が提供されます。
この方法を使用してクライアント トークンを提供するには、WL-Proxy-Client-Cert
ヘッダを使用できるように Oracle Communications Converged Application Server をコンフィグレーションする必要があります。「Oracle Communications Converged Application Server での WL-Proxy-Client-Cert のコンフィグレーション」を参照してください。また、X509 Id アサーション プロバイダもコンフィグレーションする必要があります。詳細については、「Oracle Communications Converged Application Server での SSL と X509 のコンフィグレーション」を参照してください。
SIP サーブレットでは、CLIENT-CERT auth-method
を使用して境界認証を実装することもできます。境界認証では、カスタム トークンの名前と値、およびカスタム セキュリティ プロバイダを使用してクライアントを認証します。境界認証を実装するために必要な手順の概要については、「カスタム ID アサーション プロバイダによる境界認証のサポート」を参照してください。
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 アサーション プロバイダのコンフィグレーション」を参照してください。
セキュリティ保護された SSL 接続を通じてクライアントから渡された X509 証明書を検証するように、デフォルト ID アサーション プロバイダをコンフィグレーションできます。デフォルト Id アサーション プロバイダには、デフォルト セキュリティ レルムでコンフィグレーションされたユーザに、対応するクライアントの「証明書」をマッピングするためのユーザ名マッパーが別個に必要です。Oracle Communications Converged Application Server に付属のデフォルト ユーザ名マッパーを使用することも、Oracle WebLogic Server 10g Release 3 ドキュメントの「WebLogic 資格マッピング プロバイダのコンフィグレーション」に説明する方法でカスタム ユーザ名マッパー クラスを作成することもできます。
次の手順に従って、デフォルト ID アサーション プロバイダをコンフィグレーションします。
デフォルト ユーザ名マッパーを使用するには、次の手順に従います。
X509 認証プロバイダを作成およびコンフィグレーションするには、次の手順に従います。
ldap1.mycompany.com:1050 ldap2.mycompany.com:1050
」のように指定します。
フェイルオーバのコンフィグレーションの詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「LDAP 認証プロバイダのフェイルオーバのコンフィグレーション」を参照してください。
0 以外の値を設定した場合、プロバイダは、指定した秒数だけ待機したうえで、別の接続を試みるための新しいスレッドを生成します。たとえば、この値を 2 に設定した場合、プロバイダはまず、[Host] リストの最初のコンフィグレーション済み LDAP サーバに接続を試みます。2 秒が経過した時点で接続がまだ確立されていない場合、プロバイダは、新しいスレッドを生成し、[Host] リストの 2 番目のコンフィグレーション済み LDAP サーバへの接続を試みます。以下同様に、コンフィグレーション済みの各 LDAP サーバに対する接続を試みます。
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
ヘッダを使用するようにサーバ インスタンスをコンフィグレーションするには、次の手順に従います。
個別の Web アプリケーションに対して WL-Proxy-Client-Cert
ヘッダを有効にするには、アプリケーションの sip.xml
デプロイメント記述子で com.bea.wcp.clientCertProxyEnabled
コンテキスト パラメータを true に設定します。
境界認証では、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 アサーション プロバイダ」を参照してください。
![]() ![]() ![]() |