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
허용 도메인은 시스템의 보안을 손상시킬 수 있는 강력한 도구입니다. Red Hat은 예를 들어 특정 시나리오를 디버깅할 때 허용 도메인을 주의해서 사용할 것을 권장합니다.