设为首页 收藏本站
查看: 1051|回复: 0

通过nagios实现MD5实时监控iptables状态

[复制链接]

尚未签到

发表于 2019-1-14 07:26:27 | 显示全部楼层 |阅读模式
功能】:
   nagios 实现通过MD5实时监控 iptables 状态,实时监控Iptables,防止人为关闭后,忘了开启,或者监控规则是否有增删。
说明】:
  实现方式是:通过获取iptables状态的MD5值,校验比对判断iptables是否被修改。
  实现流程是:首先获取被监控服务器的iptables状态MD5值,保存到nagios服务端配置文件中,服务端通过远程获取被监控端iptables状态MD5值进行比对,如果不一致则发出报警。
     很久以前发表过通过监控iptables规则条数《nagios 实时监控 iptables 状态》,来达到监控目的,本文也是几年前做的了,此法比前一种更严谨,当时说要公开,今天没事把几年前的东西发出来,也算是兑现承诺,方法算不上好,但是提供一种思路。
  【实现】
  首先在nrpe被监控端
  #编辑nrpe.cfg文件,定义检测命令。
command[check_iptables]=echo $(/usr/bin/sudo iptables -L -n | md5sum | awk '{print $1}')  #获取被监控服务器的iptables状态 md5值备用,这个命令是实时的,如果不修改iptables规则,则不会变。
echo $(/usr/bin/sudo iptables -L -n | md5sum | awk '{print $1}')  -----------------------------------------------------------------------------------
  在nagios监控端
  #定义检测命令check_iptables
  
define command{
command_name  check_iptables
command_line $USER1$/check_iptables.sh $HOSTADDRESS$ $ARG1$
}  #定义服务,这里的check_command 里面的那串字符就是前面获取的MD5值,这里写死到nagios服务器端,这种方法有优点也有缺点,缺点就是不适合批量和大量服务器,每次发现iptables变化都要重新获取值新的MD5值并修改这个值,否则就一直报警,但是安全,这只是一种思路,之前是对游戏服务器充值服务器做监控数量较少,当然也可以把MD5值放到被监控服务器上,比对2次值是否一致,不一致就报警,但是这样只能报一次。
define service {                                    
use                   web-service                                 
host_name             xx-xx-xx
service_description   iptables_status
check_command          check_iptables!a7b1e263a467008dade82c873dcc0db8 #对应主
机iptablesMD5
}  #脚本check_iptables.sh (这个脚本放到nagios服务器的插件目录并给执行权限,默认是/usr/local/nagios/libexec)
#!/bin/bash
prefix=/usr/local/nagios/libexec;
check_iptab_md5=$($prefix/check_nrpe -H $1 -p port -c check_iptables);
iptab_md5="$2"
if [ $check_iptab_md5 == $iptab_md5 ];then
echo "OK - Iptables are OK"
exit 0
else
echo " CRITICAL - Iptables are CRITICAL"
exit 2
fi



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662929-1-1.html 上篇帖子: 在LNMP下用nginx 1.4.7配置nagios监控 下篇帖子: Ubuntu安装NRPE(Nagios插件)报:Cannot find ssl headers解决方法!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表