防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。
首先,你要知道,如果一个错误的记录被插入ARP或者IProute表,可以用两种方式来删除。
a.使用arp–dhost_entry
b.自动过期,由系统删除
这样,可以采用以下的一些方法:
1).减少过期时间
#ndd–set/dev/arparp_cleanup_interval60000
#ndd-set/dev/ipip_ire_flush_interval60000
60000=60000毫秒默认是300000
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。
2).建立静态ARP表
这是一种很有效的方法,而且对系统影响不大。缺点是破坏了动态ARP协议。可以建立如下的文件。
test.nsfocus.com08:00:20:ba:a1:f2
user.nsfocus.com08:00:20:ee:de:1f
使用arp–ffilename加载进去,这样的ARP映射将不会过期和被新的ARP数据刷新,除非使用arp–d才能删除。但是一旦合法主机的网卡硬件地址改变,就必须手工刷新这个arp文件。这个方法,不适合于经常变动的网络环境。
3).禁止ARP
可以通过ifconfiginterface–arp完全禁止ARP,这样,网卡不会发送ARP和接受ARP包。但是使用前提是使用静态的ARP表,如果不在apr表中的计算机,将不能通信。这个方法不适用与大多数网络环境,因为这增加了网络管理的成本。但是对小规模的安全网络来说,还是有效和可行的。