ファイルサーバーの運用において、いつ・だれが・どのファイルへどのようなアクセスをしたのかといった監査証跡の保管は、ファイルサーバーの運用を考えるうえで無視できないテーマである。そこで本稿ではAzureに配置したWindowsファイルサーバーのアクセスログをAzure Log Analyticsへ保存する方法を調査し、実装してみることにした。

1.Azure Log AnalyticsへWindowsファイルサーバーを保存するメリット

Azure Log Analytics(以下Log Analyticsと記す。)にWindowsファイルサーバーアクセスログを保存すると、
以下のようなメリットが期待できる。

①ログ検索が便利

Log Analyticsは膨大なデータを取り込み、分析することをターゲットに設計されている。このため、大量に蓄積されるWindowsファイルサーバーログエントリから目的のログを快適に検索できることが期待できる。Log Analyticsワークスペースを複数のサーバーで共有し、ひとつのワークスペースにイベントログを集約することもできる。

②ログ保存も安心

Log AnalyticsはAzureによるマネージドサービスとして提供されるため、基盤の可用性を心配する必要がない。
ディスク空き容量の心配は必要ないし、ログを守るためにストレージ基盤を監視する必要もない。

③ログ内容を条件にアラート発報ができる

Log Analyticsに蓄積されるログをチェックさせ、任意の条件を満たしている場合にメール通知したり、
任意のスクリプトをトリガーさせることができる。
例えば、業務上機密性の高いファイルへのアクセスログを検知し、メール通知するといったような使い方ができるだろう。

2.構成要素

Log AnalyticsへWindowsファイルサーバーログを集約するにあたり、必要となるAzureのリソースは主に以下のとおりである。

リソース 役割
Log Analytics ログの格納と検索
Azure Monitor エージェント 仮想マシンからログを収集する。ただしファイルサーバーの監査ログ収集する場合は、
セキュリティセンター Standardプランの併用が必要
Security Center Azure Monitor Agentが追加でセキュリティイベントログを収集できるようにするためのオプション機能を提供
ファイルサーバー ログ収集対象となるWindowsサーバーベースのファイルサーバー

Azure Monitor エージェントは、Windowsサーバーのイベントログを収集する機能を持つが、ファイルサーバーの監査ログについては、
セキュリティセンターのStandardプランが必要となる点に注意が必要だ。

Log Analyticsのログ保存期間

本稿執筆時点でLog Analyticsの最長ログ保存期間は730日となっている。
つまり、2年分となる。

2年を超えてログを保存する必要がある場合には、期間が過ぎる前にLog Analyticsのレコードを別の場所へエクスポートする方法を確立しておく必要がある。

価格

今回の構成において、ログの取得と保管に関連する課金要素は以下の通りだ。

リソース 役割 価格(月額)
Log Analytics 1か月を超えて保存するデータ 1GBあたり16.8円
月間5GBを超えて格納するデータ 1GBあたり374.08円
Security Center Standardプラン 監視対象ノード ノード1台あたり1,635.2円

3.Azure Portal上の設定

Azure仮想マシンのLog Analyticsへの接続

すでにLog Analyticsワークスペースに接続済みの仮想マシンにはAzure Monitor エージェントがインストールされている。
監査対象のWindowsファイルサーバーがLog Analyticsに未接続の場合は、Log Analyticsの管理画面からWindowsファイルサーバー用仮想マシンを選択し、予めワークスペースに接続しておこう。

Azure仮想マシンのLog Analyticsへの接続

Azure Monitorエージェントのネットワーク通信要件

Azure Monitor エージェントのネットワーク接続要件は以下のように定義されている。あらかじめ以下の通信先にアウトバウンド接続できるようネットワークを構成しておこう。

通信先 プロトコル/ポート 方向
*.ods.opinsights.azure.com TCP/443 アウトバウンド
*.oms.opinsights.azure.com TCP/443 アウトバウンド
*.blob.core.windows.net TCP/443 アウトバウンド
*.azure-automation.net TCP/443 アウトバウンド

Azure Security Center トラブルシューティング ガイド 更新日:2019/03/20

Security Centerのプランアップグレード

WindowsファイルサーバーのファイルアクセスログをLog Analyticsへ送信できるようするには、Security Centerの「Standard」プランが必要だ。
Security Centerのプランを「無料」から「Standard」へアップグレードするには、”セキュリティセンタ ー” の “カバレッジ”から、「Standard」プランを選び保存すればよい。
Security Centerのプランアップグレード

Security Centerのデータ収集範囲

Windowsファイルサーバーでセキュリティログを収集するには、Security Centerで追加の設定が必要だ。
Security Centerのセキュリティポリシー設定にて収集する「追加の生データ」を「共通」または「すべてのイベント」に設定することで、Windowsファイルサーバー上で共有フォルダへのアクセスに伴い生成される監査イベントログがAzure Monitor エージェントによって収集され、Log Analyticsに送信されるようになる。
Security Centerのデータ収集範囲
Security Centerのデータ収集範囲

4.Windowsファイルサーバーの設定

監査ログの有効化

Windowsファイルサーバーにおける「ファイルアクセスの監査」の有効化

ファイルアクセスログをLog Analyticsへ蓄積させるためには、Windowsファイルサーバーが共有フォルダへのアクセスを
ログに残すよう構成する必要がある。

少し古い記事だが、ファイルアクセス監査および共有フォルダに対するアクセス監査の概念とその有効化方法ついては
以下の記事が参考になるだろう。利用するWindows Server OSのバージョンと、監査目的に合わせ設定が異なる可能性がある点には注意が必要だ。
Auditing File Access on File Servers(英語) 更新日:2013/08/26

共有フォルダ監査オプションの有効化

共有フォルダ側では、「共有フォルダの監査エントリ」を以下の通り有効とした。

共有フォルダ監査オプションの有効化

 

5.Log Analyticsクエリ

ファイル変更とログの送信確認・ログ検索

Windowsファイルサーバーでホストされるファイルを変更し、Log Analyticsで監査ログがどう見えるのかを確認してみよう。
今回はファイルの内容変更して保存したあと、以下のクエリを実行した。
SecurityEvent|where EventData contains "顧客一覧" and AccessMask matches regex "0x2$"
アクセスマスクのようなWindowsサーバーイベントログ側の項目についても、Log Analyticsがあらかじめ解析し、検索条件として補完してくれるようになっている。このため、上記クエリも迷うことなく直感的に書くことができた。

クエリ実行結果

検索結果を見てみると、Log Analyticsの1つのレコードとしてファイルサーバー監査ログが格納されているのがわかる。
Windowsサーバーイベントログは単なるプレーンテキストとしてではなく、項目ごとにLog Analyticsレコードの子要素として認識されていた。

クエリ実行結果

クエリに正規表現を利用可能な点も、欲しいログの直感的な検索に大きく貢献する。

たとえば、アクセスマスクが”0x2″かつ追跡対象のファイル名を検索条件とすることで、任意のファイルに対する変更(作成・追加)履歴を容易に抽出できるといった具合だ。この点はWindows Server OSのイベントビューアと比較して大きなアドバンテージとなるだろう。Windows サーバーOS上でイベントログの検索に正規表現を使おうとすると、Power Shellなど別のツールとの組み合わせが必要となるためだ。

6.まとめ

Security Center のStandardプランとLog Analyticsの組み合わせにより、Winodwsファイルサーバーのアクセスログを最大2年間蓄積し、直感的なクエリ言語で簡単にログを検索し活用することができる。Windowsファイルサーバーのアクセスログのみならず、Windowsサーバーイベントログについても同様の手法で蓄積し検索できる。また、Azure Monitor エージェントの通信要件を満たせば、オンプレミスサーバーのログをLog Analyticsへ集約すること可能なため、ログの蓄積と活用にお困りの場合は、利用を検討してみてはどうだろうか。

7.参照URL

Azure Security Center でのデータ収集 更新日:2019/04/02
https://docs.microsoft.com/ja-jp/azure/security-center/security-center-enable-data-collection

Auditing File Access on File Servers(英語) 更新日:2013/08/26
https://blogs.technet.microsoft.com/mspfe/2013/08/26/auditing-file-access-on-file-servers/

Azure Security Center トラブルシューティング ガイド 更新日:2019/03/20
https://docs.microsoft.com/ja-jp/azure/security-center/security-center-troubleshooting-guide

集約型の監査ポリシーを使用したセキュリティ監査の展開 (デモンストレーション手順) 更新日:2017/05/31
https://docs.microsoft.com/ja-jp/windows-server/identity/solution-guides/deploy-security-auditing-with-central-audit-policies–demonstration-steps-

この記事を書いた人

Azure導入支援デスク 編集部
Azure導入支援デスク 編集部
こんにちは!双日テックイノベーション(旧:日商エレクトロニクス)では、Microsoft Azure活用に関する有益な情報を皆様にお届けしていきます。Azure移行、データ活用、セキュリティなどに関するお困りごとや、Microsoft Azureに関する疑問点などお気軽にご相談ください。

ブログにしてほしいネタなどのリクエストもお待ちしております。