11.11. ソフトウェアの更新を監視するための Audit の設定
RHEL 8.6 以降のバージョンでは、事前設定されたルール 44-installers.rules
を使用して、ソフトウェアをインストールする次のユーティリティーを監視するように Audit を設定できます。
-
dnf
[3] -
yum
-
pip
-
npm
-
cpan
-
gem
-
luarocks
デフォルトでは、rpm
はパッケージのインストールまたは更新時に監査 SOFTWARE_UPDATE
イベントをすでに提供しています。これらをリスト表示するには、コマンドラインで ausearch -m SOFTWARE_UPDATE
と入力します。
RHEL 8.5 以前のバージョンでは、手動でルールを追加して、/etc/audit/rules.d/
ディレクトリーの .rules
ファイルにソフトウェアをインストールするユーティリティーを監視できます。
事前設定されたルールファイルは、ppc64le
および aarch64
アーキテクチャーを備えたシステムでは使用できません。
前提条件
-
auditd
が、環境を保護するための auditd の設定で提供される設定に従って定義されている。
手順
RHEL 8.6 以降では、事前設定されたルールファイル
44-installers.rules
を/usr/share/audit/sample-rules/
ディレクトリーから/etc/audit/rules.d/
ディレクトリーにコピーします。# cp /usr/share/audit/sample-rules/44-installers.rules /etc/audit/rules.d/
RHEL 8.5 以前では、
/etc/audit/rules.d/
ディレクトリーに、44-installers.rules
という名前の新規ファイルを作成し、以下のルールを挿入します。-a always,exit -F perm=x -F path=/usr/bin/dnf-3 -F key=software-installer -a always,exit -F perm=x -F path=/usr/bin/yum -F
同じ構文を使用して、
pip
やnpm
などのソフトウェアをインストールする他のユーティリティー用に、さらにルールを追加できます。監査ルールを読み込みます。
# augenrules --load
検証
読み込まれたルールをリスト表示します。
# auditctl -l -p x-w /usr/bin/dnf-3 -k software-installer -p x-w /usr/bin/yum -k software-installer -p x-w /usr/bin/pip -k software-installer -p x-w /usr/bin/npm -k software-installer -p x-w /usr/bin/cpan -k software-installer -p x-w /usr/bin/gem -k software-installer -p x-w /usr/bin/luarocks -k software-installer
インストールを実行します。以下に例を示します
# yum reinstall -y vim-enhanced
Audit ログで最近のインストールイベントを検索します。次に例を示します。
# ausearch -ts recent -k software-installer –––– time->Thu Dec 16 10:33:46 2021 type=PROCTITLE msg=audit(1639668826.074:298): proctitle=2F7573722F6C6962657865632F706C6174666F726D2D707974686F6E002F7573722F62696E2F646E66007265696E7374616C6C002D790076696D2D656E68616E636564 type=PATH msg=audit(1639668826.074:298): item=2 name="/lib64/ld-linux-x86-64.so.2" inode=10092 dev=fd:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(1639668826.074:298): item=1 name="/usr/libexec/platform-python" inode=4618433 dev=fd:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:bin_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=PATH msg=audit(1639668826.074:298): item=0 name="/usr/bin/dnf" inode=6886099 dev=fd:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:rpm_exec_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 type=CWD msg=audit(1639668826.074:298): cwd="/root" type=EXECVE msg=audit(1639668826.074:298): argc=5 a0="/usr/libexec/platform-python" a1="/usr/bin/dnf" a2="reinstall" a3="-y" a4="vim-enhanced" type=SYSCALL msg=audit(1639668826.074:298): arch=c000003e syscall=59 success=yes exit=0 a0=55c437f22b20 a1=55c437f2c9d0 a2=55c437f2aeb0 a3=8 items=3 ppid=5256 pid=5375 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="dnf" exe="/usr/libexec/platform-python3.6" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="software-installer"
dnf
は RHEL ではシンボリックリンクであるため、dnf
Audit ルールのパスにはシンボリックリンクのターゲットが含まれている必要があります。正しい Audit イベントを受信するには、path=/usr/bin/dnf
パスを /usr/bin/dnf-3
に変更して、44-installers.rules
ファイルを変更します。