Auditd : 監査ルールを追加する2025/10/23 |
|
デフォルトで設定されているシステムへのログインやユーザーアカウント操作、Sudo アクションなどの監査設定以外のアクション、例えば、ある特定のファイルへのアクセスを監査したい場合等は、個別にルールを追加する必要があります。 |
|
| [1] | 例として、[/etc/hosts] の書き込みアクセスと属性変更を記録する監査ルールを設定します。 |
|
dlp:~ #
vi /etc/audit/rules.d/audit.rules # コメント化 # * パフォーマンスの観点からシステムコールの監査はデフォルト無効 #-a task,never
dlp:~ #
systemctl restart auditd
# 現在のルールを表示 dlp:~ # auditctl -l No rules # perm : [r|w|x|a] で監視対象アクションを指定 # ⇒ r=読み取り, w=書き込み, x=実行, a=属性変更 # key : [任意の文字列] で検索用キーを設定 dlp:~ # auditctl -a always,exit -F arch=b64 -F path=/etc/hosts -F perm=wa -F key=hosts_change dlp:~ # auditctl -l -a always,exit -F arch=b64 -S open,bind,truncate,ftruncate,rename,mkdir,rmdir,creat,link,unlink,symlink,chmod,fchmod,chown,fchown,lchown,mknod,acct,swapon,quotactl,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,openat,mkdirat,mknodat,fchownat,unlinkat,renameat,linkat,symlinkat,fchmodat,fallocate,renameat2,openat2 -F path=/etc/hosts -F perm=wa -F key=hosts_chan |
| [2] | 監査ルール設定後、監査対象のファイルに監査対象アクションを実行すると、以下のようなログが記録されます。 |
|
dlp:~ # ausearch -k hosts_change | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1. 10/23/25 10:15:39 /etc/hosts~ rename yes /usr/bin/vim-nox11 root 139 2. 10/23/25 10:15:39 /etc/hosts openat yes /usr/bin/vim-nox11 root 140 3. 10/23/25 10:15:39 /etc/hosts setxattr yes /usr/bin/vim-nox11 root 141 4. 10/23/25 10:15:39 /etc/hosts setxattr yes /usr/bin/vim-nox11 root 142 5. 10/23/25 10:15:39 (null) fchmod yes /usr/bin/vim-nox11 root 143 6. 10/23/25 10:15:39 /etc/hosts setxattr yes /usr/bin/vim-nox11 root 144 |
| [3] | [auditctl] で設定した監査ルールはシステム再起動すると初期化されるため、永続化するには [/etc/audit/rules.d] 配下にルールを定義しておく必要があります。定義ファイルは、拡張子が [.rules] であればファイル名は任意の名称で OK です。 |
|
# 現在の設定を additional.rules に書き出す dlp:~ # auditctl -l >> /etc/audit/rules.d/additional.rules |
| [4] | 監査対象にディレクトリを指定すると、対象ディレクトリ配下が再帰的に監査対象となります。 |
|
# [/home/testdir] に読み取りアクセスの監査ルールを設定 dlp:~ # auditctl -a always,exit -F arch=b64 -F dir=/home/testdir -F perm=r -F key=testdir_audit dlp:~ # auditctl -l -a always,exit -F arch=b64 -S open,bind,truncate,ftruncate,rename,mkdir,rmdir,creat,link,unlink,symlink,chmod,fchmod,chown,fchown,lchown,mknod,acct,swapon,quotactl,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,openat,mkdirat,mknodat,fchownat,unlinkat,renameat,linkat,symlinkat,fchmodat,fallocate,renameat2,openat2 -F path=/etc/hosts -F perm=wa -F key=hosts_change -a always,exit -F arch=b64 -S open,readlink,quotactl,getxattr,lgetxattr,fgetxattr,listxattr,llistxattr,flistxattr,openat,readlinkat,openat2 -F dir=/home/testdir -F perm=r -F key=testdir_audit # 対象ディレクトリへのアクセスが以下のように記録される dlp:~ # ausearch -k testdir_audit | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1. 10/23/25 10:18:58 /home/testdir sendto yes /usr/sbin/auditctl root 105 2. 10/23/25 10:19:31 /home/testdir llistxattr yes /usr/bin/ls root 106 3. 10/23/25 10:19:31 /home/testdir lgetxattr yes /usr/bin/ls root 107 4. 10/23/25 10:20:13 /home/testdir/testfile.txt openat yes /usr/bin/cat suse 128 5. 10/23/25 10:20:49 /home/testdir llistxattr yes /usr/bin/ls suse 144 6. 10/23/25 10:20:49 /home/testdir lgetxattr yes /usr/bin/ls suse 145 7. 10/23/25 10:20:52 /home/testdir llistxattr yes /usr/bin/ls suse 146 8. 10/23/25 10:20:52 /home/testdir lgetxattr yes /usr/bin/ls suse 147 9. 10/23/25 10:20:52 /home/testdir openat yes /usr/bin/ls suse 148 10. 10/23/25 10:20:52 /home/testdir/testfile.txt llistxattr yes /usr/bin/ls suse 149 ..... ..... |
| [5] | 例として、UID が 1000 以上のログインユーザーが消去したファイルを監査する設定です。 なお、以下で S オプションで指定しているシステムコールの一覧は [zypper install man-pages] をすると [man syscalls] で確認できます。 |
|
dlp:~ # auditctl -a always,exit -F arch=b64 -S unlink,unlinkat -F 'auid>=1000' -F 'auid!=-1' -F key=delete_audit dlp:~ # auditctl -l -a always,exit -F arch=b64 -S open,bind,truncate,ftruncate,rename,mkdir,rmdir,creat,link,unlink,symlink,chmod,fchmod,chown,fchown,lchown,mknod,acct,swapon,quotactl,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,openat,mkdirat,mknodat,fchownat,unlinkat,renameat,linkat,symlinkat,fchmodat,fallocate,renameat2,openat2 -F path=/etc/hosts -F perm=wa -F key=hosts_change -a always,exit -F arch=b64 -S open,readlink,quotactl,getxattr,lgetxattr,fgetxattr,listxattr,llistxattr,flistxattr,openat,readlinkat,openat2 -F dir=/home/testdir -F perm=r -F key=testdir_audit -a always,exit -F arch=b64 -S unlink,unlinkat -F auid>=1000 -F auid!=-1 -F key=delete_audit # 以下のようなログが記録される dlp:~ # ausearch -k delete_audit | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1. 10/23/25 10:23:27 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd suse 225 2. 10/23/25 10:23:27 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd suse 226 3. 10/23/25 10:23:27 /var/lib/wtmpdb/wtmp.db-journal unlink yes /usr/bin/login suse 229 4. 10/23/25 10:23:33 /tmp/testfile.txt unlinkat no /usr/bin/rm suse 235 5. 10/23/25 10:25:26 /home/testfile.txt unlinkat no /usr/bin/rm suse 262 6. 10/23/25 10:25:54 .testfile.txt.swx unlink yes /usr/bin/vim-nox11 suse 263 7. 10/23/25 10:25:54 .testfile.txt.swp unlink yes /usr/bin/vim-nox11 suse 264 8. 10/23/25 10:25:57 /home/suse/.testfile.txt.swp unlink yes /usr/bin/vim-nox11 suse 265 9. 10/23/25 10:26:02 testfile.txt unlinkat yes /usr/bin/rm suse 266 10. 10/23/25 10:26:04 /var/lib/wtmpdb/wtmp.db-journal unlink yes /usr/bin/login suse 268 ..... ..... |
| Sponsored Link |
|
|