Windows防火墙安全鉴定书
一、Windows Firewall为何方神圣?
Windows Firewall是Windows XP SP2系统自带的防火墙。SP2在早期的Beta版中使用的是改进版的ICF,而在RC版后就改为Windows Firewall。
小知识:ICF(Internet Connection Firewall)是Windows XP、Windows Server 2003系统自带的防火墙。由于功能简单,设置隐蔽,致使很多用户还不知道有该防火墙存在。
二、亲密接触Windows Firewall
Windows Firewall作为系统自带的防火墙,一改ICF功能简陋的缺点,在功能上几乎接近市场上成熟的个人防火墙。Windows Firewall默认是开启的,而且一般无须用户进行干涉。但如果要让防火墙更好地发挥其功能,我们还是需要熟练掌握其设置。具体方法是打开”控制面板”——”Windows防火墙”,但一般我们是点击任务栏右下角的”Windows安全警报”图标,打开”Windows安全中心”后快速进行”Windows防火墙”的设置。
“Windows防火墙”的设置如图1所示,在”常规”选项页中可以设置是否启用Windows Firewall。如果选中”不允许例外”选项,防火墙在阻止程序时不会用户,而且会忽略”例外”选项页中建立的规则,这样就最大限度地保证计算机系统的安全性,一般该功能应用于公共场所的计算机,启用该功能后系统将只能使用Windows自带的程序进行网络通讯(比如IE和OE)。
/qzone/newblog/v5/editor/css/loading.gif
接下来我们看一下防火墙的规则。我们知道,通常防火墙都有自己一套默认的规则,并且允许用户在使用过程中添加自定义的规则来允许程序通过相应的端口发送/接收外网的数据。而Windows Firewall也不例外,不过其默认规则只有四条,而且这些默认规则是不可以删除的,如图2所示。
/qzone/newblog/v5/editor/css/loading.gif
网上许多朋友反映系统升级到SP2后就无法使用”远程协助”"远程桌面”和局域网的共享资源,而检查其他设置都正确,这就是忘记还要在这里设置通行的缘故。防火墙自定义规则可以由系统自动添加或者是用户手动添加。我们在第一次使用应用程序进行网络通讯时,Windows Firewall默认都会自动弹出如图3所示的对话框,提示是否阻止程序进行网络通讯,选择”保持阻止”或”解除阻止”,系统都会自动在Windows Firewall中添加一个应用程序的规则,而”保持阻止”时没有选中该规则,表示阻止该程序进行网路通讯;而”解除阻止”则会选中该规则。
/qzone/newblog/v5/editor/css/loading.gif
如果我们有特殊需要,或者是为Users组成员设置防火墙规则(因为Users组成员没有权限设置Windows Firewall),那么就需要手动创建规则了。打开Windows Firewall界面,选择”例外”选项卡,如图2所示,选择”添加程序”,就可以创建应用程序的规则。而”添加端口”则可以设置开放一个特定端口,这样以后所有程序都可以通过该端口进行通讯而不会提示被阻拦。而”编辑”和”删除”按钮都是对现有的规则进行设置。另外,在选择”添加程序”、”添加端口”和”编辑”时,我们还可以选择该规则的应用范围,比如是”任何计算机(包括Internet上的计算机)”、”仅我的网路(子网)”还是”自定义列表”(填写IP地址)。
在Windows Firewall的”高级”选项卡中,我们可以设置防火墙的一些高级设置,比如选择防火墙应用到哪些网络连接上,默认防火墙应用到所有网络连接的。如果我们不需要防火墙应用于内网,可以取消”网络连接设置”列表中内网的网络连接。单击右边的”设置”按钮,我们还可以针对某个网络连接设置通行的服务和ICMP配置。Windows Firewall和ICF一样,支持端口映射功能。比如内网中某台电脑搭建了Web服务器,我们在相应项目中填写该电脑的内网,再勾选该项目,这样以后外网访问我们电脑的的80端口,通过防火墙的端口映射,其实就是在防火墙内网中某台电脑的80端口。
Windows Firewall不能像其他防火墙一样记录网络上其他计算机对本地电脑端口的扫描和试图连接记录,只能记录”被丢弃的数据包”和”成功的连接”,而且默认是不记录日志的,需要在”高级”选项页中进行设置,这在另一方面也减少系统资源的耗费。
如果我们更改了Windows Firewall许多设置,要想恢复原状,那么可以在”高级”选项页中点击”还原为默认值”。
三、为Windows Firewall雪冤
问:网上一直流传Windows Firewall防外不防内,这样是否会造成数据的泄露?
答:所谓的”防外不防内”是指程序对外发送数据时防火墙不会拦截,而接受外网数据时防火墙才会拦截。其实,Windows Firewall和ICF一样,不会拦截主动的出站连接,同时也不会拦截由于出站初始化造成的入站数据,例如对于域验证信息等等,但并不说明这样就会造成数据的泄露,因为程序在建立连接对外传输数据时,还需要接收来自外网的ACK应答信息,所以此时防火墙就会拦截了。
四、Windows Firewall的缺陷
Windows Firewall的规则是存放在注册表中的,下面我就这个注册表键进行研究:
——————
位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSharedAccess ParametersFirewallPolicyStandardProfileAuthorizedApplicationsList
数据类型:
字符串
语法:
1、字符串名:
字符串名是用来标识该程序的,默认是用程序的完整路径作为字符串名。
2、字符串数据:
由程序的完整路径开头,然后再以 : 隔开,后面依次为端口,操作,防火墙中的显示数据。比如:
G:Program FilesMSN Messengermsnmsgr.exe:*::MSN Messenger
这个表示G:Program FilesMSN Messengermsnmsgr.exe的这个程序,*代表任何端口,Enabled表示允许(Disabled表示禁止),在防火墙中显示的数据为MSN Messenger。整句话完整的说就是:允许G:Program FilesMSN Messengermsnmsgr.exe程序接收任何端口发来的数据,并在防火墙中项目显示MSN Messenger
————
了解上面的方法后,我们如果拥有管理员权限,完全可以直接在注册表中创建相应的注册表键来创建一个防火墙规则,因为Windows Firewall不像其他防火墙一样把规则列表非明文地存放在一个文件中。这样一方面倒提供了许多便利,比如我们可以直接导出该注册表键,以后重新安装系统时再导入即可。但是,如果是病毒程序自动创建了防火墙规则,那么以后它与外网进行通讯时防火墙将不会提示用户是否阻止,从而轻轻松松绕过防火墙了。平时我们使用Windows时通常都是使用管理员帐户的,所以Windows Firewall这个缺点对个人用户来说非常危险,并且有报告指出网上以有某些Spyware就是利用该方法绕过防火墙而不被用户察觉的。所以针对这种情况,我提供几点建议供大家参考:
1、使用第三方防火墙,取代Windows Firewall
2、改用Users组用户进行日常操作。上面也说过,Users组用户是没有权限设置防火墙的,因此不用担心这个缺陷,而且也没有或很少其他安全问题,而这个也是微软提倡的。但因为Users组用户权限的总总限制,使我们平时很少使用Users组用户。
3、平时经常打开Windows Firewall的”例外”选项卡,留意Windows Firewall的规则,一旦发现有陌生程序就删除该规则。
页:
[1]