最近看了一篇通过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规则有改变.

您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。