服务器的ARP欺骗攻击的防范

Posted by Azrael on June 14, 2017

ARP欺骗原理:

在局域网中,通信前必须通过 ARP协议 来完成 IP地址转换为第二层物理地址(即MAC地址)

ARP协议对网络安全具有重要的意义,但是当初ARP方式的设计没有考虑到过多的安全问题,给ARP留下很多的隐患,ARP欺骗就是其中一个例子。

而ARP欺骗攻击就是利用该协议漏洞,通过伪造MAC地址实现ARP欺骗的攻击技术。

在同一局域网内的电脑都是通过 MAC地址 进行通讯的。方法为,PC和另一台设备通讯,PC会先寻找对方的IP地址,然后在通过 ARP表(ARP表里面有所以可以通讯IP和IP所对应的MAC地址)调出相应的MAC地址。通过MAC地址与对方通讯。也就是说在内网中各设备互相寻找和用来通讯的地址是MAC地址,而不是IP地址。

网内的任何一台机器都可以轻松的发送ARP广播,来宣称自己的IP和自己的MAC。这样收到的机器都会在自己的ARP表格中建立一个他的ARP项,记录他的IP和MAC地址。

如果这个广播是错误的其他机器也会接受。有了这个方法欺骗者只需要做一个软件,就可以在局域网内进行ARP欺骗攻击了。

ARP的发现:

ARP的通病就是掉线,在掉线的基础上可以通过以下几种方式判别:

1、一般情况下不需要处理1分钟之内就可以回复正常上网。

因为ARP欺骗是由时限,过了期限就会自动的回复正常。而且现在大多数路由器都会在很短时间内不停广播自己的正确ARP,使受骗的机器回复正常。

但是如果出现攻击性ARP欺骗(其实就是时间很短的量很大的欺骗ARP,1秒有个几百上千的),他是不断的通过非常大量ARP欺骗来阻止内网机器上网,即使路由器不断广播正确的包也会被他大量的错误信息给淹没。

2、通过查看ARP表

打开被骗机器的DOS界面,输入 ARP -A 命令会看到相关的ARP表,通过看到的网关的MAC地址可以去判别是否出现ARP欺骗。

但是由于时限性,这个工作必须在机器回复正常之前完成。如果出现欺骗问题,ARP表里面会出现错误的网关MAC地址,和真实的网关MAC一对黑白立分。

防范ARP欺骗攻击方法

目前发现可以使用 静态地址法使用专用软件 的方法来防范ARP欺骗攻击。

一、静态地址法

静态地址法指的是,在本地服务器上,将路由器的MAC地址设置为静态的方式,来阻止别人对我的ARP攻击,如果你也越到了类似的ARP欺骗攻击,也可以参考这个方法进行设置。

首先,找到路由器真实的MAC地址

在没有被攻击的条件下,输入命令 arp -a 网关的IP地址,就可以找到,其中 Physical Address 里就是 网关MAC地址,显示类似 00-07-e9-0a-77-93,其类型 Type 通常为 动态dynamic 。我们的目的是要将其设置为 静态static

接着, 绑定网关MAC地址

使用 arp -d 命令删除目前的arp列表,再使用

arp -s 网关IP地址 网关MAC地址

将其设置为 静态static

这时候,系统的ARP就会变成静态了,但是如果服务器重新启动,这些设置就消失了。

最后,设定每次开机自动绑定

编辑一个BAT文件,内容为以上的 arp -s 的内容,将其加到“启动”菜单中。

然后修改 Windows 注册表使得 Windows 可以自动登录,这样每次启动都会自动设置静态的ARP了。

二、使用专用软件

如果感觉操作起来麻烦,或者使用上面的方法依旧无法阻止ARP攻击,那么可以使用第二种方法,使用专门的ARP防火墙软件来阻止别人的ARP攻击。

目前主要的ARP防火墙产品有免费的奇虎360antiarp,其他大多都是收费的ARP防火墙。

根据我的使用感受,有一个叫antiarp的商用软件功能还是比较丰富的,软件价格是每台服务器199元。在服务器上安装这个软件之后,除了可以自动预防ARP攻击之外,还可以使用这个ARP防火墙软件查找出ARP攻击者的IP地址。

知道了攻击者的IP地址后,大家就可以将其截图后发给IDC机房,要求机房关闭那台ARP服务器,通常情况下机房会关闭病毒服务器,如果机房不关闭服务器,那就去公安局报案,指控电信机房散布病毒。