OpenBSD 提供了一个以安全性和加密为重心的 UNIX® 发行版。如果您正在寻找部署在网络基础设施中最为关键的节点中的 UNIX 发行版,OpenBSD 是最佳选择。最新发布的 OpenBSD 4.3 版包含了一些新特性和 bug 修复,本文将简要介绍这方面的内容。
Berkeley 软件发行版(Berkeley Software Distribution,BSD)是最久远、最常见的一种 UNIX 形式,并且将继续扮演此角色。目前,BSD UNIX 共有三种主要形式:FreeBSD,专注于性能和 Intel 处理器架构;NetBSD,专注于可移植性和简洁的设计;OpenBSD,专注于可移植性、安全性和集成加密。
OpenBSD 的口号 —“免费、功能和安全”— 说明了全部。在它的默认配置下,OpenBSD 已经证实是当前最为安全可靠的一种操作系统。它最新的 4.3 发行版继续了这一惯例。
OpenBSD 提供了一种高级别的、开箱即用的安全性。事实上,在过去的 10 年中,默认安装中仅发现了两个安全漏洞。虽然此话题尚存争议(原因是默认 OpenBSD 安装的支持问题),但 OpenBSD 对安全性支持的重视是毫无疑问的。
安全一致性在很大程度上应归功于在分发版中建立的审计流程。一组经验丰富的开发人员专门负责审计进入源码树的各段代码。通常,代码需经过安全性缺陷和 bug 分析 — 这些 bug 可能不会影响一般功能,但是完全可以被当作安全性缺陷处理。每一个 bug 都得到了慎重和及时的处理。这种主动性的方法使 OpenBSD 不受未知攻击侵扰,而其他发行版则需要匆忙应对。
|
虽然 OpenBSD 与其他众多 UNIX 版本不同(由于其安全性和对加密的重视),但它却经常出现在高度安全网络中最为关键的部分。事实上,许多负责公司网络和客户记录维护的金融机构都对自己的 OpenBSD 部署高度自信。
由于 OpenBSD 与其他 BSD UNIX 发行版的关系,它在众多硬件平台中都可用,包括:
- alpha:基于 Digital Alpha 的系统
- amd64:基于 AMD64 的系统
- armish:各种基于 ARM 的设备
- hp300:Hewlett-Packard HP 9000 系列 300 和 400 工作站
- hppa:Hewlett-Packard Precision Architecture (PA-RISC) 系统
- i386:基于 Intel® i386 架构和兼容处理器的标准计算机
- landisk:IO-DATA USL-5P,使用 Hitachi/Renesas SH-4 CPU
- luna88k:Omron LUNA-88K 和 LUNA-88K2 工作站
- mac68k:基于 Motorola 680x0 的 Apple Macintosh(带有 MMU)
- macppc:基于 Apple PowerPC 的机器,从 Apple iMac 开始
- 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 Personal Digital Assistants (PDA)
|
现在,您已经确定了 OpenBSD 是否适合自己的硬件平台。接下来,我们将详细了解 OpenBSD 的一些关键特性。
第一个包是 UNIX 和 Linux® 用户广为熟知的 OpenSSH。但是,许多人可能还不知道它出自 OpenBSD 开发人员。OpenSSH 最初是专为 OpenBSD 开发的,此后便成为了标准的 Secure Shell (SSH) 包,并移植到了每一版本的 UNIX、Linux 和 Microsoft® Windows® 操作系统中。OpenSSH 包含 ssh
(用于安全登录)、scp
(用于安全复制)和 sftp
(File Transfer Protocol 的另一种安全选择)。所有源代码都遵循开源 BSD 许可,根据 OpenBSD 的指示保证所有专属代码和受限许可不在发行版的设计中(这是创建新版本 SSH 的最初动力)。OpenBSD 中的每一个软件部分都是完全免费的,在使用方面没有任何限制。
由于 OpenBSD 项目在加拿大开发,因此不受美国对加密的出口限制,从而允许发行版全面利用现代的加密算法。从文件传输到文件系统再到网络,加密在操作系统中几乎无处不在。OpenBSD 还包含一些伪随机数生成程序,它们将确保不能根据系统状态预测随机数。其他特性还包括加密散列函数,加密转换库和加密硬件支持。
OpenBSD 中另一个需要出口的部分是 IP Security Protocol (IPSec),操作系统使用它替代自带的不可靠的 TCP/IP 版本 4 (IPv4)。(IPV4 选择信任任何人和任何事)。IPSec 对数据据执行加密和验证,从而保护数据的私密性,并确保数据包在传递过程中未受更改。随着 TCP/IP 版本 6 (IPv6) 的引入,IPSec 已成为标准 Internet 协议中不可缺少的一部分,使 Internet 的未来更加安全可靠。
由于 OpenBSD 同时具备轻量和安全的特性,因此 OpenBSD 最常见的一个作用就是充当防火墙。防火墙在最安全位置的底层运行,而 OpenBSD 的数据包过滤实现在顶层运行。数据包过滤(Packet Filter,PF)— OpenBSD 开发社区设计的一种开源解决方案 — 是一个相当优秀的 OpenBSD 方法。与 OpenBSD 软件的许多其他部分类似,它的成功促使其他 BSD 版本纷纷在自己的发行版中加入这一特性。
OpenBSD 的默认设置已足够安全,因此不必关闭太多服务来建立一个坚如磐石的防火墙。您将需要启用第二个 Ethernet 接口,并根据需要配置 PF。有关如何设置 OpenBSD 作为防火墙的文章链接,请参阅 参考资料。
|
OpenBSD version 4.3 引入了一些新特性和改进。其中,最重要的部分包括:
- 修复了 dhcpd(8) 中的缓冲区溢出问题。OpenBSD 版本 4.2 发布后不久,开发人员通过精心设计的 Dynamic Host Configuration Protocol (DHCP) 请求发现了一个造成缓冲区溢出的错误,这使 dhcpd(8) 变得更加健壮。
- hoststated(8) 和 hoststatectl(8) 分别被重命名为 relayd(8) 和 relayctl(8)。relayd(8) 是一个功能齐全的 TCP/IP 中继,也称作 Application Layer Gateway (ALG);其中,主机健康检查只是完整功能的一部分。它目前支持 TCP、Hypertext Transfer Protocol (HTTP) 和 Domain Name System (DNS) 中继;Secure Sockets Layer (SSL) “加速” 或终止;和传统的第 3 层重定向。目前,当被监控主机的状态改变时,relayd(8) 还能够通过 snmpd(8) 发送 Simple Network Management Protocol (SNMP) 转移。它包括在现有 Network Monitoring Systems (NMS) 中监控负载均衡器的特性。
- carp(4) 负载均衡器的配置已经过简化。现在,一个 carp 接口可以包含多达 32 个虚拟主机实例。您可以创建一个 carp 接口,并为它分配多个具备各自 advskew 的 carp 节点,而不必创建多个具有相同地址的接口。
- 版本 4.3 中新增了 4 个针对 802.11 无线设备的驱动程序,包括针对 Broadcom AirForce 设备的 bwi(4) 、 针对 Conexant PrismGT USB 设备的 upgt(4)、针对 Intel Wireless WiFi Link 4965AGN 设备的 iwn(4) 和针对 Ralink Technology 设备的 ral(4) RT2860。
- 闪存驱动器速度方面的改进。
- 对超过 2 TB 容量的超大磁盘的支持。
- 在 sparc64 平台上,支持对称多处理(symmetric multiprocessing,SMP)和新的 eepm(8) 更新允许查询已安装设备的固件。
- 新的面向 malloc 的 M_ZERO 标记允许在单个操作中完成内存分配和调零。
- OpenSSH 版本 4.8 包括修复坏策略和 X11 攻击问题的安全发行版。一个较重大的新特性是对 sshd(8) 的
chroot
支持。在 FTP (SFTP) 服务器上运行的 SSH 将 sftp-server(8) 链接到 sshd(8) 中,而不是将它作为单独的进程处理,这为chroot
设置提供了显著的帮助,因为不再需要特殊的支持文件(如 /dev 节点)。 - Cwm(1) 经过了重大的代码清理。其中并入了一些新特性,包括:使用键盘绑定重新调整窗口和移动光标的功能;默认键绑定现在可以被用户定义的绑定覆盖,同时还允许用户取消键绑定的映射;并且 “exec window manager” 允许您重新启动 cwm(1) 或切换到另一个窗口管理器(即另一个版本),而无需重新启动 X 服务器。
- OpenBSD 版本 4.3 支持超过 5000 个包,并且包括一些小的 bug 修复和改进。
有关独立于机器的主要更改的列表,请访问 OpenBSD 站点。
|
OpenBSD 安装流程有时会让新用户觉得恐惧和困惑,尤其是那些习惯于其他 UNIX 发行版中的简单安装流程的用户。安装的方法和步骤会根据平台而有所不同。此处给出了 i386 架构中的基本 CD-ROM 安装步骤。(有关其他平台的信息,请参阅 OpenBSD 常见问题解答)。
首先,访问 OpenBSD.org 下载页面,选择列表中的任意镜像,然后进入 /4.3/i386/。如果您习惯于安装 Linux 发行版,那么这是第一个不同之处。惟一的 .iso 文件是一个 5 MB 的、名为 cd43.iso. 的文件。这没有问题吧?不必担心:在 OpenBSD 安装中,启动 CD 是基本内核;其余部分提取自可以下载的文件,您可以将它烧录到另一张 CD 上(或者从 OpenBSD.org 购买一个 CD,以帮助支持项目)。确保您下载了 cd43.iso、所有 .tgz、bsd、bsd.rd 和 bsd.mp 文件。(或者采用更简单的方法,下载该目录中的所有文件)。
通过 cd43.iso 创建一张启动 CD,并将它的标签设置为 Disk 1。创建一张普通 CD,在其中添加 /4.3/i386/ 目录下的所有其他文件,并将它的标签设置为 Disk 2。其他方法包括购买 CD、执行网络安装、构建自定义 .iso 文件,但我发现这种两 CD 的方法最简单。
创建安装 CD 之后,从 Disk 1 启动新服务器。命令指示将指导您完成安装过程。您可以在 OpenBSD 常见问题解答的第 4 部分中找到详细的步骤。
最复杂的部分是 “设置磁盘(Setting up disks)” 部分,但是,您可以跳过其中的许多信息,方法是选择对 OpenBSD 使用整个磁盘(如果您没有任何需要保留的其他分区)。无论您的分区决策如何,确保遵循 “创建磁盘标签(Creating a disklabel)” 部分中的步骤,惟一的例外是:您希望的话,可以创建较大的 /usr 和 /home 分区。注意 OpenBSD 中的两层分区系统:第一步是建立传统的 fdisk
可视分区,而第二个 disklabel 步骤将设置 OpenBSD 子分区。
除此之外,使用两 CD 安装的惟一调整是在此步骤中交换 CD:
本文转自IBM Developerworks中国