浏览模式: 普通 | 列表

推荐日志 新手看招:网络服务器安全维护技巧

[ 2007-03-25 03:30:21 | 作者: sun ]

这篇文章是本人对平时对服务器网络安全的一些接触而总结下来的一些心得,是一些基本的常识,适合入门级的服务器管护人员阅读,希望不会在老资历的技术员面前见笑。


首先,我们可以分析一下,对网络服务器的恶意网络行为包括两个方面:一是恶意的攻击行为,如拒绝服务攻击,网络病毒等等,这些行为旨在消耗服务器资源,影响服务器的正常运作,甚至服务器所在网络的瘫痪;另外一个就是恶意的入侵行为,这种行为更是会导致服务器敏感信息泄露,入侵者更是可以为所欲为,肆意破坏服务器。所以我们要保证网络服务器的安全可以说就是尽量减少网络服务器受这两种行为的影响。


基于windows做操作系统的服务器在中国市场的份额以及国人对该操作系统的了解程度,我在这里谈谈个人对维护windows网络服务器安全的一些个人意见。


如何避免网络服务器受网上那些恶意的攻击行为。


(一) 构建好你的硬件安全防御系统


选用一套好的安全系统模型。一套完善的安全模型应该包括以下一些必要的组件:防火墙、入侵检测系统、路由系统等。


防火墙在安全系统中扮演一个保安的角色,可以很大程度上保证来自网络的非法访问以及数据流量攻击,如拒绝服务攻击等;入侵检测系统则是扮演一个监视器的角色,监视你的服务器出入口,非常智能地过滤掉那些带有入侵和攻击性质的访问。


(二) 选用英文的操作系统


要知道,windows毕竟美国微软的东西,而微软的东西一向都是以Bug 和 Patch多而著称,中文版的Bug远远要比英文版多,而中文版的补丁向来是比英文版出的晚,也就是说,如果你的服务器上装的是中文版的windows系统,微软漏洞公布之后你还需要等上一段时间才能打好补丁,也许黑客、病毒就利用这段时间入侵了你的系统。

如何防止网络服务器不被黑客入侵:


首先,作为一个黑客崇拜者,我想说一句,世界上没有绝对安全的系统。我们只可以尽量避免被入侵,最大的程度上减少伤亡。


(一) 采用NTFS文件系统格式


大家都知道,我们通常采用的文件系统是FAT或者FAT32,NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS文件系统里你可以为任何一个磁盘分区单独设置访问权限。把你自己的敏感信息和服务信息分别放在不同的磁盘分区。这样即使黑客通过某些方法获得你的服务文件所在磁盘分区的访问权限,还需要想方设法突破系统的安全设置才能进一步访问到保存在其他磁盘上的敏感信息。


(二)做好系统备份


常言道,“有备无患”,虽然谁都不希望系统突然遭到破坏,但是不怕一万,就怕万一,作好服务器系统备份,万一遭破坏的时候也可以及时恢复。


(三)关闭不必要的服务,只开该开的端口


关闭那些不必要开的服务,做好本地管理和组管理。Windows系统有很多默认的服务其实没必要开的,甚至可以说是危险的,比如:默认的共享远程注册表访问(Remote Registry Service),系统很多敏感的信息都是写在注册表里的,如pcanywhere的加密密码等。


关闭那些不必要的端口。一些看似不必要的端口,确可以向黑客透露许多操作系统的敏感信息,如windows 2000 server默认开启的IIS服务就告诉对方你的操作系统是windows 2000。69端口告诉黑客你的操作系统极有可能是linux或者unix系统,因为69是这些操作系统下默认的tftp服务使用的端口。对端口的进一步访问,还可以返回该服务器上软件及其版本的一些信息,这些对黑客的入侵都提供了很大的帮助。此外,开启的端口更有可能成为黑客进入服务器的门户。


总之,做好TCP/IP端口过滤不但有助于防止黑客入侵,而且对防止病毒也有一定的帮助。


(四)软件防火墙、杀毒软件


虽然我们已经有了一套硬件的防御系统,但是“保镖”多几个也不是坏事。



(五)开启你的事件日志


虽然开启日志服务虽然说对阻止黑客的入侵并没有直接的作用,但是通过他记录黑客的行踪,我们可以分析入侵者在我们的系统上到底做过什么手脚,给我们的系统到底造成了哪些破坏及隐患,黑客到底在我们的系统上留了什么样的后门,我们的服务器到底还存在哪些安全漏洞等等。如果你是高手的话,你还可以设置密罐,等待黑客来入侵,在他入侵的时候把他逮个正着。
在Internet大众化及Web技术飞速演变的今天,在线安全所面临的挑战日益严峻。伴随着在线信息和服务的可用性的提升,以及基子Web的攻击和破坏的增长,安全风险达到了前所未有的高度。由于众多安全工作集中在网络本身上面,Web应用程序几乎被遗忘了。也许这是因为应用程序过去常常是在一台计算机上运行的独立程序,如果这台计算机安全的话,那么应用程序就是安全的。如今,情况大不一样了,Web应用程序在多种不同的机器上运行:客户端、Web服务器、数据库服务器和应用服务器。而且,因为他们一般可以让所有的人使用,所以这些应用程序成为了众多攻击活动的后台旁路。

由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。

而且,许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。

其次,许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。Web应用程序攻击包括对应用程序本身的DoS(拒绝服务)攻击、改变网页内容以及盗走企业的关键信息或用户信息等。

总之,Web应用攻击之所以与其他攻击不同,是因为它们很难被发现,而且可能来自任何在线用户,甚至是经过验证的用户。迄今为止,该方面尚未受到重视,因为企业用户主要使用防火墙和入侵检测解决方案来保护其网络的安全,而防火墙和入侵检测解决方案发现不了Web攻击行动。

常见的Web应用安全漏洞

下面将列出一系列通常会出现的安全漏洞,并且简单解释一下这些漏洞是如何产生的。

已知弱点和错误配置

已知弱点包括Web应用使用的操作系统和第三方应用程序中的所有程序错误或者可以被利用的漏洞。这个问题也涉及到错误配置,包含有不安全的默认设置或管理员没有进行安全配置的应用程序。一个很好的例子就是你的Web服务器被配置成可以让任何用户从系统上的任何目录路径通过,这样可能会导致泄露存储在Web服务器上的一些敏感信息,如口令、源代码或客户信息等。

隐藏字段

在许多应用中,隐藏的HTML格式字段被用来保存系统口令或商品价格。尽管其名称如此,但这些字段并不是很隐蔽的,任何在网页上执行“查看源代码”的人都能看见。许多Web应用允许恶意的用户修改HTML源文件中的这些字段,为他们提供了以极小成本或无需成本购买商品的机会。这些攻击行动之所以成功,是因为大多数应用没有对返回网页进行验证;相反,它们认为输入数据和输出数据是一样的。

后门和调试漏洞

开发人员常常建立一些后门并依靠调试来排除应用程序的故障。在开发过程中这样做可以,但这些安全漏洞经常被留在一些放在Internet上的最终应用中。一些常见的后门使用户不用口令就可以登录或者访问允许直接进行应用配置的特殊URL。

跨站点脚本编写

一般来说,跨站点编写脚本是将代码插入由另一个源发送的网页之中的过程。利用跨站点编写脚本的一种方式是通过HTML格式,将信息帖到公告牌上就是跨站点脚本编写的一个很好范例。恶意的用户会在公告牌上帖上包含有恶意的JavaScript代码的信息。当用户查看这个公告牌时,服务器就会发送HTML与这个恶意的用户代码一起显示。客户端的浏览器会执行该代码,因为它认为这是来自Web服务器的有效代码。

参数篡改

参数篡改包括操纵URL字符串,以检索用户以其他方式得不到的信息。访问Web应用的后端数据库是通过常常包含在URL中的SQL调用来进行的。恶意的用户可以操纵SQL代码,以便将来有可能检索一份包含所有用户、口令、信用卡号的清单或者储存在数据库中的任何其他数据。

推荐日志 解决IE被恶意修改方法总结

[ 2007-03-25 03:29:56 | 作者: sun ]
经常听到别人说自己电脑的IE被恶意修改了,我也曾经经常遇到过,做事做的好好,突然蹦出个网页实在是郁闷到极点啊。后来我就在网上乱搜一通,简单总结了下他们的方法特在此版块发给新手门,尤其是玩黑的!

大概有下面几种解决方法吧。

一、修改IE工具栏

在一般情况下,IE首页的修改可以通过IE工具栏里的“工具”-“Internet选项”-“常规”-“主页”功能模块来实现。

在弹出的窗口里,用户只要在“可更改主页”的地址栏中输入自己经常使用的网址然后再点击下面的“使用当前页”按钮就可以将其设为自己的IE首页了;如果是点击了“使用默认页”则一般会使IE首页调整为微软中国公司的主页;至于“使用空白页”选项则是让IE首页显示为“about:blank”字样的空白页,这样便于输入网址。

二、修改注册表

很多情况下,由于受了恶意程序的控制,或中了木马病毒,上面的方法根本不奏效,甚至有时候,“可更改主页”的地址栏都变成了灰色,无法再进行调整;有时候,即使你把网址改回来了,再开启IE浏览器,那个恶意网址又跑回来了。 实在是头大~~如果这样的话,最通常的办法就是修改注册表文件。

我们首先启动Windows的注册表编辑器,具体方法是点击Windows界面左下角的“开始”按钮,再选择“运行”,在弹出的对话框中输入“regedit”就可以进入注册表编辑器了。

IE首页的注册表文件是放在:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page下的,而这个子键的键值就是IE首页的网址。以笔者的电脑为例,键值是http://www.hao123.com,它是可以修改的,用户可以改为自己常用的网址,或是改为“about: blank”,即空白页。这样,你重启IE就可以看到效果了。

如果这种方法也不能奏效,那就是因为一些病毒或是流氓软件在你的电脑里面安装了一个自运行程序,就算你通过修改注册表恢复了IE首页,但是你一重新启动电脑,这个程序就会自动运行再次篡改。

这时候,我们需要对注册表文件进行更多的修改,运行“regedit”,然后依次展开HKEY_LOCAL_
MACHINE\Software\Microsoft\Windows\Current Version\Run主键,然后将其下的不知明的启动子键值删除,然后对应删除其不知明的自运行程序文件,最后从IE选项中重新设置起始页就好了。

除了上面的情况外,有些IE被改了首页后,即使设置了“使用默认页”仍然无效,这是因为IE起始页的默认页也被篡改啦。对于这种情况,我们同样可以通过修改注册表来解决,运行“regedit”展开:HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main\
Default_Page_URL子键,然后将“Default_Page_UR”子键的键值中的那些篡改网站的网址改掉就好了,或者设置为IE的默认值。

三、使用IE修复软件

虽然修改注册表的方法十分有效,但是对于一般的电脑用户来说较为专业,而且编辑过程中也涉及到了比较多的英语。因此,我们在这里介绍大家使用一些专门的修复工具。

一般来说,IE修复工具有两大类。一是商业机构提供的辅助性工具,如瑞星注册表修复工具、3721的上网助手中附带的IE修复专家、超级兔子中的IE修复工具等等,这些软件大多捆绑在商业软件或是工具软件中,有些还需要付费才能够使用。其特点是,功能强大,建议经济实力较强的用户使用。

其中瑞星的注册表修复工具是可以免费单独下载的,具体的使用办法可以参考这些软件的帮助文件。

还有一点就是看系统启动项在运行里输入msconfig 查看启动项,你在这里可以查到每次开机时访问的网站URL地址,还有一种是在启动栏中有一个连接到本机的连接,该连接有可能是连接到一个*.js的文件,查找时要细心,左边的选勾去掉后,再按照路径把*.JS文件删除,然后重新启动系统就可以了。

推荐日志 老话新说:iexplore.exe是进程还是病毒

[ 2007-03-25 03:29:45 | 作者: sun ]

iexplore.exe是Microsoft Internet Explorer的主程序。这个微软Windows应用程序让你在网上冲浪,和访问本地Interanet网络。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。iexplore.exe同时也是Avant网络浏览器的一部分,这是一个免费的基于Internet Explorer的浏览器。注意iexplore.exe也有可能是Trojan.KillAV.B病毒,该病毒会终止你的反病毒软件,和一些Windows系统工具,该进程的安全等级是建议删除。


这个东西可以说是病毒,也可以说不是病毒。


因为微软的浏览器就是IEXPLORE.EXE,但是它一般情况随系统被安装在C:\Program Files\Internet Explorer下面。那么,如果发现这个文件是在这个目录下面的,一般情况不是病毒,当然,不包括已经被感染了的情况;还有一种情况,就是IEXPLORE.EXE在C:\WINDOWS\system32\下面,那么这个十有八九都是病毒。


系统进程--伪装的病毒 iexplore.exe


Trojan.PowerSpider.ac 破坏方法:密码解霸V8.10。又称“密码结巴”。偷用户各种密码,包含:游戏密码、局域网密码、腾讯QQ账号和密码、POP3 密码、Win9x缓存密码及拨号账号等等。这个木马所偷密码的范围很广,对广大互联网用户的潜在威胁也巨大。


现象:


1、系统进程中有iexplore.exe运行,注意,是小写字母;


2、搜索该程序iexplore.exe,不是位于C盘下的PROGRAMME文件夹,而是WINDOWS32文件夹。


解决办法:


1、到C:\\WINDOWS\\system32下找到ixplore.exe 和 psinthk.dll 完全删除之。


2、到注册表中,找到HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion \\Run “mssysint”= iexplore.exe,删除其键值。

推荐日志 安全防范 防止黑客入侵ADSL的一些技巧

[ 2007-03-25 03:29:34 | 作者: sun ]

随着各地ADSL网络的蓬勃发展,实现永久连接、随时在线已不再是遥远的梦,但是,我们必须明白,永久连入Internet同样也意味着遭受入侵的可能性大大增加。知己知彼,方能百战不殆,让我们了解一下黑客入侵ADSL用户的方法和防范手段吧。 

黑客入侵ADSL用户的方法

在很多地方都是包月制的,这样的话,黑客就可以用更长的时间进行端口以及漏洞的扫描,甚至采用在线暴力破解的方法盗取密码,或者使用嗅探工具守株待兔般等待对方自动把用户名和密码送上门。

要完成一次成功的网络攻击,一般有以下几步。第一步就是要收集目标的各种信息,为了对目标进行彻底分析,必须尽可能收集攻击目标的大量有效信息,以便最后分析得到目标的漏洞列表。分析结果包括:操作系统类型,操作系统的版本,打开的服务,打开服务的版本,网络拓扑结构,网络设备,防火墙。 

黑客扫描使用的主要是TCP/IP堆栈指纹的方法。实现的手段主要是三种:  

1.TCP ISN采样:寻找初始化序列规定长度与特定的OS是否匹配。  

2.FIN探测:发送一个FIN包(或者是任何没有ACK或SYN标记的包)到目标的一个开放的端口,然后等待回应。许多系统会返回一个RESET(复位标记)。  

3.利用BOGUS标记:通过发送一个SYN包,它含有没有定义的TCP标记的TCP头,利用系统对标记的不同反应,可以区分一些操作系统。  

4.利用TCP的初始化窗口:只是简单地检查返回包里包含的窗口长度,根据大小来唯一确认各个操作系统。 

扫描技术虽然很多,原理却很简单。这里简单介绍一下扫描工具Nmap(Network mapper)。这号称是目前最好的扫描工具,功能强大,用途多样,支持多种平台,灵活机动,方便易用,携带性强,留迹极少;不但能扫描出TCP/UDP端口,还能用于扫描/侦测大型网络。  

注意这里使用了一些真实的域名,这样可以让扫描行为看起来更具体。你可以用自己网络里的名称代替其中的addresses/names。你最好在取得允许后再进行扫描,否则后果可要你自己承担哦。  


nmap -v target.example.com  


这个命令对target.example.com上所有的保留TCP端口做了一次扫描,-v表示用详细模式。  


nmap -sS -O target.example.com/24  


这个命令将开始一次SYN的半开扫描,针对的目标是target.example.com所在的C类子网,它还试图确定在目标上运行的是什么操作系统。这个命令需要管理员权限,因为用到了半开扫描以及系统侦测。

发动攻击的第二步就是与对方建立连接,查找登录信息。现在假设通过扫描发现对方的机器建立有IPC$。IPC$是共享“命名管道”的资源,它对于程序间的通讯很重要,在远程管理计算机和查看计算机的共享资源时都会用到。利用IPC$,黑客可以与对方建立一个空连接(无需用户名和密码),而利用这个空连接,就可以获得对方的用户列表。  

第三步,使用合适的工具软件登录。打开命令行窗口,键入命令:net use 222.222.222.222ipc$ “administrator” /user:123456

这里我们假设administrator的密码是123456。如果你不知道管理员密码,还需要找其他密码破解工具帮忙。登录进去之后,所有的东西就都在黑客的控制之下了。 

防范方法

因为ADSL用户一般在线时间比较长,所以安全防护意识一定要加强。每天上网十几个小时,甚至通宵开机的人不在少数吧,而且还有人把自己的机器做成Web或者ftp服务器供其他人访问。日常的防范工作一般可分为下面的几个步骤来作。  

步骤一,一定要把Guest帐号禁用。有很多入侵都是通过这个帐号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,选择“高级”选项卡。单击“高级”按钮,弹出本地用户和组窗口。在Guest帐号上面点击右键,选择属性,在“常规”页中选中“帐户已停用”。  


步骤二,停止共享。Windows 2000安装好之后,系统会创建一些隐藏的共享。点击开始→运行→cmd,然后在命令行方式下键入命令“net share”就可以查看它们。网上有很多关于IPC入侵的文章,都利用了默认共享连接。要禁止这些共享,打开管理工具→计算机管理→共享文件夹→共享,在相应的共享文件夹上按右键,点“停止共享”就行了。  

步骤三,尽量关闭不必要的服务,如Terminal Services、IIS(如果你没有用自己的机器作Web服务器的话)、RAS(远程访问服务)等。还有一个挺烦人的Messenger服务也要关掉,否则总有人用消息服务发来网络广告。打开管理工具→计算机管理→服务和应用程序→服务,看见没用的就关掉。  

步骤四,禁止建立空连接。在默认的情况下,任何用户都可以通过空连接连上服务器,枚举帐号并猜测密码。我们必须禁止建立空连接,方法有以下两种:  

(1)修改注册表:  


HKEY_Local_MachineSystemCurrent-ControlSetControlLSA  



下,将DWORD值RestrictAnonymous的键值改成1。

(2)修改Windows 2000的本地安全策略:  

设置“本地安全策略→本地策略→选项”中的RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。  

步骤五,如果开放了Web服务,还需要对IIS服务进行安全配置:  

(1) 更改Web服务主目录。右键单击“默认Web站点→属性→主目录→本地路径”,将“本地路径”指向其他目录。  

(2) 删除原默认安装的Inetpub目录。  

(3) 删除以下虚拟目录: _vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。   

(4) 删除不必要的IIS扩展名映射。方法是:右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。如不用到其他映射,只保留.asp、.asa即可。  

(5) 备份IIS配置。可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复IIS的安全配置。

不要以为这样就万事大吉,微软的操作系统我们又不是不知道,bug何其多,所以一定要把微软的补丁打全。  

最后,建议大家选择一款实用的防火墙。比如Network ICE Corporation公司出品的Black ICE。它的安装和运行十分简单,就算对网络安全不太熟悉也没有关系,使用缺省的配置就能检测绝大多数类型的黑客攻击。对于有经验的用户,还可以选择“Tools”中的“Advanced Firewall Settings”,来针对特定的IP地址或者UDP的特定端口进行接受或拒绝配置,以达到特定的防御效果。

推荐日志 教你防黑之小心防范RM,WMV木马的方法

[ 2007-03-25 03:29:23 | 作者: sun ]

(一)RM、RMVB文件中加入木马的方式

Helix Producer Plus是一款图形化的专业流媒体文件制作工具,这款软件把其他格式的文件转换成RM或RMVB格式,也可以对已存在的RM文件进行重新编辑,在编辑的同时,我们可以把事先准备好的网页木马插入其中。这样只要一打开这个编辑好的媒体文件,插入在其中的网页木马也会随之打开,甚至还能控制网页木马打开的时间,让网页木马更隐蔽。

(二)WMV、WMA文件中加入木马的方式

对于WMA、WMV文件,是利用其默认的播放器Windows Media Player的“Microsoft Windows媒体播放器数字权限管理加载任意网页漏洞”来插入木马。当播放已经插入木马的恶意文件时,播放器首先会弹出一个提示窗口,说明此文件经过DRM加密需要通过URL验证证书,而这个URL就是事先设置好的网页木马地址,当用户点击“是”进行验证时,种马便成功了。和RM文件种马一样,在WMV文件中插入木马我们还需要一样工具――WMDRM打包加密器,这是一款可以对WMA、WMV进行DRM加密的文件,软件本身是为了保护媒体文件的版权,但在攻击者手中,便成了黑客的帮凶。

(三)防御方法

1.看影片之前,用Helix Producer Plus 9的rmevents.exe清空了影片的剪辑信息,这样就不会出现指定时间打开指定窗口的事件了。(适合RM木马)

2.升级所有的IE补丁,毕竟RM木马实际上也是靠IE漏洞执行的。(适合RM木马)

3.用网络防火墙屏蔽RealPlayer对网络的访问权限。(适合RM木马)

4.换其他播放器,如:梦幻鼎点播放器、暴风影音、Mplayer等。(适合两款木马)

5.及时升级杀毒软件的病毒库,升级两个媒体播放软件的补丁。(适合两款木马)

推荐日志 ARP协议的缺陷及ARP欺骗的防范

[ 2007-03-25 03:29:12 | 作者: sun ]
一、ARP协议工作原理

在TCP/IP协议中,每一个网络结点是用IP地址标识的,IP地址是一个逻辑地址。而在以太网中数据包是靠48位MAC地址(物理地址)寻址的。因此,必须建立IP地址与MAC地址之间的对应(映射)关系,ARP协议就是为完成这个工作而设计的。

TCP/IP协议栈维护着一个ARP cache表,在构造网络数据包时,首先从ARP表中找目标IP对应的MAC地址,如果找不到,就发一个ARP request广播包,请求具有该IP地址的主机报告它的MAC地址,当收到目标IP所有者的ARP reply后,更新ARP cache。ARP cache有老化机制。

二、ARP协议的缺陷
ARP协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标MAC是自己的ARP reply包或arp广播包(包括ARP request和ARP reply),都会接受并缓存。这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文从而影响网内结点的通信,甚至可以做“中间人”。

三、常见ARP欺骗形式
1、假冒ARP reply包(单播)
XXX,I have IP YYY and my MAC is ZZZ!
2、假冒ARP reply包(广播)
Hello everyone! I have IP YYY and my MAC is ZZZ!
向所有人散布虚假的IP/MAC
3、假冒ARP request(广播)
I have IP XXX and my MAC is YYY.
Who has IP ZZZ? tell me please!
表面为找IP ZZZ的MAC,实际是广播虚假的IP、MAC映射(XXX,YYY)
4、假冒ARP request(单播)
已知IP ZZZ的MAC
Hello IP ZZZ! I have IP XXX and my MAC is YYY.
5、假冒中间人
欺骗主机(MAC为MMM)上启用包转发
向主机AAA发假冒ARP Reply:
AAA,I have IP BBB and my MAC is MMM,
向主机BBB发假冒ARP Reply:
BBB,I have IP AAA and my MAC is MMM
由于ARP Cache的老化机制,有时还需要做周期性连续欺骗。

四、ARP欺骗的防范

1、运营商可采用Super VLAN或PVLAN技术
所谓Super VLAN也叫VLAN聚合,这种技术在同一个子网中化出多个Sub VLAN,而将整个IP子网指定为一个VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默认网关IP地址,不同的Sub VLAN仍保留各自独立的广播域。子网中的所有主机只能与自己的默认网关通信。如果将交换机或IP DSLAM设备的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免了ARP欺骗。Super VLAN的例子参见:
http://publish.it168.com/2004/0316/200403160005101.shtml

PVLAN即私有VLAN(Private VLAN) ,PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口化为一个(下层)VLAN,则实现了所有端口的隔离。
PVLAN的例子参见:
http://network.51cto.com/art/200509/3644.htm
PVLAN和SuperVLAN技术都可以实现端口隔离,但实现方式、出发点不同。PVLAN是为了节省VLAN,而SuperVlan的初衷是节省IP地址。

2、单位局域网可采用IP与MAC绑定
在PC上IP+MAC绑,网络设备上IP+MAC+端口绑。但不幸的是Win 98/me、未打arp补丁的win 2000/xp sp1(现在大多都已经打过了)等系统 使用arp -s所设置的静态ARP项还是会被ARP欺骗所改变。
如果网络设备上只做IP+MAC绑定,其实也是不安全的,假如同一二层下的某台机器发伪造的arp reply(源ip和源mac都填欲攻击的那台机子的)给网关,还是会造成网关把流量送到欺骗者所连的那个(物理)端口从而造成网络不通。

对于采用了大量傻瓜交换机的局域网,用户自己可以采取支持arp过滤的防火墙等方法。推荐Look ‘n’Stop防火墙,支持arp协议规则自定义。

最后就是使用ARPGuard啦(才拉到正题上),但它只是保护主机和网关间的通讯。

五、ARPGuard的原理

ARPGuard可以保护主机和网关的通讯不受ARP欺骗的影响。
1、第一次运行(或检测到网关IP改变)时获取网关对应的MAC地址,将网卡信息、网关IP、网关MAC等信息保存到配置文件中,其他时候直接使用配置文件。
2、移去原默认路由(当前网卡的)
3、产生一个随机IP,将它添加成默认网关。
4、默认网关IP 和网关的MAC绑定(使用DeleteIpNetEntry和CreateIpNetEntry修改ARP Cache表项)
5、周期性检测ARP Cache中原默认网关(不是随机IP那个) 网关的MAC在ARP Cache的值是否被改写,若被改写就报警。
6、针对有些攻击程序只给网关设备(如路由器或三层交换机)发欺骗包的情况。由于此时本机ARP Cache中网关MAC并未被改变,因此只有主动防护,即默认每秒发10个ARP reply包来维持网关设备的ARP Cache(可选)
7、程序结束时恢复默认网关和路由。

值得说明的是程序中限定了发包间隔不低于100ms,主要是怕过量的包对网络设备造成负担。如果你遭受的攻击太猛烈,你也可以去掉这个限制,设定一个更小的数值,保证你的通讯正常。

附ARPGuard 源码:http://allyesno.gbaopan.com/files/580c66c8b1fa438285f20a5c2d208b6e.gbp

推荐日志 借助路由器来防范网络中的恶意攻击

[ 2007-03-25 03:29:00 | 作者: sun ]
除了ADSL拨号上网外,小区宽带上网也是很普遍的上网方式。如果你采用的是小区宽带上网,是否觉得路由器仅仅就是个上网工具呢?其实不然,利用好你的路由器,还能够防范黑客的攻击呢。下面就让我们来实战一番。

  目的:限制外部电脑连接本小区的192.168.0.1这台主机的23(telnet)、80(www)、3128等Port。

  前提:Router接内部网络的接口是Ethernet0/1,每一个命令之后按Enter执行,以Cisco路由为准。

  步骤1 在开始菜单中选择运行,在弹出的对话框中输入“cmd”并回车,出现窗口后,在提示符下连接路由器,指令格式为“telnet 路由器IP地址”。当屏幕上要求输入telnet password时(多数路由器显示的是“Login”字样),输入密码并确认无误后,再输入指令enable,屏幕上显示要求输入enable password时输入密码。

  提示:这两个密码一般由路由器生产厂商或者经销商提供,可以打电话查询。

  步骤2 输入指令Router# configure termihal即可进入路由器的配置模式,只有在该模式下才能对路由器进行设置。

  步骤3 进入配置模式后,输入指令Router (config)#access -list 101 deny tcp any host 192.168.0.1 eq telnet,该指令的作用是设定访问列表(access list),该命令表示拒绝连接到IP地址为192.168.0.1的主机的属于端口(Port) 23(telnet)的任何请求。

  步骤4 输入Router (config)#aecess -list 101 deny tcp any host 192.168.0.1 eq www 指令以拒绝来自任何地方对IP地址为192.168.0.1的主机的属于端口80(www)的请求。

  步骤5 最后需要拒绝的是来自任何地方对IP地址为192.168.0.1的主机属于端口3128的访问,这需要输入指令Router(config)#access list 101 deny tcp any host 192.168.0.1 eq 3128来完成。

  步骤6 到此,已经设置好我们预期的访问列表了,但是,为了让其他的所有IP能够顺利访问,我们还需要输入Router(config)#aceess -list 101 permit ip any any来允许其他访问请求。

  但是,为了让路由器能够执行我们所做的访问列表,我们还需要把这个列表加入到接口检查程序,具体操作如下。

  输入指令Router(config)#interface eO/1进入接口(interface) ethernet 0/1,然后键入指令Router(config-if)#ip access-group 101 out 将访问列表实行于此接口上。这样一来,任何要离开接口的TCP封包,均须经过此访问列表规则的检查,即来自任何地方对IP地址为192.168.0.1的主机,端口(port)属于telnet(23),www(80),3128的访问一律拒绝通过。最后,输入指令write将设定写入启动配置,就大功告成了。

  这样一来,你的主机就安全多了,虽然只是禁止了几个常用端口,但是能把不少搞恶作剧的人拒之门外。另外,如果看见有什么端口可能会遭到攻击或者有漏洞了,你也可以通过上面的方法来将漏洞堵住。

每一项服务都对应相应的端口,比如众如周知的WWW服务的端口是80,smtp是25,ftp是21,win2000安装中默认的都是这些服务开启的。对于个人用户来说确实没有必要,关掉端口也就是关闭无用的服务。


“控制面板”的“管理工具”中的“服务”中来配置。


1、关闭7.9等等端口:关闭Simple TCP/IP Service,支持以下TCP/IP服务:Character Generator,Daytime, Discard, Echo, 以及 Quote of the Day。


2、关闭80口:关掉WWW服务。在“服务”中显示名称为"World Wide Web Publishing Service",通过 Internet 信息服务的管理单元提供 Web 连接和管理。


3、关掉25端口:关闭Simple Mail Transport Protocol (SMTP)服务,它提供的功能是跨网传送电子邮件。


4、关掉21端口:关闭FTP Publishing Service,它提供的服务是通过 Internet 信息服务的管理单元提供 FTP 连接和管理。


5、关掉23端口:关闭Telnet服务,它允许远程用户登录到系统并且使用命令行运行控制台程序。


6、还有一个很重要的就是关闭server服务,此服务提供RPC支持、文件、打印以及命名管道共享。关掉它就关掉了win2k的默认共享,比如ipc$、c$、admin$等等,此服务关闭不影响您的其他操作。


7、还有一个就是139端口,139端口是NetBIOS Session端口,用来文件和打印共享,注意的是运行samba的unix机器也开放了139端口,功能一样。以前流光2000用来判断对方主机类型不太准确,估计就是139端口开放既认为是NT机,现在好了。


关闭139口听方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。


对于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。

大家在使用DOS的过程中,经常在命令行方式下遇到一些错误信息提示,由于往往是英文的,导致一些人看到后不知是怎么回事,更不知该如何解决了。下面,我就将常见的DOS命令行方式下的错误信息向大家介绍一下。

[英文] Bad command or file name

[译文] 错误的命令或文件名

错误原因和解决:

这大概是大家最常见到的错误提示了,它的意思是输入的命令无效。当输入的命令既不是DOS内部命令,而且系统在查找路径或指定路径中找不到相应的可执行文件的话,就会出现此错误信息。您可以检查输入的命令是否正确,如是否打错了字母等。

[英文] Access Denied

[译文] 拒绝存取

错误原因和解决:

这也是一个常见的错误,出现的情况很多,如在用DEL命令删除具有只读属性的文件,或者在多任务环境下有多个进程同时存取同一文件,以及试图在设有只读权限的网络文件夹中写入文件的时候。解决的方法也很简单,只需去掉文件的只读、隐含等属性,或保证同一时候只有一个进程在读写文件,及去掉网络文件夹的只读权限即可。

[英文] Drive not ready

[译文] 驱动器未准备好

错误原因和解决:

相信大家都遇到过这个错误信息吧!尤其是在存取可移动磁盘(包括软盘和光盘)的时候更是常见到。解决方法是将磁盘插好后重试即可。

[英文] Write protect error

[译文] 写保护错误

错误原因和解决:

当试图向写了保护的磁盘(通常是软盘)写入信息的时候就会出现该错误。将磁盘的写保护去掉即可。

[英文] General error

[译文] 常规错误

错误原因和解决:

此错误通常出现在DOS无法识别指定的磁盘的格式的情况下,如软盘未格式化。用FORMAT等命令格式化磁盘或转换成DOS能识别的格式即可。

[英文] Abort,Retry,Ignore,Fail?

[译文] 中止,重试,忽略,失败?

错误原因和解决:

此错误信息的出现频率非常高,比如在磁盘未准备好的时候。输入A则取消操作,然后返回DOS提示符下,输入R则表示再试一次,输入I则表示忽略此错误并继续,最好不要使用,输入F则表示跳过此错误,经常选择此项。

[英文] File not found

[译文] 文件未找到

错误原因和解决:

在使用很多命令的时候若找不到指定的文件就会出现该提示。例如使用DIR命令的时候,若指定的文件不存在,该错误信息就会出现。解决方法是将文件名输入正确。

[英文] Incorrect DOS version

[译文] 错误的DOS版本

错误原因和解决:

当要执行的命令发现当前的DOS版本与这个命令所期待的DOS版本不相同的时候就会出现此错误信息。具体情况和解决方法请见本站的“DOS文章”栏目中的文章。

[英文] Invalid directory

[译文] 非法目录

错误原因和解决:

如果输入了不存在或无效的目录的时候就会出现该提示。可检查是否输入有误。

[英文] Invalid Drive Specification

[译文] 指定的驱动器非法

错误原因和解决:

当输入的驱动器不存在的时候就会出现该提示。请检查是否存在该驱动器。有些驱动器(如NTFS卷,光驱,网络驱动器等)则需要加载相应的驱动程序才能被识别。

[英文] Syntax error

[译文] 语法错误

错误原因和解决:

此命令在使用一些批处理命令(如IF,FOR等)时比较常见,可检查是否输入了无效的语法。以FOR命令为例,它的语法是FOR %F IN (文件名) DO 命令,不能将此语法格式弄错了(如输反了或漏了等),必须输入正确的命令才能得到相就的结果。

[英文] Required parameter missing

[译文] 缺少必要的参数

错误原因和解决:

如果在执行命令(如DEL)漏掉了它要正常完成功能所需的参数时,就会出现该提示。

[英文] Invalid parameter

[译文] 非法参数

错误原因和解决:

出现在执行命令时输入了无效的参数。可以检查输入的参数是否正确,有没有拼写错误等。如果您不知道有哪些参数的话,通常可以使用此命令的/?选项来看参数列表。


[英文] Not enough memory 或 Insufficient memory

[译文] 内存不足

错误原因和解决:

如果在执行程序时程序发现所需的内存大于可以使用的内存(通常是指常规内存)时就会出现此信息。造成内存不足的情况如执行了过多过大的内存驻留程序,或系统内存未经过很好的配置等。大家可以看本栏目中的“DOS下内存的配置”。

[英文] Divide overflow 或 Divide by zero

[译文] 除数为零

错误原因和解决:

如果在系统不稳定,与其它程序有冲突,或程序本身有问题的情况下运行程序的话就会出现此错误。可以重新启动系统后再运行此程序试试。

[英文] Runtime error xxx

[译文] 运行时间错误xxx

错误原因和解决:

和以上的“除数为零”错误类似。如果xxx的值为200的话,可以见“DOS文章”栏目。

[英文] Error in EXE file

[译文] EXE文件有错误

错误原因和解决:

通常是这个可执行文件已经损坏,已不能够再使用。使用一个好的就可以了。

以上是常见的DOS命令行方式下的错误信息,大家可以利用上文将故障排除。