Schlagwort: OpenBSD

  • Void Linux kehrt LibreSSL den Rücken und zu OpenSSL zurück

    Einige Distributionen sind 2014 nach der Heartbleed getauften Sicherheitslücke, einem schwerwiegenden Fehler in der TLS-Implementation von OpenSSL, zu LibreSSL gewechselt, einer freien Implementierung des Verschlüsselungsprotokolls TLS. Void Linux wechselt nun am 5. März zurück zu OpenSSL, wie den News auf der Webseite des Projekts zu entnehmen ist.

    250.000 Zeilen leichter

    OpenSSL stellt die Basis für eine Reihe wichtiger kryptografischer Funktionen zur Verfügung, es bietet TLS- und SSL-Implementierungen und eine Reihe von Dienstprogrammen für Funktionen wie Schlüsselerzeugung und Signierung. LibreSSL entstand im Nachgang von Heartbeat im OpenBSD-Team um Theo de Raadt und sollte das komplexe OpenSSL entschlacken. LibreSSL war zwar als API-kompatibel zu OpenSSL ausgelegt, ist es aber derzeit nicht vollständig. Für den Fork wurden um fast 250.000 Zeilen Code entfernt.

    Wenig Adaption unter Linux

    Neben BSD-Projekten setzten auch einige Linux-Distributionen wie Alpine Linux, Hyperbola GNU/Linux und Void Linux LibreSSL als Ersatz für OpenSSL ein, Gentoo bot es als Alternative an. Alpine wechselte 2019 zurück zu OpenSSL, Gentoo hat im Februar die Unterstützung für LibreSSL aufgegeben. Somit ist Void Linux das dritte Projekt, dass sich wieder von den Fork abwendet.

    Mehrarbeit nicht zu rechtfertigen

    Als Grund für den Schritt zurück wird allgemein der hohe Pflegeaufwand genannt, der nicht ausreichend durch Vorteile gegenüber OpenSSL gerechtfertigt werden könne. Der Journalist und Sicherheitsexperte Hanno Böck, der auch als Gentoo-Entwickler tätig ist, drückt es so aus:

    Ich glaube, dass so ziemlich alles, was LibreSSL ursprünglich war (konsistenter Kodierungsstil, Aufräumen von veraltetem/totem Code usw.), heutzutage in OpenSSL passiert ist. Es ist eher so, dass es einen Mythos um LibreSSL aus diesen frühen Tagen gibt (wo die Leute dahinter damals berechtigte Kritik an OpenSSL geäußert haben), als irgendeinen wirklichen Wert.

    Python will LibreSSL nicht mehr unterstützen

    Die Void-Entwickler kommen nun ebenfalls zu der Erkenntnis, das LibreSSL die Mehrarbeit durch die vielen notwendigen Patches nicht rechtfertigt und kehren zu OpenSSL zurück. Als Beispiele werden die Qt5- und die kommende Qt6-Implementierung bei Void ebenso angeführt wie Probleme bei Python, das in Betracht zieht, die LibreSSL-Unterstützung gänzlich einzustellen. Ein Vorschlag, künftig nur noch OpenSSL 1.1.1 LTS oder neuer zu unterstützen wurde im Oktober 2020 in PEP 644 formuliert.

    Der Letzte macht das Licht aus

    Ein Vorteil von LibreSSL ist laut den Void-Entwicklern die Bibliothek libtls, die OpenSSL nicht unterstützt. Hier will Void eine eigenständige Version erarbeiten. Mit dem Schritt von Void Linux zurück zu OpenSSL scheint die Unterstützung von LibreSSL unter Linux der Vergangenheit anzugehören, denn der vorletzte Vertreter Hyperbola wendet sich gänzlich von Linux ab und basiert bald völlig auf OpenBSD. Es verbleibt lediglich OpenELEC. Die Situation von LibreSSL in Linux wird detailliert von einem Artikel auf LWN zusammengefasst.

  • WireGuard im OpenBSD-Kernel

    WireGuard im OpenBSD-Kernel
    OpenBSD-Logo

    Mitte Mai stellte WireGuard-Entwickler Jason Donenfeld ein Patchset seines modernen VPN-Tunnels für OpenBSD vor, dass er gemeinsam mit dem Entwickler Matt Dunwoodie erstellt hatte. Zwei Monate später wurde WireGuard nun in den Kernel von OpenBSD aufgenommen.

    Auf Linux folgt OpenBSD

    Bereits im Sommer 2016 empfahl der Entwickler Jason Donenfeld seine Entwicklung erstmals für die Aufnahme in den Linux-Kernel. Aber erst Ende März 2020 wurde WireGuard in Linux 5.6 aufgenommen. Es brauchte dazu einige Anläufe und viele Revisionen, obwohl Linus Torvalds und Greg Kroah-Hartman sich bereits 2017 sehr lobend geäußert hatten und auf eine baldige Aufnahme hofften.

    Jetzt berichtet Donenfeld in seiner Ankündigung, dass die Aufnahme in den Kernel von OpenBSD »sehr angenehm« verlaufen sei und nur drei Patch-Revisionen benötigt habe. Er geht davon aus, dass WireGuard mit OpenBSD 6.8 erstmals ausgeliefert werde.

    Nur 4.000 Zeilen Code

    WireGuard ist mit rund 4.000 Zeilen Code im Vergleich mit ähnlicher freier Software wie IPsec oder Open-VPN extrem klein. Auch das Aufsetzen eines VPN-Tunnels mit WireGuard gestaltet sich vergleichsweise viel einfacher und erinnert durch die Verwendung von privaten und öffentlichen Schlüsseln an das Aufsetzen einer SSH-Verbindung.

    Weit verbreitet

    Somit verwundert es nicht, dass WireGuard in einer Art Siegeszug in Windeseile auf allen wichtigen Plattformen Fuß fassen konnte. Es gibt Anzeichen für eine baldige Aufnahme bei FreeBSD und NetBSD, die sich derzeit eines WireGuard-Go-Ports bedienen. Auch für die auf FreeBSD basierte Firewall-Distribution pfSense gibt es erste inoffizielle Pakete. Hersteller Netgate hat sich bereit erklärt, eine Portierung nach FreeBSD zu unterstützen.

    Weitere Informationen zu WireGuard vermittelt die Webseite des Projekts, der Code wird auf GitHub gepflegt.

  • WireGuard für OpenBSD

    OpenBSD-Logo

    Knapp sechs Wochen ist es her, dass der moderne VPN-Tunnel WireGuard nach mehreren Anläufen in Linux 5.6 aufgenommen wurde. Jetzt hat der Entwickler Matt Dunwoodie ein Patchset für OpenBSD vorgestellt, dass er in Abstimmung mit WireGuard-Entwickler Jason Donenfeld entwickelt hat.

    Patchset für OpenBSD

    Beide Entwickler sind sich einig, dass die Patches weit genug gediehen sind, um künftig direkt im Quellbaum von OpenBSD weiter gepflegt zu werden. Das hat Dunwoodie jetzt auf der Mailing-Liste openbsd-tech bekannt gegeben. Neben dem Kernel-Treiber enthält das Patchset auch Patches für ifconfig zur Erstellung der wg-Schnittstellen und um WireGuard-Packets in tcpdump anzuzeigen.

    Um eine gut informierte Diskussion auf der Liste zu gewährleisten, hat Dunwoodie gleich eine FAQ angehängt, in der er vermutete Fragen im Vorfeld beantwortet. So beantwortet er beispielsweise die Frage, ob dies ein Klon des Linux-Kernel-Moduls sei, mit Jein. Obwohl diese Implementation direkt auf OpenBSD zentriert sei, hätten Fehler aus der Entwicklung des Linux-Moduls vermieden werden können.

    Nur 3.000 Zeilen

    Durch das Vorhandensein einer guten Netzwerkinfrastruktur in OpenBSD konnte der Umfang mit rund 3.000 Zeilen noch unter die 4.000 Zeilen des Linux-Moduls gedrückt werden. Vergleicht man dies mit den rund 600.000 Zeilen bei den Mitbewerbern von OpenVPN oder 400.000 Zeilen, die IPsec benötigt, so wird klar, warum WireGuard so viel Furore macht. Es erklärt auch die von Dunwoodie erreichte Geschwindigkeit von 750 MBit/s zwischen zwei X230 ThinkPads.

    Ein Fan von OpenBSD

    Auch WireGuard-Entwickler Donenfeld meldet sich zu Wort und erklärt, er bewundere seit Jahren »die allgemeine Philosophie der Programmierung einfacher und sicherer Systeme« bei OpenBSD. Davon sei WireGuard von Anfang an inspiriert gewesen. Donenfeld steht voll und ganz hinter diesen Patches.

    Wird das Patchset angenommen, könnte OpenBSD die zweite Distribution werden, die WireGuard in den Kernel aufnimmt. Clients gibt es bereits für Linux, *BSD, macOS, Windows, Android und iOS.