zabbix 扩展 | iptables 监控

现在网络安全越来越重要,尤其是暴露在公网上的主机,如果不做安全措施,几分钟内就有可能被收为肉鸡。
笔者有次调试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.模板见附件

zabbix 扩展 | iptables 监控_第1张图片
监控项目
触发器
zabbix 扩展 | iptables 监控_第2张图片
监控图形

你可能感兴趣的:(zabbix 扩展 | iptables 监控)