11.11. 소프트웨어 업데이트 모니터링을 위한 감사 설정
RHEL 8.6 이상 버전에서는 사전 구성된 규칙 44-installers.rules
를 사용하여 소프트웨어를 설치하는 다음 유틸리티를 모니터링하도록 감사를 구성할 수 있습니다.
-
dnf
[3] -
yum
-
pip
-
npm
-
cpan
-
gem
-
luarocks
기본적으로 rpm
은 패키지를 설치하거나 업데이트할 때 감사 SORE_UPDATE
이벤트를 이미 제공합니다. 명령줄에서 ausearch -m SOFTWARE_UPDATE
를 입력하여 나열할 수 있습니다.
RHEL 8.5 및 이전 버전에서는 수동으로 규칙을 추가하여 /etc/audit/rules.d/
디렉터리 내의 .rules
파일에 소프트웨어를 설치하는 유틸리티를 모니터링할 수 있습니다.
ppc64le
및 aarch64
아키텍처가 있는 시스템에서는 사전 구성된 규칙 파일을 사용할 수 없습니다.
사전 요구 사항
-
auditd
는 보안 환경에 대해 auditd 구성에 제공된 설정에 따라 구성됩니다.
절차
RHEL 8.6 이상에서
/usr/share/audit/sample-rules/
디렉터리에서/etc/audit/rules.d/
디렉터리에 사전 구성된 규칙 파일44-installers.rules
를 복사합니다.# cp /usr/share/audit/sample-rules/44-installers.rules /etc/audit/rules.d/
RHEL 8.5 및 이전 버전에서
44-installers.rules
라는/etc/audit/rules.d/
디렉터리에 새 파일을 생성하고 다음 규칙을 삽입합니다.-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
최근 설치 이벤트의 감사 로그를 검색합니다. 예를 들면 다음과 같습니다.
# 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
감사 규칙의 경로에 symlink의 대상이 포함되어야 합니다. 올바른 감사 이벤트를 수신하려면 path=/usr/bin/dnf
path를 /usr/bin/dnf-3
으로 변경하여 44-installers.rules
파일을 수정합니다.