局域网内防止ARP攻击(绑定的是自己的IP和MAC)
网络病毒之所以能以惊人的速度传播,是因为它们都有极强的利用漏洞攻击网络上其他机器的能力,而局域网ARP漏洞攻击,则是目前暴发流行的各种网络病毒最常用的招数,包括目前正在大规模暴发的“机器狗”,也正是利用ARP漏洞在局域网中传染开去。
ARP(Address Resolution Protocol)又被称为地址转换协议,是用来实现 IP 地址与本地网络认识的物理地址(以太网 MAC 地址)之间的映射。在以太网络中有一张表格,通常称为 ARP 缓冲(ARP cache),来维持每个 MAC 地址与其相应的 IP 地址之间的对应关系。ARP 提供一种形成该对应关系的规则以及提供双向地址转换。ARP协议很像一个思想不坚定容易被骗的人,就像一个快递员,要送信给"张三",只在马路上问"张三住那儿?",并投递给最近和他说"我就是!"或"张三住那间!",来决定如何投递一样。在一个人人诚实的地方,快递员的工作还是能正常进行;但若是旁人看快递物品值钱,想要欺骗取得的话,快递员这种工作方式就会带来混乱了。
常见ARP攻击对象有两种,一是网络网关,二是局域网上的计算机。攻击网络网关就好比发送错误的地址信息给快递员,让快递员失去正确目标,所有信件无法正常送达;而攻击一般计算机就是直接和人谎称自己就是快递员,让用户把需要传送的物品传送给发动攻击的计算机。由于一般的计算机及路由器的ARP协议的意志都不坚定,因此只要有恶意计算机在局域网持续发出错误的ARP讯息,就会让计算机及路由器信以为真,作出错误的传送网络包动作。一般的ARP欺骗攻击就是以这样的方式,造成网络运作不正常,达到盗取用户密码或破坏网络运作的目的。而要从根本上彻底解决这种欺骗攻击,唯一的办法就是对局域网中的每台机器包括网关在内进行ARP地址双向绑定。
首先说网关的绑定,这个比较简单,一般的网关路由器或者代理软件均有ARP绑定功能,以笔者使用的路由器为例,绑定的界面简单直观
选择静态ARP绑定设置后出现表单
在此填入需要绑定的IP地址和MAC地址,然后保存即可。
若需要对成批的地址进行绑定,也可以选择ARP映射表,会列出局域网中所有正在使用的机器的IP和MAC,方便我们成批的添加绑定
点取“全部导入”,然后切换回“静态地址绑定”页面,将要绑定的地址勾中即可
在此特别提请注意的是:网关自己的IP和MAC地址也需要在这里做好绑定。
至此网关部分的ARP绑定工作已经完成,然而只在网关做绑定,防护是不完整的,我们还需要对局域网中的每一台客户机进行单独的绑定。
客户机的绑定工作分成两部分,一部分是绑定网关,另一部分是绑定自己。
绑定网关的操作比较简单,以WINXP为例,绑定的命令是:
Arp –s (ip) (mac)
比如:arp –s 192.168.0.1 00-14-2A-5F-99-E1
192.168.0.1 为网关路由器的IP地址,00-14-2A-5F-99-E1 为路由器的MAC地址。
建议将这条命令做成批处理放在启动组里,方便系统启动时自动运行。
接下来需要绑定的是客户机自己的IP和MAC,从原理上讲和绑定路由器是一样的操作,不过考虑到局域网中的客户机一般很多,要一台一台的查IP和MAC工作量很繁重,所以我们利用一个批处理来自动完成对每一台客户机的绑定:
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
arp -s %IP% %Mac%
del ipaddr.txt
del ipconfig.txt
del phyaddr.txt
exit
同样也建议将这个批处理放在系统的启动组里,方便系统启动时自动运行。
接下来可以检查下我们的工作成果,在CMD命令行下打 arp –a ,提示如下:
Internet Address Physical Address Type
192.168.0.1 00-14-2A-5F-99-E1 static
192.168.0.9 00-0a-eb-4e-6f-67 static
绑定状态为“STATIC”说明绑定成功为静态,至此大功告成!
其实网络病毒并不可怕,只要我们做好防护工作,打好系统补丁,即使有一天“狼”真的来了,我们也能将它拒之门外,确保一方网络平安。