强弱判断:Windows Vista系统防火墙初探

网络安全已经被越来越多的人重视起来 , 而在保证自己的计算机安全方面 , 最主要的一个手段就是安装杀毒软件、网络防火墙以及反间谍软件等各种程序 。微软自然不会忽略这一点 , 在Windows XP的早期版本中就推出过免费的Internet连接防火墙 , 但是该软件的功能非常有限 , 只有简单的入站访问限制(也就是说 , 只能对主动从网络向本机发起的网络连接进行限制) 。虽然在Windows XP SP2中该防火墙改名为Windows防火墙 , 但是功能上并没有太大改进 。

那么在微软下一代操作系统Windows Vista中 , 系统自带的防火墙有没有什么创新?粗看之下 , 你可能会觉得失望 , 因为Vista中的防火墙在界面上和Windows XP SP2没有任何区别 , 不过别着急 , Vista中的防火墙功能可谓大大地提高了 , 不过大部分功能需要靠安全策略(组策略的一部分)来设置 , 一起来感受一下吧 。

本文以测试版的Windows Vista 2005年12月CTP版本为例 , 版本号为5270 。当然 , 正式版中该功能在细节上可能会有所不同 , 希望大家能够留意 。

在功能上 , Vista中的防火墙(下文统一简称为防火墙)主要增加了对内部程序访问网络(也就是出站连接)的限制 , 以及和其他计算机之间的连接限制 。为了向你演示该防火墙的使用 , 我们会按照实际使用情况模拟两种不同的场景 。

启用防火墙

首先运行secpol.msc , 打开“Local Security Settings(本地安全设置)”窗口 , 接着在左侧的树形图中定位到“Security Settings(安全设置)”|“Windows Firewall with Advanced Security(具有高级安全功能的Windows防火墙)”|“ Windows Firewall with Advanced Security on Local Computer(本地计算机上具有高级安全功能的Windows防火墙)”节点 , 你将能看到类似图1的界面 , 下文所介绍的所有功能都将在这里设置 。


图1

在“OvervIEw(概述)”选项下我们可以看到 , 防火墙具有两个配置文件(Profile) , 分别用于域环境和单机/工作组环境 , 其实这个功能在Windows XP SP2中的Windows防火墙上就已经提供了 , 不过这里得到了更明显的改进 。下文将以单机环境下的操作为例 。

因为默认情况下防火墙还没有启用 , 因此我们首先需要将其打开 。点击“Windows Firewall Properties(Windows防火墙属性)”链接 , 你将能看到图2所示的对话框 , 该对话框有两个选项卡 , 分别对应域环境和单机/工作组环境的配置文件 , 因此我们打开代表单机环境的“Standard Profile”选项卡 , 点击“On(启用)”选项 。



图2 【强弱判断:Windows Vista系统防火墙初探】

同时请注意该选项下方的“Inbound connections(入站连接)”和“Outbound connections(出站连接)”这两个选项 , 这里的设置需要注意 。默认情况下 , 我们在这里设置的“允许”或“禁止”将会影响到所有程序 , 假设我们在这里禁止了所有入站连接 , 但又需要开放对某个端口的出站连接(例如本机打开了FTP服务) , 那么才需要在随后的例外设置中进行设置 。因此 , 如果你是一般用户 , 建议打开防火墙之后 , 将入站连接设置为“Block(阻止)” , 将出站连接设置为“Allow(允许)” , 这样设置后 , 自己平时的浏览网页、下载等活动(属于出站连接)将不会受到任何影响 , 但是外界的主动连接(入站连接 , 例如本机运行的网络服务)都将被禁止 。随后则可以通过设置例外规则来完善防火墙的设置 。

场景一:入站连接的限制

第一个环境 , 我们打算模拟对入站连接进行设置 。假设我们在前面已经设置了禁止所有入站连接 , 但是自己的电脑上开放了FTP服务(假设使用默认的21端口) , 那么如何能够在尽量保证安全的前提下允许别人来访问呢?

在图1所示的界面上进入“Inbound Exceptions(入站例外)”节点 , 并在该节点上点击鼠标右键 , 选择“New Exception(新建例外规则)”选项 , 你将能看到一个图3所示的向导 , 所有的设置都将在这里进行 。



图3

让我们首先考虑一下FTP服务器的一些网络特征吧:FTP服务通常使用TCP协议的固定端口 , 例如本文以及默认情况都将使用21端口;同时FTP服务需要有一个监听的程序 , 也就是FTP服务器端;同时我们还需要允许这样的连接 。



图4

确定下来之后就好做多了 。首先在图3所示的界面上选择例外类型为“Port(端口)” , 点击Next , 在随后的页面上指定连接所用的协议为“TCP” , 同时所用的端口为“21”(图4) 。随后就需要设置采取的操作了 , 因为我们希望他人可以通过FTP客户端软件访问我们的21端口 , 因此可以选择“Allow all connections(允许所有连接)” 。接着则需要选择该例外规则适用的配置文件 。如果你建立了多个配置文件 , 那么这里就会将其全部列出 。遗憾的是 , 我们只能选择将该规则应用于全部的配置文件 , 或者只能应用于某个特定的配置文件 , 而无法选择性应用于特定的几个配置文件中 。最后为该规则指定好名称和描述之后就算完成了 。

场景二:出站连接的限制

这可能是Windows防火墙最不足的地方 , 以前该防火墙一直无法对系统中已经安装的程序主动对外界的连接进行限制 , 在Vista中 , 该功能和市面上其他第三方的防火墙产品相比毫不逊色 。



图5

在这里 , 我们要通过设置让IE不能访问特定的网站 , 看看是如何操作的 。

首先在“Outbound Exceptions(出站例外)”节点上点击鼠标右键 , 选择“New Exception(新建例外规则)”选项 , 接下来在例外类型中选择“Custom(自定义)” , 并为该例外规则命名 。这里的设置有些奇怪 , 如果我们选择了Custom , 那么就要首先将规则创建好 , 然后打开规则的属性页面 , 进行设置 。因此我们需要关闭创建规则的对话框 , 并在窗口右侧的列表中找到这个新建的规则 , 点击鼠标右键 , 选择“Properties(属性)” , 接着可以看到类似图5的对话框 。

我们可以这样操作:首先在图5所示的对话框上点击“Specific Program(特定应用程序)”选项 , 并点击“Browse(浏览)”按钮定位IE主程序的位置;接着在“Action(操作)”选项下选择“Block(阻止)” 。接着打开“Scope(范围)”选项卡 , 点击“Remote Address(远程地址)”选项下的“Custom(自定义)” , 接着点击右侧的“Add(添加)”按钮 , 在随后出现的对话框中指定不许访问的站点的地址(可以是IP地址或者IP地址段 , 见图6) , 设置好之后点击OK按钮即可 。



图6

经过简单的试用 , Vista中的防火墙功能确实得到了提高 , 本文所举的例子只是其中很小的一部分 , 相信经过恰当的配置 , 现有这些选项还可以产生很多不错的设置方案 。但是所有这些功能都有一个不足 , 那就是没有完整的集成在防火墙的图形界面中 , 虽然在本地安全策略控制台下的设置也有很简明的图形界面为辅助 , 不过如果能将这些选项集成到防火墙自己的界面中 , 应该可以收到更好的效果 。