Die Veröffentlichung des freien, UNIX-artigen Betriebssystems OpenBSD 7.2 wurde vorgestellt. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt gegründet, nachdem es zu Konflikten mit den Entwicklern von NetBSD kam, was zur Sperrung seines Zugangs zum CVS-Repository von NetBSD führte. Daraufhin schuf Theo de Raadt zusammen mit Gleichgesinnten ein neues offenes Betriebssystem auf Basis des Quelltextbaums von NetBSD, dessen Hauptziele Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionsweise, proaktive Sicherheit und integrierte kryptografische Mittel sind. Die Größe des vollständigen Installations-ISO-Images des Basis-Systems OpenBSD 7.2 beträgt 556 MB.
Neben dem Betriebssystem ist das OpenBSD-Projekt für seine Komponenten bekannt, die in anderen Systemen weit verbreitet sind und sich als eine der sichersten und qualitativ hochwertigsten Lösungen etabliert haben. Dazu gehören: LibreSSL (ein Fork von OpenSSL), OpenSSH, der Paketfilter PF, die Routing-Dämonen OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD, der Mailserver OpenSMTPD, der Terminalsynchronisierer tmux (eine Alternative zu GNU screen), der identd-Dämon mit der Implementierung des IDENT-Protokolls, die BSDL-Alternative zum GNU groff-Paket – mandoc, das Protokoll zur Einrichtung von ausfallsicheren Systemen CARP (Common Address Redundancy Protocol), ein leichter HTTP-Server und das Dateisynchronisierungstool OpenRSYNC.
Wesentliche Verbesserungen:
- Die Unterstützung für ARM-basierte Systeme wurde verbessert, einschließlich der Unterstützung von ARM-Chips wie Apple M2 und Ampere Altra. Außerdem wurde die Unterstützung für das Lenovo ThinkPad x13s und andere Geräte auf Basis des Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) hinzugefügt.
- Die Möglichkeit, im Oracle Cloud-Umfeld das Kernel für Ram-Disk (bsd.rd) und das Kernel für Multiprozessorsysteme (bsd.mp) zu laden, wurde hinzugefügt.
- Das Gerät kstat wurde integriert, das Statistiken über die Kernel-Leistung exportiert, die mit dem Tool kstat angezeigt werden können.
- Für jedes Prozessorkern mit MPERF/APERF-Unterstützung sind CPU-Frequenzsensoren implementiert. Im Akkubetrieb ist die Skalierung der CPU-Frequenz entsprechend der Last aktiviert.
- Systeme mit ARM64 haben eine erste Unterstützung für den Schlafmodus erhalten. Die maximale Anzahl unterstützter CPUs wurde auf 256 erhöht. Es ist jetzt möglich, von der framebuffer-basierten Konsole (Glass Console) zur seriellen Konsole zu wechseln.
- Der Code zur Identifizierung der CPU 386sx/386dx, NexGen, Rise und älterer Cyrix-Prozessoren, die vor dem Cyrix M2-Chip veröffentlicht wurden, wurde entfernt.
- Die Unterstützung für Mehrprozessorsysteme (SMP) wurde verbessert. Funktionen zur Begrenzung der Bandbreite (Rate Limiting), zur ARP-Abfrage und zum Routing-Timer wurden als mp-sicher eingestuft. Es wurde die Möglichkeit implementiert, Operationen wie das Umschichten von IPv4-Paketen und die Umleitung von IP-Paketen parallel auszuführen. In den Funktionen zur Verarbeitung eingehender UDP- und IP-Pakete wurden Socket-Blockierungen mit Mutex implementiert. Die Systemaufrufe kbind und pledge wurden von Blockierungen befreit. Es wurden UNIX-Socket-Blockierungen auf der Ebene einzelner Sockets realisiert.
- Die Implementierung des DRM-Frameworks (Direct Rendering Manager) wurde mit dem Linux-Kernel 5.15.69 synchronisiert (in der vorherigen Version - 5.15.26). Der Intel-DRM-Treiber unterstützt jetzt Intel-Chips auf Basis der Mikroarchitekturen Alder Lake und Raptor Lake. Die Unterstützung für Framebuffer, die nicht an den Seiten der Speicherseiten ausgerichtet sind, wurde implementiert (verwendet beispielsweise in den MacBook Pro 2021 14" und 16").
- Es wurden Verbesserungen am Hypervisor VMM vorgenommen. Im vmd wurde die Unterstützung für Benutzerraum-Handler basierend auf MMIO hinzugefügt. Im vmm wurde die Emulation von Ein-/Ausgabeports in den Benutzerraum verschoben. Die internen Strukturen und Schnittstellen in vmd, vmctl und vmm wurden vereinheitlicht. Die Möglichkeit zur Überwachung wurde hinzugefügt. virtuellen Maschinen unter Verwendung des SNMP AgentX mit den VM-MIB (RFC7666) Parametern.
- Die Variable $rcexec in den Initialisierungsskripten rc.d wurde durch die Funktion rc_exec ersetzt. Eine neue Variable daemon_execdir wurde hinzugefügt, um das Verzeichnis vor der Ausführung der Funktion rc_exec zu ändern. In rc.d und rcctl wurde eine neue Aktion configtest hinzugefügt, um die Syntax der Konfiguration zu überprüfen.
- Das Dienstprogramm ts wurde hinzugefügt, das den ankommenden Zeilen über die Standardeingabe die Zeit hinzufügt, die den Zeitpunkt der Ankunft jeder Zeile widerspiegelt.
- In das ps-Tool wurde die Option „-f“ für eine baumartige Gruppierung der Prozesse hinzugefügt, die die Beziehung zwischen Eltern- und Kindprozessen widerspiegelt.
- Im openrsync-Tool wurde die Option „—contimeout“ implementiert, um einen Timeout für den Verbindungsaufbau festzulegen.
- Im pkg_add-Tool ist das Caching standardmäßig aktiviert, die Verarbeitung von Paketen wurde optimiert und es wird während der Datenübertragung ein Fortschrittsbalken angezeigt.
- In fdisk wurde die Handhabung von GPT- und MBR-Tabellen verbessert, Warnungen bei fehlerhafter Platzierung von MBR- und GPT-Partitionen hinzugefügt.
- Im disklabel-Tool wurde die Unterstützung für das Schlüsselwort raid in Vorlagen zum automatischen Anordnen von Partitionen mit RAID hinzugefügt. Das Bearbeiten von Informationen zur Festplattengestalt wurde eingestellt. Die Unterstützung für die Attribute ‘bs’ (Größe des Bootblocks), ‘sb’ (Größe des Superblocks) und d[0-4] (Festplattendaten) wurde eingestellt.
- Im Verzeichnis /usr/share/btrace wurde eine Sammlung nützlicher btrace-Skripte für die dynamische Nachverfolgung und Inspektion von Anwendungen bereitgestellt.
- In die Soundbibliothek sndio wurde die Funktion sio_flush zur sofortigen Beendigung der Wiedergabe eingefügt.
- Das Paket enthält das Tool llvm-profdata zur Verarbeitung von Profildaten.
- Das wc-Dienstprogramm ermöglicht eine schnellere Wortzählung.
- Unterstützung neuer Hardware hinzugefügt, einschließlich neuer Treiber:
- aplaudio (Apple Audio-Subsystem).
- aplmca (Apple MCA-Controller).
- aplsart (Apple SART).
- alpdc, apldchidev, apldckbd, apldcms, aplrtk (Tastatur und Trackpad Apple M2).
- qcgpio, qciic (GPIO- und GENI I2C-Controller für Qualcomm Snapdragon).
- sfgpio, stfclock, stfpinctrl, stftemp (Treiber für GPIO, Timer und Sensoren der SiFive-Plattform).
- sxirintc (Interrupt-Controller für Allwinner-Chips).
- gpiorestart (Treiber für den Reset über GPIO).
- Die Unterstützung für Stromsensoren wurde im ipmi erweitert.
- Im ehci wurde Unterstützung für den Controller hinzugefügt, der auf Marvell 3720-Boards verwendet wird.
- Im igc-Treiber für Gigabit-Ethernet-Adapter Intel I225 ist jetzt die Hardwarebeschleunigung für die Berechnung von Prüfziffern für IPv4, TCP und UDP integriert. Im ix-Treiber für Ethernet-Adapter Intel 82598/82599/X540/X550 wird die Hardwarebeschleunigung für die Verarbeitung von TCP-Segmenten (Large Receive Offloading) implementiert, die über die Option tso in ifconfig aktiviert werden kann.
- Im iwx-Treiber wurde die Unterstützung für die Chips Intel AX210/AX211 hinzugefügt und der Bereich der erkannten drahtlosen Geräte erweitert.
- Die Möglichkeit, von Software-RAID 1 (softraid)-Partitionen auf amd64-, sparc64- und arm64-Systemen zu booten, wurde hinzugefügt.
- Das Teilen von Rechten wurde in snmpd und xlock implementiert.
- In den Funktionen bind und connect für UNIX-Sockets wird eine Isolierung auf Basis des Systemaufrufs unveil bereitgestellt.
- Ein neuer Systemaufruf ypconnect wurde hinzugefügt, um einen Socket zur Verbindung mit dem Server durch YP zu erstellen, unter Verwendung der IP-Adresse aus der gesperrten Datei ypbinding. Im ypldap wurde der Modus 'local bind' hinzugefügt, bei dem der RPC-Socket an das Loopback-Interface gebunden wird, um externe Verbindungen zum Server auszuschließen.
- Die im Verzeichnis /sbin befindlichen Programme hcpleased, mountd, nfsd, pflogd, resolvd, slaacd und unwind wurden auf dynamisches Linking umgestellt, um zusätzliche Sicherheitsmaßnahmen zu aktivieren, die für dynamisch gelinkte ausführbare Dateien gelten.
- Im Netzwerk-Stack wurden die Systemaufrufe sendmmsg und recvmmsg implementiert, die es ermöglichen, innerhalb eines einzigen Systemaufrufs mehrere Nachrichten zu senden und zu lesen, die zuvor separate Aufrufe von sendmsg und recvmsg erfordert hätten.
- Im Paketfilter pf wurde die Verarbeitung von IGMP- und ICMP6 MLD (Multicast Listener Discovery) Paketen geändert, was die Arbeit mit Verwaltungs-Multicast-Paketen in der Standardkonfiguration ermöglicht hat. Eine strengere Überprüfung von IGMP/MLD-Nachrichten wurde umgesetzt.
- Die Arbeit mit Zertifikaten wurde in IPsec verbessert. Die Kompatibilität von iked mit OpenIKED wurde optimiert. Das Kommando ikectl show stats zeigt jetzt Statistiken über erfolgreiche und fehlgeschlagene Verbindungen zu iked an.
- In bgpd wurde der max-communities-Filter hinzugefügt, um die Anzahl der erlaubten Communities zu begrenzen. RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages) wurde implementiert, und vollständige Unterstützung für RFC 7911 (Anzeigen mehrerer Pfade in BGP) wurde sichergestellt. Statische Hashes wurden durch RB-Bäume ersetzt, um die Leistung großer Systeme zu verbessern. Ein bgplgd-Prozess mit der Implementierung eines FastCGI-Servers wurde hinzugefügt, der ein REST-API für die bgpctl-Befehle bereitstellt.
- Der rpki-client erlaubt jetzt die Verwendung von mehr als einem CRL-URI in Zertifikaten. Ein skiplist-Parameter zur Ignorierung von Domains wurde implementiert, die Möglichkeit zur Überprüfung von ASPA (Authorization von Autonomous System Providers) und sig-Dateien wurde hinzugefügt, TAL (RFC 8630) wird jetzt dekodiert, und die Überprüfung von EE-Zertifikaten wurde verschärft. Die Kompatibilität mit HTTP-Spezifikationen wurde verbessert.
- In snmpd ist es jetzt möglich, in snmpd.conf Objektbezeichner anstelle von OIDs zu verwenden. Ein Blacklist-Mechanismus zur Ausschluss bestimmter Unterbäume aus der Ausgabe wurde implementiert. Die Unterstützung des Master-Agenten wurde in die AgentX-Protokollimplementierung eingeführt.
- Im httpd wurden neue MIME-Typen definiert.
- Das ftp-Tool wurde auf nicht-blockierende Verbindungen mit ppoll umgestellt.
- In tmux („Terminal-Multiplexer“) wurde die Möglichkeit hinzugefügt, ACLs zur Organisation von Verbindungen mehrerer Benutzer über einen einzigen Socket zu verwenden.
- Die Pakete LibreSSL und OpenSSH wurden aktualisiert. Detaillierte Informationen zu den Verbesserungen finden Sie in den Rezensionen von LibreSSL 3.6.0 und OpenSSH 9.1.
- Die Anzahl der Ports für die AMD64-Architektur beträgt 11.451 (früher 11.301), für aarch64 – 11.261 (früher 11.081), für i386 – 10.225 (früher 10.136). Unter den Anwendungsversionen in den Ports sind:
- Asterisk 16.28.0, 18.14.0 und 19.6.0
- Audacity 2.4.2
- CMake 3.24.2
- Chromium 105.0.5195.125
- Emacs 28.2
- FFmpeg 4.4.2
- GCC 8.4.0 und 11.2.0
- GHC 9.2.4
- GNOME 42.4
- Go 1.19.1
- JDK 8u342, 11.0.16 und 17.0.4
- KDE Gear 22.08.1
- KDE Frameworks 5.98.0
- Krita 5.1.1
- LLVM/Clang 13.0.0
- LibreOffice 7.4.1.2
- Lua 5.1.5, 5.2.4 und 5.3.6
- MariaDB 10.9.3
- Mono 6.12.0.182
- Mozilla Firefox 105.0.1 und ESR 102.3.0
- Mozilla Thunderbird 102.3.0
- Mutt 2.2.7 und NeoMutt 20220429
- Node.js 16.17.1
- OCaml 4.12.1
- OpenLDAP 2.6.3
- PHP 7.4.30, 8.0.23 und 8.1.10
- Postfix 3.7.2
- PostgreSQL 14.5
- Python 2.7.18, 3.9.14 und 3.10.7
- Qt 5.15.6 und 6.3.1
- R 4.2.1
- Ruby 2.7.6, 3.0.4 und 3.1.2
- Rust 1.63.0
- SQLite 3.39.3
- Shotcut 22.06.23
- Sudo 1.9.11.2
- Suricata 6.0.6
- Tcl/Tk 8.5.19 und 8.6.12
- TeX Live 2021
- Vim 9.0.0192 und Neovim 0.7.2
- Xfce 4.16
- Die Komponenten von Drittanbietern, die in OpenBSD 7.2 enthalten sind, wurden aktualisiert:
- Der Grafik-Stack Xenocara basiert auf X.Org 7.7 mit xserver 1.21.4 + Patches, freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ Patches)
- GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
- Perl 5.32.1 (+ Patches)
- NSD 4.6.0
- Unbound 1.16.3
- Ncurses 5.7
- Binutils 2.17 (+ Patches)
- Gdb 6.3 (+ Patch)
- Awk 12.9.2022
- Expat 2.4.9
Quelle: opennet.ru
