zoukankan      html  css  js  c++  java
  • Ubuntu20 ssh防止被爆破脚本分析,黑名单添加!

    我的系统是UBUNTU 20.4  /var/log/secure并不存在,也许只是PC端是如此
    原来在早在Ubuntu 16.04.2后就不用 /var/log/secure
    实际操作才是王道,我们准备台虚拟机尝试ssh登陆看结果
    systemctl restart sshd.service
    sudo nmap -Pn -sS 192.168.224.*/24
    

     

    ssh root@192.168.224.131 -p 2222
    

    登录几次失败我们可以测下

    sudo lastb
    

     我们登录失败的次数都被记录在这上面。

    sudo cat /var/log/btmp
    

    lastlog
    

     最后一次登录的IP

    cat /var/log/lastlog
    

    cat /var/log/secure |awk '/Failed/{print $(NF-3)}' |sort |uniq -c |awk '{print $2"="$1;}' >/usr/local/bin/black.list
    for i in `cat /usr/local/bin/black.list`
    do
        IP=`echo $i |awk -F= '{print $1}'`
        NUM=`echo $i |awk -F= '{print $2}'`
        if [ ${#NUM} -gt 1 ]; then
            grep $IP /etc/hosts.deny >/dev/null
            if [ $? -gt 0]; then
                echo "sshd:$IP:deny" >>/etc/hosts.deny
                echo -e "$IP c"
            fi
        fi
    done
    echo "is denied now." 
    这段代码里的 /var/log/secure目前在ubuntu20.4里没有自带有所以修改下代码
    OK这篇是centOS服务器的脚本
    由于我用的是PC端的Ubuntu所以得修改部分代码
    su root
    mkdir /script
    touch /script/checkBlackIp.sh 
    chmod 755 /script/checkBlackIp.sh /script
    chown root:root /script/checkBlackIp.sh
    vim /script/checkBlackIp.sh
    

    加入下面代码  

    #!/bin/sh
    lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}'  >/script/black.list
    
    for i in `cat /script/black.list`
    do
        IP=`echo $i |awk -F= '{print $1}'`
        NUM=`echo $i |awk -F= '{print $2}'`
        if [ ${#NUM} -ne 1 ]; then
            grep $IP /etc/hosts.deny >/dev/null
            if [ ! $? -eq 0 ]; then
                    echo "sshd:$IP:deny" >>/etc/hosts.deny
                    echo "$IP c"
            fi
        fi
    done
    echo "is denied now."
    

     

     

     

    crontab -e
    

    vim /etc/crontab
    

    systemctl restart cron.service
    systemctl enable cron.service
    

    https://www.cnblogs.com/eternalnight/p/13905048.html

     

     

     

      

  • 相关阅读:
    eclipse pom文件报错 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Mav (Click for 1 more)
    严重: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
    powercfg -duplicatescheme 设置电源方案
    测试3
    测试2
    markdonwn 测试1
    Java线程池-线程工厂ThreadFactory
    Java线程池-拒绝策略
    一文读懂Base64编码
    ThreadLocal
  • 原文地址:https://www.cnblogs.com/eternalnight/p/13905051.html
Copyright © 2011-2022 走看看