目前,zabbix作为一个为广大企业提供分布式系统监视以及网络监视功能的企业级的开源解决方案。由于zabbix用户量比较大,所以影响范围比较广。下面为大家介绍本次源码问题的分析修改。

问题概述:

当防火墙放通,且有权访问到server端口时。存在任何人都能伪装成主动代理并请求项目配置或谎报项目数据。

影响程度:

监控的所有指标都会出现异常,数据以抢占的方式上传到server上。

漏洞测试:

首先准备一台已经正常监控的机器,开机克隆然后改ip再联网。

zabbix修改登录界面(Server源码问题分析修改)(1)

zabbix修改登录界面(Server源码问题分析修改)(2)

zabbix修改登录界面(Server源码问题分析修改)(3)

zabbix修改登录界面(Server源码问题分析修改)(4)

Hostname发生数据紊乱。

官方方案:

官方目前有一种方案可对所有接入的机器进行身份验证,即对主机通讯进行加密,目前支持2种加密方式PSA证书加密和PSK加密未正确提供密钥或密码的主机连接均被丢弃。

弊端:配置复杂。(所有服务器需要配置)、性能损耗大。(每次连接均要增加约800ms左右时间)、安全性不高,密码需明文存放在zabbix可读组件内,无法解决克隆虚拟机而产生的安全问题场景,所以这个方式也是有漏洞。

修复方案:

在多次测试积累梳理了详细的源码流向,最终决定放弃中间件方式,直接改zabbix源码来相对容易实现目的。

判断逻辑:判断和拦截是从指数据库或其它介质读取白名单,若IP和主机名的组合条件不在白名单内,则拦截并标记,若在白名单内,则允许其进行注册,如果是正常修改则需要在可视化页面手动进行放通。

修改Server主要优势:1、性能损耗,延时较小 2、更易于结合Server逻辑3、无tls问题 4、无需解析修改各版本Agent。

Zabbix Server源码具体数据走向图如下:

zabbix修改登录界面(Server源码问题分析修改)(5)

,