ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Fusion Middlewareの管理
12c (12.1.2)
E47968-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

7 SSL自動化ツールの使用

この章ではSSL自動化ツールについて説明します。

内容は次のとおりです。

7.1 SSL自動化ツールの概要

Oracle SSL自動化ツールを使用すると、ドメイン固有のCA証明書を使用して、1つのドメイン内に複数のコンポーネントを構成できます。

デプロイメントにおいてSSLを有効にするタスクは、管理者にとって恐ろしく、厄介である場合があります。SSLを手動構成するには、一般的に管理者は、次のようないくつかの領域で専門知識がある必要があります。

Oracle SSL自動化ツールは、手動で行う手順の代替手段で、SSL構成を簡略化します。これにより、中央の自己署名CA証明書を生成し、その証明書を使用してコンポーネント・サーバーを構成し、複数のクライアントに対して信頼できる証明書としてCA証明書を提供できます。これにより、信頼できるネットワークがすべてのクライアントおよびサーバーに対して一貫した方法で確立され、外向きの接続とDMZ内の接続の両方でそれを使用できます。

SSL自動化ツールは、トラスト・モデルに基づいています。トラスト・モデルは、SSLドメインの概念を導入します。SSLドメインは、すべてのSSLコンポーネントが同じCA署名証明書でデプロイされるセキュリティ環境です。各SSLドメインは、これを自己署名ドメインCAと関連付けます。このSSLドメイン内のすべてのコンポーネントは、ドメインCAを暗黙的に信頼します。また、このドメインCAは、そのSSLドメイン内にデプロイされたサーバー・コンポーネント用にSSLサーバー証明書を生成できます。あるSSLドメイン(A)のサーバー・コンポーネントが別のSSLドメイン(B)のクライアント・コンポーネントに信頼される必要がある場合、SSLドメイン(B)のクライアント・コンポーネントは、(A)からのドメインCA証明書のみをインポートして信頼する必要があります。

このツールは、一連のシェル・スクリプト(3つのメインSSLスクリプトといくつかのコンポーネント固有のスクリプト)から構成されています。

表7-1に、メイン・スクリプトをリストします。

表7-1 メイン・スクリプト

スクリプト 機能

SSLGenCA.sh

CA証明書を生成し、これをLDAPディレクトリに格納します。

SSLServerConfig.sh

サーバーを構成します。

SSLClientConfig.sh

クライアントを構成します。


サーバー構成スクリプトおよびクライアント構成スクリプトは、メイン・スクリプトを起動するときにコマンドラインで指定したオプションの値に応じて、コンポーネント固有のスクリプトを起動します。

これらのスクリプトは、デプロイメントにあるLDAPポリシー・ストアを使用して、SSLドメインCAウォレットを集中的に格納します。これらのSSLドメインCAウォレットは、LDAPアクセス・コントロールによって保護されます。アクセス権は、SSL管理者グループのメンバーのみに付与されます。スクリプトを実行するには、このグループのメンバーである必要があります。

SSL自動化ツールには、次の利点があります。

7.2 前提条件

このツールを使用する前に、この項で説明するタスクを実行したことを確認します。

7.2.1 Oracle Fusion Middleware環境の設定

スクリプトを起動してOracle Fusion Middleware環境のコンポーネントでSSLを構成するには、その前にOracle Fusion Middleware環境のすべてのコンポーネントが稼働中である必要があります。

コンポーネントがWindowsプラットフォームで稼働中の場合、スクリプトを使用する前にhttp://www.cygwin.comからCygwinを取得し、インストールする必要があります。CygwinシェルでORACLE_HOME環境変数を設定します。次に例を示します。

export ORACLE_HOME='C:/rc8/fmwhome/Oracle_Home/'

7.2.2 必要な情報のアセンブル

SSLスクリプトを起動する前に、表7-2および表7-3にリストされている次に変数の値があることを確認します。

表7-2 SSL自動化ツールのドメイン・レベルの情報変数

変数

HOSTNAME

ORACLE_HOME (Fusion Middleware)

ORACLE_COMMON

MIDDLEWARE_HOME

DOMAIN_NAME

DOMAIN_HOME

DOMAIN_ADMINISTRATOR_USERNAME

DOMAIN_ADMINISTRATION_PASSWORD

DOMAIN_HOST_NAME

ADMINSERVER_PORT

DOMAIN_ADMINISTRATOR_USERNAME

DOMAIN_ADMINISTRATION_PASSWORD

INSTANCE_HOME

INSTANCE_NAME


表7-3 SSL自動化ツールのコンポーネント固有の情報変数

変数

OVD_NAME

OVD_PORT

OID_NAME

OID_PORT

OID_SSL_PORT

OID_ADMIN

OID_ADMIN_PASSWORD

DB_HOST

DB_PORT

DB_SERVICE_NAME

DB_SID


7.3 CA証明書の生成

CA証明書生成スクリプトSSLGenCA.shを起動して、SSLドメインを初期化して作成し、SSLドメインCAを生成します。SSLドメイン全体に対して、スクリプトを1回だけ実行します。これを再び実行すると、新しく生成されるCAウォレットを使用してすべてのサーバーおよびクライアントを構成する必要があります。SSLドメインは、すべてのSSLコンポーネントが同じCA署名証明書を使用してデプロイされるセキュリティ環境です。

Oracle Fusion Middlewareインストール用のデフォルト環境で設定されたシェルを入力します。

このスクリプトを実行するには、次の情報が必要です。

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

$ORACLE_COMMON_HOME/oracle_common/bin/SSLGenCA.sh

プロンプトが表示されたら情報を入力します。

このスクリプトでは、次のタスクが実行されます。

7.3.1 例: 証明書の生成

この例は、SSLGenCA.shを実行し、新しいCAウォレットを生成し、これをポリシー・ストア(LDAPサーバー)に格納する方法を示します。

$ SSLGenCA.sh 

SSL Certificate Authority Generation Script: Release 11.1.1.4.0 - Production
Copyright (c) 2010 Oracle.  All rights reserved.

************************************************************************
*********** This tool will generate a self-signed CA wallet ************
*********** and store it in a central LDAP directory        ************
*********** for IDM and FA SSL setup and provisioning       ************
************************************************************************
>>>Enter the LDAP hostname [adc2100651.example.com]: 
>>>Enter the LDAP port [3060]: 20040
>>>Enter the admin user [cn=orcladmin] 
>>>Enter password for cn=orcladmin:  
>>>Enter the LDAP sslDomain where your CA will be stored [idm]: 
>>>Enter a password to protect your CA wallet:  
>>>Enter confirmed password for your CA wallet: 
 
Generate a new CA Wallet...
Create SSL Domains Container for cn=idm,cn=sslDomains...
Storing the newly generated CA to the LDAP...
Setup ACL to protect the CA wallet...
The newly generated CA is stored in LDAP entry cn=demoCA,cn=idm,cn=sslDomains successfully

7.4 コンポーネント・サーバーの構成

SSLServerConfig.shスクリプトを起動してサーバーを構成します。このスクリプトは、SSLドメインCAを使用し、サーバー証明書を生成します。次に、このスクリプトは、制御をコンポーネント固有の構成スクリプトに渡します。この構成スクリプトは、生成されたサーバー証明書を取得し、SSL接続を受け入れるようにコンポーネントを構成します。

このスクリプトを実行するには、次の情報が必要です。

このスクリプトを起動する前に、Oracle Fusion Middlewareインストール用のデフォルト環境で設定されたシェルを入力します。このスクリプトの場所は、$ORACLE_COMMON_HOME/oracle_common/bin/SSLServerConfig.shです。このスクリプトの構文を次に示します。

SSLServerConfig.sh -component [oid|ovd|oam|wls] [-v]

唯一のコンポーネントを指定します。指定したコンポーネントに応じて、SSLServerConfig.shはコンポーネント固有のスクリプトを起動します。コンポーネント固有サーバーのスクリプトの名前の形式は、COMPONENT_NAME_SSL_Server_Config.shです。

コンポーネント・オプションwlsを指定した場合、スクリプトは、名前付きのサーバーのすべてのJava EEコンポーネントを構成します。Java EEコンポーネントには、Oracle Identity Navigator、Oracle Access Manager 11g、Oracle Identity Manager、およびOracle Identity Federationが含まれます。

表7-4 SSLServerConfig.shのコンポーネント・オプション

コンポーネント・オプション 起動されるスクリプト 構成されるコンポーネント

wls

WLS_SSL_Server_Config.sh

Oracle WebLogic ServerおよびJava EEのコンポーネント


プロンプトが表示されたら情報を入力します。

このスクリプトでは、次のタスクが実行されます。

このコンポーネント固有スクリプトは、次のタスクを実行します。

7.4.1 例: WebLogic ServerおよびJava EEのコンポーネントの構成

$ ./SSLServerConfig.sh -component wls

Server SSL Automation Script: Release 11.1.1.4.0 - Production
Copyright (c) 2010 Oracle.  All rights reserved.

Downloading the CA wallet from the central LDAP location...
>>>Enter the LDAP Hostname [adc2100651.example.com]:
>>>Enter the LDAP port [3060]: 16468
>>>Enter an admin user DN [cn=orcladmin]
>>>Enter password for cn=orcladmin:
>>>Enter the sslDomain for the CA [idm]:
>>>Enter a password to protect your SSL wallet/keystore:
>>>Enter confirmed password for your SSL wallet/keystore:
>>>Enter password for the CA wallet:
>>>Searching the LDAP for the CA usercertificate ...
Importing the CA certifcate into trust stores...
>>>Searching the LDAP for the CA userpkcs12 ...

Invoking Weblogic SSL Server Configuration Script...
Enter attribute values for your certificate DN
>>>Country Name 2 letter code [US]:
>>>State or Province Name [California]:
>>>Locality Name(eg, city) []:Belmont
>>>Organization Name (eg, company) [mycompany]:Oracle
>>>Organizational Unit Name (eg, section) [wls-20101123115644]:wls-admin
>>>Common Name (eg, hostName.domainName.com) [adc2100651.example.com]:
The subject DN is
 cn=adc2100651.example.com,ou=wls-admin,O=Oracle,l=Belmont,st=California,c=US
>>>Import the existing CA at /mw784/im7335/rootCA/cacert.der into keystore...
>>>Import the server certificate at /mw784/im7335/rootCA/keystores/wls/cert.txt into kstore...
Configuring SSL for your WLS server instance...
>>>Enter your WLS domain home directory: /mw784/user_projects/domains/imdomain8017
>>>Enter your WLS server instance name [AdminServer]
Enter SSL Listen Port: [7002] 7778
>>>Enter weblogic admin port: [7001] 19249
>>>Enter weblogic admin user: [weblogic]
>>>Enter password for weblogic:
>>>Enter your keystore name [identity.jks]: id.jks /mw784/im7335/rootCA/keystores/wls/mw784/user_projects/domains/imdomain8017/keystores/id.jks
Configuring WLS AdminServer ...
Running /mw784/im7335/common/bin/wlst.sh /mw784/im7335/rootCA/keystores/wls/wlssvr.py...
Your WLS server has been set up successfully 

7.5 クライアントの構成

スクリプトSSLClientConfig.shを起動してクライアントを構成します。このスクリプトは、SSLドメインCAを取得し、次に制御をコンポーネント固有のスクリプトに渡してこれをインポートし、必要な追加の構成手順を実行します。

このスクリプトを実行するには、次の情報が必要です。

このスクリプトを起動する前に、Oracle Fusion Middlewareインストール用のデフォルト環境で設定されたシェルを入力します。このスクリプトの場所は、$ORACLE_COMMON_HOME/oracle_common/bin/SSLClientConfig.shです。このスクリプトの構文を次に示します。

SSLClientConfig.sh -component [cacert|wls|webgate] [-v]

指定した-componentオプションに応じて、SSLClientConfig.shは、表7-5にリストされているコンポーネント・スクリプトを起動する場合があります。コンポーネント固有クライアントの名前の形式は、COMPONENT_NAME_SSL_Client_Config.shです。

表7-5 SSLClientConfig.shのコンポーネント・オプション

コンポーネント・オプション 起動されるスクリプト 構成されるコンポーネント

cacert

なし

その他のSSLクライアント

wls

WLS_SSL_Client_Config.sh

Oracle WebLogicクライアントおよびJava EEのコンポーネント

webgate

OAMWG_SSL_Client_Config.sh

Oracle Access Manager WebGate


プロンプトが表示されたら情報を入力します。

このクライアント・スクリプトは、次のタスクを実行します。

7.5.1 例: SSLクライアント用のCA証明書のダウンロード

$ ./SSLClientConfig.sh -component cacert

SSL Automation Script: Release 11.1.1.4.0 - Production
Copyright (c) 2010 Oracle.  All rights reserved.

Downloading the CA certificate from a central LDAP location
Creating a common trust store in JKS and Oracle Wallet formats ...
Configuring SSL clients with the common trust store...
Make sure that your LDAP server is currently up and running.

Downloading the CA certificate from the LDAP server...
>>> Enter the LDAP hostname [adc2100651.example.com]: Enter the LDAP port: [3060]? 16468
>>> Enter your LDAP user [cn=orcladmin]: 
>>> Enter password for cn=orcladmin:  
>>> Enter the sslDomain for the CA [idm]: 
Searching the LDAP for the CA usercertificate ...
Importing the CA certifcate into trust stores...
>>> The common trust store in JKS format is located at /mw784/im7335/rootCA/keystores/tmp/trust.jks
>>> The common trust store in Oracle wallet format is located at /mw784/im7335/rootCA/keystores/tmp/ewallet.p12
Generate trust store for the CA cert at cn=idm,cn=sslDomains
>>> Enter a password to protect your truststore:  
>>> Enter confirmed password for your truststore:  

Updating the existing /mw784/im7335/rootCA/keystores/common/trust.jks...
Importing the CA certifcate into trust stores...
>>> The common trust store in JKS format is located at /mw784/im7335/rootCA/keystores/common/trust.jks
>>> The common trust store in Oracle wallet format is located at /mw784/im7335/rootCA/keystores/common/ewallet.p12

7.5.2 例: 証明書のダウンロードおよびWebLogicクライアントの構成

$ ./SSLClientConfig.sh -component wls

SSL Automation Script: Release 11.1.1.4.0 - Production
Copyright (c) 2010 Oracle.  All rights reserved.

Downloading the CA certificate from a central LDAP location
Creating a common trust store in JKS and Oracle Wallet formats ...
Configuring SSL clients with the common trust store...
Make sure that your LDAP server is currently up and running.

Downloading the CA certificate from the LDAP server...
>>> Enter the LDAP hostname [adc2100651.example.com]:
>>> Enter the LDAP port: [3060]? 16468
>>> Enter your LDAP user [cn=orcladmin]:
>>> Enter password for cn=orcladmin:
>>> Enter the sslDomain for the CA [idm]:
>>> Searching the LDAP for the CA usercertificate ...
Importing the CA certifcate into trust stores...
>>> The common trust store in JKS format is located at /mw784/im7335/rootCA/keystores/tmp/trust.jks
>>> The common trust store in Oracle wallet format is located at /mw784/im7335/rootCA/keystores/tmp/ewallet.p12
Invoking Weblogic SSL Client Configuration Script...
>>> Enter a password to protect your truststore:
>>> Enter confirmed password for your truststore:

Updating the existing /mw784/im7335/rootCA/keystores/wls/trust.jks...
Importing the CA certifcate into trust stores...
>>> The common trust store in JKS format is located at /mw784/im7335/rootCA/keystores/wls/trust.jks
>>> The common trust store in Oracle wallet format is located at /mw784/im7335/rootCA/keystores/wls/ewallet.p12
cat: /mw784/im7335/rootCA/cacert_tmp.txt: No such file or directory
Configuring SSL Trust for your WLS server instance...
>>> Enter your trust store name: [trust.jks]mytrust.jkds
>>> Enter your WLS domain home directory: /mw784/user_projects/domains/imdomain8017
>>> Enter your WLS server instance name [AdminServer]
>>> Enter weblogic admin port: [7001] 19249
>>> Enter weblogic admin user: [weblogic]
>>> Enter password for weblogic:
>>> Copy /mw784/im7335/rootCA/keystores/wls/trust.jks to /mw784/user_projects/domains/imdomain8017/servers/AdminServer/keystores/mytrust.jkds...
Configuring WLS AdminServer ...
Running /mw784/im7335/common/bin/wlst.sh /mw784/im7335/rootCA/keystores/wls/wlscln.py...
Your WLS server has been set up successfully