このページに記載の情報は、2005 年にリリースした PowerGres Plus V2 を対象としています。PowerGres Plus V2 の販売はすでに終了しています。
PowerGres Plus の最新バージョンに関する情報は、製品紹介ページまたは PowerGres 体験記ページを参照してください。
近頃、問題となっている企業の顧客情報漏洩や、2005 年 4 月から施行された個人情報保護法をうけ、データベースのセキュリティ対策は、ますます重要になってきています。
データベースのセキュリティ対策には、大きく 2 つのポイントがあります。 1 つは、データベース本体のセキュリティ対策です。 この対策は、年々関心が高まっており、様々な機能がデータベースに導入されてきています。 もう 1 つは、バックアップデータのセキュリティ対策です。 データベース本体のセキュリティ対策は万全でも、バックアップデータのセキュリティ対策は、後回しになりがちです。
そこで今回は、第 6 回 NetVault 連携による運用 でご紹介した NetVault に、暗号化機能を組み込む方法をご紹介します。 暗号化機能は、プラグインをインストールするだけで簡単に導入することができます。 さらに、第 5 回 差分バックアップ利用による運用 でご紹介したコマンドによる差分バックアップを、NetVault から行う方法もご紹介します。 差分バックアップを導入することで、日々の運用を効率化できます。
NetVault の暗号化機能は、プラグインとして提供されています。 このプラグインをクライアントマシンに組み込みバックアップを行うと、バックアップデータを暗号化して、サーバマシンに転送します。 リストアは、サーバマシンからクライアントマシンに暗号化したままバックアップデータを転送し、クライアントマシンでデータを復号化します。 このように、保存したバックアップデータだけでなく、ネットワークを流れるデータもすべて暗号化されます。
図 1: 暗号化機能を組み込んだシステム
今回は、第 6 回 NetVault 連携による運用 でご紹介した環境に、以下の手順で暗号化機能を導入します。
暗号化プラグインを入手します。 今回は、暗号化プラグインの評価版を使用します。 評価版は、バックボーン・ソフトウェア社の以下のサイトから申請を行い、入手します。
https://www.bakbone.co.jp/products/downloads.html
申請後、メールでダウンロードサイトの URL が通知されます。 そこから暗号化プラグインをダウンロードします。
パッケージ名 | Encryption, Release 1.15 |
---|---|
ファイル名 | csp1f10.npk |
リリース番号、ファイル名は、ダウンロード時点のものです。 評価版は 45 日間、フル機能を試用できます。 その後、正式なライセンスキーを購入し、サーバマシンにインストールすれば、評価期間中に作成した設定やバックアップデータを継続して使用することもできます。
暗号化プラグインを使用するには、ライセンスキーが必要です。 以下の URL から、暗号化プラグインのライセンスキーを申請します。
https://www.bakbone.co.jp/support/evaluation_key.html
申請後、メールでクライアントマシンに登録する Encryption ライセンスキーとサーバマシンに登録する Server Evaluation ライセンスキーが送られてきます。
以下の手順でクライアントマシンに暗号化プラグインをインストールします。
クライアントマシンで、NetVault GUI を起動します。 root で、次のコマンドを入力します。
# nvgui
NetVault GUI の Client Management ボタンをクリックします。 クライアント から、クライアントマシンを右クリックし、ソフトウェアのインストール をクリックします。 ファイル選択から、ダウンロードした暗号化プラグイン (csp1f10.npk) を指定します。
図 2: 暗号化プラグインのインストール
以下の手順でクライアントマシンにライセンスキーを登録します。
クライアントマシンで、NetVault GUI を起動します。 root で、次のコマンドを入力します。
# nvgui
NetVault GUI の Client Management ボタンをクリックします。 クライアント から、クライアントマシンを右クリックし、ライセンスキーのインストール をクリックします。 入力フィールドに、メールで通知された Encryption ライセンスキーを入力し、OK をクリックします。
図 4: ライセンスキーの入力
ライセンスキーの設定が完了すると以下のメッセージが表示されますので、OK をクリックします。
図 5: ライセンスキーの設定完了
以下の手順で、サーバマシンにもクライアントマシンと同様にライセンスキーを登録します。
NetVault GUI の Client Management ボタンをクリックします。 クライアント から、サーバマシンを右クリックし、ライセンスキーのインストール をクリックします。 入力フィールドに、メールで通知された Server Evaluation ライセンスキーを入力し、OK をクリックします。
以下の手順で暗号化機能の設定を行います。
クライアントマシンで、Configurator を起動します。 root で、次のコマンドを入力します。
# nvconfigurator
図 6: 暗号化機能の設定
以上で暗号化機能の導入が完了しました。
Configurator で このクライアントで機密暗号化機能を使用する をチェックすれば、バックアップデータは自動的に暗号化されます。
今回は、第 5 回 差分バックアップ利用による運用 でご紹介した差分バックアップを NetVault で行う方法をご紹介します。
NetVault を使用した差分バックアップは、第 5 回 差分バックアップ利用による運用 でご紹介したスクリプトファイルと NetVault のバックアップ機能を組み合わせて行います。
具体的には、バックアップ対象のマシンに退避用ディレクトリを用意し、スクリプトを使用して、日々のバックアップデータをここに退避します。 次に、NetVault のバックアップ機能を使い、退避用ディレクトリからサーバマシンに暗号化バックアップを行います。
図 7: バックアップの流れ
日曜日に全体バックアップを行い、月曜日から土曜日までは差分バックアップを行う運用例をご紹介します。
図 8: バックアップの運用スケジュール
バックアップ、リストアで使用するスクリプトファイルを準備します。
第 5 回 差分バックアップ利用による運用 でご紹介した以下のサンプルスクリプトファイルを用意します。
make-diff-file.sh | 差分情報格納ファイルを作成するスクリプト |
---|---|
full-copy.sh | 全体バックアップを行うスクリプト |
diff-copy.sh | 差分バックアップを行うスクリプト |
rcv-root.sh | インスタンス復旧用ディレクトリを作成するスクリプト |
rcv-instance-diff.sh | インスタンスを復旧するスクリプト |
スクリプトファイルをNetVaultから呼び出すために、full-copy.sh、diff-copy.sh、rcv-instance-diff.sh を NetVault のインストール先の scripts ディレクトリに実行権をつけて保存します。
full-copy.sh、diff-copy.sh、rcv-instance-diff.sh は、インスタンス管理者で実行する必要がありますが、NetVault は root でスクリプトを起動します。 インスタンス管理者で実行するために、以下のような 3 つの呼び出し用スクリプトファイルを作成します。
図 9: 呼び出し用スクリプトファイル
呼び出し用スクリプトファイルも NetVault のインストール先の scripts ディレクトリに実行権をつけて保存します。
クライアントマシンに差分情報を格納するファイルを作成します。
インスタンス管理者で以下のスクリプトを実行します。 第 1 パラメタは、差分バックアップを行う回数を指定します。
$ sh ./make-diff-file.sh 7
正常に実行されると以下のメッセージが表示されます。
図 10: make-diff-file.sh の実行結果
バックアップデータを退避するディレクトリを作成します。 以下は、/PlusArchive/postgres というディレクトリを作成する例です。
root で、次のコマンドを入力します。
# mkdir -p /PlusArchive/postgres # chown postgres:postgres /PlusArchive/postgres
NetVault に全体バックアップと差分バックアップの 2 つのスケジュールを登録します。
以下に全体バックアップのスケジュールを登録する手順をご紹介します。
クライアントマシンで、NetVault GUI を起動します。 root で、次のコマンドを入力します。
# nvgui
NetVault GUI の Backup ボタンをクリックし、セレクション タブをアクティブにした状態で、バックアップするクライアントマシンをダブルクリックします。 次に、クライアントマシンの File System から、退避用ディレクトリをチェックします。
図 11: 退避用ディレクトリの選択
ジョブ名 にバックアップジョブのタイトルを入れ、プルダウンメニューの 実行 を選択するか、ツールバーの 実行 ボタンをクリックします。
バックアップが登録されると「ジョブ xx 実行成功」と表示されます。
図 14: 全体バックアップのスケジュール登録完了
差分バックアップについても、上記の手順でスケジュールを登録します。 差分バックアップのスケジュールは、月曜日から土曜日までとし、スクリプトファイルの設定は、プレ・スクリプト に pre-diff.sh を設定します。
クライアントマシンにインスタンスディレクトリ、バックアップディレクトリ、データベーススペースを作成します。
インスタンス管理者で以下のスクリプトを実行します。
$ sh ./rcv-root.sh
正常に実行されると以下のメッセージが表示されます。
図 15: rcv-root.sh の実行結果
次に、NetVault から以下の手順でリストアを行います。
クライアントマシンで、NetVault GUI を起動します。 root で、次のコマンドを入力します。
# nvgui
NetVault GUI の Restore ボタンをクリックし、セレクション タブをアクティブにした状態で、クライアントマシンをダブルクリックします。 バックアップされたセーブセットのジョブ名が表示されますので、リストアするものをチェックします。
図 16: セーブセットの選択
ジョブ名 にリストアジョブのタイトルを入れ、プルダウンメニューの 実行 を選択するか、ツールバーの 実行 ボタンをクリックします。
リストアに成功すると「ジョブ xx 実行成功」と表示されます。
図 19: リストアの実行
今回は、NetVault に暗号化機能を組み込み、差分バックアップを行う方法をご紹介しました。 暗号化機能は、プラグインをインストールするだけで簡単に導入することができ、暗号化を意識せずに、安全な運用ができます。 また、差分バックアップと組み合わせて運用することで、日々の運用コストを軽減することもできます。
今回ご紹介したスクリプトファイルは、サンプルとして添付しました。 環境に合わせてご利用ください。