积累经验
2014年(55)
分类: 系统运维
2014-02-12 15:27:27
/var/log/secure
一天错误登录3次的用户拒绝
tail /var/log/secure
1. 过滤日期
2. failed关键字
3. 取IP列,(用户列也要注意)
4. 统计IP >3,则创建iptables
5. 下次重新运行脚本,需清空新建的规则
grep "Failed " /var/log/secure |awk '{ print $(NF-3) }' |sort|uniq -c|awk '($1>3)'|awk '{ print $2 }'
过滤>3次的IP
#!/bin/bash
SEC_FILE="/var/log/secure"
TMP_FILE="/tmp/chkssh.tmp"
MYDAY=$(date | cut -d " " -f2-4)
if [ -f $TMP_FILE]
then
while read IP
do
iptables -D INPUT -s $IP -j DROP
done < $TMP_FILE
fi
grep "$MYDAY" $SEC_FILE| awk '/Failed/{ print $(NF-3) }' | sort | uniq -c | awk '($1 > 3 ) { print $2}' > $TMP_FILE
while read IP
do
iptables -A INPUT -s $IP -j DROP
done < $TMP_FILE