ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Manager管理者ガイド
11g リリース1(11.1.1)
B62265-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

E OAM 11gとの安全な通信

この付録では、OAM 11gサーバーとOAMエージェントがNetPoint Access Protocol(NAP)チャネル(Oracle Access Manager Protocolチャネルとも呼ばれます)を介して確実に安全に通信するために必要な情報と手順について説明します。この章の内容は次のとおりです。

前提条件

OAMサーバーが実行中であることを確認してください。

OAM 11gサーバーとWebGate間の安全な通信の概要

OAMサーバーとWebGateエージェント間の安全な通信とは、NAPチャネルに対しトランスポート・セキュリティ・モードを定義することです。

NAPチャネルでの安全な通信には、各OAMサーバーおよび各WebGateが次のいずれかの同じセキュリティ・モードを使用することが必要です。

図E-1に、ユーザー認証および認可中にOAMサーバーおよびWebGateにより使用される通信チャネルを示します。

図E-1 OAMサーバーおよびWebGateの通信チャネル

前後のテキストで図E-1を説明しています。

プロセスの概要: 認証および認可

  1. リクエストはWebGateにより捕捉されます。

  2. 認証(資格証明の集合)がHTTPチャネルを通じて発生します。

  3. OAMエージェントのみ(mod_ossoでない)で認証がNAPチャネルを通じて発生します。

Secure Sockets Layer(SSL)プロトコルを使用することで、HTTP(HTTPS)チャネルを通じた傍受と介入者攻撃の成功を防ぐことができます。SSLプロトコルはほとんどのWebサーバー製品およびWebブラウザの一部として含まれます。SSLはデジタル証明書を含む、効果および秘密鍵暗号化システムを使用します。Webサーバーまたはディレクトリ・サーバーに対するSSL通信の有効化についての詳細は、ベンダーのドキュメントを参照してください。

詳細は、次を参照してください。

証明書、認証局および暗号化鍵について

Oracle Access ManagerコンポーネントはPEM形式でのX.509デジタル証明書のみを使用します。PEMとはプライバシ強化メールのことであり、パスフレーズが必要です。

PEM(プライバシ強化メール)形式は秘密鍵、デジタル証明書、および信頼されている認証局(CA)に適しています。望ましいキーストア形式はJKS(Java KeyStore)形式です。

暗号化では、公開鍵は暗号化キーとして使用される、指定した認証局により提供された値です。公開鍵を使用するためのシステムは公開鍵インフラストラクチャ(PKI)と呼ばれます。公開鍵インフラストラクチャの一部として、認証局は登録局(RA)に問合せてデジタル証明書のリクエスタにより提供された情報を検証します。RAがリクエスタの情報を検証すると、CAは証明書を発行できます。

秘密鍵は公開鍵から導出できます。公開鍵および秘密鍵の組合せは非対称暗号と呼ばれ、メッセージおよびデジタル署名を効果的に暗号化するのに使用できます。

公開鍵インフラストラクチャにより、デジタル証明書は次のものに基づきWebベースのトランザクションの資格証明を確立します。

  • 証明書の所有者の名前

  • 証明書のシリアル番号

  • 証明書の有効期限

  • 証明書の所有者の公開鍵のコピー、これはメッセージおよびデジタル署名の暗号化に使用されます

  • 証明書を発行する認証局のデジタル署名が提供されて、受信者はその証明書が本物であることを確認できます

デジタル証明書はレジストリに格納でき、そこから認証ユーザーが他のユーザーの公開鍵を検索できます。

セキュリティ・モードおよびX509Scheme認証について

OAMサーバー構成は、OAMサーバーのエンド・ポイントとロード・バランサまたは逆プロキシのアカウントを定義します。HTTPSプロトコルを指定した場合、指定したサーバー・ポートをCLIENT CERTSと必要とするように構成してはいけません。これにより、ユーザーはX509以外のすべての認証スキームおよびログアウトに対してSSLでサーバーと対話できます。

X509Moduleは対応する認証スキームが構成されている場合に資格証明の集合の後に呼ばれます。

X509認証スキーム(X509Scheme)にはX509チャレンジ方法およびX509認証モジュールが必要です。X509モジュールはX509Schemeが使用されるときに資格証明の集合の後に呼ばれます。

X509Schemeが認証スキームとして指定され、ユーザーが資格証明を要求されなければならない場合は、資格証明コレクタへの完全修飾URLを認証スキームのチャレンジURLパラメータとして指定する必要があります。たとえば、https://<oam_server>:<ssl_port>/oam/CredCollectServlet/X509です。


注意:

X509Schemeを指定する場合、OAMサーバーの指定したSSLポートはサーバー・ポートとは別である必要があり、クライアント証明書を必要とするように構成される必要があります。

指定したSSLポートはサーバー・ポートとは別である必要があり、CLIENT CERTSを必要とするように構成される必要があります。相対的なチャレンジURLを指定した場合、OAMサーバーは指定したサーバー・ポート/ホスト/ポートを使用してX509資格証明コレクタの完全修飾URLを構築します。ただし、この構成は動作しません。

OAMサーバーにHTTPとHTTPSの両方でアクセス可能な場合、すべてのリクエスト(いずれのトランスポート経由でも)が受け入れられます。管理者はOAMサーバー構成で指定したトランスポート経由でのみOAMサーバーにアクセス可能にする必要があります。

OAM 11gの証明書モード通信の構成

この項では、OAM 11gの証明書モード通信の構成方法について説明します。

次のタスクは証明書モードにのみ適用されます。簡易モードでは、バンドルされたOAM-CA署名付き証明書が使用されて、次のタスクのほとんどは必要ありません。

タスク概要: OAMサーバーの証明書の追加には次のものが含まれます。

  1. 「証明書モードの暗号化およびファイルについて」の確認

  2. 秘密鍵、証明書リクエストの生成、OAMサーバーの証明書のインストール

  3. カスタムWLSTコマンドを使用したOAMキーストア別名およびパスワードの取得

  4. CA署名付き証明書のキーストアへのインポート

  5. 証明書詳細のOAM共通サーバー・プロパティへの追加

  6. 秘密鍵、証明書リクエストの生成、WebGateの証明書の取得

  7. 証明書を使用するようにWebGateをアップグレード

証明書モードの暗号化およびファイルについて

WebGateの証明書リクエストでは、リクエスト・ファイルaaa_req.pemが生成されます。このWebGate証明書リクエストを、OAMサーバーによって信頼されているルートCAに送信する必要があります。ルートCAはWebGate証明書を戻し、その後、10g WebGateのインストール中または後のいずれかでインストールできます(11g WebGateの場合、WebGateのインストールおよび構成後にWebGateインスタンス領域に手動でコピーする必要があります)。

  • aaa_key.pem

  • aaa_cert.pem

  • aaa_chain.pem

証明書モードでのコンポーネントのインストール中に、外部CAから取得した証明書が存在するかどうかを尋ねられます。証明書をまだ所有していない場合、リクエストできます。証明書を受領するまでは、WebGateを簡易モードで構成できます。証明書が発行されインストールされるまで、OAMデプロイメントは完了できません。

OAMエージェントの登録時に証明書モードを選択すると、エージェント・キー・パスワードを入力するフィールドが表示されます。11g WebGate登録の編集時に、モードがオープンから証明書へ、または簡易から証明書へ変更される場合にのみpassword.xmlが更新されます。証明書モードでは、一度生成されるとpassword.xmlは更新できません。エージェント・キー・パスワードを編集しても、新しいpassword.xmlは生成されません。

証明書リクエストを作成し、CAに送信する必要があります。証明書が戻されると、それをOAMサーバーにインポート(またはWebGateにコピー)する必要があります。

秘密鍵、証明書リクエストの生成、OAMサーバーの証明書のインストール

次の手順を使用して、秘密鍵、証明書およびOAMサーバーのCA証明書を取得します。


注意:

10gと11gの登録間の一貫性を保つための認証ツールはopenSSLです。証明書およびキーをPEM形式で生成するには、他のツールではなくopenSSLを使用することをお薦めします。

OAM 11gサーバーの秘密鍵および証明書を取得する手順

  1. 次のような証明書リクエスト(aaa_req.pem)および秘密鍵(aaa_key.pem)の両方を生成します。

    openssl req -new -keyout aaa_key.pem -out aaa_req.pem -utf8 -nodes
    
  2. 証明書リクエスト(aaa_req.pem)と信頼されているCAに送信します。

  3. base64でのCA証明書をaaa_chain.pemとしてダウンロードします。

  4. base64およびDER形式の両方での証明書をaaa_cert.pemおよびaaa_cert.derとしてダウンロードします。

  5. 次のようにパスワードを使用して秘密鍵(aaa_key.pem)を暗号化します。

    openssl rsa -in aaa_key.pem -passin pass: -out aaa_key.pem -passout pass: 
    ******** -des 
    
  6. 「カスタムWLSTコマンドを使用したOAMキーストア別名およびパスワードの取得」に進みます。

カスタムWLSTコマンドを使用したOAMキーストア別名およびパスワードの取得

有効なOAM管理者証明書を持つユーザーは、次のタスクを実行して、証明書のインポートに必要なキーストア別名およびパスワードを取得できます。

OAMキーストア・パスワードを取得する手順

  1. OAM管理コンソールが実行中であることを確認してください。

  2. OAM管理コンソールをホストしているコンピュータで、キーストア・パスワードの取得時に使用するOAMインストール・パスのWebLogic Scripting Toolを探します。例:

    $ORACLE_IDM/common/bin/

    ここで、$ORACLE_IDMはOAM 11gのベース・インストール・ディレクトリで、/common/binはスクリプト・ツールが置かれているパスです。

  3. WebLogic Scripting Toolを開始します。

    ·/ wlst.sh
    
  4. WLSTシェルで、接続するコマンドを入力してからリクエスト情報を入力します。例:

    wls:/offline> connect() 
    Please enter your username [weblogic] :  
    Please enter your password [welcome1] :
    Please enter your server URL [t3://localhost:7001] :
    wls:/base_domain/serverConfig>
    
  5. 次のコマンドを入力して、場所を読取り専用のdomainRuntimeツリーに変更します(ヘルプを表示するにはhelp(domainRuntime)を使用します)。例:

    wls:/OAM_AC> domainRuntime() 
    
  6. 次のコマンドを入力して、OAMキーストアの証明書をリストします。例:

    wls:/OAM_AC/domainruntime> listCred(map="OAM_STORE",key="jks")
    

    ここで、OAM_STOREはOAMキーストアの名前を示します。

  7. 表示されるOAMキーストアのパスワードは、証明書のインポートに必要なため、最新の注意を払ってください。

  8. 「CA署名付き証明書のキーストアへのインポート」に進みます。

CA署名付き証明書のキーストアへのインポート

Oracle Access Manager 11gに関連付けられたキーストアはPEM形式の証明書のみを受け入れます。

PEM形式の認証局(CA)によりすでに証明書に署名されている場合、次の手順はOAM 11gに附属しているkeytool importcertツールを使用して証明書をインポートする方法を説明します。ツールにバンドルされているReadmeファイルにキーストアの証明書をインポートする手順が記載されています。


注意:

PEM形式の証明書が使用できない場合、証明書リクエストを作成し、CAに署名してもらいます。

次にJDKバージョン6のkeytoolを使用するための手順を示します。異なるバージョンのkeytoolの場合、そのJDKバージョンのドキュメントを参照してください。


注意:

keytoolユーティリティを使用する場合、デフォルトの鍵ペア生成アルゴリズムはデジタル署名アルゴリズム(DSA)です。ただし、OAMおよびWebLogic ServerはDSAをサポートしないので、別の鍵ペア生成および署名アルゴリズムを指定する必要があります。

前提条件

カスタムWLSTコマンドを使用したOAMキーストア別名およびパスワードの取得

キーストアに証明書をインポートする手順

  1. 次のパスでOAM 11gのimportcertツールを探します。

    $ORACLE_IDM/oam/server/tools/importcert

  2. importcert.zipを解凍しReadmeファイルを探します。

  3. 環境に応じた次のコマンドおよび詳細を使用して信頼された証明書チェーンをインポートします。

    keytool -importcert -file aaa_chain.pem - trustcacerts -storepass <password> 
    -keystore <MW_HOME>/user_projects/domains/domain_name/config/fmwconfig/ 
    .oamkeystore -storetype JCEKS 
    
  4. 秘密鍵(aaa_key.pem)および署名付き証明書(aaa_cert.pem)を、openSSLまたはその他のツールを使用してDER形式に変換します。例:

    openssl pkcs8 -topk8 -nocrypt -in aaa_key.pem -inform PEM -out aaa_key.der  
    -outform DER
    

    aaa_cert.derがない場合は次を実行します。

    1. 次のコマンドを入力します。

      openssl x509 -in aaa_cert.pem -inform PEM -out aaa_cert.der -outform DER
      -outform DER
      
      
    2. TextPadを使用してaaa_chain.pemを編集し、CERTIFICATEブロック内に含まれるデータを除くすべてのデータを削除し、そのファイルを新しい場所に保管して元のファイルを保持します。

      -----BEGIN CERTIFICATE-----
      ...
      CERTIFICATE
      ...
      -----END CERTIFICATE-----
      
  5. キーストアに署名付きPEM形式の証明書をインポートします。例:

    1. 次のパスでOAM 11gのimportcertツールを探します。

      $ORACLE_IDM/oam/server/tools/importcert

    2. importcert.zipを解凍しReadmeファイルを探します。

    3. 環境に応じた次のコマンドライン引数および詳細を使用して署名付きのPEM形式の証明書をインポートします。

      - java -cp importcert.jar:$CLASSPATH oracle.security.am.common.tools.importcerts.CertificateImport -keystore <> -keystorepassword <> -privatekeyfile <> -signedcertificate <> -alias 
      [-aliaspassword <>]
      
  6. 「証明書詳細のOAM共通サーバー・プロパティへの追加」に進みます。

証明書詳細のOAM共通サーバー・プロパティへの追加

証明書をキーストアにインポートした後、以前に取得した別名およびパスワードを、Oracle Access Manager 11g管理コンソールで各OAMサーバー構成のOAMプロキシ・セクションに追加する必要があります。

Secure Sockets Layer(SSL)プロトコルは通常インターネット上のセキュアな通信を管理するために使用されます。OAMサーバーとWebGate間の通信を保護するためにSSLプロトコルを使用することで、傍受と介入者攻撃の成功を防ぐことができます。SSLプロトコルはほとんどのWebサーバー製品およびWebブラウザ(MicrosoftおよびNetscapeなど)の一部として含まれます。SSLはデジタル証明書を含む、公開および秘密鍵暗号化システムを使用します。


注意:

簡易モードには明示的な構成は必要なく、OAM 11gでは即時可能な状態で提供されます。

前提条件

CA署名付き証明書のキーストアへのインポート

証明書詳細のOAMサーバー構成への追加

  1. Oracle Access Manager 11g管理コンソールで、「システム構成」タブをクリックします。

  2. 「システム構成」タブのナビゲーション・ツリーで「サーバー・インスタンス」をダブルクリックし、「OAMサーバー共通プロパティ」ページを表示します。

  3. 「OAMプロキシ」タブをクリックします。

  4. 「CA署名付き証明書のキーストアへのインポート」の手順5cで取得した別名および別名パスワード詳細を、次の例のいずれかのように入力します。

    簡易モード構成

    グローバル・パスフレーズ: simple_passphrase

    証明書モード構成

    PEMキーストア別名: my_keystore_alias

    PEMキーストア別名のパスワード: my_keystore_alias_pw

  5. 「適用」をクリックして構成を保存します。

  6. ページを閉じます。

  7. OAMサーバー登録ページを開き、「プロキシ」タブをクリックし、プロキシ・モードを「証明書」に変更して「適用」をクリックします。

  8. OAMサーバーを再起動します。

  9. 「秘密鍵、証明書リクエストの生成、WebGateの証明書の取得」に進みます。

秘密鍵、証明書リクエストの生成、WebGateの証明書の取得

次の手順を使用して、秘密鍵、証明書およびWebGateのCA証明書を取得します。


注意:

10gと11gの登録間の一貫性を保つための認証ツールはopenSSLです。証明書およびキーをPEM形式で生成するには、他のツールではなくopenSSLを使用することをお薦めします。

WebGateの秘密鍵および証明書を取得する手順

  1. 次のような証明書リクエスト(aaa_req.pem)および秘密鍵(aaa_key.pem)の両方を生成します。

    openssl req -new -keyout aaa_key.pem -out aaa_req.pem -utf8 -nodes
    
  2. 証明書リクエスト(aaa_req.pem)を信頼されているCAに送信します。

  3. base64でのCA証明書をaaa_chain.pemとしてダウンロードします。

  4. base64形式での証明書をformat as aaa_cert.pemとしてダウンロードします。

  5. 次のようにパスワードを使用して秘密鍵(aaa_key.pem)を暗号化します。

    openssl rsa -in aaa_key.pem -passin pass: -out aaa_key.pem -passout pass: 
    ******** -des 
    
  6. 「証明書を使用するようにWebGateをアップグレード」に進みます。

証明書を使用するようにWebGateをアップグレード

すべての通信モード(オープン、簡易または証明書)で、エージェント登録はOAM管理コンソールから更新する必要があります。

OAMエージェントの登録時に証明書モードを選択すると、エージェント・キー・パスワードを入力するフィールドが表示されます。11g WebGate登録の編集時に、モードがオープンから証明書へ、または簡易から証明書へ変更される場合にのみpassword.xmlが更新されます。証明書モードでは、一度生成されるとpassword.xmlは更新できません。エージェント・キー・パスワードを編集しても、新しいpassword.xmlは生成されません。

前提条件

証明書詳細のOAM共通サーバー・プロパティへの追加

WebGateエージェント登録の通信モードを更新する手順

  1. 「システム構成」タブで、「エージェント」ノードを開きます。

  2. 「OAMエージェント」を開き、「11g Webゲート」(または「10g Webゲート」)を開いてから、目的のエージェント名をダブルクリックします。

  3. エージェントの登録ページで「セキュリティ」オプションを探して「証明書」(または「簡易」)をクリックします。

  4. 証明書モード: 「秘密鍵、証明書リクエストの生成、WebGateの証明書の取得」の手順5の指定に従いエージェント・キー・パスワードを入力します。

  5. 「適用」をクリックして変更を送信します。

  6. 次のように更新されたWebGateをコピーします。


    ObAccessClient.xml
    cwallet.sso
    password.xml
    • コピー元: IDM_DOMAIN_HOME/output/AGENT_NAME

    • コピー先: OHS_INSTANCE_HOME/config/OHS/ohs2webgate/config

  7. 次のようにファイル(「秘密鍵、証明書リクエストの生成、OAMサーバーの証明書のインストール」で作成)をコピーします。


    aaa_key.pem
    aaa_cert.pem
    aaa_chain.pem
    • コピー元: IDM_DOMAIN_HOME/output/AGENT_NAME

    • コピー先: OHS_INSTANCE_HOME/config/OHS/ohs2webgate/config

  8. OAMサーバーおよびOracle HTTP Serverインスタンスを再起動します。

OAM 11gの簡易モード通信の構成

トランスポート・セキュリティ通信モードはOAMのインストール中に選択されます。簡易モードが選択されると、最初にインストーラはランダムなグローバル・パスフレーズを生成し、後で必要に応じて編集できます。

OAMエージェントまたは新しいOAMサーバーを登録するときにモードを指定できます。しかし、グローバル・パスフレーズの変更には、簡易モードを使用するすべてのエージェントと新しいグローバル・パスフレーズの再構成が必要です。

エージェントの登録中に、少なくとも1つのOAMサーバー・インスタンスがエージェントと同じモードで実行していることが必要です。そうでないと、登録は失敗します。ただし、エージェントの登録後、OAMサーバーの通信モードを変更できます。エージェントとサーバー間の通信は、WebGateモードが少なくともOAMサーバーと同じかまたは高ければ動作を継続します。エージェント・モードは高くてもかまいませんが、低くてはいけません。

この項では、OAM 11gの簡易モード通信の構成に必要な情報を提供します。

タスク概要: OAM 11gの簡易モード通信の構成には次のことが含まれます

  1. 「簡易モード、暗号化および鍵について」の確認

  2. 簡易モード用WebGate登録の更新

  3. 簡易モード構成の検証

簡易モード、暗号化および鍵について

簡易モード暗号化の場合、Oracle Access Managerでは認証がその固有の秘密鍵と同梱され、すべてのWebGateおよびOAMサーバーにインストールされます。各公開鍵に対し、対応する秘密鍵があり、Oracle Access Managerがaaa_key.pemファイルに格納しています。

\toolsサブディレクトリのopenSSLという名前のプログラムは、鍵ペアと簡易モードセキュリティ用の次のファイルを自動的に生成します。

  • cacert.pem証明書リクエスト、Oracle提供のopenSSL認証局による署名付き

  • password.xmlにはエージェントの登録中に指定された、曖昧な形式のランダム・グローバル・パスフレーズが含まれます。これはWebGateインスタンスの場所にコピーされる必要があります。

  • aaa_key.pemには秘密鍵(openSSLにより生成)が含まれます。

  • PEM形式の署名付き証明書aaa_cert.pem

トランスポート・セキュリティ通信モードはOAMのインストール中に選択されます。最初にインストーラはランダムなグローバル・パスフレーズを生成し、後で必要に応じて編集できます。

OAMエージェントをインストールするときに、CA証明書をリクエストできます。OAMエージェントまたは新しいOAMサーバーを登録するときに通信モードを指定する必要があります。しかし、グローバル・パスフレーズの変更には、簡易モードを使用するすべてのエージェントと新しいグローバル・パスフレーズの再構成が必要です。

簡易モード用WebGate登録の更新

簡易セキュリティ・モード用に生成されたアーティファクトはグローバル・パスフレーズを使用し、変更はWebGateに伝播される必要があります。WebGate登録を削除し、再登録する(簡易モードの指定およびポリシーの自動生成の無効化)、またはWebGate登録を編集してからここに記載の通りアーティファクトをコピーできます。

簡易モード用WebGate登録を更新する手順

  1. 「システム構成」タブで、「エージェント」ノードを開きます。

  2. 「OAMエージェント」を開き、「11g Webゲート」(または「10g Webゲート」)を開いてから、目的のエージェント名をダブルクリックします。

  3. エージェントの登録ページで「セキュリティ」オプションを探して「簡易」をクリックします。

  4. 「適用」をクリックして変更を送信します。

  5. 次のように更新されたWebGateをコピーします。


    ObAccessClient.xml
    cwallet.sso(11g WebGateのみ)
    password.xml
    • コピー元: $WLS_DOMAIN_HOME/output/AGENT_NAME(OAM AdminServerがインストールされたWebLogicドメイン・ホーム)

    • コピー先: OHS_INSTANCE_HOME/config/OHS/ohs2webgate/config

  6. ここでの指示に従い、次のファイルをコピーします。


    aaa_key.pem
    aaa_cert.pem
    • コピー元: IDM_DOMAIN_HOME/output/AGENT_NAME

    • コピー先: OHS_INSTANCE_HOME/config/OHS/ohs2webgate/config/simple

  7. OAMサーバーおよびOracle HTTP Serverインスタンスを再起動します。

簡易モード構成の検証

簡易モードへの変更をインスタンス化するためにWebサーバーを再起動する必要があります。次にその結果を検証できます。

簡易モードの変更を検証する手順

  1. コマンドライン・ウィンドウからWebサーバーを再起動します。例:

    d:\middleware\ohs_home\instances\ohs_webgate11g\bin
    opmnctl stopall
    opmnctl startall
    
  2. ブラウザ・ウィンドウで、簡易モードを使用してWebGateにより保護されているリソースへのURLを入力します。

  3. 求められたら、ログイン資格証明を入力します。

  4. リソースが実行中であることを確認してください。