深度探索 OpenBSD操作系统

作者: 紫琼 2006-09-08 00:15:40
OpenBSD 很可能是世界上最安全的操作系统。在其之上的每一步开发过程都重点关注于构建一个安全、开放和免费的平台。UNIX® 和 Linux® 管理员请注意:您可能在日常工作中已经使用了从 OpenBSD 中移植的工具,只是您并不知道而已。或许,现在我们应该对整个操作系统进行更深入的研究。
当安全性作为最重要的考虑因素时,有必要研究产生现在安全远程访问方面的标准 OpenSSH (Open Secure Shell) 的操作系统。OpenSSH 只是 OpenBSD 中的一部分,而该分发版从底层开始着重强调了安全性,它实现了创建一个缺省安全 的类 UNIX® 操作系统的目标。这种立场与现在大多数的操作系统有所不同,对于这些操作系统,在实际使用之前需要耗费大量的时间和精力对其环境进行加强。事实上,OpenBSD 是如此的安全,以至于在 DEF CON 竞赛中曾一度禁止使用它,在这个竞赛中,破解高手们 对所有其他的系统进行攻击。
BSD 概述
Berkeley Software Distribution (BSD) 是历史最悠久和最流行的 UNIX 版本之一。现在,它被分为许多不同的版本,其中有三种比较常见的开放源代码分发版:
FreeBSD
OpenBSD
NetBSD
尽管 FreeBSD 在这三种发布版中使用得最广泛,但每个版本都有其显著的优势,这使得选择正确的解决方案成为一项重要的决策。FreeBSD 是三者中最常见的系统,广泛应用于 i386 环境。当安全性成为最重要的考虑因素时,OpenBSD 则是合适的分发版。NetBSD 提供了一种小规模的、高度可移植的选择,它可以运行于各种各样的体系结构中。
OpenBSD 审核处理
OpenBSD 审核处理可能是该分发版中一致安全性的最大因素。一组有经验的开发人员重点对进入源代码树的每段代码进行了审核。分析代码中的安全缺陷和一般性错误(它们可能并不会影响到整体功能,但可能会作为安全缺陷而被利用)。对每个错误进行认真和及时的处理。这种积极主动的处理方法使得 OpenBSD 免受各种未知攻击的影响,而其他的分发版则在发现攻击后紧急对系统进行保护。
OpenBSD:使用地点与时间
在任何强调安全性的环境中,都可以安装 OpenBSD。现在,大家的安全意识越来越强,计算机需要全天候连接到 Internet 上,无论是在家庭、政府或企业环境中,很少有人把安全性问题不当回事。金融巨头依赖 OpenBSD 以确保企业网络和客户记录的安全。与其他的类 UNIX 操作系统相比,OpenBSD 可能并不拥有广泛的用户基础,但是在许多网络中的最关键的地方通常都安装了该操作系统。
作为 NetBSD 的近亲,OpenBSD 也可以运行于各种各样的硬件之上。下面具体来了解一下:
Alpha:基于 Digital Alpha 的系统
amd64:基于 AMD64 的系统
Cat:StrongARM 110 评估板 (Evaluation Board)
hp300:Hewlett-Packard HP 9000 系列的 300 和 400 工作站
HP/PA:Hewlett-Packard Precision Architecture (PA-RISC) 系统
i386:基于 Intel® i386 体系结构和兼容处理器的标准计算机
luna88k:Omron LUNA-88K 和 LUNA-88K2 工作站
mac68k:基于 Motorola 680x0 的带 MMU 的 Apple Macintosh
macppc:从 iMac 开始,基于 Apple PowerPC 的计算机
mvme68k:基于 Motorola 680x0 的 VME 系统
mvme88k:基于 Motorola 881x0 的 VME 系统
SGI:基于 SGI MIPS 的工作站
SPARC:Sun sun4-、sun4c- 和 sun4m 级的 SPARC 系统
SPARC64:Sun UltraSPARC 系统
VAX:基于 Digital VAX 的系统
Zaurus:Sharp Zaurus C3x00 PDA
OpenBSD 核心包和特性
既然已经确定了 OpenBSD 是否适合于您的硬件平台,下面让我们更仔细地了解一下 OpenBSD 中一些重要的部分。
OpenSSH
第一个值得关注的包是 OpenSSH,所有的 UNIX 和 Linux® 用户对它都很熟悉。然而,许多人可能并不知道它来自于 OpenBSD 开发人员。OpenSSH 最初用于 OpenBSD,后来成为标准的安全 Shell (SSH) 包,并移植到几乎所有版本的 UNIX、Linux 和 Microsoft® Windows® 操作系统。OpenSSH 包括用于安全登录的 ssh、用于安全复制的 scp 和 sftp,后者是 ftp 的安全替代方法。所有的源代码都符合开放源代码 BSD 许可,必须遵守 OpenBSD 的规程以杜绝在该分发版中出现任何专用代码和限制性许可计划(这是创建新版本的 SSH 的原动力)。OpenBSD 中所包含的每个软件部分都是完全免费的,并且在使用上没有任何限制。
加密
因为 OpenBSD 项目是在加拿大进行的,所以其中应用的加密技术不受美国的出口限制,这使得该分发版可以充分利用各种现代的加密算法。几乎可以在该操作系统的任何地方找到加密处理,从文件传输到文件系统,乃至网络。OpenBSD 中还包含伪随机数生成器,它可以确保无法根据系统状态预测随机数。其他的特性还包括加密哈希函数、加密转换库和加密硬件支持。
OpenBSD 中另一个主要的部分是 IP 安全协议 (IPSec),该操作系统中没有依赖先天不安全的 TCP/IP Version 4 (IPV4),而使用了这个协议。(IPV4 选择信任所有的人和所有的事物。)IPSec 对数据包进行加密和验证以保护数据的保密性,并确保在传输过程中不会对数据包进行任何更改。随着 TCP/IP Version 6 (IPV6) 的引入,IPSec 成为标准的 Internet 协议中不可或缺的部分,这使得未来的 Internet 在缺省情况下 更加安全。
OpenBSD 可以作为防火墙
因为 OpenBSD 很小并且很安全,所以 OpenBSD 实现的最常见目标之一是用作防火墙。防火墙从底层对大多数安全单元进行操作,并且 OpenBSD 的包过滤实现是非常优秀的。Packet Filter (PF),OpenBSD 开发社区设计的开放源代码解决方案,它是 OpenBSD 所选择的方法。与 OpenBSD 软件的其他许多部分一样,这种方法非常成功,以至于其他的 BSD 变种纷纷将其移植到自己的分发版中。
OpenBSD 配置为缺省安全,所以在设置坚如磐石的防火墙时,您无需关闭过多的服务。您需要启用第二个 Ethernet 接口,并根据需要配置 PF。有关介绍如何将 OpenBSD 服务器设置为防火墙的文章链接,请参见参考资料部分。

相关资讯