SELinux 문제가 /var/log/messages에 보고되는 이유는 무엇입니까?

SELinux 문제가 /var/log/messages에 보고되는 이유는 무엇입니까?

logrotate에 SELinux 문제가 있음을 발견했습니다. 왜 에는 보고 /var/log/messages되고 에는 보고되지 않는지 궁금합니다 /var/log/audit/audit.log. 모든 SELinux 문제는 audit.log에 기록될 것이라고 가정합니다. 누구든지 이유를 설명할 수 있나요?

RHEL 8 시스템에서 이 동작이 발생했습니다. 메시지에서 항목을 찾으세요.

Nov 22 03:23:14 itsrv2489 setroubleshoot[2468163]: SELinux is preventing logrotate from read access on the directory /var/www/html/g6. For complete SELinux messages run: sealert -l 2c99b2ca-3bf0-486d-b1c3-54bc6e87105e
Nov 22 03:23:14 itsrv2489 platform-python[2468163]: SELinux is preventing logrotate from read access on the directory /var/www/html/g6.#012#012*****  Plugin catchall (100. confidence) suggests   **************************#012#012If you believe that logrotate should be allowed read access on the g6 directory by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'logrotate' --raw | audit2allow -M my-logrotate#012# semodule -X 300 -i my-logrotate.pp#012

위의 두 줄은 내가 포맷한 것입니다.

Nov 22 03:23:14 itsrv2489 setroubleshoot[2468163]: SELinux is preventing logrotate from read access on the directory /var/www/html/g6. 
For complete SELinux messages run: 
sealert -l 2c99b2ca-3bf0-486d-b1c3-54bc6e87105e

Nov 22 03:23:14 itsrv2489 platform-python[2468163]: SELinux is preventing logrotate from read access on the directory /var/www/html/g6.

*****  Plugin catchall (100. confidence) suggests   **************************

If you believe that logrotate should be allowed read access on the g6 directory by default.

Then you should report this as a bug.
You can generate a local policy module to allow this access.

allow this access for now by executing:
# ausearch -c 'logrotate' --raw | audit2allow -M my-logrotate
# semodule -X 300 -i my-logrotate.pp

보통 나는 거기 있을 것이다 /var/log/audit/audit.log.

고쳐 쓰다:마지막으로 나는 audit.log가 자체적으로 회전하고 매우 크기 때문에 일부 레코드가 삭제된다는 것을 알았습니다. 이것이 바로 이러한 감사 로그 파일에서 "logrotate" 키워드를 찾을 수 없는 이유입니다. 회전을 비활성화하도록 수정했고 /etc/audit/auditd.conf다음날 audit.log에서 "logrotate"를 찾을 수 있었습니다(하루에 한 번 cron 작업에 의해 트리거됨).

답변1

audit.log원래 SELinux 거부 메시지를 받았는데 이는 사실입니다.

그러나 보고 있는 메시지는 SELinux 자체에서 직접 생성되지 않습니다. 대신, setroubleshootSELinux 감사 로그 메시지를 사후 처리하고 사람이 더 읽기 쉬운 상위 수준 해석을 제공하는 Python 도구에 의해 기록 됩니다 .

감사 로그는 감사 하위 시스템 전용입니다. 감사 로그는 setroubleshoot감사 하위 시스템의 실제 부분이 아니기 때문에 메시지를 다른 곳에 기록해야 합니다. 그래서 그것은 기록될 것입니다 /var/log/messages.

관련 정보