はじめに
NetApp StorageであるAFFやFASのOSであるONTAPには様々な機能がありますが、
この記事ではSecurityに関する機能である監査ログの設定方法について記載します。
設定はCLIを用いて行います。
何をしたい?できる?
- ファイルサーバに対して、「何時」「誰が」「どのような操作を」というログを取得
- ログの世代管理
監査ログとは
仮想Storageに対して監視ログ設定を有効にする事で、ユーザ向け領域のファイルやフォルダアクセスが適切であるかをログから確認する事ができます。
監査ログはEVTXまたはXMLファイル形式で保存されます。
設定手順
コマンド例では、CIFS用領域における監査ログを有効にして、7日分のログを保持する設定例です。
前提としてCIFSアクセス可能な設定は完了しているものとします。
例で指定されている以下のパラメータは、環境によって異なる内容なので適宜変更して下さい。
- 仮想Storage(SVM)名:cifs100
- CIFS用Volume名:testvol100
- 監査ログ用Volume名:audit_vol
- 監視する操作:CIFS用Volumeにおけるファイル操作
1. 仮想Storage(SVM)に対して監査ログ格納用Volumeの作成
ログ用のVolumeを作成
Volumeサイズは要件に応じて変更が必要です。
> volume create -vserver cifs100 -volume audit_vol -aggregate aggr1_node1 -size 3g -state online -junction-path /audit_vol -space-guarantee none
設定値の確認
> volume show -vserver cifs100 -volume audit_vol
Vserver Name: cifs100
Volume Name: audit_vol
Aggregate Name: aggr1_node1
List of Aggregates for FlexGroup Constituents: aggr1_node1
Encryption Type: volume
List of Nodes Hosting the Volume: cluster-01
Volume Size: 3GB
Volume Data Set ID: 1845
Volume Master Data Set ID: 2159546051
(中略)
2. 監査ログ格納用VolumeへのCIFS共有作成
監査ログ用VolumeへCIFSアクセスできるように共有を作成
> cifs share create -vserver cifs100 -share-name audit_vol -path /audit_vol
設定値の確認
> cifs share show -vserver cifs100 -share-name audit_vol
Vserver: cifs100
Share: audit_vol
CIFS Server NetBIOS Name: CIFS100
Path: /audit_vol
Share Properties: oplocks
browsable
changenotify
show-previous-versions
(中略)
3. 監査ログの出力先と、ローテーション設定
毎月、すべての曜日の12:30にローテーションし、過去7回分保持
> vserver audit create -vserver cifs100 -destination /audit_vol -rotate-schedule-month all -rotate-schedule-dayofweek all -rotate-schedule-hour 12 -rotate-schedule-minute 30 -rotate-limit 7
設定値の確認
> vserver audit show -vserver cifs100
Vserver: cifs100
Auditing State: false
Log Destination Path: /audit_vol
Categories of Events to Audit: file-ops, cifs-logon-logoff,
audit-policy-change
Log Format: evtx
Log File Size Limit: -
Log Rotation Schedule: Month: January-December
Log Rotation Schedule: Day of Week: Sunday-Saturday
Log Rotation Schedule: Day: -
Log Rotation Schedule: Hour: 12
Log Rotation Schedule: Minute: 30
Rotation Schedules: @12:30
Log Files Rotation Limit: 7
Log Retention Duration: 0s
4. ファイル操作のみを監査するように設定を変更
> vserver audit modify -vserver cifs100 -format evtx -events file-ops
設定値の確認
> vserver audit show -vserver cifs100
Vserver: cifs100
Auditing State: false
Log Destination Path: /audit_vol
Categories of Events to Audit: file-ops, audit-policy-change
Log Format: evtx
Log File Size Limit: -
Log Rotation Schedule: Month: January-December
Log Rotation Schedule: Day of Week: Sunday-Saturday
Log Rotation Schedule: Day: -
Log Rotation Schedule: Hour: 12
Log Rotation Schedule: Minute: 30
Rotation Schedules: @12:30
Log Files Rotation Limit: 7
Log Retention Duration: 0s
5. 仮想Storageへの監査ログ設定の有効化
> vserver audit enable -vserver cifs100
設定値の確認
> vserver audit show -vserver cifs100
Vserver: cifs100
Auditing State: true
Log Destination Path: /audit_vol
Categories of Events to Audit: file-ops, audit-policy-change
Log Format: evtx
Log File Size Limit: -
Log Rotation Schedule: Month: January-December
Log Rotation Schedule: Day of Week: Sunday-Saturday
Log Rotation Schedule: Day: -
Log Rotation Schedule: Hour: 12
Log Rotation Schedule: Minute: 30
Rotation Schedules: @12:30
Log Files Rotation Limit: 7
Log Retention Duration: 0s
6. Windows端末からCIFS領域へアクセスして、監査の設定を実施
6-1.監査対象で右クリックし、[セキュリティ]タブを選択後、[詳細設定]をクリック
6-2.[監査]タブで[追加]をクリック
この例では特定のフォルダに設定しているので、継承は無効化しています。
6-3.全ユーザの操作を対象とする為、プリンシパル(監査対象のアカウント)をEveryone指定
6-4. 高度なアクセス許可を使い、ファイルの作成と削除の監視を指定
この例では指定操作に成功している場合にログが取られる設定になってます。
6-6. 監査ログの出力用Volumeに監査ログファイルが作成されている事の確認
6-6. スケジュール通りにログファイルが作成されている事の確認
この手順例では10/24の18:41以降はアクセスが発生していないので、その時点までの監査ログが世代管理用として出力
6-7. 監査ログをイベントビューアで確認
ファイルを操作したユーザ名は消してますが、SubjectUserNameの部分に記載されます。
どういう時に使うか
ログを保管して、後で調査できるようにする
・アクセス権の無い領域へファイル作成や削除の失敗をログとして残す
・不正アクセスにおける被害や影響調査の事後対応を効果的に行う事ができるようにする
ログの重要性については、国民のためのサイバーセキュリティサイトの記載が参考になります。
長期のログ保存を実施したい
・ログは1年以上保存することが望ましいが、遠隔地保管前の一定期間分をONTAPに保存
ログ保存の保存期間に対する考え方については、
JPCERTの高度サイバー攻撃への対処におけるログの活用と分析方法の記載(特にP.12,13)が参考になります。
イベントビューアで確認できるエラーについて
実際にevtxファイルをWindowsのイベントビューアで確認すると、以下のようなメッセージが確認できるかと思います。
「ソース "NetApp-Security-Auditing" からのイベント ID XXXX の説明が見つかりません。このイベントを発生させるコンポーネントがローカルコンピューターにインストールされていないか、インストールが壊れています。ローカル コンピューターにコンポーネントをインストールするか、コンポーネントを修復してください。」
原因は、Windowsの仕様によりアプリケーションをインストールしないと解析できない為なのですが、解決策が無く、ONTAPは対応するPluginは提供していない為、改善不可のものとなります。
(上記メッセージが表示されるものの、説明内容からインベント内容自体は確認できる)