11.3.5. 거부 검색 및 보기
이 섹션에서는 setroubleshoot,setroubleshoot-server,dbus 및 audit 패키지가 설치되어 있고
auditd
,rsyslogd
, setroubleshootd
데몬이 실행 중이라고 가정합니다. 이러한 데몬을 시작하는 방법에 대한 자세한 내용은 4.2절. “사용된 로그 파일은 무엇입니까?” 을 참조하십시오. ausearch
,aureport
및 sealert
와 같은 SELinux AVC 메시지를 검색하고 보는 데 여러 개의 유틸리티를 사용할 수 있습니다.
ausearch
audit 패키지는 다양한 검색 기준에 따라 이벤트에 대한
감사
데몬 로그를 쿼리할 수 있는 ausearch 유틸리티를 제공합니다.[10] ausearch
유틸리티는 /var/log/audit/audit.log
에 액세스하므로 root 사용자로 실행해야 합니다.
검색 대상: 모든 거부
명령: ausearch -m avc,user_avc,selinux_err,user_selinux_err
검색 대상: 이에 대한 거부는 오늘
명령: ausearch -m avc -ts 오늘
검색 대상: 지난 10분 후 거부
명령: ausearch -m avc -ts recent
특정 서비스를 위한 SELinux AVC 메시지를 검색하려면
-c 통신 이름 옵션을
사용합니다. 여기서 통신은 실행 파일의 이름(예: Apache HTTP Server의 경우 httpd
, Samba의 smbd
)을 사용합니다.
~]#
ausearch -m avc -c httpd
~]#
ausearch -m avc -c smbd
각 ausearch 명령을 사용하면 읽기 쉽도록
--interpret
(-i
) 옵션 또는 스크립트 처리를 위해 --raw
(-r
) 옵션을 사용하는 것이 좋습니다. 추가 ausearch 옵션은 ausearch(8) 도움말 페이지를 참조하십시오.
aureport
audit 패키지는 감사 시스템 로그에 대한 요약 보고서를 생성하는
aureport
유틸리티를 제공합니다. [11] aureport
유틸리티는 /var/log/audit/audit.log
에 액세스하므로 root 사용자로 실행해야 합니다. SELinux 거부 메시지 목록 및 각 메시지 목록을 보려면 aureport -a 명령을 실행합니다. 다음은 두 개의 거부를 포함하는 출력 예입니다.
~]#
aureport -a
AVC Report
========================================================
# date time comm subj syscall class permission obj event
========================================================
1. 05/01/2009 21:41:39 httpd unconfined_u:system_r:httpd_t:s0 195 file getattr system_u:object_r:samba_share_t:s0 denied 2
2. 05/03/2009 22:00:25 vsftpd unconfined_u:system_r:ftpd_t:s0 5 file read unconfined_u:object_r:cifs_t:s0 denied 4
sealert
setroubleshoot-server 패키지는 setroubleshoot-server 에서 변환하는 거부 메시지를 읽는
sealert
유틸리티를 제공합니다.[12] 거부는 /var/log/messages
에 표시된 대로 할당된 ID입니다. 다음은 메시지에서 거부된 예입니다.
setroubleshoot: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket. For complete SELinux messages. run sealert -l 8c123656-5dda-4e5d-8791-9e3bd03786b7
이 예에서 거부 ID는
8c123656-5dda-4e5d-8791-9e3bd03786b7
입니다. l 옵션은
ID를 인수로 사용합니다. sealert -l 8c123656-5dda-4e5d-8791-9e3bd03786b7 명령을 실행하면 SELinux가 액세스를 거부한 이유와 액세스를 허용하는 가능한 솔루션을 자세히 분석할 수 있습니다.
X Window 시스템을 실행하는 경우 setroubleshoot 및 setroubleshoot -server 패키지가 설치되어
setroubleshootd
,dbus
및 auditd
데몬이 실행 중인 경우 SELinux에서 액세스를 거부하면 경고가 표시됩니다.
Show
(표시)를 클릭하면 sealert
GUI가 시작되어 문제를 해결할 수 있습니다.
또는 sealert -b 명령을 실행하여 sealert GUI를 시작합니다. 모든 거부 메시지의 상세한 분석을 보려면 sealert -l \* 명령을 실행합니다.