[アップデート] FSx for Windows File Server でアクセス監査ログの取得が可能になりました

これまでファイル監査ログの未対応で涙をのんだ方に朗報です!
2021.06.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本日のアップデートで Amazon FSx for Windows File Server でファイル/フォルダーへのアクセスに関する監査ログの取得がサポートされるようになりました。

標準機能による監査ログ取得

Amazon FSx for Windows File Server のファイル/フォルダーへのアクセスに関する監査ログの取得が標準機能で可能になりました。送信先として利用できるのは以下のとおりです。

  • CloudWatch Logs
  • Kinesis Data Firehose

一次配信先としては上記のとおりですが、ここから S3 に転送してアーカイブしたり、ストリームイベントとして Lambda や CloudWatch アラームをトリガーして特定イベントを通知させるなど、いろんな利用方法が想像できますね!

取得可能なイベント

監査ログでは以下のイベント記録が可能です

  • ファイルとフォルダへのアクセスをログ記録
    • 成功した試行
    • 失敗した試行
  • ファイル共有へのアクセスをログ記録
    • 成功した試行
    • 失敗した試行

対応リージョン

すべての AWS リージョンで利用可能です

考慮事項

利用するにあたって考慮する点は以下のとおりです。

  • ファイルアクセス監査はスループット容量 32MB/秒 以上で利用が可能
  • サポートされるアクセス監査イベントの最大レートは5,000イベント/秒
  • CloudWatch Logs に送信する場合、ロググループ名は /aws/fsx/ プレフィックスで始める必要があります
  • Kinesis Data Firehose に送信する場合、配信ストリーム名は aws-fsx- プレフィックスで始める必要があります
  • 送信先は Amazon FSx for Windows File Server と同一アカウント、同一リージョンである必要があります
  • Amazon FSx for Windows File Server として監査ログは無料ですが、CloudWatch Logs, Kinesis Data Firehose などの送信先に対して通常料金が発生します
  • 監査ログはベストエフォートです。通常は数分で配信されますが、より時間がかかる場合もあります。また、稀にログが欠落することもあります。
    • 欠落が許容できない環境について 「You can audit for missed events by scanning the file and folder structure on your file system.」と記載がありますが、運用コストなどを考慮すると稀にログは欠落するものだと受け入れて利用するほうが幸せかもしれません。

やってみる

それでは早速試してみましょう。今回利用した検証環境は以下のとおりです。

検証環境

  • 東京リージョン
  • シングルAZ構成
  • ストレージタイプ
    • SSD 32GiB
    • スループット 32MB/秒
  • 監査ログの配信先     - CloudWatch Logs

監査ログの出力条件としてスループット容量が32MB/秒以上 となっていますので、今回は32MB/秒で作成しています。

次に [Auditing] ブロックが追加されています。ログ記録を有効化にチェックをいれます。[Advanced]を展開すると取得対象とするログ記録の選択、監査イベントログの送信先の選択が可能です。

ちなみにスループット容量が32MB/秒未満の場合、以下のようにグレーアウトされて選択できなくなっています。

その他の値については一旦デフォルト値を受け入れて、ファイルサーバーをサクッと作成しました。

本記事では監査ログの配信先に CloudWatch Logs を利用していますが、Kinesis Data Firehose については以下の記事があがっていますので参考にしてください。また、本記事では速報のため端折った OS 側の監査ログ設定についても丁寧に記載されています。

監査ログの設定

Amazon FSx for Windows File Server の設定としては上述のとおりですが、OS 側で特定ファイルまたはフォルダに対する監査ログ設定を行う必要があります。

取得対象となる特定のファイルまたはフォルダで、Windows エクスプローラを開き、[プロパティ] > [セキュリティ] > [詳細] > [監査] タブから取得したいアクションなどの設定を行います。

確認

監査ログの取得をしたフォルダ内にファイルを作成して、削除した後に、CloudWatch Logs を確認してみます。

何やらイベントログが流れてきていることがわかりますね。一つのイベントログを開くと以下のような形式で記録されていました。ちなみにこちらは <EventID>4659</EventID> となっておりファイルを削除した際のログになっています。

その他のアクションに関するイベントログのサンプルは公式ガイドにいくつか記載されていますので参考にしてください。

<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'><System>
<Provider Name='Microsoft-Windows-Security-Auditing' Guid='{54849625-5478-4994-A5BA-3E3B0328C30D}'/>
<EventID>4659</EventID><Version>0</Version><Level>0</Level><Task>12800</Task><Opcode>0</Opcode>
<Keywords>0x8020000000000000</Keywords><TimeCreated SystemTime='2021-06-08T23:13:35.915568400Z'/>
<EventRecordID>286768</EventRecordID><Correlation/><Execution ProcessID='4' ThreadID='180'/>
<Channel>Security</Channel><Computer>amznfsxwrrrragb.test.fsx.com</Computer><Security/></System>
<EventData>
<Data Name='SubjectUserSid'>S-1-5-21-3484081613-3865157760-1178271052-1113</Data>
<Data Name='SubjectUserName'>Admin</Data><Data Name='SubjectDomainName'>test</Data>
<Data Name='SubjectLogonId'>0x3a1bc6</Data>
<Data Name='ObjectServer'>Security</Data>
<Data Name='ObjectType'>File</Data>
<Data Name='ObjectName'>\Device\HarddiskVolume14\share\test\test.text.txt</Data>
<Data Name='HandleId'>0x0</Data>
<Data Name='TransactionId'>{00000000-0000-0000-0000-000000000000}</Data>
<Data Name='AccessList'>%%1537
				%%4423
				</Data><Data Name='AccessMask'>0x10080</Data><Data Name='PrivilegeList'>-</Data><Data Name='ProcessId'>0x4</Data></EventData></Event>

CloudWatch Logs に監査ログイベントが出力されることが確認できましたね!

まとめ

  • Amazon FSx for Windows File Server の標準機能としてファイルおよびフォルダのアクセス監査ログが取得可能になりました
  • 本日からすべてのリージョンで利用可能
  • スループット容量 32MB/以上である必要がある
  • ロググループ名は /aws/fsx/、配信ストリーム名は aws-fsx- のプレフィックスから始まる必要がある
  • 監査ログはベストエフォート。稀に欠落することがあることを理解したうえで利用する

参考