OpenBSD 7.4 mit "ungefähr"-Option bei cron und neuem pfsync

In OpenBSD 7.4 kann cron mit zufälligem Versatz auslösen. Netzwerkkomponenten haben die Entwickler zudem multiprozessorfähig gemacht.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Logo zu OpenBSD 7.4

(Bild: Jessica Scott, www.openbsd.org/74.html)

Lesezeit: 8 Min.
Von
  • Michael Plura
Inhaltsverzeichnis

Das weltweit verteilte Entwicklerteam rund um Gründer Theo de Raadt hat mit OpenBSD 7.4 die 55. Version seines auf Sicherheit und Korrektheit optimierten Open Source-Betriebssystems veröffentlicht. Neben vielen kleinen Detailverbesserungen und etlichen Neuerungen auch im Userland gibt es vor allem Updates im Bereich Sicherheit. Dazu werden prozessorinterne Funktionen wie IBT (amd64) oder BTI (arm64) aktiviert, aber auch AMDs Zenbleed-Bug wird adressiert.

Beim Installer und dem Bootloader gab es vor allem Erweiterungen für Apples M1/M2-Prozessoren und dem Umgang mit deren Firmware. Dort werden bei einer Installation vorhandene EFI-Systempartitionen auf Systemen mit APFSISC-Partitionen (arm64 Apple M1/M2) beibehalten. Durch viele Neuerungen im Bereich arm64 und armv7 nähern sich die beiden Plattformen in der Handhabung weiter den klassischen Architekturen an. Computer wie der Raspberry Pi 4, Pinebook Pro oder SolidRun CEX7 können jetzt mit einer root-Partition auf softraid installiert werden.

Softraid unter OpenBSD ist im Grunde ein virtueller Host Bus Adapter (HBA), der verschiedene RAID-Level und I/O-Dienste oberhalb der physischen Laufwerke anbietet. Dazu gehören die bekannten RAID0/1/5-Level, aber auch ein CRYPTO-Level (Echtzeitverschlüsselung) oder CONCAT (nicht-redundant wie RAID0/Striping, schreibt jedoch sequenziell und nicht verteilt über alle Datenträger) sowie verschlüsselte Spiegel (RAID1C). Das soll laut Entwickler auch für RISC-V (riscv64) funktionieren. Bei OpenBSD behält man aus Prinzip auch ungewöhnliche Architekturen im Auge: Selbst für luna88k wurde ein Fehler im Bootloader bei der Behandlung von SCSI-Festplatten behoben.

Moderne Rechner haben schon lange keine Diskettenlaufwerke mehr, auf den von OpenBSD aber aus Prinzip auch unterstützten älteren Architekturen benötigt man manchmal "Floppies". Der umass-Treiber trägt dem Rechnung und erkennt ab OpenBSD 7.4 über USB angeschlossenen Diskettenlaufwerke korrekt.

Oft ist es OpenBSD, das neue innovative Sicherheitsfeatures einführt, die manchmal auch von anderen Betriebssystemen übernommen werden. Bei OpenBSD aktivieren die Entwickler Indirect Branch Tracking (IBT) auf amd64 und Branch Target Identifier (BTI) auf arm64 für Prozessoren, die diese Funktion beherrschen. Theo de Raadt erklärt die Funktion in seiner Commit-Message und teilt wie gewohnt dabei auch gegen andere Betriebssysteme – in diesem Fall GNU/Linux – aus. Was genau IBT beziehungsweise Indirect Branch Restricted Speculation (IBRS) ist, erläutert Intel in seiner Developer-Doku.

Dank Jonathan Gray können nicht nur Intel-Prozessoren (seit 2018), sondern mit OpenBSD 7.4 auch AMD-CPUs mit Microcode-Updates auf den neuesten Stand gebracht und Fehler behoben werden. Das ist vor allem wichtig im Zusammenhang mit dem "Zenbleed"-Problem von AMD-CPUs. Da OpenBSD im Gegensatz zu Windows oder GNU/Linux nur sehr wenige AVX-Funktionen (Advanced Vector Extensions) benutzt, war es auch bislang recht unempfindlich gegen Exploits. Dennoch wurde das Problem in OpenBSD 7.4 grundlegend beseitigt. Bei Installationen von OpenBSD 7.2 oder 7.3 erhält man die Fixes nur via sysupgrade auf Version 7.4. Die Fixes über syspatch reichen nicht, da die benötigte Firmware im Bootblock steckt und dieser nicht von syspatch bearbeitet wird. Abhilfe schafft nach erfolgtem syspatch je nach Datenträgertyp ein

installboot -v sd0

oder

installboot -v wd0

Auf amd64 und i386 wird nun der Dynamic Tracer dt samt utrace unterstützt und erleichtert so das Debugging. Auch der Kernel Debugger ddb wurde erweitert und verbessert. Über eine neue Funktion "D" von malloc können ktrace und kdump unter OpenBSD 7.4 auf einfache Weise Speicherlecks (Memory Leaks) erkennen. Im ganzen Netzwerk-Stack, beispielsweise im ARP Input Path und beim IPv6 neighbour discovery, wurden weitere Kernel-Locks entfernt, um den SMP-Betrieb zu verbessern. Der Direct Rendering Manager drm wurde auf den Stand von Linux 6.1.55 gebracht.

Für cron und dessen crontab gibt es Dank Todd Miller nun die Möglichkeit, einen zufälligen Offset zu Zeitangaben hinzuzufügen. Etwa wie bei der Angabe eines Bereiches – "8-10" steht für 8, 9 und 10 – wird das Intervall für Zufallswerte durch die Tilde gekennzeichnet. "8~10" steht für einen einzelnen Zufallswert zwischen 8 bis einschließlich 10. Durch die Randomisierung des exakten Zeitpunktes soll das Problem der "thundering herd" entschärft werden. Das tritt auf, wenn in einem Netzwerk etwa sehr viele Rechner jede volle Stunde einen Server kontaktieren.

Mehr Sicherheit bietet auch die neue Gruppe _shutdown, der ein Benutzer angehören muss, um shutdown oder reboot ausführen zu können. Neben root können das üblicherweise Mitglieder der Gruppe operator. Die allerdings können auch Images von Laufwerken anlegen und auf Band sichern und somit alle Dateien lesen. Das empfand Theo de Raadt als zu umfangreich und führte daher die _shutdown-Gruppe ein. Software wie Desktop Environments benötigen dazu kleine Anpassungen. Xfce kann bereits mit _shutdown umgehen.

OpenBSD besitzt mit pf einen der besten Paketfilter für Firewall-Anwendungen. Redundante Firewall-Installationen werden dabei über pfsync synchronisiert. Pfsync sorgt dafür, dass die Statustabellen für Netzwerkverbindungen auf allen beteiligten Paketfiltern abgeglichen werden. David Gwynne hat bereits vor einigen Jahren damit begonnen, pfsync wegen vieler kleiner Probleme zu großen Teilen neu zu programmieren. Mit OpenBSD 7.4 soll pfsync nun produktionsreif sein und neben Verbesserungen und neuen Funktionen vor allem massiv schneller arbeiten. Auch hier wurden Kernel- sowie Netzwerk-Locks entfernt, pfsync hat sogar einen eigenen Lock-Mechanismus, um interne Datenstrukturen konsistent zu halten.

OpenBSD 7.4 enthält LibreSSL 3.8.2, das sich endgültig von TLSv1.0 und TLSv 1.1 verabschiedet hat. Dafür lassen sich jetzt Ed25519-Zertifikate nutzen. Ed25519 (beziehungsweise Curve25519) gilt als besonders sicher, weil ihre Form die Verwendung von Algorithmen erlaubt, die immun gegen Timing-basierte Seitenkanalangriffe sind. OpenSSH 9.5 generiert über ssh-keygen in OpenBSD 7.4 standardmäßig ebendiese Ed25519-Schlüssel.

Beim ersten Start eines frisch installierten Systems wird der Fingerabdruck des Ed25519-Schlüssels für SSH-Sitzungen angezeigt.

(Bild: Screenshot / Michael Plura)

ssh wurde zusätzlich von Damien Miller um eine keystroke timing obfuscation erweitert. Die Funktion versucht, die Zeitabstände zwischen Tastenanschlägen zu verschleiern, indem diese bei kleinen Datenmengen in fixen Zeitabständen (standardmäßig 20 ms) gesendet werden. Nach dem letzten Tastenanschlag werden für eine zufällige Zeitspanne zusätzliche "Fake-Tastenanschläge" gesendet.

Der bereits für OpenBSD 5.9 von Grund auf neu entwickelte OpenBSD-Hypervisor beziehungsweise Virtual Machine Daemon vmd arbeitet mit dem Virtual Machine Monitor (VMM), der fester Bestandteil des Kernels ist, zusammen. Gesteuert wird vmd über vmctl. Während vmd bereits von Anfang an multiprozessorfähig war, werden mit OpenBSD 7.4 auch die emulierten Geräte SMP-fähig. Dazu werden die virtio Netzwerk- und Blockgeräte in eigene Prozesse geforked. Das bringt Geschwindigkeit, da die vCPUs-Threads nun nicht mehr durch die Geräteemulationen blockiert werden können. Zusätzlich wird das VMM-Subsystem sicherer, weil virtio-Geräte so viel gezielter durch pledge auf minimale Zugriffsrechte beschränkt werden können.

Endlich gibt es mit viogpu von Joshua Stein auch erste zarte Unterstützung für ein virtio-basiertes GPU-Interface, wie es etwa QEMU bereitstellt, um darüber virtuelle Konsolen wie wscons erzeugen zu können.

OpenBSD steht unter der freien MIT-Lizenz und ist als Open-Source-Software frei verfügbar. OpenBSD 7.4 bietet über 11.000 Anwendungen, die sich über die Paketverwaltung installieren lassen. OpenBSDs Xenocara basiert auf Xorg 7.7. Darauf laufen verschiedenen Window-Manager und Desktop-Umgebungen wie cwm, dwm, MATE, Xfce 4.18, GNOME 44 und KDE 5.110.0. Dazu gibt es Chromium 117 oder Mozilla Firefox 118/ESR 115.31 und LibreOffice 7.6.2.1 – oder je nach Geschmack den Emacs 29.1 oder Vim 9.0.1897/Neovim 0.9.1.

Kostenlose Installationsimages und -anleitungen für 14 Hardware-Plattformen stehen auf der Projektseite zum Download bereit. Dort findet man auch die Release-Informationen zu OpenBSD 7.4 mit einer detaillierten Übersicht aller Änderungen.

Aktuelle Linux/Unix-Versionen

Der aktuelle Stand der wichtigsten Unix- und Linux-Distributionen:

(dmk)