最近我们运维要加强安全防护,老大让我们监控iptables的状态。这里我废了九牛二虎之力,再加上我师父(聪哥)的指导,才成功完成。  

下面给大家看下我写的监控脚本  

#!/bin/bash
 
prefix=/usr/local/nagios/libexec;
 
check_iptab_md5=`/usr/bin/sudo iptables -L -n | md5sum | awk '{print $1}'`
#这里是计算iptables的filter链的MD5值,一旦发生改变。或者iptables被关闭就可以发现。
oldiptablesmd5=$(cat /tmp/iptablesplmd5)
#这里是将iptables的MD5值输出到一个文件
if [ $check_iptab_md5 != $oldiptablesmd5 ];then
#这里是将现在的防火墙的MD5与第一次的MD5进行对比
  echo " CRITICAL - Iptables are CRITICAL"
  exit 2
else
  echo "OK - Iptables are OK"
  echo $check_iptab_md5 > /tmp/iptablesplmd5
  exit 0
fi