보안 모범 사례
개요
이 섹션에서는 Zabbix를 안전하게 설정하기 위한 모범 사례를 설명합니다.
이 섹션의 사례는 Zabbix 작동에 필수적이지는 않지만, 시스템 보안을 강화하기 위해 권장됩니다.
UTF-8 인코딩
UTF-8은 Zabbix에서 지원하는 유일한 인코딩입니다. 보안 결함 없이 작동하는 것으로 알려져 있습니다. 사용자는 일부 다른 인코딩을 사용할 경우 알려진 보안 문제가 있다는 점에 유의해야 합니다.
Windows 설치 프로그램 경로
Windows 설치 프로그램을 사용할 때는 설치 프로그램에서 제공하는 기본 경로를 사용하는 것이 좋습니다. 적절한 권한 없이 사용자 지정 경로를 사용하면 설치 환경의 보안이 손상될 수 있습니다.
사용자 정의 전역 스크립트의 매크로
보안을 강화하려면 매크로 함수를 사용자 정의 전역 스크립트에서 일반 매크로 대신 사용하는 것이 좋습니다. 매크로는 자동으로 이스케이프되지 않기 때문입니다.
Zabbix 보안 권고 및 CVE 데이터베이스
Zabbix 보안 권고 및 CVE 데이터베이스를 참조하십시오.
HTML 이메일 템플릿
HTML 이메일에 사용되는 메시지 템플릿을 만들거나 편집할 때는 항상 모든 매크로를 htmlencode() 매크로 함수로 감싸십시오.
예:
<b>Problem started</b> at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}
<b>Problem name:</b>
{{EVENT.NAME}.htmlencode()}
<b>Host:</b> {{HOST.NAME}.htmlencode()}
<b>Severity:</b>
{{EVENT.SEVERITY}.htmlencode()}
<b>Operational
data:</b> {{EVENT.OPDATA}.htmlencode()}
<b>Original problem ID:</b> {{EVENT.ID}.htmlencode()}
{{TRIGGER.URL}.htmlencode()}
htmlencode()를 사용하면 매크로 값의 모든 HTML 문자가 이스케이프되어 알림에 HTML이 삽입되는 것을 방지할 수 있습니다(예: 공격자가 악성 또는 피싱 링크를 알림에 삽입하는 경우).
참고: Zabbix에서 제공하는 기본 HTML 이메일 메시지는 이미 매크로에 htmlencode()를 적용합니다.
이 지침은 기존 템플릿을 편집하거나 새 템플릿을 만들 때 적용됩니다. 템플릿을 사용하여 HTML 이메일을 보내기 전에 매크로가 인코딩되었는지 확인하십시오.