FreeBSD开发模式 和Windows不同的是,FreeBSD并不是一个商业投资产品。FreeBSD是由一群想把操作系统建得真正像一个系统的开发者开发出来的。 FreeBSD的内核是和一整套的系统工具、驱动程序和配置文件一起发布的,这是很有代表性的正式发行。比如说FreeBSD5.2的发行就包括了核心程 序、一个拥有完整功能性的防火墙、网络驱动程序、系统管理通用程序以及核心程序的软件工具包。其他的软件工具包由第三方开发者来提供(比如说 Mozilla开源组织的Mozilla或是Brian Wotring公司的Osiris),但是这些程序都由FreeBSD打包集成在了整个操作系统里面。在打包集成的过程中,这些软件由FreeBSD团队 来进行测试,以确保他们能够与操作系统一起工作正常——但是对于安全问题却没有必需的要求。 因为FreeBSD并不仅仅是一个内核,所以安全功能性能够贯穿整个核心程序和核心系统通用程序,在操作系统开发体系构建的时候建立起来。比如说, 在FreeBSD的核心程序里有一个“安全等级”概念。不同的安全等级有不同的限制。例如在安全等级2中,文件系统不能够被安装,一次时间调节不能被调节 到多于一秒钟。不仅核心程序了解这个安全等级,核心系统通用程序的修改和帮助都强制性使用安全等级。这可能是因为FreeBSD是作为一个端到端的系统开 发出来的。 整个系统的发布步骤有一个具有工程背景的发布团队来控制,这个团队决定操作系统的版本与其所包括的特性,以及下个版本的FreeBSD准备什么时候 发布。这个发布团队制作了一个发放时间表,这个表概述了几个将要发放的版本的情况,同时决定了什么时候旧的版本将会到达“寿命终止”(EOL)。对于操作 系统来说“寿命终止”日期是非常重要的,因为这也是FreeBSD需要为那几个版本的操作系统发放补丁的日期。如果你想要保持当前的版本(并确保安全), 你必须为你的操作系统在“寿命终止”到来的时候进行更新。 Linux开发模式 与FreeBSD相比,Linux是一个非常不一样的东西。尽管它们都是开源操作系统,Linux开发模式却根本不能和前者相等同。在Linux的 核心,只是一个很简单的内核。而核心系统通用程序,包括了管理者们每天所使用的很多驱动程序和工具,是由另外一个完全不同于制作内核的团体所制作的。 Linux的内核是一个外部开发的不连续的实体,然后直接由“Linux社区”进行直接维护。从一个安全的角度来讲,这就意味着安全能力被建在了应用软件 包的通用程序里,而并没有完全反射到内核里面(反之亦然)。 内核和应用软件包由一个发布者(例如Red Hat或者是Debian公司)整合在一起后成为一个完整的操作系统。当代码被整合到一起的时候,这个发布者可能会改变一些内核和一些应用软件包的代码。 一些此类的改变是轻度的耦合改变,还有一些是新功能的部件。每个发布者以自己的方式来进行整合,这就使每个发布者有了有效的自己的操作系统。所以,当你来 为你的企业决定操作系统的时候,与其考虑“Linux”,不如说是“Red Hat”、“Debian”、“Mandrake”等等。 在与发放计划和安全功能性方面,每个发布者都有自己的时间表和技术路线。曾经有一段时间,Red Hat维护着一个安全路线(基本上来说它由SELinux整合到核心操作系统中组成),但是这个似乎已经被废弃了。同样的,每个发布者(操作系统发布者) 控制着自己的系统终止步骤,所以并没有单一日期的“Linux系统终止”。 基于Linux的操作系统的修补由两个步骤组成。当一个系统安全漏洞被发现的时候,这个系统安全漏洞信息被透露给这个代码最原先的维护者。然后这个 维护者会为这个有攻击点的软件发布一个补丁。然后每一个操作系统发布者必须赶紧拿到补丁并做出一个专为基于他们具体代码的自定义的补丁。基于这个补丁,管 理者们才能应用到他们的系统中去。这个两个阶段的补丁过程会导致整个补丁过程的推迟,更重要的事,它会导致混乱和结构管理问题。 结语 我为Linux操作系统的安全性描绘了一幅非常凄凉的图画。因为它的开发模式,很难为这个操作系统决定一个未来趋势,或者维护它会成为一个繁琐之 事。尽管如此,Linux还是有非常多的,对许多操作很有用的特性和出色的程序。所以,当在安全性和效用性之间要有一个妥协的时候,Linux还是在一个 可维持的状态上的。 当为你的企业选择一个适用的操作系统,你需要具有超前眼光而不是仅仅关心某些安全性能,并考虑操作系统长时间的影响是怎么样的。你需要为每个操作系 统都会有的打补丁、升级和维护问题做好准备,并且一定要理解这些活动是怎样来影响你的安全性和可利用性的。最后,在这篇文章里所讨论的企业操作系统都是很 高级的软件组件,有能力让全世界的企业执行IT功能。对你适用的功能未必就对你的邻居适用,但是你必须知道安全性对于这些每一个操作系统来说都是一个复杂 的问题,要求像你为企业选择其他的软件那样非常仔细地来挑选。 |