Den nye utgaven av det frie UNIX-liknende operativsystemet OpenBSD 7.5 er lansert. OpenBSD-prosjektet ble grunnlagt av Theo de Raadt i 1995 etter en konflikt med utviklerne av NetBSD, som resulterte i at Theo mistet tilgangen til CVS-repositoriet til NetBSD. Etter dette opprettet Theo de Raadt sammen med et team av likesinnede et nytt åpent operativsystem basert på kildekoden til NetBSD, med hovedmålene om portabilitet (som støtter 13 maskinvareplattformer), standardisering, korrekt drift, proaktiv sikkerhet og integrerte kryptografiske midler. Størrelsen på den fullstendige installasjons-ISO-bildet for basisversjonen av OpenBSD 7.5 er 630 MB.
I tillegg til selve operativsystemet, er OpenBSD-prosjektet kjent for sine komponenter, som har blitt distribuerte i andre systemer og har vist seg å være blant de sikreste og mest kvalitetsbevisste løsningene. Blant dem finner vi: LibreSSL (en fork av OpenSSL), OpenSSH, pakkefilter PF, rutingsdemoner OpenBGPD og OpenOSPFD, NTP-serveren OpenNTPD, e-postserveren OpenSMTPD, terminalmultiplexer (analog med GNU screen) tmux, identd-demon med implementering av IDENT-protokollen, BSDL-alternativet til GNU groff-pakken - mandoc, protokollen for å opprette failover-systemer CARP (Common Address Redundancy Protocol), en lettvekts HTTP-server, og synkroniseringsverktøyet OpenRSYNC.
Hovedforbedringer:
- Installereren har fått støtte for kryptering av rotpartisjonen. I den automatiserte installasjonsmodus (autoinstall) er det mulig å aktivere diskryptering med angivelse av passord i klartekst eller ved å levere nøkler på et separat medium. Byggene for AMD64-arkitekturen cdXX.iso og installXX.iso er tilpasset for oppstart i EFI-modus.
- Det er lagt til en systemanrop pinsyscalls, som gjør det mulig å tillate tilgang til systemanrop bare fra bestemte steder i prosessens adresseområde. Kjerne og ld.so kan registrere den nøyaktige inngangspunktet for hvert systemanrop som brukes av programmet og biblioteket libc.so, for senere å blokkere sending av systemanrop fra ikke-registrerte steder.
- Støtta for indirekte tilgang til systemkall via funksjonen syscall er fjernet. I kombinasjon med pinsyscalls gjør endringen det mulig å forby direkte tilgang til systemkall uten å bruke innpakningene som tilbys i libc. Pakker som inneholder direkte tilgang til systemkall, som Perl og Go, er modifisert til kun å bruke funksjoner fra libc.
- Bruken av mekanismer for pekerauthentisering (PAC - Pointer Authentication) og grenmålidentifikasjon (BTI - Branch Target Identification) er utvidet på ARM64-systemer.
- Det er lagt til i nettverksgrensesnittet ppp støtte for IPv6.
- I verktøyet netstat er det implementert utdata for statistikk om effektiviteten av rutehåndtering (i utdataene fra «netstat -s» vises nå tellere for treff og bommer på hurtigbufret materiale).
- I pakkefilteret pf er endringer i nettverksstakken tatt i betraktning, relatert til parallellisering av operasjoner på flerprosessorsystemer. Ved kjøring av verktøyet tcpdump med nettverksgrensesnittet pflog vises pakker som ble avvist når standardregelen med handlingen «block» ble utløst. For regler med handlingen «pass» er det mulig å vise blokkerte ugyldige pakker. I divert er det lagt til en validering av korrekt innstilling av alternativer i IPv4-pakker.
- Støtten for flerprosessorsystemer (SMP) er forbedret. Behandlere for tidsavbrudd i nettverksstakken, telling av pakker for loopback-grensesnittet, og modulen vscsi_filtops er gjort mp-safe. Det er mulig å utføre systemkallene bind og connect parallelt, samt operasjoner med UDP-tabeller for IPv4 og IPv6. Det er lagt til støtte for samtidig sending av UDP-pakker fra forskjellige tråder.
- Håndtering av situasjoner med overbelastning av bytteområdet er forbedret, og det er lagt til endringer for å unngå gjensidige blokkeringer.
- I kjernen for arm64-systemer er det implementert caching av innholdet i minnetabellpooler og PTE-deskriptorer, noe som betydelig har akselerert ytelsen på flerkjernede systemer.
- Forbedringer har blitt gjort i hypervisor VMM. Implementeringen av vionet-enheten er omskrevet for å støtte flertrådet behandling og dataoverføring mellom vertsmaskin og gjestesystem i null-kopi-modus, uten mellomlagring. Stabiliteten til hypervisoren er økt på systemer med Intel VMX-instruksjoner. Det er lagt til ekstra beskyttelse mot nylig oppdagede sårbarheter i prosessorer relatert til spekulativ utførelse av instruksjoner og lekkasjer av resterende data fra registre.
- For amd64-systemer er sysctl machdep.retpoline lagt til for å styre aktiveringen av retpoline-mekanismen for beskyttelse mot Spectre-angrep.
- Implementeringen av drm (Direct Rendering Manager) er synkronisert med Linux-kjernen 6.6.19 (i forrige utgave — 6.1.55).
- Støtte for nytt maskinvare er lagt til, og nye drivere knyttet til komponenter fra forskjellige SoC, støtte for Ethernet-kontrollere, samt utføring av nettverksoperasjoner på nettverkskort, er inkludert.
- I lydsystemet uaudio er det tillatt å koble flere drivere til lyd-enheter.
- Driverne apldcp og apldrm er lagt til for skjermkontrollere brukt i Apple-enheter. For Apple Powerbook er muligheten for å kontrollere bakgrunnsbelysningen på tastaturet implementert.
- Driver qwx for Qualcomm IEEE 802.11ax trådløse brikker er laget ved å porte ath11k-driveren fra Linux-kjernen (inngår i kjernen fra versjon 5.6). Driveren muliggjør bruk av trådløse adaptere som brukes i bærbare datamaskiner som Lenovo ThinkPad X13s og DELL XPS 9500. Filene med firmware må installeres for at driveren skal fungere.
- I verktøyet pax er det lagt til mulighet for å skrive til pax-arkiver, og i verktøyet tar er støtte for pax-arkiver større enn 8 GB lagt til.
- I verktøyet ifconfig er det lagt til støtte for å spesifisere portnumre for nettverksgrensesnitt som er knyttet til tunneler, som gif og gre.
- I bgpd er meldingsoverføringsmekanismen og de fleste protokollparserne overført til det nye API-et for trygg håndtering av minne.
- I rpki-client er eksperimentell støtte for P-256 digitale signaturer lagt til. Det er implementert mulighet for å begrense virkemåten til RPKI Trust Anchor kun for bestemte autonome systemnummer. Støtte for RPKI signerte prefikslister er lagt til.
- I smtpd er støtte for RFC 7505 («Null MX» for identifikasjon) lagt til. domener, som ikke tar imot e-post) og muligheten for å inkludere multiline-tabeller og lister med filtre i smtpd.conf er sikret.
- Muligheten for å installere brukergrensesnittet KDE Plasma 5.27 fra pakkene kde-plasma og kde-plasma-extra er gitt (etter at støtten for KDE4 ble avsluttet, har bruken av skrivebordet KDE Plasma 5 fortsatt vært ikke-fungerende i OpenBSD). Til installasjon er versjonene KDE Plasma 5.27.10, KDE Applications 23.08.4 og KDE Frameworks 5.115.0 foreslått.
- Pakkene LibreSSL og OpenSSH er oppdatert. En detaljert oversikt over forbedringene kan sees i oversiktene over LibreSSL 3.9.0, OpenSSH 9.6 og OpenSSH 9.7.
- Antall porter for AMD64-arkitekturen ble: 12309 (var 11845), for aarch64 - 12145 (var 11508), for i386 - 10830 (var 10603). Blant versjonene av applikasjoner i portene:
- Asterisk 16.30.1, 18.21.0, 20.6.0
- Audacity 3.4.2
- CMake 3.28.3
- Chromium 122.0.6261.111
- FFmpeg 4.4.4
- Firefox 123.0.1, ESR 115.8.0
- GCC 8.4.0, 11.2.0
- GHC 9.6.4
- GNOME 45
- Go 1.22.1
- JDK 8u402, 11.0.22, 17.0.10, 21.0.2
- Krita 5.2.2
- LLVM/Clang 13.0.0, 16.0.6, 17.0.6
- LibreOffice 24.2.1.2
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.6
- MariaDB 10.9.8
- Mono 6.12.0.199
- Mutt 2.2.13 og NeoMutt 20240201
- Node.js 18.19.1
- OCaml 4.14.1
- OpenLDAP 2.6.7
- PHP 7.4.33, 8.0.30, 8.1.27, 8.2.16, 8.3.3
- Postfix 3.8.6
- PostgreSQL 16.2
- Python 2.7.18, 3.9.18, 3.10.13, 3.11.8
- Qt 5.15.12 (+ kde-patcher), 6.6.1
- R 4.2.3
- Ruby 3.1.4, 3.2.3, 3.3.0
- Rust 1.76.0
- SQLite 3.44.2
- Shotcut 23.07.29
- Sudo 1.9.15.5
- Suricata 7.0.3
- Tcl/Tk 8.5.19, 8.6.13
- TeX Live 2023
- Thunderbird 115.8.1
- Vim 9.1.139, Neovim 0.9.5
- Xfce 4.18.1
- Komponentene fra tredjeparts utviklere som er en del av OpenBSD 7.5 er oppdatert:
- Grafikkstakken Xenocara basert på X.Org 7.7 med xserver 21.1.11 + patcher, freetype 2.13.0, fontconfig 2.14.2, Mesa 23.1.9, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.3.
- LLVM/Clang 16.0.6 (+ patcher)
- GCC 4.2.1 (+ patch) og 3.3.6 (+ patch)
- Perl 5.36.3 (+ patcher)
- NSD 4.8.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ patch)
- Gdb 6.3 (+ patch)
- Awk 22.01.2024
- Expat 2.6.0.
- zlib 1.3.1 (+ patcher).
Kilde: opennet.ru
