Windows Azureのセキュリティが心配で心配で夜も眠れない人に朗報。 クライアントPC等で企業向けに提供されているMicrosoft Endpoint Protection(以下MEP)がWindows Azureでも利用できるようになりました。(※2012年3月19日現在ではCTP)
- Microsoft Endpoint Protection for Windows Azure Customer Technology Preview
- Microsoft Endpoint Protection for Windows Azure Customer Technology Preview Privacy Statement (プライバシーに関する声明)
- Microsoft Endpoint Protection for Windows Azure CTP (プレビュー) リリース (S/N Ratio)
どんな機能があるかというとプライバシー声明から抜粋するとこんな感じ。
リアルタイム保護。マルウェア、スパイウェア、または望ましくない可能性のあるソフトウェアの試行がインストールしたり、仮想マシン上で実行するときに、Windows AzureのマイクロソフトEndpoint Protectionは警告が表示されます。プログラムがWindowsの重要な設定を変更しようとする場合にも警告が表示されます。
スキャンオプション。あなたは、定期的にスキャンをスケジュールするには、脅威、ウイルス、スパイウェア、および仮想マシンにインストールされる可能性があるその他の迷惑ソフトウェアをスキャンするためのWindows Azureは、Microsoft Endpoint Protectionを使用することができ、自動的に検出されている任意の悪意のあるソフトウェアを削除するスキャン中。
検出/修復。仮想マシン上で悪意のあるソフトウェアを検出する必要があり、特定のアクションが自動的に撮影され、悪意のあるソフトウェアを削除して、潜在的なさらなる感染から仮想マシンを保護します。悪意のあるソフトウェアが削除された後に、Windows Azureは、Microsoft社のEndpoint Protectionは、いくつかのWindowsの設定(あなたのホームページや検索プロバイダなど)がリセットされることがあります。
いわゆるアンチウィルス・アンチマルウェアソフトですね。
あと余談ですがマルウェアに関する情報などある程度収集されるようなのでそのあたり気にされる方はちゃんと読んでおきましょう。それから今はCTPですからね。
仕組み的にはインスタンス上にMEPをインストールし、スキャンに関する設定等はサービス設定から取得する感じです。その他ウィルス定義ファイルの更新等の管理はそれぞれのデータセンターにあるようで、指定したところに見に行く見たいです。
稼働状況などのログを転送するようにしておけばリモートでスキャン状況なども確認できますね。
さて何となくわかったところで実際に使ってみましょうか。
プラグインのインストール
MEP for Windows Azureはプラグインの形で提供されます。つまりサービス定義ファイルのImport要素で指定してサービスパッケージ作成時に埋め込まれる形ですね。
最初にこのプラグインをインストールします。(といってもインスタンス上でセットアップに必要なファイルをコピーするだけですが)
ダウンロードページからeppplugin.msiをダウンロードしてWindows Azure SDKがインストールされているPCにインストールしましょう。特に困るところはないと思いますがEULA回りだけ気を付けましょうね。
インストール後、プラグインフォルダが増えていると思います。
さて次は実際にWindows Azureのプロジェクトに組み込みたいと思います。
MEPの組み込み
組み込む方法はサービス定義ファイル(*.csdef)にImportを追加してAntimalwareを指定するだけです。※Diagnosticsも使ってるようで同様にImportされていないとエラーになるので注意
プラグインをImportするとサービス設定ファイル(*.cscfg)に必要な設定項目が追加されるのでそれぞれ設定していきましょう。
設定項目は以下のような感じです。
設定 | 値 | 既定値 | 備考 |
ServiceLocation |
|
South Central US | MEPのコンポーネントのダウンロード等に使用するデータセンターのロケーション。デプロイ時の時間等を考慮して最適なところ(ロールと同じ場所)を選択しましょう。 |
EnableAntimalware |
|
true | MEPの有効・無効 |
EnableRealtimeProtection |
|
true | リアルタイム保護の有効・無効 |
EnableWeeklyScheduledScans |
|
true | クイックスキャンのスケジューリングの有無 |
DayForWeeklyScheduledScans | 0 ~ 7 | 7 | 0 … 毎日 1 … 日曜日 ~ 7 … 土曜日 |
TimeForWeeklyScheduledScans | 0 ~ 1440 | 120 | スキャン開始時間。1時間おきで指定。60 … 1:00AM 120 … 2:00AM ~ 1380 … 11:00PM |
ExcludedExtensions | ext1|ext2 | なし | スキャンの除外拡張子。パイプ”|”で複数指定可。例)gif|log|txt |
ExcludedPaths | path1|path2 | なし | スキャンの除外フォルダ/ファイルパス。パイプ”|”で複数指定可。 |
ExcludedProcesses | proc1|proc2 | なし | スキャンの除外プロセス。ここで指定したプロセスが開かれるファイルが除外されます。パイプ”|”で複数指定可。 |
細かい説明はドキュメント見ましょう。
あとは適当にデプロイするだけです。
※感覚的にはインストール含めてそんなにデプロイ時間が増えたりとかは無かったです。
動作確認
今回はテストなのでRDPでWindows Azure上のインスタンスに接続して動作してるか見てみます。
ちゃんと指定した通りスケジュールやら除外パスやらが設定されてリアルタイムスキャンが有効になってました。
また動作についてはイベントログに各種ログが出力されるのでそちらを参照。
詳しくは Monitoring Microsoft Endpoint Protection for Windows Azure.docx を見てもらうとして、必要なイベントだけ転送するようにしておけばリモートで状況を確認できます。
まとめ
以前はClamAVとかをインストールするぐらいでしたので、プラグインだけでお手軽にインスタンスのマルウェア対策が行えるのは嬉しいですね。
あと勘違いしてはいけないのがマルウェア対策しただけでセキュリティ万全!ということではないので注意しましょう。基本的にPaaSであるWindows Azureが面倒見てくれるのはプラットフォームまでですのでアプリケーションそのものの脆弱性とかは自己責任で。
とはいってもファイルのアップロードを受け付けるアプリなのでファイルの検査が行えるのは嬉しいですね。
それから他の部分のセキュリティについてはWindows AzureというかMicrosoftが運営するデータセンターでISO27001やSAS70などを取得したり、かなりコストをかけて対策されてます。
※一概にセキュリティといっても幅広いですけどね…
この手の話はもろ手を挙げてOK、というわけにはなかなか行きませんが、利用者にとっては安心感が増えて良いかと思います。盲信はいけませんが。
まぁ何はともあれ正式リリースが待たれますね。
※個人的にはインスタンス毎でスケジュールスキャンの時刻をずらせると嬉しいなと思ったり…気にしすぎですかね。