[comment]: # ({029ae858-7ef4b2b9})
# 1 安全最佳实践

[comment]: # ({/029ae858-7ef4b2b9})

[comment]: # ({0694518e-b9719f19})
#### 概述

本节包含以安全方式设置 Zabbix 的最佳实践。

本节中的实践并非 Zabbix 正常运行所必需，但建议采用，以提高系统安全性。

[comment]: # ({/0694518e-b9719f19})

[comment]: # ({cf23c7b6-40e70f9e})
#### UTF-8 编码

Zabbix 仅支持 UTF-8 编码。
已知它可以正常工作，且不存在安全缺陷。
用户应注意，如果使用其他某些编码，已知会存在安全问题。

[comment]: # ({/cf23c7b6-40e70f9e})

[comment]: # ({001ddfc4-62eeb2ec})
#### Windows 安装程序路径

在使用 Windows 安装程序时，建议使用安装程序提供的默认路径。
如果使用自定义路径且没有适当的权限，可能会危及安装的安全性。

[comment]: # ({/001ddfc4-62eeb2ec})

[comment]: # ({43e520e9-be700c90})
#### 用户自定义全局脚本中的宏

为增强安全性，建议在用户自定义全局 [脚本](/manual/web_interface/frontend_sections/alerts/scripts) 中使用 [宏函数](/manual/config/macros/macro_functions) 而不是普通宏，因为宏不会自动转义。

[comment]: # ({/43e520e9-be700c90})

[comment]: # ({25002531-ba0d4036})
#### Zabbix 安全公告和 CVE 数据库

请参阅 [*Zabbix 安全公告和 CVE 数据库*](https://www.zabbix.com/security_advisories)。

[comment]: # ({/25002531-ba0d4036})

[comment]: # ({58a6c712-templates})
#### HTML 邮件模板

在创建或编辑用于 HTML 邮件的[消息模板](/manual/config/notifications/media#message-templates)时，请始终使用 `htmlencode()` 宏函数包裹每个宏。
例如：

```default
<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 被注入到通知中（例如，攻击者在通知中插入恶意/钓鱼链接）。

注意：Zabbix 提供的默认 HTML 邮件消息已经对宏应用了 `htmlencode()`。
此建议适用于编辑现有模板或创建新模板时——请在使用模板发送 HTML 邮件之前，确认宏已进行编码。

[comment]: # ({/58a6c712-templates})
