校验iptables是否被关闭和状态是否正常脚本片段
原创作品 作者:linuxzgf 原文:http://www.f5ha.com/2012/0127/0NMDAwMDAwMDY0NA.html
转载请注明:运维之家/运维家园
欢迎转载运维之家/运维家园文章到自己的网站/博客/微博,请勿修改原文内容,谢谢!
实现功能: 检查linux机器防火墙是否被关闭
若防火墙是关闭的则会收到邮件和对应的ip地址,登陆用户和历史登陆信息
此脚本有些繁琐不过可以实现功能,后台运行进程后即可监控linux机器防火墙是否被关闭。
#!/bin/sh
DATE=`date "+_%Y_%m_%d_%H_%M_%S"`
IP=`/sbin/ifconfig | grep 'inet addr:' | egrep -v "$NOIP" | cut -d : -f2 | awk '{print $1}'|head -1`
IPTABLES_STATUS=/tmp/iptables
MAIL_LIST=linuxzgf@gmail.com
/sbin/service iptables status |grep [0-9] 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Firewall is stopped." > $IPTABLES_STATUS
fi
if [ -s $IPTABLES_STATUS ]
then
echo " " >> $IPTABLES_STATUS
echo " " >> $IPTABLES_STATUS
/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1'|cut -d : -f2 |awk '{print $1}' >> $IPTABLES_STATUS
echo " " >> $IPTABLES_STATUS
echo " " >> $IPTABLES_STATUS
echo "-------who---------------------------------------------" >> $IPTABLES_STATUS
/usr/bin/who >> $IPTABLES_STATUS
echo "-------w-----------------------------------------------" >> $IPTABLES_STATUS
/usr/bin/w >> $IPTABLES_STATUS
echo "------------------------- last ----------------------" >> $IPTABLES_STATUS
/usr/bin/last |head >> $IPTABLES_STATUS
echo cc
/bin/mail -s "$IP $DATE iptables stoppd" $MAIL_LIST < $IPTABLES_STATUS
fi
完毕,脚本下半部分监控是否有修改的,还在完善中。
[错误报告] [推荐] [收藏] [打印] [关闭] [返回顶部]


已有


