/proc
私の監査プラグインプロセスはファイルを繰り返し読み取ることができるはずです/proc/pid/stat
が、SElinuxはそれを拒否します。
私のプラグインのプロセスコンテキスト:
ps auxZ | grep -i myplugin
system_u:system_r:auditd_t:s0 root 8143 0.3 0.3 96188 6284 ? D<l 11:02 0:00 myplugin
拒否ログの例:type=AVC msg=audit(1705309402.866:1150): avc: denied { getattr } for pid=8143 comm="myplugin" path="/proc/42" dev="proc" ino=95999 scontext=system_u:system_r:auditd_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=0
audit2allow
私は監査ログを読み、必要なステートメントを生成するselinuxポリシー生成を使用してこの問題を解決しましたallow
。ところで、.te
そのファイルが100行を超える大きすぎて読めないという事実が明らかになりました。また、私が正しく理解しているなら、これは信頼できないソリューションです。たとえば、次回プラグインを実行して繰り返すと、すでにいくつかの/proc
新しいプロセスがある可能性があるため、/proc
新しいセキュリティコンテキストを持つ新しいファイルがないためです。そして、audit2allow
この文書に関する私の方針には何の記述もありません。allow
その結果、SElinuxはこの新しいファイルへのアクセスを拒否します。
この問題を解決するより簡単で信頼性の高い方法はありますか?デフォルトでは、特定のプロセスがすべての可能なファイルを一覧表示しなくてもすべてのファイルを読み取ることができるというポリシーが必要です/proc
。