【转贴】防火墙之争——Outpost往左,LNS向右
从网络开始成为一种生活方式被人们所选择的那一天起,网络安全的重要性便不可避免的日益凸显。马斯洛需求层次理论告诉我们,人们对于安全的需要根深蒂固;科特勒市场理论告诉我们,庞大需求缔造庞大市场——这一切都似乎在宣示,网络安全产品巨大的应用前景。基于这一认识,早在路由器刚刚发明的那个时代,被称为“防火墙”的网络安全技术便诞生了。之后的日子里,从基本的包过滤,到渐成体系的过滤规则系统,再到研究中的动态包过滤,个人防火墙技术的飞速发展从未停滞。点击浏览器图标,链接Google,输入关键词“Firewall”,数数看一共有多少个品牌映入眼帘?今天的网络防火墙世界,正呈现出一派百花齐放,欣欣向荣的繁盛景象!值得一提的是,在这众多网络防火墙当中,有两个与众不同的品牌,它们将成为今天我们讨论的主角——Outpost(以下简称OP)和Look'n'stop(以下简称LNS)。
6 F1 ^1 I$ A' ~3 C4 c: B来自俄罗斯的OP(最新版本3.0-431)与来自法国的LNS(最新版本2.05p3)同属市面上顶级的防火墙产品,从技术方面分析,它们都采用了系统型包过滤规则的网络防御方式。在工作状态下,它们根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制订。报头信息中包括IP源地址、IP目标地址、传输协议(TCP、UDP、ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。OP与LNS目前已经建立起各具特色的过滤规则体系。1 k" f# _/ ]. @' O1 D
先来看LNS。由于尽量简化了不必要的功能,LNS的过滤规则体系显得格外简单,它由两个层面组成:应用程序层面及全局层面。和大多数防火墙不同的是,LNS的防御基调是灰色的,即LNS默认程序或进程有害并有意图阻挡的倾向(这从LNS全局策略的最后一条“Block any other Packets”看得出来)。举例来说,对于要求网络连接的某个程序A,即使你已在应用程序策略中设置允许其访问网络,该程序还必须通过全局策略的检查,这就是说,LNS的应用程序策略优先级要低于全局策略。在上述情况下,只有进一步通过全局策略的检查,程序A才能获得访问网络的许可。很多朋友反映LNS难以设置,关键就是因为这个原因——在应用程序策略里明明已经设置好允许其采用任何方式的网络连接可程序就是连不上网——现在你知道遇到这种情况你还需要修改全局策略,而这确实是比较考量功力的。1 x7 Z- } j( s" M* m6 e4 E
OP的过滤规则体系与LNS有所不同。首先,OP的防御基调是阳光型的,表现在应用程序策略的优先级要高于大部分的全局策略(除开NetBIOS阻挡规则)。OP压制了全局规则拦阻联网请求的欲望,你在这里找不到诸如“Block all other...”这样的字眼,全局规则的逻辑面仅仅覆盖了所有可能情况中的一小部分,其他未覆盖的情况统统交给应用程序策略以及Outpost自定义方针去处理。因此如果某个程序要访问网络的话,通常只需在应用程序层面策略中指定并允许即可;此外,由于OP较LNS加入了更多的监控功能和插件,其构建的过滤规则体系要比LNS要复杂得多。以最新的3.0-431版本为例,OP的过滤规则由十个层面构成,优先级依次递减:
- r- C& v( q% S% w: x% WPlugins--插件- [( c$ y' d( Y* I7 u( o
Trusted/NetBIOS Zones--信任区域
0 x# I9 q1 p% x' t6 GGlobal NetBIOS Block Rules--全局的NETBIOS阻挡规则
# h1 X! ]0 n/ _9 k( WGlobal Rules with High Priority flag--标记为高优先级的全局规则(基本无): A2 @# x. k7 V; w) H% y
Blocked/Trusted Application Settings--应用程序分类设置
( Z! \1 W }* Z9 PApplication Rules--应用程序策略3 o+ x5 G6 M$ w1 y
Global Rules--全局策略
% ^& ?/ w& j9 ^+ D$ q+ cOutpost Policy--Outpost自定义方针; l# B) _7 R% J# w; N7 z9 S7 V
Allow NAT Packets--允许NAT数据包$ R3 c1 _8 Y" T+ T6 Y$ n
Transit Rule--通过规则9 n* h/ s2 `& ~: j7 a- n# |
怎么样,很庞大的规则体系吧?下面我们着重来看看其中的几个层面。
8 D$ P% D( d& L0 h7 Q# q2 {/ U--插件。OP3.0-431自带了包括网页内容过滤、活动内容过滤、入侵检测、广告拦截、Email过滤、DNS缓冲和反间谍七大插件,每个插件都设置了相关的属性,对请求联网的程序进行判断从而决定拦截或者放行。在OP的操作界面上可以对插件属性进行修改甚至禁用这些插件。注意插件的运行是要消耗系统资源的,当你觉得它给你带来的安全性能提升所导致的满足不足以抵消资源耗损引发的不快时,你应该果断的禁用——平心而论,这些插件能够增加的安全系数并不多,包括新增的Anti-Spyware在内。: U7 c3 R3 a1 Y1 K/ X
--应用程序分类。OP将所有已运行的应用程序按可信度分成三组:完全信任组、不信任祖以及部分信任组。注意这种区分的优先级显然要高于应用程序策略——处在完全信任组的程序可以提出任何形式的联网请求都不被拒绝,处在不信任祖的程序无法联网,而所有部分信任组中的程序将通过应用程序策略来进行判断。这种分类的意义在于能够更加方便用户操作——当用户发现某个可信赖的程序联网出现错误时将他加入完全信任组即可解决所有问题。值得再三强调的是,完全信任组同时也是一种危险的存在,不加屏障的允许程序通行可能导致诸多的安全问题,而从带宽占用的角度来看这样做也是不经济的,所以不要轻易将程序置于该组当中除非你真的确定它是可信的。
% V7 T( @ h3 D--应用程序策略与全局策略。这两个层面加在一起构成了OP过滤体系的主要组成部分。相关的设置可以参看《百炼成钢-打磨你的Outpost防火墙》一文,里面已经作了十分详细的说明。
; h- D9 M, `4 [/ v% }" R2 }# B--Outpost自定义方针。Outpost可以对其工作方针进行界定,它一共提供了五种模式供用户选择——禁用模式、多数允许模式、向导模式、多数拦截模式以及全部拦截模式。显然禁用模式与全部拦截模式太过极端,而多数允许模式在安全性上也有所保留,因此我们倾向于在向导模式和多数拦截模式之间作出选择。前面已经说过,OP的全局规则事实上仅仅覆盖了所有可能情况中的一小部分,我们在正常的工作中随时会遇到没有事先界定的网络请求——选择向导模式或多数拦截模式取决于这类突发状况的发生频率。注意到所有的突发请求已经通过了现存体系中全部过滤规则的审核,因此如果你愿意选择多数允许模式的话也未尝不可。有朋友提到仿效LNS的做法在OP全局策略的最后部分人为加上“Block all UDP”、“Block all incoming TCP”、“Block all outbound TCP”等规则,事实上只要你的电脑没有作为局域网网关(由于全局策略优先级>允许NAT数据包,在这里Block的话将导致你的子网客户机无法联网),这些操作完全可以用选取多数拦截的工作模式来代替。
9 Z) B, h4 g% V9 j; V8 o2 _ `8 c/ y8 v( q/ n1 c8 [
综上所述,从产品的种种细节和特点来看,OP与LNS可能分别代表了防火墙产品未来演变的两种趋势:OP立足于功能的拓展以及安全工具的整合,意图以强大的功能、一站式的全面服务来获取更多的用户;而LNS则抛弃一切去追求其向往已久的“反朴归真”,努力为用户提供最节省资源最稳定灵敏的防火墙核心。OP的做法势必导致程序占用资源的增加以及使用上的繁杂,而LNS剑走偏锋的简约化路线则不利于用户对情况的全面掌握——事实上,LNS的应用程序策略就远不如OP的直观和全面,很容易让人产生用WhoisConected做辅助的冲动。: _2 e4 U! Y0 y+ T! o! g7 [7 k* X' A
当然,纵观天下之事,凡有得亦必有失,只是如何善用中庸之道以实现多方的平衡,这实在是值得我们大家去思考的一个问题。希望OP与LNS能够不断朝着正确的方向发展,给我们带来一次又一次的惊喜!