11.3.2. 음소거 거부의 원인
특정 상황에서 SELinux가 액세스를 거부하면 AVC 거부 메시지가 기록되지 않을 수 있습니다. 애플리케이션 및 시스템 라이브러리 기능은 작업을 수행하는 데 필요한 것보다 더 많은 액세스 권한을 조사하는 경우가 많습니다. 무해한 애플리케이션 탐색을 위해 AVC 거부로 감사 로그를 채우지 않고 최소 권한을 유지하기 위해 정책은 dontaudit 규칙을 사용하여 권한을 허용하지 않고 AVC 거부를 음소거할 수 있습니다. 이러한 규칙은 표준 정책에서 일반적입니다. dontaudit의 단점은 SELinux가 액세스를 거부하지만 거부 메시지가 기록되지 않으므로 문제 해결이 더 어렵습니다.
dontaudit 규칙을 일시적으로 비활성화하여 모든 거부를 로깅할 수 있도록 하려면 다음 명령을 root로 입력합니다.
~]# semodule -DB
D
옵션은
dontaudit 규칙을 비활성화합니다. -B
옵션은 정책을 다시 빌드합니다. semodule -DB 를 실행한 후 권한 문제가 발생한 애플리케이션을 실행해 보고 애플리케이션과 관련된 SELinux 거부가 기록되는지 확인하십시오. dontaudit 규칙에 의해 일부 거부를 무시하고 처리해야 하므로 허용되는 거부를 결정할 때 주의하십시오. 확실하지 않거나 지침을 검색할 때 SELinux 목록(예: fedora-selinux-list )의 다른 SELinux 사용자와 개발자에게 문의하십시오.
정책을 다시 빌드하고
dontaudit
규칙을 활성화하려면 root로 다음 명령을 입력합니다.
~]# semodule -B
이렇게 하면 정책이 원래 상태로 복원됩니다. dontaudit 규칙의 전체 목록을 보려면 sesearch --dontaudit 명령을 실행합니다.
-s 도메인
옵션과 grep 명령을 사용하여 검색 범위를 좁힙니다. 예를 들어 다음과 같습니다.
~]$
sesearch --dontaudit -s smbd_t | grep squid
dontaudit smbd_t squid_port_t : tcp_socket name_bind ;
dontaudit smbd_t squid_port_t : udp_socket name_bind ;
분석 거부에 대한 자세한 내용은 11.3.6절. “원시 감사 메시지” 및 11.3.7절. “sealert 메시지” 을 참조하십시오.