风云防火墙的ARP主动防御是怎么回事?
一、什么是ARP协议
[编辑本段]
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
二、ARP协议的工作原理
[编辑本段]
在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。
附表
我们以主机A(19216815)向主机B(19216811)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FFFFFFFFFFFF”,这表示向同一网段内的所有主机发出这样的询问:“19216811的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“19216811的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
RARP的工作原理:
1 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
2 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
3 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
4 如果不存在,RARP服务器对此不做任何的响应;
5 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
三ARP和RARP报头结构
[编辑本段]
ARP和RARP使用相同的报头结构,如图所示。
硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;
协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);
硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;
操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;
发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;
发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;
发送方IP(0-1字节):源主机硬件地址的前2个字节;
发送方IP(2-3字节):源主机硬件地址的后2个字节;
目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;
目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;
目的IP(0-3字节):目的主机的IP地址。
四、如何查看ARP缓存表
[编辑本段]
ARP缓存表是可以查看的,也可以添加和修改。在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,如附图所示。
用“arp -d”命令可以删除ARP表中所有的内容;
用“arp -d +空格+ <指定ip地址>” 可以删除指定ip所在行的内容
用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应,类型为static(静态),此项存在硬盘中,而不是缓存表,计算机重新启动后仍然存在,且遵循静态优于动态的原则,所以这个设置不对,可能导致无法上网
五、ARP欺骗
[编辑本段]
其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗攻击已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。
从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。有些网管员对此不甚了解,出现故障时,认为PC没有问题,交换机没掉线的“本事”,电信也不承认宽带故障。而且如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。
作为网吧路由器的厂家,对防范ARP欺骗不得已做了不少份内、份外的工作。一、在宽带路由器中把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。二、力劝网管员在内网所有PC上设置网关的静态ARP信息,这叫PC机IP-MAC绑定。一般厂家要求两个工作都要做,称其为IP-MAC双向绑定。
1、P2P终结者软件的原理:通过截获路由器数据包,修改IP以及MAC缓存,从而达到控制网速的目的,简单一点去理解的话,P2P终结者就是通过不停的“攻击”路由器,从而达到控制网速的目的,也正是因为P2P终结者的这种攻击,导致整个网络的负荷严重增加。而如果你手动绑定IP和MAC地址,软件便无法再利用修改IP及MAC缓存达到控制网速的目的,所以ARP防火墙不会报警。
2、p2p终结者使用的前提是:对方主机没有开启ARP防火墙,但实际上,目前任何一款桌面软件包括360卫士,金山卫士等,默认的都是开启了ARP防火墙。只要对方开启了ARP防火墙,P2P终结者就无法再进行控制,相反只会增加整个局域网的负荷。所以就目前而言,想通过P2P终结者控制对方主机的网速基本上是不可能。
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://hibaiducom/yk103/blog/item/f39e253f9d6aeeed55e72361html
我用Wireshark看了一下,发现虽然我指定了目标的MAC,但是我的机器依然会间歇性地往攻击机器发送我的IP和MAC,然后攻击机器利用我的MAC进行双向欺骗。
所以我想,有没有什么办法不让除了网关之外的其他人知道我的MAC呢?后来就找到了一下这篇文章。
文章地址: http://wwwkanwicn/read-348html
文章内容:(因为原文地址访问非常慢所以在这里贴出来)
Linux/FreeBSD防止ARP欺骗的一种 被动方法(隐藏MAC)
作者: Knight 日期: 2008-11-17 14:15
文章作者:Helvin
信息来源:邪恶八进制信息安全团队(wwweviloctalcom)
首先对国内某些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 netlinketheripfw=1开启IPFW ether层过滤功能(网桥模式要使用sysctl netlinketherbridge_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/arplist / 设置静态ARP表 /
以下是ARP(8) 关于arplist格式的描述,
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://hibaiducom/aj_shuaikun/blog/item/ab39b3d982a59fe038012fd0html
摘要:服务器管理软件是一套控制服务器工作运行、处理硬件、操作系统及应用软件等不同层级的软件管理及升级和系统的资源管理、性能维护和监控配置的程序。所有这些工具与管理软件平滑集成,提供兼容的服务以及单点管理功能,同时发挥管理软件的监控、日程安排、告警、事件管理和群组管理功能。下面就来详细了解服务器管理工具有哪些吧!怎么打开服务器管理器打开服务管理器的方法有几种,具体如下:
方法一:从运行窗口打开
1、快捷键“Win+R”,弹出运行窗口,
2、在运行窗口的打开输入框里面输入“servicesmsc”,
3、点击下方“确定”按钮,或者按回车键,就会打开服务管理器。
方法二:从计算机管理器进入
1、快捷键按“Win+X”,弹出系统快捷菜单,点击“计算机管理”,
2、或者直接在计算机的此电脑右键,弹出菜单中点击“管理”,
3、以上两步任选一部,最终打开的都是计算机管理,打开其里面的“服务和应用程序”,在服务和应用程序里面点击“服务”,即打开服务管理器。
方法三:双击文件打开
我的电脑(计算机)->在C:WindowsSystem32文件夹下->找到servicesmsc文件->双击打开即可。
服务器端口如何管理一、通过windows防火墙设置1、在电脑桌面依次点击开始—控制面板。
2、在控制面板右上角找到查看方式,点击下拉箭头,选中大图标,然后在找到并点击windows防火墙。
3、在打开的windows防火墙窗口左侧找到并点击高级设置。
4、在高级安全windows防火墙窗口左侧选中入站规则,然后在最右侧窗口中找到并点击新建规则。
5、在新建入站规则向导下方选中端口,然后点击下一步。
6、在这里请根据需要开放的端口所属协议选中TCP或者UDP,然后选中特定本地端口,在其后输入需要开放的端口号,最后点击下一步。
7、由于这里我们是允许这个端口使用,所以选中允许连接,如果是拒绝这个端口使用,就选中阻止连接,然后点击下一步。
8、这里有三种应用规则,如果是内网外网域都允许使用该端口,那么就全选,然后点击下一步。
9、名称随便填写,最好是填写应用该端口的服务或者应用,下面描述请根据具体的应用环境填写,点击完成即可。通过这个操作就可以在服务器中对各个端口进行开放和阻止的管理。
二、通过服务器端口管理软件管理百度大势至服务器文件备份系统,在大势至官网下载,下载完成后解压,在解压的文件中找到大势至服务器文件备份系统exe,双击开始安装。
待安装完成后依次点击开始—所有程序—大势至服务器文件备份系统—大势至服务器文件备份系统快捷方式,在弹出的登录窗口中根据提示输入初始账号和密码,点击确定登入。
在主界面上方找到并点击安全配置选项卡。
在打开的安全配置窗口下方找到系统安全管理,点击其下的系统端口管理。
规则名称随便填写,访问端口填写允许访问的端口,访问协议选中需要允许的端口所属协议(如果想同时允许UDP和TCP的端口,则需要相同的方式设置2次),然后点击添加例外即可。
怎么管理远程服务器如果是自己购买服务器的企业一般都会选择将服务器托管在机房,然而服务器平时都需要进行管理与维护,如果我们都是跑到机房进行管理与维护那就太麻烦了,这时候我们可以选择远程管理服务器,而实现远程桌面控制的软件和方法有很多可以使用pcanywhere等软件来实现也可以使用win2003自带的“远程桌面”来实现。下面我们看看具体方法:
远程桌面使用方法远程桌面控制是一种远程控制管理软件可以在客户端利用其来遥控和管理远程的电脑而且简单方便。
1在控制面板中打开“系统”或者右键点“我的电脑”选择“属性”。
2在“远程”选项卡上选中“允许用户远程连接到这台计算机”复选框即可。
3确保您有适当的权限远程地连接您的计算机并单击"确定"。在您的计算机上您必须是管理员或者RemoteDesktopUsers组的成员。(注意:必须作为管理员或Administrators组的成员登录才能启用远程桌面功能)
4本机主控设置:开始-程序-附件-通讯-远程桌面连接输入您服务器的IP地址即可连接上您的服务器。
pcanywhere使用方法pcanywhere在实际使用上是非常简单和方便只要下载了此工具软件双击安装并以下一步下一步就可以完成整个安装过程;安装完成后提供两选择一个是主控端用来控制别的主机二是被控端用来提供给别人控制你的电脑;
1、选择主控端在配置里加入对方电脑的域名或者IP地址然后打开些主控端就会自动地方寻找此主机并让你控制此电脑;
2、选择被控端此电脑将会以服务端方式等待对方主机对本电脑的控制。
服务器管理工具有哪些1、Arp防火墙
ArpFirewall-现在托管服务器必须安装的个软件是Arp防火墙,没办法啊,中国这网络环境,不安装Arp防火墙等着被人挂木马了。现在免费的Arp防火墙主要有两款,一个是奇虎的360Arp防火墙,一个是金山Arp防火墙。
2、远程桌面连接
RemoteDesktop-远程桌面连接(以前称为“终端服务客户端”)主要是用于对远程托管的服务器进行远程管理,使用非常方便,如同操作本地电脑一样方便。远程服务器端必须要先安装“远程桌面连接”的服务器端程序,然后客户端可以通过远程桌面来管理服务器了。
3、FTP服务和客户端
FileZilla-将客户端的文件上传到服务器上,最常用的软件是FTP了,微软的IIS自带了一个简单的FTP服务器管理软件,如果觉得不好用,服务器上也可以安装免费的FileZilla服务器管理软件,客户端可以使用免费的FileZillaClient,支持多线程上传文件。
4、硬件检测
CPU-Z-CPU-Z是一款免费的系统检测工具,可以检测CPU、主板、内存、系统等各种硬件设备的信息。它支持的CPU种类相当全面,软件的启动速度及检测速度都很快。另外,它还能检测主板和内存的相关信息,其中有我们常用的内存双通道检测功能。远程管理服务器的时候,使用这个软件可以对服务器的硬件信息一清二楚。
5、流量监控
DUMeter-DUMeter是一个简单易用的网络流量监视工具,图形化的界面显示非常直观,可以实时监测服务器的上传和下载的网速,同时还有流量统计功能。可以分析出日流量、周流量、月流量等累计统计数据。不过遗憾的是这个软件不是免费的。
6、端口监控
TcpView-TcpViews是一款免费的端口和线程监控工具,可以列出当前所有TCP和UDP端口的进程清单,包括本地和远程地址的TCP连接,其实和系统命令netstat类似,不过是GUI界面的,使用方便,占用资源少,默认字体在中文环境下很小,需要手动修改。在服务器上运行的话,默认刷新时间不要用默认的1秒。
7、进程监控
ProcessExplorer-ProcessExplorer是一款免费的进程监视工具,功能比Windows自带的任务管理器要强大的多,不仅可以监视、暂停、终止进程,还可以查看进程调用的DLL文件,是预防病毒、查杀木马的好帮手。
8、日志分析
WebLogExpert-虽然GoogleAnalytics是一款强大的免费的网站分析服务,但必须加入统计代码才能使用,WebLogExpert则可以直接分析网站的访问日志文件,通过日志文件分析出网站的站点访问者、活动统计、文件访问量、搜索引擎、浏览器、操作系统和错误页面等等众多的统计信息,是网络监测的好助手。这个软件本身不免费,不过其另一个版本WebLogExpertLite是免费的。
9、日志搜索
WinHex-WinHex是一款速度很快的文件编辑器。打开数百兆的大型文件速度飞快,使用WinHex可以轻松打开服务器上的大型日志文件,并对其进行关键字搜索,效果非常好,是我见到的速度的文本编辑搜索软件,总体来说是一款非常不错的16进制编辑器。
10、代码编辑
Notepad++-Notepad++是一个免费开源的源程序代码、HTML网页代码编辑工具,支持多达数十种常见源代码或脚本的语法,包括C,C++,Java,C#,XML,HTML,PHP,Javascript,RCresourcefile,makefile,ASCII,doxygen,inifile,batchfile,ASP,VB/VBS,SQL,Objective-C,CSS,Pascal,Perl,Python,Lua等,功能非常强大。在服务器上安装后可以直接修改网站上的源程序代码。
0条评论