È stato presentato il rilascio del sistema operativo libero simile a UNIX OpenBSD 7.5. Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995 dopo un conflitto con gli sviluppatori di NetBSD, che ha portato alla chiusura dell'accesso di Theo al repository CVS di NetBSD. Successivamente, Theo de Raadt con un gruppo di sostenitori ha creato un nuovo sistema operativo open source basato sull'albero dei codici sorgente di NetBSD, i principali obiettivi dello sviluppo sono stati la portabilità (supportata su 13 piattaforme hardware), la standardizzazione, l'affidabilità, la sicurezza proattiva e strumenti crittografici integrati. La dimensione del file ISO completo per l'installazione della base del sistema OpenBSD 7.5 è di 630 MB.
Oltre al sistema operativo stesso, il progetto OpenBSD è noto per i suoi componenti che sono stati adottati in altri sistemi e si sono affermati come alcune delle soluzioni più sicure e di alta qualità. Tra questi: LibreSSL (fork di OpenSSL), OpenSSH, filtro dei pacchetti PF, demoni di routing OpenBGPD e OpenOSPFD, server NTP OpenNTPD, server di posta OpenSMTPD, multiplexer di terminale testuale (simile a GNU screen) tmux, demone identd con implementazione del protocollo IDENT, alternativa BSDL al pacchetto GNU groff — mandoc, protocollo per la creazione di sistemi tolleranti ai guasti CARP (Common Address Redundancy Protocol), server http leggero, utilità di sincronizzazione files OpenRSYNC.
Principali miglioramenti:
- L'installer ha aggiunto il supporto per la crittografia della partizione radice. Nell modalità di installazione automatizzata (autoinstall) è stato fornito un modo per abilitare la crittografia dei dischi con l'impostazione di una password in chiaro o fornendo chiavi su un supporto separato. Le versioni per l'architettura AMD64 cdXX.iso e installXX.iso sono state adattate per l'avvio in modalità EFI.
- È stata aggiunta la chiamata di sistema pinsyscalls, che permette di consentire l'accesso alle chiamate di sistema solo da determinate posizioni nello spazio degli indirizzi del processo. Il kernel e ld.so possono registrare il punto esatto di ingresso in ogni chiamata di sistema utilizzata dal programma e dalla libreria libc.so, per successivamente bloccare l'invio di chiamate di sistema da luoghi non registrati.
- È stata rimossa la supporto per l'accesso indiretto alle chiamate di sistema tramite la funzione syscall. In combinazione con pinsyscalls, la modifica consente di vietare l'accesso diretto alle chiamate di sistema senza l'uso dei wrapper forniti da libc. I pacchetti che presentano accessi diretti alle chiamate di sistema, come Perl e Go, sono stati modificati per utilizzare solo le funzioni di libc.
- Nei sistemi ARM64 è stato ampliato l'uso dei meccanismi di autenticazione dei puntatori (PAC - Pointer Authentication) e identificazione dei rami (BTI - Branch Target Identification).
- È stato aggiunto all'interfaccia di rete ppp supporto IPv6.
- Nell'utilità netstat è stata implementata la visualizzazione delle statistiche sull'efficienza della cache dei percorsi (ora nei risultati di «netstat -s» vengono mostrati i contatori di colpi e miss della cache).
- Nel filtro pacchetto pf sono stati considerati i cambiamenti nello stack di rete relativi alla parallelizzazione delle operazioni nei sistemi multicore. Durante l'esecuzione dell'utilità tcpdump con l'interfaccia di rete pflog è garantita la visualizzazione dei pacchetti scartati all'attivazione della regola predefinita con azione «blocca». Per le regole con azione «pass» è garantita la visualizzazione dei pacchetti errati bloccati. In divert è stata aggiunta una verifica della correttezza delle opzioni impostate nei pacchetti IPv4.
- È stato migliorato il supporto per i sistemi multicore (SMP). Sono stati resi mp-safe i gestori di timeout nello stack di rete, il conteggio dei pacchetti per l'interfaccia loopback e il modulo vscsi_filtops. È stata garantita la possibilità di esecuzione parallela delle chiamate di sistema bind e connect, così come delle operazioni con le tabelle UDP per IPv4 e IPv6. È stato aggiunto il supporto per l'invio simultaneo di pacchetti UDP da diversi thread.
- È stata migliorata la gestione delle situazioni di overflow della partizione di swap, sono state apportate modifiche per escludere deadlock.
- Nel kernel per i sistemi arm64 è stata implementata la cache del contenuto dei pool delle tabelle delle pagine di memoria e dei descrittori PTE, che ha notevolmente accelerato il funzionamento sui sistemi multicore.
- Sono stati apportati miglioramenti al hypervisor VMM. L'implementazione del dispositivo vionet è stata riscritta per supportare il multithreading e il trasferimento dei dati tra l'host e il sistema guest in modalità zero-copy, senza buffering intermedio. È stata aumentata la stabilità del funzionamento dell'hypervisor sui sistemi con istruzioni Intel VMX. È stata aggiunta una protezione aggiuntiva contro le vulnerabilità recentemente scoperte nei processori, relative all'esecuzione speculativa delle istruzioni e alle perdite di dati residue dai registri.
- Per i sistemi amd64 è stato aggiunto sysctl machdep.retpoline per gestire l'attivazione del meccanismo retpoline per la protezione contro gli attacchi di tipo Spectre.
- L'implementazione del framework drm (Direct Rendering Manager) è stata sincronizzata con il kernel Linux 6.6.19 (nell'ultima versione era 6.1.55).
- È stato aggiunto il supporto per nuove apparecchiature ed è stata inclusa una nuova gamma di driver relativi a componenti vari di SoC, supporto per controller Ethernet e il trasferimento delle operazioni di rete alle schede di rete.
- Nel sottosistema audio uaudio è consentito collegare più driver per i dispositivi audio.
- Sono stati aggiunti i driver apldcp e apldrm per i controller video utilizzati nei dispositivi Apple. Per l'Apple Powerbook è stata implementata la possibilità di gestire la retroilluminazione della tastiera.
- È stato aggiunto il driver qwx per i chip wireless Qualcomm IEEE 802.11ax, creato portando il driver ath11k dal kernel Linux (incluso nel kernel a partire dalla versione 5.6). Il driver consente di utilizzare adattatori wireless utilizzati in notebook come Lenovo ThinkPad X13s e DELL XPS 9500. Per il funzionamento del driver è necessaria l'installazione dei file del firmware.
- Nell'utilità pax è stata aggiunta la possibilità di scrivere in archivi pax, e nell'utilità tar è stato aggiunto il supporto per archivi pax di dimensioni superiori a 8 GB.
- Nell'utilità ifconfig è stato aggiunto il supporto per specificare i numeri di porta per le interfacce di rete associate ai tunnel, come gif e gre.
- In bgpd il meccanismo di trasmissione dei messaggi e la maggior parte dei parser di protocolli sono stati convertiti a un nuovo API sicuro per la gestione della memoria.
- Nel rpki-client è stata aggiunta la supporto sperimentale per l'algoritmo di firme digitali P-256. È stata implementata la possibilità di limitare l'operatività del RPKI Trust Anchor solo a determinati numeri di sistemi autonomi. È stato aggiunto il supporto per elenchi di prefissi firmati RPKI (Signed Prefix List).
- Nel smtpd è stata aggiunta la supporto per RFC 7505 ('Null MX' per l'identificazione dei domini, che non accettano email) ed è stata fornita la possibilità di integrare in smtpd.conf tabelle e liste multilinea con filtri.
- È stata fornita la possibilità di installare l'ambiente desktop personalizzato KDE Plasma 5.27 dai pacchetti kde-plasma e kde-plasma-extra (dopo la fine del supporto per KDE4, il supporto per l'uso del desktop KDE Plasma 5 è rimasto non funzionante in OpenBSD). Per l'installazione sono disponibili le versioni KDE Plasma 5.27.10, KDE Applications 23.08.4 e KDE Frameworks 5.115.0.
- Aggiornati i pacchetti LibreSSL e OpenSSH. Una panoramica dettagliata dei miglioramenti può essere visualizzata nelle recensioni di LibreSSL 3.9.0, OpenSSH 9.6 e OpenSSH 9.7.
- Il numero di porte per l'architettura AMD64 è stato : 12309 (era 11845), per aarch64 — 12145 (era 11508), per i386 — 10830 (era 10603). Tra le versioni delle applicazioni nei port:
- 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 e 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 (+ patch kde), 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
- Aggiornati i componenti di terze parti inclusi in OpenBSD 7.5:
- Stack grafico Xenocara basato su X.Org 7.7 con xserver 21.1.11 + patch, 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 (+ patch)
- GCC 4.2.1 (+ patch) e 3.3.6 (+ patch)
- Perl 5.36.3 (+ patch)
- 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 (+ patch).
Fonte: opennet.ru
