はじめに
ONTAPへ管理者でログインすると、当然ながらVolumeやSnapshotの削除という処理が許可されており、実行の際にも、本当に実行するかという確認が発生します。
但し、ログインユーザが悪意のあるユーザである場合や、確認事項を見ないで誤った操作をしてしまった場合については、そのままでは防止する事ができないので、操作ミスによる削除や不本意なSnapshot削除が発生するリスクは残ります。
こういったリスクに対応する為に、ONTAPの機能であるMulti-admin Verification(MAV)を使う事で、複数の管理者による変更操作の承認プロセスを組み込み、誤った変更や意図しない変更の防止、変更のトレース性の確保などが可能となります。
本記事ではONTAP上でMAVを有効にしてVolume削除時の挙動を確認してみます。
MAVはONTAP9.11.1から利用可能です。
何をしたい?できる?
- Multi-admin Verification(マルチ管理者検証)を有効にする
- Volume削除時に承認が必要になる事を確認する
Volume削除については、MAVとは別にvolume recovery-queueの機能で、完全削除までにデフォルトで12時間の猶予があります。(ゴミ箱のような機能)
記事における環境情報
本記事では、以下の環境で実施した内容となります。
- Mail Server : Exchange Server 2019
- 機種: FAS8200+SATA Disk
- ONTAP : 9.13.1
MAVで保護される操作
MAVでは、以下の表の内容を保護する事ができます。
保護される動作 | |
---|---|
event config modify | volume snapshot policy modify-schedule |
security login create | volume snapshot policy remove-schedule |
security login delete | volume snapshot restore |
security login modify | vserver peer delete |
system node run | volume snaplock modify (ONTAP9.13.1) |
system node systemshell | security anti-ransomware volume attack clear-suspect (ONTAP9.13.1) |
volume delete | security anti-ransomware volume disable (ONTAP9.13.1) |
volume flexcache delete | security anti-ransomware volume pause (ONTAP9.13.1) |
volume snapshot delete | volume recovery-query modify (ONTAP9.14.1) |
volume snapshot policy add-schedule | volume recovery-query purge (ONTAP9.14.1) |
volume snapshot policy create | volume recovery-query purge-all (ONTAP9.14.1) |
volume snapshot policy delete | vserver modify (ONTAP9.14.1) |
volume snapshot policy modify |
実施手順
1. Storage管理ユーザの作成
登場人物にあるユーザの作成を実施します。
(admin_bossとadmin_bukaを作成)
なお、事前にActiveDirectory上でboss、bukaのというユーザ作成とExchange server上でMailbox作成は実施済となってます。
> security login create -user-or-group-name admin_boss -application ssh -authentication-method password -role admin
Please enter a password for user 'admin_boss':
Please enter it again:
> security login create -user-or-group-name admin_boss -application http -authentication-method password -role admin
#必要ユーザ数分繰り返してから作成されたことの確認
> security login show -vserver PS-8200cl -user-or-group-name admin_b*
Vserver: PS-8200cl
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
admin_boss http password admin no none
admin_boss ssh password admin no none
admin_buka http password admin no none
admin_buka ssh password admin no none
2. 通知先となるMailサーバと送信元アドレスの設定
> event config modify -mail-from fas8200_admin@localhost -mail-server 172.16.10.123
> event config show
Mail From: fas8200_admin@localhost
Mail Server: 172.16.10.123
Proxy URL: -
Proxy User: -
Publish/Subscribe Messaging Enabled: true
3. MAVの承認グループを作成 (承認者の定義)
承認グループは管理SVMでのみ設定可能です。
(個々のSVM管理者に移管してMAVが使えない理由)
ここでは2名の管理者を承認者として設定します。
ユーザ用のSVMを指定して設定しようとすると、以下のようなエラーが確認できます。
Error: command failed: Failed to perform the operation because Vserver "XXXX" is not an adminstrative Vserver
> security multi-admin-verify approval-group create -vserver PS-8200cl -name mav-group01 -approvers admin_boss -email boss@ps-sc.local
> security multi-admin-verify approval-group show -instance
Vserver: PS-8200cl
Group Name: mav-group01
Approvers: admin, admin_boss
Email Addresses: administrator@ps-sc.local, boss@ps-sc.local
4. MAVを有効化
ここでは、承認者グループには承認者を2名分定義していても、申請への承認は1名の承認があればでOKとし、申請と承認後の有効時間はデフォルトの1hのままにします。
> security multi-admin-verify modify -approval-groups mav-group01 -required-approvers 1 -enabled true
> security multi-admin-verify show
Is Required Execution Approval Approval
Enabled Approvers Expiry Expiry Groups
------- --------- --------- -------- -----------
true 1 1h 1h mav-group01
5. Volume削除を承認対象にする為のルール追加
ここではSVM名 nfs100のVolume削除について承認が必要となるルールを追加します。
既にMAVが有効になっているので、ルール追加時にMAVの承認が必要となります。
adminユーザでCLI実施したのであれば、設定したadmin_bossで別途ログインして承認を実施します。
> security multi-admin-verify rule create -operation "volume delete" -query "-vserver nfs100"
Warning: This operation requires multi-admin verification. To create a verification request use "security multi-admin-verify request
create".
Would you like to create a request for this operation? {y|n}: y
Error: command failed: The security multi-admin-verify request (index 1) is auto-generated and requires approval.
> security multi-admin-verify request show
Pending
Index Operation Query State Approvers Requestor
----- ---------------------- -------------------- -------- --------- ---------
1 security multi-admin-verify rule create
-vserver PS-8200cl -operation "volume delete" -auto-request-create true -query "-vserver nfs100"
pending 1 admin
別ユーザ(この環境ではadmin_boss)で操作を承認します。
> security multi-admin-verify request approve -index 1
再度ルール追加のCLIをadminユーザで実施します。
> security multi-admin-verify rule create -operation "volume delete" -query "-vserver nfs100"
> security multi-admin-verify rule show
Required Approval
Vserver Operation Approvers Groups
----------- ------------------------------------------ --------- -------------
PS-8200cl
security login password - -
Query: -multi-admin-approver true -different-user true
security login unlock - -
Query: -username diag
security multi-admin-verify approval-group create - -
security multi-admin-verify approval-group delete - -
security multi-admin-verify approval-group modify - -
security multi-admin-verify approval-group replace - -
security multi-admin-verify modify - -
security multi-admin-verify rule create - -
security multi-admin-verify rule delete - -
security multi-admin-verify rule modify - -
set - -
Query: -privilege diagnostic
volume delete - -
Query: -vserver nfs100
6. Volume削除(申請)を実施
admin_bukaユーザでログインを行い、Volumeの削除を実施します。
nfs100というsvmのvolumeの場合、削除できない事が確認できます。
#別SVMのvolumeは消せることの確認
> volume delete -vserver nfs200 -volume vol200
Info: Volume "vol200" in Vserver "nfs200" will be marked as deleted and placed in the volume recovery queue. The space used by the
volume will be recovered only after the retention period of 12 hours has completed. To recover the space immediately, get the
volume name using (privilege:advanced) "volume recovery-queue show vol200_*" and then "volume recovery-queue purge -vserver
nfs200 -volume <volume_name>" command. To recover the volume use the (privilege:advanced) "volume recovery-queue recover
-vserver nfs200 -volume <volume_name>" command.
Warning: Are you sure you want to delete volume "vol200" in Vserver "nfs200" ? {y|n}: y
[Job 1121] Job succeeded: Successful
#対象SVMのVolume削除ができない事の確認
> volume delete -vserver nfs100 -volume vol100
Warning: This operation requires multi-admin verification. To create a verification request use "security multi-admin-verify request
create".
Would you like to create a request for this operation? {y|n}: y
Error: command failed: The security multi-admin-verify request (index 5) is auto-generated and requires approval.
7. 承認者ユーザで承認処理の実施
メール記載にあるように、CLIかGUI(system Manager)で承認を実施します。
ルール追加時にCLIでの承認は実施したので、ここではSystemManagerで承認します。
8. Volume削除の実行
削除申請が承認されたので、Volumeの削除を実行することが可能になります。
> security multi-admin-verify request show
Pending
Index Operation Query State Approvers Requestor
----- ---------------------- -------------------- -------- --------- ---------
3 set -privilege diagnostic
expired 1 admin
4 security multi-admin-verify modify
-approval-groups mav-group01 -required-approvers 1 -enabled false
executed 0 admin
5 volume delete -vserver nfs100 -volume vol100 -foreground true
approved 0 admin_buka
3 entries were displayed.
> volume delete -vserver nfs100 -volume vol100
Info: Volume "vol100" in Vserver "nfs100" will be marked as deleted and placed in the volume recovery queue. The space used by the
volume will be recovered only after the retention period of 12 hours has completed. To recover the space immediately, get the
volume name using (privilege:advanced) "volume recovery-queue show vol100_*" and then "volume recovery-queue purge -vserver
nfs100 -volume <volume_name>" command. To recover the volume use the (privilege:advanced) "volume recovery-queue recover
-vserver nfs100 -volume <volume_name>" command.
Warning: Are you sure you want to delete volume "vol100" in Vserver "nfs100" ? {y|n}: y
[Job 1122] Job succeeded: Successful
参考及びリンク
Multi-admin verification overview
NetApp ONTAP 9セキュリティ設定ガイド
Administrator authentication and RBAC overview with the CLI