人们现在已习惯在Internet上花费大量时间随着DSL和宽带网络的普及人们在Internet上的时间越来越长个人电脑的安全问题将会变得越来越突出有统计表明黑客们在每天小时扫描拨号连接的用户当然他们的目标并不是我们这些普通上网用户而是那些使用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包个人电脑同服务器不一样一般不会提供例如FtpTelnet等服务这样可以被黑客们利用的系统漏洞就很少所以ICF可以在一定的程度上很好地保护我们的个人电脑
ICF是通过保存一个表格记录所有自本机发出的目的IP地址端口服务以及其他一些数据来达到保护本机的目的 当一个IP数据包进入本机时ICF会检查这个表格看到达的这个IP数据包是不是本机所请求的如果是就让它通过如果在那个表格中没有找到相应的记录就抛弃这个IP数据包下面的例子可以很好地说明这个原理当用户使用Outlook Express来收发电子邮件的时侯本地个人机发出一个IP请求到POP邮件服务器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忽略所有发向某一端口的数据包例如端口那么发向端口的所有数据包都不会被ICF抛弃从这种意义上讲端口就成为不设防的端口这样的防火墙产品是不可能用在应用服务器上的服务器上的防火墙产品都是基于建立各种策略来审核外来的IP数据包ICF和基于应用程序的个人防火墙产品也是不一样的基于应用程序的个人防火墙会记录每一个访问Internet的程序例如通过设置可以让IE有权来访问Internet而Netscape的Navigator没有权限来访问Internet即便两个程序的目的IP地址和端口都是一样的Norton的个人防火墙(Personal Firewall)就是这样一个典型的产品简而言之ICF没法提供基于应用程序的保护也没法建立基于IP包的包审核策略所以ICF既不能完全替代现有的个人防火墙产品也没有办法很好地工作在应用服务器上
如何选择
那我们应该如何选择?笔者认为Norton的Personal Firewall可以提供全方面的保护即便这种保护是建立在繁琐的设定基础上的在它能成功地为你提供一次有效的防护之前会给你带来足够的烦恼ICF并不能提供完全无懈可击的防护但是ICF对个人电脑提供防护是足够的在使用Shield Up对装有ICF的个人电脑进行端口扫描后Shield Up 给出了最安全模式(Full Stealth Mode)的评价这也是Shield Up对安全评价的最高等级况且ICF是Windows XP内建的功能占用的资源相当少且不用花额外的钱去购买其实从ICF受益最多的应该是那些仍然在使用Modem上网的朋友实际上这部分用户占了%以上而在国内绝大部分的用户都是用Modem上网的用Modem上网有其自身的特点首先你上网的时间不会太长一般在几小时上下(包月的除外)其次每次建立连接后拨号服务器都会分配一个新的IP地址给你长时间占用一个相同的IP的可能性应该很低比起使用DSL和宽带的用户来讲用Modem上网本身就安全了很多所以使用一个重量级的防火墙实在是没有太多的意义而ICF则刚刚好它既提供了一定的保护而且又不太占用资源真的是刚刚好!
怎样使用ICF我们谈了这么多那ICF到底该怎样使用?当你建立一个新的连接的时候向导程序就会问你是否要激活ICF在每一个连接的属性→高级选项中也可以让你选择激活或者取消ICF功能在你激活ICF之后在高级选项的下部就会出现设置按钮单击设置就可以对ICF进行进一步的设置ICF的设置主要有三部分第一部分是服务项通过设定这一部分可以让ICF对某些服务不进行审核TCP/IP的服务都是由端口来区分的你可以分别对TCPUDP或者IP Protocol进行设置在这一项中已经有了一些可选的缺省设置当然你可以建立自己的设置第二部分是关于日志的ICF可以把它所抛弃的IP数据包以及获准通过的IP数据包都记录在案以便可以让你进行进一步的分析第三部分就是关于ICMP的ICMP通常用于PingTracert程序以及路由的动态实现我的建议是禁止所有的ICMP响应除非你有特别的需要
定期分析日志可以发现潜在的安全问题ICF的日志分为两部分一部分是ICF审核通过的IP数据包而另一部分就是ICF抛弃的IP数据包日志一般存于Windows目录之下文件名是pfirewalllog其文件格式符合WC扩展日志文件格式(WC Extended Log File Format)分为两部分分别是文件头(Head Information)和文件主体(Body Information)文件头主要是关于pfirewalllog这个文件的说明需要注意的主要是文件主体部分文件主体部分记录有每一个成功通过ICF审核或者被ICF所抛弃的IP数据包的信息包括源地址目的地址端口时间协议以及其他一些信息理解这些信息需要较多的TCP/IP协议的知识
在实际的使用中应尽量避免在局域网中使用ICF它可能会给一些网络应用带来影响在个人电脑中使用也可能会对一些程序的运行带来影响例如OICQ的语音世界功能就是建立在双方交互的基础上的而ICF会影响这些交互过程从而使得连接无法建立解决这样的问题也很简单一种当然是取消ICF但这不是推荐的方法另一种方法就是找到到底OICQ使用哪个端口来实现语音功能在前面介绍的属性→高级→设置→服务中来添加一项自定义设置从而使ICF忽略这个端口的检测这样OICQ的语音功能就可以正常使用了
总之ICF是Windows XP提供的一项新的功能它并不是用来取代现有的个人防火墙产品但是ICF能够为个人电脑提供相当的保护我们为获得在网络上的安全所需要做的就是在建立连接的时候选择使用ICF在需要的时候作出必要的设定并且定期查看日志当然最先要做的就是购买Windows XP的家用或者专业版并把它们安装起来