首 页
手机版

OpenBSD系统 v7.6官方版

免费开源的UNIX操作系统。

OpenBSD是一个从NetBSD衍生出来的Unix操作系统之一,包含了一些在其他操作系统缺少或是选择性的安全功能,可以在17种不同的硬件环境下运作,包含DEC Alpha、Intel i386、Hewlett-Packard PA-RISC、AMD64、Motorola 68000、PowerPC、Sun SPARC等。专案领导人Theo de Raadt在1995年发起了OpenBSD专案,希望创造一个注重安全的操作系统,所以OpenBSD极度重视程式码的品质,任何对核心的修改都需要经过严格的程式码审阅,他以高品质的文件、坚持开放程式码以及严格的软件授权著名,被称为世界上最安全的操作系统。

OpenBsd 7.6是目前官方发布的新版本,更新主要改善了硬件支持,修复诸多安全问题,并优化了各种用户软件等。比如初步支持高通 Snapdragon X1 Elite (X1E80100) SoC,对三星 Galaxy Book4 Edge 在 ACPI 模式下的启动支持,在 AMD64 上实现了对 AVX-512 的支持,支持 Meteor Lake Arc Graphics 和更新的 Intel DRM 驱动,改进了各种网络驱动程序等等,可以更好的适用于需要高安全性的环境。

OpenBSD安装教程

一、安装准备

下载安装虚拟机如vmware player,并且准备好安装文件,设置根据自己的需求配置好虚拟机,然后载入OpenBSD的ISO镜像

 

二、OpenBSD安装

启动虚拟机,等一会,进入安装第一步,如下图:

有三个选项,输入I进入安装过程,输入U进入升级过程,输入S则进入一个shell环境,进入shell环境后可以输入install重新进入安装程序。

输入I进行安装,进入Choose your keyboard layout(选择键盘布局)选项,一般都为us,也可以输入L列出键盘布局备选选项查看,然后选择自己的键盘布局。下一步进入Choose your keyboard layout(设置主机名)选项,这里设置为VM1,下一步进入网络配置部分,系统列出了当前全部的网卡,这里有两个vic0和vlan0,其中vic0是我们虚拟机配置里那个采用桥接方式的那个网卡,选择配置那一块网卡,默认为vic0,回车,进入配置ipv4地址选项,默认是dhcp,我们采用静态ip,输入ipv4的地址:192.168.1.123回车,进入设置掩码选项,默认为255.255.255.0,如不对,自己在后面填写正确的掩码,回车,不配置ipv6地址,默认none,回车,再一次进入选择网卡进行配置的选项,如果有多个网卡,这里可以配置下一个,这里选择done完成网卡配置,回车进入配置网关地址选项,填入19.168.1.1回车,进入设置dns域名的选项,如果公司有域名这里可以填写如( openbsd.org或者baidu.com等)这里我填写openbsd.org。那么我的机器将来的唯一标识则是主机名加上域名,即为:VM1.openbsd.org。填写好回车,进入DNS解析服务器的ip地址,多个dns解析服务器的ip用逗号隔开,我填写:202.106.195.68。以上操作步骤如下图:

回车,系统询问还要进行其他的网络配置吗,默认no回车,进入设置用户密码的选项,不回显。连续输入两次。回车,系统询问是否默认启动sshd服务,默认为yes,建议选择yes开启ssh登陆。回车,系统询问是否默认启动ntpd服务,这是个时间同步服务,可以开启也可以不开启,如果系统需要准确的时间,建议开启以便和网络上的时间服务器进行时间同步,默认为no,这里选择不开启,回车系统询问是否期望运行X window系统,默认为yes,这里可以选择yes也可以选择no,我这里选择yes,回车系统询问是否默认运行x window ,默认值为no,这里选择默认值,即不启动x window,回车系统询问change the console to com0默认no即可。下一步系统让新建用户,这里不新建用户选择no即可,下一步,选择时区,可以输入L查看备选选项,这里选择Asia/Shanghai选项,下一步系统列出了当前可用的磁盘,如果有多快磁盘,选择指定的磁盘回车,系统提示是否在/etc/fstab里面使用DUIDS替代默认的设备名称,默认为yes即可,下一步系统提示是使用整个磁盘还是编辑MBR以使用部分磁盘,这里选择Whole全部即可,如下图:

下一步,系统会默认有一个分区方案,如果同意的话输入A采用自动分区方案,或者输入E编辑自动分区的方案或者输入c采用自定义分区方案,这里我采用自定义分区方案,输入c如图:

下一步进入自定义分区,输入?可以查看分区命令,分区编号可以是a到p的任何字母,但要注意,分区的时候,两个分区号代表特殊意义,即 b代表交换分区,c代表整个磁盘,所以添加第一个分区 a  a即可,添加交换分区 a b ,不能使用a c,添加第三个分区 a

offset是分区开始的地方,size是分区的大小,fs type默认即可,mount point填入挂载点。这里我给/分区分了10G的空间,交换分区分了1G空间,剩下29G分给了/opt分区。

完成后,系统进入选择安装介质的选项,默认cd回车即可,选择cd0,第一个光驱,回车,选择路径,默认即可。系统列出了都有哪些包可以安装,如图:

取消选择的包可以使用-包名的方式,如-game51.tgz,选择一个包输入报名回车即可,选择好所要安装的包后回车开始安装openbsd系统。如图:

安装完成后进入shell,为了使系统生效,我们需要重新启动系统,输入reboot:

重新启动过程中,系统会生成rsa密钥对等等,启动完成后,如输入root 密码进入系统:

可以看看我们的分区:

3.1、ports方式安装

下载ports压缩包,移动到/usr目录下,并解压(解压过程比较长)。

 ports安装方式是一种源码编译安装方式,本质是一对makefile文件,安装过程中,会从网络上下载源代码编译安装,会将依赖的包一并编译安装上,openbsd默认没有安装bash,这里我们安装下bash。进入/usr/ports/shell/bash/下执行make install如图:

编译过程检查依赖关系并下载编译安装依赖的软件库:

编译过程:

编译完成:

编译过程中,会将编译好的文件打包放到/usr/ports/packages/i386/all目录下,方便下次使用该文件,我们看下安装bash编译了那些软件和库:

改变root默认shell,重新登录起效:

3.2、package安装方式

package是预编译的二进制包,不同于ports源码安装,事实上,ports安装方式也会打包一个package二进制文件,你完全可以将此二进制文件拷贝到别的地方安装,openbsd默认没有安装python,现在采用package安装python2.5.4,采用package安装方式也会将依赖的软件和库一并装上。

安装过程:

安装完成:

使用python:

软件特色

一、OpenSSH

第一个值得关注的包是 OpenSSH,所有的 UNIX 和 Linux® 用户对它都很熟悉。然而,许多人可能并不知道它来自于 OpenBSD 开发人员。OpenSSH 最初用于 OpenBSD,后来成为标准的安全 Shell (SSH) 包,并移植到几乎所有版本的 UNIX、Linux 和 Microsoft® Windows® 操作系统。OpenSSH 包括用于安全登录的 ssh、用于安全复制的 scp 和 sftp,后者是 ftp 的安全替代方法。所有的源代码都符合开放源代码 BSD 许可,必须遵守 OpenBSD 的规程以杜绝在该分发版中出现任何专用代码和限制性许可计划(这是创建新版本的 SSH 的原动力)。OpenBSD中所包含的每个软件部分都是完全免费的,并且在使用上没有任何限制

二、加密

因为OpenBSD项目是在加拿大进行的,所以其中应用的加密技术不受美国的出口限制,这使得该分发版可以充分利用各种现代的加密算法。几乎可以在该操作系统的任何地方找到加密处理,从文件传输到文件系统,乃至网络。OpenBSD 中还包含伪随机数生成器,它可以确保无法根据系统状态预测随机数。其他的特性还包括加密哈希函数、加密转换库和加密硬件支持

三、IP安全协议

OpenBSD中另一个主要的部分是IP安全协议 (IPSec),该操作系统中没有依赖先天不安全的TCP/IP Version 4 (IPV4),而使用了这个协议。(IPV4 选择信任所有的人和所有的事物。)IPSec 对数据包进行加密和验证以保护数据的保密性,并确保在传输过程中不会对数据包进行任何更改。随着TCP/IP Version 6 (IPV6) 的引入,IPSec 成为标准的 Internet 协议中不可或缺的部分,这使得未来的 Internet 在缺省情况下更加安全

四、防火墙

1、因为OpenBSD很小并且很安全,所以OpenBSD实现的最常见目标之一是用作防火墙。防火墙从底层对大多数安全单元进行操作,并且 OpenBSD 的包过滤实现是非常优秀的。Packet Filter (PF),OpenBSD 开发社区设计的开放源代码解决方案,它是 OpenBSD 所选择的方法。与 OpenBSD 软件的其他许多部分一样,这种方法非常成功,以至于其他的 BSD 变种纷纷将其移植到自己的分发版中

2、OpenBSD配置为缺省安全,所以在设置坚如磐石的防火墙时,您无需关闭过多的服务。您需要启用第二个 Ethernet 接口,并根据需要配置 PF。有关介绍如何将 OpenBSD 服务器设置为防火墙的文章链接

四、加密和随机数

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

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

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

更新日志

v7.6版本

一)、各平台改进:

一、arm64版

1、针对arm64实施Spectre-V4缓解措施。

2、扩展了对Cortex-A57的Spectre-BHB缓解支持。

3、启用arm64上可用的增强特权访问禁止(EPAN)。

4、识别Cortex-A520AE(Hayes AE)和Cortex-A720AE(Hunter AE)CPU

5、使LED在SolidRun ClearFog CN9130 Base上工作。

6、增加了高通公司Snapdragon X Elite(X1E80100)支持。

7、实现了对PSCI提供的更深空闲状态的支持,减少了空闲功耗。

8、根据识别的功能位和ID寄存器值的净化值填充arm64 HWCAP和HWCAP2标志。

9、在ACPI模式下启动三星Galaxy Book4 Edge(x1e80100)。

10、与amd64一样,使用FEAT_RNG将熵输入arm64上的随机子系统。

二、amd64版

1、缓解了Intel Atom CPU中存在的RFDS(注册文件数据采样)漏洞(需要更新固件)。

2、实现了对AVX-512的支持。

3、缩短dmesg(8)当缓存信息行与前一个CPU相同时,通过抑制缓存信息行输出。

4、简化了中amd64 CPU标志的标志信息的显示dmesg(8).

5、将cpuid提供的AMD Secure Encrypted Virtualization(SEV)相关信息添加到dmesg(8).

6、在amd64总线dma中实现AMD SEV的反弹缓冲。

7、在amd64上实现了MSI和MSI-X的硬件屏蔽。

8、在amd64上实现唤醒中断。

9、确保在amd64和i386上从挂起到空闲期间选择了最深的可能C状态。

10、关闭amd64(和i386)机器电源时,将目标ACPI设置为S5,而不是尝试将设备置于D3电源状态。

11、通过避免使用“使用”计数缓存属于内存范围的页面,以保持低页面可用,避免页面耗尽,从而防止了amd64上的活锁。

三、riscv64版

1、当固件支持时,使用SBI调用重新启动或关闭电源。

2、通过DMA标签通信缓存相干DMA状态主总线(4).

3、支持Milk-V先锋板。

4、已在riscv64上启用UVM percpu缓存。

四、powerpc版

1、导出了基本的HWCAP位,以便应用程序检测powerpc64上的Altivec和VSX。

2、导出了基本的HWCAP位,以便应用程序在powerpc上检测Altivec。

五、mips64版

1、在mips64(以及sparc64和luna88k)上启用了uvm per-cpu页面缓存

六、alpha版

1、将alpha转换为MI mplock代码。

二)、各种内核改进:

1、减少dmesg只打印有关启用的资源的PCI资源冲突的输出。

2、删除了msyscall机制,现在由更严格的机制取代可模仿和松叫声.

3、改变质押,mmap的MAP_STACK和松叫声无法使用uprintf而不是写进dmesg.

4、制造见证人显示锁周期超过两个锁。

5、进行“现场见证”展示见证人锁定子类型ddb.

6、制造ddb通过在ddb-show-mbuf中实现/c和/p修饰符来打印mbuf链和数据包列表。

7、修复arm64 ddb上的回溯打印。

8、补充pathconfat:路径conf但使用at-fd和flags参数,后者支持获取符号链接的时间戳解析。

9、确保pmap _创建在内核虚拟空间不足的情况下等待。

10、通过将extract_entropy()与enqueue_randomens()逻辑解耦,使arc4random()依赖于更少的子系统。

11、确保对dequeue_randomens()的并发调用将使用一些不同的事件。

12、努力支持S0睡眠状态,改善现代硬件上的暂停/恢复体验。

- 在amd64上添加了“suspend-to-idle”的实现,在不支持S3的机器上启用了suspend。

- 当FADT指示FADT_POWER_S0_IDLE_CAPABLE时,开始在acpi:sleep状态行上打印“S0ix”而不是“S0”,假设供应商同意这些机器的S0挂起与S3一样好或更好。

- 添加了一个临时方法,通过machdep.lidaction=-1强制S0越过S3。我们还没有准备好根据FADT中的S0ix位选择S0-over-S3,但这将允许测试。

- 修复了许多驱动程序中与暂停/恢复相关的错误。

13、使exit1()等待系统“allprocess”循环可防止由于并发进程exit1()而导致内核崩溃。

14、防止在以下情况下发生潜在碰撞保险丝使用ufs索引节点。

15、确保在所有文件系统中,通过readdir名称验证传回的文件名不包含“/”字符,以避免在不受信任的文件系统上意外地进行路径遍历。

16、修复了ELF二进制文件中无效的pin表导致的内核崩溃。

17、将AF_UNIX的默认缓冲区大小从8192增加到32768,避免了sshd当网络堆栈被推到足以消耗大部分允许内存时,就会触发这种情况。

......

收起介绍展开介绍
  • 下载地址
OpenBSD系统 v7.6官方版

有问题? 点此报错

发表评论

0条评论