码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix监控iptables时遇到的问题

时间:2018-11-08 00:22:04      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:因此   定义   ***   出错   除了   tty   nop   客户   conf   

背景:由于外包人员或者自己有时候关闭iptables,就忘记启用,会造成系统的安全问题,如果被***攻入一台主机,它就能登陆你的其它主机,一般除了跳板机,iptables是不让内网机直接互相登陆;iptables里面的内容,默认一般只开用到的端口。因此监控iptables的启停就很重要。

原理:我用的监控方法是根据网络上借鉴的简单的方法,通过iptables -nL命令来判断命令的行数,iptables关闭时候行数为8,来设置zabbix的触发器报警,zabbix项目和触发器怎么设置在这就不多说了。当然我认为还是有很多别的方法的。

我想说的问题,是在我用脚本执行iptables -nL命令的时候,在客户端取值都没有问题,但服务端取值总是不正确,在这个问题困扰了我许久之后,终于查找网络资料,学习到了,在这记录下来,主要是问题是zabbix用户没有权限执行iptables这个命令,导致我最后一步总是出错。用visudo命令,为zabbix用户执行iptables命令提权,在这不要给太大权限,只给需要的。
visudo
zabbix ALL=NOPASSWD: /sbin/iptables -L -n
然而手工 su 到 zabbix 的用户,执行 sudo iptables -L -n 是能够正常获得结果的,但在监控那边还是只能得到0。之后查找资料发现了两个方法,其实是一个意思,因为默认sudo远程不让执行
visudo后注释掉这个
#Defaults requiretty #这行注释就可以了
或者加上这一行
Defaults:zabbix !requiretty

感谢前人的资料
首先,在 zabbix 中新建一个 item,比如命名为 iptables.lines,类型选择 zabbix agent,其他保持默认就好了
然后,在被监控的主机上,填写自定义配置,vi zabbix_agentd.conf,在最后添加一行:
UserParameter=iptables.lines, sudo /sbin/iptables -L -n | wc -l
最后重启zabbix_agentd

zabbix监控iptables时遇到的问题

标签:因此   定义   ***   出错   除了   tty   nop   客户   conf   

原文地址:http://blog.51cto.com/12107094/2314267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!