最近看了一篇通过nagios实现MD5实时监控iptables状态的文章,就想是否可以用shell也做到监控iptables规则改变,经过实验,就有了下面这个脚本.

系统:centos 5.x

脚本内容:

cat check_iptables.sh

复制代码 代码如下:
#!/bin/bash
if [ ! -f .count ];then
  iptables -L -n|md5sum|awk '{print $1}' > ~/.count
  exit 1
else
  iptables -L -n|md5sum|awk '{print $1}' >~/1.txt
  difffile=`diff ~/.count ~/1.txt|wc -l`
  if [[ $difffile = 0 ]];then
     echo "file is ok!"
     sleep 1
     rm -f ~/1.txt
  else
     echo "file is no ok!"
     cat ~/1.txt >~/.count
     sleep 1
     rm -f ~/1.txt
fi
fi

然后丢到crontab里.以每隔3分钟检测一次.

复制代码 代码如下:
chmod +x /root/check_iptables.sh
*/3 * * * * /bin/sh /root/check_iptables.sh

当然你也可以加上邮件报警来通知iptables规则有改变.

标签:
Shell脚本,监控iptables规则是否被修改

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com