バックアップ・テープのセキュリティは非常に重要です。多くの場合、小さくて持運びの容易なローカライズされた1つのメディアにきわめて重要なデータが格納されているためです。最も安全性の高い保護ポリシーのセット、ファイアウォール、パスワードおよび網膜スキャナを使用して、データへのアクセスを防ぐことができます。ただし、データがポータブル・ストレージ・メディアに暗号化されずにバックアップされている場合や、そのストレージ・メディアが安全なメディア室の外部に持ち出される場合は、このセキュリティ・モデルは機能しなくなります。
バックアップ暗号化は、Oracle Secure Backupのオプションとして高度な構成が可能なメカニズムです。テープに格納されるデータの機密が守られることを保証します。バックアップ暗号化はOracle Secure Backupに完全に統合されており、Oracle Secure Backupをインストールするとすぐに使用できます。バックアップ暗号化は、ファイル・システム・データと、Recovery Manager(RMAN)によって生成されるバックアップの両方に適用されます。
バックアップ暗号化によって、バックアップ管理者は、テープに書き込まれるすべてのクライアント・データを確実に暗号化する手段を得ます。これは、個々のユーザーが、自らのデータのどの部分をどのように暗号化するかを決めるためのものではありません。ユーザー間でデータを保護するためのものでもありません。ハード・ドライブ・レベルで個々のユーザーのデータを暗号化する必要がある場合は、ファイル・システム・レベルの組込み暗号化機能(WindowsのEncrypted File System(EFS)など)を提供するオペレーティング・システムやPGPなどの製品を使用することをお薦めします。
この章の内容は次のとおりです。
バックアップ暗号化は、容易に実装できるように設計されています。最も単純な方法では、バックアップ管理者が1つのグローバル・ポリシーを変更するだけで、各クライアントのすべてのデータが暗号化されます。バックアップ暗号化では非常に多様な構成が可能であり、規模の大きな企業や、バックアップ管理者がバックアップ・ドメインの最適化を検討している場合についても対応できます。
ファイル・システム・バックアップについては、管理ドメイン全体、特定のクライアント、または特定のバックアップ・ジョブに対して暗号化を選択できます。暗号化設定が決まる順序は、上から順にグローバル、クライアント、ジョブです。バックアップ暗号化がグローバル・レベルで有効化されていると、すべてのクライアントとすべてのジョブのデータが暗号化されます。グローバル・ポリシーで暗号化が施行されない場合、クライアント暗号化設定によって暗号化が実行されるかどうかが決まります。クライアントで暗号化が必要ない場合、暗号化の決定はジョブ・レベルに委ねられます。
グローバルおよびクライアントの暗号化ポリシーでは、次の2つの設定が可能です。
required
このバックアップ・ドメインまたはこのクライアントのすべてのデータを暗号化する必要があります。
allowed
暗号化の決定は、優先順位が下位の項目に委ねられます。
一般的に、Recovery Manager(RMAN)のデータの暗号化は、ファイル・システムと同じルールで行われます。1つの違いは、SBTインタフェースに由来するRMANデータが暗号化されると、それ以上の暗号化が行われない点です。もう1つの違いは、1つのRMANバックアップに対して暗号化を有効化できないことです。これは、ジョブがその場で作成されるためです。
注意: ホストで暗号化がrequired と構成されているが、RMANバックアップの暗号化が有効化されていない場合、Oracle Secure Backupは、ホストの暗号化構成に基づいてOracle Secure Backup暗号化を使用してRMANバックアップを暗号化します。ただし、RMANバックアップの暗号化が有効化されていると、Oracle Secure Backupはバックアップが暗号化されることを認識します。このRMANの暗号化により、このホストのrequired 暗号化ポリシーが満たされます。この他のホスト暗号化設定にはOracle Secure Backupは対応しません。特に、Oracle Secure Backupは、この状況でのキー変更期間、暗号化アルゴリズムまたはキー生成の設定には従いません。 |
RMANのパラメータOB_ENCRYPTION_FORCED_OFF
を使用してOracle Secure Backup暗号化を無効にすることができます。
関連項目: 詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
暗号化アルゴリズムは、グローバル・デフォルト・ポリシーから継承されます。これは、クライアント・レベルで上書きすることができます。各クライアントは異なる暗号化アルゴリズムを使用できます。たとえば、給与計算用コンピュータでは、研究室のテスト用コンピュータよりも高レベルの暗号化を使用できます。サポートされる暗号化アルゴリズムは次のとおりです。
AES128
AES192
AES256
注意: バックアップ暗号化アルゴリズムはジョブ・レベルでは選択できません。 |
クライアントのrekeyfrequency
ポリシーによって、新しいキーがいつ生成されるかが定義されます。たとえば、ポリシーによって、新しいキーのセットを30日ごとに生成するように求められることがあります。古いキーは、ウォレットで保護されたキー・ストアに保持されます。このようにしておくと、キーまたはウォレットおよび関連するバックアップ・テープが改ざんされても、古いデータだけは暗号化を解除できます。クライアントのデフォルトのrekeyfrequency
ポリシーは、グローバルのrekeyfrequency
ポリシーから継承されます。
キーは自動的に生成するか、パスフレーズを使用して生成することができます。推奨操作モードおよびデフォルト値は自動生成です。新たに作成されるクライアントごとに、mkhost
フェーズでキーが自動的に生成されます。このキーは、ウォレットで保護されたこのクライアント専用のキー・ストアに追加され、次の状況まで、暗号化で使用できます。
キーの更新イベントの発生
バックアップ管理者による自動生成キーの手動更新
バックアップ管理者によるキーからパスフレーズへの変更(新しいパスフレーズの提供時)
パスフレーズはどこにも格納されません。パスフレーズのハッシュとパスフレーズから生成されるキーは、暗号化されたストアに格納されます。Oracle Secure Backupではパスフレーズの最小長は強制されません。
新しいキーが作成されると、ウォレットで保護されたキー・ストアに追加され、アクティブな暗号化キーとしてマークが付けられます。古い暗号化キーはキー・ストアに残され、シームレスな自動データ復号化に使用されます。クライアントがバックアップ・ドメインから削除されても、そのキー・ストアは引き続き管理サーバーで保持されます。これにより、暗号化されたバックアップ・ボリューム・セットの古さにかかわらず、バックアップ管理者は常にデータをリストアできるようになります。
注意: キーがウォレットに自動的に追加されない例外が1つあります。一時バックアップのキーは実質的に1回かぎりのキーであり、通常はウォレットに格納されません。バックアップ管理者はコマンドライン・オプションを使用してこの動作を上書きできます。一時バックアップの詳細は、「一時バックアップ」を参照してください。 |
キーが期限切れになると、新しいキーが自動的に生成されます。一方、パスフレーズで生成されるキーの場合は、バックアップ管理者の作業が発生します。管理者は、パスフレーズ生成キーを使用しているクライアントごとにパスフレーズを入力する必要があります。パスフレーズ生成キーが期限切れになると、該当するクライアントのパスフレーズをバックアップ管理者が更新する必要があることを知らせる警告メッセージがOracle Secure Backupによって生成されます。このメッセージは、Oracle Secure Backupのログ・ファイル、ディスプレイ画面およびバックアップ管理者宛て電子メールに出力されます。
バックアップ暗号化を有効化すると、定義された暗号化アルゴリズムを使用してすべてのデータが暗号化されます。データはクライアントから移動される前に暗号化されます。暗号化キーは、Oracle Secure Backupウォレットで保護されるメカニズムに格納されます。
管理サーバーは安全なホストとみなされます。すべてのクライアントのすべてのキーとウォレットで保護されるキー・ストアは、この保護されたコンピュータに格納されます。バックアップまたはリストア・ジョブが開始すると、暗号化キーは、データの暗号化または復号化を行うクライアントにSecure Sockets Layer(SSL)接続を介して渡されます。暗号化キーがメモリーに存在するのは、暗号化または復号化を実行するのに必要な間のみです。
暗号化されたキー・ストアは、すべてのテープの暗号化と復号化を可能にする大変貴重なものです。このようなキー・ストアがなくなると、すべてのデータが損失することになります。バックアップ管理者にとってのベスト・プラクティス・タスクは、暗号化されたキー・ストアを確実にバックアップすることです。これは簡単に実行できます。暗号化されたキー・ストアは、ベスト・プラクティス・タスクとしてすでにバックアップされているはずのファイル・システム・ブランチにあるためです。暗号化されたキー・ストアの形式は、プラットフォームには依存しません。
Oracle Secure Backupの管理データのバックアップは、自動生成キーで暗号化しないでください。自動生成キーで管理データを暗号化した場合、管理サーバーで障害が発生すると、暗号化キーの暗号化に使用された復号化キーを取り戻す方法がないためです。管理サーバー・ツリーのバックアップは、一時バックアップを使用して実行する必要があります。
データはクライアント・レベルで暗号化されます。各クライアントには独自のキーのセットがあります。1つのキーが、新しいバックアップの暗号化に使用されるアクティブ・キーです。古いキーは、それらを使用して作成された古いバックアップをシームレスにリストアするために使用されます。
注意: Oracle Secure Backupでは、ネットワーク接続ストレージ(NAS)デバイスのバックアップは暗号化されません。Oracle Secure Backupの暗号化は、Oracle Secure Backupソフトウェアがインストールされたクライアント・ホストで実行されます。バックアップ・ソフトウェアをNASデバイスに直接インストールできないため、バックアップおよびリストア操作にはネットワーク・データ管理プロトコル(NDMP)を使用します。 |
場合によっては、バックアップ管理者が、バックアップ・ドメイン・サイトAの一連のデータをバックアップして、別のバックアップ・ドメイン・サイトBにリストアする必要があります。バックアップ・セットは、いくつかのクライアントのバックアップ・ファイルを含む場合があります。このようなクライアント・バックアップ・ファイルのそれぞれは、クライアント固有の暗号化キー(サイトAでの最近のバックアップで使用された可能性が高い)で暗号化されます。サイトBでこのデータを復号化するために、バックアップ管理者は、サイトAでデータの暗号化に使用されたすべてのキーを収集してサイトBに送る必要があります。
これらのキーは最近行われた他のバックアップで使用されているため、この処理がセキュリティの脅威になることがあります。Oracle Secure Backupでは、このようなセキュリティの脅威を発生させずに、サイト間のバックアップ暗号化を行うことができます。これには、特定のバックアップ・ジョブでボリューム・セット・レベルでデータを暗号化します。このボリューム・セット暗号化のキーはパスフレーズに基づくものです。このバックアップ・ジョブでは、すべてのクライアントのデータがこのパスフレーズ生成キーに対して暗号化されます。サイトAのバックアップ管理者は、パスフレーズと使用する暗号化アルゴリズムをサイトBに渡します。パスフレーズと暗号化アルゴリズムが提供されると、サイトBがリストア操作を行い、データを復号化できます。
これ以外のすべての場合、バックアップ暗号化の暗号化キーは、ウォレットで保護された対応するキー・ストアに自動的に追加されます。ただし、一時キーは、主としてデータをリモートの場所に移すために使用される1回かぎりのキーです。したがって、デフォルトでは、一時暗号化キーは保護されたキー・ストアには格納されません。Oracle Secure Backupでは、バックアップ管理者が一時暗号化キーをキー・ストアに格納するためのオプションはありません。
Oracle Secure Backupでは、バックアップ管理者がグローバルまたはクライアントの暗号化設定を変更せずに、1回かぎりの非暗号化バックアップを実行することができます。
バックアップ管理者が、ホストのすべてのホーム・ディレクトリを別のホストへ移動しようと計画しているとします。ホスト間でのファイルの直接コピーは行いません。バックアップ管理者は、価値があるデータのデータセットをテープにバックアップし、新しいホストでリストアし、移動が終了するとすぐにテープそのものまたはテープの内容を破棄する予定です。間接的な作業が発生するため、バックアップ管理者は暗号化の使用は望んでいません。
このような特殊な場合に、バックアップ管理者はbackup
--encryption
forcedoff
コマンドを使用できます。このコマンドは、グローバルおよびクライアントの暗号化設定を上書きし、暗号化されないバックアップを実行します。このジョブのトランスクリプトと他のすべてのレポートには、このバックアップ・セットで暗号化が強制的に無効化されたことが記述されます。RMANバックアップでもRMANのOB_ENCRYPTION_FORCED_OFF
変数を使用する同様の機能があります。
デフォルトでは、グローバルおよびクライアントの最初のバックアップ暗号化ポリシー設定はallowed
です。暗号化キーは、デフォルトのAES192暗号化アルゴリズムで自動的に生成されます。デフォルト構成が企業にとって十分であるとバックアップ管理者が判断すれば、構成を行う必要はありません。この項では、それよりも複雑なケースの構成について説明します。
次に示す少し複雑な企業では、3つのクラスのホストがあり、それぞれが異なるタイプとレベルの暗号化を必要としています。
開発者用
これらのクライアントでは、sourcecodeと呼ばれるデータセットのソース・コード・バックアップ操作のみで暗号化が必要です。
給与計算用
このクライアントでは、毎週新しい暗号化キーを使用するAES256暗号化が必要です。
CEO用
このクライアントでは、パスフレーズ生成キーを使用してすべてのデータを暗号化する必要があります。
開発者用クライアントではオプションを変更する必要はありません。バックアップ管理者は、開発者用コンピュータのバックアップに使用されるバックアップ・ジョブをsourcecodeデータセットのために更新します。バックアップ・スケジュールがまだ存在していない場合、バックアップ管理者は、次のようにmksched
コマンドを使用して新しいバックアップ・スケジュールを作成します。
mksched --dataset sourcecode --type backup --encryption yes SourceCode
バックアップ・スケジュールがすでに存在している場合は、同じオプションを指定してchsched
コマンドを使用します。
給与計算用ホストでは、デフォルトのクライアント・ポリシーと、暗号化アルゴリズム、キー生成時間およびクライアント暗号化フラグの設定を変更する必要があります。バックアップ管理者は、次のようにchhost
コマンドを使用してこのような変更を行うことができます。
chhost -algorithm aes256 -encryption required -rekeyfrequency 1week Payroll
これにより、給与計算用クライアントのすべてのデータが、毎週新しい暗号化キーを使用して常にAES256アルゴリズムで暗号化されるようになります。
CEO用クライアントはデフォルトの暗号化で十分ですが、バックアップ管理者は暗号化キーのタイプをパスフレーズ生成に変更する必要があります。これは、次のようにchhost
コマンドをもう1回使用して設定します。
chhost --keytype passphrase -passphrase "What's my password?" TheBoss
初期構成が一度実行された後は、バックアップ暗号化を管理するための追加作業はほとんどありません。
暗号化の状態は、ファイル・システムとRMANのバックアップの両方で、バックアップ操作中にジョブのトランスクリプトに示されます。