Zabbix安全配置

1、zabbix简介


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

2、zabbix服务架设


2.1 zabbix-server安装

rpm安装的方式

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yum install zabbix-server zabbix-web-mysql zabbix-zabbix-web zabbix-agent zabbix-get http mysql-server -y

配置mysql数据库:

vim /etc/my.cnf
#默认字符集为utf-8
default-character-set = utf8
#innodb的每个表文件单独存储
innodb_file_per_table = 1

创建相关的表

mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

导入表结构

cd /usr/share/doc/zabbix-server-mysql-2.4.4/create
mysql -uroot -Dzabbix < schema.sql
mysql -uroot -Dzabbix < images.sql
mysql -uroot -Dzabbix < data.sql

配置zabbix-server

vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
StartPollers=5
SNMPTrapperFile=/var/log/snmptt/snmptt.log
CacheSize=256M
AlertScriptsPath=/etc/zabbix/script/alertscripts
ExternalScripts=/etc/zabbix/script/externalscripts
/etc/init.d/zabbix-server start
/etc/init.d/mysqld start
/etc/init.d/httpd start

浏览器http://ip/zabbix 按照提示配置

2.2 zabbix-agent安装

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yum install zabbix zabbix-agent -y

配置zabbix-agent

vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=服务端IP
ServerActive=服务端IP
Hostname=主机名

3、错误配置以及利用


3.1 默认密码或者弱口令

zabbix默认的口令为Admin:zabbix,或者存在弱口令,可以登录,登录后可以在后台自定义脚本,执行命令。

3.2 开启guest账户

默认安装后是开启了guest账户的,如果没有禁止,可以通过guest账户登录,查看信息

3.3 开启了guest同时版本号<= 2.0.8

zabbix版本⇐2.0.8的时候,httpmon.php页面存在注入;开启了guest账户后可以直接访问,进行sql注入攻击。

具体攻击方法参考:

Zabbix SQL Injection/RCE – CVE-2013-5743

3.4 zabbix前台注入

4、实际案例


4.1 zabbix弱口令

4.2 zabbix的httpmon.php页面注入

5、修复方案


zabbix最好不要放在外网

修改默认账户密码,同时禁用guest用户

对于重点的zabbix-server,最好能够做ACL访问限制

6、发现问题


收集企业WEB应用,是否包含Zabbix。

7、相关资源