如何判断自己是被arp攻击挂了木马呢?除了访问html查看源码可以知道外,我们在freebsd的日志文件(/var/log/messages)中可以查看到如下信息
May 14 11:08:01 www kernel: arp: 230.222.112.5 moved from 00:11:43:d3:d3:62 to 00:14:1b:df:a6:00 on em0
May 14 11:08:02 www kernel: arp: 230.222.112.5 moved from 00:14:1b:df:a6:00 to 00:11:43:d3:d3:62 on em0
大概的意思就是说网关230.222.112.5的mac地址从00:14:1b:df:a6:00被改变到了00:11:43:d3:d3:629(我这里可能表达的不是很正确)
运行 arp -a,我们可以看到如下信息:
? (230.222.112.5) at 00:11:43:d3:d3:62 on em0 [ethernet]
? (230.222.112.22) at 00:0e:a6:7b:90:62 on em0 permanent [ethernet]
? (230.222.112.5) at 00:11:43:d3:d3:62 on em0 [ethernet]
而在没被arp攻击之前,运行arp -a,我们看的是如下的正确信息:
? (230.222.112.5) at 00:14:1b:df:a6:00 on em0 [ethernet]
? (230.222.112.22) at 00:0e:a6:7b:90:62 on em0 permanent [ethernet]
如果没有猜错,就是(230.222.112.35) at 00:11:43:d3:d3:62 这台机器中了毒,向机房内所有的机器发动了arp攻击。现在我们要做的工作就是使arp信息回到正确的网关IP和MAC信息上来。
# ee /etc/ipmac
加下下面这句话后(真实的网关IP和MAC地址,格式是这样 192.168.1.1 00:00:00:00:00,ip和mac根据你的需要定义),保存退出
230.222.112.5 00:14:1b:df:a6:00
然后运行一下:
# arp -f /etc/ipmac
这时再查看arp -a,就可以看到网关的 ip和mac信息回到正确的上来了。
这个只是一个被动的消极防守办法,因为病毒根源的服务器还没有被清除,还是会继续发出arp欺骗攻击,因此我们需要每隔一段时间就运行一次arp -f 来纠正。方法如下:
# ee /var/cron/tabs/username
加入如下的一句话,意思是每隔一分钟运行一次,这个时间间隔可以根据你服务器受到的arp攻击频度调整,其实五分钟一次也行。
*/1 * * * * root /usr/sbin/arp -f /etc/ipmac
好了。暂时是安全了,不过这也是权宜之计,最本的还是打电话给机房,查出中毒的机器,拔掉他的网线,这下就安静了。
本人水平有限,难免有错误的地方,请谅解啦。