11.3.4. 허용 도메인
SELinux가 허용 모드로 실행 중이면 SELinux는 액세스를 거부하지 않지만 강제 모드에서 실행 중인 경우 거부된 작업에 대해 거부된 작업에 대해 거부됩니다. 이전에는 단일 도메인 허용(프로세스: 프로세스가 도메인에서 실행됨)을 수행할 수 없었습니다. 이로 인해 전체 시스템의 문제를 해결할 수 있게 되었습니다.
허용 도메인을 사용하면 관리자가 전체 시스템 허용을 수행하는 대신 단일 프로세스(도메인)가 허용 실행되도록 구성할 수 있습니다. SELinux 검사는 허용 도메인에 대해 계속 수행됩니다. 그러나 커널은 SELinux가 액세스를 거부한 상황에서 AVC 거부를 허용합니다.
허용 도메인에는 다음과 같은 용도가 있습니다.
- 단일 프로세스(도메인) 실행 허용(도메인)을 실행하여 전체 시스템을 허용하도록 위험을 초래하지 않고 문제를 해결하는 데 사용할 수 있습니다.
- 이를 통해 관리자는 새 애플리케이션에 대한 정책을 만들 수 있습니다. 이전에는 최소 정책을 생성한 다음 전체 시스템을 허용 모드로 전환하여 애플리케이션을 실행할 수 있지만 SELinux 거부는 여전히 기록되었습니다. 그러면
audit2allow
를 사용하여 정책을 작성할 수 있습니다. 이로 인해 전체 시스템이 위험해질 수 있습니다. 허용 도메인을 사용하면 새 정책의 도메인만 전체 시스템을 위험에 빠뜨리지 않고 허용으로 표시할 수 있습니다.
11.3.4.1. 도메인 허용 만들기
도메인 허용을 만들려면 semanage permissive -a domain 명령을 실행합니다. 여기서 domain 은 허용할 도메인입니다. 예를 들어
httpd_t
도메인(Apache HTTP Server가 실행되는 도메인)을 허용하려면 root로 다음 명령을 입력합니다.
~]#
semanage permissive -a httpd_t
허용된 도메인 목록을 보려면 semodule -l | grep permissive 명령을 root로 실행합니다. 예를 들어 다음과 같습니다.
~]#
semodule -l | grep permissive
permissive_httpd_t (null)
permissivedomains (null)
더 이상 도메인이 허용되지 않으려면 semanage permissive -d domain 명령을 root로 실행합니다. 예를 들어 다음과 같습니다.
~]#
semanage permissive -d httpd_t