Ubuntu 22.04
Sponsored Link

Auditd : 監査ルールを追加する2022/12/20

 
デフォルトで設定されているシステムへのログインやユーザーアカウント操作、Sudo アクションなどの監査設定以外のアクション、例えば、ある特定のファイルへのアクセスを監査したい場合等は、個別にルールを追加する必要があります。
[1] 例として、[/etc/hosts] の書き込みアクセスと属性変更を記録する監査ルールを設定します。
# 現在のルールを表示 (デフォルトは以下のように個別ルールは未設定)

root@dlp:~#
auditctl -l

No rules
# -p [r|w|x|a] で監視対象アクションを指定
# r=読み取り, w=書き込み, x=実行, a=属性変更
# -k [任意の文字列] で検索用キーを設定

root@dlp:~#
auditctl -w /etc/hosts -p wa -k hosts_change

root@dlp:~#
auditctl -l

-w /etc/hosts -p wa -k hosts_change
[2] 監査ルール設定後、監査対象のファイルに監査対象アクションを実行すると、以下のようなログが記録されます。
root@dlp:~#
ausearch -k hosts_change | aureport -f -i


===============================================
# date time file syscall success exe auid event
===============================================
1. 12/20/2022 12:43:40 /etc/hosts~ rename yes /usr/bin/vim.basic ubuntu 296
2. 12/20/2022 12:43:40 /etc/hosts openat yes /usr/bin/vim.basic ubuntu 297
3. 12/20/2022 12:43:40 (null) fchown yes /usr/bin/vim.basic ubuntu 298
4. 12/20/2022 12:43:40 (null) fchown yes /usr/bin/vim.basic ubuntu 299
5. 12/20/2022 12:43:40 (null) fchmod yes /usr/bin/vim.basic ubuntu 300
6. 12/20/2022 12:43:40 /etc/hosts setxattr yes /usr/bin/vim.basic ubuntu 301
7. 12/20/2022 12:44:28 /etc/hosts~ rename yes /usr/bin/vim.basic root 327
8. 12/20/2022 12:44:28 /etc/hosts openat yes /usr/bin/vim.basic root 328
9. 12/20/2022 12:44:28 (null) fchown yes /usr/bin/vim.basic root 329
10. 12/20/2022 12:44:28 (null) fchown yes /usr/bin/vim.basic root 330
11. 12/20/2022 12:44:28 (null) fchmod yes /usr/bin/vim.basic root 331
12. 12/20/2022 12:44:28 /etc/hosts setxattr yes /usr/bin/vim.basic root 332
[3] [auditctl] で設定した監査ルールはシステム再起動すると初期化されるため、永続化するには [/etc/audit/rules.d] 配下にルールを定義しておく必要があります。定義ファイルは、拡張子が [.rules] であればファイル名は任意の名称で OK です。
# 現在の設定を additional.rules に書き出す

root@dlp:~#
auditctl -l >> /etc/audit/rules.d/additional.rules

[4] 監査対象にディレクトリを指定すると、対象ディレクトリ配下が再帰的に監査対象となります。
# [/home/testdir/] に読み取りアクセスの監査ルールを設定

root@dlp:~#
auditctl -w /home/testdir/ -p r -k testdir_audit

root@dlp:~#
auditctl -l

-w /home/testdir -p r -k testdir_audit
# 対象ディレクトリへのアクセスが以下のように記録される

root@dlp:~#
ausearch -k testdir_audit | aureport -f -i


File Report
===============================================
# date time file syscall success exe auid event
===============================================
1. 12/20/2022 12:46:57 /home/testdir sendto yes /usr/sbin/auditctl root 83
2. 12/20/2022 12:47:50 /home/testdir/ lgetxattr no /usr/bin/ls root 84
3. 12/20/2022 12:47:50 /home/testdir/ getxattr no /usr/bin/ls root 85
4. 12/20/2022 12:47:50 /home/testdir/ getxattr no /usr/bin/ls root 86
5. 12/20/2022 12:47:50 /home/testdir/ openat yes /usr/bin/ls root 87
6. 12/20/2022 12:47:50 /home/testdir/. lgetxattr no /usr/bin/ls root 88
7. 12/20/2022 12:47:50 /home/testdir/. getxattr no /usr/bin/ls root 89
8. 12/20/2022 12:47:50 /home/testdir/. getxattr no /usr/bin/ls root 90
9. 12/20/2022 12:47:55 /home/testdir/.testfile.txt.swp openat yes /usr/bin/vim.basic root 91
10. 12/20/2022 12:47:55 /home/testdir/.testfile.txt.swx openat yes /usr/bin/vim.basic root 92
11. 12/20/2022 12:47:55 /home/testdir/.testfile.txt.swp openat yes /usr/bin/vim.basic root 93
12. 12/20/2022 12:48:21 /home/testdir/.test.txt.swp openat yes /usr/bin/vim.basic ubuntu 118
13. 12/20/2022 12:48:21 /home/testdir/.test.txt.swx openat yes /usr/bin/vim.basic ubuntu 119
14. 12/20/2022 12:48:21 /home/testdir/.test.txt.swp openat yes /usr/bin/vim.basic ubuntu 120
[5] 例として、UID が 1000 以上のログインユーザーが消去したファイルを監査する設定です。
root@dlp:~#
auditctl -a always,exit -F arch=b64 -S unlink,unlinkat -F 'auid>=1000' -F 'auid!=-1' -F key=delete_audit

root@dlp:~#
auditctl -l

-w /home/testdir -p r -k testdir_audit
-a always,exit -F arch=b64 -S unlink,unlinkat -F auid>=1000 -F auid!=-1 -F key=delete_audit
# 以下のようなログが記録される

root@dlp:~#
ausearch -k delete_audit | aureport -f -i


File Report
===============================================
# date time file syscall success exe auid event
===============================================
1. 12/20/2022 12:50:23 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd ubuntu 160
2. 12/20/2022 12:50:23 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd ubuntu 161
3. 12/20/2022 12:50:42 /home/testdir/test.txt unlinkat yes /usr/bin/rm ubuntu 189
4. 12/20/2022 12:50:56 /home/testdir/testfile.txt unlinkat yes /usr/bin/rm ubuntu 202
関連コンテンツ