Auditd : 監査ルールを追加する2024/06/18 |
デフォルトで設定されているシステムへのログインやユーザーアカウント操作、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 File Report =============================================== # date time file syscall success exe auid event =============================================== 1. 06/17/2024 02:33:28 /etc/hosts~ rename yes /usr/bin/vim.basic ubuntu 342 2. 06/17/2024 02:33:28 /etc/hosts openat yes /usr/bin/vim.basic ubuntu 343 3. 06/17/2024 02:33:28 (null) fchmod yes /usr/bin/vim.basic ubuntu 344 4. 06/17/2024 02:33:28 /etc/hosts setxattr yes /usr/bin/vim.basic ubuntu 345 5. 06/17/2024 02:34:08 /etc/hosts~ rename yes /usr/bin/vim.basic root 375 6. 06/17/2024 02:34:08 /etc/hosts openat yes /usr/bin/vim.basic root 376 7. 06/17/2024 02:34:08 (null) fchmod yes /usr/bin/vim.basic root 377 8. 06/17/2024 02:34:08 /etc/hosts setxattr yes /usr/bin/vim.basic root 378 |
[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 /etc/hosts -p wa -k hosts_change -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. 06/17/2024 02:35:50 /home/testdir sendto yes /usr/sbin/auditctl root 184 2. 06/17/2024 02:37:04 /home/testdir/testfile.txt openat yes /usr/bin/vim.basic ubuntu 213 3. 06/17/2024 02:37:04 /home/testdir/testfile.txt readlink no /usr/bin/vim.basic ubuntu 214 4. 06/17/2024 02:37:04 /home/testdir/.testfile.txt.swp openat yes /usr/bin/vim.basic ubuntu 215 5. 06/17/2024 02:37:04 /home/testdir/.testfile.txt.swx openat yes /usr/bin/vim.basic ubuntu 216 6. 06/17/2024 02:37:04 /home/testdir/.testfile.txt.swp openat yes /usr/bin/vim.basic ubuntu 217 7. 06/17/2024 02:37:04 /home/testdir/testfile.txt openat yes /usr/bin/vim.basic ubuntu 218 8. 06/17/2024 02:37:09 /home/testdir/testfile.txt getxattr no /usr/bin/vim.basic ubuntu 219 9. 06/17/2024 02:37:09 /home/testdir/testfile.txt~ listxattr yes /usr/bin/vim.basic ubuntu 220 10. 06/17/2024 02:37:13 /home/testdir lgetxattr no /usr/bin/ls ubuntu 223 11. 06/17/2024 02:37:13 /home/testdir listxattr yes /usr/bin/ls ubuntu 224 12. 06/17/2024 02:37:36 /home/testdir lgetxattr no /usr/bin/ls root 244 13. 06/17/2024 02:37:36 /home/testdir listxattr yes /usr/bin/ls root 245 14. 06/17/2024 02:37:39 /home/testdir/ lgetxattr no /usr/bin/ls root 248 15. 06/17/2024 02:37:39 /home/testdir/ listxattr yes /usr/bin/ls root 249 16. 06/17/2024 02:37:39 /home/testdir/ openat yes /usr/bin/ls root 250 17. 06/17/2024 02:37:39 /home/testdir/testfile.txt lgetxattr no /usr/bin/ls root 251 18. 06/17/2024 02:37:39 /home/testdir/testfile.txt listxattr yes /usr/bin/ls root 252 19. 06/17/2024 02:37:39 /home/testdir/. lgetxattr no /usr/bin/ls root 253 20. 06/17/2024 02:37:39 /home/testdir/. listxattr yes /usr/bin/ls root 254 21. 06/17/2024 02:37:55 /home/testdir/testfile.txt openat yes /usr/bin/cp root 255 |
[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 /etc/hosts -p wa -k hosts_change -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. 06/17/2024 02:40:28 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd ubuntu 279 2. 06/17/2024 02:40:28 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd ubuntu 280 3. 06/17/2024 02:40:34 /home/testdir/testfile.txt unlinkat no /usr/bin/rm ubuntu 287 4. 06/17/2024 02:40:54 /home/testdir/testfile.txt unlinkat yes /usr/bin/rm ubuntu 295 5. 06/17/2024 02:41:06 /run/user/1000/systemd/units/invocation:dbus.socket unlink yes /usr/lib/systemd/systemd ubuntu 300 6. 06/17/2024 02:41:06 /run/user/1000/systemd/units/invocation:gpg-agent-ssh.socket unlink yes /usr/lib/systemd/systemd ubuntu 301 |
Sponsored Link |