萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows Server 2008 教學

Windows Server 2008 安全性記錄 4624 審核失敗狂刷應急處置:暴力破解偵測與封鎖

安全性記錄中大量事件 ID 4624 且標註「審核失敗」 (實為 4625 登入失敗,或 4624 登入類型異常) 通常預示著正在進行的 RDP/網路共用暴力破解攻擊。本文提供快速分析、來源 IP 提取、防火牆封鎖與稽核調整的應急處置流程。

一、 確認攻擊特徵

  1. 開啟「事件檢視器」→「Windows 記錄」→「安全性」。
  2. 篩選事件 ID:4625 (登入失敗) — 若每分鐘數十筆,極大機率為暴力破解。
  3. 檢視事件詳細資料 →「一般」索引標籤關鍵欄位:
  • 目標帳戶名稱: 被嘗試的帳戶 (Administrator、admin、user、test 等常見字典)。
  • 登入類型: 3=網路 (共用/IIS), 10=遠端互動 (RDP), 2=主控台。
  • 來源網路位址 / 來源連接埠: 攻擊者 IP (IPv4/IPv6) 與來源埠。
  • 失敗原因碼 / 子狀態: 0xC000006A=密碼錯誤, 0xC0000064=帳戶不存在, 0xC0000234=帳戶鎖定。

安全性記錄大量 4625 事件
事件詳細資料-來源 IP
事件 XML 視圖

二、 緊急封鎖攻擊來源 IP (PowerShell 一鍵腳本)

# 參數區
$blockDurationMinutes = 60
$thresholdPerMinute = 20  # 單一 IP 每分鐘失敗超過此值即封鎖

# 1. 從安全性記錄近 5 分鐘提取失敗登入 IP 統計
$events = Get-WinEvent -FilterHashtable @{
    LogName = 'Security'
    ID = 4625
    StartTime = (Get-Date).AddMinutes(-5)
} -ErrorAction SilentlyContinue

$ipCounts = $events | ForEach-Object {
    $xml = [xml]$_.ToXml()
    $ip = $xml.Event.EventData.Data | Where-Object { $_.Name -eq 'IpAddress' } | Select-Object -ExpandProperty '#text'
    $ip
} | Where-Object { $_ -ne '-' -and $_ -ne '::1' -and $_ -ne '127.0.0.1' } | Group-Object | Where-Object { $_.Count -ge $thresholdPerMinute }

# 2. 為超閾值 IP 建立防火牆封鎖規則 (含自動清除排程)
foreach ($grp in $ipCounts) {
    $ip = $grp.Name
    $ruleName = "AutoBlock_BruteForce_$ip"
    if (-not (Get-NetFirewallRule -DisplayName $ruleName -ErrorAction SilentlyContinue)) {
        New-NetFirewallRule -DisplayName $ruleName -Direction Inbound -RemoteAddress $ip -Action Block -Profile Any -Description "Auto-blocked brute force at $(Get-Date)"
        # 排程自動移除
        $action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument "-Command Remove-NetFirewallRule -DisplayName '$ruleName'"
        $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes($blockDurationMinutes)
        Register-ScheduledTask -TaskName "Remove_$ruleName" -Action $action -Trigger $trigger -RunLevel Highest -Force
        Write-Host "Blocked $ip ($($grp.Count) attempts in 5 min)" -ForegroundColor Red
    }
}

三、 強化帳戶鎖定原則 (降低破解成功率)

  1. gpedit.msc → 電腦設定 → Windows 設定 → 安全性設定 → 帳戶原則 → 帳戶鎖定原則。
  2. 設定:
    「帳戶鎖定閾值」: 5 次無效登入
    「鎖定計數器重設時間」: 15 分鐘
    「帳戶鎖定持續時間」: 15 分鐘 (或 0 需管理員解鎖)

四、 啟用 NLA 與變更 RDP 埠 (參見 41426、41431)

  • 強制網路層級驗證 (NLA) → 未驗證連線不建立會話,大幅降低伺服器資源消耗。
  • 修改 RDP 埠至高位隨機埠 (如 25608) → 避開自動化掃描。

五、 部署 RD Gateway / VPN / IPsec (根治方案)

將 RDP 連接埠完全從網際網路/非信任網段隱藏,僅允許經過 RD Gateway (HTTPS 443) 或 VPN/IPsec 隧道的驗證連線進入,徹底斷絕暴力破解攻擊面。

六、 持續監控與日誌保留

  • 設定安全性記錄最大容量 ≥ 1 GB,啟用「依需求覆寫」。
  • 配置 Windows Event Forwarding (WEF) 將安全性記錄轉送至集中日誌伺服器 / SIEM。
  • 建立儀表板監控:每分鐘 4625 計數、前 10 攻擊 IP、鎖定帳戶數、異地登入成功 (4624 登入類型 10 + 異常 IP)。

面對安全性記錄狂刷,核心策略是「快速識別 → 即時封鎖 → 策略硬化 → 架構隔離」。Windows Server 2008 原生工具 (事件檢視器、防火牆、群組原則、PowerShell) 足以完成前三階段應急處置,為長期架構升級爭取時間。

copyright © 萬盛學電腦網 all rights reserved