广东西 发表于 2009-6-2 22:11:23

Windows XP防火墙深层探索

网络安全问题现在已经越来越突出,选择一种防火墙产品是很有必要的。基于应用程序的防火墙在使用上相当麻烦,而且一般都非常占用系统资源。Windows XP集成了互联网连接防火墙(Internet Connection Firewall)这一新特性,它到底可以为我们做什么呢?
人们现在已习惯在Internet上花费大量时间。随着ADSL和宽带网络的普及,人们在Internet上的时间越来越长,个人电脑的安全问题将会变得越来越突出。有统计表明黑客们在每天24小时扫描拨号连接的用户,当然他们的目标并不是我们这些普通上网用户,而是那些使用VPN在家办公的用户。突破这些用户的个人电脑总比突破层层设防的公司网络要容易得多。如果你是使用DSL或其他宽带网络的用户,那么你的危险将更大了,因为在使用DSL后,你的IP地址将很长时间不变,这无疑给那些黑客带来了很大的便利。我们当然可以选用一些现有的个人防火墙产品,比如说Norton的个人防火墙产品,Zone Labs的ZoneAlarm,以及国内厂商开发的天网防火墙等等。这些个人防火墙产品依据的防黑客原理通常不一样,例如Norton的Personal Firewall(个人防火墙)是基于应用程序的(Application Level)。基于应用程序的防火墙在使用上相当麻烦,因为你必须要为每一个访问Internet的程序设置策略。而随着策略的增多,防火墙的效率也逐步下降,况且过多的策略也会相互矛盾、影响,给系统安全带来漏洞。更糟糕的是,这些个人防火墙产品都非常占用系统资源。
Windows XP号称是随着Windows发布以来最伟大的升级,Windows XP给我们带来了很多新的特性,互联网连接防火墙(Internet Connection Firewall,以下简称ICF)就是其中的一个新的特性。下面我们就来谈谈这个ICF,看看它到底能为我们做什么(注:我们在谈ICF的时候都是以Norton的Personal Firewall来做参考和对比的,原因有二:其一,Norton的产品无论在国外还是在国内都是第一流的产品;其二,Norton的这款产品也可以代表这一类产品的技术特点)。
ICF的工作原理
ICF就像一个在你的个人电脑和外部Internet世界建立的虚拟盾牌,它可以让你请求的数据通过、而阻碍你没有请求的数据包,是一个基于包的防火墙。黑客们的攻击基本上都是由Ping一个IP地址开始的。当Ping通之后通常都是使用一些软件来进行端口扫描。攻击一台个人电脑和攻击一台主机还是有一点不同的。攻击主机时目标通常是早已锁定的,即便Ping不通也不会认为目标主机已经关机了;但是攻击个人电脑就不同了,通常黑客们是通过扫描一段IP地址开始来锁定目标,或者是个人电脑的用户在使用ICQ之类的软件时暴露了自己的IP地址。对于第一种的情况,Ping不通的IP地址通常被认为没有使用而忽略过去。所以,ICF的第一个功能就是不响应Ping命令,而且,ICF还禁止外部程序对本机进行端口扫描,抛弃所有没有请求的IP包。个人电脑同服务器不一样,一般不会提供例如Ftp、Telnet等服务,这样可以被黑客们利用的系统漏洞就很少。所以,ICF可以在一定的程度上很好地保护我们的个人电脑。
ICF是通过保存一个表格,记录所有自本机发出的目的IP地址、端口、服务以及其他一些数据来达到保护本机的目的。 当一个IP数据包进入本机时,ICF会检查这个表格,看到达的这个IP数据包是不是本机所请求的,如果是就让它通过,如果在那个表格中没有找到相应的记录就抛弃这个IP数据包。下面的例子可以很好地说明这个原理。当用户使用Outlook Express来收发电子邮件的时侯,本地个人机发出一个IP请求到POP3邮件服务器。ICF会记录这个目的IP地址、端口。当一个IP数据包到达本机的时候,ICF首先会进行审核,通过查找事先记录的数据可以确定这个IP数据包是来自我们请求的目的地址和端口,于是这个数据包获得通过。当使用Outlook客户端邮件程序和Exchange邮件服务器时情况有所不同。一旦有新的邮件达到Exchange邮件服务器时,Exchange就会自动发一个IP数据包到Outlook客户机来通知有新的邮件到达。这种通知是通过RPC Call来实现的。当Exchange的IP数据包到达客户机时,客户机的ICF程序就会对这个IP包进行审核发现本机并没有对这个地址和端口发出IP请求,所以这个IP包就会被抛弃,客户机当然就不会收到发自Exchange邮件服务器的新邮件通知。手动让Outlook去接收Exchange邮件服务器上的新邮件当然是可以的。
ICF的局限性
那么,ICF不能做什么?ICF可不可以完全替代现有的个人防火墙产品?ICF是通过记录本机的IP请求来确定外来的IP数据包是不是“合法”,这当然不可以用在服务器上。为什么呢?服务器上的IP数据包基本上都不是由服务器先发出,所以ICF这种方法根本就不可以对服务器的安全提供保护。当然你也可以通过相应的设置让ICF忽略所有发向某一端口的数据包,例如80端口。那么发向80端口的所有数据包都不会被ICF抛弃。从这种意义上讲80端口就成为不设防的端口。这样的防火墙产品是不可能用在应用服务器上的,服务器上的防火墙产品都是基于建立各种策略来审核外来的IP数据包。ICF和基于应用程序的个人防火墙产品也是不一样的。基于应用程序的个人防火墙会记录每一个访
页: [1]
查看完整版本: Windows XP防火墙深层探索