检查服务器机器是不是被暴力破解

本文介绍了一个Shell脚本,用于分析/var/log/secure日志文件,检测暴力破解尝试。它跟踪外网IP的成功登录,记录失败登录并报告在成功登录前多次失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是一个完整的Shell脚本,用于检测暴力破解尝试,即多次连续的失败登录尝试后终于成功登录。该脚本处理 /var/log/secure* 中的日志文件,分析失败和成功的登录尝试,并打印及保存有关潜在的暴力破解尝试的信息:

#!/bin/bash

# 设置日志文件路径模式
LOGFILES="/var/log/secure*"

# 文件存储外网登录尝试
OUTPUT_FILE="potential_bruteforce_attempts.txt"

# 用于检查是否是外网IP的函数
is_external_ip() {
    ip=$1
    # 此处假设外网IP不包括私有地址和本地回环地址
    if [[ $ip =~ ^10\. || $ip =~ ^172\.(1[6-9]|2[0-9]|3[0-1])\. || $ip =~ ^192\.168\. || $ip =~ ^127\. ]]; then
        return 1 # 是内网IP
    else
        return 0 # 是外网IP
    fi
}

# 确保输出文件是空的
> "$OUTPUT_FILE"

# 检查日志文件并分析
for LOGFILE in $LOGFILES; do
    if [[ -f "$LOGFILE" ]]; then
        echo "Analyzing log file: $LOGFILE"
        
        # 分析文件并提取含外网IP的成功登录尝试
        grep "Accepted password" "$LOGFILE" | while read line; do
            if [[ $line =~ Accepted\ password.*from\ ([^ ]+) ]]; then
                ip=${BASH_REMATCH[1]}
                if is_external_ip "$ip"; then
                    echo "$line"  # 打印到终端
                    echo "$line" >> "$OUTPUT_FILE"  # 写入到文件
                fi
            fi
        done

        # 分析失败的尝试,并检查是否后续有成功的登录
        awk '
        /Failed password/ {fail[$(NF-3)]++}  # 记录失败尝试次数
        /Accepted password/ {
            if (fail[$(NF-3)] > 3) {  # 检查是否存在多次失败尝试
                print "Brute-force detected: IP " $(NF-3) " had " fail[$(NF-3)] " failures before a success on line " NR
                print "Brute-force detected: IP " $(NF-3) " had " fail[$(NF-3)] " failures before a success on line " NR >> "'$OUTPUT_FILE'"
            }
            delete fail[$(NF-3)]  # 重置失败计数
        }
        ' "$LOGFILE"
    else
        echo "Log file does not exist: $LOGFILE"
    fi
done

echo "Analysis complete. Check $OUTPUT_FILE for potential brute-force attempts."

脚本的功能:

  1. IP检查:确定日志行中的IP是否属于外网。
  2. 成功登录尝试:捕捉并记录所有被认为是外网IP的成功登录尝试。
  3. 失败登录尝试:追踪失败的登录尝试,并在检测到成功登录后,如果之前有多次失败尝试,则报告可能的暴力破解尝试。

运行和使用脚本:

  • 保存这段脚本到一个文件中,比如 analyze_bruteforce.sh
  • 给予执行权限:chmod +x analyze_bruteforce.sh
  • 运行脚本:./analyze_bruteforce.sh

这个脚本提供了一种方法来检测潜在的安全威胁,并帮助识别需要关注的特定IP地址。它旨在提供实时反馈和记录,适用于需要监控和防范暴力破解攻击的环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值