ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Contentの管理
11g リリース1 (11.1.1)
B72425-01
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次

前
 
次
 

22 追加のコンテンツ・サーバーのセキュリティ接続

この章では、コンテンツ・サーバーで使用する追加のセキュリティ接続オプションについて説明します。

この章の内容は、次のとおりです。

22.1 プロキシ接続

プロキシ接続、またはコンテンツ・サーバー・インスタンス間の接続を使用すると、次の機能により、コンテンツ・サーバーのセキュリティ・レベルが向上します。

名前付きパスワード接続とHTTPベースのコンテンツ・サーバー接続の両方が使用できますが、多くの場合、どちらかのタイプの接続を使用する方が便利です。どちらのタイプの接続でも、資格証明マッピングによりセキュリティが向上します。


注意:

1つのサイトに複数のContent Serverインスタンスが存在できますが、各Content Serverインスタンスはその固有のOracle WebLogic Serverドメインにインストールされる必要があります。


コンテンツ・サーバーでは、ProxyConnectionsコンポーネントはデフォルトでインストールされ、有効化されています。典型的なプロキシ接続の使用例には、次のものがあります。

22.2 資格証明マッピング

資格証明マップは、コンテンツ・サーバー・インスタンスにより使用される資格証明の、リモート・システムで使用される資格証明へのマッピングであり、これにより、そのシステムでの指定されたリソースへの接続方法がコンテンツ・サーバー・インスタンスに通知されます。管理者はユーザー、ロールおよびアカウントに複数の資格証明マップを作成できます。資格証明マッピングは、プロキシのシナリオで有用な場合があります。たとえば、あるContent Serverインスタンスで作成されたユーザー、ロールまたはアカウントの資格証明を、別のContent Serverインスタンスのユーザー、ロールまたはアカウントにマップできるため、ユーザーは、1つまたは複数のContent Serverインスタンスの情報への制御されたアクセスを許可されます。

この項の内容は次のとおりです。

22.2.1 資格証明マッピングについて

資格証明マップを作成する際には、マップの一意識別子、およびユーザー、ロールやアカウントの固有の資格証明値を入力します。プロキシ接続では、ユーザー資格証明が入力値に一致すると、出力値で指定した資格証明がユーザーに付与されます。ユーザー資格証明は次の順序で評価されます。

  1. すべてのロール。

  2. すべてのアカウント。

  3. ユーザー名。

変換の実行後、ユーザーは入力値から正常にマップされた属性値のみを持ちます。

資格証明マップを作成したら、送信プロバイダの構成時に、名前付きパスワード接続とともに資格証明マップを指定できます。ユーザー・プロバイダ(LDAPなど)の構成時にも資格証明マップを指定できます。

LDAPプロバイダのデフォルトの動作では、guestロールは自動的にユーザーに割り当てられません。

資格証明マッピングの実装は、Oracle WebCenter ContentのWebサーバー・プラグインで複製されます。最適なパフォーマンスを実現するために設計および実装されているため、マッピングでの変更はすぐに適用されます(変更内容はキャッシュされ、最大で2、3分間はコンテンツ・サーバー・インスタンスに反映されない、NTやNT管理者インタフェースを使用するADSIユーザー記憶域のパフォーマンスと比較できます)。


注意:

コンテンツ・サーバー・インスタンス以外の資格証明マッピングの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発』の資格証明マッピング・プロバイダに関する説明を参照してください。


22.2.2 資格証明値

ロールまたはユーザー名の場合、資格証明の入力値は、完全一致である場合に一致します。入力アカウント値は、フィルタの場合を除き、いずれかのユーザー・アカウントに接頭辞がある場合に一致します(22.2.3項「アカウントおよびロールの一致」を参照してください)。たとえば、次の資格証明値により、adminロールを持つすべてのユーザーがguestロールを持つユーザーに変更されます。

admin, guest

次の表に、資格証明値の基本的な構文を示します。

接頭辞または順序

ユーザー名

&


&name

ロール


admin

Account

@


@marketing

空のアカウント

@#none

@#none

すべてのアカウント

@#all

@#all

値を無視または値をコメントアウト

#


#comment

資格証明マップが割り当てられていない場合は、どの資格証明がデフォルトで適用されているかを表示できます。変更せずにすべてをマップする次のマッピングを使用します。このマッピングでは、まずすべてのロールがフィルタされ、次にすべてのアカウントがフィルタされます。

|#all|,%%
@|#all|,@%%

マッピング構文の詳細は、第22.2.3項を参照してください。


注意:

資格証明マップに、匿名ユーザーがコンテンツ・サーバーWebサイトに接続する際に付与される最小限の権限も割り当てられていない場合、ログイン済のユーザーが異常な動作を体験する可能性があります。たとえば、ACCESS DENIEDというレスポンスを受信するブラウザでは、一般的に匿名ユーザーに戻ります。特に、ドキュメントにアクセスできる場合やできない場合に、予期しない動きが発生する可能性があります(その場合に、ブラウザがユーザーの認証資格証明を送信するかしないかによって異なります)。NTLM認証は定期的に更新する必要があるため、これは特にNTLM認証に当てはまります。


22.2.3 アカウントおよびロールの一致

アカウントおよびロールの一致には特別なフィルタを使用できます。たとえば、アカウント・フィルタの構文は、アカウント値を接頭辞@|で開始し、|で終了することで指定されます(たとえば@|accountname|)。パイプ(|)はフィルタを介して値を処理するコマンド・リダイレクト演算子を表します。プロキシ接続の場合は、空白で区切られたアカウントのリストが指定されます。アカウントをダッシュ(-)で開始して、負の値を指定することもできます。ダッシュで開始されていない指定した任意のアカウント文字列がユーザー・アカウントの接頭辞である場合や、ダッシュで開始されているすべてのアカウント文字列がそのユーザー・アカウントの接頭辞ではない場合に、フィルタが一致します。


注意:

フィルタでは、アカウント@#allはマップされません。all accountsというアカウント値を明示的にマップするには、@#all, @#allマッピングを使用する必要があります。


ロールは、フィルタの先頭から@記号を削除することで、同じルールを使用して、マップできます。たとえば、次の入力値では、接頭辞visitorで開始されるロールを除くすべてのロールが取得されます。#allという式では、すべてのロールが一致することに注意してください。

|#all -visitor|, %%

22.2.3.1 入力値の参照

出力値の特別な配列%%を使用して、入力値を参照できます。たとえば、次のマッピングでは、接頭辞financialで開始されないすべてのアカウントは同じアカウントにマップされますが、先頭に接頭辞employee/が追加されます。

@|#all -financial|, @employee/%%

ユーザーのアカウントがmarketingの場合、マッピング後、ユーザーのアカウントはemployee/marketingになります。

22.2.3.2 権限レベル

カッコで囲まれた文字"R"、"W"、"D"、"A"を使用したアカウント指定に準拠することで、出力値のアカウントに特定の権限レベル(読取り、書込み、削除、すべて)を付与できます。たとえば、次の構文で、すべてのアカウントのすべての権限レベルを読取り権限に変更できます。

@|#all -financial|, @employee/%%(R)

22.2.3.3 置換

置換%%を適用する前に、接頭辞を削除すると便利な場合があります。構文%%[n]を使用して、置換のオフセットを指定できます。ここで、nは、%%式に入力値をマップする前に使用する開始のオフセットです。オフセットはゼロベースであるため、%%[1]では入力値の先頭の文字が削除されます。たとえば、すべてのロールから接頭辞DOMAIN1\を削除するには、次の式を使用します。

|domain1\|, %%[8]

この機能を使用して、接頭辞marketing/で開始されるすべてのアカウントを、接頭辞org1/mktで置換することもできます。この場合の式は次のようになります。

@|marketing/|, @org1/mkt/%%[10]

22.2.3.4 特殊文字

入力値で指定するのが困難な一般的ではない文字が、ロールに含まれている場合があります。エスケープ・シーケンス%xx(ここでxxはASCIIの16進数)を使用して、入力値に文字を指定できます。たとえば、#,& |@(シャープ、カンマ、アンパサンド、スペース、パイプ、アット)で始まるすべてのロールを取得するには、次の式を使用します。

|%35%2c%26%20%7c%40|, %%

22.2.4 プロキシ資格証明マップ

プロキシ資格証明マップは、最初の資格証明がユーザーに割り当てられた後に適用されます。このマッピング例では、(LDAPグループではなく)ユーザーに割り当てられたアカウント値が使用され、同じアカウント値が付与されています。

@|Public|,         @Public

(R)などの接尾辞を適用しない場合、マッピング前にアカウントが付与されていた権限はすべて、マッピング後も保持されます。LDAPマップによって割り当てられるデフォルトの権限から権限を降格する場合は、次の構成を試します。

@|Public|,         @%%(R)

%%は、接頭辞Publicと一致した入力アカウント値を表します。たとえば、ユーザーのアカウントがPublic/mysuffixであり、|Public|接頭辞フィルタによって取得される場合、%%の値はPublic/mysuffixになります。

22.2.5 資格証明マップの作成

資格証明マップを作成する手順は、次のとおりです。

  1. 新しいブラウザ・ウィンドウを開き、システム管理者としてコンテンツ・サーバー・インスタンスにログインします。

  2. 「管理」「資格証明マップ」を選択します。

  3. 「資格証明マップ」ページに、作成する資格証明マップの一意の識別子を入力します。

    コンテンツ・サーバー・インスタンスへの接続に、複数の名前付きパスワード接続を使用できます。それぞれの名前付きパスワード接続に、異なる資格証明マップを使用できます。

  4. 値を2列で入力します。列はカンマで区切り、値の各行の間には改行を使用します。最初の列では入力値を、2番目の列では出力値を指定します。

  5. 「更新」をクリックします。

NT統合を使用して取得したロールおよびアカウントに資格証明マップを適用するには、コンテンツ・サーバー構成エントリExternalCredentialsMapを、適用する資格証明マップの名前に設定します。

22.3 コンテンツ・サーバーへのセキュアな接続

コンテンツ・サーバー・インスタンスへのセキュアな接続は、着信リクエストにパスワードの保護を作成することでサポートできます。パスワードを保護すると、コンテンツ・サーバー・インスタンスは別のコンテンツ・サーバー・インスタンスと通信できます。

この項の内容は次のとおりです。

22.3.1 名前付きパスワード接続について

「プロキシ接続の認証/認可情報」画面を使用して、名前付きパスワードを作成できます。これは特定の接続に名前で割り当てるパスワードです。 各名前付きパスワードを関連付けられるのは、コンテンツ・サーバー・インスタンスへのダイレクト・ソケット通信と、コンテンツ・サーバー・インスタンスのWebサーバー(HTTPフィルタ)を制御することで実行される任意の通信の両方に対するホストおよびIPアドレス・フィルタです。外部エージェント(別のコンテンツ・サーバー・インスタンスのWebサーバーなど)でコンテンツ・サーバー・インスタンスと通信する必要がある場合、名前付きパスワード接続を使用できます。名前付きパスワード接続は、資格証明マップにも関連付けられるため、コンテンツ・サーバー・インスタンスにアクセスするユーザーの権限を引き下げることや変更することができます。

プロキシ接続のエントリ・フィールドは、送信ソケット・プロバイダおよび送信HTTPプロバイダを構成するためのフォームに提供されており、名前付きパスワード接続を指定できます(インスタンスに選択されているプロバイダを表示するには、「管理」「プロバイダ」の順に選択します)。

パスワードは、クライアント側の許可されているホストおよびIPアドレス・ワイルドカード・フィルタを使用してハッシュされます(SHA1メッセージ・ダイジェスト)。これは、格納されているパスワードのコピーが露呈した場合、ホストおよびIPアドレス・フィルタの両方を満たすクライアントからのアクセスのみが許可されることを意味します。

パスワードに有効期限を実装する場合は、関連する様々なサーバーの時計がかなり正確(最低数分以内)に同期している必要があります。


注意:

すべてのパスワードは、サーバーに送信される前にタイムアウト値でハッシュされます。これは、サーバーへの通信中にパスワード値が露呈した場合、有効期限(リクエストが発行された後の約15分)までの間のみパスワードが使用できることを意味します。また、前述した同じソース・ホストおよびIPアドレスからの再生攻撃でのみ、パスワードは使用できます。ファイアウォールで保護された内部ホストおよびIPアドレスが使用されていない場合は、その実行した攻撃者が主要なDNSサーバーのいずれかをハイジャックすることで、ホストおよびIPアドレスが偽装される可能性があります(少なくとも数件発生しています)。


22.3.2 プロキシ接続データのガイドライン

「プロキシ接続の認証/認可情報」ページに入力するデータにより、外部エージェントがコンテンツ・サーバー・インスタンスに接続する際に使用可能な異なるパスワードを定義できます。様々な理由 (メッセージ・ダイジェスト・アルゴリズムはクリア・テキスト・パスワードが使用されていないなど)で クライアントに対して利用できない可能性があるため、 外部エージェントに各ユーザーのパスワードの入力を要求するのではなく、プロキシ接続を使用します。これにより、ユーザーは単一の名前付き接続パスワードを使用して認証できます。各名前付きパスワード接続をルールにリンクし、コンテンツ・サーバー・インスタンスに接続できるホストを制限したり、ユーザーに付与される権限を制御できます。各名前付きパスワード接続は一意に識別されますが、呼出し側のエージェントはパスワードとともに識別子を指定する必要があります。

ホスト名およびIPアドレス・フィルタは、コンテンツ・サーバー・インスタンスへのダイレクト・ソケット接続を実行する際に、どのホスト名またはIPアドレスで名前付きパスワード接続の使用が許可されているかの判断に使用されます。フィルタの定義ルールは、システム・プロパティ・エディタに定義されているルールと同様です( 0または複数の一致を表す*およびいずれか一致を表す| のワイルドカード記号を使用して、柔軟なルールを作成できます)。エントリが空の場合には、ターゲット属性の制限はありません (次の2つのフィールドのどちらが関連するかによって、クライアントのホスト名またはIPアドレスのいずれかになります)。

「プロバイダ」ページを介して、次の2つのオプションが実装されます。

  • 送信プロバイダを追加する場合には、名前付きパスワード接続の使用、および(Webアクセスとセキュリティがリモート・サーバーを介して制御されるように)プロバイダを接続サーバーにするかどうかの選択のオプションがあります。

  • ユーザー・プロバイダ(LDAPなど)を追加した場合は、使用可能な資格証明マップの使用を選択できます。

資格照明マップは、「プロキシ接続の認証/認可情報」画面には定義されていません。資格証明マップの作成の詳細は、第22.2項を参照してください。

22.3.3 プロキシ接続の作成

プロキシ接続を作成する手順は、次のとおりです。

  1. 新しいWebブラウザ・ウィンドウを開き、システム管理者としてコンテンツ・サーバー・インスタンスにログインします。

  2. 「管理」「接続パスワード」を選択します。

  3. 「プロキシ接続の認証/認可情報」ページで、フィールドに情報を入力します。資格証明マップが存在する場合、既存の資格証明マップを使用することも、プロキシ接続用に作成することもできます。

  4. 「更新」をクリックします。

22.4 HTTPプロトコルを使用した接続

管理者はHTTPプロトコルを使用してコンテンツ・サーバー・インスタンス間のプロキシ接続を作成できます。たとえば、どちらもそれぞれの機能にアクセスするためのWebサーバーを持つ、2つのコンテンツ・サーバー・インスタンスを作成できます。多数のユーザーがコンテンツ・サーバー・インスタンスのいずれかにある情報へのアクセスにWebブラウザを使用する必要があるが、すべてのユーザーがそのサーバーに直接アクセスできるわけではない場合に、この機能は便利です。

コンテンツ・サーバー・アーカイブの転送には、HTTPプロトコルも便利です。HTTPプロバイダは、Secure Sockets Layer(SSL)を使用したHTTPSプロトコルと連携し、2つのコンテンツ・サーバー・インスタンス間のセキュアな通信を可能にします。

この項の内容は次のとおりです。

22.4.1 コンテンツ・サーバー接続用のHTTPプロトコルの使用について

管理者は、「プロバイダ」ページで構成可能なhttp送信プロバイダを実装でき、このプロバイダにより、コンテンツ・サーバー・インスタンス間の通信が可能になります。

http送信プロバイダの追加を選択した場合、次の追加のオプションがあります。

  • CGI URLの指定

  • 名前付きパスワード接続およびクライアントIPフィルタの指定

http送信HTTPプロバイダの選択を表示するには、コンテンツ・サーバー・ポータルから「管理」「プロバイダ」の順に選択します。

コンテンツ・サーバー・インスタンス間でプロキシ接続を作成するには、準備が必要です。コンテンツ・サーバー・インスタンスで、Webレイアウト・ディレクトリに、同じ相対Webルートを使用することはできません。サーバー間の追加のナビゲーション・リンクを提供するには、コンポーネント・アーキテクチャを一部変更する必要があります。

WebサーバーでSSLが使用され、その他のサーバーのフロント・エンドでHTTPが使用されている状態で、コンテンツ・サーバー・インスタンスを設定した場合、ユーザーがWebブラウザでその他のサーバーのURLを変更して、最初のサーバーへのアクセスを試行すると、HTTPS(資格証明が必要)とHTTP間の差異が原因で、エラーが発生する可能性があります。この問題を解決するには、コンテンツ・サーバーとともに入手可能なBrowserUrlPathコンポーネントを使用してください。詳細は、第23.2項を参照してください。

22.4.2 HTTPプロバイダの構成

HTTPプロバイダを構成する手順は、次のとおりです。

  1. 最初のコンテンツ・サーバー・インスタンスにhttp送信プロバイダを追加します。

    1. ブラウザで「管理」ページに移動し、「プロバイダ」をクリックします。

    2. htt送信プロバイダ・タイプの横の「追加」をクリックします。

    3. http送信プロバイダの必要な情報を入力します。詳細は、送信Httpプロバイダ・ページの表を参照してください。

  2. 前の手順で指定した名前付きパスワード接続および接続パスワードを使用する2番目のコンテンツ・サーバー・インスタンスにプロキシ接続を作成します。

    1. このサーバーで、「管理」「接続パスワード」の順に選択します。

    2. 接続に関する情報を入力します。IPアドレス・フィルタ・エントリには最初のサーバーのIPアドレスが含まれている必要があります。