レベル: 初級 徳永 明日香 (asukat@jp.ibm.com), IM&Lotus開発, ソフトウェア開発研究所, IBM 大川 昌弘 (mohkawa@jp.ibm.com), IM&Lotus開発, ソフトウェア開発研究所, IBM 貝嶋 創 (kaijima@jp.ibm.com), IM&Lotus開発, ソフトウェア開発研究所, IBM 中嶋 剛 (gnaka@jp.ibm.com), IM&Lotus開発, ソフトウェア開発研究所, IBM
2009年 2月 06日 IBM Database Encryption Expert (DEE)は、アプリケーションがファイル・システムに書き込むデータやデータベースのバックアップ・イメージを暗号化し、アクセス制御する機能を提供します。この連載では、DEEの機能やメカニズム、操作方法、いくつかのシナリオなどを紹介します。第2回は、主なセットアップとメンテナンスについて解説します。
はじめに
DEEは1台以上のDEE Security Server(プライマリ・サーバー1台と複数のフェイルオーバー・サーバー)と、1台以上のDEE Agentによって構成されます。図1はDEEの全体像を図示したものです。
DEE Security Serverは構成情報を格納するデータベースとログを格納するデータベースを持っています。構成情報データベースには、DEE Management Console上で作成されるポリシーや暗号化キーなどの情報が保存されています。一方、ログデータベースにはDEE Security ServerやDEE Agent上で発生したイベントが記録されます。SQLレプリケーション機能を利用してプライマリ・サーバーの構成情報データベースとフェイルオーバー・サーバーの構成情報データベースを同期させることで、プライマリ・サーバーの停止中も、プライマリ・サーバーと同じ構成のもとでDEE Agentを動作させることができます。SQLレプリケーションでは、ログデータベースは同期されません。DEE AgentがログをDEE Security Serverに送信する場合、DEE Agentのログは、設定に応じていずれか1つのDEE Security Serverのログデータベースに記録されます。ログはDEE Security Serverのログデータベース内のみでなく、DEEを構成する各マシン上にもファイル形式で記録することもできます。
DEEを構成する各マシンには、CA(認証局)が発行したX.509証明書ファイルが保存されています。X.509証明書には有効期限が存在するため、期限が切れる前に更新する必要があります。
第2回前半では、DEE Security ServerとDEE Agentのインストール、また各マシンをDEEシステムとして構成する手法を説明します。
第2回後半では、DEEの運用にあたって必要となるメンテナンスとして、「構成情報データベースのバックアップとリストア」「ログデータベースやログファイルの削除」「X.509証明書の更新」の3点について解説します。
図 1. DEE構成の全体像
DEEシステムのセットアップ
DEE Security Server(プライマリ・サーバー)のセットアップ
DEE Security Server(プライマリ・サーバー)のセットアップ手順は以下の通りです。
- プライマリ・サーバーのマシンにDEE Security Serverの前提ソフトウェアを"http://www.vormetric.com/ibmEE/"からダウンロードして導入します。
- インストーラーを起動し、指示に従ってDEE Security Serverをインストールします。詳しくはUser's Guide 3章「Installing and configuring the Encryption Expert failover server」を参照してください。途中、マシンをプライマリ・サーバーとして機能させるか、フェイルオーバー・サーバーとして機能させるかを選択する必要があります。ここではプライマリ・サーバーを選択してください。
- インストールが完了すると、プライマリ・サーバーのDEE Management Consoleにアクセスすることが可能です。”https://primary-server:8445” にアクセスしてください。初期ログインIDはadmin、パスワードはadmin123です。
DEE Agentのセットアップ
DEE Agentのセットアップ手順は以下の通りです。DEE Agentの導入時にDEE Security Serverとの通信を行うため、DEE Security Serverを先に導入してください。
- DEE Management Consoleから、ホスト(DEE Agentのマシン)を追加します。("Hosts" -> "Add")
ホスト名、パスワードの他に、使用するDEE Agentのタイプを選択します。同一ホストで、DEE DB2 AgentとDEE IDS Agentを同時に使用することはできません。ここで入力するパスワードは、Cashed on Host機能などに利用します。Cashed on Host に関しては第3回を参照ください。
図 2. ホストの追加
ホストを追加すると、"Reg. Allowed"チェックボックスがチェックされます。これは、そのホストがX.509証明書を取得・登録できることを意味します。
図 3. ホストリスト
- ホストにDEE Agentを導入します。途中、プライマリ・サーバーのホスト名を入力する必要があります。導入過程でプライマリ・サーバーとの通信が行なわれ、選択したDEE Agentに対してX.509証明書が生成され、登録されます。
- DEE Management Consoleからホストを選択します。図4に示すように、X.509証明書のフィンガープリントが表示されます。DEE Security Serverとホストとの通信を有効にするために、"Communication Enabled"チェックボックスをチェックします。DEE Management Consoleでログを確認すると、「The Security Server was able to successfully send security configuration changes to the agent on host hostname」というメッセージが表示され、DEE Security Serverとホストとの通信が有効になったことが確認できます。
図 4. ホスト情報
DEE Security Server(フェイルオーバー・サーバー)のセットアップ
フェイルオーバー・サーバーの導入は、1. DEE Security Serverのインストール、2. SQLレプリケーションの構成、3. DEE Agent設定ファイルの編集、の3つの手順で行ないます。
まず、DEE Security Serverをインストールします。導入時にプライマリ・サーバーとの通信を行うため、プライマリ・サーバーの導入後に行なってください。
- DEE Management Consoleから、フェイルオーバー・サーバーを追加します。("High Availability" -> "Add")
フェイルオーバー・サーバーのホスト名を入力します。
図 5. DEE Security Serverリスト
- フェイルオーバー・サーバーのマシンにDEE Security Serverの前提ソフトウェアを"http://www.vormetric.com/ibmEE/"からダウンロードして導入後、DEE Security Server を導入します。サーバータイプとしては"Failover"を選択します。DEE Security Serverの導入中にプライマリ・サーバーのホスト名を入力する必要があり、プライマリ・サーバーからX.509証明書の発行が行われます。X.509証明書の発行、登録に成功すると、図5の”Registered”チェックボックスにチェックが入ります。
- フェイルオーバー・サーバーの数だけ、1と2を繰り返します。
次に、SQLレプリケーションを構成します。これによって、プライマリ・サーバーの構成情報データベースと、フェイルオーバー・サーバーの構成情報データベースを自動的に同期させることが可能になります。
- プライマリ・サーバーでSQLレプリケーションを構成します。
DEE Security Serverのデータベースのインスタンス・ユーザーである"voradmin"でログインします。
次のコマンドを実行します。
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/configure_replicatoin
|
-
プライマリ・サーバーのDEE Security Serverを再起動します。
rootでログインし、次のコマンドを実行します。
次のコマンドを実行します:
# /etc/init.d/cgss restart
|
インストールが完了すると、フェイルオーバー・サーバーのDEE Management Consoleにアクセスすることが可能です。”https://failover-server:8445” にアクセスしてください。ログインIDはプライマリ・サーバーと同様のものが利用可能です。フェイルオーバー・サーバーのDEE Management Consoleでは各種情報を参照することができますが、更新はできません。
次に、DEE Agentでフェイルオーバー・サーバーを登録します。詳しくは、User's Guide 6章「Configuring hosts - Configuring an agent to use Security Servers」を参照してください。
- 各DEE Agentにrootでログインします。
- agent.confファイルを編集し、次の例のようにフェイルオーバー・サーバーを追加します。各DEE Security ServerのURLは、','(カンマ)で区切ります。
DEE FS Agent:
ファイル名:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/etc/agent.conf
内容:
URL = https://primary-server:8443, https://failover-server1:8443
DEE DB2 Agent:
ファイル名:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/etc/agent.conf
内容:
URL = https://primary-server:8443/communication-server/SSControllerDB2, https://failover-server1:8443/communication-server/SSControllerDB2
DEE IDS Agent:
ファイル名:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/etc/agent.conf
内容:
URL = https://primary-server:8443/communication-server/SSControllerDB2, https://failover-server1:8443/communication-server/SSControllerDB2
-
DEE FS Agentに対して上記の構成を反映させるために、vmdプロセスをリスタートします。DEE DB Agentの場合は、常駐プロセスではないため、処理は不要です。
UNIX, Linux
- vmdプロセスをkillした後、再起動します。
# ps –aef | grep vmd
# kill -9 pid
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/vmd
|
Windows
- コマンド・プロンプト画面を表示させます。
- vmdプロセスを再起動(ストップしてスタート)させます。
# net stop vmd
# net start vmd
|

 |
構成情報のバックアップとリストア
DEEでは、プライマリ・サーバーの構成情報をバックアップする機能が提供されています。バックアップ・イメージはパスワードで保護されます。
バックアップには、プライマリ・サーバーの構成情報データベースとX.509証明書が含まれます。DEE Security Server上のログデータベースは含まれません。ログデータベースのバックアップについては、次章を参照してください。
バックアップの際は以下のコマンドを実行します。
"/opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/backup_config [バックアップ先ディレクトリ]" |
バックアップ先ディレクトリを指定しない場合、バックアップファイルは/tmpディレクトリの下に作成されます。
リストア時には以下のコマンドを実行します。
"/opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/restore_config -f [backup_file]" |
バックアップ、リストアコマンドは、プライマリ・サーバーの起動中でも、停止中でも発行することができます。バックアップ、リストアコマンド実行途中で、プライマリ・サーバーの再起動が行なわれます。
ログの削除
DEEのログは以下の場所に記録されます。必要に応じてバックアップを取得し、定期的に削除してください。DEE Security ServerはDB2®を使用していますので、DB2のログも定期的に削除してください。
- DEE Security Server: LOGDBデータベース内
- DEE Security Server: /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/log
- DEE Agent: /var/log/eet
- DEE Security Server: /home/voradmin
DEE Security Server: LOGDBデータベース内
DEE Security Server LOGDBデータベース内のログは、DEE Management Consoleを用いてバックアップや削除ができます。
DEE Management Consoleで”Log”を選択すると、以下のような画面になります。
図 6. ログの閲覧
“Export Logs”を選択すると、LOGDBデータベースをCSV形式のファイルに保存することができます。ファイルは、/opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/jboss-4.0.4.GA/server/default/exported_logs に保存されます。”Export Logs”を行っただけでは、LOGDBデータベースの中身は削除されません。
“Delete Logs”を選択すると、DEEはLOGDBデータベースのエクスポートと削除を同時に行います。
DEE Security Server: /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/log
DEE Security Serverの/opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/logディレクトリには、以下のようなログファイルが存在します。各ファイルの詳細は、User's Guide14章「Managing Encryption Expert logs – Encryption Expert Security Server log files」を参照してください。
図 7. DEE Security Serverのログファイル
これらのファイルのうち、ファイル名に日付が入っているものは、現在使用されていない古いログファイルなので、必要に応じてバックアップを行い、削除することができます。
DEE Agent: /var/log/eet
DEE Agentの/var/log/eetに存在するログファイルも同様に、ファイル名に日付が含まれている古いログファイルは削除することができます。
DEE Security Server: /home/voradmin
フェイルオーバー・サーバーを導入し、SQLレプリケーション機能を利用している場合、プライマリ・サーバーの/home/voradminには、以下の2種類のログファイルが存在します。
- voradmin.CGSSDB.ASN.CAP.log
- voradmin.CGSSDB.CGSSDB_AQ_1.APP.log
これらのファイルには、SQLレプリケーション機能のログが書き出されます。必要に応じて、これらのファイルも削除してください。削除した後は、SQLレプリケーション機能によって再度同名のファイルが作成され、ログの書き出しが続行されます。
X.509証明書の更新
X.509証明書には有効期限があり、期限が過ぎるとその証明書を利用した通信が不能になります。証明書は、DEEシステムの各マシンの以下のディレクトリに保存されています。
DEE Security Server: /opt/IBM/DB2TOOLS/LUWEncrptionExpert/pem
DEE FS Agent: /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/pem
DEE DB2 Agent: /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/pem
DEE IDS Agent: /opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/pem
証明書の有効期限を確認するためには、pemディレクトリ内で、次のコマンドを実行してください。
openssl x509 -in filename -noout –text |
実行すると、証明書の内容が以下のように表示されます。
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
0c:82:d5:ad:e7:f2:b0:fd:d7:22:14:e2:9f
Signature Algorithm: sha1WithRSAEncryption
Issuer: CN=EET CA (S) on srv1.yamato.ibm.com, OU=I, O=IBM, L=Yamato,
ST=Kanagawa, C=JP // 証明書の発行者=プライマリ・サーバーのCA
Validity
Not Before: Dec 14 06:52:41 2008 GMT
Not After : Dec 14 06:52:41 2012 GMT // 証明書の有効期限
Subject: OU=This agent certificate was automatically generated, CN=EET
FS_VMD Agent on host1.yamato.ibm.com // 主体者(証明の受け手)
・・・・・
|
pemディレクトリ内の証明書には、有効期限が4年のものと10年のものがあります。
プライマリ・サーバーのpemディレクトリには、CA(認証局)用の自己署名証明書(donkey_signer-cert.pemなど)と、CAがプライマリ・サーバーへ発行したプライマリ・サーバー用証明書(donkey_primary-server-cert.pemなど)が存在します。どちらも有効期限は10年です。
フェイルオーバー・サーバーのpemディレクトリには、CA用の自己署名証明書(donkey_signer-cert.pemなど)と、CAがフェイルオーバー・サーバーへ発行したフェイルオーバー・サーバー用証明書(donkey_failover-server-cert.pemなど)が存在します。フェイルオーバー・サーバー上のCA用の自己署名証明書はプライマリ・サーバーからコピーされたもので、有効期限は10年です。CA用の自己署名証明書の更新は、プライマリ・サーバー上で行ないます。フェイルオーバー・サーバー用証明書の有効期限は4年です。
DEE Agentのpemディレクトリには、CA用の自己署名証明書(agent_signer-cert.pemなど)と、CAがDEE Agentへ発行したDEE Agent用証明書(agent-cert.pemなど)が存在します。DEE Agent上のCA用の自己署名証明書は、プライマリ・サーバーからコピーされたもので、有効期限は10年です。CA用の自己署名証明書の更新は、プライマリ・サーバー上で行ないます。DEE Agent用証明書の有効期限は4年です。
各マシンに存在するX.509証明書の種類
| マシン・タイプ | 証明書種類 | 証明書ファイル | 主体者(証明の受け手) | 有効期限 |
|---|
| プライマリ・サーバー | CA用自己署名証明書 | donkey_signer-cert.pemなど | CA | 10年 | | プライマリ・サーバー用証明書 | donkey_server_primary-server-cert.pemなど | プライマリ・サーバー | 10年 | | フェイルオーバー・サーバー | CA用自己署名証明書(プライマリ・サーバーのCA用自己署名証明書のコピー) | donkey_signer-cert.pemなど | CA | 10年 | | フェイルオーバー・サーバー用証明書 | donkey_server_failover-server-cert.pemなど | フェイルオーバー・サーバー | 4年 | | DEE Agent | CA用自己署名証明書(プライマリ・サーバーのCA用自己署名証明書のコピー) | Agent_signer-cert.pemなど | CA | 10年 | | DEE Agent用証明書 | agent-cert.pemなど | DEE Agent | 4年 |
以降で、CA用自己署名証明書、プライマリ・サーバー用証明書、フェイルオーバー・サーバー用証明書、DEE Agent用証明書、それぞれの更新手法を説明します。各コマンドの詳細はUser's Guide16章「Maintaining Encryption Expert」を参照してください。
CA(認証局)用自己署名証明書の更新
CAの自己署名証明書の更新を行うには、プライマリ・サーバーで次のコマンドを実行します。
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_cert_auth |
CAの自己署名証明書の更新を行うと、プライマリ・サーバー証明書の更新も自動的に行われます。CAのX.509証明書の更新後は、すべてのDEE Security ServerとDEE Agentが保持するX.509証明書が無効になる為、フェイルオーバー・サーバーとDEE Agentの証明書も更新する必要があります。
プライマリ・サーバー用X.509証明書の更新
プライマリ・サーバー用証明書の更新を行うため、以下の2つのコマンドが用意されています。これらのコマンドはプライマリ・サーバー上で実行してください。
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_cert |
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_sign_cert |
re_gen_certコマンドを実行すると、キーが再作成され、証明書が更新されます。re_sign_certコマンドでは、キーの再作成は行われず、証明書の更新のみが行われます。証明書の期限切れには、どちらのコマンドを実行しても対応できます。キーにセキュリティ侵害の恐れがある場合などは、re_gen_certコマンドを利用してキーを再作成してください。
フェイルオーバー・サーバーX.509証明書の更新
プライマリ・サーバー証明書の更新を行うため、以下の2つのコマンドが用意されています。これらのコマンドはフェイルオーバー・サーバー上で実行してください。
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_gen_failover_cert |
# /opt/IBM/DB2TOOLS/LUWEncryptionExpert/server/bin/re_sign_failover_cert |
re_gen_failover_certコマンドを実行すると、キーが再作成され、証明書が更新されます。
re_sign_failover_certコマンドでは、キーの再作成は行われず、証明書の更新のみが行われます。
DEE Agent用X.509証明書の更新
以下の手順でDEE Agentの証明書を更新します。
- ホスト上で次のコマンドを発行して、証明書を削除します(root権限で実行)。コマンドを実行すると、DEE Agentの設定ファイルagent.conf内のDEE Security Serverの登録も削除されます。
DEE FS Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/register_host clean
DEE DB2 Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host clean
DEE IDS Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host clean
|
- DEE Management Consoleのメニューから"Hosts"を選択します。該当するホスト名を選択すると、図4と同様の画面になります。"Registration Allowed"チェックボックスのチェックを外し、"Apply"をクリックします。"Certificate Fingerprint"欄の表示が消去されることが確認できます。
-
DEE Management Consoleから、再度"Registration Allowed"チェックボックスをチェックします。
-
ホスト上で次のコマンドを発行して、X.509証明書を生成し、DEE Security Serverに登録します(root権限で実行)。コマンドを発行すると、agent.confファイルに、プライマリ・サーバーの情報が自動的に追加されます。
DEE FS Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/vmd/bin/register_host
DEE DB2 Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/db2/bin/register_host
DEE IDS Agent:
/opt/IBM/DB2TOOLS/LUWEncryptionExpert/agent/ids/bin/register_host
|
- DEE Management Consoleからホスト上の該当する"Communication Enabled"チェックボックスをチェックします。
- ホストの設定ファイルagent.confを編集し、フェイルオーバー・サーバーの情報を再度登録します。登録手法は上記「DEE Security Server(フェイルオーバー・サーバー)のセットアップ」を参照してください。

 |
まとめ
「IBM Database Encryption Expertを利用してデータを保護する」第2回では、DEEシステムのセットアップとメンテナンスを紹介しました。フェイルオーバー・サーバーやDEE Agentの導入時には、プライマリ・サーバーとの通信が行われるため、先にプライマリ・サーバーを導入してください。フェイルオーバー・サーバー導入時には、プライマリ・サーバーでSQLレプリケーションの構成を行い、DEE Agentでフェイルオーバー・サーバーの登録を行ないます。
DEEの構成情報は、パスワード保護のもとバックアップすることができます。ログは定期的に削除してください。X.509証明書には有効期限があります。CA用自己署名証明書とプライマリ・サーバー用証明書の有効期限は10年で、その他の証明書の有効期限は4年です。DEE Agentの証明書を更新すると、フェイルオーバー・サーバーの登録が削除されますので、DEE Agent上の設定ファイルを編集し、再登録する必要があります。
参考文献
著者について  | |  | 徳永 明日香は、ソフトウェア開発研究所のIM&Lotus開発に所属するソフトウェアエンジニアで、現在は主にデータベースツール製品の開発やテストを行っています。 |
 | |  | 大川 昌弘は、ソフトウェア開発研究所のIM&Lotus開発に所属するソフトウェアエンジニアで、現在は主にデータベースツール製品の開発やテストを行っています。 |
 | |  | 貝嶋 創は、ソフトウェア開発研究所のIM&Lotus開発に所属するソフトウェアエンジニアで、現在は主にデータベースツール製品の開発やテストを行っています。 |
 | |  | 中嶋 剛は、ソフトウェア開発研究所のIM&Lotus開発に所属するソフトウェアエンジニアで、現在は主にデータベースツール製品の開発やテストに従事しています。 |
記事の評価
|