unlabeled_t를 사용하지 않으려면 /etc/zabbix/에 대한 사용자 정의 파일 컨텍스트 유형을 만들어야 합니까?

unlabeled_t를 사용하지 않으려면 /etc/zabbix/에 대한 사용자 정의 파일 컨텍스트 유형을 만들어야 합니까?

CentOS 7 시스템에 zabbix(모니터링 애플리케이션)를 설치했습니다. 보안상의 이유로 selinux를 강제 모드로 두고 싶습니다. 따라서 작업하려면 zabbix에 몇 가지 권한을 부여해야 합니다. 다음을 실행하면 :

ausearch -c zabbix_server -m AVC -i -ts today | audit2allow -m ztest

다음과 같은 결과가 나타납니다.

...
require {
     type unlabeled_t;
     type zabbix_var_run_t;
     type zabbix_t;
     class sock_file { create unlink };
     class unix_stream_socket connectto;
     class file { getattr open read };
}

#========== zabbix_t ==============

#!!!!! This avc can be allowed using the boolean 'daemons_enable_cluster_mode'
allow zabbix_t self:unix_stream_socket connectto;

#!!!!! WARNING 'unlabeled_t' is a base type.
allow zabbix_t unlabeled_t:file { getattr open read };
allow zabbix_t zabbix_var_run_t:sock_file { create unlink };

약간의 조사 끝에 /etc/zabbix/zabbix_server.conf 파일에 unlabeled_t 파일 컨텍스트 유형이 있다는 것을 알았습니다. 이것이 audit2allow가 zabbix_server에 대해 unlabeled_t를 허용하도록 제안하는 이유입니다. 하지만 기본 유형을 허용하는 것은 좋지 않은 생각이므로 이를 해결할 수 있는 방법을 찾고 있습니다. 나는 이미 zabbix_selinux 맨페이지를 살펴보았습니다(https://www.systutorials.com/docs/linux/man/8-zabbix_selinux/) 그러나 실제로는 적절한 컨텍스트 파일 형식이 없습니다. 나는 내 자신의 파일 컨텍스트 유형을 만들 수 있다는 것을 알고 있지만 실제로 전문가는 아니기 때문에 이것이 최선의 솔루션인지는 모르겠습니다. 그래서 내 질문은 더 나은 방법이 있는지 아니면 기본 유형 unlabeled_t를 사용하지 않으려면 실제로 내 자신의 파일 컨텍스트 유형을 만들어야 합니까?입니다.

답변1

아마도 SELinux를 인식하지 못하는 소스에서 Zabbix를 설치했거나 설치 시 SELinux가 비활성화된 상태에서 설치했을 것입니다.

Zabbix가 SELinux 인식 패키지에서 설치되지 않은 경우 실행하면 레이블 이 restorecon -R -v /etc자동 unlabeled_t으로 다른 레이블로 변경될 수 있습니다. 이는 etc_t. /etc아마도 를 사용하기 전에 그렇게 해야 할 것입니다 audit2allow.

etc_t대부분의 구성 파일에 적합한 컨텍스트 유형입니다.

RHEL/CentOS 7.x의 SELinux 규칙 세트에는 실제로 Zabbix에 대한 몇 가지 기본 제공 조항이 있습니다. 디렉토리 /etc/zabbix/web/와 그 안의 모든 파일에는 레이블이 지정되고 httpd_sys_rw_content_t서버와 에이전트 모두 Zabbix의 시작 스크립트에는 각각 zabbix_initrc_exec_t및 이라는 적절한 레이블이 지정됩니다 zabbix_agent_initrc_exec_t.

다음은 Zabbix 패키지가 전혀 설치되지 않은 "바닐라" RHEL 7.7 테스트 VM에서 가져온 것입니다.

[root@localhost etc]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.7 (Maipo)

[root@localhost etc]# semanage fcontext -l |grep zabbix
/var/log/zabbix.*                                  all files          system_u:object_r:zabbix_log_t:s0 
/etc/zabbix/web(/.*)?                              all files          system_u:object_r:httpd_sys_rw_content_t:s0 
/var/lib/zabbix(/.*)?                              all files          system_u:object_r:zabbix_var_lib_t:s0 
/var/run/zabbix(/.*)?                              all files          system_u:object_r:zabbix_var_run_t:s0 
/etc/rc\.d/init\.d/(zabbix|zabbix-server)          regular file       system_u:object_r:zabbix_initrc_exec_t:s0 
/var/lib/zabbixsrv(/.*)?                           all files          system_u:object_r:zabbix_var_lib_t:s0 
/usr/lib/zabbix/externalscripts(/.*)?              all files          system_u:object_r:zabbix_script_exec_t:s0 
/var/lib/zabbix/externalscripts(/.*)?              all files          system_u:object_r:zabbix_script_exec_t:s0 
/usr/bin/zabbix_server                             regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/bin/zabbix_agentd                             regular file       system_u:object_r:zabbix_agent_exec_t:s0 
/usr/sbin/zabbix_proxy                             regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_agentd                            regular file       system_u:object_r:zabbix_agent_exec_t:s0 
/usr/sbin/zabbix_server                            regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_proxy_mysql                       regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_proxy_pgsql                       regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_server_mysql                      regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_server_pgsql                      regular file       system_u:object_r:zabbix_exec_t:s0 
/etc/rc\.d/init\.d/zabbix-agentd                   regular file       system_u:object_r:zabbix_agent_initrc_exec_t:s0 
/usr/sbin/zabbix_proxy_sqlite3                     regular file       system_u:object_r:zabbix_exec_t:s0 
/usr/sbin/zabbix_server_sqlite3                    regular file       system_u:object_r:zabbix_exec_t:s0 

관련 정보