OpenBSD

来自开放百科 - 灰狐
2010年8月31日 (二) 14:58Allen (讨论 | 贡献)的版本

跳转到: 导航, 搜索
Openbsd-90x90.gif

OpenBSD 很可能是世界上最安全的操作系统。在其之上的每一步开发过程都重点关注于构建一个安全、开放和免费的平台。

尽管 OpenBSD 安装一般用于安全服务器和防火墙,但 OpenBSD 广泛的硬件和软件支持使得该操作系统适用于各种各样的目的。

目录

OpenBSD 审核处理

OpenBSD 审核处理可能是该分发版中一致安全性的最大因素。一组有经验的开发人员重点对进入源代码树的每段代码进行了审核。分析代码中的安全缺陷和一般性错误(它们可能并不会影响到整体功能,但可能会作为安全缺陷而被利用)。对每个错误进行认真和及时的处理。这种积极主动的处理方法使得 OpenBSD 免受各种未知攻击的影响,而其他的分发版则在发现攻击后紧急对系统进行保护。

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 服务器设置为防火墙的文章链接,请参见参考资料部分。

加密和随机数

大多数操作系统很少在其关键组成部分中包含加密处理,这使得它们先天就缺乏安全性。导致这种缺陷的一个重要原因是,大多数的操作系统来自美国,不允许开发人员出口健壮的加密软件。OpenBSD 中的加密哈希库包括 MD5、SHA1 和 RIPEMD160。OpenBSD 中的加密转换库包括 Blowfish、数据加密标准 (DES)、3DES 和 Cast。

大部分加密处理都在底层进行,这样一来,用户就不用为了保护系统安全而必须成为加密方面的专家。OpenBSD 开发团队很清楚,大多数管理员并不是安全方面的专家,并且不应该指望他们煞费周折地加强他们的环境。那些认为 OpenBSD 不是用户友好的操作系统的人,大部分是受到了误导。如果大多数管理员愿意花时间使用 OpenBSD 的缺省安全措施来替代任何其他的分发版,那么他们很可能会改变其思维方式。

随机数是确保安全性的重要组成部分。OpenBSD 内核使用中断信息创建不断变化的熵池,它可以为加密函数提供种子数据,并为事务 ID 提供数值。例如,伪随机数可用于进程 ID 和包 ID,这使得那些想要进行攻击的人很难进行欺骗。OpenBSD 甚至在 bind(2) 系统调用中使用了随机端口分配。大多数源于 UNIX 的操作系统要么创建顺序的 ID,要么使用可预测其结果的简单算法。

OpenBSD 团队仍在进一步广泛地研究文件系统的加密,并且在系统中所有可能的地方都对数据进行了加密。将交换分区分为一些小的区域,每个部分使用单独的密钥进行加密,以便确保不会将敏感数据泄漏到系统中不安全的部分,这是传统的基于 UNIX 或 Linux 的系统中常见的问题。如果希望对用户数据进行加密,那么您可以使用 OpenBSD 中的加密文件系统 (CFS)。CFS 工作于用户级,通过网络文件系统 (NFS) 与内核进行通信。该系统允许用户透明地访问经过加密的目录,所以他们可以选择要对哪些数据进行加密,而不用受加密/解密过程的困扰。

安装 OpenBSD

获得该分发版 http://download.huihoo.com/openbsd/ or ftp://ftp.freebsdchina.org/pub/OpenBSD/

通过VirtualBox 安装 OpenBSD 4.2 方法有两种, 直接下载完整的iso文件, 如: OpenBSD-4.2-i386.iso

OpenBSD 4.2 on VirutalBox: http://forums.virtualbox.org/viewtopic.php?t=2582

Welcome to the OpenBSD/i386 4.2 install program.
This program will help you install OpenBSD. At any prompt except password
prompts you can escape to a shell by typing '!'. Default answers are shown
in []'s and are selected by pressing RETURN.  At any time you can exit this
program by pressing Control-C, but exiting during an install can leave your
system in an inconsistent state.
Terminal type: [vt220] Enter
kbd(8) mapping? ('L' for list) [none] Enter
Proceed with install? [no] y
Which one is the root disk? (or done) [wd0] Enter
Do you want to use *all* of wd0 for OpenBSD? [no] Enter
fdisk: 1> e 1
Partition id ('0' to disable)  [0 - FF]: [0] (? for help) A6
Do you wish to edit in CHS mode? [n] y
BIOS Starting cylinder [0 - 2585]: [0] 203
BIOS Starting head [0 - 239]: [0] Enter
BIOS Starting sector [1 - 63]: [0] 1
BIOS Ending cylinder [0 - 2585]: [0] 2585
BIOS Ending head [0 - 239]: [0] 239
BIOS Ending sector [1 - 63]: [0] 63
fdisk:*1> p
fdisk:*1> f 1
fdisk:*1> p
fdisk:*1> w
fdisk: 1> q

一些分区参考: these numbers can be used as a starting point:

   (root)             60MB
   /usr               500MB (no X) or 660MB (with X)
   /var               25MB
   /tmp               50MB
   swap               32MB

Initial label editor (enter '?' for help at any prompt)

> ?
> p m
 #             size        offset  fstype [fsize bsize  cpg]
 OpenBSD area: 1537.5M-19092.9M; size: 17555.4M; free: 17555.4M
   c:      19092.9M          0.0M  unused      0     0      
   i:       1498.7M          0.0M  MSDOS  
> d c
> a a
 offset: [3148740] Enter
 size: [35953470] 150m
 Rounding to cylinder: 321300
 FS type: [4.2BSD] Enter
 mount point: [none] /
> a b
> a c
> a d 
> a h
> q
Write new label?: [y] Enter

Mount point for wd0d (size=128520k)? (or 'none' or 'done') [/tmp] Enter
Mount point for wd0e (size=83160k)? (or 'none' or 'done') [/var] Enter
Mount point for wd0g (size=6297480k)? (or 'none' or 'done') [/usr] Enter
Mount point for wd0h (size=4195800k)? (or 'none' or 'done') [/home] Enter
Mount point for wd0d (size=128520k)? (or 'none' or 'done') [/tmp] done
No more disks to initialize.

Are you really sure that you're ready to proceed? [no] y
....

或按照以下传统的步骤信息:

第 1 步.

请确保您下载了 cd42.iso 以及所有的 .tgz 文件、bsd、bsd.rd 和 bsd.mp。

第 2 步. 创建安装媒体

清单 1. 使用 cd42.iso 创建启动 CD

cd42.iso                02-Sep-2007 00:16  4.9M  

清单 2. 将下列文件放入到 Disk 2 上名为 /4.9/i386/ 的目录中

base42.tgz              02-Sep-2007 00:16   41M  
bsd                     02-Sep-2007 00:15  5.9M  
bsd.mp                  02-Sep-2007 00:15  6.0M  
bsd.rd                  02-Sep-2007 00:15  4.8M  
comp42.tgz              02-Sep-2007 00:16   75M  
etc42.tgz               02-Sep-2007 00:15  1.2M  
game42.tgz              02-Sep-2007 00:15  2.5M  
man42.tgz               02-Sep-2007 00:15  7.3M  
misc42.tgz              02-Sep-2007 00:15  2.2M  
xbase42.tgz             02-Sep-2007 00:16   11M  
xetc42.tgz              02-Sep-2007 00:16   74K  
xfont42.tgz             02-Sep-2007 00:16   34M  
xserv42.tgz             02-Sep-2007 00:16  9.9M  
xshare42.tgz            02-Sep-2007 00:16  2.4M
...   

第 3 步. 开始进行安装 最复杂的部分是设置磁盘 部分, 第 1 步设置了传统的 fdisk 可视分区,而第 2 步磁盘标签设置了 OpenBSD 的子分区。

唯一需要进行调整的地方(对于使用两张 CD 安装套件的方法)是在下面的步骤中切换 CD:

参考

相关链接

相关项目

下载

精彩图集

Openbsd-farmer.jpg

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱