1. Наилучшие практики по безопасности

Обзор

В этом разделе содержатся рекомендации по настройке Zabbix безопасным образом.

Рекомендации в этом разделе не требуются для работы Zabbix, но рекомендуются для лучшей безопасности системы.

Кодировка UTF-8

UTF-8 является единственной кодировкой, которая поддерживается Zabbix. Известно, что она работает без каких-либо проблем с безопасностью. Пользователи должны знать, что существуют известные проблемы с безопасностью при использовании некоторых других кодировок.

Пути инсталлятора Windows

При использовании инсталлятора Windows рекомендуется использовать предоставляемые инсталлятором пути по умолчанию. Использование пользовательских путей без надлежащим образом назначенных прав может скомпрометировать безопасность вашей инсталляции.

Макросы в определяемых пользователем глобальных скриптах

Для повышения безопасности рекомендуется в определяемых пользователем глобальных скриптах использовать функции макросов вместо обычных макросов, поскольку макросы не экранируются автоматически.

Рекомендации по безопасности Zabbix и база данных CVE

См. Рекомендации по безопасности Zabbix и базу данных CVE.

HTML email templates

When creating or editing message templates used for HTML emails, always wrap every macro with the htmlencode() macro function. For example:

<b>Problem started</b> at {{EVENT.TIME}.htmlencode()} on {{EVENT.DATE}.htmlencode()}<br><b>Problem name:</b>
{{EVENT.NAME}.htmlencode()}<br><b>Host:</b> {{HOST.NAME}.htmlencode()}
<br><b>Severity:</b>
{{EVENT.SEVERITY}.htmlencode()}<br><b>Operational
data:</b> {{EVENT.OPDATA}.htmlencode()}<br><b>Original problem ID:</b> {{EVENT.ID}.htmlencode()}<br>{{TRIGGER.URL}.htmlencode()}

Using htmlencode() ensures that any HTML characters in macro values are escaped and prevents injection of HTML into notifications (for example, an attacker inserting a malicious/phishing link into a notification).

Note: the default HTML email messages provided by Zabbix already apply htmlencode() to macros. This guidance applies when editing existing templates or creating new ones — verify that macros are encoded before using a template to send HTML email.