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 패키지가 필요합니다.