5.2. SELinux 거부 메시지 분석
SELinux가 시나리오를 차단하고 있음을 확인한 후 수정을 선택하기 전에 근본 원인을 분석해야 할 수 있습니다. ???
사전 요구 사항
-
policycoreutils-python-utils
및se rsh-server
패키지가 시스템에 설치되어 있습니다.
절차
다음과 같이
sealert
명령을 사용하여 기록된 거부에 대한 세부 정보를 나열합니다.$ sealert -l "*" SELinux is preventing /usr/bin/passwd from write access on the file /root/test. ***** Plugin leaks (86.2 confidence) suggests ***************************** If you want to ignore passwd trying to write access the test file, because you believe it should not need this access. Then you should report this as a bug. You can generate a local policy module to dontaudit this access. Do # ausearch -x /usr/bin/passwd --raw | audit2allow -D -M my-passwd # semodule -X 300 -i my-passwd.pp ***** Plugin catchall (14.7 confidence) suggests ************************** ... Raw Audit Messages type=AVC msg=audit(1553609555.619:127): avc: denied { write } for pid=4097 comm="passwd" path="/root/test" dev="dm-0" ino=17142697 scontext=unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0 ... Hash: passwd,passwd_t,admin_home_t,file,write
이전 단계에서 얻은 출력에 명확한 제안이 포함되어 있지 않은 경우:
전체 경로 감사를 활성화하여 액세스된 오브젝트에 대한 전체 경로를 확인하고 추가 Linux 감사 이벤트 필드를 볼 수 있습니다.
# auditctl -w /etc/shadow -p w -k shadow-write
se rsh 캐시를
지웁니다.# rm -f /var/lib/setroubleshoot/setroubleshoot.xml
- 문제를 재현합니다.
1단계를 반복합니다.
프로세스를 완료한 후 전체 경로 감사를 비활성화합니다.
# auditctl -W /etc/shadow -p w -k shadow-write
-
sealert
가catchall
제안만 반환하거나audit2allow
툴을 사용하여 새 규칙 추가를 권장하는 경우, 나열된 예제와 일치하는 문제를 감사 로그의 SELinux 거부에 설명되어 있습니다.
추가 리소스
-
시스템의
sealert(8)
도움말 페이지