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.

관련 정보