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

Обзор

В этом разделе содержатся рекомендации по настройке 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()}<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()}

Использование htmlencode() гарантирует экранирование любых HTML-символов в значениях макросов и предотвращает внедрение HTML-кода в уведомления (например, злоумышленник не сможет вставить в уведомление вредоносную или фишинговую ссылку).

Примечание: в HTML-сообщениях по умолчанию, предоставляемых Zabbix, функция htmlencode() уже применяется к макросам. Эта рекомендация относится к редактированию существующих шаблонов и созданию новых: перед использованием шаблона для отправки HTML-сообщения убедитесь, что макросы закодированы.