信息中心

 技术文摘
 技术文摘
您当前的位置是:网站首页 > 信息中心 > 技术文摘
LINUX通过SSH远程访问,防止暴力破解方法
发布时间:2025-01-23 11:02   发布人: 系统管理员

当我们把服务器托管到idc机房,安装了Linux系统设置了密码,通过ssh可以远程了,以为这就万事大吉了吗?
错错错,即使你更改了ssh的默认端口,现在依然有扫描工具可以发现,然后进行暴力破解。今天我们来解决这个问题

 

其实我们可以通过读取/var/log/secure 很多失败的登录信息,进行统计,然后将多次失败的地址加到/etc/hosts.deny以达到屏蔽的作用
1. 大于10次登陆失败就封掉IP,编写shell脚本:cat /root/secure_ssh.sh
#! /bin/bash

tail -1000 /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /tmp/blackips.txtfor i in `cat  /tmp/blackips.txt`do
        IP=`echo $i |awk -F= '{print $1}'`
        NUM=`echo $i|awk -F= '{print $2}'`
        result=$(cat /etc/hosts.deny | grep $IP)        if [[ $NUM -gt 10 ]];then
                if [[ $result = "" ]];then
                        echo "sshd: $IP" >> /etc/hosts.deny                fi
        fidone

2.定时任务:5分钟执行一次,crontab -e

*/5 * * * * bash /root/secure_ssh.sh