11.6. auditctl을 사용하여 감사 규칙 정의 및 실행
감사 시스템은 로그 파일에 캡처된 항목을 정의하는 규칙 세트에서 작동합니다. 감사 규칙은 auditctl
유틸리티 또는 /etc/audit/rules.d/
디렉터리를 사용하여 명령줄에서 설정할 수 있습니다.
auditctl
명령을 사용하면 감사 시스템의 기본 기능을 제어하고 어떤 감사 이벤트가 기록되는지 결정하는 규칙을 정의할 수 있습니다.
파일 시스템 규칙 예
모든 쓰기 액세스 권한을 기록하는 규칙을 정의하고 모든 속성 변경 사항은
/etc/passwd
파일에 있습니다.# auditctl -w /etc/passwd -p wa -k passwd_changes
모든 쓰기 권한을 기록하는 규칙을 정의하고
/etc/selinux/
디렉터리에 있는 모든 파일의 모든 속성 변경 사항을 기록합니다.# auditctl -w /etc/selinux/ -p wa -k selinux_changes
시스템 호출 규칙 예
프로그램에서
adjtimex
또는settimeofday
시스템 호출이 사용될 때마다 로그 항목을 생성하는 규칙을 정의하기 위해 64비트 아키텍처를 사용합니다.# 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)
도움말 페이지