1 접근 제어

원본 보기

1 접근 제어

개요

이 섹션은 안전한 방식으로 접근 제어를 설정하기 위한 모범 사례를 포함합니다.

최소 권한 원칙

사용자 계정은 항상 가능한 한 최소한의 권한으로 실행되어야 합니다. 이는 Zabbix 프론트엔드의 사용자 계정, 데이터베이스 사용자, 또는 Zabbix 서버/프록시/에이전트 프로세스의 사용자가 의도된 기능을 수행하는 데 필수적인 권한만 가져야 함을 의미합니다.

'zabbix' 사용자에게 추가 권한을 부여하면 구성 파일에 접근하고 인프라 보안을 위험에 빠뜨릴 수 있는 작업을 실행할 수 있게 됩니다.

사용자 계정 권한을 구성할 때, Zabbix 프론트엔드 사용자 유형을 고려해야 합니다. Admin 사용자 유형이 Super Admin 사용자 유형보다 적은 권한을 가지고 있지만, 여전히 구성을 관리하고 사용자 정의 스크립트를 실행할 수 있다는 점에 주의하세요.

일부 정보는 권한이 없는 사용자에게도 제공됩니다. 예를 들어, 알림스크립트Super Admin 사용자만 사용할 수 있지만, 스크립트는 Zabbix API를 통해서도 검색할 수 있습니다. 이 경우, 스크립트 권한을 제한하고 스크립트에서 민감한 정보(예: 접근 자격 증명)를 제외하면 전역 스크립트에서 사용 가능한 민감한 정보가 노출되는 것을 방지할 수 있습니다.

Zabbix 에이전트를 위한 보안 사용자

기본적으로 Zabbix 서버, 프록시, 에이전트(또는 agent 2) 프로세스는 하나의 zabbix 사용자를 공유합니다. Zabbix 에이전트/agent 2(서버/프록시와 동일한 시스템에서 실행)가 서버/프록시 구성의 민감한 세부사항(예: 데이터베이스 자격 증명)에 접근하는 것을 방지하기 위해, 에이전트는 다른 사용자로 실행되어야 합니다:

Zabbix 에이전트의 경우:

  1. 보안 그룹과 사용자를 생성합니다(예: zabbix-agent).
  2. 에이전트 구성 파일의 User 매개변수에 이 사용자를 설정합니다.
  3. 새로운 사용자로 권한을 낮추기 위해 에이전트를 재시작합니다.

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 경로(SMB 공유: \\server\share\file.txt)를 따릅니다. 이는 일부 상황에서 보안 위험이 될 수 있습니다.

Windows가 UNC 경로에 접근하도록 요청받으면, 해당 서버에서 인증을 시도합니다. 이는 Zabbix 에이전트에 대한 악의적인 요청이 요청자의 서버에 NTLM 해시를 노출시킬 수 있음을 의미합니다. 필요한 경우 사용자는 AllowKey, DenyKey 구성 매개변수로 이를 완화할 수 있습니다.

다음 단계는?