一般地
在/var/log/secure可以看到登陆的情况
在/var/log/btmp中可以查看到登陆失败的记录(可通过lastb命令进行检查)
在/var/log/lastlog中可以查看最近登陆的记录 (可通过last命令进行检查)
也可通过who检查当前在线用户
如果在ssh的配置文件里(一般在/etc/ssh/sshd_config)和syslog配置文件中对日志文件做过定制的话那么需要根据具体情况定位日志文件
ssh 防止被暴力破解,自动拉黑IP脚本
上代码。secure_ssh.sh
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /home/secure/black_list.txt
for i in `cat /home/secure/black_list.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt 5 ];then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
增加定时任务检测
/var/spool/cron下用户文件,增加:
*/5 * * * * sh /home/secure/secure_ssh.sh >> /home/secure/secure.log
每五分钟执行一次。