9.10. SELinux 정책 사용
SELinux는 무단 액세스 및 변조를 제한하기 위해 시스템 전체에서 적용되는 필수 액세스 제어 규칙 컬렉션입니다. SELinux는 서버의 파일, 디렉터리, 포트, 프로세스, 사용자 및 기타 오브젝트를 분류합니다. 각 오브젝트는 역할, 사용자 및 보안 수준을 통해 개체가 서버에서 작동하도록 하는 방법을 정의하는 적절한 보안 컨텍스트에 배치됩니다. 오브젝트에 대한 이러한 역할은 도메인에 그룹화되며, SELinux 규칙은 한 도메인의 오브젝트가 다른 도메인의 오브젝트와 상호 작용하는 방법을 정의합니다.
Directory Server에는 다음과 같은 도메인이 있습니다.
- 디렉터리 서버용 dirsrv_t
- dirsrv_snmp_t for SNMP
Directory Server는 LDAP 포트에 대해 하나의 추가 기본 도메인도 사용합니다. ldap_port_t
그림 9.4. Directory Server 파일 레이블 편집
![Directory Server 파일 레이블 편집](https://access.redhat.com/webassets/avalon/d/Red_Hat_Directory_Server-11-Deployment_Guide-ko-KR/images/ebe66c6519bf3eb495274c1dc778e528/ds-selinux-file.png)
이러한 도메인은 Directory Server의 모든 프로세스, 파일, 디렉터리, 포트, 소켓 및 사용자에 대한 보안 컨텍스트를 제공합니다.
- 각 인스턴스의 파일 및 디렉터리에는 특정 SELinux 컨텍스트로 레이블이 지정됩니다. ( Directory Server에서 사용하는 대부분의 기본 디렉터리에는 몇 개에 관계없이 모든 로컬 인스턴스에 대한 하위 디렉터리가 있으므로 단일 정책이 새 인스턴스에 쉽게 적용됩니다.)
- 각 인스턴스의 포트에는 특정 SELinux 컨텍스트가 있는 레이블이 지정됩니다.
- 모든 Directory Server 프로세스는 적절한 도메인 내에 제한됩니다.
- 각 도메인에는 도메인에 대해 권한이 부여된 작업을 정의하는 특정 규칙이 있습니다.
- SELinux 정책에 지정되지 않은 모든 액세스는 인스턴스에 거부됩니다.
SELinux에는 비활성화(SELinux 없음), 허용(규칙이 처리되지만 적용되지 않음) 및 강제 적용(모든 규칙이 엄격하게 적용되는 경우)의 세 가지 적용 수준이 있습니다. Red Hat Directory Server는 엄격한 SELinux 강제 모드에서 정상적으로 실행될 수 있도록 SELinux 정책을 정의했습니다. Directory Server는 정상적인 작업을 위해 다른 모드로 실행할 수 있으며, 하나는 가져오기와 같은 데이터베이스 작업(ldif2db 모드)을 위해 실행할 수 있습니다. 디렉터리 서버의 SELinux 정책은 일반 모드에만 적용됩니다.
기본적으로 디렉터리 서버는 SELinux 정책에 의해 제한됩니다.