プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Identity Management Suite統合ガイド
11g リリース2 (11.1.2.3.0)
E67361-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 統合されたIdMコンポーネントのためのSSLの構成

Oracle Access Management Access Manager、Oracle Identity ManagerおよびOracle Adaptive Access Managerなどのアイデンティティ管理コンポーネントを統合した後、これらのコンポーネント間の通信を保護するためにSSLを構成できます。

この章には次のトピックが含まれます:

4.1 統合されたIdMのためのSSLについて

IdM環境でSSLを有効にするための手順を使用する前に、一定の基本情報を認識する必要があります。

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

4.1.1 統合されたIdM環境に関する前提

この説明では、ここの手順を使用する前に考慮する必要がある一定の前提を示します。

前提は次のようになります。

  • Oracle Identity Manager (OIM)、Oracle Oracle Access Manager (OAM)およびOracle Adaptive Access Manager (OAAM)の各コンポーネントをインストールおよびスケール・アウトするために、次のガイドの手順を使用しました。

    • Oracle Identity and Access Managementインストレーション・ガイド

    • 高可用性ガイド

  • これらのSSLプロシージャを統合されたIdM環境のコンテキストで実行しています。つまり、OAM、OIMおよびOAAMを統合するために表1-2のロードマップをすでに使用しました。

  • Oracle Unified Directory (OUD)をアイデンティティ・ストアとして使用しています。統合されたIdM環境に対するOUDの構成は、このガイドの該当する章で説明されています。

4.1.2 エンドツーエンドIdM SSLのためのロードマップ

表4-1は、統合されたIdMコンポーネントのためのSSLワイヤリングを実装するステージを示しています。

表4-1 エンドツーエンドIdM SSLのためのロードマップ

手順 備考

管理対象サーバー用のクラスタリングの構成

このドキュメントの範囲外。IdMコンポーネントのクラスタリングの詳細は、高可用性ガイドを参照してください。

ドメイン・ホスティングOAMでのSSLの構成

第4.2項


ドメイン・ホスティングOIMでのSSLの構成

第4.3項


ドメイン・ホスティングOAAMでのSSLの構成

第4.4項


OUD用のSSLの構成

第4.5項


Oracle HTTP Server用のSSLの構成

第4.6項


統合されたIdMのための完全なSSL構成

第4.8項



4.2 OAMドメインでのサーバー上のSSLの構成

OAMドメインにあるすべてのサーバーのSSLを構成する手順:

  1. WebLogicコンソールにログインし、「環境」を開いて「サーバー」をクリックします。

  2. 構成するOAMサーバーを選択します。

  3. サーバーの設定」ページで、サーバー・プロパティの下で「SSLリスニング・ポートの有効化」ボックスを選択します。

    oam_ssl1.pngについては周囲のテキストで説明しています。
  4. 「保存」をクリックします。

  5. OAMコンソールにログインします。

  6. 「Access Managerの設定」タブをクリックします。

  7. 手順3で指定したサーバーSSLポートをポイントするように、OAMサーバー・ポートを更新します。OAMサーバー・プロトコルのhttpsプロトコルを選択します。

    idmig_ssl4.pngについては周囲のテキストで説明しています。
  8. 「適用」をクリックします。

  9. 次のように、oam-config.xml構成ファイルのセキュア・ポートを更新します。

    1. フォルダOAM_HOME/iam/common/binに移動し、wlstスクリプトを開始します。

    2. 管理者として接続します。

    3. 次のコマンドを実行します。

      updateOIMHostPort(hostName = "oimhost" , port = "4443", secureProtocol = "true") 
      

Oracle Access Manager環境でのSSLの構成の詳細は、『Oracle Access Management管理者ガイド』を参照してください。

4.3 Oracle Identity ManagerのSSLの構成

この項では、Oracle Identity Manager、およびOracle Identity Managerが相互作用して安全な通信を確立するコンポーネントのキーの生成、証明書への署名およびエクスポート、SSL構成の設定について手順を説明します。

この項には次のトピックが含まれます:


注意:

  • これらの手順を使用してOIM、同様にそのSOAサーバーの証明書を生成します。同じカスタム・アイデンティティ・ストアとトラスト・ストアは両方に使用可能です。

  • 第4.3.1項から第4.3.4項までは、手順において後で使用されるコマンド例を示します。これらは参照用であってサンプル値は必須ではありません。構成中はユーザーのデータを使用してください。

  • 様々な職務の分離(SoD)を目的としたSecure Sockets Layer (SSL)通信の有効化の詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のSSL通信の有効化に関する項を参照してください。

  • OIM環境の追加SSL構成については『Oracle Identity Managerの管理』を参照してください。


4.3.1 キーの生成

keytoolコマンドを使用して、秘密と公開の証明書のペアを生成できます。

構文は次のとおりです。

$JAVA_HOME/jre/bin/keytool -genkey -alias alias -keyalg algorithm -keysize key-size -dname DN -keypass key-password -keystore keystore-name -storepass keystore-password

次の例ではsupport.jksというアイデンティティ・キーストアを作成します。

$JAVA_HOME/jre/bin/keytool -genkey
-alias support
-keyalg RSA
-keysize 1024
-dname "CN=localhost, OU=Identity, O=MyCorp Corporation,C=US"
-keypass weblogic1 
-keystore support.jks
-storepass weblogic1

OIMの証明書を生成する際、CN属性では、OIMがデプロイされているマシン名を指定します。同様にSOAの証明書を生成する際、CN属性では、SOAがデプロイされているマシン名を指定します。次に例を示します。

-dname "CN=myhost.us.example.com, OU=Identity, O=Example Corporation,C=US"

注意:

  • keytoolコマンドに渡すパラメータ値は、個別の要件に応じて変更してください。keytoolの引数には改行が含まれないようにしてください。

  • JDK 7u40以降を使用している場合は、keysizeオプションの値を1024以上にする必要があります。この制限の詳細は、次のURLにアクセスして「Default x.509 Certificates Have Longer Key Length」の項を参照してください。

    http://www.oracle.com/technetwork/java/javase/7u40-relnotes-2004172.html


4.3.2 証明書への署名

作成した証明書に署名するには、keytoolコマンドを使用します。この例では、証明書とキーストアの両方のパスワードが同じです(weblogic1)。

$JAVA_HOME/jre/bin/keytool -selfcert -alias support
  -sigalg MD5withRSA -validity 2000 -keypass weblogic1
  -keystore support.jks
  -storepass weblogic1

注意:

keytoolコマンドに渡すパラメータ値は、個別の要件に応じて変更してください。keytoolの引数には改行が含まれないようにしてください。

4.3.3 証明書のエクスポート

アイデンティティ・キーストアからファイルに証明書をエクスポートするには、keytoolコマンドを使用します。

構文は次のとおりです。

$JAVA_HOME/jre/bin/keytool -export -alias alias -file file-to-export -keypass key-password -keystore keystore-name  -storepass keystore-password

たとえば、次のコマンドによって証明書が「supportcert.pem」というファイルにエクスポートされます。

$JAVA_HOME/jre/bin/keytool -export -alias support 
-file supportcert.pem -keypass weblogic1 -keystore support.jks -storepass weblogic1

注意:

keytoolコマンドに渡すパラメータ値は、個別の要件に応じて変更してください。keytoolの引数には改行が含まれないようにしてください。

4.3.4 証明書のインポート

ファイルから証明書をインポートするには、keytoolコマンドを使用します。

keytool -import -alias alias -trustcacerts -file file-to-import -keystore keystore-name -storepass keystore-password

この例では、証明書ファイルsupportcert.pemがパスワードweblogic1を使用してアイデンティティ・キーストアclient_store.jksにインポートされます。

keytool -import -alias serverwl -trustcacerts -file supportcert.pem -keystore client_store.jks -storepass weblogic1 

注意:

keytoolコマンドに渡すパラメータ値は、個別の要件に応じて変更してください。keytoolの引数には改行が含まれないようにしてください。

4.3.5 Oracle Identity ManagerおよびSOAサーバーのSSLの有効化

Oracle Identity ManagerおよびSOAサーバーをSSLモードで運用するために構成するには、次のタスクを実行する必要があります。

Oracle Identity Manager環境でのSSLの構成の詳細は、『Oracle Identity Managerの管理』を参照してください。

4.3.5.1 Oracle Identity ManagerのSSLの有効化

デフォルトのキーストア設定を使用して、または固有のキーストアを指定して、Oracle Identity ManagerのSSLを有効化できます。


注意:

カスタム・キーの生成の詳細は、『Oracle Identity Managerの管理』のキーの生成に関する項を参照してください。

特定のキーストアでOracle Identity ManagerのSSLを有効化する手順:

  1. WebLogic Server管理コンソールで、「環境」「サーバー」をクリックしてから、OIMサーバーを選択します。「サーバーの設定」ページで、「構成」タブ→「全般」をクリックします。

  2. 「ロックして編集」をクリックします。

  3. 「SSLリスニング・ポートの有効化」ボックスを選択します。デフォルトのポートは14001です。

    oim_ssl1.pngについては周囲のテキストで説明しています。

    「保存」をクリックします。

  4. 「キーストア」タブを選択します。

  5. 「キーストア」ドロップダウンから「カスタムIDとカスタム信頼」を選択します。

    oim_ssl2.pngについては周囲のテキストで説明しています。

    「保存」をクリックします。

  6. 「キーストア」タブに戻り、「カスタムIDキーストア」フィールドに、カスタムIDキーストア・ファイル名の絶対パスを入力します。次に例を示します。

    DOMAIN_HOME/config/fmwconfig/support.jks


    注意:

    • Oracle Identity Managerによってインストール中にDOMAIN_HOME/config/fmwconfig/に作成されるキーストアはdefault-keystore.jksです。

    • トラストストアにデフォルト名(default-keystore.jks)とは異なる名前を使用している場合は、次のステップを実行します。

      1. Oracle Identity Managerの資格証明ストア・マップ・キーを追加します。他の名前(support.jksなど)を使用している場合は、Oracle Enterprise Managerを使用して資格証明ストアにキーを作成します。

      2. oim-Config.xmlファイルでDirectDBの構成を変更します(MDSからこのファイルをエクスポート/インポートするか、Enterprise Managerを使用します)。後者の場合、「システムMBeanブラウザ」の「アプリケーション定義のMBeans」セクションで「XMLConfig」に移動し、たとえば次のようにSSLパラメータを変更します。

        SSLConfig dBTrustStore="support.jks"
        

  7. カスタムIDキーストア・タイプとして、JKSを指定します。

  8. 「カスタムIDキーストアのパスフレーズ」および「カスタムIDキーストアのパスフレーズを確認」のフィールドにパスワードを入力します。これは、第4.3.1項でキーを生成する際に-storepassプロパティに指定したパスワードと同じです(例: weblogic1)。

  9. 「カスタム信頼キーストア」フィールドに、カスタム信頼キーストア・ファイル名の絶対パスを入力します。次に例を示します。

    DOMAIN_HOME/config/fmwconfig/client_store.jks
    
  10. カスタム信頼キーストアのタイプとして「JKS」を指定します。

  11. 「カスタム信頼キーストアのパスフレーズ」および「カスタム信頼キーストアのパスフレーズを確認」のフィールドにパスワードを入力します。両方のフィールドに、第4.3.4項で証明書をインポートする際に-storepassプロパティに指定した同じパスワードを入力します(例: weblogic1)。

  12. 「保存」をクリックします。

  13. 「SSL」タブをクリックします。

  14. 秘密鍵の別名を入力します。これは、第4.3.1項でキーを生成する際に-aliasプロパティに指定した別名と同じです。

  15. 「秘密鍵のパスフレーズ」および「秘密鍵のパスフレーズを確認」のフィールドにパスワードを入力します。これは、第4.3.1項でキーを生成する際に-keypassプロパティに指定したパスワードと同じです(例: weblogic1)。

  16. 「詳細」をクリックします。

  17. 「ホスト名の検証」を「なし」に設定します。

  18. 「保存」をクリックします。

  19. 「変更のアクティブ化」をクリックします。

  20. 変更内容を有効にするためにすべてのサーバーを再起動します。

  21. SOAサーバー(soa_server1)について手順1 - 20を繰り返します。OIMサーバーのカスタム・アイデンティティ・ストアおよびカスタム・トラスト・ストア(それぞれ、support.jksおよびclient_store.jks)はSOAサーバーの同じ役割を果たすこともできるため、soa_server1のカスタム・アイデンティティ・ストアおよびカスタム・トラスト・ストアを再生成する必要はありません。かわりに、OIMのカスタム・アイデンティティ・ストアおよびカスタム・トラスト・ストアをSOAに再利用します。


注意:


Oracle Identity ManagerとSOAサーバーでSSLを有効にした後、これらの間での安全な通信を確立するために、次の変更を行います。

4.3.5.2 MBeansを使用したフロント・エンドURLの変更

フロント・エンドURLを次のように変更します。

  1. WebLogic管理サーバーとOracle Identity Manager管理対象サーバー(クラスタ化の場合は少なくとも1つのサーバー)が稼動しているときに、Enterprise Manager (EM)にログインします。

    次に例を示します。

    http://AdminServer/em
    
  2. 「Identity and Access」を展開し、OIMの下でOracle Identity Managerインスタンスを探します。

  3. インスタンスを右クリックして、「システムMBeanブラウザ」を選択します。

  4. 「アプリケーション定義のMBeans」で、「oracle.iam」「サーバー: oim_servername「アプリケーション:OIM」「XMLConfig」「構成」「XMLConfig.DiscoveryConfig「検出」に移動します。

    oim_ssl3.pngについては周囲のテキストで説明しています。
  5. 次の形式で「OimFrontEndURL」属性に新規の値を入力し、非SSL値を指定します。

    http://OIM-Host:OIM-Non-SSL-Port
    

    次に例を示します。

    http://myoimserver.mydomain.com:14000
    

    注意:

    クラスタ・デプロイメントでは、OimFrontEndURLへの変更はクラスタ内のサーバーごとに行う必要があります。

  6. 次の形式で「OimExternalFrontEndURL」属性に新規の値を入力し、httpsのプロトコルとOHS httpsポートを指定します。

    https://OHS-host-front-ending-OIM:OHS-SSL-Port
    

    次に例を示します。

    https://myoimserver.mydomain.com:4443
    

    注意:

    クラスタ・デプロイメントでは、OimExternalFrontEndURLへの変更はクラスタ内のサーバーごとに行う必要があります。

  7. 「保存」をクリックして変更を適用します。

4.3.5.3 SOAサーバーURLをSSLポートを使用するように変更

SOAサーバーURLをSSLポートを使用するように変更するには:

  1. 管理サーバーおよびOracle Identity Manager管理対象サーバーが稼動しているときに、Enterprise Manager (EM)にログインします。

    次に例を示します。

    http://ADMINISTRATIVE_SERVER/em

  2. 「Identity and Access」→「Oracle Identity Manager」に移動します。

  3. 右クリックして「システムMBeanブラウザ」を選択します。

  4. 「アプリケーション定義のMBeans」で、「oracle.iam」「アプリケーション:OIM」「XMLConfig」「構成」「XMLConfig」「SOAConfig」「SOAConfig」に移動します。

    oim_ssl4.pngについては周囲のテキストで説明しています。
  5. Rmiurl属性の値を変更して、t3sプロトコルを指定します。

    これは、アプリケーション・サーバーのURLです。クラスタ化されたインストールの場合は、次の形式のすべてのSOA管理対象サーバーURLのカンマ区切りのリストです。

    t3s://SOA-Host:SOA-SSL-Port
    

    次に例を示します。

    t3s://mysoaserver1.mydomain.com:8002
    t3s://mysoa1.mydomain.com:8001,mysoa2.mydomain.com:8002,mysoa3.com:8003
    

    注意:

    Rmiurlは、SOA管理対象サーバーにデプロイされたSOA EJBにアクセスするために使用されます。

  6. Soapurl属性の値を変更して、次の形式でURLを指定します。

    t3s://SOA-Host:SOA-SSL-Port
    

    次に例を示します。

    https://mysoa.mydomain.com: 8001
    

    注意:

    Soapurlは、SOA管理対象サーバーにデプロイされたSOA Webサービスにアクセスするために使用されます。これは、Webサーバーまたはロード・バランサをフロントエンドとするSOAクラスタでは、WebサーバーURLまたはロード・バランサURLです。単一SOAサーバーでは、アプリケーション・サーバーURLです。

  7. 「適用」をクリックして変更を保存します。

4.3.5.4 Oracle Identity ManagerユーティリティのSSLの構成

Oracle Identity Managerクライアント・ユーティリティには、setDomainEnv.shおよびstartWeblogic.shがあります。JDK7では、SSL構成において特定のJavaオプションのこれらのユーティリティへの追加が必要です。

手順は次のとおりです。

  1. 編集するためにOIMドメインのDOMAIN_HOME/bin/setDomainEnv.shを開きます。

  2. 行エクスポートJAVA_DEBUGの後に、次のJAVA_OPTIONSを追加します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=SSL3 "
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.net.ssl.trustStore=
    Location of OIM trust store -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off "

    たとえば、トラスト・ストアを次のように指定します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.net.ssl.trustStore=/scratch/mydir/client_store1.jks -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off "
    
  3. 次のセクションを探します。

    if [ "${debugFlag}" = "true" ] ; then
    JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=${DEBUG_PORT},server=y,suspend=n -Djava.compiler=NONE"
    export JAVA_DEBUG
    

    その下に次のJAVA_OPTIONSを追加します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=SSL3 
    -Dssl.debug=true 
    -Dweblogic.security.TrustKeyStore=DemoTrust"
     
    JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.net.ssl.trustStore=
    Location of OIM trust store -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off "

    たとえば、トラスト・ストアを次のように指定します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.net.ssl.trustStore=
    /scratch/mydir/client_store1.jks -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off "
  4. EXTRA_JAVA_PROPERTIESを探します。

    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dsoa.archives.dir=${SOA_ORACLE_HOME}/soa -Dsoa.oracle.home=${SOA_ORACLE_HOME} -Dsoa.instance.home=${DOMAIN_HOME} -Dtangosol.coherence.clusteraddress=227.7.7.12 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -Djavax.net.ssl.trustStore=${WL_HOME}/server/lib/DemoTrust.jks"
    

    DemoTrust.jksへの参照を削除し、変更後のEXTRA_JAVA_PROPERTIESは次のようになります。

    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dsoa.archives.dir=${SOA_ORACLE_HOME}/soa -Dsoa.oracle.home=${SOA_ORACLE_HOME} -Dsoa.instance.home=${DOMAIN_HOME} -Dtangosol.coherence.clusteraddress=227.7.7.12 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true"
    
  5. setDomainEnv.shを保存して閉じます。

  6. 編集するためにファイルDOMAIN_HOME/bin/startWebLogic.shを開きます。次のJAVA_OPTIONSを変更します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dlaunch.main.class=${SERVER_CLASS} -Dlaunch.class.path="${CLASSPATH}" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp ${WL_HOME}/server/lib/pcl2.jar 
    

    変更後:

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dlaunch.main.class=${SERVER_CLASS} -Dlaunch.class.path="${CLASSPATH}" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp ${WL_HOME}/server/lib/pcl2.jar -Djavax.net.ssl.trustStore=location of trust store -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off"
    

    次に例を示します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dlaunch.main.class=${SERVER_CLASS} -Dlaunch.class.path="${CLASSPATH}" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp ${WL_HOME}/server/lib/pcl2.jar -Djavax.net.ssl.trustStore=/scratch/myhost/client_store.jks -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.SSL.enforceConstraints=off"
    
  7. startWebLogic.shを保存して閉じます。


注意:

これらのユーティリティ・ファイルはドメインが更新(例: WebLogicアップグレード後、config oimの実行後、オフライン・アップグレードなど)されるたびに上書きされるため、この手順はあらゆる更新後に繰り返す必要があります。

Oracle Identity Manager環境でのSSLの構成の詳細は、『Oracle Identity Managerの管理』を参照してください。

4.4 OAAMドメインでのサーバー上のSSLの構成

OAAMはAccess Managerとドメインを共有するため、このドメインをOAM-OAAMドメインと参照することもできます。SSLはこのドメインで、OAAMサーバーおよびOAAMの管理サーバーの両方について構成する必要があります。

手順は次のとおりです。

  1. WebLogic Serverコンソールにログインします。

  2. 「サーバー」をクリックして、OAAM管理サーバーを選択します。

  3. 「SSLリスニング・ポートの有効化」オプションを選択して、SSLリスニング・ポートを指定します。

  4. OAAMサーバーに対してこれらの手順を繰り返します。

4.5 Oracle Unified DirectoryでのSSLの構成

自己署名証明書を使用したSSLベースの接続を受け入れるように、Oracle Unified Directoryを構成できます。

この手順を使用する際は、次の点に注意してください。

  • 通常の運用で自己署名証明書を使用することはお薦めできません。通常の運用で証明書をインストールする場合は、『Oracle Unified Directoryの管理』のキー・マネージャ・プロバイダの構成に関する項を参照してください。

  • この手順は、インストール時にSSLおよびStartTLS設定が指定されなかったか、これらの設定を変更する場合にのみ必要です。

この手順の前提条件は次のとおりです:

  • Oracle Unified Directoryが作業中のシステムにインストールされています。

  • Java keytoolユーティリティがパス内にあります。ない場合は、パスに追加するか、コマンド呼出し時に完全パスを指定してください。keytoolユーティリティは、Java Runtime Environment (JRE)に提供されています。

  • 管理コネクタがデフォルト・ポート(4444)でリッスンし、dsconfigコマンドがローカル・ホスト上で実行されているサーバーにアクセスしています。そうでない場合は、--portオプションと--hostnameオプションをそのコマンドで指定する必要があります。

  1. keytoolコマンドに-genkeypairオプションを指定して、証明書用の秘密鍵を生成します。

    次に例を示します。

    $ keytool -genkeypair -alias server-cert -keyalg rsa \
      -dname "CN=myhost.example.com,O=Example Company,C=US" \ 
      -keystore config/keystore -storetype JKS
    
    • -alias別名。キーストア内の証明書を参照するために使用する名前を指定します。サーバーが使用するデフォルト名はserver-certです。

    • -keyalgアルゴリズム。秘密鍵を生成するために使用するアルゴリズムを指定します。これは通常、rsaです。

    • -dnameサブジェクト。証明書に使用するサブジェクトを指定します。

      環境に合せて、-dname引数の値を変更します:

      CN属性の値は、証明書がインストールされているシステムの完全修飾名です。

      O属性の値は、社名または組織名です。

      C属性の値は、2文字の国名の省略形です。

    • -keystoreパス。キーストア・ファイルへのパスを指定します。ファイルがない場合は作成されます。

      サーバーによって使用されるデフォルトのキーストア・パスは、config/keystoreです。このconfigフォルダは、OUDミドルウェアがインストールされる場所に存在し、configフォルダのパスは次のように構成されています。

      /Middleware/oud_instance_name/OUD/config
      

      次に例を示します。

      /scratch/mytest/OUDR2PS2/Oracle/Middleware/asinst_1/OUD/config
      
      
    • -keypassパスワード。キーストア内の秘密鍵を保護するために使用するパスワードを指定します。パスワードを指定しないと、指定するように要求されます。

    • -storepassパスワード。キーストアのコンテンツを保護するために使用するパスワードを指定します。パスワードを指定しないと、指定するように要求されます。

    • -storetypeタイプ。キーストアのタイプを指定します。たとえば、JKSキーストアの場合、値は常にJKSです。

    キーストアの内容を保護するパスワードと秘密鍵を保護するパスワードの入力が要求されます。

  2. 鍵のための自己署名証明書を生成します。

    次に例を示します。

    $ keytool -selfcert -alias server-cert -validity 1825 \ 
       -keystore config/keystore -storetype JKS
    
    • -alias別名。キーストア内の証明書を参照するために使用する名前を指定します。-genkeypairオプションを使用して秘密鍵を生成したときに指定した値と同一である必要があります。

    • -validity日間。証明書の有効期間を日数で指定します。デフォルトの有効期間は90日間です。

    • -keystoreパス。キーストア・ファイルへのパスを指定します。ファイルがない場合は作成されます。

    • -keypassパスワード。キーストア内の秘密鍵を保護するために使用するパスワードを指定します。これを省略すると、入力するように要求されます。

    • -storepassパスワード。キーストアのコンテンツを保護するために使用するパスワードを指定します。これを省略すると、入力するように要求されます。

    • -storetypeタイプ。キーストアのタイプを指定します。JKSキーストアでは、値は常にJKSです。

    キーストア・パスワードおよび秘密鍵のパスワードの入力を要求されたら、前の手順で入力したパスワードを入力します。

  3. config/keystore.pinという名のテキスト・ファイルを作成します。

    このファイルには、キーストアの内容を保護するためのパスワードを指定する必要があります。このファイルを変更する場合は、キーストア・マネージャ構成と一致する必要があることに注意してください。別のファイル名を使用する場合は、該当するキーストア・マネージャのkey-store-fileプロパティをそのパスおよびファイル名と一致させる必要があります。

  4. 作成した証明書の公開鍵をエクスポートします。

    次に例を示します。

    $ keytool -exportcert -alias server-cert -file config/server-cert.txt -rfc \
       -keystore config/keystore -storetype JKS
    
  5. 新規にトラスト・ストアを作成して、それにサーバー証明書をインポートします。

    次に例を示します。

    $ keytool -importcert -alias server-cert -file config/server-cert.txt \
      -keystore config/truststore -storetype JKS
    
  6. dsconfigユーティリティを使用して、キー・マネージャ・プロバイダ、信頼マネージャ・プロバイダおよび接続ハンドラを有効にします。dsconfigは、OUDのインストール・パス(通常のパスは/asinst_1/OUD/binのようになります)のbinディレクトリに存在します。OUD管理ポートとOUDサーバー・ホスト名も同様に指定する必要があります。

    次に例を示します。

    ./dsconfig -D "cn=directory manager" -j pwd.txt -X -n \set-key-manager-provider-prop --provider-name JKS --set enabled:true --port 1111 --hostname myhost.us.example.com
     
    ./dsconfig -D "cn=directory manager" -j pwd.txt -X -n \set-trust-manager-provider-prop --provider-name "Blind Trust" \--set enabled:true --port 1111 --hostname myhost.us.example.com
     
    ./dsconfig -D "cn=directory manager" -j pwd.txt -X -n \set-connection-handler-prop --handler-name "LDAPS Connection Handler" \--set "trust-manager-provider:Blind Trust" --set key-manager-provider:JKS \--set listen-port:1636 --set enabled:true --port 1111 --hostname myhost.us.example.com
    

    –set listen-portに対して、使用中ではないポート番号を指定します。ポート1636は標準のLDAPSポートですが、このポートがすでに占有されている場合は使用できません。

    1. 手順1で秘密鍵を生成したときに-keypassおよび-storepassに異なる値を指定した場合は、次のようにdsconfigを使用してキー・パスワードを指定する必要があります。

      $ dsconfig -D "cn=directory manager" -j pwd-file -X -n \
      create-key-manager-provider-key-pin --provider-name JKS --set key-pin-file:<file with key password> --type generic --pin-name server-cert
      

      鍵PINの名前には、証明書の別名と同じ名前を指定します。これは、キー・マネージャ・プロバイダの各証明書に関連付けられている鍵PIN/パスワードを指定します。

    2. ステップ3でconfig/keystore.pinと異なる場所および名前のテキスト・ファイルを作成した場合、たとえば、ファイル名がconfig/mykeystore.pinだとしたら、以下のように情報を指定します:

      $ dsconfig -D "cn=directory manager" -j pwd-file -X -n \
        set-key-manager-provider-prop --provider-name JKS --set enabled:true \
        --set keystore-pin-file:/config/mykeystore.pin
      
  7. これでサーバーはSSLベースのクライアント接続を受け入れる第2のリスナーを持つことになります。ldapsearchコマンドで、以下のように構成をテストします:

    $ ldapsearch --port 1636 --useSSL --baseDN "" --searchScope base "(objectClass=*)"
    

    サーバーの証明書を信頼するかどうか尋ねられます。yesと入力すると、ルートDSEエントリが戻されます。

OUDのキーストアおよびトラスト・ストアの詳細は、『Oracle Unified Directoryの管理』のキー・マネージャ・プロバイダの構成に関する項および信頼マネージャ・プロバイダの構成に関する項をそれぞれ参照してください。

4.6 Oracle HTTP Server用のSSLの構成

Oracle HTTP Server (OHS)のSSLは、opmn.xmlファイルを更新することで手動で構成します。

SSLを手動で有効にするには、次の手順を実行します。

  1. テキスト・エディタでopmn.xmlを開きます。

  2. <ias-component id="HTTP_Server">エントリで、開始モードを"ssl-disabled"から"ssl-enabled"に変更します。変更後、エントリは次のように表示されます。

    <data id="start-mode" value="ssl-enabled"/>
    
  3. opmn.xmlを保存して閉じます。

  4. 次のコマンドを使用して、OPMNを再ロードします。

    opmnctl reload
    
  5. 次のコマンドを使用して、Oracle HTTP Serverを停止します。

     Linux: ORACLE_HOME/opmn/bin> opmnctl [verbose] stopproc 
    ias-component=HTTP_Server Windows: ORACLE_HOME\opmn\bin> opmnctl [verbose] stopproc
    ias-component=HTTP_Server
  6. 次のコマンドを使用して、Oracle HTTP Serverを起動します。

    Linux: ORACLE_HOME/opmn/bin> opmnctl [verbose] startproc 
    ias-component=HTTP_Server Windows: ORACLE_HOME\opmn\bin> opmnctl [verbose] startproc
    ias-component=HTTP_Server
  7. 次のようにSSLポートに移動することで、SSLが正常に有効化されたかどうかを検証できます。

    HTTPS://hostname:4443
    

4.7 Poodle脆弱性に対するIdMコンポーネントの保護

SSL v3.0に影響するセキュリティ脆弱性(Padding Oracle On Downgraded Legacy Encryption、つまり"Poodle")という理由のため、TLSv1プロトコルを使用することをお薦めします。WebLogic Server 10.3.6以上に依存する、リリース11.1.2.3.0では、JSSE SSLを使用するようにドメイン全体を構成することが推奨されます。

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

4.7.1 TLSv1プロトコルによるOAMおよびOIMドメインの構成

OAMおよびOIMドメインを次のように構成します。

  1. 編集するために(OAMまたはOIM)ドメインのsetDomainEnv.shを開きます。

  2. 次のJavaオプションを追加してJSSE SSLを有効化します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.ssl.JSSEEnabled=true "
    
  3. 次の2つのJavaオプションを追加してTLSv1を有効化します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=TLS1 "
    

    および

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.0 "
    
  4. Javaオプションを削除またはコメントアウトすることで、SSLv3プロトコルを無効化します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=SSL3 "
    
  5. OIMドメインで次のセクションを探します。

    if [ "${debugFlag}" = "true" ] ; then
    JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=${DEBUG_PORT},server=y,suspend=n -Djava.compiler=NONE"
            export JAVA_DEBUG
    

    export JAVA_DEBUGに従ってJavaオプションを追加します。

    JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=TLS1 -Dssl.debug=true -Dweblogic.security.TrustKeyStore=DemoTrust"
    
  6. 各OAMおよびOIMドメイン内のすべてのサーバーを再起動します。

Oracle Identity Managerのコンポーネントのこの脆弱性からの保護の詳細は、次の場所にあるサポート・アラートのドキュメントID 1944350.1 CVE-2014-3566 - Instructions to Mitigate the SSL v3.0 Vulnerability (aka "Poodle Attack") in Oracle Identity Managerの指示に従ってください。

https://support.oracle.com

4.7.2 TLSv1プロトコルによるOUDの構成

TLSv1をOUDで有効化するには、次の場所にあるサポート・アラートのドキュメントID 1950331.1 CVE-2014-3566 Instructions to Mitigate the SSL v3.0 Vulnerability (aka "Poodle Attack") in Oracle Unified Directoryの指示に従ってください。

https://support.oracle.com

Java 7を使用中の場合は、"OUD with Java 7"の項を参照してください。Java 6を使用中の場合は、"OUD with Java 6"の項を参照してください。

4.7.3 TLSv1プロトコルによるOHSの構成

TLSv1をOHS 11gで有効化するには、次の場所にあるサポート・アラートのドキュメントID 1936300.1 How to Change SSL Protocols (to Disable SSL 2.0/3.0) in Oracle Fusion Middleware Productsの指示に従ってください。

https://support.oracle.com

"Oracle HTTP Server (OHS) 11g"の項を参照してください。

4.8 統合されたIdMのためのSSL構成の完了

統合されたコンポーネントのためのSSLワイヤリングを完了するには、一定の追加タスクが必要です。

手順は次のとおりです。

  1. keytool exportを使用して、OUDサーバー証明書をファイルにエクスポートします。たとえば、そのコマンドによってOUD証明書がldapcert.pemというファイルに保存されます。

    keytool -export -alias server-cert -file ldapcert.pem -keypass weblogic1 -keystore keystore -storepass weblogic1
    
  2. OUDサーバーが信頼されていることを確認するには、keytool importコマンドを使用して、OUD証明書をステップ2からOAMのJavaキーストア内にインポートします。

    keytool -import -alias alias -file certificate_file -keystore cacerts_file
    

    次に例を示します。

    keytool -import -alias trust -file  /scratch/jre/bin/ldapcert.pem 
    -keystore /scratch/jre/lib/security/cacerts
    
  3. 要求されたら、パスワードをchangeitとして入力します。

  4. 次のように、OAMユーザー・アイデンティティ・ストアがOUDのSSLポートを指していることを確認します。

    1. OAMコンソールにログインします。

    2. userIdentityStoreを編集します。

    3. 「SSLの有効化」オプションを選択します。

    4. 「場所」テキスト・ボックスで、OUDのSSLポートを指定します。

    5. 変更を保存します。

  5. クライアントがOHSホストおよびSSLポートを使用してOAM、OIMおよびOAAMの各サーバーにアクセスするようにするには、次の手順を実行します。

    1. OAM WebLogic Serverコンソールにログインします。

    2. 「サーバー」「AdminServer」「構成」「全般」「詳細」の順に移動します。

    3. 「WebLogicプラグインの有効化」を有効にします。

    4. これらの手順をOAMおよびOIMドメイン内のすべてのサーバーで繰り返します。

  6. OAM、OIMおよびOAAMの各サーバーからのログアウトを構成する手順:

    1. OAMコンソールにログインします。

    2. idmConfigTool configOAMから登録されたバージョン11gエージェントのプロファイルを開きます(コマンドの詳細は第D.4.4項を参照)。

      このプロファイルはwebgateName_11gと名付けられます(例: testwebgate_11g)。

    3. 最初に構成されたとおり、ログアウト・リダイレクトURLは次のような形式です。

      http://host_name:14100/oam/server/logout
      

      httpsプロトコルおよび管理対象サーバーSSLポートを指定するようにURLを変更します。次のようになります。

      https://host_name:14101/oam/server/logout
      
  7. httpsプロトコルおよびOHSのSSLポートを指定するように、次のOAAMプロパティを更新します。

    bharosa.uio.default.signon.links.enum.selfregistration.url
    bharosa.uio.default.signon.links.enum.trackregistration.url
    
  8. Tapschemeで保護されたリソースがOAAM管理対象サーバーのSSLポートにリダイレクトされるようにするには、OAM構成ファイルoam-config.xmlの次のセクションを更新します。

    <Setting Name="HOST_ALIAS_1" Type="htf:map">
     <Setting Name="serverhost" Type="xsd:string">example.us.com</Setting>
     <Setting Name="serverprotocol" Type="xsd:string">https</Setting>
     <Setting Name="serverport" Type="xsd:string">14301</Setting>
    </Setting>
    

    serverprotocolhttpsで、serverportはOAAMの管理対象サーバーのSSLポートであることに注意してください。

  9. OAMおよびOAAMドメイン内のすべてのサーバーを再起動します。

  10. OIMドメインのEMコンソールにログインします。

  11. 「アプリケーション・デプロイメント」→「SOA」の順に展開します。

  12. 「DefaultOperationalApproval」をクリックします。

  13. 詳細ペインで、「ダッシュボード」タブをクリックして「ApprovalTask」を探します。

    cleanup_ssl0.pngについては周囲のテキストで説明しています。
  14. 「管理」タブをクリックして、OHSのhttpsポートの値を指定します。

    cleanup_ssl1.pngについては周囲のテキストで説明しています。
  15. 「適用」をクリックして変更を保存します。

  16. SOACompositeのDefaultRequestApprovalについて手順12から15を繰り返して、再度https OHSポートを指定します。

  17. OIMサーバーを再起動します。