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 : 거부됨
- SELinux에서 수행하고 액세스 벡터 캐시 (AVC)에 기록 된 동작 -
{ read }
- 거부된 작업 -
PID=6591
- 거부된 작업을 수행하려는 주체의 프로세스 식별자 -
Comm="httpd"
- 분석된 프로세스를 호출하는 데 사용된 명령의 이름 -
httpd_t
- 프로세스의 SELinux 유형 -
nfs_t
- 프로세스 작업의 영향을 받는 오브젝트의 SELinux 유형 -
tclass=dir
- 대상 객체 클래스
이전 로그 항목은 다음으로 변환할 수 있습니다.
SELinux는 PID 6591과 httpd_t
유형이 nfs_t
유형의 httpd 프로세스를
거부했습니다.
다음 SELinux 거부 메시지는 Apache HTTP 서버가 Samba 제품군 유형으로 레이블이 지정된 디렉토리에 액세스하려고 하면 발생합니다.
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:samba_share_t:s0"
- 프로세스가 액세스하려고 시도한 오브젝트의 SELinux 컨텍스트입니다. 이 경우file1
의 SELinux 컨텍스트입니다.
이 SELinux 거부는 다음으로 변환될 수 있습니다.
SELinux는 PID 2465로 httpd
프로세스를 거부하여 별도로 구성하지 않는 한 httpd_t 도메인에서
실행 중인 프로세스에 액세스할 수 없는 samba_share_t
유형을 사용하여 /var/www/html/file1
파일에 액세스합니다.
추가 리소스
-
시스템의
auditd(8)
및ausearch(8)
도움말 페이지