linux防火墙如何防御ARP攻击?

linux防火墙如何防御ARP攻击?,第1张

windows下放arp攻击可以用金山ARP防火墙,把网关ip和MAC填上,然后选项里把安全模式的钩勾上就基本没什么问题。Linux没找到这么现成的东西,baidu google上找了一些方法,都自己试过一遍,不是非常管用。

进行arp攻击要做两件事情:

1、欺骗目标机器,攻击机器A告诉目标机器B:我是网关!

2、欺骗网关,攻击机器A告诉网关:我是B!

也就是A进行双向欺骗。

这样做以后目标机器B发给网关的数据包都让攻击机器A给没收了,没有发给网关,所以B就上不了网了。要让B能上网,A需要将从B收到的包转发给网关。(有时候开P2P终结这之类的软件的时候发现别人上不了网了,有时候是因为自己有一个NB的防火墙,有时侯是其他原因,从被控制的机器上发过来的包没有能转发给网关,所以。。。)

我在网上找了一些关于Linux怎么防arp攻击的文章,基本上有这么几种做法。

1、绑定IP-MAC。通过arp -s 或者 arp -f。我就咬定哪个是网关了,你们谁说的话我都不信!

但是有个缺点,必须双向绑定IP-MAC,如果你无法控制路由器,不能在网关那里设置静态IP,这个方法就无效了。

2、既然控制不了网关,我只能告诉网关哪个才是真正的我了。向网关发送自己的IP和MAC。也就是告诉网关:我才是XXX。

(1)用arping,或者arpspoof(arpsniffer)。

命令:arping -U -I 网卡接口 -s 源IP 目标IP

由于命令里面没有指定网关的MAC,所以形同虚设,效果不好。

(2)用arpoison或者ARPSender,可以指定MAC,效果算是比较好,但有时候还是不行。

命令:arpoison -i 网卡接口 -d 网关IP -s 我的IP -t 网关MAC -r 我的MAC

参考了这篇文章: http://hi.baidu.com/yk103/blog/item/f39e253f9d6aeeed55e72361.html

我用Wireshark看了一下,发现虽然我指定了目标的MAC,但是我的机器依然会间歇性地往攻击机器发送我的IP和MAC,然后攻击机器利用我的MAC进行双向欺骗。

所以我想,有没有什么办法不让除了网关之外的其他人知道我的MAC呢?后来就找到了一下这篇文章。

文章地址: http://www.kanwi.cn/read-348.html

文章内容:(因为原文地址访问非常慢所以在这里贴出来)

Linux/FreeBSD防止ARP欺骗的一种 被动方法(隐藏MAC)

作者: Knight 日期: 2008-11-17 14:15

文章作者:Helvin

信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

首先对国内某些IDC不负责任的行为表示抗议

一般欺骗机器通过ARP Request获得网关的MAC,然后同样方法获得你服务器的MAC进行双向欺骗,然后sniffer密码,挂马之类。

国内几乎所有的IDC都是几百服务器公用一个网关的。然后上百个服务器总有几个有漏洞的,然后你就被ARP欺骗挂马或者抓密码了

下面介绍的是Linux 利用arptables来防止ARP Request获得你的MAC。这样攻击者会认为你的服务器是不存在的(本来很复杂的,需要patch编译内核什么的,上周才发现还有一个 arptables,免编译内核,现在把方法写一下)

Debian/Ubuntu:(runas sudo)CentOS/RHAS 叫arptables_jf

引用:

apt-get install arptables

arptables -A INPUT --src-mac ! 网关MAC -j DROP

arptables -A INPUT -s ! 网关IP -j DROP

如果你有本网的内网机器要互联,可以 引用:

arptables -I INPUT --src-mac 你的其他服务器MAC ACCEPT

如果你的MAC已经被欺骗机器拿到,那只能ifconfig ethx hw ether MAC来修改了

有一定的危险性,请酌情测试,你也可以疯狂刷新网关+本机ARP绑定,看具体需要

还要注意这个时候不要发出ARP Request到除网关以外的其他IP,其后果可能是被其他机器拿到MAC

补充一个FreeBSD下的隐藏MAC的方法

首先sysctl net.link.ether.ipfw=1开启IPFW ether层过滤功能(网桥模式要使用sysctl net.link.ether.bridge_ipfw=1)

然后

ipfw add 00005 allow ip from any to any MAC 网关MAC any /* 打开你到网关的通信 */

ipfw add 00006 allow ip from any to any MAC any 网关MAC /* 打开网关到你的通信 */

/* ........中间你可以添加本网段内需要互联的IP地址MAC双向通信........ */

ipfw add 00010 deny ip from any to any MAC any any /* 关闭所有其他MAC的任何响应 */

如果服务器作为内网网关使用,可以在内网网卡界面

ifconfig em1 -arp /* 关闭ARP响应(假设em0是内网网卡) */

arp -f /etc/arp.list /* 设置静态ARP表 */

以下是ARP(8) 关于arp.list格式的描述,

Cause the file filename to be read and multiple entries to be set

in the ARP tables. Entries in the file should be of the form

hostname ether_addr [temp] [pub]

with argument meanings as given above. Leading whitespace and

empty lines are ignored. A `#' character will mark the rest of

the line as a comment.

我觉得可以把 绑定IP-MAC + arposion + MAC隐藏的方法综合起来

转自 http://hi.baidu.com/aj_shuaikun/blog/item/ab39b3d982a59fe038012fd0.html

sniffer是网络治理的好工具,网络中传输的所有数据包都可以通过sniffer来检测。同样arp欺骗数据包也逃不出sniffer的监测范围。一般来说ARP欺骗数据包没有留下发送虚假信息的主机地址,但是承载这个ARP包的ethernet帧却包含了他的源地址。而且正常情况下ethernet数据帧中,帧头里的MAC源地址/目标地址应该和帧数据包中ARP信息配对,这样的ARP包才算是正确的。假如不正确,肯定是假冒的包,当然假如匹配的话,我们也不能过于放松,一样不能代表是正确的,另外通过检测到的数据包再结合网关这里拥有的本网段所有MAC地址网卡数据库,看看哪个和Mac数据库中数据不匹配,这样就可以找到假冒的ARP数据包,并进一步找到凶手了。关于MAC地址网卡数据库可以在第一次装系统的时候进行记录,将网吧座位号与MAC地址等信息做一个对应表格。查看MAC地址的方法是通过“开始->运行”,进入命令提示窗口,然后输入ipconfig /all。在physical address的右边就是相应网卡的MAC地址。(如图1) 点击查看大图二,DHCP结合静态捆绑法:要想彻底避免ARP欺骗的发生,我们需要让各个计算机的MAC地址与IP地址唯一且相对应。虽然我们可以通过为每台计算机设置IP地址的方法来治理网络,但是碰到那些通过ARP欺骗非法攻击的用户来说,他可以事先自己手动更改IP地址,这样检查起来就更加复杂了,所以说保证每台计算机的MAC地址与IP地址唯一是避免ARP欺骗现象发生的前提。(1)建立DHCP服务器保证MAC地址与IP地址唯一性:首先我们可以在windows 2000 server或其他服务器版 *** 作系统上启用DHCP服务,为网吧建立一个DHCP服务器,一般来说建议在网关上搭建。因为DHCP不占用多少CPU,而且ARP欺骗攻击一般总是先攻击网关,攻击网关的同时由于网关这里有监控程序,所以可以在第一时间发现攻击行为。当然为了减少攻击的发生气率我们也可以把网关地址设置为网段的第二个地址,例如192.168.1.2,把192.168.1.另外所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡,绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。以上这些绑定关系可以通过DHCP的地址池来解决,或者将客户端获得IP等网络参数信息的租约设置为一个非常长的时间,例如一年或者无限时间,这样在此时间段里只要MAC地址不变,客户端获得的IP地址也是不变的。(如图2) (2)建立MAC地址数据库:把网吧内所有网卡的MAC地址记录下来,每个MAC和IP、地理位置统统装入数据库,以便及时查询备案。可以以Excel表格的形式,也可是保存成数据库文件。(3)禁止ARP动态更新:为了防止网关被随意攻击,我们还需要在网关机器上关闭ARP动态刷新功能,这样的话,即使非法用户使用ARP欺骗攻击网关的话,对网关是无效的,从而确保主机安全。在网关上建立静态IP/MAC捆绑的方法如下。第一步:建立/etc/ethers文件,其中包含正确的IP/MAC对应关系,格式为192.168.2.32 08:00:4E:B0:24:47。第二步:然后在/etc/rc.d/rc.local最后添加arp -f生效即可。上面这个禁止ARP动态更新的方法是针对Linux系统而言的。

(4)网关监测:在网关上面使用TCPDUMP程序截取每个ARP程序包,弄一个脚本分析软件分析这些ARP协议。ARP欺骗攻击的包一般有以下两个特点,满足之一就可以视为攻击包报警,第一是以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配。第二是ARP数据包的发送和目标地址不在自己网络网卡MAC数据库内,或者与自己网络MAC数据库MAC/IP不匹配。我们也可以通过脚本分析软件实现自动报警功能,最后查这些数据包(以太网数据包)的源地址就大致知道那台机器在发起攻击了。三,总结:ARP欺骗是目前网络治理,非凡是局域网治理中最让人头疼的攻击,他的攻击技术含量低,随便一个人都可以通过攻击软件来完成ARP欺骗攻击。同时防范ARP欺骗也没有什么非凡有效的方法。目前只能通过被动的亡羊补牢形式的措施了。本文介绍的两个方法都是针对ARP欺骗防范的,希望对读者有所帮助。当然很多网络治理软件开发公司都推出了自己的防范ARP欺骗的产品,这些产品良莠不齐,大家选择时更要仔细。 -资料引用: http://www.knowsky.com/376426.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7406008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存