Windows の IaaS VM のセキュリティ対策 – Sysmon ツールのご紹介

こんにちは、Azure サポート部の石井です。

 

Azure 上の Windows Server の VM にパブリック IPアドレスを割り振っている場合のセキュリティについて、ご紹介します。

セキュリティでは「多層防御」というキーワードがあるとおり、ひとつだけで完璧なわけではなく、すべてを語ることは難しいですが、
今回は、入れておくと侵入者の痕跡を残すのに便利な "Sysmon" ツールのご紹介となります。
また、一般的なセキュリティに関しての Tips も最後に記載しますので、お役立てください。

 

[Windows 側で痕跡を残す ”Sysmon” ツールのご紹介]

弊社ツール作成部門である Sysinternals より作成された、公式な無償ツールである、Sysmon というツールをご紹介いたします。

Sysmon ツールをインストールしていただく事で、ログイン・ログオフだけでなく、ファイルの作成・変更、プログラムの起動、ならびにレジストリ変更といった動作がイベント ログに記録されるようになります。また、C: ドライブのシステム ファイルの記録・書き換えも記録されるため、バックドアを仕込むような不正アクセスや、操作の追跡のために役立ちます。

 

これによって、「誰が何をしたのか」が記録されます。

ウイルスのように、悪意のあるプログラムは、えてして痕跡を消すため、Windows OS 標準のセキュリティのイベント ログについては、特に消去するようなことが想定されます。
本ツールは、イベント ログの独自の箇所にログを記録しますので、その点で削除を逃れられる可能性があり、セキュリティの問題の調査に役立ちます。

 

Sysmon
https://technet.microsoft.com/en-us/sysinternals/dn798348

 

<負荷などの考慮点について>

原則として、システムに影響しない程度の IO 負荷となります。多数のユーザーが同時に使うような高負荷環境ですと影響が出る可能性があるため、様子を見ながらご利用ください。

 

<Sysmon のセットアップ手順>

1.上記サイトより、 Sysmon をダウンロードして、 Sysmon.zip を展開します。

2.対象マシン上でコマンド プロンプトを右クリックし、[管理者として実行] します。

3.cd "Sysmon の解凍先フォルダ" で Sysmon を展開したファルダに移動します。

4.Sysmon.exe を ?i スイッチでインストールします。

>sysmon.exe -i

5."System Monitor License Agreement" が表示された場合は、内容をご確認の上、[Agree] をクリックしてください。

6.上記が完了すると、下記のように System Monitor がスタートしたことを示す文字列が表示されます。

 

----------------------

C:\SysinternalsSuite>sysmon -i

----------------------

現象発生後、イベント ログの[アプリケーションとサービス ログ]-[Microsoft]-[Windows]-[Sysmon]-[Operational]に記録された Sysmon ログを採取ください。

 * 何らかのセキュリティ上の問題が発覚したら、ログが流れないよう、なるべく早いタイミングでイベント ログを採取して下さい。

 

※ 重要: イベント ログ サイズについては、情報の更新が多い環境ですと、既定値のサイズだとすぐに流れてしまう恐れがあります。
このため、イベント ログの [Operational] を右クリックし、プロパティからログの容量を増大して下さい。(最大でも 1 GB 程度までの範囲をお奨めいたします。)

 

<※ 不要となった際の Sysmon のアンインストール>

1.対象マシン上でコマンド プロンプトを右クリックし、[管理者として実行] します。

2.cd "Sysmon の解凍先フォルダ" で Sysmon を展開したフォルダに移動します。

3.Sysmon.exe を -u スイッチでアンインストールします。

>sysmon.exe -u

 

補足: Sysmon 専用イベントを収集するには

Sysmon イベント ログが消される、というリスクも想定されますので、Sysmon イベント ログを Azure Storage に複製しておきたいという場合、Log Analytics を使います。(Azure 標準の診断設定では、カスタムのイベント ログは収集できません。)
参考: Log Analytics での Windows イベント ログのデータ ソース
 /ja-jp/azure/log-analytics/log-analytics-data-sources-windows-events

 

Sysmon を使って攻撃者に対抗するにあたっての情報は以下です。Windows と Azureの開発者であり、Sysmon を生み出した Mark Russinovich による説明スライドとなります。

How to Go from Responding To Hunting with Sysinternals Sysmon
https://t.co/jeS1gbU5gu

 

[そのほかの Tips]

Sysmon ツールのほか、以下のような点に注意していただくと、より安全に IaaS VM を運用していただくことができるかと存じます。(多くは Linux VM にも共通します。)

 

- 持ち込み (カスタム) VHD の場合、Administrator というユーザー名を変更しておく

-> Marketplace のイメージの場合、Administrator というユーザー名は存在しません。

 

- Windows Updateにて、セキュリティ更新プログラムの最新版を入手する

 

- 公開しているアプリケーションのセキュリティ更新プログラムを最新版にしておく (可能であれば、アプリケーションに管理者権限を割り当てない)

 

- 管理者パスワードは Windows 既定の最小値となる 8 文字ではなく、より長いものを設定する

 

- ログオン失敗が続いた場合のロックアウトを必要に応じて構成する

 

- 管理者パスワードは頻繁に変更する

 

- リモート接続が出来るユーザー (Remote Desktop Users グループ) と、管理者アカウント (Administrators グループ) のユーザーは最小限にする

 

- (可能であれば) リモート デスクトップやリモート PowerShell のポート、SQL の管理ポートなどを開放せず、VNET 経由でワンホップして接続する

 

- パブリック IP アドレスは必要な場合のみ割り振る。

 

- 仮想マシンの監視 (診断設定) を有効化し、セキュリティのイベント ログを監視用ストレージ アカウントに保存しておく。

 

※ セキュリティのイベント ログの診断の設定値を "監査の成功" "監査の失敗" 両方チェックしておくことも良いかと存じます。

ウイルスや攻撃者としては、セキュリティのイベントをクリアーして痕跡を隠滅するというケースがあります。仮想マシンの診断設定を行っておけば、Azure ストレージにログが転送されるので、そちらが残っているということが強みです。