OpenBSD系统 v7.6官方版

OpenBSD系统 v7.6官方版

官方

系统:Android

日期:2026-01-19

类别:电脑软件

版本:v7.6官方版

  • 详情
  • 相关
  • 评论
    我得说,OpenBSD这系统真是个硬核选手,它源自NetBSD,但Theo de Raadt在1995年搞这个项目时,一门心思就扑在安全上。它能在17种硬件上跑,从老掉牙的Motorola 68000到现在的AMD64,覆盖面广得惊人。最让我佩服的是它对代码品质的死磕,任何核心修改都得经过严苛的代码审查,难怪它被吹成“世界上最安全的操作系统”,连OpenSSH、PF防火墙这些重量级安全工具都是它贡献给世界的。 现在最新的7.6版本也没闲着,硬件支持这块儿玩得挺溜,比如初步支持了高通Snapdragon X1 Elite芯片,还有三星Galaxy Book4 Edge在ACPI模式下的启动,AMD64上还实现了AVX-512指令集支持,这对搞高性能计算或者虚拟化的人来说简直是福音。我自个儿觉得,这种对新硬件快速跟进的态度,让OpenBSD在保持安全内核的同时,也没落下实用性。 安装过程嘛,说实话,步骤挺细的,适合喜欢折腾的人。你得先装个虚拟机比如VMware Player,下载ISO镜像,启动后选“I”开始安装。键盘布局默认us就行,主机名我设成VM1,网络配置这里我选了静态IP 192.168.1.123,掩码255.255.255.0,网关19.168.1.1,DNS填了202.106.195.68,域名搞成openbsd.org,这样机器标识就是VM1.openbsd.org了。密码设置不回显,得小心输,sshd服务我建议开启,方便远程SSH登录,ntpd时间同步看需求,我选了不开。X Window系统我选了yes但默认不启动,时区选Asia/Shanghai,磁盘分区我自定义了,给根分区10G,交换1G,剩下29G挂到/opt,安装介质选CD,包的话可以挑着装,装完reboot重启就搞定。 软件安装有两种路子,ports和package。ports是源码编译,比如装bash得进/usr/ports/shell/bash/跑make install,编译过程有点长但能搞定依赖;package是二进制包,像python2.5.4直接装就行,省时省力。我个人更喜欢package,毕竟编译太耗资源,但ports适合想深度定制的玩家。 OpenBSD的软件特色真不是盖的。OpenSSH就是它家的,现在成了全球SSH标准,安全登录、文件传输全包,完全开源没限制。加密这块儿因为项目在加拿大,不受美国出口限制,算法用得全,伪随机数生成器让系统状态难预测,文件系统、网络传输都加密,安全感拉满。IPSec协议内置,IPv4先天不安全,它用IPSec加密验证数据包,IPv6时代更是标配。防火墙PF是它的王牌,包过滤实现超优秀,很多BSD变种都移植了它,我用过觉得配置简单却强悍,适合做堡垒机。还有加密哈希库和转换库,Blowfish、3DES这些都有,底层加密让普通管理员不用成专家也能安全,这点我特认同,毕竟安全不该是少数人的专利。 更新日志里,7.6版在各平台改进不少。arm64上加了Spectre-V4缓解,支持Cortex-A520AE这些新CPU,高通X Elite和三星笔记本ACPI启动支持让我觉得移动设备兼容性在提升。amd64实现了AVX-512,对计算密集型任务友好,还修复了Intel Atom的RFDS漏洞,AMD SEV虚拟化支持也到位了。riscv64支持Milk-V先锋板,powerpc导出Altivec检测位,这些都让硬件生态更丰富。内核层面,减少了PCI资源冲突输出,msyscall机制更严,锁监控更细,S0睡眠状态改善现代硬件的休眠体验,我特别看好这个,毕竟笔记本用户谁不想挂起恢复顺滑点?还有文件系统路径遍历修复、ELF二进制崩溃修复,这些细节都体现了OpenBSD对稳定和安全的执着。总的来说,这系统虽小众,但安全性和代码质量真让人服气,适合那些对隐私和稳定有高要求的用户,我自己要是搞服务器或安全测试,绝对首选它。

    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当网络堆栈被推到足以消耗大部分允许内存时,就会触发这种情况。

    ......

    展开内容

    应用信息

    • 包名:
    • MD5:
    • 需要网络

    评分及评论

    4.5满分5.0分

    点击星星用来评分

    评论需审核后才能显示
    同类排行