バックアップと復元のセキュリティについての考慮事項
このトピックでは、Microsoft SQL Server データベースのバックアップの安全性を維持するための推奨事項について説明します。
注 |
---|
データベースをバックアップまたは復元すると設定されるファイル権限の詳細については、「データ ファイルとログ ファイルのセキュリティ保護」を参照してください。 |
ログ バックアップの管理
完全復旧モデルまたは一括ログ復旧モデルを使用しているときにログ バックアップを失うと、前回のバックアップ以後の状態にデータベースを復元できなくなることがあります。このため、ログ バックアップの複数のコピーを作成することを検討してください。コピーを作成するには、ログをディスクにバックアップし、ディスクのファイルを別のディスクやテープなど、別のデバイスにコピーします。
一連のデータベース バックアップのためにログ バックアップのチェーンを保存することをお勧めします。データベースの最新の完全バックアップが使用できない場合、データベースの以前の完全バックアップを復元し、データベースのその完全バックアップ以降に作成したトランザクション ログ バックアップをすべて復元できます。
ログ バックアップを失った場合は、そのログ バックアップより前のトランザクション ログ バックアップを保持しておき、それらのバックアップ内の特定の時点にデータベースを復元する必要が生じた場合に備えることをお勧めします。
物理的な保護
バックアップ テープを保護するには、オフサイトの安全な場所にテープを保管することをお勧めします。
バックアップ ディスク ファイルを保護するには、バックアップ先をアクセス制御リスト (ACL) の制限によって保護されているディスク ファイルに限定することをお勧めします。ACL は、バックアップが作成されるディレクトリのルートに設定される必要があります。場合によっては、NTFS 暗号化ファイル システム (EFS) を使用して、ディスク ベースのバックアップをさらに保護する必要が生じることもあります。また、Windows バックアップを使用して SQL Server ディスク バックアップをテープにバックアップし、オフサイトの安全な場所に保管することをお勧めします。詳細については、Windows のマニュアルを参照してください。
パスワードによるバックアップの保護
SQL Server では、バックアップ メディアとバックアップ セットをパスワードで保護できます。
重要 |
---|
このようなパスワードで提供される保護では不十分です。パスワードによる保護は、権限の有無にかかわらず、ユーザーが SQL Server ツールを使用して不適切な復元を行わないようにすることを目的としています。他の方法によるバックアップ データの読み取りやパスワードの置き換えを防ぐわけではありません。この機能は、Microsoft SQL Server の次のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 |
バックアップ操作を実行するときにパスワードが必要なわけではありません。ただし、新たなレベルでのセキュリティが提供されます。SQL Server のセキュリティ ロールの使用に加えて、パスワード保護を使用できます。パスワード保護を使用することで、次のような権限のない操作や意図的でない操作から保護できます。
データベースの復元
メディアへの追加
メディアの上書き
重要 |
---|
パスワード セキュリティを使用しても、メディアをフォーマットしたり後続テープに同じメディアを使用したりすると、そのメディアは上書きされます。また、パスワードを指定してもデータは暗号化されません。 |
メディア セット パスワード
メディア セットに保存されるデータに対して簡単な保護が提供されます。メディア セット パスワードは、メディア ヘッダーが書き込まれるときに保存され、これを変更することはできません。メディア セットのフォーマット時にパスワードが指定された場合、そのメディア セットでバックアップ セットを作成するときにはそのパスワードを指定する必要があります。また、そのメディア セットから復元操作を実行するには、メディア パスワードを指定する必要があります。
注 |
---|
SQL Server のバックアップ操作と復元操作にのみ、そのメディアを使用できます。 |
メディア セット パスワードを指定するには、BACKUP ステートメントまたは RESTORE ステートメントで MEDIAPASSWORD オプションを使用します。
バックアップ セット パスワード
特定のバックアップ セットに対して簡単な保護が提供されます。メディア上のバックアップ セットごとに異なるバックアップ セット パスワードを使用できます。バックアップ セット パスワードは、バックアップ セットがメディアに書き込まれるときに作成されます。バックアップ セットのパスワードが定義されている場合は、そのバックアップ セットに復元操作を実行するときにパスワードを指定する必要があります。
バックアップ セット パスワードを指定するには、BACKUP ステートメントまたは RESTORE ステートメントで PASSWORD オプションを使用します。
信頼されているソースからのバックアップに限定した復元
不明なソースや信頼されていないソースからのデータベースは、アタッチまたは復元しないことをお勧めします。そのようなデータベースには、意図しない Transact-SQL コードを実行したり、スキーマまたは物理データベース構造を変更することによりエラーを発生させる悪意のあるコードが含まれている可能性があります。不明なソースや信頼されていないソースからのデータベースを使用する場合は、事前に非稼動サーバーのデータベースで DBCC CHECKDB を実行してください。また、ストアド プロシージャやその他のユーザー定義コードなど、データベースのコードを確認してください。