本节包含以安全方式设置访问控制的最佳实践。
用户帐户应始终以尽可能少的权限运行。这意味着 Zabbix 前端的用户帐户、数据库用户或 Zabbix 服务器/代理/代理进程的用户应仅具有执行预期功能所必需的权限。
赋予“zabbix”用户额外的权限将允许其访问配置文件并执行可能危及基础设施安全的操作。
配置用户账户权限时,应考虑Zabbix 前端用户权限 。请注意,尽管管理员用户类型的权限比超级管理员用户类型少,但它仍然可以管理配置并执行自定义脚本。
某些信息甚至可供非特权用户使用。例如,虽然警报→脚本仅供超级管理员用户使用,但也可以通过 Zabbix API 检索脚本。在这种情况下,限制脚本权限并从脚本中排除敏感信息(例如,访问凭据)可以帮助避免暴露全局脚本中可用的敏感信息。
默认情况下,Zabbix 服务器和 Zabbix 代理进程共享一个“zabbix”用户。为了确保 Zabbix 代理无法访问服务器配置中的敏感详细信息(例如,数据库登录信息),应以其他用户身份运行代理:
用户
参数中指定此用户。使用 OpenSSL 编译的 Zabbix Windows 代理将尝试访问中的 SSL 配置文件位于c:\\openssl-64bit
。非特权用户可以创建“C:”盘"上的“openssl-64bit”目录。
为了提高安全性,请手动创建此目录并撤销非管理员用户的写访问权限。
请注意,目录名称在 Windows 的 32 位和 64 位版本上会有所不同。
可以关闭某些功能以加强 Zabbix 组件的安全性:
$ALLOW_HTTP_AUTH=false
。请注意,重新安装前端 (运行 setup.php) 将删除此参数。