1.5. SELinux 상태 및 모드
SELinux는 세 가지 모드(강제, 허용 또는 비활성화) 중 하나로 실행될 수 있습니다.
- 강제 모드는 기본 및 권장되는 작업 모드입니다. 강제 모드에서 SELinux는 정상적으로 작동하여 전체 시스템에서 로드된 보안 정책을 적용합니다.
- 허용 모드에서는 SELinux가 개체에 레이블을 지정하고 로그에 액세스 거부 항목을 내보내는 등 로드된 보안 정책을 적용하는 것처럼 동작하지만 실제로는 어떤 작업도 거부하지 않습니다. 프로덕션 시스템에는 권장되지 않지만 허용 모드는 SELinux 정책 개발 및 디버깅에 유용할 수 있습니다.
- 비활성화 모드는 강력하지 않습니다. 시스템이 SELinux 정책을 적용하지 않을 뿐만 아니라 파일과 같은 영구 오브젝트의 레이블을 방지하여 나중에 SELinux를 활성화하기가 어렵습니다.
setenforce
유틸리티를 사용하여 강제 모드와 허용 모드 간에 변경합니다. setenforce
를 사용한 변경 사항은 재부팅 시 유지되지 않습니다. 강제 모드로 변경하려면 Linux root 사용자로 setenforce 1
명령을 입력합니다. 허용 모드로 변경하려면 setenforce 0
명령을 입력합니다. getenforce
유틸리티를 사용하여 현재 SELinux 모드를 확인합니다.
# getenforce
Enforcing
# setenforce 0 # getenforce Permissive
# setenforce 1 # getenforce Enforcing
Red Hat Enterprise Linux에서는 시스템이 강제 모드로 실행되는 동안 개별 도메인을 허용 모드로 설정할 수 있습니다. 예를 들어 httpd_t 도메인을 허용하려면 다음을 수행합니다.
# semanage permissive -a httpd_t
허용 도메인은 시스템의 보안을 손상시킬 수 있는 강력한 도구입니다. 예를 들어 특정 시나리오를 디버깅하는 경우 허용 도메인을 주의해서 사용하는 것이 좋습니다.