• IT-Karriere:
  • Services:

VPN: Wireguard landet nach großen Problemen neu in FreeBSD

Die geplante Implementierung von Wireguard in FreeBSD war so schlecht, dass nur noch massiver persönlicher Einsatz das Projekt retten konnte.

Artikel veröffentlicht am ,
Das Wireguard-Maskottchen ist ein Drache.
Das Wireguard-Maskottchen ist ein Drache. (Bild: Pixabay)

Die moderne VPN-Technologie Wireguard läuft nun auch offiziell mit Unterstützung der Wireguard-Community im Kernel des freien Betriebssystems FreeBSD. Die Integration umfasst auch einige Userland-Werkzeuge und die nun verfügbare Implementierung sollte im Großen und Ganzen korrekt funktionieren, wie der Wireguard-Gründer Jason Donenfeld auf der Mailingliste des Projekts ankündigt. Dafür musste der Code aber einmal völlig überarbeitet werden und Donenfeld kritisierte den bisherigen Ansatz extrem harsch.

Stellenmarkt
  1. Deutsches Krebsforschungszentrum (DKFZ), Heidelberg
  2. Die Autobahn GmbH des Bundes, Hamm, Münster, Gelsenkirchen

Begonnen wurden die Arbeiten an dem Wireguard-Port für FreeBSD vor etwa einem Jahr durch Matthew Macy, der dies für das Unternehmen Netgate umgesetzt hat, das wiederum Hauptsponsor der Firewall-Distribution Pfsense ist. Die so entstandenen Arbeiten sind letztlich Ende November 2020 größtenteils in FreeBSD gelandet.

Laut Donenfeld scheiterten dessen Versuche jedoch, mit den dafür Verantwortlichen in Kontakt zu treten. Der Code des Ports ist letztlich dennoch in FreeBSD importiert worden und der zuständige Entwickler hat sich anderen Projekten zugewendet. Wohl nur durch Zufall ist Donenfeld dann vor Kurzem erneut auf den Port aufmerksam geworden.

C wie es nicht sein sollte

In der anschließenden Diskussion wurde dann wohl schnell klar, dass der bestehende Code grundsätzlich überarbeitet werden musste, was Donenfeld gemeinsam mit dem FreeBSD-Entwickler Kyle Evans sowie mit Matt Dunwoodie umsetzte, der für den OpenBSD-Port von Wireguard zuständig war.

Golem Akademie
  1. Python kompakt - Einführung für Softwareentwickler
    19./20. April 2021, online
  2. Ansible Fundamentals: Systemdeployment & -management
    26.-30. April 2021, online
Weitere IT-Trainings

Der zuvor in FreeBSD importierte Code war demnach von extrem schlechter Qualität. "Es gab wahllose Sleep-Aufrufe, um Race Conditions zu 'reparieren', Validierungsfunktionen, die nur True zurückgegeben haben, katastrophale kryptografische Schwachstellen, ganze Teile des Protokolls, die nicht implementiert wurden, Kernel-Panics, Umgehungen der Sicherheitsfunktionen, Überläufe, wahllose Printf-Anweisungen tief im Kryptocode, spektakulärste Buffer-Overflows und die ganze Litanei schrecklicher Dinge, die schief gehen, wenn die Leute nicht aufpassen, wenn sie C-Code schreiben".

Darüber hinaus hat der ursprüngliche Port auf FreeBSD einfach 40.000 Zeilen optimierten Kryptocode aus dem Linux-Kompatabilitätsmodul kopiert. Dieser sei aber nicht richtig integriert worden und mit einem Labyrinth aus Ifdef-Anweisungen verschränkt gewesen. Die drei beteiligten Entwickler haben den Code nun in gut einer Woche komplett überarbeitet und dabei im Prinzip wohl fast vollständig neu geschrieben. Lediglich die auch zuvor schon aus OpenBSD übernommenen Teile bleiben dabei unverändert.

Unabhängig von dieser Diskussion hat das Pfsense-Projekt bereits Mitte Januar eine Vorschau auf Wireguard in Pfsense 2.5 veröffentlicht, die noch auf dem alten FreeBSD-Code basiert, den Donenfeld und seine Mitstreiter nun ersetzt haben. Der Code ist dann letztlich auch mit Pfsense Plus 21.02 und mit Pfsense CE 2.5 Mitte Februar stabil veröffentlicht worden. Ob das Pfsense-Team nun seinen Code gegen den neuen FreeBSD-Code austauscht, ist derzeit noch nicht bekannt.

Aufgrund der vergleichsweise überstürzten Aktion wird der nun neue Wireguard-Code wohl nicht schon wie ursprünglich geplant mit dem kommenden FreeBSD 13 aktiviert, das in wenigen Wochen erscheinen soll. Laut Donenfeld ist jedoch eine stabile Veröffentlichung mit dem nachfolgenden FreeBSD 13.1 wahrscheinlich. Bis dahin sollen auch noch einige weitere Integrationen in den FreeBSD-Code umgesetzt werden. Hinzu kommen soll außerdem noch ein unabhängig installierbares Modul, dass als Backport sogar noch in FreeBSD 12 genutzt werden kann.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. (u. a. Sandisk Ultra 3D 2TB SATA-SSD für 159,00€, LG OLED65CX9LA für 1.839,00€, Trust Trino...
  2. (Spring Sale u. a. Anno 1800 für 26,99€, Middle-earth: Shadow of War für 6,80€ und Dying...
  3. (aktuelll u. a. Samsung QLED-TVs)
  4. 159€

Stefan Eßer 18. Mär 2021 / Themenstart

Das hat das FreeBSD-Projekt auch so gesehen und deshalb den gesamten Code wieder aus dem...

Stefan Eßer 18. Mär 2021 / Themenstart

Nein, absolut kein Zufall. Warum ist das seltsam? Der ist doch nicht der Einzige, der...

waterwalker 16. Mär 2021 / Themenstart

Die Firma ist sehr "seriös" schau mal auf den Wikipedia Artikel und lies dir durch, was...

Kommentieren


Folgen Sie uns
       


Gocycle GX - Test

Das Gocycle GX hat einen recht speziellen Pedelec-Sound, aber dafür viele Vorteile.

Gocycle GX - Test Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /