セキュアなバックアップとリカバリをするために考慮すること
著: Chander Kant ・ Dmitri Joukovski
ここ数年間にバックアップテープが紛失したり盗まれたりするという事件の記事がいくつもありました。セキュリティへの関心が高まっているにも関わらず、セキュリティ全般から見てバックアップのセキュリティは軽視されがちです。この主な理由にはバックアップとセキュリティがほとんど正反対の目標を持っていることがあげられます。セキュリティのためにはデータへの厳格なアクセス制御が必要です。一方でバックアップソフトは異なるプラットフォーム、異なるロケーション、データの元所有者以外の人によって簡単にリカバリができるように最適化されていることがほとんどです。
最も利用されているオープンソースのバックアップとリカバリのソフトであるAmandaを使用してバックアップデータのセキュリティを確実にするための方法を確認します:
- バックアップサーバにアクセスできるユーザとバックアップクライアントの認証
- すべてのバックアップとリカバリの処理に与える役割ベースのアクセス制御
- 送信前や保管前にデータの暗号化が可能
- 暗号化と認証のアルゴリズムが選択可能(Aespipeやgpgなど)
- リモートのクライアントからファイアーウォールを通してバックアップの一元管理
- SELinuxが搭載されたクライアントのバックアップとリカバリに対応
適切なバックアップサーバとシステムが通信し合っているか?
ほとんどのデータセンターがネットワークを通したバックアップをしています。セキュアなバックアップのためにはバックアップクライアント(バックアップされるマシン)とバックアップサーバ(バックアップをするマシン)の通信が確立しているべきです。この通信が確実に確立されていなければあらゆる方法で第三者に傍受される可能性がでてきます。
どのバックアップサーバからでもクライアントをバックアップできるようにバックアップクライアントが設定されていると傍受される可能性がでてきて危険です。Amandaと異なりいくつかの主要なクローズドソース型のバックアップツールではこの設定がデフォルトになっています。この脆弱性に気付きデフォルトの設定を変更しないかぎり、第三者のパソコンがバックアップパッケージのトライアル版をインストールして企業のバックアップクライアントのバックアップをすることが可能です。そうして取られたバックアップは簡単に不正なバックアップサーバのディスクに保存されてしまいます。
同じような心配がサーバからクライアントにもあります。バックアップサーバは正しいシステムへリカバリしたデータを提供しているでしょうか。あるいは異なったシステムがバックアップクライアントになりすましていないでしょうか。
解決策としてバックアップソフトから厳しい認証をバックアップクライアントとバックアップサーバに要求します。認証にはオープンソースのopenssh(http://www.openssh.com)のような鍵がベースのツールの使用が良いでしょう。
バックアップデータはネットワークの移動時やバックアップテープの紛失時に盗聴される危険がないか?
クライアントとサーバが相互に認証し合うことは第三者にバックアップデータを傍受される可能性がでてくるのでお勧めしません。これは保護されていないネットワークをバックアップデータが移動する時には特に注意すべきです。(地方事務所から本社にインターネットを通してデータを送信する時など)
企業がバックアップテープを紛失した事件のほとんどが財務情報も一緒に紛失していました。2005年には某有名企業が26万人の顧客財務情報の入ったバックアップテープを紛失したという報道がありました。明らかに顧客への被害や某企業の評判への被害は莫大です。
バックアップソフトはネットワークでの送信前にデータを暗号化でき、またデータがバックアップメディアに書き込まれているときは停止しています。バックアップソフトは自由に利用できる様々な暗号化ツールが使えて、新しいツールや暗号化のアルゴリズムが利用できるべきです。
ハードウェアでのセキュリティ製品もあります。Decru社やNeoscale社の製品はバックアップメディアへの書き出しをする時にオンザフライで暗号化をします。これは高速ですがインフラに与える影響も大きくなります。
Amandaはバックアップサーバからデータの暗号化をしたり、バックアップサーバにデータを送信前のクライアントから暗号化したりできます。クライアントでもサーバでも暗号化には標準入力から読み込み標準出力に出力できるどの暗号化プログラムの使用も可能です。これにはaespipeコマンドも含まれ様々なAESの暗号方式に対応します。Amandaの暗号化プログラムと共によく使用されるその他のツールにはgpgがあります。
鍵をしっかり管理することはデータのリカバリに不可欠です。Amandaは鍵の管理をするソリューションではありませんが、どの鍵管理ソリューションとでもうまく共存します。
暗号化ツールの選択に柔軟性のあることがAmandaをセキュリティ要求の高い環境にも順応させています。
バックアップとリカバリの権限を誰に与えるか?
最近ではいろんな人がバックアップとリカバリのソフトを使っています。規模の大きな企業ではヘルプデスクのスタッフが何十人もの問い合わせに対応しています。こういったスタッフにはデータのリカバリをする権限が与えられています。
高い粒度を維持できる限りは、権限を分配できるようなバックアップ計画をたてるのが良いでしょう。バックアップとリカバリのシステムが高い粒度に達していないならリカバリに誤りの可能性がでてきます。ほとんどのバックアップとリカバリのソフトでは管理者を決める必要があります。管理者には全権限がありどのデータでもリカバリできます。権限には給与支払名簿や財務記録などの機密事項のリカバリも含まれます。
Amanda Enterpriseは各オペレータの業務に応じてアクセスできるデータを制限します。これにより機密事項は隔離されてデータに関係のある人だけがリカバリを実行することができます。
ファイアーウォールを通したバックアップはできるか?
最近のデータセンターではファイアーウォールを内部にも用いて企業のコンピュータを攻撃から守っていることがほとんどです。バックアップサーバは常に企業のファイアーウォールに守られています。どのようにファイアーウォールを通ってコンピュータをバックアップするのでしょうか?
方法のひとつとして予備のバックアップサーバをファイアーウォールの向こう側に配置することがあります。しかしこれはセキュリティへの不安が高まるのでお勧めはできません。優れた方法としてバックアップクライアントとサーバが特定のポートを使って通信できるようにさせます。そして指定したIPアドレスがバックアップとリストアのためにファイアーウォールを通れるようにファイアーウォールの設定をします。
バックアップソフトがファイアーウォールに開けるポートの数に配慮します。バックアップソフトにはあまり多くのポートを使わないようにします。いくつかのクローズドソース型の商用バックアップソフトではひとつのバックアップサーバに何十ものポートを使っています。
Amandaは設定された少数のポートをバックアップサーバとクライアントの通信に使います。これはファイアーウォールを通したセキュアなバックアップには最適です。
SE LinuxのようなセキュアOSのサポート
SELinuxはLinuxベースのセキュアOS で、Linux カーネルのLinuxセキュリティモジュール(LSM)を使ってさまざまなセキュリティの実行をします。レッドハットがその商用版にSELinuxを搭載し始めたため現在SELinuxは政府機関、軍部、多数の企業で広く利用されています。SELinuxをサポートするクローズドソースのバックアップベンダは今のところありませんがAmandaはSELinuxのセキュリティ方法に対応しています。
バックアップソフトはセキュリティを考慮した設定をされているか?
バックアップソフトの構成ファイルはファイルサーバのパスワードとアクセス制御の権限だけでなくアプリケーションとデータベースのパスワードとアクセス制御の権限も格納しています。これらの構成ファイルには権限のあるユーザだけがアクセスできるようにします。
クローズドソース型の製品はベンダがコードを隠しているために使用者がソフトのコードを見ることはできません。2000年にMicrosoft IISサーバで発見されたバックドアのようなコードがソフトに組み込まれていることもありソフトが完全にセキュアなのか認識しづらいです。
米国のコンピュータ緊急事態対応チーム(US-CERT)は商用バックアップソフトの脆弱性に対する警告を発表しています。例えば脆弱性情報識別番号VU#744137によるとSymantecの Veritas NetBackupソフトにはカタログデーモンにスタックベースのバッファオーバーフローがあるので悪意のある攻撃者が遠隔からNetBackupのマスタサーバに任意コードを実行させることが可能になってしまいます。
オープンソースだとこのような問題とは無縁です。様々な人がコードを見ることができるので不要なものが組み込まれることはありません。自尊心のあるオープンソースの開発者であればバックドアをオープンソースの製品に組み込んで評判やキャリアを落とすような危険は冒さないでしょう。たとえバックドアがあったとしても迅速に発見されて取り除かれます。
オープンソースのソフトは品質やセキュリティに問題があれば簡単に検出することができます。セキュリティの問題を検出するためにソフトのコードを分析する以下のようなツールがあります:
- Rough Auditing Tool for Security (RATS)
- ITS4 by Cigital
- Flawfinder by David A. Wheeler.
これらのツールはオープンソースなので自由に利用ができ様々なプログラム言語をスキャンできます。Bogosec (http://bogosec.sourceforge.net/index.html ) はこれらのツールをひとつにまとめてソフトのセキュリティ品質の概算値を示します。しかしバックアップソフトのソースコードが利用できなくてはこれらのツールは役に立ちません。
バックアップパッケージのセキュリティには大きな関心が寄せられます。バックアップパッケージを選ぶ時にはソフトのセキュリティに重大な欠陥が見つかっていないか確認してください。Amandaは最も有名なオープンソースのバックアップソフトで、あらゆるツールや団体でテストされてきました。Coverity (http://scan.coverity.com)ではスタンフォード大学とオープンソースのコミュニティの共同の取り組みによりAmandaのコードの品質を検証しました。バグが見つかった場合にはAmandaコミュニティが直ちに修正をします。カーネギーメロン大学のコンピュータ関連維持協会によると商用ソフトには1000行のコードに対して平均20から30ものバグがあるそうです。
バックアップのセキュリティチェックリスト
はい | いいえ | |
---|---|---|
バックアップサーバとクライアントには厳格な認証はあるか? |
||
送信中のデータを保護するためにクライアント上で暗号化ができるか? |
||
磁気テープなどのバックアップメディアに保存するデータを保護するためにバックアップサーバ上で暗号化はできるか? |
||
暗号化ツールの選択が可能で、新しい暗号化のアルゴリズムが利用できるか? |
||
管理、バックアップ、リカバリに役割ベースのアクセス制御はあるか? |
||
ファイアーウォールを通したバックアップのために少ないポートだけを開放することができるか? |
||
SELinuxをサポートするか? |
||
ファイル・データベース・アプリケーションサーバの、パスワードが格納されているバックアップソフトの構成ファイルのセキュリティを確認したか? |
||
使用するバックアップソフトについてUS-CERTが警告を出していないか確認したか? |
||
使用するバックアップソフトのコードのセキュリティと品質について独自のレポートがあるか? |
終わりに
バックアップは重要なデジタル資産のコピーであるためバックアップのセキュリティはしっかりと考慮すべきです。セキュアであり支払い可能なバックアップ手段を確立しましょう。ここで重要なことはバックアップのセキュリティは常に監視され改善されていく必要があるということです。