您好,欢迎来到汇智旅游网。
搜索
您的当前位置:首页ssh远程暴力破解防范

ssh远程暴力破解防范

来源:汇智旅游网

修改配置文件

1、禁止所有用户使用密码登录,只允许密钥登录

sed -i s/"PasswordAuthentication yes"/"PasswordAuthentication no"/   /etc/ssh/sshd_config

注意:需要先生成密钥,配置测试没有问题再禁止所有用户使用密码登录

2、自定义一个远程登录端口

sed -i '/Port 22/i\Port 1234' /etc/ssh/sshd_config

3、重启服务

systemctl restart sshd  #centos7为例

检测脚本

#crontab -e # 配置每10分钟运行一次
添加

*/10 * * * * /bin/bash /root/brute_force_detection.sh

** Ubuntu和CentOS都可以使用 **

#!/bin/bash
# SSH exception remote login forbid script
cat /etc/redhat-release > /dev/null  2>&1
if [ $? -eq 0 ];then
    ROUTE=/var/log/secure
else
    ROUTE=/var/log/auth.log
fi
    cat $ROUTE | awk '/Failed/{print $(NF-3)}' |grep "[[:digit:]]" | sort | uniq -c | awk '{print $2"="$1}' > secure.txt
    VALUE=1
    for i in `cat secure.txt`
    do
        IP=`echo $i | awk -F= '{print $1}'`
        NUM=`echo $i | awk -F= '{print $2}'`
        if [ $NUM -gt $VALUE ];then
            grep $IP /etc/hosts.deny > /dev/null
            if [ $? -gt 0 ];then
                echo "sshd:$IP" >> /etc/hosts.deny
            fi
        fi
    done

awk ‘/Failed/{print $(NF-3)}’
使用awk筛选包含Failed的行,打印倒数第4个元素的内容,数组默认从0开始,所以是NF-3

grep “[[:digit:]]”
只打印数字,否则会匹配到倒数第4个元素为Connection的情况

/etc/hosts.allow和/etc/hosts.deny文件
一个IP请求连入,linux的检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务