qdxinghq 2010-06-12
ARP协议欺骗一直是我们网络中的大敌。很多网络管理员的必修课都是跟这个家伙打交道。但是,如何有效防范它的欺骗和攻击呢?今天我们就简单为大家介绍一下这方面的内容。
ARP协议欺骗的防范
1、运营商可采用Super VLAN或PVLAN技术
所谓Super VLAN也叫VLAN聚合,这种技术在同一个子网中化出多个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(可选)