Oracle Enterprise Manager Application Configuration Consoleインストレーション・ガイド リリース5.3.2 B56956-01 |
|
戻る |
次へ |
この付録では、Application Configuration Consoleのセキュリティに関する考慮点をいくつか説明します。
オラクル社では顧客データの保護を業務上の重点事項としているため、Application Configuration Consoleでは次のベスト・プラクティスを採用しています。
128ビットのサイズの暗号化キーとCBC(暗号ブロック連鎖)暗号化モードを持つAES(Advanced Encryption Standard)暗号化アルゴリズムを使用します。
SERVER_INSTALL/appserver/tomcat/logs
に0750パーミッションを課します。
SERVER_INSTALL/appserver/tomcat/conf/Catalina/localhost/*.xml
に600パーミッションを課します。
SERVER_INSTALL/appserver/tomcat/conf/server.xml
に600パーミッションを課します。
SERVER_INSTALL/appserver/tomcat/shared/classes/
内の次のファイルに600パーミッションを課します。
java.login.config
mvstore
server_modules_registry.xml
Application Configuration Consoleでは、キーストアとトラストストアのパスワードを不明瞭化した形式でサーバーに格納します。
SERVER_INSTALL/appserver/tomcat/conf/server.xml
クライアントにも同様の形式で格納します。
CLIENT_INSTALL/client/runtime/plugins/com.mvalent.integrity_5.3.2/config/client_boot.xml
これらのファイルまたはキーストアが損われたと思われる場合は、Oracleサポートに連絡してパスワードの変更方法を確認してください。
接続を確実に保護するために、コア・サーバーとクライアントではSSLプロトコルを使用し、機密情報をキーストアおよびトラストストアと呼ばれるファイルに格納して交換します。キーストアには秘密鍵と、証明書および対応する公開鍵が格納されます。トラストストアには通信相手からの証明書、または他のパーティを識別するための信頼できる認証局からの証明書が格納されます。JavaのSSLプロトコル、キーストアおよびトラストストアの詳細は、次のURLを参照してください。
http://java.sun.com/docs/books/tutorial/security/sigcert/index.htm
コア・サーバーは、インストール時に、自己署名付き証明書を生成します。キーストア・ファイル(キーストアおよびトラストストア)は、クライアントがサーバーに初めて接続するときに生成されます。クライアントのキーストア・ファイルに問題(たとえば変更または削除)が発生すると、ファイルは次の起動時に再生成され、証明書の受入れを求めるプロンプトが表示されます。ただし、サーバーのキーストア・ファイルに問題が発生したり、改ざんが疑われる場合、保護された操作を継続する前に新しいキーストア・ファイルを生成する必要があります。
次の場所に元のファイルのいずれか、または両方が存在する場合(mvserver.ks
およびmvserver.ts
)、ファイルをバックアップします。
$OACC_INSTALL/com.mvalent.integrity_5.3.2/webserver/tomcat
キーストア・ファイルの再生成には、JDK 1.6インストールに付属のkeytool
ユーティリティを使用します。ユーティリティではパスワードがクリアテキストで表示されるため、セキュリティ面には十分注意してください。また、パスワードやパスなどの入力値は、作業中に数回入力する必要があるため、記録しておくことをお薦めします。keytool
の詳細は、次のURLを参照してください。
http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html
新しいキーストア・ファイルを生成するには、次の手順を実行します。
コマンド・シェル・プロンプトを開きます。
コア・サーバー・インストールに付属のバージョンを使用した場合であればJDK1.6_HOME/bin
(そうでなければこれに相当する場所)に、ディレクトリを変更します。
$OACC_INSTALL/java/bin
次のようにしてkeystool
コマンドを実行します。
keytool -genkey -alias alias_value -keyalg RSA -keysize 1024 -storepass password -keypass password -keystore store_path -storetype jks -dname dname_values
詳細は次のとおりです。
alias_valueは、キーストアの作成時に作成される元のキーの識別子です。この値は任意の文字列です。
passwordは、キーストア・ファイルにアクセスするための強いパスワードです。Tomcatでは、キーストアとその秘密鍵にアクセスするには、同じ値を指定する必要があります。
store_pathは、生成するキーストア・ファイルのパスです。
dbname_valuesはオプションの値で、サーバーからクライアントに渡される資格証明の所有者を識別します。たとえば、"CN=Application Configuration Console Server, OU=Enterprise Manager Grid Control, O=Oracle Corporation,L=Redwood City, S=California, C=US"
のように指定できます。
注意: 「keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect」 というエラーが表示される場合、store_path で指定した値がすでに存在している可能性があります。ファイルを移動するか名前を変更し、keytool を再実行します。そうでない場合は、Oracleサポートに連絡してください。 |
キーストア・ファイルが指定した場所に作成されていることを検証します。サイズは約2KBです。
新しいトラストストア・ファイルを生成するには、次の手順を実行します。
コマンド・シェル・プロンプトを開きます。
コア・サーバー・インストールに付属のバージョンを使用した場合であればJDK1.6_HOME/bin
(そうでなければこれに相当する場所)に、ディレクトリを変更します。
$OACC_INSTALL/java/bin
次のようにしてkeystool
コマンドを実行します。
keytool -genkey -alias alias_value -keyalg RSA -keysize 1024 -storepass password -keypass password -keystore store_path -storetype jks -dname dname_values
詳細は次のとおりです。
alias_valueは、トラストストアの作成時に作成される元のキーの識別子です。この値は任意の文字列です。
passwordは、トラストストア・ファイルにアクセスするための強いパスワードです。Tomcatでは、トラストストアとその秘密鍵にアクセスするには、同じ値を指定する必要があります。
store_pathは、生成するトラストストア・ファイルのパスです。
dbname_valuesはオプションの値で、サーバーからクライアントに渡される資格証明の所有者を識別します。たとえば、"CN=Application Configuration Console Server, OU=Enterprise Manager Grid Control, O=Oracle Corporation,L=Redwood City, S=California, C=US"
のように指定できます。
注意: 「keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect」 というエラーが表示される場合、store_path で指定した値がすでに存在している可能性があります。ファイルを移動するか名前を変更し、keytool を再実行します。そうでない場合は、Oracleサポートに連絡してください。 |
トラストストア・ファイルが指定した場所に作成されていることを検証します。サイズは約2KBです。
値を含めるために、server.xml
を更新します。
コア・サーバー・ホストの次のディレクトリに移動し、server.xml
をテキストまたはXMLエディタで開きます。
$OACC_INSTALL/appserver/tomcat/conf
ファイルの一番下で、XML要素<Connector port="9943" ... />
を探し、4つのプロパティ(keystoreFile、keystorePass、truststoreFile、truststorePass
)の値を、キーストアおよびトラストストアの生成時に指定した値を使用して編集します。
変更を保存してコア・サーバーを再起動します。コマンドラインから再起動するには、$OACC_INSTALL/appserver/tomcat/bin/startup.bat
(Windowsの場合)またはstartup.sh
(LinuxまたはUNIXの場合)を使用します。
一部の環境では、コア・サーバーとSVNサーバーとの間にセキュリティを施す必要があります。この項では、SVNサーバーで認証を必須とし、匿名の読取りおよび書込みアクセスを使用不可に設定する手順を説明します。
最初に、次のようにして、MVEncryption.bat
ファイルを使用してApplication Configuration Consoleのパスワードを暗号化します。
次のディレクトリに移動します。
$OACC_INSTALL/appserver/tomcat/shared/scripts
次のコマンドを実行します。
MVEncryption.bat mvpassword
コマンド出力は次のようなものになります。
Encrypting [mvpassword]
Encrypted characters: [67|115|98|97|83|81|100|53|82|90|67|122|73|109|99|111|70]
Encrypted string....: [CsbaSQd5RZCzImcoF45kmg
=]
大カッコで囲まれた暗号化された文字列値(例では太字で表示)のコピーを作成します。これが暗号化されたパスワードです。
その後、次の手順を実行します。
$OACC_INSTALL/svn/db/conf
内のsvnserve.conf
ファイルを次のように変更します。
次の行を非コメント化します。
password-db=mvuserfile
一般セクションのアクセス権限を次の値に変更します。
[general] anon-access = none auth-access = write
$OACC_INSTALL/svn/db/conf
に、mvuserfileという名前で次の内容のASCIIファイルを作成します。
[USERS] mvadmin=unencryptedpassword
Application Configuration Console固有のオペレーティング・システム・ユーザー(OACCUSER
)が少なくとも読取り権限を持つように、mvuserfile
の権限を設定します。
ユーザー名およびパスワード・プロパティ値をserver_modules_registry.xml
内の次のモジュールに追加します。
<module name="com.mvalent.service.system.repository.version.impl. subversion.SvnSessionContext"> <property name="username" value="mvadmin"/> <property name="password" value="encryptedpassword"/>\
次の場所にあるserver_modules_registry.xml
の各バージョンにこの変更を加えます。
$OACC_INSTALL/appserver/tomcat/shared/classes/ $OACC_INSTALL/appserver/tomcat/webapps/mvtrack/WEB-INF/classes $OACC_INSTALL/appserver/tomcat/webapps/mvwebreports/WEB-INF/classes
SVNサーバーへの匿名の読取りおよび書込みアクセスが使用不可になります。
コアTomcatサーバーでは、SSL証明書を使用してApplication Configuration Consoleクライアントとの通信を保護します。必要に応じて、Oracle提供の証明書のかわりにユーザー提供の証明書を使用できます。証明書はJKSまたはPKCS #12形式のものを使用でき、関連付けられた秘密鍵を必要とします。たとえば、PKCS #12を使用するには、次の手順を実行します。
コア・サーバーおよびクライアントが実行中であれば停止します。
OpenSSLを使用して証明書ファイルからキーストア・ファイルを生成します。
> openssl pkcs12 -export -in mycertificate.cer -inkey mycertificate.key -out mvserver.ks -name tomcat
クライアントが使用できるよう、mvserver.ks
ファイルをコピーします。
> cp mvserver.ks mvclient.ts
コア・サーバー・システムで、既存のmvserver.ks
ファイルの名前を変更します。
> cd $OACC_INSTALL/com.mvalent.integrity_5.3.2/webserver/tomcat > rename mvserver.ks mvclient.ks.orig
手順2で作成した新しいmvserver.ks
ファイルを次のディレクトリにコピーします。
$OACC_INSTALL/com.mvalent.integrity_5.3.2/webserver/tomcat
$OACC_INSTALL/appserver/tomcat/conf/server.xml
ファイルをテキスト・エディタで開きます。
ファイルの末尾に移動して、port="9943"
で始まる<Connector>
要素を探します。
Connector
要素のkeystorePass
属性を証明書のパスワードに変更します。
server.xml
ファイルを保存して閉じます。
各クライアント・マシンで、手順3で作成したmvclient.ts
ファイルを次のディレクトリにコピーします。
$OACC_INSTALL\runtime\plugins\com.mvalent.integrity_5.3.2\config
各クライアントで、次のディレクトリに移動し、client_boot.xml
をテキスト・エディタで開きます。
$OACC_INSTALL\runtime\plugins\com.mvalent.integrity_5.3.2\config
trustStorePassword
の値を証明書のパスワードに変更します。
client_boot.xml
ファイルを保存して閉じます。
コア・サーバーおよびクライアントを再起動します。