SElinuxは/ procのファイルへのアクセスを拒否します。

SElinuxは/ procのファイルへのアクセスを拒否します。

/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

関連情報