zabbix 扩展 | iptables 监控
2016-11-18 本文已影响845人
_简_述_
现在网络安全越来越重要,尤其是暴露在公网上的主机,如果不做安全措施,几分钟内就有可能被收为肉鸡。
笔者有次调试iptables暂时关闭了会,但是调试结束后竟然忘记打开了。在之后接收到了超流量告警才意识到这台机器被干了。于是赶紧打开iptables清理木马,吓了一身的冷汗,于是监控iptalbes又提上了日程。
最初的需求是监控iptables服务是否正常启动,后来觉得反正都是监控,顺便把iptalbes的其他一些信息也监控起来。于是熟练的打开百度,先看看别人是怎么做的,果然有前人已经铺好路,参照下并按自己的习惯搞起来。
之前的附件都是直接用代码块展示出来,更新也不方便,申请个GitHub方便分享附件。
zabbix-iptables 附件下载
安装iptstate
yum install iptstate -y
1. zabbix key
- iptables.conf
UserParameter=iptstate[*],/usr/local/zabbix/scripts/iptables.sh $1
2.监控脚本
- iptables.sh
#!/bin/bash
#iptables 监控脚本
#2016/11-18
function tcp {
sudo iptstate --single | grep tcp | wc -l
}
function tcp-syn {
sudo iptstate --single | grep SYN | wc -l
}
function tcp-timewait {
sudo iptstate --single | grep TIME_WAIT | wc -l
}
function tcp-established {
sudo iptstate --single | grep ESTABLISHED | wc -l
}
function tcp-close {
sudo iptstate --single | grep CLOSE | wc -l
}
function udp {
sudo iptstate --single | grep udp | wc -l
}
function icmp {
sudo iptstate --single | grep icmp | wc -l
}
function all {
sudo iptstate --single | wc -l
}
# Run the requested function
$1
3.添加sudo 执行权限
visudo
zabbix ALL=NOPASSWD: /usr/sbin/iptstate
将Defaults requiretty 更改为:#Defaults requiretty
#或者执行
sed -i "s/^Defaults requiretty/#Defaults requiretty/g" /etc/sudoers
echo “zabbix ALL=NOPASSWD: /usr/sbin/iptstate” /etc/sudoers
4.模板见附件
监控项目
触发器
监控图形