• 分析SSH登录尝试的日志文件,如果某个IP地址失败次数超过5次,加入黑名单


    防止暴力破解脚本

    这个脚本的主要目的是查找/var/log/secure日志文件中包含"Failed"的行,并统计每个IP地址失败的次数。如果某个IP地址失败的次数大于5,则将该IP地址添加到/etc/hosts.deny文件中,以禁止该IP地址访问sshd。
    脚本需要有执行权限。你可以使用chmod +x script.sh命令给脚本添加执行权限。
    确保/var/log/secure日志文件存在并且可读,/etc/hosts.deny文件存在并且可写。
    脚本中的awk命令用于提取和统计IP地址,确保你的系统支持awk命令。
    脚本中的sort和uniq -c命令用于对IP地址进行计数和去重,确保你的系统支持这两个命令。
    脚本中的grep命令用于检查IP地址是否已经在/etc/hosts.deny文件中,确保你的系统支持grep命令。
    脚本中的echo命令用于输出结果,确保你的系统支持echo命令。

    #! /bin/bash
    cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /opt/lianjie.txt
    for i in `cat  /opt/lianjie.txt`
    do
      IP=`echo $i |awk -F= '{print $1}'`
      NUM=`echo $i|awk -F= '{print $2}'`
       if [ $NUM -gt 5 ];then
          grep $IP /etc/hosts.deny > /dev/null
        if [ $? -gt 0 ];then
          echo "sshd:$IP:deny" >> /etc/hosts.deny
        fi
      fi
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    代码详细解读

    以下是这段代码的详细解读:
    cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /opt/lianjie.txt
    
    • 1

    这个命令首先读取/var/log/secure文件的内容(通常这是一个包含SSH登录尝试信息的日志文件),然后使用awk命令筛选出包含"Failed"的行。awk命令会打印出这些行的第三个字段($(NF-3)表示当前记录的字段数减3,即第三个字段)。然后使用sort命令进行排序,uniq -c命令统计每个IP地址出现的次数,最后使用awk命令将统计结果格式化为IP=次数的形式并输出到/opt/lianjie.txt文件。

    for i in cat /opt/lianjie.txt
    
    • 1

    这个命令会读取上一步生成的/opt/lianjie.txt文件,并对文件中的每一行进行循环处理。
    在循环体中,IP= echo $i |awk -F= ‘{print $1}’ 命令会取出每行的等号前的内容(即IP地址),然后NUM= echo $i|awk -F= '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲' 命令会取出等号后的数字,并…IP:deny到该文件。这样,如果一个IP地址尝试失败的次数超过5次,它将被禁止访问sshd。
    总的来说,这个脚本的主要作用是:分析SSH登录尝试的日志文件,如果某个IP地址失败次数超过5次,则禁止该IP地址访问sshd。

  • 相关阅读:
    UITableView的style是UITableViewStyleGrouped
    Android Studio如何取消与SVN的关联
    鸿蒙开发工具DevEco Studio的下载和安装
    Python网页应用开发神器fac 0.2.6版本重要新功能一览
    Moonbeam团队发布针对整数截断漏洞的紧急安全修复
    day37
    oracle的控制文件的隐含参数
    makesense在线yolov5标注
    AMR论文阅读之:ATP: AMRize Then Parse! Enhancing AMR Parsing with PseudoAMRs
    MP进阶操作: 时间操作, sql,querywapper,lambdaQueryWapper(条件构造器)快速筛选 枚举类
  • 原文地址:https://blog.csdn.net/qq_43681990/article/details/134671382