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

上記の2行は私がフォーマットしたものです。

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た。

答え1

audit.logもともとSELinux拒否メッセージを受け取りましたが、これは本当です。

ただし、表示されているメッセージはSELinux自体から直接生成されません。代わりに、setroubleshootSELinux監査ログメッセージを後処理し、人がより読みやすい高水準の解釈を提供するPythonツールによって記録されます。

監査ログは監査サブシステム専用です。監査ログはsetroubleshoot監査サブシステムの実際の部分ではないため、メッセージを他の場所に記録する必要があります。だからそれは記録されます/var/log/messages

関連情報