Gentoo下的ARP防御

Posted by Elton's Blog on July 17, 2009

arp问题由来

arp是困扰很多人的问题, 利用arp协议的漏洞,别人可以很容易的在你的页面上挂上木马。简单的说,arp攻击就是利用arp自身的漏洞,欺骗你的机器访问虚假的网关,在那个虚假的网关上被植入木马代码的行为。 前两天Pett留言说他访问我的博客发现有病毒,虽然我没能重现他所反应的问题。 但是我想八九不离十应该是机房局域网中的arp攻击所致。

arp问题解决方案

解决arp问题目前比较常见的做法就是双向绑定你服务器的网卡和机房交换机的网卡。 跟机房联系过绑定网卡的事情,居然说要收费,NND基本的服务都要收费。 没办法,我先自己绑定机房交换机的网卡吧。 可以在一定程度避免收到arp的影响。 假设机房网关的ip是192.168.1.1

# arp
Address         HWtype  HWaddress           Flags Mask   Iface
192.168.1.1   ether   00:12:f2:09:17:20   C                 eth0

可以看到,返回了机房网关的ip地址和mac地址。 C表示arp对这些信息进行了缓存。 如果发现可疑的设备可以使用arp -d来删除它。

绑定网关mac地址

echo "192.168.1.1 00:12:f2:09:17:20">/etc/macbind
arp -f /etc/macbind

执行好上面的命令后,在使用arp命令查看的时候,你会发现如下信息:

# arp
Address        HWtype  HWaddress           Flags Mask Iface
192.168.1.1  ether   00:12:f2:09:17:20   CM            eth0

这回多了个M,表示已经静态化mac地址绑定了。 这样就完成了你的服务器到机房网关的单项mac绑定。