はじめに
前回の記事ではAutonomous Ransomware Protection(ARP)の設定について記載しましたが、今回は管理者がよく直面するARPの理解しにくい点に焦点を当てます。具体的には、ARPの自動有効化の条件、統計値の見方、Snapshotの管理についての内容となります。
これらのトピックはマニュアルを見ただけでは理解が難しい部分があり、特に初心者にとってはハードルが高い内容になるかと思いますので、それぞれの項目を分かりやすく解説いたします。
何をしたい?できる?
自動有効化の条件を理解する
統計値の見方を理解する
Snapshotの作成条件や管理を理解する
記事における環境情報
本記事では、以下の環境で実施した内容となります。
分かり易くするために、Network構成は単純化しています。
- ONTAP : 9.14.1
- Windows Active Directory環境
本記事ではCLIで操作します
通知設定済で、ARP Snapshot作成時には通知及びEvent logに表示されます
(新しい拡張子作成の場合は通知やEvent logに載せない)
# ARP Snapshot作成についてのイベント設定
> security anti-ransomware volume event-log show -vserver vs_cifs11 -volume cifs300
Vserver Name: vs_cifs11
Volume Name: cifs300
Is Enabled on New File Extension Seen: false
Is Enabled on Snapshot Copy Creation: true
設定内容に関して
1. ARP自動有効化について
ONTAP 9.13.1以降ではARPの学習期間後の自動的な有効化機能が実装されておりますが、自動有効となる為にはいくつかの設定パラメータでの調整が可能となっています。
設定自体はSVM単位で実施します。
パラメータ | 説明 |
---|---|
anti-ransomware-auto-switch-from-learning-to-enabled | ARPの自動有効化を使うかどうか |
anti-ransomware-auto-switch-minimum-incoming-data-percent | 自動的有効に必要なデータ書き込み量(Volumeの何%のWriteを条件とするかで、デフォルト5%) |
anti-ransomware-auto-switch-duration-without-new-file-extension | 新規ファイル拡張子の発生しない期間(デフォルト3日) |
anti-ransomware-auto-switch-minimum-learning-period | 学習期間からARP有効化となる期間(デフォルト10日) |
anti-ransomware-auto-switch-minimum-file-count | Volumeに作成される新しいファイルの最小数(デフォルト200) |
anti-ransomware-auto-switch-minimum-file-extension | 新しいファイル拡張子の種類の最小数(デフォルト10) |
1-1. 自動有効化の条件を確認
実際に2つのVolume(cifs100, cifs101)を用意して、以下の条件を満たしているVolumeと満たしていないVolumeの違いを確認してみます。
この例では、cifs100というVolumeが全条件に適合している形です。
■ 条件
- デフォルトの10日でARPの自動有効化
- Volumeの使用率が5%を超えている
- 作成ファイル数は200以上
- 10種類以上の拡張子のファイルを作成
- 7日目からは新規の拡張子作成は実施しない
# SVMのARP自動化設定値の確認
> vserver show -vserver vs_cifs11
Vserver: vs_cifs11
Vserver Type: data
(中略)
Anti-ransomware Auto-switch from Learning to Enabled: true
Anti-ransomware Auto-switch Minimum Incoming Data (in percentage): 5%
Anti-ransomware Auto-switch Duration Without New File Extension (in Days): 3
Anti-ransomware Auto-switch Minimum Learning Period: 10
Anti-ransomware Auto-switch Minimum File Count: 200
Anti-ransomware Auto-switch Minimum File Extension: 10
Storage Reserved for In-flight Volume Operations: -
# 学習期間の開始は同じ日に開始
> security anti-ransomware volume show -vserver vs_cifs11 -volume cifs10*
Vserver Volume State Dry Run Start Time
---------- ---------------- ---------------- ------------------
vs_cifs11 cifs100 dry-run 6/25/2024 16:38:30
vs_cifs11 cifs101 dry-run 6/25/2024 16:52:20
2 entries were displayed.
# Volume使用率はどちらも5%を越えている
> df -h -vserver vs_cifs11 -volume cifs10*
Filesystem total used avail capacity Mounted on
/vol/cifs100/ 19GB 1603MB 17GB 8% /cifs100
/vol/cifs100/.snapshot 1024MB 15MB 1008MB 2% /cifs100/.snapshot
/vol/cifs101/ 19GB 2180MB 16GB 11% /cifs101
/vol/cifs101/.snapshot 1024MB 47MB 976MB 5% /cifs101/.snapshot
# Volume内のファイル数はcifs100側は適合
> df -i -vserver vs_cifs11 -volume cifs10*
Filesystem iused ifree %iused Mounted on
/vol/cifs100/ 1369 621218 0% /cifs100
/vol/cifs101/ 145 622442 0% /cifs101
2 entries were displayed.
# cifs100は拡張子も20種類分作成
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs100
Vserver: vs_cifs11
Volume: cifs100
File Extensions Observed: txt, png, exe, mp3, jpg, pdf,
dotx, xlsx, csv, pptx, pem,
aa1, aa2, aa3, aa4, aa5, aa9,
aa7, aa8, aa6
Number of File Extensions Observed: 20
(中略)
# cifs101は拡張子は4種類分作成(条件に非適合)
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs101
Vserver: vs_cifs11
Volume: cifs101
File Extensions Observed: txt, zip, jpg, msi
Number of File Extensions Observed: 4
(中略)
10日経過すると、以下のようにcifs100というVolumeのみARPが有効化されます。
> security anti-ransomware volume show -vserver vs_cifs11 -volume cifs10*
Vserver Volume State Dry Run Start Time
---------- ---------------- ---------------- ------------------
vs_cifs11 cifs100 enabled -
vs_cifs11 cifs101 dry-run 6/25/2024 16:52:20
2 entries were displayed.
また、ARPの通知設定を有効化していると、ARPの有効化時に以下のようなメールを通知させることができます。
(丁度10日経過後の通知です)
1-2. 10日以降に条件に適合した場合
10日のうちに自動有効化の条件に適合できなかった場合は、後日に条件へ適合したとしても直ぐには自動有効化されず30日後に自動有効化となるので、場合によっては任意のタイミングで手動有効化が必要になります。
以下は10日のうちに自動有効化の条件に適合できなかったcifs101というVolumeに対して、数日後に条件適合したとしても直ぐには有効化はされず、30日後に自動有効化された内容となります。
# まだ学習期間の状態である事の確認
> date
Node Date Time zone
--------- ------------------------ -------------------------
PS-C250-01
Thu Jul 18 15:08:47 2024 Asia/Tokyo
PS-C250-02
Thu Jul 18 15:08:47 2024 Asia/Tokyo
> security anti-ransomware volume show -vserver vs_cifs11 -volume cifs101
Vserver Name: vs_cifs11
Volume Name: cifs101
State: dry-run
Dry Run Start Time: 6/25/2024 16:52:20
Attack Probability: none
Attack Timeline: -
Number of Attacks: -
# Volume使用率は5%を越えている
> df -h -vserver vs_cifs11 -volume cifs101
Filesystem total used avail capacity Mounted on
/vol/cifs101/ 19GB 2280MB 16GB 11% /cifs101
/vol/cifs101/.snapshot 1024MB 47MB 976MB 5% /cifs101/.snapshot
2 entries were displayed.
# Volume内のファイル数も適合
df -i -vserver vs_cifs11 -volume cifs101
Filesystem iused ifree %iused Mounted on
/vol/cifs101/ 252 622335 0% /cifs101
# 拡張子も10種類分作成
security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs101
Vserver: vs_cifs11
Volume: cifs101
File Extensions Observed: txt, zip, jpg, msi, aa4, aa6,
aa5, aa1, aa2, aa3
Number of File Extensions Observed: 10
(中略)
# 3日の拡張子追加が発生しなくても自動有効化されない
> date
Node Date Time zone
--------- ------------------------ -------------------------
PS-C250-01
Mon Jul 22 13:15:11 2024 Asia/Tokyo
PS-C250-02
Mon Jul 22 13:15:11 2024 Asia/Tokyo
2 entries were displayed.
> security anti-ransomware volume show -vserver vs_cifs11 -volume cifs101
Vserver Name: vs_cifs11
Volume Name: cifs101
State: dry-run
Dry Run Start Time: 6/25/2024 16:52:20
Attack Probability: none
Attack Timeline: -
Number of Attacks: -
# 30日後に自動有効化している事の確認
event log show -severity NOTICE -message-name arw.auto*
Time Node Severity Event
------------------- ---------------- ------------- ---------------------------
7/25/2024 16:53:10 PS-C250-01 NOTICE arw.auto.switch.enabled: Anti-ransomware has been automatically switched from learning mode to enabled on volume "cifs101" in SVM "vs_cifs11".
> security anti-ransomware volume show -vserver vs_cifs11 -volume cifs101
Vserver Name: vs_cifs11
Volume Name: cifs101
State: enabled
Dry Run Start Time: -
Attack Probability: none
Attack Timeline: -
Number of Attacks: -
2. 統計値の見方
security anti-ransomware volume workload-behavior showコマンドを利用することで、書き込まれている拡張子の数や種類、高エントロピーの書き込みの割合や書き込み速度、ファイルの作成や削除、Rename数について確認する事ができます。
統計値については、20分間のサンプリングで実施の為、結果確認までに暫く時間が掛かります。
サンプリング期間の記載はKBを参照頂ければと思います。
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs100
Vserver: vs_cifs11
Volume: cifs100
File Extensions Observed: txt, png, exe, mp3, jpg, pdf,
dotx, xlsx, csv, pptx, pem,
aa1, aa2, aa3, aa4, aa5, aa9,
aa7, aa8, aa6
Number of File Extensions Observed: 20
Historical Statistics
High Entropy Data Write Percentage: 86
High Entropy Data Write Peak Rate (KB/Minute): 21380
File Create Peak Rate (per Minute): 20
File Delete Peak Rate (per Minute): 10
File Rename Peak Rate (per Minute): 10
(中略)
2-1. 観測済の拡張子について
File Extensions ObservedやNumber of File Extensions Observedから、ARP対象のVolumeに対して書き込まれたファイルの拡張子について確認することができます。
上記の観測済の拡張子(File Extensions Observed)については、出力のフォーマットエラーや切り捨てエラーを防ぐため50個しか返されない仕様になっています。
# 60種類の拡張子を書き込んだが、表示される拡張子は50個分
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs200
Vserver: vs_cifs11
Volume: cifs200
File Extensions Observed: txt, aa4, aa5, aa7, aa14,
aa16, aa22, aa23, aa25, aa28,
aa39, aa40, aa41, aa45, aa48,
aa49, aa56, aa59, aa1, aa3,
aa6, aa11, aa13, aa18, aa19,
aa21, aa24, aa26, aa29, aa34,
aa35, aa37, aa38, aa42, aa43,
aa44, aa50, aa55, aa2, aa8,
aa9, aa10, aa12, aa15, aa17,
aa20, aa30, aa31, aa32, aa33
Number of File Extensions Observed: 60
(中略)
但し、ARP有効後に検知したSurge Observed(異常検知)については、50以上の拡張子の表示がなされます。
# Surge Observedでは書き込んだ61種類の拡張子が表示される
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs200
Vserver: vs_cifs11
Volume: cifs200
File Extensions Observed: txt, aa4, aa5, aa7, aa14,
aa16, aa22, aa23, aa25, aa28,
aa39, aa40, aa41, aa45, aa48,
aa49, aa56, aa59, aa1, aa3,
aa6, aa11, aa13, aa18, aa19,
aa21, aa24, aa26, aa29, aa34,
aa35, aa37, aa38, aa42, aa43,
aa44, aa50, aa55, aa2, aa8,
aa9, aa10, aa12, aa15, aa17,
aa20, aa30, aa31, aa32, aa33
Number of File Extensions Observed: 121
(中略)
Surge Observed
Surge Timeline: -
High Entropy Data Write Percentage: -
High Entropy Data Write Peak Rate (KB/Minute): -
File Create Peak Rate (per Minute): -
File Delete Peak Rate (per Minute): -
File Rename Peak Rate (per Minute): -
Newly Observed File Extensions: aa69, aa70, aa72, aa75, aa77,
aa81, aa83, aa87, aa89, aa90,
aa92, aa94, aa103, aa105,
aa116, aa117, aa118, aa119,
aa62, aa63, aa64, aa67, aa68,
aa71, aa73, aa74, aa76, aa78,
aa80, aa82, aa84, aa85, aa86,
aa91, aa93, aa96, aa98, aa99,
aa100, aa101, aa102, aa104,
aa106, aa107, aa108, aa110,
aa111, aa112, aa113, aa114,
aa120, aa65, aa66, aa79,
aa88, aa97, aa109, aa60,
aa61, aa115, aa95
Number of Newly Observed File Extensions: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1
2-2. 高エントロピーのデータ書き込みについて
ONTAPでは、書き込まれたファイル単位のエントロピー計算を実施していない為、仮に200GBの暗号化ファイルを20分間かけて書き込みを実施したとしても、以下のような値にはなりません。
High Entropy Data Write Peak Rate (KB/Minute): 10485760(10GB)
(20分で200GBなら1分で10GBというような計算)
ONTAPでは書き込まれたファイルを細かい単位で分割し、その小さい単位でエントロピー計算をしているので暗号化ファイル内の一部でエントロピーが低い部分があれば、その部分は高エントロピーという扱いにはならない形です。
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs100
Vserver: vs_cifs11
Volume: cifs100
(中略)
Historical Statistics
High Entropy Data Write Percentage: 86
High Entropy Data Write Peak Rate (KB/Minute): 21380
File Create Peak Rate (per Minute): 20
File Delete Peak Rate (per Minute): 10
File Rename Peak Rate (per Minute): 10
(中略)
一般的なエントロピー計算で用いられる関数について考察してみると、サイズが大きいファイルは計算に時間が掛かる事が予測されるので、ファイル単位のエントロピー計算は現実的では無いという考え方もできるかと思います。
分かり易さ中心での説明となりますが、以下のような計算をしているので、時間がかかるイメージとなります。
- ファイル全体をスキャンして利用している文字を全て洗い出す
- 各文字列の出現割合を算出する
- 各文字の出現割合を以下の式に代入して、全文字分足し合わせる
H(x) = - \sum_{x}P(x)\log_2 P(x)
エントロピーに関しては、別の記事に記載しているので、参考にして頂けばと思います。
2-3. ファイル作成、削除、Renameについて
統計値については、20分間のサンプリングを実施しているので、コマンド例のように
File Create Peak Rate (per Minute): 1
というような形になるには、サンプリング期間内に20ファイルの作成が必要になります。
(20ファイル作成を実施すれば、1分あたり1ファイルという形で平均化される)
> security anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs101
Vserver: vs_cifs11
Volume: cifs101
File Extensions Observed: txt, zip, jpg, msi
Number of File Extensions Observed: 4
Historical Statistics
High Entropy Data Write Percentage: -
High Entropy Data Write Peak Rate (KB/Minute): -
File Create Peak Rate (per Minute): 1
File Delete Peak Rate (per Minute): -
File Rename Peak Rate (per Minute): -
(中略)
2-4. Surge Observed(異常検知)
ARPを有効化した後に、学習期間と違った振る舞いをすると表示されるようになります。
異常検知の検出にあたって、どの程度急増すると異常検知として扱うかについてパラメータ調整する事が可能です。
検証環境では、少ないファイル数の再作成や新しい拡張子数でも検知できるようにパラメータ値(数値部分)を設定する事が考えられますが、KBへの記載があるように、Surge Observedは学習期間が最小で30日実施されている事を前提に動作します。
(学習期間が短いと上手くファイル作成や削除、エントロピーのSurge検知できない)
パラメータ | 説明 |
---|---|
high-entropy-data-surge-notify-percentage | 過去の観測値と比較したエントロピーにおいて安全と考えられる急増% |
file-create-rate-surge-notify-percentage | 過去の観測値と比較したファイルcreateにおいて安全と考えられる急増% |
file-delete-rate-surge-notify-percentage | 過去の観測値と比較したファイルDeleteにおいて安全と考えられる急増% |
file-rename-rate-surge-notify-percentage | 過去の観測値と比較したファイルRenameにおいて安全と考えられる急増% |
never-seen-before-file-extn-count-notify-threshold | Create/Rename操作で、過去に見たことのない拡張子数の閾値 |
never-seen-before-file-extn-duration-in-hours | 以前に見たことがない拡張子の継続時間を時間単位で表示(上記optionsとセット) |
なお、パラメータ値のデフォルトは、以下のようになっています。
- 急増したとみなす値は100%(学習期間の統計値と比較して)
- 拡張子は20種類以上
- 拡張子は24時間単位で計測
# 検知の為のパラメータ値の確認
> security anti-ransomware volume attack-detection-parameters show -vserver vs_cifs11 -volume cifs200
Vserver Name : vs_cifs11
Volume Name : cifs200
Is Detection Based on High Entropy Data Rate? : true
Is Detection Based on Never Seen before File Extension? : true
Is Detection Based on File Create Rate? : true
Is Detection Based on File Rename Rate? : true
Is Detection Based on File Delete Rate? : true
Is Detection Relaxing Popular File Extensions? : true
High Entropy Data Surge Notify Percentage : 100
File Create Rate Surge Notify Percentage : 100
File Rename Rate Surge Notify Percentage : 100
File Delete Rate Surge Notify Percentage : 100
Never Seen before File Extensions Count Notify Threshold : 20
Never Seen before File Extensions Duration in Hour : 24
Historical Statistics(学習時のデータ)やSurge Observed(ARP有効後の異常検知)のHigh Entropy Data Write Percentageについては上限は100となっています。
Historical Statisticsで51%以上の場合、検知の為のパラメータであるhigh-entropy-data-surge-notify-percentageが100%に設定するとは、100%の上限を超えてしまう為、Surge Observedとは見なされず監視できない形になります。
本記事では、Surge Observedを検出しやすいように、パラメータ値の急増%や、拡張子の数を少なく設定して検証を実施しますが、恒常的なI/Oを30日以上かけた学習を実施していないので、拡張子のに関してのみ利用しています。
> anti-ransomware volume attack-detection-parameters show -vserver vs_cifs11 -volume cifs101
(security anti-ransomware volume attack-detection-parameters show)
Vserver Name : vs_cifs11
Volume Name : cifs101
Is Detection Based on High Entropy Data Rate? : true
Is Detection Based on Never Seen before File Extension? : true
Is Detection Based on File Create Rate? : true
Is Detection Based on File Rename Rate? : true
Is Detection Based on File Delete Rate? : true
Is Detection Relaxing Popular File Extensions? : true
High Entropy Data Surge Notify Percentage : 10
File Create Rate Surge Notify Percentage : 10
File Rename Rate Surge Notify Percentage : 10
File Delete Rate Surge Notify Percentage : 10
Never Seen before File Extensions Count Notify Threshold : 2
Never Seen before File Extensions Duration in Hour : 1
以下のような表示をさせる為には、学習期間が最小で30日実施し恒常的なI/Oがかかっている必要があります。
> anti-ransomware volume workload-behavior show -vserver vs_cifs11 -volume cifs101
(security anti-ransomware volume workload-behavior show)
Vserver: vs_cifs11
Volume: cifs101
File Extensions Observed: txt, msi, exe, TMP, lnk,
dotx, jpg, tmp
Number of File Extensions Observed: 8
(中略)
Surge Observed
Surge Timeline: 12/26/2023 10:21:31
High Entropy Data Write Percentage: -
High Entropy Data Write Peak Rate (KB/Minute): -
File Create Peak Rate (per Minute): 53
File Delete Peak Rate (per Minute): -
File Rename Peak Rate (per Minute): -
Newly Observed File Extensions: -
Number of Newly Observed File Extensions: -
3. ARP Snapshotの作成と管理
ARP SnapShotは通常のSnapshotとは異なる考え方が求められ、その運用方針も特徴的なものになっています。特に、ARP SnapShotではシステムの信頼性を維持するためにできるだけSnapShotを残す挙動になります。
ARP Snapshotについて、簡単に纏めると以下のような特徴があります。
- 通常のSnapShotとは別でARP Snapshotとして世代管理
- 最大世代まで到達すると、新規ARP Snapshot作成時に偶数世代のSnapshotが削除
- パラメータ値通りに機能するのは攻撃の可能性がnoneの場合
- arw.snap.normal.retain.interval.hoursを越えてもARP Snapshotが1つ保持される
- 攻撃の可能性がlowの場合、ARP SnapShot作成後に攻撃発生が無い場合、
5日後に攻撃可能性がlowで無くなる (5日については調整不可) - 攻撃の可能性がmoderateの場合、誤検知と設定するまでARP Snapshotを保持
- ARP SnapshotやSurge ObservedによるSnapshot作成間隔はvserver optionsで管理
ARPSnapshotの世代管理や作成間隔については、vserver optionsを用いて設定(nodeのoptions)を変更する事ができ、変更可能なパラメータは以下の通りです。
パラメータ | 説明 |
---|---|
arw.snap.create.interval.hours | ARW Snapshotの作成間隔(時間)を指定 |
arw.snap.create.interval.hours.post.max.count | 既に最大数のARW Snapshotとなっている状態の時、ARW Snapshotの間隔(時間)を指定 |
arw.snap.max.count | ARW Snapshotコピーの最大数 |
arw.snap.max.retain.interval.days | ARW Snapshotを保持できる最長期間(日数)を指定 |
arw.snap.new.extns.interval.hours | 新しい拡張子の検出時に作成されるARP Snapshotの間隔 |
arw.snap.normal.retain.interval.hours | ARW Snapshotを保持する期間(時間)を指定 |
arw.snap.surge.interval.days | surgeによるARW Snapshotの間隔(日数)を指定 |
# 設定世代数の確認
> vserver options -option-name arw* -vserver PS-C250-0*
PS-C250-01
arw.snap.create.interval.hours 1 (same value in local+partner recommended)
arw.snap.create.interval.hours.post.max.count 4 (same value in local+partner recommended)
arw.snap.max.count 5 (same value in local+partner recommended)
arw.snap.max.retain.interval.days 3 (same value in local+partner recommended)
arw.snap.new.extns.interval.hours 24 (same value in local+partner recommended)
arw.snap.normal.retain.interval.hours 48 (same value in local+partner recommended)
arw.snap.surge.interval.days 1 (same value in local+partner recommended)
PS-C250-02
arw.snap.create.interval.hours 1 (same value in local+partner recommended)
arw.snap.create.interval.hours.post.max.count 4 (same value in local+partner recommended)
arw.snap.max.count 5 (same value in local+partner recommended)
arw.snap.max.retain.interval.days 3 (same value in local+partner recommended)
arw.snap.new.extns.interval.hours 24 (same value in local+partner recommended)
arw.snap.normal.retain.interval.hours 48 (same value in local+partner recommended)
arw.snap.surge.interval.days 1 (same value in local+partner recommended)
14 entries were displayed.
3-1. 通常のSnapshotとの世代管理について
ARP Snapshotは、通常のスケジュールSnapshotとは別に世代管理されます。
以下のCLIの出力例にあるように、通常のスケジュールSnapshot世代数に影響する事はありません。
# 通常のSnapshotの世代管理の確認
> volume show -vserver vs_cifs11 -volume cifs300 -fields snapshot-policy
vserver volume snapshot-policy
--------- ------- ---------------
vs_cifs11 cifs300 hourly
# 時間単位で5世代作成という事の確認
> snapshot policy show -policy hourly
Vserver: PS-C250
Number of Is
Policy Name Schedules Enabled Comment
------------------------ --------- ------- ----------------------------------
hourly 1 true -
Schedule Count Prefix SnapMirror Label Retention Period
-------------- ----- ------------- ------------------ ------------------
hourly 5 hourly - 0 seconds
# 通常のsnapshotとARP Snapshotが合わせて8世代となっている事の確認
> snapshot show -vserver vs_cifs11 -volume cifs300
---Blocks---
Vserver Volume Snapshot Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
vs_cifs11 cifs300
hourly.2024-07-26_1205 2.66MB 0% 0%
hourly.2024-07-26_1305 236KB 0% 0%
Anti_ransomware_backup.2024-07-26_1356 208KB 0% 0%
hourly.2024-07-26_1405 232KB 0% 0%
hourly.2024-07-26_1505 248KB 0% 0%
Anti_ransomware_backup.2024-07-26_1514 18.18MB 0% 1%
hourly.2024-07-26_1605 1.27MB 0% 0%
Anti_ransomware_backup.2024-07-26_1618 385.1MB 2% 14%
8 entries were displayed.
3-2. ARP Snapshot世代管理による偶数世代の削除について
ARP Snapshotでは設定値以上のSnapshotが作成される際には、既存のARP Snapshotの偶数世代のSnapshotを削除される仕様で、これにより、直近のみのSnapshotを保持するのではなく、幅広い時間範囲のSnapshotが存在することを保証しています。
以下は、ARP Snapshotの最大世代数は5世代で設定した際の例となります。
(世代と考えるよりも作成回数とした方が理解しやすいかもしれないです)
# 設定世代数の確認
> vserver options -option-name arw.snap.max.count -vserver PS-C250-0*
PS-C250-01
arw.snap.max.count 5 (same value in local+partner recommended)
PS-C250-02
arw.snap.max.count 5 (same value in local+partner recommended)
2 entries were displayed.
# 作成済のARP Snapshotの確認
> snapshot show -vserver vs_cifs11 -volume cifs300 -fields create-time
vserver volume snapshot create-time
--------- ------- -------------------------------------- ------------------------
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2107 Sat Jul 27 21:07:40 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2208 Sat Jul 27 22:08:39 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2313 Sat Jul 27 23:13:11 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0014 Sun Jul 28 00:14:06 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0115 Sun Jul 28 01:15:59 2024
5 entries were displayed.
#追加でARP Snapshotが作成された際の世代の変化(6回目の作成)
#偶数世代が削除されて5世代が4世代になっている
> event log show -severity NOTICE -message-name arw.snapshot.created
Time Node Severity Event
------------------- ---------------- ------------- ---------------------------
7/28/2024 02:18:19 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0218". Reason: "High entropy writes detected".
7/28/2024 01:15:59 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0115". Reason: "High entropy writes detected".
7/28/2024 00:14:06 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0014". Reason: "High entropy writes detected".
7/27/2024 23:13:11 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2313". Reason: "High entropy writes detected".
7/27/2024 22:08:39 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2208". Reason: "High entropy writes detected".
7/27/2024 21:07:40 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2107". Reason: "High entropy writes detected"..
> snapshot show -vserver vs_cifs11 -volume cifs300 -fields create-time
vserver volume snapshot create-time
--------- ------- -------------------------------------- ------------------------
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2107 Sat Jul 27 21:07:40 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2313 Sat Jul 27 23:13:11 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0115 Sun Jul 28 01:15:59 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0218 Sun Jul 28 02:18:19 2024
4 entries were displayed.
偶数世代が削除された後は、最大設定世代数までARP Snapshotを作成し、再度偶数世代を削除するという事を繰り返します。
3-3. arw.snap.create.interval.hours.post.max.countの動作について
本来であれば、本記事ようにのARP Snapshotを最大5世代にしている場合、6世代目を作成する際にはarw.snap.create.interval.hours.post.max.countの時間が適用されるはずですが、仕様としてはさらにその次の世代の作成時に利用されます。
つまり、arw.snap.max.countの値に2を加えた数にあたるSnapshot作成時にarw.snap.create.interval.hours.post.max.count の設定に準拠する形となります。
現時点では仕様ですが内部的に不具合(Burt 1596508)として登録済みですので、今後仕様が修正される可能性があります。
#最大世代数に達すると4時間経たないとSnapshotを作成できない設定
> vserver options -option-name arw.snap.create.interval.hours* -vserver PS-C250-0*
PS-C250-01
arw.snap.create.interval.hours 1 (same value in local+partner recommended)
arw.snap.create.interval.hours.post.max.count 4 (same value in local+partner recommended)
PS-C250-02
arw.snap.create.interval.hours 1 (same value in local+partner recommended)
arw.snap.create.interval.hours.post.max.count 4 (same value in local+partner recommended)
4 entries were displayed.
#偶数世代が削除される6世代目が1時間後に作成できている形
> event log show -severity NOTICE -message-name arw.snapshot.created
Time Node Severity Event
------------------- ---------------- ------------- ---------------------------
7/28/2024 02:18:19 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0218". Reason: "High entropy writes detected".
7/28/2024 01:15:59 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0115". Reason: "High entropy writes detected".
7/28/2024 00:14:06 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0014". Reason: "High entropy writes detected".
7/27/2024 23:13:11 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2313". Reason: "High entropy writes detected".
7/27/2024 22:08:39 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2208". Reason: "High entropy writes detected".
7/27/2024 21:07:40 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2107". Reason: "High entropy writes detected".
> snapshot show -vserver vs_cifs11 -volume cifs300 -fields create-time
vserver volume snapshot create-time
--------- ------- -------------------------------------- ------------------------
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2107 Sat Jul 27 21:07:40 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2313 Sat Jul 27 23:13:11 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0115 Sun Jul 28 01:15:59 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0218 Sun Jul 28 02:18:19 2024
4 entries were displayed.
#7世代目は4時間後に作成成功する事の確認(1時間後だと作成されない)
> event log show -severity NOTICE -message-name arw.snapshot.created
Time Node Severity Event
------------------- ---------------- ------------- ---------------------------
7/28/2024 06:21:50 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0621". Reason: "High entropy writes detected".
7/28/2024 02:18:19 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0218". Reason: "High entropy writes detected".
7/28/2024 01:15:59 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0115". Reason: "High entropy writes detected".
7/28/2024 00:14:06 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-28_0014". Reason: "High entropy writes detected".
7/27/2024 23:13:11 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2313". Reason: "High entropy writes detected".
7/27/2024 22:08:39 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2208". Reason: "High entropy writes detected".
7/27/2024 21:07:40 PS-C250-01 NOTICE arw.snapshot.created: ARP snapshot created on volume "cifs300" (UUID: "0ec4d9e0-4961-11ef-b600-d039ea5905a2") in SVM "vs_cifs11" (UUID: "09ec4844-27c4-11ef-b600-d039ea5905a2") at "2024-07-27_2107". Reason: "High entropy writes detected".
> snapshot show -vserver vs_cifs11 -volume cifs300 -fields create-time
vserver volume snapshot create-time
--------- ------- -------------------------------------- ------------------------
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2107 Sat Jul 27 21:07:40 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-27_2313 Sat Jul 27 23:13:11 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0115 Sun Jul 28 01:15:59 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0218 Sun Jul 28 02:18:19 2024
vs_cifs11 cifs300 Anti_ransomware_backup.2024-07-28_0621 Sun Jul 28 06:21:50 2024
5 entries were displayed.
3-4. ARP Snapshot保持期限の動作について
短い時間で状態変化を確認したいので、ARPSnapshotの世代保持期間を以下のように変更しています。
- ARW Snapshotを保持する期間は12時間
- ARW Snapshotを保持できる最長期間は1日
#最大世代数に達すると4時間経たないとSnapshotを作成できない設定
> vserver options -option-name arw.snap.normal.retain.interval.hours -vserver PS-C250-0*
PS-C250-01
arw.snap.normal.retain.interval.hours 12 (same value in local+partner recommended)
PS-C250-02
arw.snap.normal.retain.interval.hours 12 (same value in local+partner recommended)
2 entries were displayed.
PS-C250::> vserver options -option-name arw.snap.max.retain.interval.days -vserver PS-C250-0*
PS-C250-01
arw.snap.max.retain.interval.days 1 (same value in local+partner recommended)
PS-C250-02
arw.snap.max.retain.interval.days 1 (same value in local+partner recommended)
2 entries were displayed.
攻撃の可能性がnoneの場合(パラメータ通りの動作確認)
高エントロピーデータをWriteして攻撃の可能性が無いARP SnapShotを作成し、時間経過によるARP Snapshotの保持期間について確認します。
攻撃の可能性がnoneの場合は、以下のような挙動となります。
- arw.snap.normal.retain.interval.hoursが経過すると1世代だけ残る
- arw.snap.max.retain.interval.daysが経過するとARP Snapshotは全て削除
# 攻撃の可能性がnoneとなっている事の確認
> anti-ransomware volume show -vserver vs_cifs11 -volume cifs300
(security anti-ransomware volume show)
Vserver Name: vs_cifs11
Volume Name: cifs300
State: enabled
Dry Run Start Time: -
Attack Probability: none
Attack Timeline: -
Number of Attacks: -
# 現在時刻とSnapshotの状態を確認
> date; snapshot show -vserver vs_cifs11 -volume cifs300
Node Date Time zone
--------- ------------------------ -------------------------
PS-C250-01
Tue Jul 30 01:13:05 2024 Asia/Tokyo
PS-C250-02
Tue Jul 30 01:13:05 2024 Asia/Tokyo
2 entries were displayed.
---Blocks---
Vserver Volume Snapshot Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
vs_cifs11 cifs300
Anti_ransomware_backup.2024-07-29_1741 21.68MB 0% 1%
Anti_ransomware_backup.2024-07-29_1936 47.32MB 0% 2%
Anti_ransomware_backup.2024-07-29_2037 182.8MB 1% 6%
3 entries were displayed.
# ARP SnapShot作成後に、12時間以上1日未満が経過した際の現在時刻とSnapshotの状態を確認
> date; snapshot show -vserver vs_cifs11 -volume cifs300
Node Date Time zone
--------- ------------------------ -------------------------
PS-C250-01
Tue Jul 30 09:42:52 2024 Asia/Tokyo
PS-C250-02
Tue Jul 30 09:42:52 2024 Asia/Tokyo
2 entries were displayed.
---Blocks---
Vserver Volume Snapshot Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
vs_cifs11
cifs300
Anti_ransomware_backup.2024-07-29_2037 182.8MB 1% 6%
# ARP SnapShot作成後に、1日が経過した状態のARP Snapshot
> date; snapshot show -vserver vs_cifs11 -volume cifs300
Node Date Time zone
--------- ------------------------ -------------------------
PS-C250-01
Tue Jul 30 21:29:01 2024 Asia/Tokyo
PS-C250-02
Tue Jul 30 21:29:01 2024 Asia/Tokyo
2 entries were displayed.
There are no entries matching your query.
ARP Snapshotが削除された際のlogについてはブラウザからClusterのIPにspiアクセスし、mgwd.logから確認する事ができます。
https://management_LIF_IP/spi/node_name/etc/log/mlog/mgwd.log
# DownloadしたlogをLinuxで確認
> cat mgwd.log
(中略)
00000016.0135089d 03513200 Tue Jul 30 2024 20:37:57 +09:00 [kern_mgwd:error:3140] volume->removeSnapshotOwner succeeded [ARW_LOG src/tables/antiransomware/anti_ransomware_volume.cc:1394 in 'create_imp']
00000016.0135089e 03513200 Tue Jul 30 2024 20:37:57 +09:00 [kern_mgwd:debug:3140] Snapshot Anti_ransomware_backup.2024-07-29_2037 deleted. vol = cifs300, vs = vs_cifs11 [ARW_LOG src/tables/antiransomware/anti_ransomware_volume.cc:1401 in 'create_imp']
(中略)
参考及びリンク
Autonomous Ransomware Protection workload show does not list all known file extensions
Understanding ARP snapshot protection and attack detection
Modify options for automatic Snapshot copies
ONTAPのSecurity機能について9【Autonomous Ransomware Protection(ARP)】