读书人

利用shell跟iptables实现自动拒绝恶意

发布时间: 2012-08-02 11:35:25 作者: rapoo

利用shell和iptables实现自动拒绝恶意试探连接SSH服务
利用shell和iptables实现自动拒绝恶意试探连接SSH服务,并发邮件通知管理员。?[root@server ~]# cat ssh.sh
#!/bin/bash
TIME=`date +"%Y-%m-%d %H:%M:%S"`
BADIP=/root/ssh_badip
BKIP=/root/back_ssh_badip
AR=`wc -l $BKIP |awk '{print $1}'`
lastb | awk '{print $3" "$6" "$7}' | awk -F: '{print $1}' |sort |uniq -c|awk '$1 > 5 {print $1" " $2" "$3" "$4}'| awk -vtime="$TIME" '{print time" "$1 " "$2" "$3" "$4}' >$BADIP
cat $BADIP >> $BKIP
for bip in `awk '{print $4}' "$BADIP"`
do
iptables -I INPUT -p tcp?--dport 22 ?-s $bip -j DROP
done
AR2=`wc -l $BKIP |awk '{print $1}'`
VALUE=`echo "$AR2-$AR"|bc`
LAST=`tail -n $VALUE $BKIP`
if [ $VALUE -gt 0 ] ; then
sendmail -t <<EOF
from: cjjwzs@gmail.com
to:38043881@qq.com
subject: 严重警告
$TIME 当前有人正在试探性连接SSH服务,系统已经帮你拦截,查看详情请登录系统。
????? $LAST
EOF
fi
~?在任务计划中添加*/15 * * * *?/root/ssh.sh*/20? * * * *??cat /var/log/btmp? >> /var/log/btmp.bak ; >/var/log/btmp*? */2 * * * service iptables restart

读书人网 >操作系统

热点推荐