13.3. 부울
SELinux는 서비스를 실행하는 데 필요한 최소 액세스 수준을 기반으로 합니다. 서비스는 다양한 방법으로 실행할 수 있으므로 서비스 실행 방법을 지정해야 합니다. 이 작업은 SELinux 정책 작성에 대한 지식 없이 런타임 시 SELinux 정책 부분을 변경할 수 있는 부울을 사용하여 수행할 수 있습니다. 이렇게 하면 SELinux 정책을 다시 로드하거나 다시 컴파일하지 않고도 NFS 볼륨에 서비스 액세스 허용 등의 변경 사항을 허용합니다.
부울의 상태를 수정하려면 setsebool 명령을 사용합니다. 예를 들어
httpd_anon_write 부울을 활성화하려면 root 사용자로 다음 명령을 입력합니다.
setsebool -P httpd_anon_write on
~]# setsebool -P httpd_anon_write on
부울을 비활성화하려면 동일한 예제를 사용하여 다음과 같이 명령에서 를 off 로 변경합니다.
setsebool -P httpd_anon_write off
~]# setsebool -P httpd_anon_write off
참고
setsebool 변경 사항을 재부팅해도 유지하지 않으려면
-P 옵션을 사용하지 마십시오.
다음은
httpd 가 실행되는 방식을 충족하는 일반적인 부울에 대한 설명입니다.
httpd_anon_write- 비활성화된 경우 이 부울을 사용하면
httpd가public_content_rw_t유형으로 레이블이 지정된 파일에 대한 읽기 액세스 권한만 가질 수 있습니다. 이 부울을 활성화하면httpd가 공용 파일 전송 서비스에 대한 파일을 포함하는 공용 디렉터리와 같이public_content_rw_t유형으로 레이블이 지정된 파일에 쓸 수 있습니다. httpd_mod_auth_ntlm_winbind- 이 부울을 활성화하면
httpd에서mod_auth_ntlm_winbind모듈을 사용하여 NTLM 및 Winbind 인증 메커니즘에 액세스할 수 있습니다. httpd_mod_auth_pam- 이 부울을 활성화하면
httpd에서mod_auth_pam모듈을 사용하여 PAM 인증 메커니즘에 액세스할 수 있습니다. httpd_sys_script_anon_write- 이 부울은 공용 파일 전송 서비스에서 사용되는 대로
public_content_rw_t유형으로 레이블이 지정된 파일에 대한 HTTP 스크립트가 허용되는지 여부를 정의합니다. httpd_builtin_scripting- 이 부울은
httpd스크립팅에 대한 액세스를 정의합니다. 이 부울을 활성화하려면 PHP 콘텐츠에 필요합니다. httpd_can_network_connect- 이 부울을 비활성화하면 HTTP 스크립트 및 모듈이 네트워크 또는 원격 포트에 대한 연결을 시작하지 못하게 합니다. 이 액세스를 허용하려면 이 부울을 활성화합니다.
httpd_can_network_connect_db- 이 부울을 비활성화하면 HTTP 스크립트 및 모듈이 데이터베이스 서버에 대한 연결을 시작하지 못하게 합니다. 이 액세스를 허용하려면 이 부울을 활성화합니다.
httpd_can_network_relayhttpd가 정방향 또는 역방향 프록시로 사용될 때 이 부울을 활성화합니다.httpd_can_sendmail- 이 부울을 비활성화하면 HTTP 모듈이 메일을 보내지 못하게 합니다. 이는
httpd에서 취약점을 발견해야 하는 스팸 공격을 방지할 수 있습니다. HTTP 모듈이 메일을 보낼 수 있도록 이 부울을 활성화합니다. httpd_dbus_avahi- 비활성화되면 이 부울은
D-Bus를 통해avahi서비스에 대한httpd액세스를 거부합니다. 이 액세스를 허용하려면 이 부울을 활성화합니다. httpd_enable_cgi- 비활성화되면 이 부울에서
httpd가 CGI 스크립트를 실행하지 못하도록 합니다.httpd가 CGI 스크립트를 실행할 수 있도록 하려면 이 부울을 활성화합니다(CGI 스크립트는httpd_sys_script_exec_t유형으로 레이블이 지정되어야 함). httpd_enable_ftp_server- 이 부울을 활성화하면
httpd가 FTP 포트에서 수신 대기하고 FTP 서버로 작동할 수 있습니다. httpd_enable_homedirs- 비활성화된 경우 이 부울은
httpd가 사용자 홈 디렉터리에 액세스하지 못하도록 합니다. 사용자 홈 디렉터리에 대한httpd액세스를 허용하려면 이 부울을 활성화합니다(예:/home/*/의 콘텐츠). httpd_execmem- 이 부울을 사용하면
httpd에서 실행 가능하고 쓰기 가능한 메모리 주소가 필요한 프로그램을 실행할 수 있습니다. 이 부울을 활성화하면 버퍼 오버플로에 대한 보호가 감소하지만 특정 모듈 및 애플리케이션(예: Java 및 킥 애플리케이션)에 대한 보호 권한이 필요하므로 보안 관점에서는 사용하지 않는 것이 좋습니다. httpd_ssi_exec- 이 부울은 웹 페이지의 서버 측에 SSI(서버 측) 요소를 포함할 수 있는지 여부를 정의합니다.
httpd_tty_comm- 이 부울은
httpd가 제어 터미널에 액세스할 수 있는지 여부를 정의합니다. 일반적으로 이 액세스는 필요하지 않지만 SSL 인증서 파일을 구성하는 등의 경우 터미널 액세스가 암호 프롬프트를 표시하고 처리해야 합니다. httpd_unified- 활성화하면 이 부울을 사용하면
httpd_t가 모든httpd유형(즉, sys_content_t를 실행, 읽기 또는 쓰기)에 액세스할 수 있습니다. 비활성화된 경우 읽기 전용, 쓰기 가능 또는 실행 가능한 웹 콘텐츠 간에 분리가 수행됩니다. 이 부울을 비활성화하면 추가적인 보안 수준이 보장되지만, 각각 보유해야 하는 파일 액세스에 따라 스크립트 및 기타 웹 콘텐츠에 개별적으로 레이블을 지정하는 관리 오버헤드가 추가됩니다. httpd_use_cifs- Samba를 사용하여 마운트된 파일 시스템과 같이
cifs_t유형으로 레이블이 지정된 CIFS 볼륨의 파일에httpd액세스를 허용하려면 이 부울을 활성화합니다. httpd_use_nfs- NFS를 사용하여 마운트된 파일 시스템과 같이
nfs_t유형으로 레이블이 지정된 NFS 볼륨의 파일에httpd액세스를 허용하려면 이 부울을 활성화합니다.
참고
SELinux 정책의 지속적인 개발로 인해 위의 목록에 항상 서비스와 관련된 부울이 모두 포함되지 않을 수 있습니다. 나열하려면 다음 명령을 입력합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
특정 부울에 대한 설명을 보려면 다음 명령을 입력합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
이 명령이 작동하려면
getsebool -a | grep service_name
~]$ getsebool -a | grep service_name
sepolicy booleans -b boolean_name
~]$ sepolicy booleans -b boolean_name
sepolicy 유틸리티를 제공하는 추가 policycoreutils-devel 패키지가 필요합니다.