Windows防火墙是一个基于主机的状态防火墙,它丢弃所有未请求的传入流量,即那些既没有对应于为响应计算机的某个请求而发送的流量(请求的流量),也没有对应于已指定为允许的未请求的流量(异常流量)。Windows防火墙提供某种程度的保护,避免那些依赖未请求的传入流量来攻击的恶意用户和程序。这里以对目前常用的Windows XP Service Pack 2自带防火墙为实例,介绍它的基本配置及应用。
打开Windows XP的访问控制面板,这里包括Windows自带防火墙。Windows XP SP2与之前的Windows系列相比,自带防火墙新增了以下主要特性:
1、默认对计算机的所有连接启用。 2、应用于所有连接的全局配置选项。 3、用于全局配置的新增对话框集。 4、全新的操作模式。 5、启动安全性。 6、本地网络限制。
7、异常流量可以通过应用程序文件名指定。
8、对Internet协议第6版(IP V6)的内建支持,配置对话框可同时配置IPv4和IPv6流量。
9、采用Netsh和组策略的新增配置选项。
打开自带防火墙,可以看到对话框中包含“常规”、 “异常”和“高级”三个选项卡,如图7-9所示。完成这些选项卡的设置,便可以实现对Windows防火墙的基本安全配置。新的Windows防火墙对话框包含以下选项卡:
图7-9 Windows防火墙的“常规”选项卡
在“常规”选项卡上,主要有以下几个可选项: (1)“启用(推荐)”
选择这个选项可以对“高级”选项卡上所选择的所有网络连接启用Windows防火墙,这也是默认功能。 Windows防火墙启用后将仅允许请求的和例外的传入流量。例外的网
- 1 -
络流量可在“例外”选项卡上进行配置。当防火墙启用之后,大多数应用程序,比如IE浏览器和电子邮件客户端等,不依赖未请求的传入流量,因而能够在启用Windows防火墙的情况下正确地运行。然而,存在个别依赖未请求的传入流量的程序或服务。为此,需要在“例外”选项卡上把它们设置为例外的通信。
(2)“不允许例外”
选择这个选项将仅允许请求的传入流量,拒绝异常的传入流量,即“例外”选项卡上的设置将被忽略,所有的网络连接都将受到保护,这里不再局限于“高级”选项卡上设置的网络。
(3)“关闭(不推荐功能)”
选择这个选项来禁用Windows防火墙,特别是对于可通过Internet直接访问的网络连接,不建议关闭防火墙。
值得注意的是,在使用组策略配置运行Windows XP 自带防火墙,如果所配置的组策略是“不允许进行本地配置”,那么“常规”选项卡和其他选项卡上的选项功能将被禁用,显示为灰色的,甚至本地管理员也无法进行选择。
基于组策略的Windows防火墙设置允许配置一个域配置文件,可实现对连接到一个包含有域控制器的网络所需要的基本防火墙设置。此外,也允许设置标准配置文件,完成对连接到Internet时所需要的防火墙设置。这些配置对话框仅显示当前所应用的配置文件的防火墙设置。要查看当前未应用的配置文件设置,可使用netsh firewall show命令。 要更改当前没有被应用的配置文件设置,可使用netsh firewall set命令。
在“例外”选项卡,如图7-10所示,可以启用或禁用某个现有的程序或服务,或者添加、修改和删除例外的程序或服务,从而维护“例外”列表。当选中“常规”选项卡上选择了“不允许例外”选项时,例外网络通信将被拒绝。主要有以下可选内容:
图7-10 “例外”选项卡
在“异常”选项卡上,对于Windows XP SP2之前的版本,仅能根据传输控制协议(TCP)或用户数据报协议(UDP)端口来定义例外网络通信。而对于Windows XP SP2,可以根
- 2 -
据TCP和UDP端口或者程序或服务的文件名来定义例外。在程序或服务的TCP或UDP端口未知或需要在程序或服务启动时动态确定的情况下,更需要这种具有灵活性的配置方式。
此外,例外程序和服务中有一组预先设置的程序和服务,如文件和打印机共享、远程协助、远程桌面等,这些Windows系统预定义的程序和服务不可删除。
在组策略允许的情况下,可以通过单击“添加程序”,创建新的例外程序或服务;通过单击“添加端口”,创建新的例外的TCP或UDP端口等。
单击“添加程序”后弹出的对话框如图7-11所示,这里便可以通过列出的已安装程序或浏览查找所需添加的例外程序进行选择。
除了可以添加新的例外程序,Windows XP SP2防火墙的特性之一就是可以进一步通过激活“更改范围”功能,重新选择例外程序或端口的应用范围,如图7-12和图7-13所示。这里,范围定义了允许发起例外网络通信的网段,可更新的范围主要有三种方式:来自Internet的任意计算机,仅限于与本机同属于一个子网的计算机,基于子网掩码自定义网段等。当希望本地子网上的计算机访问某个程序或服务,但是又不希望允许潜在的恶意Internet用户进行访问,可以直接选择第2种方式;当仅允许一台IP地址为
192.168.0.99的主机及它所在的一段子网内的主机访问例外程序或服务时,可以再给出子网掩码为255.255.0.0。这样,允许来自192.168.0.1到192.168.255.254范围内的IP地址的主机和本机例外程序有网络通信。
图7-11 添加例外程序或服务
- 3 -
图7-12 例外程序受限的更新范围 图7-13 例外程序自定义的更新范围
在“例外”选项卡上,单击“添加端口”功能时,将弹出配置TCP或UDP端口的对话框,如图7-14所示。并且也可以进一步更改例外的应用范围,类似于图7-13和图7-14,这里不再赘述。
按照图7-11 到图7-14的使用方式添加了某个例外程序或端口之后,它在“程序和服务”列表中就被默认禁用。若启用之后,它们对于“高级”选项卡上所选择的所有网络连接都将处于启用状态。
图7-14 例外程序添加端口
打开“高级”选项卡,如图7-15所示,主要包括网络连接设置、存储安全日志、设置ICMP和还原Windows防火墙默认设置等。
- 4 -
图7-15 “高级”选项卡
在“网络连接设置”中,可以针对Windows系统已安装的网络,选择是否启用防火墙。在默认情况下,所有网络连接都启用了Windows防火墙。如果清除“网络连接设置”中的所有复选框,那么Windows防火墙将不会保护本机,而在“常规”选项卡上所选择的“启用防火墙”功能将被忽略。此外,若在“常规”选项卡上选择了“不允许例外”的情况下,那么“网络连接设置”中的设置将被忽略,所有的网络接口都将受到保护。
对于一个非标准的网络连接,将不会出现在网络连接设置列表中。这种非标准的网络连接包括Internet服务提供商(ISP)提供的自定义拨号程序等。
针对所选择网络连接单击“设置”,通过弹出“高级设置”对话框,如图7-16所示,可以进一步针对某个网络接口单独选择运行的服务,或者添加、修改或删除新的服务等。例如,这里配置了本地连接下的Telnet服务,该服务是Windows系统预设的服务之一,端口号已经默认给出,只需配置计算机标识或IP地址,并且该服务不可以被删除,如图7-17所示。通过选择“Telnet服务器”,Internet用户便可以访问运行在本机上的Telnet服务。
- 5 -
图7-16 特定网络接口下的高级设置 图7-17 具体服务配置
另外,可以在“高级设置”对话框中的“ICMP”选项卡上选择是否启用特定类型的ICMP流量,将应用于Internet 控制消息协议 (ICMP) 通信以及用于错误和状态信息传输。在“ICMP”对话框中,可以启用或禁用某个网络接口的ICMP通信消息的类型。系统默认为该列表中不允许任何ICMP消息。
图7-18 针对具体网络接口的ICMP设置
若允许本地网络接口下的允许传入Echo请求,如图7-18所示。在网络连接的错误诊断过程中,一个常用的方式是使用Ping工具检验尝试连接的计算机地址。在检验时,发送一条ICMP Echo消息对应于一条ICMP Echo Reply消息作为响应。默认情况下,Windows防火墙不允许传入ICMP Echo消息,因此该计算机无法发回一条ICMP Echo
- 6 -
Reply消息作为响应。因此为了配置Windows防火墙允许传入的ICMP Echo消息,则必须启用“允许传入回显请求”设置。
在“高级”选项卡的“安全日志”功能中,单击“设置”,可以指定Windows防火墙日志存放的位置、日志的大小以及记录的内容,例如,是否要记录丢弃的数据包或成功的连接等配置,如图7-19所示。
图7-19 Windows防火墙的日志配置
最后,“高级”选项卡的“还原默认设置”功能,可以将Windows防火墙重设回它的初始安装状态。 当您单击“还原默认设置”时,系统将在Windows防火墙设置改变之前再次提示用户的选择,如图7-20所示。
图7-20防火墙还原默认设置提示
二、Linux系统下的配置实例
Ubuntu是一个以桌面应用为主、基于DebianGNOME桌面环境的Linux操作系统,也是近年来比较流行的Linux版本之一。由于基于命令行的防火墙配置使得多数用户不易掌握,因此可以从Ubuntu所提供的Synaptic(新立得软件包管理器)中获取该系统所支持的第三方防火墙软件Firestarter。FireStarter是基于GTK+且独立于 iptables 的防火墙配置工具,它的最大优势在于它是一个具有图形用户界面的第三方软件,因此它的配置过程不再需要像Linux多数版本中自带的iptables那样,需要掌握复杂的命令行模式,通过设置文本配置文件和shell脚本来完成防火墙的安装及配置。但值得注意的是,Firestarter只是为用户防火墙配置IP表规则,所以它仍然将iptables作为防火墙运行的基本组件。当然,对于熟悉Linux系统的管理员,也仍然可以使用Ubuntu的终端命令行模
- 7 -
式。这里将主要详细介绍Firestarter的获取、安装、配置和使用等一系列过程。对于iptables的命令行使用,读者可参阅相关的技术文档。
1、建立Ubuntu系统运行环境
作为一个桌面型Linux操作系统,Ubuntu的安装及网络配置过程比较简单,既可以将它单独地安装在一台计算机上,也可以基于虚拟机技术及产品,如VMWare,将Ubuntu作为客户机操作系统安装在宿主操作系统上,如Windows XP。建立Ubuntu运行环境的详细过程这里不再赘述。
2、获取Firestarter防火墙软件
利用Ubuntu提供的Synaptic新立得软件包管理器可以直接通过网络获取最新的Fire starter防火墙。Ubuntu运行所需的大多数软件包都可以从Synaptic获得,下载到本地之后,Ubuntu会直接安装该软件包。 此外,也可以通过终端命令行来执行软件包的安装,如apt-get install命令等。单击Ubuntu主菜单上的“系统”→“系统管理”,打开“新立得软件包管理器”。在软件包管理器中,可以看到Ubuntu环境下所需的所有软件包。通过界面上的“搜索”功能,可以找到所需的Firestarter防火墙软件。
3、Firestarter安装及运行
搜索到Firestarter软件包,管理器便开始下载及自动安装过程,安装成功后,可以看到已安装的版本信息以及最新的软件包版本等,在Ubuntu主界面的“系统”→“系统管理”菜单下看到Firestarter软件,单击后执行该软件,弹出主窗口如图7-21所示。
图7-21 Firestarter防火墙主窗口
4、利用“运行向导”完成基本配置
在Firestarter主窗口的“防火墙”菜单下执行“运行向导”,可以通过简单的步骤完成防火墙的基本配置。如图7-22所示,开始运行向导配置。
- 8 -
图7-22 运行防火墙配置向导
下面两个步骤分别完成内部网络接口设备配置(如图7-23)、外部连接到Internet的
网络接口设备配置(如图7-24),这里系统自动检测出已有的网络接口设备,用户不需要修改。这里内外网应该有两个网络接口设备,不能是同一个设备。选择“Enable Internet connection sharing”功能,可以满足内部局域网内的其他计算机可以共享本机的Internet连接,并且内网的这些计算机都将得到防火墙的保护。两步设置成功后,便可以开始启动防火墙,如图7-25所示。
图7-23 内部网络接口设备配置
图7-24 外部网络接口设备配置
- 9 -
图7-25 开始启用防火墙软件
5、Firestarter安全策略配置
单击Firestarter主窗口中的“首选项”功能,在这里可以完成对防火墙中安全策略的所有配置。下面将主要介绍“首选项”对话框,如图7-26所示。
图7-26 “首选项”对话框
在基本用户界面选项中,用户可以选择Firestarter运行时启用托盘图标及在主窗口关闭时最小化。在“事件”选项中,如图7-27所示,对于被阻塞的连接可以定义是否跳过(忽略)重复的侵入,以及是否跳过(忽略)目标不是防火墙的侵入;并且可以维护特定主机、特定端口下的事件日志的记录,通过这些设置,管理员日后获取详细的日志信息,用于分析进出防火墙的通信网络事件。在“策略”选项中,可以选择安全策略配置是否立即应用更新,如图7-28所示。
- 10 -
图7-27 “事件”设置
图7-28 “策略”应用生效
在首选项的“防火墙”选项中,可以配置防火墙启动/重启动的时机,如图7-29所示。这里主要有三种模式:
1)开始运行FireStarter时,启动/重启动防火墙 。 2)当使用拨号网络时,拨号开始启动防火墙。 3)DHCP获得IP时自动运行防火墙。
图7-29 防火墙启动模式
在“网络配置”选项中,可以修改运行向导时设置的网络设备配置内容,如图7-30所示;在“ICMP过滤”选项中,可以选择是否激活ICMP过滤以及允许哪些类型的ICMP包通过,这类似于Windows XP SP2自带防火墙的高级设置中的ICMP配置,如Echo请求、Echo应答、时间戳请求、地址掩码、重定向等,如图7-31所示;在“ToS过滤”选项中可以定义是否激活服务过滤类型,以及针对不同的终端平台优化服务,并选择优化吞吐量、可靠性或交互性等,如图7-32所示;在“高级选项”中,可以选择拒绝数据包
- 11 -
的方式、是否阻塞来自内外网的广播、通信检测等,如图7-33所示。
6、安全策略配置及事件浏览
图7-30 网络配置选项 图7-31 ICMP过滤选项
图7-32 服务类型过滤选项 图7-33 其他高级选项
Firestarter主窗口中有“状态”、“事件”、“策略”三个主要选项卡,对于“状态”,可以了解防火墙当前的运行情况(启用、失效或锁定),对于后两个选项卡,可以浏览被过滤连接的事件日志,以及通过配置流入(Inbound)、流出(Outbound)的通信量策略,从而实现复杂的、自定义安全策略。这里,用户可以灵活地自定义流出政策及默认许可(黑名单)和默认受限(白名单)两种模式,这是Firestarter防火墙的特色之一,是Windows XP防火墙所不具备的。流入策略默认为受限主机或服务(端口)。下面分别是针对流入、流出策略定义允许或拒绝主机(网络)、服务(端口)的设置,这些安全规则集共同保障了内网主机的安全。如图7-34、7-35、7-36、7-37所示。
- 12 -
图7-34 流入策略的允许服务配置
图7-35 流入策略的允许主机配置
图7-37流出策略的允许服务配置(白名单)
图7-36流出策略的拒绝主机配置(黑名单)
在“事件”选项卡中,可以浏览到以上依据“策略”中定义的安全规则集,被防火墙屏蔽的网络连接发生的时间、方向、来源、端口与所用协议等,如图7-38所示,这里Samba是Linux环境下实现SMB/CIFS网络协议的一个软件套件,可以实现虚拟机下的Ubuntu和宿主操作系统Windows之间的文件共享功能;在“事件”选项中,用户也可以实现对日志文件的存储等管理,如图7-39所示。日志文件存储后的位置及浏览如图7-40,图7-41所示。
- 13 -
图7-38 事件日志管理
图7-39 日志文件存储
图7-40 日志文件存储位置
图7-41 浏览日志文件
- 14 -
因篇幅问题不能全部显示,请点此查看更多更全内容