为你的企业选择一个适用的操作系统来做决定往往是一件很复杂的事。许可证成本、支持的软件、硬件选择、可靠性、当前的管理能力等等都是这个综合体中 的一部分。安全性同样在考虑之中,但是有时候对于选择操作系统来说,到底什么样的“安全”却是很难定义的。除此之外,大多数操作系统安全性方面的市场宣传 夸大其词,因此很难避免被其安全性宣传迷惑从而针对应用环境进行合适的选择。 从根本上来讲,你为你的公司所选择的操作系统是个今后伴随使用多年的平台。从一种操作系统迁移到另外一种操作系统将是一个非常昂贵的选择。所以,你 最好以一种审慎的态度来做出决定。安全性,也许并不是你最优先考虑的事情,但毫无疑问地是,它将会对操作系统的长期使用产生影响。我希望我在这篇文章里所 提出的一个关于操作系统安全性的观点能够为你决定选择什么样的操作系统提供帮助。在你应该选择什么样的操作系统方面我有自己的观点——我只想很直截了当地 告诉你我是一个FreeBSD狂热者——我将尽量不让个人主观因素影响客观事实。 操作安全性 为了理解什么样的操作系统能够迎合你的需求,你必须首先理解在你的操作环境或者操作体系中的“安全”到底是什么意思。操作安全性是指能够长期保持稳 定和可靠操作平台的能力。彼时彼刻被攻击之后而恢复正常工作的单一主机系统是不够的,在企业内的所有系统必须有能力在技术方面、攻击方面和应用程序方面保 持安全。 任何人都可以学会锁闭主机。类似微软或是NIST方面都有相关的主机锁闭指导丛书可以很容易读懂并且照做无误。任何悟性够高的IT专业人员都能够在 这些指导下让一个系统的安全很难被危及到。但是最终来说,这些步骤都只是一个系统整体安全的一方面。如果你不得不经常改变你的系统配置或是根本不清楚操作 系统版本的不同而导致安全性的差异,那么你还是没有达到操作安全性的要求。 操作系统的开发方式对企业应用具有深刻影响。操作系统的开发涵盖了软件开发过程的整个生命周期。怎么样来做计划、设计、编码实现、测试和维护是在根 本上影响着你的环境,但是这些影响就像一场辩论。一些人会说一个结构严谨的步骤过程是建立一个安全并可升级的软件的唯一方式。这是一个大家公认的软件开发 观点,并且在复杂的系统开发中是很广泛流传的。但是,有其他人会说,仅仅是使用一个合理的开发过程并不意味着软件就真的安全了——只是紧紧按部就班的开发 过程就可以了吗? 相反地,开源世界更倾向于对这个问题持有另一个不同观点。很多软件开发者都以相关的、相互协作的态度来进行系统开发,把所有精力都放在了编写代码 上,强迫自己说这是唯一“重要”的功能来进行集成。这种开发模式也许能够做出正确功能设置的软件,但这种开发方式内在问题是没有将安全性提升到系统和系统 结构级别水平。 在信息处理中心最常用的三大操作系统(Microsoft Windows,Linux和 FreeBSD)有三种非常不一样的开发模式。让我们逐一来看看并考虑开发过程是怎么来影响安全性的。 Windows开发模式 微软的Windows是一个由像一个国家那样大的公司开发出来的商业化操作系统。对这个操作系统视觉效果的制作,在公司内部是由高层一直到所有部门 都参与进来的。除此之外,这个视觉因素已经超越了操作系统本身,管理工具软件、普通的用户登录应用软件、甚至开发软件都被集成在操作系统里面,整个的保持 连贯性。这个操作系统的核心是把架构设计和软件集成于整个微软产品体系中。举例来说,加密算法提供商提供的加密算法可以被需要进行加密操作的微软软件产品 调用。同样地,认证信息可以在操作系统所有层级访问到,并能够在一个独特的时尚环境中被应用程序访问(并能够在一个统一的接口中被应用程序访问) 从一个安全的角度来说,微软不仅在开发操作系统过程中来控制安全性能和体系架构,同样在给操作系统打补丁时控制系统安全性。这是在操作安全性里是很 有争议的一方面。微软控制着所有他们操作系统、服务器软件和生产力开发软件的补丁。此外,他们现在有一个规则的时间表(每一个月的星期二)来发布所有的补 丁。这允许了管理员以养成习惯性的来准备测试和开发安全补丁。在没有特别补丁的情况下,微软允许企业提前来计划安全升级并最终可能减少相应的系统停机故障 时间。 最后要说的是,微软控制着初级操作系统和所有支持的应用软件的长期安全计划。他们有一个长期的产品路线图,其中包括了提高安全性和增加功能性。当一 个产品的路线图已经不一定意味着更安全的系统时,微软可靠的开发者网络就该起作用了。因为软件开发者知晓微软的产品路线图,并获取正式发布前的测试版本 后,所以有预先获取有关系统功能安全性和合理使用的信息的可能性。除此以外,微软的开发软件从根本上就支持了Windows的安全功能性。 |