C - 防火墙模式(位于“选项/系统/防火墙模式”)
保持默认设定“增强”,不建议作改动。
D-系统和应用程序全局规则(位于“选项/系统/系统和应用程序全局规则”)
D1-指定DNS服务器地址
DNS(Domain Name System)是通过域名来确定IP地址的一种方法(如 otupostfirewall.com的IP地址是216.12.219.12。详情请查阅RFC 1034 - Domain names - concepts and facilities)。因为连接网站时DNS信息必须通过防火墙以实现IP地址查询,一些木马以及泄漏测试就试图把它们的通讯伪装成DNS请求。然而通过把DNS通讯地址限定为你的ISP所提供的DNS服务器,这种伪DNS请求就可以被有效的拦截。有两 种方法可以完成这项任务:
(a). “全局DNS”设置-把你的ISP的DNS服务器地址加入到全局规则中
改动收益:通过少量工作即可完成上述任务。
付出代价:如果你通过多家ISP上网,那么所有的服务器地址都需要被添加进去-如果你更换了ISP或者ISP更改了它们的服务器地址,那么你就需要把新的地址更新进规则中去。如果你有程序或者网络环境需要应用反复式DNS查询(Windows环境下通常使 用递归式查询,反复式通常是应用于DNS服务器之间),那么配置这条规则就可能会出现问题。
步骤:
●找到你的ISP使用的DNS服务器地址。最简单的方法就是在命令行窗口中使用“ipconfig –all”来查询,Windows 9x/Me/Xp的用户也可以在开始菜单的“运行”对话框中使用winipcfg得到相关信息。
●把这些地址作为远程主机地址加入到“Allow DNS Resolving”全局规则中。
Windows 2000/XP用户还应该把这些地址加到应用程序规则中services.exe/svchost.exe的相关项目中(详情参见E2部分)。
(b). “应用程序DNS”设置-移除全局规则,逐个给每个程序添加DNS规则
改动收益:如此一来新添加的程序通常需要两项规则(DNS规则和程序自身需要的规则)来减少可疑程序在意外情况下的通行。试图与“老家”通讯的恶意程序现在就面临着寻找必要IP地址的额外手续,这样它们会误认为现在无网络连接从而进入休眠状态直到被侦测到 。只通过DNS端口通讯的这类木马程序现在就必须通过额外规则才可以通行,这也是现在唯一可以屏蔽DNShell以及类似泄漏测试的方法。
付出代价:需要完成繁琐的多的工作-每一个程序都需要添加一条额外的规则。更换ISP后需要把所有规则更新为新的DNS地址。
步骤:
●在Windows 2000和XP环境下,关掉“DNS客户服务”(通过 开始/控制面板/管理选项/服务)。这会强迫每个程序发出自己的DNS请求,而不是通过services.exe(Win2000)和svchost.exe(WinXP)发出。
●停用或者删除“系统和应用程序全局规则”中的“Allow DNS Resolving”规则。
●对每一个程序添加一个新规则,使用下列关键字:
<软件名> DNS Resolution:指定协议UDP,远程端口53,远程主机<你的ISP的DNS服务器地址>,允许
可以通过设定本规则为预设规则来简化工作。步骤如下:断开网络,退出Outpost,打开preset.lst文件(位于Outpost程序文件夹中)并在文件末尾添加下列规则:
; Application DNS Resolution
[Application DNS Resolution]
VisibleState: 1
RuleName: Application DNS Resolution
Protocol: UDP
RemotePort: 53
RemoteHost: 加入你的ISP的DNS服务器地址,如有多个用逗号分隔
AllowIt
添加该预设规则后,日后碰到添加规则向导提示的时候只要选定该预设规则导入即可(如果你想允许该程序通行的话)。这种情况下,IP地址在“选项/程序”中将以附带(255.255.255.255)子网掩码的形式出现,此即指明了一个条目的IP地址范围,其与单独一个IP地址所起作用相同。注意此时“工具/自动检查升级”选项应该被禁用,因为对preset.lst的改动可能被自动更新的文件覆盖掉(虽然“自动更新”在覆盖文件以前会提示),一个比较好的办法是手动备份该文件,然后再进行更新,更新完毕后如有必要再把备份文件覆盖回去。
注意-两种DNS设置都需要的规则
不管选择上述两种设置中的哪一种,都需要考虑到一种情况-DNS查询使用更多的是UDP(User Datagram Protocol)协议而不是TCP(Transport Control Protocol)协议。查询使用到TCP协议的情况很少见而且通常是复杂查询-实际使用中通常它们可以被屏蔽,因为该查询会用UDP协议再次发送,因此在全局规则中可以添加一条规则如下:
Block DNS(TCP):协议 TCP,方向 出站,远程端口 53,禁止
如果你想允许此类通讯,那么或者是修改规则为“允许”(指全局DNS规则)或者是为每一个程序创建第二条DNS规则用TCP取代UDP(应用程序DNS规则)。
报告疑为木马程序伪装的DNS活动
任何对已设定DNS服务器以外地址的查询都应该被视为可疑活动而在默认情况下被禁止,此时可以在DOS窗口中用ipconfig /all命令来查询是否ISP的DNS服务器已改变而需要更新DNS规则设置。
此时可以通过在全局规则中其它DNS规则下方添加如下规则来解决-第二条只有在上述提到的TCP DNS规则设为允许的情况下才需要:
Possible Trojan DNS(UDP): 协议 UDP,远程端口 53,禁止 并且报告
Possible Trojan DNS(TCP): 协议 TCP,方向 出站,远程端口53,禁止并且报告
该规则会禁止任何可疑的DNS尝试并且做出报告。注意该规则不推荐采用应用程序DNS设置的用户使用,因为合法DNS服务器地址需要从规则中排除以防止误报(例如当一个没有设置规则的程序发起请求的时候)-指定IP地址范围可以解决该问题,但是Outpo st现有对IP段的处理能力并不是很完善。
D2-指定DHCP服务器地址
DHCP(Dynamic Host Configuration Protocol)是大多数ISP给登录用户分配临时IP地址使用的一种方法。因为想要与ISP建立连接就必须允许DHCP通讯,这也就成为了木马程序为了在不被探测到的情况下向外发送信息所可能采用的一种手段。除此之外,向特定地址用大量的DHCP信息 进行冲击也成为了Denial of Service(DoS)攻击采用的一种手法。更多关于DHCP信息可参考RFC 2131 - Dynamic Host Configuration Protocol。
如果你的系统使用固定IP地址(不管是因为位于内网还是因为使用获得动态地址的路由器)那么此部分设置可以略过。想检查DHCP是否被应用,可以在命令行窗口使用ipconfig /all来查询-在窗口底部可以得到相关信息。
限制DHCP通讯到某个特定服务器比对DNS做出限制要稍微复杂一些,因为Outpost看起来暂时还不能始终如一的精确分辨出DHCP通讯的方向(部分是由于DHCP协议使用UDP协议,部分是由于它能包括的IP地址的变化),因此本规则推荐对本地和远 程端口而不是对方向进行限制。另外,第一次DHCP请求是对255.255.255.255地址发出的广播形式(该通讯应该送达局域网中所有的主机),因为机器启动时无从得知DHCP服务器的地址,后续的DHCP请求(为了更新IP地址分配)才会被发送到 DHCP服务器。
Windows 2000和XP用户可以通过只允许通过全局规则的广播以及对其它请求设定应用程序规则(Windows 2000是services.exe,Windows XP是svchost.exe)来进一步限制DHCP通讯,请参考E2部分获得更详尽的信息。
改动收益:防止对DHCP权限的滥用。
付出代价:如果使用多家ISP,每一家都需要单独设定其服务器地址。如果更换ISP,相关规则也需要做出更新。某些ISP可能会需要通过多项条目进行设定-尤其是在其拥有具有多个连接点的大型网络时。
步骤:
●通过ipconfig /all或者winipcfg查找得到DHCP服务器地址。注意DHCP服务器与DNS服务器地址通常是不同的。
●Windows 9x/ME用户创建全局规则:
Allow DHCP Request: 协议 UDP,远程地址 <你的ISP的DHCP服务器地址>,255.255.255.255,远程端口 67,本地端口 68,允许
●Windows 2000/XP用户创建全局规则:
Allow DHCP Broadcast:协议 UDP,远程地址 255.255.255.255,远程端口 67,本地端口 68,允许
因为DHCP服务器地址可能会发生改变,建议在IP地址分配碰到问题时禁止上述规则中对“远程地址”的设定-如果一切正常就保留该设定,在重新允许该规则以前验证并且更新(如有必要)DHCP服务器地址。DHCP服务器通常不会作出大范围的网络转移,所以 在其地址中使用通配符(例如192.168.2.*)可以有效减少该类问题的发生。
D3-禁止“Allow Loopback”规则
默认规则中的“Allow Loopback”全局规则给使用代理服务器的用户(例如AnalogX Proxy,Proxomitron,WebWasher以及某些反垃圾/反病毒软件)带来了一个极大的安全隐患,因为其允许任何未经指明屏蔽的程序使用为代理设置的规则进行互联网通讯,禁止或者删除该全局规则即可消除隐患。
改动收益:防止未经授权的程序利用代理服务器规则进行通讯。
付出代价:任何使用代理服务器的程序(例如和Proxomitron配合使用的浏览器,等等)都需要设定一条额外的规则(其时弹出的规则向导中的建议配置在绝大多数情况下已经足够应付)。
步骤:
●通过“选项/系统/系统和应用程序全局规则/设置”进入全局规则列表
●通过去除“Allow Loopback”的钩选来禁止该项规则
D4-禁止不必要的全局规则
默认设置中的某些全局规则并不是很恰当,可以通过去除对其的钩选来停用。这些规则包括:
●Allow Inbound Authentication - 一个简陋而且不可靠的检查网络连接端的规则,很少被用到。如果需要的时候,停用该规则可能会导致登入Email服务器的延迟。
●Allow GRE Protocol,Allow PPTP control connection - 这些是使用Point-to-Point Tunneling Protocol的Virtual Private Networks(VPNs)需要用到的,如果没有此需求可以停用这些规则。
改动收益:防止应用这些端口的信息泄漏。
付出代价:禁用“Blocking Inbound Authentication”规则可能会导致收取邮件的延迟(此时可以重新激活该规则,并把邮件服务器添加为远程地址)
步骤:
●通过“选项/系统/系统和应用程序全局规则/设置”进入全局规则列表
●清除对相应规则的钩选
D5-屏蔽未使用和未知的协议
全局规则可以对互联网协议(IP)以及TCP和UDP协议作出限定,对IP涉及到的一系列协议建议全部加以屏蔽,除了下面所述类型:
●ICMP(1)-此协议通过ICMP相关规则来处理;
●IGMP(2)-多点广播需要用到(如在线视频直播),如果需要应用到该项协议就不要禁用;
●ESP(50)和AH(51)-IPSec需要应用到这些协议,所以VPN(Virtual Private Network)用户不要禁用这些设置。
企业用户要谨慎处理这些设置-其中一些选项可能是局域网中路由通讯所必需的。
可以设定一条全局规则来处理这些未知协议(包括类似IPX或者NetBEUI的协议)-建议设定该项规则来进行屏蔽。
改动收益:防止未来可能经由这些端口的信息泄漏。
付出代价:出于Outpost采用的处理规则的方式,这些改动可能会显著增大相关处理流程的数量,尤其对于使用文件共享程序或者位于比较繁忙局域网中的用户来说。
步骤:
未使用的协议
●进入“选项/系统/系统和应用程序全局规则/设置”;
●点选“添加”创建新的全局规则;
●设置指定协议为IP,此时其后面所跟的“类型”是“未定义”;
●点击“未定义”进入IP类型列表窗口;
●选定你想要屏蔽的类型然后点击OK;
●设定响应操作为“禁止”,再自己定义恰当的规则名称后点击OK。
未知协议
●进入“选项/系统/系统和应用程序全局规则/设置”;
●点选“添加”创建新的全局规则;
●设定协议为“未知”,响应操作为“禁止”,再自己定义恰当的规则名称后点击OK