11.6. auditctl で Audit ルールを定義および実行
Audit システムは、ログファイルで取得するものを定義する一連のルールで動作します。Audit ルールは、auditctl
ユーティリティーを使用してコマンドラインで設定するか、/etc/audit/rules.d/
ディレクトリーで設定できます。
auditctl
コマンドを使用すると、Audit システムの基本的な機能を制御し、どの Audit イベントをログに記録するかを指定するルールを定義できます。
ファイルシステムのルールの例
すべての書き込みアクセスと
/etc/passwd
ファイルのすべての属性変更をログに記録するルールを定義するには、次のコマンドを実行します。# auditctl -w /etc/passwd -p wa -k passwd_changes
すべての書き込みアクセスと、
/etc/selinux/
ディレクトリー内の全ファイルへのアクセスと、その属性変更をすべてログに記録するルールを定義するには、次のコマンドを実行します。# auditctl -w /etc/selinux/ -p wa -k selinux_changes
システムロールのルールの例
システムで 64 ビットアーキテクチャーが使用され、システムコールの
adjtimex
またはsettimeofday
がプログラムにより使用されるたびにログエントリーを作成するルールを定義するには、次のコマンドを実行します。# auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
ユーザー ID が 1000 以上のシステムユーザーがファイルを削除したりファイル名を変更するたびに、ログエントリーを作成するルールを定義するには、次のコマンドを実行します。
# auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete
-F auid!=4294967295
オプションが、ログイン UID が設定されていないユーザーを除外するために使用されています。
実行可能なファイルルール
/bin/id
プログラムのすべての実行をログに取得するルールを定義するには、次のコマンドを実行します。
# auditctl -a always,exit -F exe=/bin/id -F arch=b64 -S execve -k execution_bin_id
関連情報
-
システム上の
auditctl(8)
man ページ