ARP防范技巧
發表時間:2023-07-15 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一、ARP協議工作原理 在TCP/IP協議中, 每一個網絡結點是用IP地址標識的, IP地址是一個邏輯地址。 而在以太網中數據包是靠48位MAC地址(物理地址)尋址的。 因此, 必須建立IP地...
一、ARP協議工作原理
在TCP/IP協議中, 每一個網絡結點是用IP地址標識的, IP地址是一個邏輯地址。 而在以太網中數據包是靠48位MAC地址(物理地址)尋址的。 因此, 必須建立IP地址與MAC地址之間的對應(映射)關系, ARP協議就是為完成這個工作而設計的。
TCP/IP協議棧維護著一個ARP cache表, 在構造網絡數據包時, 首先從ARP表中找目標IP對應的MAC地址, 如果找不到, 就發一個ARP request廣播包, 請求具有該IP地址的主機報告它的MAC地址, 當收到目標IP所有者的ARP reply后, 更新ARP cache.ARP cache有老化機制。
二、ARP協議的缺陷
ARP協議是建立在信任局域網內所有結點的基礎上的, 它很高效, 但卻不安全。 它是無狀態的協議, 不會檢查自己是否發過請求包, 也不管(其實也不知道)是否是合法的應答, 只要收到目標MAC是自己的ARP reply包或arp廣播包(包括ARP request和ARP reply), 都會接受并緩存。 這就為ARP欺騙提供了可能, 惡意節點可以發布虛假的ARP報文從而影響網內結點的通信, 甚至可以做“中間人”。
三、常見ARP欺騙形式
1、假冒ARP reply包(單播)
XXX, I have IP YYY and my MAC is ZZZ!
2、假冒ARP reply包(廣播)
Hello everyone! I have IP YYY and my MAC is ZZZ!
向所有人散布虛假的IP/MAC
3、假冒ARP request(廣播)
I have IP XXX and my MAC is YYY.
Who has IP ZZZ? tell me please!
表面為找IP ZZZ的MAC, 實際是廣播虛假的IP、MAC映射(XXX, YYY)
4、假冒ARP request(單播)
已知IP ZZZ的MAC
Hello IP ZZZ! I have IP XXX and my MAC is YYY.
5、假冒中間人
欺騙主機(MAC為MMM)上啟用包轉發
向主機AAA發假冒ARP Reply:
AAA, I have IP BBB and my MAC is MMM,
向主機BBB發假冒ARP Reply:
BBB, I have IP AAA and my MAC is MMM
由于ARP Cache的老化機制, 有時還需要做周期性連續欺騙。 四、ARP欺騙的防范
1、運營商可采用Super VLAN或PVLAN技術
所謂Super VLAN也叫VLAN聚合, 工具下載:www.arpun.com 這種技術在同一個子網中化出多個Sub VLAN, 而將整個IP子網指定為一個VLAN聚合(Super VLAN), 所有的Sub VLAN都使用Super VLAN的默認網關IP地址, 不同的Sub VLAN仍保留各自獨立的廣播域。 子網中的所有主機只能與自己的默認網關通信。 如果將交換機或IP DSLAM設備的每個端口化為一個Sub VLAN, 則實現了所有端口的隔離, 也就避免了ARP欺騙。
PVLAN即私有VLAN(Private VLAN) , PVLAN采用兩層VLAN隔離技術, 只有上層VLAN全局可見, 下層VLAN相互隔離。 如果將交換機或IP DSLAM設備的每個端口化為一個(下層)VLAN, 則實現了所有端口的隔離。
PVLAN和SuperVLAN技術都可以實現端口隔離, 但實現方式、出發點不同。 PVLAN是為了節省VLAN, 而SuperVlan的初衷是節省IP地址。
2、單位局域網可采用IP與MAC綁定
在PC上IP+MAC綁, 網絡設備上IP+MAC+端口綁。 但不幸的是Win 98/me、未打arp補丁的win 2000/xp sp1(現在大多都已經打過了)等系統 使用arp -s所設置的靜態ARP項還是會被ARP欺騙所改變。
如果網絡設備上只做IP+MAC綁定, 其實也是不安全的, 假如同一二層下的某臺機器發偽造的arp reply(源ip和源mac都填欲攻擊的那臺機子的)給網關, 還是會造成網關把流量送到欺騙者所連的那個(物理)端口從而造成網絡不通。
對于采用了大量傻瓜交換機的局域網, 用戶自己可以采取支持arp過濾的防火墻等方法。 推薦Look ‘n’Stop防火墻, 支持arp協議規則自定義。
最后就是使用ARPGuard啦(才拉到正題上), 但它只是保護主機和網關間的通訊。
五、ARPGuard的原理
ARPGuard可以保護主機和網關的通訊不受ARP欺騙的影響。
1、第一次運行(或檢測到網關IP改變)時獲取網關對應的MAC地址, 將網卡信息、網關IP、網關MAC等信息保存到配置文件中, 其他時候直接使用配置文件。
2、移去原默認路由(當前網卡的)
3、產生一個隨機IP, 將它添加成默認網關。
4、默認網關IP 和網關的MAC綁定(使用DeleteIpNetEntry和CreateIpNetEntry修改ARP Cache表項)
5、周期性檢測ARP Cache中原默認網關(不是隨機IP那個) 網關的MAC在ARP Cache的值是否被改寫, 若被改寫就報警。
6、針對有些攻擊程序只給網關設備(如路由器或三層交換機)發欺騙包的情況。 由于此時本機ARP Cache中網關MAC并未被改變, 因此只有主動防護, 即默認每秒發10個ARP reply包來維持網關設備的ARP Cache(可選)
7、程序結束時恢復默認網關和路由。
值得說明的是程序中限定了發包間隔不低于100ms, 主要是怕過量的包對網絡設備造成負擔。 如果你遭受的攻擊太猛烈, 你也可以去掉這個限制, 設定一個更小的數值, 保證你的通訊正常。
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。