Veröffentlichung von OpenBSD 7.5

Die Veröffentlichung des freien UNIX-ähnlichen Betriebssystems OpenBSD 7.5 wurde vorgestellt. Das Projekt OpenBSD wurde 1995 von Theo de Raadt gegründet, nachdem es zu einem Konflikt mit den Entwicklern von NetBSD gekommen war, infolgedessen Theo der Zugang zum CVS-Repository von NetBSD verwehrt wurde. Daraufhin gründete Theo de Raadt mit einer Gruppe Gleichgesinnter ein neues offenes Betriebssystem auf Basis des Quellcode-Baums von NetBSD, dessen Hauptziele die Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionalität, proaktive Sicherheit und integrierte Kryptografie waren. Die Größe des vollständigen Installations-ISO-Abbilds des Basisbetriebsystems OpenBSD 7.5 beträgt 630 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:

  • Der Installer unterstützt jetzt die Verschlüsselung der Root-Partition. Im automatisierten Installationsmodus (autoinstall) wurde die Möglichkeit hinzugefügt, die Verschlüsselung von Festplatten mit der Angabe eines Passworts im Klartext oder der Bereitstellung von Schlüsseln auf einem separaten Träger zu aktivieren. Die Builds für die Architektur AMD64 cdXX.iso und installXX.iso wurden für den Bootvorgang im EFI-Modus angepasst.
  • Ein Systemaufruf pinsyscalls wurde hinzugefügt, der den Zugriff auf Systemaufrufe nur von bestimmten Stellen im Adressraum des Prozesses erlaubt. Der Kernel und ld.so können den genauen Einstiegspunkt für jeden von der Anwendung und der Bibliothek libc.so verwendeten Systemaufruf registrieren, um anschließend das Senden von Systemaufrufen aus nicht registrierten Stellen zu blockieren.
  • Die Unterstützung für den indirekten Zugriff auf Systemaufrufe über die Funktion syscall wurde entfernt. In Kombination mit pinsyscalls ermöglicht diese Änderung, den direkten Zugriff auf Systemaufrufe ohne Verwendung der in libc bereitgestellten Wrapper zu verbieten. Pakete, die direkten Zugriff auf Systemaufrufe haben, wie Perl und Go, wurden angepasst, um nur Funktionen von libc zu verwenden.
  • Auf ARM64-Systemen wurde die Nutzung der Mechanismen zur Authentifizierung von Zeigern (PAC - Pointer Authentication) und der Identifizierung von Verzweigungen (BTI - Branch Target Identification) erweitert.
  • Im Netzwerkinterface ppp wurde hinzugefügt IPv6-Unterstützung.
  • Im Dienstprogramm netstat wurde die Ausgabe von Statistiken zur Effizienz des Routencachings implementiert (in der Ausgabe "netstat -s" werden jetzt Treffer- und Fehlschlagszähler für den Cache angezeigt).
  • Im Paketfilter pf wurden Änderungen im Netzwerkstack berücksichtigt, die mit der Parallelisierung von Operationen auf Mehrprozessorsystemen verbunden sind. Bei der Ausführung des Dienstprogramms tcpdump mit der Netzwerkschnittstelle pflog wird die Anzeige der Pakete sichergestellt, die beim Auslösen der Standardregel mit der Aktion „block“ verworfen wurden. Für Regeln mit der Aktion „pass“ wird eine Anzeige der blockierten fehlerhaften Pakete bereitgestellt. In divert wurde eine Überprüfung der korrekten Festlegung der Optionen in IPv4-Paketen hinzugefügt.
  • Die Unterstützung für Mehrprozessorsysteme (SMP) wurde verbessert. Die Timeout-Handler im Netzwerkstack, die Paketanzahl für die Loopback-Schnittstelle und das Modul vscsi_filtops wurden auf mp-safe umgestellt. Die parallele Ausführung der Systemaufrufe bind und connect sowie von Operationen mit UDP-Tabellen für IPv4 und IPv6 wurde sichergestellt. Die Unterstützung für den gleichzeitigen Versand von UDP-Paketen aus verschiedenen Threads wurde hinzugefügt.
  • Die Behandlung von Überlauf-Situationen im Swap-Bereich wurde verbessert; es wurden Änderungen hinzugefügt, um gegenseitige Blockierungen auszuschließen.
  • Im Kernel für arm64-Systeme wurde das Caching des Inhalts von Seitenpool-Tabellen und PTE-Deskriptoren implementiert, was die Leistung auf Mehrkernsystemen erheblich beschleunigt hat.
  • Verbesserungen wurden im Hypervisor VMM vorgenommen. Die Implementierung des Geräts vionet wurde umgeschrieben, um Multithreading und den Datenaustausch zwischen Host und Guest-System im Zero-Copy-Modus ohne Zwischenpufferung zu unterstützen. Die Stabilität des Hypervisors auf Systemen mit Intel VMX-Instruktionen wurde erhöht. Zusätzlicher Schutz vor kürzlich entdeckten Schwachstellen in Prozessoren, die mit spekulativer Ausführung von Instruktionen und Lecks von Restdaten aus Registern verbunden sind, wurde hinzugefügt.
  • Für amd64-Systeme wurde sysctl machdep.retpoline hinzugefügt, um die Aktivierung des retpoline-Mechanismus zum Schutz vor Spectre-Angriffen zu steuern.
  • Die Implementierung des drm (Direct Rendering Manager)-Frameworks wurde mit dem Linux-Kernel 6.6.19 synchronisiert (im vorherigen Release – 6.1.55).
  • Unterstützung für neue Hardware wurde hinzugefügt, und neue Treiber, die mit Komponenten verschiedener SoCs, der Unterstützung von Ethernet-Controllern und der Auslagerung von Netzwerkoperationen auf Netzwerkadapter verbunden sind, wurden integriert.
  • Im Audiosystem uaudio wurde die Verwendung mehrerer Treiber für Audiogeräte erlaubt.
  • Es wurden Treiber für apldcp und apldrm für die in Apple-Geräten verwendeten Display-Controller hinzugefügt. Für das Apple Powerbook wurde die Möglichkeit zur Steuerung der Tastaturbeleuchtung implementiert.
  • Der Treiber qwx für drahtlose Qualcomm IEEE 802.11ax-Chips wurde hinzugefügt, der durch Portierung des ath11k-Treibers aus dem Linux-Kernel (der Teil des Kernels seit der Version 5.6 ist) erstellt wurde. Der Treiber ermöglicht die Verwendung von drahtlosen Adaptern, die in Notebooks wie Lenovo ThinkPad X13s und DELL XPS 9500 verwendet werden. Für den Betrieb des Treibers ist die Installation von Firmware-Dateien erforderlich.
  • Das Tool pax hat die Möglichkeit hinzugefügt, in pax-Archive zu schreiben, und das Tool tar hat die Unterstützung für pax-Archive mit einer Größe von mehr als 8 GB hinzugefügt.
  • Im ifconfig-Tool wurde die Unterstützung für die Angabe von Portnummern für netzwerkbezogene Tunnel-Interfaces wie gif und gre hinzugefügt.
  • Im bgpd wurde der Mechanismus zur Übertragung von Nachrichten und die meisten Parser für Protokolle auf die neue API für sicheres Arbeiten mit Speicher umgestellt.
  • Im rpki-client wurde experimentelle Unterstützung für das digitale Signaturalgorithmus P-256 hinzugefügt. Die Möglichkeit, den RPKI Trust Anchor nur für bestimmte autonome Systemsnummern zu beschränken, wurde implementiert. Unterstützung für signierte Präfixlisten (Signed Prefix List) wurde hinzugefügt.
  • Im smtpd wurde die Unterstützung für RFC 7505 („Null MX“ zur Identifizierung, die keine E-Mails empfangen) hinzugefügt und die Möglichkeit zur Einbettung mehrzeiliger Tabellen und Listen mit Filtern in smtpd.conf bereitgestellt. DomainsEs wurde die Möglichkeit geschaffen, eine benutzerdefinierte Umgebung von KDE Plasma 5.27 aus den Paketen kde-plasma und kde-plasma-extra zu installieren (nachdem die Unterstützung von KDE4 eingestellt wurde, blieb die Unterstützung für die Verwendung des KDE Plasma 5-Desktops in OpenBSD nach wie vor nicht funktionsfähig). Zur Installation werden die Versionen KDE Plasma 5.27.10, KDE Applications 23.08.4 und KDE Frameworks 5.115.0 angeboten.
  • Die Pakete LibreSSL und OpenSSH wurden aktualisiert. Eine detaillierte Übersicht über die Verbesserungen finden Sie in den Rezensionen zu LibreSSL 3.9.0, OpenSSH 9.6 und OpenSSH 9.7.
  • Die Anzahl der Ports für die Architektur AMD64 betrug: 12309 (früher 11845), für aarch64 — 12145 (früher 11508), für i386 — 10830 (früher 10603). Unter den Anwendungsversionen in den Ports:
  • 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
    • Mutt 2.2.13 und NeoMutt 20240201
    • MariaDB 10.9.8
    • Mono 6.12.0.199
    • 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-Patches), 6.6.1
    • R 4.2.3
    • Ruby 3.1.4, 3.2.3, 3.3.0
    • Rust 1.76.0
    • Shotcut 23.07.29
    • SQLite 3.44.2
    • Suricata 7.0.3
    • 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
  • Aktualisierte Komponenten von Drittanbietern, die in OpenBSD 7.5 enthalten sind:
    • Grafik-Stack Xenocara auf Basis von X.Org 7.7 mit xserver 21.1.11 + Patches, 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 (+ Patches)
    • GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
    • Perl 5.36.3 (+ Patches)
    • NSD 4.8.0
    • Unbound 1.18
    • Ncurses 5.7
    • Binutils 2.17 (+ Patches)
    • Gdb 6.3 (+ Patch)
    • Awk 22.01.2024
    • Expat 2.6.0.
    • zlib 1.3.1 (+ Patches).

Quelle: opennet.ru

60GB SSD 8Gb DDR4