この章では、Oracle GoldenGate Veridataに対するセキュリティの設定方法について説明します。
この章の内容は次のとおりです。
Oracle GoldenGate Veridataを使用する場合、ビジネス・アプリケーションの表またはファイルからデータ値を選択、表示、ソートします。次のコンポーネントへのアクセスの保護には注意する必要があります。
Oracle GoldenGate Veridataインストール・ディレクトリにあるファイル、プログラムおよびディレクトリ
データ比較の結果が含まれるデータファイル
データ値を表示できるOracle GoldenGate Veridata Webユーザー・インタフェース
Oracle GoldenGate Veridataでは、Veridataサーバーと、ネットワーク経由で接続されている複数のVeridataエージェント間のSecure Sockets Layer (SSL)およびプレーン・ソケット通信の両方をサポートしています。この項では、VeridataサーバーとVeridataエージェント間のSSLおよびセキュアな通信の構成方法について説明します。
注意: NonStopプラットフォームのVeridataエージェントは、SSL通信をサポートしていません。 |
SSLのシナリオでは、VeridataサーバーはSSLクライアント、VeridataエージェントはSSLサーバーとみなされます。Veridataサーバーおよびエージェントは、相互のアイデンティティを認証します。サーバーとエージェント間で交換されるデータも暗号化されます。
Oracle GoldenGate Veridataでは、一方向または双方向でSSLを構成できます。
一方向SSL接続では、SSLクライアント(Veridataサーバー)はSSLサーバー(Veridataエージェント)を信頼する必要があります。双方向SSLでは、SSLサーバーとSSLクライアント間で相互信頼が必要です。自己署名証明書またはCA署名証明書のいずれかを使用して、SSLを有効にできます。
自己署名証明書を使用
自己署名証明書を使用して一方向SSLを確立する手順:
すべてのVeridataエージェントで自己署名証明書を作成します。
すべてのVeridataエージェント証明書をVeridataサーバーのVeridataWebTrustStore
にアップロードします。2.2.6項「OPSSキーストア・サービスを使用したVeridataキーストアの管理」を参照してください。
自己署名証明書を使用して双方向SSLを確立する手順:
すべてのVeridataエージェントで自己署名証明書を作成します。
すべてのVeridataエージェント証明書をVeridataサーバーのVeridataWebTrustStore
にアップロードします。2.2.6項「OPSSキーストア・サービスを使用したVeridataキーストアの管理」を参照してください。
Veridata WebLogic Serverアイデンティティ・ストアの自己証明証明書を作成します。
WebLogic Serverアイデンティティ証明書をすべてのVeridataエージェントのトラストストアにアップロードします。
証明書の作成およびインポートの詳細は、2.2.5項「Keytoolユーティリティを使用したキーストアおよび自己署名証明書の作成」を参照してください。
CA署名証明書を使用
CA署名証明書を使用して一方向SSLを確立する手順:
同じ認証局(CA)が発行した証明書をすべてのVeridataエージェントに使用します。
Veridata Weblogic Server.のルートCA証明書を信頼します。
CA署名証明書を使用して双方向SSLを確立する手順:
同じ認証局(CA)が発行した証明書をすべてのVeridataエージェントに使用します。
Veridata Weblogic Server.のルートCA証明書を信頼します。
CAが発行した証明書をVeridata Weblogic Serverのアイデンティティ・ストアに使用します。
前述の手順でVeridataエージェント・トラストストアに使用したルートCA証明書を信頼します。
Oracle GoldenGate VeridataサーバーおよびOracle GoldenGate Veridataエージェントは、デフォルトでSSLが有効になっていません。SSLを使用する場合は、サーバーおよびエージェントのプロパティを有効にする必要があります。「Oracle GoldenGate VeridataエージェントのSSL設定」および「GoldenGate VeridataサーバーのSSL設定」を参照してください。
アイデンティティおよびトラスト・キーストアも作成する必要があります。認証局(CA)証明書を使用していない場合は、自己署名証明書を作成します。「Keytoolユーティリティを使用したキーストアおよび自己署名証明書の作成」を参照してください。
Veridataサーバーとエージェント間のSSL接続を確認および確立するには、次の手順に従います。
Veridata WebサーバーのSSLを構成します。「GoldenGate VeridataサーバーのSSL設定」を参照してください。
Veridata Webサーバーを再起動します。
Veridataエージェントを停止します。VeridataエージェントのSSLを構成します。「Oracle GoldenGate VeridataエージェントのSSL設定を参照してください。
エージェント側のキーストアを取得します。「OPSSキーストア・サービスを使用したVeridataキーストアの管理」を参照してください。
エージェント側のキーストアをエージェント構成プロパティ・ファイルに構成します。
configure_agent_ssl.sh
を実行し、エージェント構成ファイルに構成したキーストアにパスワードを指定します。「Veridataエージェント・ウォレットの変更」を参照してください。
エージェントを起動します。
エージェント・キーストアと、OPSSキーストア・サービスに存在する対応するVeridataサーバー間で信頼が適切に確立されると、SSL通信が確立されます。
デフォルトでは、Oracle GoldenGate VeridataエージェントではSSLが無効になっています。SSLを構成するには、Veridataエージェントのagent.properties
ファイルの次のプロパティを編集します。
表2-1 agent.propertiesファイルのSSLパラメータ
パラメータ | 説明 | デフォルト値 |
---|---|---|
server.useSsl |
VeridataエージェントとVeridataサーバー間のSSL通信を有効化または無効化します。使用される値は、次のとおりです。 true: SSL通信を有効化する false: SSL通信を無効化する |
false |
server.use2WaySsl |
SSL通信が一方向または双方向であるかを指定します。オプションは次のとおりです。 true: 双方向SSL通信を使用する false: 一方向SSL通信を使用する |
false |
server.identitystore.type |
SSL構成に使用されるキーストアのタイプを指定します。 |
JKS |
server.identitystore.path |
サーバー・アイデンティティ・キーストアのパスを指定します。 |
./certs/serverIdentity.jks (自己署名) |
server.truststore.type |
SSL構成に使用されるトラストストアのタイプを指定します。 |
JKS |
server.truststore.path |
サーバー・トラストストアのパスを指定します。 |
./certs/serverTrust.jks (自己署名) |
server.identitystore.keyfactory.alg.name |
SSLサーバー・アイデンティティ・ストアに使用されるキーファクトリのアルゴリズム名。 |
SunX509 |
server.truststore.keyfactory.alg.nam |
SSLサーバー・トラストストアに使用されるキーファクトリのアルゴリズム名。 |
SunX509 |
server.ssl.algorithm.name |
SSLアルゴリズム名。 注意: このパラメータのこの値は、VeridataエージェントとVeridataサーバーで同じにする必要があります。 |
TLS |
Veridataサーバーとエージェント間のすべての接続でSSL通信を有効にするには、VeridataインストールのDOMAIN_HOME
/config/veridata
ディレクトリにあるveridata.cfg
ファイルにSSLパラメータを設定する必要があります。表2-2は、SSL通信用にveridata.cfg
ファイルに設定する必要のある各パラメータの説明です。
特定の接続のみにSSL通信を確立することもできます。これを行うには、Oracle GoldenGate Veridata Webユーザー・インタフェースで接続プロパティを編集します。詳細は、Oracle GoldenGate Veridataのオンライン・ヘルプを参照してください。
注意: これらの設定に加えて、WebLogicドメインのOPSSキーストア・サービスを使用して、Veridataサーバー・アイデンティティ・キーストアおよびトラスト・キーストアを構成します。詳細は、2.2.6項「OPSSキーストア・サービスを使用したVeridataキーストアの管理」を参照してください。 |
表2-2 veridata.cfgファイルのSSL設定
パラメータ | 説明 | デフォルト値 |
---|---|---|
server.useSsl |
VeridataエージェントとVeridataサーバー間のSSL通信を有効化または無効化します。使用される値は、次のとおりです。 true: SSL通信を有効化する false: SSL通信を無効化する |
false |
server.ssl.client.identitystore.keyfactory.alg.name |
SSLサーバー・アイデンティティ・ストアに使用されるキーファクトリのアルゴリズム名。 |
SunX509 |
server.ssl.client.truststore.keyfactory.alg.name |
SSLサーバー・トラストストアに使用されるキーファクトリのアルゴリズム名。 |
SunX509 |
server.ssl.algorithm.name |
SSLアルゴリズム名。 注意: このパラメータのこの値は、VeridataエージェントとVeridataサーバーで同じにする必要があります。 |
TLS |
相互認証およびSSL通信の確立のために、VeridataサーバーおよびVeridataエージェントが相互に信頼し、それぞれのトラストストアに証明書を追加する必要があります。
この項では、Java Runtime Environment (JRE)に付属のkeytool
ユーティリティを使用して、キーストアおよび自己署名証明を作成する方法について説明します。keytool
の詳細は、Javaドキュメント(http://docs.oracle.com/javase/7/docs/technotes/tools/#security
)を参照してください。
次のkeytool
コマンドでは、自己署名証明書を含むキーストアを作成します。
keytool -genkey -keystore certs -keyalg rsa -alias vdt_alias -storepass server_ks_pwd -keypass server_pwd
keytool
ユーティリティを実行すると、証明書の詳細を入力するように求められます。入力を求められたら、コマンドラインから入力します。
Veridataエージェントのキーストアを構築するには、次のkeytool
コマンドを実行します。
keytool -genkey -alias agent.server.keys -keyalg RSA -keystore agent.server.keystore -storepass ks_password -keypass keypwd
Veridataエージェントの証明書をファイルにエクスポートするには、次のkeytool
コマンドを実行します。
keytool -export -alias agent.server.keys -keystore agent.server.keystore -storepass ks_password -file agent.server.cer
Veridata Webサーバーのキーストアを構築するには、次のkeytool
コマンドを実行します。
-genkey -alias vdt.web.client.keys -keyalg RSA -keystore vdt.web.client.keystore -storepass ks_password -keypass keypwd
Veridataサーバーの証明書をファイルにエクスポートするには、次のkeytool
コマンドを実行します。
keytool -export -alias vdt.web.client.keys -keystore vdt.web.client.keystore -storepass ks_password -file vdt.web.client.cer
Veridataサーバーの証明書をエージェントのトラストストアにインポートするには、次のkeytool
コマンドを実行します。
keytool -import -v -keystore agent.server.truststore -storepass ks_password -file vdt.web.client.cer
Veridataエージェントの証明書をVeridata Webサーバーのトラストストアにインポートするには、次のkeytool
コマンドを実行します。
keytool -import -v -keystore vdt.web.client.truststore -storepass ks_password -file agent.server.cer
Oracle Platform Security Services (OPSS)キーストア・サービスは、Veridataサーバーのアイデンティティおよびトラスト・キーストアを格納するリポジトリとして使用されます。Veridataエージェント・キーストアは、OPSSキーストア・サービスを使用して管理することもできます。詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のキーストア・サービスによる鍵および証明書の管理に関する項を参照してください。
表2-3に、OPSS設定のデフォルト値を示します。
表2-3 OPSS設定
設定 | 値 |
---|---|
WebLogic Serverによって作成されるアプリケーション・ストライプの名前。 |
VeridataSec |
アプリケーション・ストライプVeridataSecのアイデンティティ・キーストアの名前。 |
VeridataWebIdentityStore |
アプリケーション・ストライプVeridataSecのトラスト・キーストアの名前。 |
VeridataWebTrustStore |
OPSSキーストア・サービスを使用して双方向SSLを構成する手順:
Veridataエージェントごとに、アイデンティティおよびトラスト・キーストアを作成します。
Veridata Webサーバーのアイデンティティ証明書でVeridataWebIdentityStore
を更新します。
Veridataエージェントのすべての証明書でVeridataWebTrustStore
を更新します。
Veridata Webサーバーのアイデンティティ証明書でVeridataエージェントの各トラストストアを更新します。
エージェントのキーストアおよびトラストストアをJKSファイルとしてエクスポートし、パスワードをメモします。
JKSファイルを対応するエージェント・マシンに配信します。
configure_agent_ssl
ツールを実行し、キーストア・パスワードでエージェント・ウォレットを更新します。
エージェントごとに、SSLが有効になるようにagent.propertiesファイルを構成します。
OPSSキーストア・サービスを使用して一方向SSLを構成する手順:
Veridataエージェントごとに、アイデンティティ・キーストアを作成します。
Veridata Webサーバーのアイデンティティ証明書でVeridataWebIdentityStore
を更新します。
エージェントのキーストアおよびトラストストアをJKSファイルとしてエクスポートし、パスワードをメモします。
JKSファイルを対応するエージェント・マシンに配信します。
configure_agent_ssl
ツールを実行し、キーストア・パスワードでエージェント・ウォレットを更新します。
エージェントごとに、SSLが有効になるようにagent.propertiesファイルを構成します。
VeridataエージェントをSSLモードで起動する前に、アイデンティティおよびトラスト・キーストアのパスワードでVeridataエージェント・ウォレットを更新する必要があります。そうしないと、Veridataエージェントは起動しません。
ウォレットを更新するには、エージェント・ホームにあるconfigure_agent_ssl
スクリプトを実行します。
AGENT_HOME\configure_agent_ssl.sh AgentID
AgentID
は、.properties
拡張子なしのエージェント・プロパティ・ファイルの名前です。AgentID
のデフォルト値は、agent
です。
入力を求められたら、エージェントのアイデンティティおよびトラスト・キーストアのエントリまたはロック解除のパスワードを入力します。
この項では、ビジネス・データの保護方法およびOracle GoldenGate Veridataインストール・ディレクトリとユーザー・インタフェースへのアクセスの制御方法について説明します。
標準オペレーティング・システムの権限は、Oracle GoldenGate Veridataサーバー、Webユーザー・インタフェースおよびOracle GoldenGate Veridataエージェントのインストール・ディレクトリ内のプログラム、ファイルおよびディレクトリに適用されます。これらのオブジェクトの権限はビジネス・セキュリティ・ルールに基づいて調整する必要があります。
Oracle GoldenGate Veridataサーバーは機密アプリケーション・データを含むデータ・ファイルを作成します。デフォルトでは、これらのファイルはDOMAIN_HOME/veridata/reports
にあります。そのディレクトリ内のすべてのサブディレクトリには、ビジネス・データに反映されるファイルが含まれます。
機密データを含むファイル・タイプは、次のとおりです。
比較レポート(rpt
サブディレクトリ)
非同期レポート(oosxml
およびoos
サブディレクトリ)
これらのファイルは、Oracle GoldenGate Veridataサーバーのインストール・プログラムを実行するユーザーと同じファイル権限を継承します。権限は変更しないでください。Oracle GoldenGate Veridataが権限を保守できなくなる場合があります。これらのファイルはビジネス・データを保管する場合と同様に安全にする必要があります。Oracle GoldenGate Veridata Webのユーザーは、クライアント・インタフェースで同じ情報が表示されるため、これらのファイルにアクセスする必要はありません。
すべてのレポート・ファイルの内容は、オプションで暗号化できます。詳細は、2.5項「レポート・ファイルの暗号化」を参照してください。
Oracle GoldenGate Veridataのユーザーにセキュリティ・ロールを割り当て、ソフトウェアによって実行される機能へのアクセスを制御できます。これらの機能ではデータベースから選択したデータ値が公開される場合があります。表2-4では、Veridataユーザー・ロールについて説明します。
表2-4 Veridataユーザー・ロール
Veridata | タイプ | 説明 |
---|---|---|
veridataAdministrator |
Type-A |
管理者ロールはOracle GoldenGate Veridataにおける最高レベルのセキュリティ・ロールです。このロールは、Oracle GoldenGate Veridataを構成、実行および監視する機能のすべてを実行できます。 |
veridataPowerUser |
Type-A |
パワー・ユーザー・ロールはOracle GoldenGate Veridataで2番目に高いロールです。このロールは、Oracle GoldenGate Veridata Webユーザー・インタフェースからOracle GoldenGate Veridataを構成、実行および監視するすべての機能を実行できますが、Oracle GoldenGate Veridataサーバーの構成機能を実行することはできません。 |
veridataReportViewer |
Type-B |
レポート・ビューア・ロールでは、Oracle GoldenGate Veridataを構成またはジョブを実行する機能は実行できません。このロールでは、構成およびジョブ情報の表示、比較レポートの表示のみができます。 |
veridataDetailReportViewer |
Type-B |
詳細レポート・ビューア・ロールでは、Oracle GoldenGate Veridataを構成またはジョブを実行する機能は実行できません。このロールでは、Oracle GoldenGate Veridata Webユーザー・インタフェースを使用するか、あるいはファイル・レベルでの構成およびジョブ情報の表示、比較レポートおよび非同期レポート情報の表示のみを行えます。 |
veridataRepairOperator |
Additional |
RepairOperatorロールでは、Veridataの修復機能を使用できます。 |
veridataCommandLineUser |
Additional |
commandLineUserロールでは、Veridataコマンドライン・ツールのvericomおよびveridataスクリプトにアクセスできます。 |
これらのロールは、次のように様々なタイプに分類されます。
Type AおよびType B: デフォルトでは、Type AおよびType BのユーザーにはAdditionalユーザー・ロールの権限が割り当てられません。これらのタイプのユーザーにAdditionalロールを割り当てます。
Additional: WebLogic管理者は、これらのAdditionalロールをType Aユーザーに割り当て、必要なVeridata機能を実行できます。
セキュリティは、Oracle WebLogic Server管理コンソールから制御できます。このインタフェースから、管理者ロールのユーザーは、次のことを実行できます。
ユーザーを作成し、セキュリティ・ロールを割当てます。
ユーザー・グループを作成し、セキュリティ・ロールを割当てます。ユーザーはセキュリティ・ロールがなくてもこれらのグループに追加できます。ユーザーはそのグループのロールを継承します。
ユーザーを作成してセキュリティ・ロールを割当て、そのユーザーをグループに追加します。ユーザーはそのグループのロールを継承し、各ロールを保持します。
Oracle WebLogic Server管理コンソールを開く手順:
ブラウザから次のアドレスを入力して、Oracle WebLogic Server管理コンソールに接続します。
http://weblogic_admin_server_hostname
:admin_server_port
/console
条件:
weblogic_admin_server_hostname
は、Oracle GoldenGate Veridataサーバー・コンポーネントとWebコンポーネントがホストされているシステムの名前またはIPアドレスで、admin_server_port
は、サーバーに割り当てられたポート番号(デフォルトは7001)です。
Oracle GoldenGate Veridata管理者ユーザーとして、管理コンソールにログオンします。デフォルトの管理者ユーザーは、Oracle GoldenGate Veridataドメインの作成中に作成されています。
ユーザーの作成または編集手順
管理コンソールの左ペインで、「Security Realms」を選択します。
「Summary of Security Realms」ページで、Veridataセキュリティ・レルムの名前を選択します。
Settings for Veridata Security realmページで、「Users and Groups」→「Users」を選択します。
「User」表には、認証プロバイダで定義されているすべてのユーザーの名前が表示されます。「New」をクリックして、新しいユーザーを作成するか、既存のユーザーを選択して、設定を編集します。新しいユーザーの次のプロパティを入力します。
Name: ユーザーの名前を指定します。
Provider: ユーザーの管理プロバイダを選択します。
Password: ユーザーのパスワードを入力します。
Description: (オプション)このユーザーの説明を指定します。
ロールをユーザーに割り当てるには、user_nameの「Settings」ページに移動し、「Groups」をクリックします。
このユーザーに該当するロールを選択します。Veridataユーザーのすべてのロールは、表2-4「Veridataユーザー・ロール」に説明されています。
たとえば、管理者のVeridataAdminには、次の図に示す権限を割り当てることができます。
たとえば、Veridataパワー・ユーザーのPowerUserには、次の図に示す権限を割り当てることができます。
「Save」をクリックしてユーザーを保存します。
Oracle GoldenGate Veridataには、比較レポート・ファイル(.rp、.oos、.oosxml)を暗号化するオプションがあります。次の項では、Veridataのレポートの暗号化について説明します。
暗号化は、Veridata構成ファイルのveridata.cfg
の次のパラメータで制御されます。
server.encryption
server.encryption.bits
Veridataレポート・ファイルの暗号化を有効化するには、server.encryption
をtrue
に設定します。
Veridataレポート・ファイルの暗号化では、AES暗号化が使用され、デフォルトの暗号化の強度は128ビットです。veridata.cfg
のserver.encryption.bits
パラメータの値を編集して、暗号化の強度を192から256ビットに上げることができます。128を超える暗号化の強度には、Unlimited Strength Cryptography ExtensionがインストールされたJREが必要です。
これらのパラメータの詳細は、「レポート・ファイル暗号化のパラメータ」を参照してください。
暗号化されたVeridataレポート・ファイルには、次の拡張子がファイル名に含まれます。
.xrpt
: 暗号化された比較または修復レポート・ファイル
.xoos
: 暗号化されたバイナリ非同期ファイル
.xoosxml
: 暗号化された非同期XMLファイル
.xNNN
: 暗号化された非同期XMLチャンク・ファイル(NNN
は10進数)
Veridataレポートの暗号化が有効になっている場合、最初から大きいランダム値の暗号化鍵を使用して、すべてのVeridataレポート・ファイルが暗号化されます。暗号化鍵は、必要に応じて変更できます。
暗号化されたファイルは、読み取る前に復号化する必要があります。Veridata Webユーザー・インタフェースでは、ファイルを表示する前に自動的に復号化します。または、reportutil.sh/.bat
ユーティリティを使用して、暗号化された内容を表示します。このユーティリティは、VERIDATA_DOMAIN_HOME
\veridata\bin
ディレクトリにあります。次のようにツールを実行します。
reportutil [-wlport port ] -wluser weblogic_user { options }
wlport
は、WebLogic Serverのポート番号(デフォルトのポートは8830)で、wluser
は、WebLogic Serverのユーザー名を表します。
有効なオプションは次のとおりです。
-version
、-v
: 現在のバージョンを表示します。
-help
: ヘルプ・メッセージを表示します。
-r
: レポートの暗号化をロールします。
-f
filename
[-d
directory
]: ディレクトリが-d
オプションで指定されている場合、レポート・ファイルを復号化して、指定したファイルに出力します。または、コマンドで、復号化したファイルを標準出力に出力します。
操作を実行するには、reportutil
ツールを実行しているVeridataユーザーが適切なユーザー・グループに属している必要があります。
-r
, -f
: ユーザーがveridataCommandLineUser
グループのメンバーの場合のみ許可されます。
-r
: ユーザーがveridataAdministrator
グループのメンバーの場合に許可されます。
-f
: ユーザーがveridataAdministrator
グループ、veridataPowerUser
グループまたはveridataDetailReportViewer
グループのメンバーの場合に許可されます。
ユーザー・ロールの詳細は、2.4項「ユーザー・ロールの定義によるOracle GoldenGate Veridataへのアクセスの保護」を参照してください。