分享

云主机ssh被人暴破

 king9413 2022-05-01 发布于广东

最近我的阿里云主机的openssh老是被别人暴力破解。我已经修改的ssh端口号,也把openssh升级到了最新版OpenSSH9.0,虽然没被暴破成功,但看着日志里的信息也是感觉很不爽。

文章图片1
文章图片2

于是写了个定时脚本,功能是每10分钟和每小时检测一次,如果有一个IP在这两个时间段内输入密码错误大于等于5次,就把IP封掉。

计划任务里添加定时任务

#crontab -e*/10 * * * * /opt/script/check.sh >/dev/null 2>&1

脚本内容如下:

[root@ttl ~]# cat /opt/script/check.sh #!/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binexport PATHcheck(){    ip_list='$(lastb|grep -o '[0-9]\ .[0-9]\ .[0-9]\ .[0-9]\ .*[0-9]\  [0-9]\ :[0-9]'|grep '$1'|awk '    {    sum[$1]=sum[$1] 1    }END{        for(i in sum)       {           if(sum[i]>=5)print i;       }    }')'    echo '$ip_list'|while read line;do        if [ '$line' != '' ];then            if [ '$(iptables -nL|grep $line|grep 'dpt:9999')' == '' ];then                iptables -I INPUT 1 -p tcp --dport=9999 -s $line -j REJECT            fi        fi    done}last_10_minutes='$(date  -d '-10 minutes'  '%b %_d %H:%M'|awk '{print $1,$2,substr($3,1,4)}')'last_1_hour='$(date -d '-1 hour'   '%b %_d %H')'check '$last_10_minutes'if [ '$(date  %M|awk '{print substr($0,1,1)}')' == '0' ];then    check '$last_1_hour'fi

成果

文章图片3

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多