Udgaven af den frie, tværplatform UNIX-lignende operativsystem OpenBSD 7.0 er blevet præsenteret. Dette er den 51. udgave af projektet, som den 18. oktober fejrer 26-års jubilæum. OpenBSD-projektet blev grundlagt af Theo de Raadt i 1995 efter en konflikt med udviklerne af NetBSD, hvilket resulterede i, at Theo mistede adgangen til CVS-repositoriet for NetBSD. Herefter skabte Theo de Raadt sammen med en gruppe ligesindede et nyt åbent operativsystem baseret på kildekoden fra NetBSD, hvis hovedmål er bærbarhed (understøtter 13 hardwareplatforme), standardisering, korrekt funktion, proaktiv sikkerhed og integrerede kryptografiske værktøjer. Størrelsen på det komplette installations-ISO-billede for grundsystemet OpenBSD 7.0 er 554 MB.
Udover selve operativsystemet er OpenBSD-projektet kendt for sine komponenter, som er blevet udbredt i andre systemer og har vist sig at være nogle af de mest sikre og kvalitetsmæssige løsninger. Blandt dem finder vi: LibreSSL (fork af OpenSSL), OpenSSH, pakkefilteret PF, routing-daemonerne OpenBGPD og OpenOSPFD, NTP-serveren OpenNTPD, e-mail server OpenSMTPD, tekstterminalmultiplexer (svarende til GNU screen) tmux, identd-daemonen med implementering af IDENT-protokollen, BSDL-alternativet til GNU groff-pakken — mandoc, protokollen til opbygning af failover-systemer CARP (Common Address Redundancy Protocol), en letvægts http-server, OpenRSYNC-fil synkronisering.
Hovedforbedringer:
- Tilsat er der en port til 64-bit systemer baseret på RISC-V-arkitekturen. I øjeblikket understøttes drift på HiFive Unmatched boards og delvist på PolarFire SoC Icicle Kit.
- I porten til ARM64-platforme er understøttelsen af Apple-enheder med M1-processoren forbedret, men stadig ikke helt afsluttet. I sin nuværende tilstand understøttes installation af OpenBSD på en disk med GPT, og der er drivere til USB 3, NVME, GPIO og SPMI. Udover M1 er understøttelsen af Raspberry Pi 3 Model B+ og boards baseret på SoC Rockchip RK3399 også udvidet i ARM64-porten.
- For AMD64-arkitekturen er GCC-kompilereren som standard deaktiveret (kun Clang er tilbage). Tidligere blev GCC også deaktiveret for armv7 og i386 arkitekturer.
- Vedligeholdelsen af SGI-platformen er ophørt.
- For platforme som amd64, arm64, i386, sparc64 og powerpc64 er bygning af kernen med dynamisk sporingssystem støtte aktiveret som standard. En kprobes-udbyder er tilføjet til indsamling af oplysninger om hændelser på kernetrin.
- I btrace er understøttelsen af operatorerne "" implementeret i filtre, og der er sikret visning af tid brugt i brugerrum under analysen af kernelstakken.
- En konfigurationsfil /etc/bsd.re-config er blevet tilføjet, som kan bruges til at konfigurere kernen under opstart og til at aktivere/deaktivere specifikke enheder.
- Der er sikret en korrekt identifikation af TPM 2.0-enheder samt korrekt udførelse af kommandoer til at gå i dvaletilstand (løser problemet med at vække ThinkPad X1 Carbon Gen 9 og ThinkPad X1 Nano laptops).
- Implementeringen af kqueue er blevet omdannet til at bruge mutexer.
- Mulighed for at justere størrelsen på bufferen til PF_UNIX-sockets via sysctl er blevet implementeret. Standard bufferstørrelse er blevet øget til 8 KB.
- Understøttelsen af multiprocessorsystemer (SMP) er forbedret. pmap_extract()-opkaldet er blevet gjort mp-sikkert på hppa- og amd64-systemer. Koden til tælling af referencer til anonyme objekter, en del af undtagelseshåndteringen samt funktionerne lseek, connect og setrtable er blevet fjernet fra den samlede kerneblokade. Der er implementeret særskilte CPU-bufre til hver kerne ved panik.
- Implementeringen af drm (Direct Rendering Manager) frameworket er synkroniseret med Linux-kernen 5.10.65. Intel-drm driveren har fået forbedret understøttelse af Intel-chips baseret på Tiger Lake mikroarkitektur. amdgpu-driveren understøtter nu GPU'erne Navi 12, Navi 21 "Sienna Cichlid", Arcturus og APU Cezanne "Green Sardine" Ryzen 5000.
- Understøttelse af nyt hardware er blevet tilføjet, herunder Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117. Forbedret understøttelse af Intel-platforme baseret på Tiger Lake mikroarkitektur. En ucc-driver for USB HID Consumer Control-tastaturer med anvendelse af applikationskald, lydkontrol og volumenjustering er blevet tilføjet.
- Forbedringer er foretaget i hypervisoren VMM. Der er tilføjet en grænse på 512 VCPU'er per virtuel maskine. Problemer med VCPU-låse er blevet løst. Backend'en til styring af virtuelle maskiner, vmd, har nu støtte for beskyttelse mod gæstesystemer med skadelige virtio-drivere.
- Timeout-værktøjet er blevet porteret fra NetBSD, hvilket gør det muligt at begrænse udførelsestiden for kommandoer.
- I filsynkroniseringsværktøjet openrsync er der implementeret indstillingerne "include" og "exclude.
- I ps-værktøjet er der sikret udskrift af oplysninger om tilhørende grupper.
- I teksteditoren mg er kommandoen "dired-jump" blevet tilføjet.
- Understøttelsen af diske med 4K sektorstørrelse er blevet forbedret i værktøjerne fdisk og newfs. I fdisk er initialiseringskoden for MBR/GPT blevet omarbejdet, og der er tilføjet genkendelse af GPT-partitioner "BIOS Boot", "APFS", "APFS ISC", "APFS Recovery" (sic), "HiFive FSBL" og "HiFive BBL". En option "-A" er blevet tilføjet til at initialisere GPT uden at slette boot-partitioner.
- I traceroute-værktøjet er der implementeret asynkron behandling af kontrolpakker og DNS-anmodninger for at øge hastigheden.
- I doas-værktøjet er der givet tre forsøg til indtastning af adgangskode.
- I xterm er der sikret isolering af adgang til filsystemet ved hjælp af systemopkaldet unveil(). ftpd-processer er beskyttet ved hjælp af pledge.
- Loggen information om forkert brug af formatparameteren «%n» i printf-funktionen er implementeret.
- Implementeringen af IPsec i iked har fået tilføjet support til DNS-konfiguration fra klienten.
- I snmpd er understøttelsen af protokoller SNMPv1 og SNMPv2c som standard deaktiveret til fordel for brugen af SNMPv3.
- Som standard er processerne dhcpleased og resolvd aktiveret, hvilket giver mulighed for at konfigurere IPv4-adresser via DHCP. Værktøjet dhclient er stadig til stede i systemet som et valg. Kommandoen «nameserver» er blevet tilføjet til routen for at videregive oplysninger om DNS-serveren til resolvd.
- LibreSSL har fået tilføjet understøttelse af TLSv3 API fra OpenSSL 1.1.1, og en ny X.509-validator er aktiveret, som understøtter korrekt kontrol af kryds-signede certifikater.
- OpenSMTPD har fået tilføjet support til TLS-indstillingerne «cafile=(path)», «nosni», «noverify» og «servername=(name)». I smtp er det nu muligt at vælge krypterings- og protokolindstillinger for TLS.
- OpenSSH-pakken er blevet opdateret. En detaljeret oversigt over forbedringer kan ses her: OpenSSH 8.7, OpenSSH 8.8. Understøttelsen af digitale signaturer rsa-sha er deaktiveret.
- Antallet af porte for AMD64-arkitekturen nåede 11325, for aarch64 — 11034, for i386 — 10248. Blandt versionerne af applikationer i portene: FFmpeg 4.4, GCC 8.4.0 og 11.2.0, GNOME 40.4, Go 1.17, JDK 8u302, 11.0.12 og 16.0.2, KDE-applikationer 21.08.1, KDE-frameworks 5.85.0, LLVM/Clang 11.1.0, LibreOffice 7.2.1.2, Lua 5.1.5, 5.2.4 og 5.3.6, MariaDB 10.6.4, Node.js 12.22.6, PHP 7.3.30, 7.4.23 og 8.0.10, Postfix 3.5.12, PostgreSQL 13.4, Python 2.7.18, 3.8.12 og 3.9.7, Qt 5.15.2 og 6.0.4, Ruby 2.6.8, 2.7.4 og 3.0.2, Rust 1.55.0, SQLite 3.35.5, Xfce 4.16.
- Komponenter fra tredjepartsudviklere, der indgår i OpenBSD 7.0, er blevet opdateret:
- Grafikstacken Xenocara baseret på X.Org 7.7 med xserver 1.20.13 + patches, freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 11.1.0 (+ patches)
- GCC 4.2.1 (+ patches) og 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.3.7
- Unbound 1.13.3
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 18.12.2020
- Expat 2.4.1
Kilde: opennet.ru
