문서
원본 보기1 접근 제어
개요
이 섹션은 안전한 방법으로 접근 제어를 설정하기 위한 모범 사례를 포함하고 있습니다.
최소 권한 원칙
사용자 계정은 항상 최소한의 권한으로만 실행되어야 합니다. 이는 Zabbix 프론트엔드의 사용자 계정, 데이터베이스 사용자, 또는 Zabbix 서버/프록시/에이전트 프로세스의 사용자가 의도된 기능을 수행하는 데 필수적인 권한만을 가져야 함을 의미합니다.
'zabbix' 사용자에게 추가 권한을 부여하면 구성 파일에 액세스하고 인프라 보안을 손상시킬 수 있는 작업을 실행할 수 있게 됩니다.
사용자 계정 권한을 구성할 때 Zabbix 프론트엔드 사용자 유형을 고려해야 합니다. Admin 사용자 유형이 Super Admin 사용자 유형보다 적은 권한을 갖고 있지만, 여전히 구성을 관리하고 사용자 정의 스크립트를 실행할 수 있다는 점에 유의하십시오.
일부 정보는 비권한 사용자에게도 제공됩니다. 예를 들어, Alerts → Scripts는 Super Admin 사용자에게만 제공되지만, 스크립트는 Zabbix API를 통해서도 검색할 수 있습니다. 이 경우, 스크립트 권한을 제한하고 스크립트에서 민감한 정보(예: 액세스 자격 증명)를 제외하면 글로벌 스크립트에서 사용 가능한 민감한 정보 노출을 방지하는 데 도움이 될 수 있습니다.
Zabbix 에이전트를 위한 보안 사용자
기본적으로 Zabbix 서버, 프록시, 에이전트(또는 agent 2) 프로세스는 하나의 zabbix 사용자를 공유합니다.
Zabbix 에이전트/agent 2가 (서버/프록시와 같은 머신에서 실행되는 경우) 서버/프록시 구성의 민감한 세부 정보(예: 데이터베이스 자격 증명)에 액세스하는 것을 방지하려면, 에이전트를 다른 사용자로 실행해야 합니다:
Zabbix 에이전트의 경우:
- 보안 그룹과 사용자를 생성합니다(예:
zabbix-agent). - 에이전트 구성 파일의 User 매개변수에 이 사용자를 설정합니다.
- 에이전트를 재시작하여 새 사용자로 권한을 전환합니다.
Zabbix agent 2의 경우, agent 2 구성 파일이 User 매개변수를 지원하지 않기 때문에 서비스 수준에서 구성을 적용해야 합니다.
예시는 ZBX-26442를 참조하십시오.
SSL 구성에 대한 쓰기 액세스 취소 (Windows)
보호되지 않은 디렉터리(예: C:\zabbix, c:\openssl-64bit, C:\OpenSSL-Win64-111-static, 또는 C:\dev\openssl)에 위치한 OpenSSL로 Windows에서 Zabbix 에이전트를 컴파일한 경우, 관리자가 아닌 사용자가 이 디렉터리에 대한 쓰기 액세스를 취소하도록 하십시오.
그렇지 않으면 에이전트가 권한 없는 사용자에 의해 수정될 수 있는 경로에서 SSL 설정을 로드하여 잠재적인 보안 취약점이 발생할 수 있습니다.
Zabbix 구성 요소의 보안 강화
Zabbix 구성 요소의 보안을 강화하기 위해 일부 기능을 비활성화할 수 있습니다:
- Zabbix 서버에서 글로벌 스크립트 실행은 서버 구성에서
EnableGlobalScripts=0으로 설정하여 비활성화할 수 있습니다. - Zabbix 프록시에서 글로벌 스크립트 실행은 기본적으로 비활성화되어 있습니다(프록시 구성에서
EnableRemoteCommands=1로 설정하여 활성화할 수 있습니다). - Zabbix 에이전트에서 글로벌 스크립트 실행은 기본적으로 비활성화되어 있습니다(에이전트 구성에서 허용된 각 명령에 대해
AllowKey=system.run[<command>,*]매개변수를 추가하여 활성화할 수 있습니다). - 사용자 HTTP 인증은 프론트엔드 구성 파일(
zabbix.conf.php)에서$ALLOW_HTTP_AUTH=false로 설정하여 비활성화할 수 있습니다. 프론트엔드를 재설치(setup.php실행)하면 이 매개변수가 제거됩니다.
Zabbix 에이전트에 의한 Windows UNC 경로 액세스
Windows의 Zabbix 에이전트는 vfs.file.*, vfs.dir.*, modbus.get, perf_counter*와 같은 항목에서 UNC 경로(\\server\share\file.txt와 같은 SMB 공유)를 따릅니다. 이는 일부 상황에서 보안 위험이 될 수 있습니다.
Windows가 UNC 경로에 액세스하도록 요청받으면, 해당 서버에서 인증을 시도합니다. 이는 Zabbix 에이전트에 대한 악의적인 요청이 요청자의 서버에 NTLM 해시를 노출시킬 수 있음을 의미합니다. 필요한 경우 사용자는 AllowKey, DenyKey 구성 매개변수로 이를 완화할 수 있습니다.