SELinux는 Linux 커널에 내장된 보안 모듈로, 강제적 접근 제어(Mandatory Access Control)를 수행합니다. SELinux를 사용하면 프로세스, 파일, 네트워크 트래픽 등에 대한 권한을 제어하여 시스템을 보다 안전하게 보호할 수 있습니다.
SELinux의 기본 설정은 enforcing 모드로, 모든 프로세스 및 파일의 액세스 권한을 엄격하게 제어합니다. 그러나 일부 시스템에서는 SELinux를 사용하지 않도록 설정해야 할 수도 있습니다. 예를 들어, SELinux 설정을 수정하거나 이해하기 어려운 시스템에서는 SELinux를 비활성화하는 것이 좋습니다.
리눅스 SELinux 설정 enforcing 모드 disabled 영구 설정
SELinux를 enforcing 모드에서 disabled 모드로 영구 설정하려면 다음 단계를 따르세요.
- SELinux 상태를 확인합니다.
# sestatus (or getenforce)
출력에 “SELinux status: enforcing”이 표시되면 SELinux가 현재 enforcing 모드로 설정되어 있음을 의미합니다.
- SELinux를 permissive 모드로 설정합니다.
# setenforce 0
이 명령은 SELinux를 permissive 모드로 설정합니다. permissive 모드에서는 SELinux가 여전히 실행되지만, 프로세스 및 파일의 액세스 권한을 제어하지는 않습니다.
- SELinux 설정 파일을 편집합니다.
# vi /etc/selinux/config (or /etc/sysconfig/selinux)
SELinux 설정 파일을 편집하여 SELINUX=disabled로 설정합니다.
- 시스템을 재부팅합니다.
# reboot
시스템을 재부팅하면 SELinux가 disabled 모드로 설정됩니다.
SELinux 보안 정책 설정 확인
getsebool -a 명령은 SELinux 보안 정책에 대해 모든 현재 설정을 표시합니다. 이 명령은 SELinux 보안 정책을 이해하고 수정하는 데 유용합니다.
# getsebool -a
출력은 다음과 같습니다.
allow_execmod_exec: boolean
allow_execmod_load: boolean
allow_execmod_network: boolean
allow_execmod_user: boolean
각 줄은 하나의 SELinux 보안 정책을 나타냅니다. 첫 번째 열은 보안 정책의 이름입니다. 두 번째 열은 보안 정책의 상태입니다. 세 번째 열은 보안 정책의 설명입니다.
예를 들어, 첫 번째 줄은 allow_execmod_exec 보안 정책을 나타냅니다. 이 보안 정책은 execmod 모듈을 실행할 수 있는 권한을 지정합니다. 두 번째 열은 이 보안 정책이 활성화되어 있음을 나타냅니다. 세 번째 열은 이 보안 정책이 execmod 모듈을 실행할 수 있는 모든 프로세스에 적용됨을 나타냅니다.
getsebool -a 명령을 사용하여 SELinux 보안 정책을 이해하고 수정하면 시스템을 보다 안전하게 보호할 수 있습니다.