本节包含以安全方式设置访问控制的最佳实践。
用户账户在任何时候都应以尽可能少的权限运行。 这意味着Zabbix前端的用户账户、数据库用户或Zabbix server/proxy/agent进程的用户,应仅具有执行预期功能所必需的权限。
给予'zabbix'用户额外的权限将允许其访问配置文件并执行可能危及基础设施安全的操作。
在配置用户账户权限时,应考虑Zabbix的前端用户类型。 请注意,尽管Admin用户类型比Super Admin用户类型权限少,但它仍然可以管理配置并执行自定义脚本。
即使对于非特权用户,某些信息也是可获取的。 例如,虽然Alerts → Scripts仅对Super Admin用户可用,但脚本也可以通过Zabbix API检索。 在这种情况下,限制脚本权限并从脚本中排除敏感信息(例如,访问凭证)可以帮助避免在全局脚本中暴露敏感信息。
默认情况下,Zabbix 服务器和 Zabbix agent 进程共享同一个 'zabbix' 用户。 为了确保 Zabbix agent 无法访问服务器配置中的敏感细节(例如,数据库登录信息),agent 应该以不同的用户运行:
User
(查看配置参数)。使用OpenSSL编译的Zabbix Windows agent将尝试访问位于c:\openssl-64bit
的SSL配置文件。 磁盘C:
上的openssl-64bit
目录可能由非特权用户创建。
为了增强安全性,请手动创建此目录并撤销非管理员用户的写入访问权限。
请注意,32位和64位版本的Windows上目录名称会有所不同。
可以关闭某些功能以增强Zabbix组件的安全性:
$ALLOW_HTTP_AUTH=false
来禁用。注意,重新安装前端(运行setup.php)会移除这个参数。