OpenBSD 7.6 Veröffentlichung

Die Veröffentlichung des freien UNIX-ähnlichen Betriebssystems OpenBSD 7.6 wurde vorgestellt. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt nach einem Konflikt mit den Entwicklern von NetBSD gegründet, der dazu führte, dass Theo den Zugang zum CVS-Repository von NetBSD verlor. Daraufhin gründete Theo de Raadt mit einer Gruppe von Gleichgesinnten ein neues offenes Betriebssystem auf Basis des Quellbaum von NetBSD, dessen Hauptziele Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionalität, proaktive Sicherheit und integrierte kryptografische Mittel sind. Die Größe des vollständigen Installations-ISO-Images des OpenBSD 7.6-Basissystems beträgt 702 MB.

Neben dem Betriebssystem ist das OpenBSD-Projekt bekannt für seine Komponenten, die in anderen Systemen verbreitet und als einige der sichersten und qualitativ hochwertigsten Lösungen anerkannt sind. Dazu gehören: LibreSSL (Fork von OpenSSL), OpenSSH, das Paketfilter-PF, die Routing-Demons OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD, der Mailserver OpenSMTPD, der Multiplexer für Textterminals (ähnlich GNU screen) tmux, der Daemon identd mit Implementierung des IDENT-Protokolls, die BSDL-Alternative zum GNU groff-Paket – mandoc, das Protokoll für den Aufbau fehlertoleranter Systeme CARP (Common Address Redundancy Protocol), ein leichtgewichtiger HTTP-Server und das Tool zur Dateisynchronisation OpenRSYNC.

Hauptverbesserungen:

  • Die Unterstützung für die ARM64-Architektur wurde erweitert. Die Unterstützung für die ARM8-Erweiterung EPAN (Enhanced Privileged Access Never) wurde integriert, die den privilegierten Zugriff auf Speicherseiten blockiert, die nur zur Ausführung von Code verwendet werden. Unterstützung für den Qualcomm Snapdragon X Elite-Prozessor (X1E80100) wurde hinzugefügt und die Erkennung der CPUs Cortex-A520AE (Hayes AE) und Cortex-A720AE (Hunter AE) implementiert. Für Systeme, die auf der ARM64-Architektur basieren, wurde ein Schutz gegen Spectre-V4-Schwachstellen implementiert, und der Schutz gegen Spectre-BHB-Schwachstellen wurde verbessert.
  • Für Systeme, die auf der AMD64-Architektur basieren, wurde die Unterstützung für AVX-512-Befehle hinzugefügt. Ein Schutz gegen die RFDS-Schwachstelle in Intel Atom-Prozessoren wurde implementiert.
  • Die Unterstützung für die Milk-V Pioneer-Platine auf Basis der RISC-V-Architektur wurde hinzugefügt.
  • Der msyscall-Mechanismus, der zur Kennzeichnung von Speicherbereichen verwendet wurde, aus denen Systemaufrufe erlaubt sind, wurde entfernt. An die Stelle von msyscall treten die Systemaufrufe mimmutable und pinsyscalls.
  • Es wurden Arbeiten zur Verbesserung der Unterstützung von Energiesparzuständen S0 und zum Übergang in den Schlafmodus auf modernen Geräten durchgeführt. Auf amd64-Systemen wurde der „suspend-to-idle“-Modus implementiert, der auf Geräten ohne Unterstützung für den Schlafmodus S3 angewendet werden kann. Viele Probleme in den Treibern, die die Nutzung des Schlafmodus behinderten, wurden gelöst.
  • In den Systemaufruf readdir wurde eine Überprüfung auf das Vorhandensein des Zeichens ‘/’ in Dateinamen hinzugefügt, um mögliche Angriffe auf Anwendungen beim Umgang mit nicht vertrauenswürdigen Dateisystemen zu blockieren.
  • Die Unterstützung für Multiprozessorsysteme (SMP) wurde verbessert. Funktionen zur parallelen Verarbeitung von eingehenden UDP-Paketen und raw-Sockets in IPv4/IPv6 auf verschiedenen CPU-Kernen wurden hinzugefügt. Die Handhabung von Sperren für Unix4- und UDP-Sockets wurde optimiert. AF_ROUTE-Sockets wurden auf ein neues Locking-Verfahren umgestellt. Globale Sperren für die Systemaufrufe shutdown, sigsuspend und kbind sowie für TCP-Timer und viele sysctl wurden entfernt.
  • Verbesserungen wurden im Hypervisor VMM vorgenommen. Unterstützung für den AMD SEV (Secure Encrypted Virtualization)-Mechanismus wurde hinzugefügt, um virtuelle Maschinen vor Eingriffen des Hypervisors oder des Administrators des Host-Systems zu schützen. Der Zugriff auf CPU-Funktionen aus virtuellen Maschinen wurde verbessert. Dem vmctl-Tool wurde der Befehl „status -r“ hinzugefügt, um den Status nur der laufenden virtuellen Maschinen anzuzeigen.
  • Die Implementierung des DRM-Frameworks (Direct Rendering Manager) wurde mit dem Linux-Kernel 6.6.52 synchronisiert (in der vorherigen Version — 6.6.19). Der inteldrm-Treiber unterstützt jetzt die in Intel-Prozessoren der Mikroarchitektur Meteor Lake verwendete GPU.
  • Die Funktion scandirat wurde von FreeBSD übernommen, um den Inhalt von Verzeichnissen zu durchlaufen.
  • Der alte DHCP-Client dhclient wurde aus dem Basissystem entfernt. Stattdessen wird empfohlen, den dauerhaft laufenden Hintergrundprozess dhcpleased zu verwenden, der seit OpenBSD 6.9 verfügbar ist und das Utility ifconfig verwendet, um die automatische Konfiguration von Netzwerkschnittstellen über DHCP zu aktivieren (aktiviert durch den Befehl „ifconfig $if autoconf“ oder durch Hinzufügen von „inet autoconf“ zu /etc/hostname.$if).
  • Die Verwendung des Null-Zeichens in Shell-Skripten, die vom standardmäßig verwendeten Shell-Interpreter ksh verarbeitet werden, ist nicht mehr erlaubt. Das Vorhandensein von Null-Zeichen in Skripten führt nun zu einem Abbruch der Ausführung mit einer Fehlermeldung, es sei denn, sie befinden sich unter den Daten, die am Ende der Datei nach dem Code angehängt sind.
  • Das Tar-Utility wurde so umgestellt, dass es beim Erstellen von Archiven standardmäßig das PAX-Format verwendet. Die Nutzung des PAX-Formats ermöglicht es, längere Dateinamen zu speichern, Links zu verarbeiten, genaue Zeitinformationen zu verwenden und Dateien sehr großen Umfangs im Archiv zu speichern.
  • Die Bibliothek libva wurde in den X11-Stack Xenocara integriert, der in OpenBSD für die Erstellung einer grafischen Umgebung verwendet wird. Dies ermöglicht die Nutzung der VA-API (Video Acceleration API) zur Hardwarebeschleunigung beim Codieren und Decodieren von Videos in verschiedenen Formaten. Die Funktionalität der Hardwarebeschleunigung wurde mit Treibern für Intel- und AMD-GPUs bei der Verwendung des Browsers Firefox und des Video Players mpv getestet. Die erforderlichen Treiber für Intel-GPUs sind in den Ports graphics/intel-media-driver und graphics/intel-vaapi-driver bereitgestellt, während für AMD-GPUs die Standardkomponenten aus dem Mesa-Paket verwendet werden.
  • Es wurde die Möglichkeit geschaffen, die KDE Plasma 6 Desktop-Umgebung zu starten.
  • Die Unterstützung neuer Hardware wurde hinzugefügt und neue Treiber, die mit Komponenten verschiedener SoCs und der Unterstützung von Ethernet-Controllern verbunden sind, wurden implementiert. Den Treibern igc und dwqe wurde die Unterstützung für Hardware-Tagging von VLAN hinzugefügt, und bei den Treibern dwqe, vmx, igc und vio(4) wurde die Auslagerung von Netzwerkoperationen auf die Netzwerkkarten ermöglicht.
  • Dem Compiler wurde die Option „-fret-clean“ hinzugefügt, die die Rückgabeadresse im Stack nach dem Funktionsaufruf bereinigt.
  • Die Funktionsfähigkeit von PPP-Interfacen im Routing-Domain (rdomain) wurde sichergestellt.
  • Für IPv6 wurde der Modus „sysctl net.inet6.ip6.forwarding = 2“ hinzugefügt, der das Weiterleiten von Paketen nur für IPsec erlaubt.
  • Die Funktion getsockopt() unterstützt nun das Flag SO_ACCEPTCONN, das überprüft, ob für den Socket ein Aufruf der Funktion listen() erfolgt ist.
  • In iked, der Implementierung des IKEv2-Protokolls für IPsec, wurde die Unterstützung für Authentifizierung, Autorisierung und Abrechnung über das RADIUS-Protokoll hinzugefügt.
  • Der RADIUS-Server radiusd unterstützt jetzt DAE (Dynamic Authorization Extensions) und bietet die Möglichkeit, Abrechnungseinstellungen in radiusd.conf zu platzieren. Module wurden hinzugefügt: radiusd_ipcp zur Konfiguration des Pools, radiusd_file zur Authentifizierung über eine lokale Datei. In radiusctl wurde der Befehl „ipcp delete“ hinzugefügt, um eine spezifische Sitzung ohne Unterbrechung der Verbindung zu entfernen. IP-AdressenIn OpenSMTPD wurde die API smtpd-tables hinzugefügt, um Tabellen in smtpd zu nutzen, und der Dienst K_AUTH wurde implementiert, um Anmeldeinformationen aus Tabellen abzurufen.
  • Ein Hintergrundprozess dhcp6leased wurde hinzugefügt, um Präfixe für
  • DHCPv6 zu erhalten. Server OpenSSH wurde aktualisiert. Eine Liste der Änderungen kann in den Ankündigungen von OpenSSH 9.8 und OpenSSH 9.9 eingesehen werden.
  • Die Anzahl der Ports für die Architektur AMD64 beträgt 12312 (früher 12309), für aarch64 – 12148 (früher 12145), für i386 – 10534 (früher 10830). Unter den Versionen der Anwendungen in den Ports sind:
  • Asterisk 16.30.1, 18.24.3, 20.9.3
    • Audacity 3.6.3
    • Audacity 3.6.3
    • CMake 3.30.1
    • Chromium 128.0.6613.137
    • Emacs 29.4
    • FFmpeg 4.4.5
    • GCC 8.4.0 und 11.2.0
    • GHC 9.6.6
    • GNOME 46
    • Go 1.23.1
    • JDK 8u402, 11.0.24, 17.0.12 und 21.0.4
    • KDE-Anwendungen 24.05.2
    • KDE-Frameworks 6.5.0
    • KDE Plasma 6.1.4
    • Krita 5.2.3
    • LLVM/Clang 13.0.0, 16.0.6 und 17.0.6
    • LibreOffice 24.8.1.2
    • Lua 5.1.5, 5.2.4, 5.3.6 und 5.4.7
    • MariaDB 10.9.8
    • Mono 6.12.0.199
    • Mozilla Firefox 130.0.1 und ESR 128.2.0
    • Mozilla Thunderbird 128.2.3
    • Node.js 20.17.0
    • OpenLDAP 2.6.8
    • PHP 8.1.29, 8.2.23 und 8.3.11
    • Postfix 3.9.0
    • PostgreSQL 16.4
    • Python 2.7.18, 3.11.10
    • Qt 5.15.13 (+ Patches von kde) und 6.6.3
    • R 4.4.1
    • Ruby 3.1.6, 3.2.5 und 3.3.5
    • Rust 1.81.0
    • SQLite 3.44.2
    • Shotcut 24.04.28
    • Sudo 1.9.15.5
    • Suricata 7.0.6
    • Tcl/Tk 8.5.19 und 8.6.13
    • TeX Live 2023
    • Vim 9.1.707 und Neovim 0.10.1
    • Xfce 4.18.1
  • Komponenten von Drittanbietern, die in OpenBSD 7.6 enthalten sind, wurden aktualisiert:
    • Grafik-Stack Xenocara auf Basis von X.Org 7.7 mit xserver 21.1.13 + Patches, freetype 2.13.2, fontconfig 2.14.2, Mesa 23.3.6, xterm 393, xkeyboard-config 2.20, fonttosfnt 1.2.3.
    • LLVM/Clang 16.0.6 (+ Patches)
    • GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
    • Perl 5.38.2 (+ Patches)
    • NSD 4.9.1
    • Unbound 1.21.0
    • Ncurses 6.4
    • Binutils 2.17 (+ Patches)
    • Gdb 6.3 (+ Patches)
    • Awk ab dem 28. Juli 2024.
    • Expat 2.6.3
    • zlib 1.3.1 (+ Patches)

Quelle: opennet.ru

60GB SSD 8Gb DDR4