FSx Windows File Serverの監査機能を使ってみた

# はじめに
今度、FSx For Windows File Serverを構築して、エンドユーザがファイルを操作する際の監視をしたい。
そのために、ファイルサーバを構築して、ファイルの作成・リネーム・削除をした際にログとして記録されることを確認してみます。

# 環境構成
- EC2（Windows Server2019）×2台
- AWS Managed Microsoft AD
- Amazon FSx For Winodws
※VPC周りは既に構築済み

# やってみる
### EC2とADを構築
以下のURLを参考に構築しました
https://blog.css-net.co.jp/entry/2024/02/27/105736

諸事情があってディレクトリ名は非公開で
![スクリーンショット 2024-08-19 0.01.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/a18145b2-f328-2c86-00a0-ffa61f09d069.png)

### セキュリティグループ作成
![スクリーンショット 2024-08-19 0.12.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/b758b3f9-03cd-fd85-fab7-4d851ba48b82.png)

### FSx作成
![スクリーンショット 2024-08-19 0.11.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/8257e62b-55d4-00f1-80a6-a9b0aeeef717.png)

ADは先ほど作ったものを指定
![スクリーンショット 2024-08-19 0.14.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/c8988f3e-ed6c-7a0a-7fdb-f2581573c18a.png)

今回は監査ログ出力を目的としているので、こちらは全てLogsに出力するよう設定
![スクリーンショット 2024-08-19 0.20.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/ec9a4cbe-bbfe-51f5-c645-21db8059d512.png)

最終確認
![スクリーンショット 2024-08-19 0.28.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/a16ba997-9567-e7e4-acbf-238e75bb06de.png)

![スクリーンショット 2024-08-19 0.29.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/0833f84b-0b5d-5fdb-979e-66a8e4c44775.png)

![スクリーンショット 2024-08-19 0.30.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/7c4704b1-3bd5-edf7-608c-c98213567897.png)

FSxが作成できました（体感40分くらいかかったと思います）
![スクリーンショット 2024-08-19 1.12.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/a1c4fe23-4bf1-8ea7-0ea9-c0a7599bc778.png)

### EC2にログインしてADのDNSサーバの設定
![スクリーンショット 2024-08-19 1.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/8a712237-2b7c-9589-a559-a68ce72ba4d2.png)

### ファイルシステムをアタッチ
![スクリーンショット 2024-08-19 1.42.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/629354a1-c3e3-867f-27a5-844f7692e443.png)

デフォルトのDNS名を使用して、EC2上のコマンドプロンプトにてZドライブをアタッチします。
ユーザ名とパスワードはAD作成時に設定したものです。
![スクリーンショット 2024-08-19 1.51.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/23315dcd-3d46-4a29-b4b2-0c8d5756ddf2.png)

エクスプローラをみると、Zドライブとして認識されました。
![スクリーンショット 2024-08-19 1.52.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/62be3890-495b-c865-efde-6c945be499ab.png)

# 本題
### OS側で監査ログを設定
FSx側だけではなく、OS側で特定のファイルまたはフォルダに対する監査ログを設定する必要があります。
取得対象となる、特定のファイルまたはフォルダで、エクスプローラを開きプロパティをクリック
![スクリーンショット 2024-08-19 2.16.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/7cf81886-5bef-d352-6e97-f460afab73c7.png)

「Security」＞「Advanced」をクリック
![スクリーンショット 2024-08-19 2.17.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/09087217-51e2-0015-0ccc-0d71feb5028b.png)

「Auditing」からAddをクリック
![スクリーンショット 2024-08-19 2.19.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/72a38582-ffb4-8d1d-961b-30de6298023c.png)

「Select a principal」をクリックすると、ドメインのユーザ＆パスワードが要求されるので
ADユーザとパスワードを入力する
![スクリーンショット 2024-08-19 2.20.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/7f086eb8-6fa9-578f-d0d8-6c57779f1e1b.png)

追加するADユーザを選ぶのですが、今回はAdminしかないのでそれを入力して選択
また、監査対象を選択する箇所でもあるため、基本的にはEveryoneで問題ないと思います。
![スクリーンショット 2024-08-19 2.22.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/a50d5884-616b-2100-b28f-bad26898c116.png)

Principalにユーザが表示されました。
今回はフルコントロールを付与します。
![スクリーンショット 2024-08-19 2.24.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/f89b479c-ef50-87e9-ba21-aa2e776d94b2.png)

### 監査ログが格納されている場所を確認
![スクリーンショット 2024-08-19 1.56.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/32cd6c25-1b92-426b-4428-fca05f530861.png)

CloudWatch上ではこのような感じ
![スクリーンショット 2024-08-19 1.57.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/bab6dcf0-f80b-8067-ae6f-e06d6c3178b9.png)

### 監査ログを確認してみた
XML形式で出力されるようです。
アクセス形式を特定するには、AccessListの後ろにある文字列（%%4417みたいなもの）
ファイル名も記載されており、ObjectNameで括られている文字列です。
![スクリーンショット 2024-08-19 2.29.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/d4f99e0c-ddfd-0e53-495c-745e311a9ae5.png)

# まとめ
XML形式は少し読みづらい気もしますが、何のファイルやフォルダに対してどのような操作を行なったのかを監視することもできそうですね。
文字列を抽出してログ監視もできそうです。

# 参考
https://docs.aws.amazon.com/ja_jp/fsx/latest/WindowsGuide/file-access-auditing.html
https://aws.amazon.com/jp/blogs/news/amazon-fsx-for-windows-file-server-audit-logging/
https://dev.classmethod.jp/articles/fsx-for-windows-file-server-walkthrough/
https://dev.classmethod.jp/articles/amazon-fsx-for-windows-file-server-now-supports-file-access-auditing/
https://support.serverworks.co.jp/hc/ja/articles/32525964741785-FSx-for-Windows-File-Server%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%AD%E3%82%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84