扫一扫
关注微信公众号

BSD与网络安全
2005-12-19   

最近几年来可以说是网络安全行业大发展的时期,由于越来越多的用户连接到公共网络上,越来越多的用户依赖公共网络提供的资源,这些用户总要保护自己内部信息的安全,必然需要各种网络安全设备、网络安全措施以及网络安全服务。
在网络安全领域中,BSD Unix毫无疑问占据了重要地位,很多网络安全设备就是基于BSD Unix构建的,例如Nokia等厂家的防火墙设备等。当然,网络安全设备操作系统也有采用其他操作系统的,例如Linux或者其他专用操作系统。大量的网络安全设备采用BSD Unix,是因为BSD Unix本身就具备了相当丰富的网络安全技术的基础,本身的灵活性、稳定性也都十分优秀。
1. BSD中的网络安全技术
在BSD Unix本身,就包含了多种有效的网络安全技术,从代理服务器、网络地址转换、包过滤到数据加密等等。
由于代理服务器本身是一个应用层次上的技术,软件本身的可移植性是非常良好的。特别是很多代理服务器本身就是在Unix系统下开发的,因此,BSD Unix对他们的支持是自然而然的。BSD Unix下可以运行多种代理服务器软件,如著名的squid、fwtk等等。
毫无疑问,包过滤技术在BSD Unix中很早就应用了,网络地址转换也是最早在BSD Unix下实现的。当然,随着学习Linux内核的开发人员的不断增加,目前编写一个简单的包过滤软件并不困难,但一个全功能的、高度可靠和稳定的包过滤软件,仍然并不容易实现。在BSD Unix中应用的ipfilter,毫无疑问是功能最强大的、最为可靠的、支持平台最广泛的包过滤软件之一。除了ipfilter之外,还有FreeBSD下的ipfw/natd,在OpenBSD下还有pf,都能比较好的完成包过滤和地址转换的任务。
除了上述的防火墙技术之外,另一个比较重要的网络安全技术是VPN,目前VPN的核心是IPSEC,也有一些其他相关的协议,例如PPTP、L2TP等等,但这些协议通常只应用于特殊领域,例如L2TP主要用在ISP的接入方面。BSD Unix是最早支持IPSEC的系统之一,目前能够完善的支持这些协议,BSD Unix甚至还支持硬件的加密卡,以便加速IPSEC的加密解密处理。
此外,攻击检测系统IDS目前也越来越重要了,但事实上现有的IDS系统都不是十分理想,特别是网络攻击检测系统,主要是由于网络性能方面的影响,使得IDS系统比较难于获得可能的网络攻击信息。在IDS系统中,一个重要的自由软件为snort,有关报道表明,snort在很多方面要优于很多商业的攻击检测系统。事实上,很多商业攻击检测系统就是基于snort进行的二次开发。
有一些用户在实际使用中,报告说snort在Linux下的性能要优于FreeBSD,由于性能对于IDS系统是至关重要的,因此他们就对BSD的网络性能提出了疑问。
为了解释这个问题,事实上需要了解snort的工作方式。作为一个应用程序,snort工作在用户模式下,所有的网络数据包需要从内核传递给snort,然后由snort执行分析。这个传递过程通常是通过libpcap库来完成的,由于这个库能够支持多种平台,因而snort就可以支持多种平台。
在Linux下,从内核向应用程序传递数据包是直接的,不进行任何判断,而在BSD Unix下,这通常是要通过一个BPF的过滤器来完成,这个过滤器能在内核中完成一定的分析判断,从而减少内核和应用程序的通信量,提高性能。然而,对于snort这样的系统,几乎将所有的数据包都传递到用户程序中进行处理,这样就导致没有利用BPF的功能,反而多了一道处理步骤。因此,真正发挥BSD Unix性能优势的IDS系统,应该将BPF的能力利用起来,这样在性能方面并不会差于,甚至要优于其他种类的系统。
当然,具体的网络性能还要受到包括网卡驱动的性能等多方面的影响。
2. BSD的可定制性
众多网络设备使用BSD的另一个原因是BSD Unix具备的高度可定制性。例如,可以将系统定制的比较小,以至于能运行在Flash中,这样就可以使得整个系统没有机械部件,减少机械故障的发生几率。
BSD Unix很早就具备了支持嵌入式系统的这些可定制版本,例如FreeBSD下的PicoBSD,用户可以非常简单的,通过菜单形式的定制,就可以生成可以放置在一个软盘中的BSD系统。最近,又出现了embedbsd、closedbsd等类似的嵌入式BSD系统,事实上,即便不使用这些系统,也可以很容易的定制出一个足够小,可以运行在Flash系统上的小BSD系统。
当然,虽然BSD Unix能够很容易的进行这些定制,但并不意味着BSD Unix完全进入嵌入式系统领域,目前,嵌入式系统的焦点位于PDA、机顶盒领域,这些领域中通常要求对GUI和用户程序的定制,已经有不少嵌入式Linux厂家在这些领域努力并开拓着。但对于更看重网络处理能力的网络安全设备而言,BSD Unix更受欢迎。
3. BSD的许可
对于商业网络安全厂商而言,采用BSD Unix还有一个重要的因素,就是许可权因素。
虽然,BSD Unix和Linux等系统下,已经包括了很多这些丰富的网络安全功能,但是如果一个安全厂商只是简单的应用这些功能,那么他对于其他厂商而言有什么优势呢?而且作为自由软件和通用软件,这些网络安全功能通常考虑是软件本身的结构、可移植性等等,并没有极端追求某种性能,也可能缺乏一些比较少用的安全功能。因此,比较好的网络安全设备供应商,应该提供对系统进行比较多的开发和定制,甚至重新开发相关软件,或者设计一些特殊的加速处理硬件,并在自己的系统进行支持。
然而,按照Linux使用的GPL许可权,这些相关的改动应该公布出去。事实上,很少有厂家这么做,这可能有两种不同的原因,一个是他们本来就没有进行什么有意义的开发,只不过进行了一些简单的定制,将系统装到了工控机系统中而已,另一种可能就是他们进行了开发,但不愿意公布,那么事实上他们违反了GPL。
这样一来,使用BSD Unix的厂商更为诚实一些,因为BSD许可权并没有强制商业厂商一定要公布他们自己修改系统的代码。这样的厂商,应该是比另一类厂商更值得信赖吧!
4.基于硬件和软件的网络安全设备
从前面的讨论,我们可以看出,如果没有一些特殊的优化和功能性的改进,一个基于BSD或Linux的网络安全设备是非常容易实现的,因为基本的功能,BSD或Linux系统本身已经完全具备了,厂商所需要的开发任务也就是对系统的定制,和管理界面的开发等相对简单的任务。这也就是最近两年来,国内出现了无数家网络安全设备提供商的原因。
这么多网络安全设备提供商,就使得网络安全市场非常混乱,最终用户很难搞清楚一个厂商是对系统进行了特殊开发,提供了必要的安全功能,还是只是声称进行了特殊开发,其实系统内核仍然只是BSD或Linux。因为是否进行特殊开发对于用户来讲是不可见的,但对于厂商来讲,必然涉及重要的成本投入,影响设备的最终价格。这个时候,用户也只好将分析判断的能力交给品牌等其他的因素,就个人的意见而言,国内的一些所谓知名网络安全品牌,也没有做什么特殊的开发。
当然,进行过特殊开发的网络安全设备,在一些安全指标上还是会显著的优势的。例如抗DOS攻击能力,一个普通的系统,大约十几兆的syn flooding攻击包就可以将系统完全瘫痪,但具备这个防护能力的安全系统就会仍然正常运行,更优秀的安全系统还会保护正常连接的正常通信。如果一个安全设备具备了这些特殊的安全特性,用户花费几万、十几万的费用去采购这样的一个设备还是物有所值的,否则,如果只是获得的一个简单定制过的BSD/Linux系统,作为一个网络安全行业的旁观者,说实话,对此感到特别的悲哀。
当然,虽然进行特殊的开发能够增强网络安全,从另一方面来讲,更多的低端市场并不需要这些高级功能,很可能一些基础的防火墙功能就足够了,这样的话,简单定制过的BSD/Linux系统,也是可以满足低端用户的需要的。
但是,虽然相关的安全指标还有不少,遗憾的是,用户很难获得权威的第三方中立评测机构对不同系统的评测,将市场正确的划分为高中低端,指导用户对安全设备的采购。这就使得目前市场如此的混乱,用户无法进行正确的判断。
既然很多低端设备本身就是一个简单的BSD或Linux,那为何还要迷信硬件安全设备呢?在国外,软件形式已经开始成为低端网络安全市场中非常重要的一部分,很多Linux厂商都发行了安全系统软件,包括标准的操作系统和安全相关的管理界面,以及预先定制好的安全策略等等,用户只需要简单安装,就可以在普通服务器系统中实现一个基本的网络安全设备,这样的系统并不次于所谓的硬件设备,而且要灵活的多,用户也比较容易承担和实施。但是考虑到国内的实际情况,国内IT决策人员对硬件设备存在一种近乎迷信的信任,总认为硬件设备要比软件强,这样就导致例如checkpoint这样在国外只做软件的公司,在国内竟然也做硬件设备起来了,此外,安全厂商也存在盗版的顾虑,宁愿开发硬件版本,因此这种低端市场软件化的进程会比国外要慢得多,但它显然也是网络安全市场的低端领域的一个重要发展方向。
5.网络安全服务

使用网络安全设备的好处是比较简单,只需要将设备连接上,简单配置之后,就可以实施相应的网络安全策略。
但是,这些基于网络安全设备的安全策略,实质上是比较简单的,用户的网络状况多种多样,具体的安全需求也多种多样,这就导致真正的网络安全策略是比较复杂的,需要有网络安全方面的专家根据具体的需求量身定做,这就给安全服务提供了生存空间。
事实上,很多厂商转向网络安全服务也是不得已的行为,因为BSD和Linux的出现,使得网络安全设备的门槛极度降低,这么多安全设备厂商,又没有比较权威的评测,这么混乱的状态,就使得一些厂商转而去提供安全服务,提供网络安全评估、分析并提出建议,甚至帮助进行系统实施等等。
事实上,网络安全服务对于真正需要实施网络安全的网络系统而言,是十分必要的,这就体现了个性化的安全需求。但是对于大部分普通用户,如果没有那么高的安全需求,也许低端的网络安全设备或安全软件就已经能够满足需要了。

热词搜索:

上一篇:加强终端服务的安全性
下一篇:SecureIIS安全防护系统使用

分享到: 收藏