在日常使用中,我们经常会发现虽然改了端口,禁止了root的ssh登录权限。但是只要别人不懒的话,随便用工具扫描端口还是很容易扫描出来的之后你就会发现 你的机器无时不刻在有人尝试暴力破解。
我们可以通过 lastb查看历史登陆失败的记录
lastb #查看全部记录
#或者
lastb -n 30 #查看最新的30条记录
我们可以通过脚本将多次尝试登录,并失败的IP加入黑名单
脚本如下:/opt/black_host.sh
#!/bin/bash
#Denyhosts SHELL SCRIPT
# 分析登录日志文件,筛选失败登录并统计次数存入文件备用
cat /var/log/secure | awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"=" $1;}' >/root/Denyhosts.txt
# 定义允许失败登录的次数
DEFINE="10"
# 读取文件,并把条件范围内的IP写到hosts.deny中,实现黑名单效果
for i in `cat /root/Denyhosts.txt`
do
IP=`echo $i|awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ]
then
ipExists=`grep $IP /etc/hosts.deny |grep -v grep |wc -l`
if [ $ipExists -lt 1 ]
then
echo "sshd:$IP" >> /etc/hosts.deny
fi
fi
done
黑名单文件位置为/etc/hosts.deny
我们可以创建一个计划任务
*/10 * * * * /bin/bash /opt/black_host.sh
#每10分钟会执行一遍
完成,至此你的机器安全更上一层。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容