萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

局域網 ARP 欺騙防範實戰:DHCP 綁定、靜態 ARP、MAC 數據庫、網關靜態路由、異常流量審計

ARP 欺騙利用協議無認證、信任首次應答缺陷,攻擊者發送偽造 ARP 回應污染受害者緩存,導致IP/MAC 衝突彈窗、網關流量劫持、中間人攻擊、全網癱瘓。本文提出「事前綁定、事中檢測、事後溯源」三階段防禦體系,結合 Linux 網關實戰命令,構建高可用防 ARP 攻擊架構。

一、攻擊原理回顧 (關鍵證據鏈)

  1. 正常:A 需訪問 C → ARP Request「誰是 C IP?」→ C 回應「我是 C,MAC=CC:CC:CC:CC:CC:CC」→ A 緩存
  2. 攻擊:B 持續發送偽造 ARP Reply「我是 C IP,MAC=DD:DD:DD:DD:DD:DD」→ A 緩存被覆蓋
  3. 結果:A 發往 C 的幀發給 B/黑洞 → 通信中斷
  4. 關鍵證據:以太網幀頭 源 MAC = B 的真實 MAC,與 ARP 負載中偽造的發送者 MAC 不一致 → 幀頭與負載不匹配即為偽造

二、三階段防禦體系

階段 1:事前綁定 — 讓偽造無處著陸

  1. DHCP 服務器上綁定 IP-MAC:每張網卡固定分配唯一 IP,拒絕陌生 MAC 獲取 IP
    # dhcpd.conf 片段\nhost pc-01 { hardware ethernet 00:11:22:33:44:55; fixed-address 192.168.10.10; }
  2. 建立全網 MAC 數據庫:IP、MAC、物理位置(機房/樓層/工位)、歸屬人、設備型號 → CMDB 入庫
  3. 網關/核心交換機配置靜態 ARP / 靜態鄰居表:
    Linux: arp -f /etc/ethers (文件格式: 192.168.2.32 08:00:4E:B0:24:47)
    Cisco: arp 192.168.10.10 0011.2233.4455 ARPA
    H3C: arp static 192.168.10.10 0011-2233-4455 vlan 10
  4. 關閉網關 ARP 動態學習:
    Linux: echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore (配合 arp_filter/arp_announce)
    Cisco: no ip arp inspection trust (配合 DAI)

階段 2:事中檢測 — 秒級發現異常

檢測點技術手段告警閾值示例
網關/核心交換機動態 ARP 檢測 (DAI) + DHCP Snooping 綁定表單位時間 ARP 速率 > 30pps/端口 → 錯誤禁用/告警
交換機端口Port Security 限制 MAC 數量 + 靜態綁定學習到非授權 MAC → 關閉端口/發送 Trap
主機端ARP 防火牆 (360/AntiARP/Comodo) / 內核模塊 arpwatch檢測到網關 MAC 變更/衝突 → 彈窗/日志/自動恢復靜態綁定
流量鏡像/NDR捕獲 ARP 廣播風暴 / 幀頭源 MAC 與負載發送者 MAC 不符流量分析平台規則匹配告警

階段 3:事後溯源 — 人贓俱獲

  1. 核心交換機 show ip arp / show mac address-table 定位攻擊者真實 MAC/端口
  2. 配線架跳線圖追蹤到物理工位/機房機位
  3. 現場取證:進程/網絡連接/計劃任務/啟動項/木馬樣本
  4. 清理受害主機 ARP 緩存:arp -d * (Win) / ip neigh flush all (Linux)
  5. 納入資產管理/准入認證 (802.1X/Portal) 防止非授權設備入網

三、Linux 網關一鍵加固腳本範例

#!/bin/bash
# 生成 /etc/ethers 從 CMDB 導出
# 格式: IP MAC
arp -f /etc/ethers
# 關閉動態 ARP 學習 (需內核支持)
sysctl -w net.ipv4.conf.all.arp_ignore=1
sysctl -w net.ipv4.conf.all.arp_announce=2
sysctl -w net.ipv4.conf.all.arp_filter=1
# 持久化
echo 'net.ipv4.conf.all.arp_ignore=1' >> /etc/sysctl.conf
echo 'net.ipv4.conf.all.arp_announce=2' >> /etc/sysctl.conf
echo 'net.ipv4.conf.all.arp_filter=1' >> /etc/sysctl.conf

四、給網管的「防 ARP 清單」

  • [ ] 全網設備 MAC 入庫、IP 固定分配 (DHCP 靜態映射/手工靜態)
  • [ ] 核心/聚合交換機啟用 DAI + DHCP Snooping + Port Security
  • [ ] 邊界/網關配置靜態 ARP/鄰居表,關閉動態學習
  • [ ] 關鍵服務器/管理工作站部署主機端 ARP 防火牆
  • [ ] 部署流量鏡像/NDR 覆蓋核心鏈路,配置 ARP 異常告警規則
  • [ ] 制定 ARP 攻擊應急預案:隔離 → 定位 → 取證 → 清理 → 加固 → 複盤
  • [ ] 定期滲透測試/紅藍對抗驗證防禦有效性
copyright © 萬盛學電腦網 all rights reserved