Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
13.3. 부울
SELinux는 서비스를 실행하는 데 필요한 최소 액세스 수준을 기반으로 합니다. 서비스는 다양한 방법으로 실행할 수 있으므로 서비스 실행 방법을 지정해야 합니다. 이 작업은 SELinux 정책 작성에 대한 지식 없이 런타임 시 SELinux 정책 부분을 변경할 수 있는 부울을 사용하여 수행할 수 있습니다. 이렇게 하면 SELinux 정책을 다시 로드하거나 다시 컴파일하지 않고도 NFS 볼륨에 서비스 액세스 허용 등의 변경 사항을 허용합니다.
부울의 상태를 수정하려면 setsebool 명령을 사용합니다. 예를 들어
httpd_anon_write
부울을 활성화하려면 root 사용자로 다음 명령을 입력합니다.
~]# setsebool -P httpd_anon_write on
동일한 예제를 사용하여 부울을 비활성화하려면 다음과 같이 명령에서 를 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
유형으로 레이블이 지정된 파일에 대한 쓰기 액세스가 허용되는지 여부를 정의합니다. httpd_builtin_scripting
- 이 부울은
httpd
스크립팅에 대한 액세스를 정의합니다. 이 부울을 활성화하려면 PHP 콘텐츠에 필요합니다. httpd_can_network_connect
- 이 부울을 비활성화하면 HTTP 스크립트 및 모듈이 네트워크 또는 원격 포트에 대한 연결을 시작하지 못하게 합니다. 이 액세스를 허용하려면 이 부울을 활성화합니다.
httpd_can_network_connect_db
- 이 부울을 비활성화하면 HTTP 스크립트 및 모듈이 데이터베이스 서버에 대한 연결을 시작하지 못하게 합니다. 이 액세스를 허용하려면 이 부울을 활성화합니다.
httpd_can_network_relay
httpd
를 정방향 또는 역방향 프록시로 사용하는 경우 이 부울을 활성화합니다.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 정책의 지속적인 개발로 인해 위의 목록에 항상 서비스와 관련된 부울이 모두 포함되지 않을 수 있습니다. 나열하려면 다음 명령을 입력합니다.
~]$ getsebool -a | grep service_name
특정 부울에 대한 설명을 보려면 다음 명령을 입력합니다.
~]$ sepolicy booleans -b boolean_name
이 명령이 작동하려면 sepolicy
유틸리티를 제공하는 추가 policycoreutils-devel 패키지가 필요합니다.