5.5. 감사 로그의 SELinux 거부
Linux 감사 시스템은 기본적으로 /var/log/audit/audit.log
파일에 로그 항목을 저장합니다.
SELinux 관련 레코드만 나열하려면 적어도 AVC
및 AVC_USER
로 설정된 메시지 유형 매개 변수와 함께 ausearch
명령을 사용하십시오.
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR
감사 로그 파일의 SELinux 거부 항목은 다음과 같습니다.
type=AVC msg=audit(1395177286.929:1638): avc: denied { read } for pid=6591 comm="httpd" name="webpages" dev="0:37" ino=2112 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
이 항목의 가장 중요한 부분은 다음과 같습니다.
-
AVC: denied
- SELinux에서 수행하고 AVC(Access Vector Cache)에 기록된 동작입니다. -
{ read }
- 거부된 작업 -
PID=6591
- 거부된 작업을 수행하려는 주체의 프로세스 식별자 -
Comm="httpd"
- 분석 프로세스를 호출하는 데 사용된 명령의 이름입니다. -
httpd_t
- 프로세스의 SELinux 유형 -
nfs_t
- 프로세스 작업의 영향을 받는 오브젝트의 SELinux 유형 -
tclass=dir
- 대상 오브젝트 클래스
이전 로그 항목은 다음과 같이 번역할 수 있습니다.
SELinux는 PID 6591 및
프로세스를 거부하여 httpd
_t 유형의 httpdnfs_t
유형이 있는 디렉터리에서 읽습니다.
Apache HTTP Server가 Samba 제품군 유형으로 레이블이 지정된 디렉터리에 액세스하려고 할 때 다음 SELinux 거부 메시지가 발생합니다.
type=AVC msg=audit(1226874073.147:96): avc: denied { getattr } for pid=2465 comm="httpd" path="/var/www/html/file1" dev=dm-0 ino=284133 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:samba_share_t:s0 tclass=file
-
{ getattr }
-getattr
항목은 소스 프로세스가 대상 파일의 상태 정보를 읽으려고 한다는 것을 나타냅니다. 이 작업은 파일을 읽기 전에 수행됩니다. 프로세스가 파일에 액세스하고 적절한 레이블이 없기 때문에 SELinux는 이 작업을 거부합니다. 일반적으로 표시되는 권한에는getattr
,read
,write
가 포함됩니다. -
path="/var/www/html/file1"
- 프로세스가 액세스하려고 시도한 오브젝트(대상)의 경로입니다. -
scontext="unconfined_u:system_r:httpd_t:s0"
- 거부된 작업을 시도한 프로세스(소스)의 SELinux 컨텍스트입니다. 이 경우httpd_t
유형으로 실행 중인 Apache HTTP 서버의 SELinux 컨텍스트입니다. -
tcontext="unconfined_u:object_r:hiera_share_t:s0"
- 프로세스가 액세스하려고 시도한 오브젝트(대상)의 SELinux 컨텍스트입니다. 이 경우file1
의 SELinux 컨텍스트입니다.
이 SELinux 거부는 다음과 같이 번역할 수 있습니다.
SELinux는 PID 2465로 httpd
프로세스를 거부하여 samba_share_t
유형을 사용하여 /var/www/html/file1
파일에 액세스했습니다. 이 파일은 달리 구성하지 않는 한 httpd_t
도메인에서 실행되는 프로세스에 액세스할 수 없습니다.
추가 리소스
-
시스템의
auditd(8)
및ausearch(8)
도움말 페이지