OpenBSD

OpenBSD
Logo
Kostenlos, funktional und sicher
Kostenlos, funktional und sicher
Familie Unix-Typ ( BSD )
Kern Typ Monolithisch
Projekt-Status aktiv
Anzahlung cvsweb.openbsd.org/cgi-bin/cvsweb
Plattformen Alpha , AMD64 , Armish , PA-RISC , i386 , SH4 , Loongson , Macppc , SGI , Sparc , Sparc64 , VAX , Zaurus und andere
Firma /
Gründer
Theo de Raadt
Firma /
Entwickler
Theo de Raadt und OpenBSD-Projekt ( d )
Lizenz ISC- und BSD- kompatibel
Erste Version 18. Oktober 1995
Neueste stabile Version 6,9 (1 st Mai 2021)
Paket-Manager pkg
Webseite www.openbsd.org

OpenBSD ist ein Betriebssystem frei von Unix , abgeleitet von 4.4BSD . Es wurde 1994 von Theo de Raadt gegründet und ist aus der Trennung von NetBSD hervorgegangen , dem ältesten der anderen drei großen Betriebssysteme der BSD-Familie, die heute in Betrieb sind. Das OpenBSD-Projekt ist bekannt für seine Unnachgiebigkeit in Bezug auf Software- und Quellcodefreiheit, die Qualität seiner Dokumentation und den Schwerpunkt auf Sicherheit und eingebetteter Kryptografie .

OpenBSD enthält eine Reihe von Sicherheitsmaßnahmen, die in anderen Betriebssystemen fehlen oder optional sind. Die Entwickler führen traditionell Code- Audits durch , um nach Sicherheitsproblemen und Fehlern zu suchen . Das Projekt folgt strengen Lizenzrichtlinien und bevorzugt seine eigene Open-Source- Lizenz ISC und andere Variationen der BSD-Lizenz  : In der Vergangenheit hat dies zu einer umfassenden Prüfung von Lizenzen und Ersetzungen geführt, selbst das Löschen von lizenziertem Code wurde als weniger akzeptabel angesehen.

Wie die meisten BSD-basierten Betriebssysteme werden der OpenBSD- Kernel und seine Benutzerprogramme wie die Shell und gängige Tools wie cat und ps in einem einzigen CVS- Repository entwickelt . Software von Drittanbietern wird in Binärpaketen geliefert oder kann mithilfe der Ports-Sammlung aus dem Quellcode kompiliert werden.

Das Projekt wird von Theo de Raadt aus seinem Haus in Calgary , Alberta , Kanada , koordiniert . Das Maskottchen des Projekts ist Puffy , ein Diodon .

Geschichte

Theo de Raadt war Mitbegründer von NetBSD und Mitglied des Entwicklungsteams. In 1994 bat das Team ihn und sein Zugang zu CVS zum Rücktritt widerrufen wurde. Die Gründe für die Räumung sind bis heute unklar, aber mehrere andere Mitglieder des NetBSD- Teams haben Probleme im Zusammenhang mit Raadt angesprochen. Er wurde insbesondere dafür kritisiert, dass er unhöflich gegenüber Benutzern war, indem er einen aggressiven Ton auf den Mailinglisten von NetBSD verwendete .

Die Persönlichkeit von Theo de Raadt

Laut vielen anderen Persönlichkeiten der freien Software, einschließlich Linus Torvalds , ist Theo de Raadt's als unkompliziert und schwierig bekannt. Seine starken Positionen sind eine Konfliktquelle und werden manchmal als beleidigend angesehen. De Raadt sagte dies über das GNU / Linux-Betriebssystem in einem Interview mit der Forbes-Zeitung: „Es ist schrecklich ... jeder benutzt es und sie wissen nicht, wie schlimm es ist. Und Linux-Benutzer werden damit zufrieden sein und es konkretisieren, anstatt zurückzutreten und zu sagen: "Das ist Müll und wir sollten es reparieren." ""

Obwohl seine Persönlichkeit selten gleichgültig ist, stimmen die meisten Kommentatoren darin überein, dass Theo de Raadt ein talentierter Programmierer und Sicherheitsguru ist. Seine Spontanität, die einige zu schätzen wissen, zeigte sich in diesem Konflikt mit dem NetBSD- Team , dessen Mitglieder zum größten Teil noch heute über diese Episode schweigen. Umgekehrt beantwortete Theo de Raadt alle ihm gestellten Fragen und stellte dem NetBSD- Team die ausgetauschten E-Mails und die Protokolle der Chatrooms zur Verfügung .

Ein erzwungener Rücktritt

Theo de Raadt wurde nicht sofort vom NetBSD- Projekt ausgeschlossen . Das CVS-Repository für dieses Projekt erfordert unterschiedliche Lese- und Schreibberechtigungen. Als Mitbegründer und zweitaktivster Mitwirkender hatte de Raadt Lese- und Schreibzugriff auf Basis des Systems. Das NetBSD- Team hat dann die Möglichkeit weggenommen, Änderungen direkt an das Repository zu senden und diese Änderungen dauerhaft zu machen. De Raadt war dann gezwungen, jeden seiner Beiträge zur Überprüfung per E-Mail an ein Teammitglied zu senden.

De Raadt betrachtete diese Aktion als missbräuchlich und versuchte erfolglos, wieder vollen Zugriff auf das CVS-Repository von NetBSD zu erhalten . Da das Entwicklungsteam sicherstellen wollte, dass ihre Beiträge "positiv" sind, boten sie de Raadt verschiedene Lösungen an, einschließlich eines zu unterzeichnenden Schreibens, in dem die Bedingungen, Rechte und Pflichten von Raadt zusammengefasst wurden. Nach mehreren Monaten des Streits über die Mailinglisten des Projekts trat de Raadt offiziell zurück und schuf 1994 das OpenBSD-Betriebssystem auf Basis der lizenzierten NetBSD- Version 1.0 .

Die Erstellung von OpenBSD

Nach der Erstellung von OpenBSD versuchte jedes Projekt, Entwickler für sich zu gewinnen. Schnell bildeten sich zwei fast versiegelte Lager, und mehrere NetBSD- Entwickler folgten de Raadt. Letzterer bemerkte, dass eine Reihe von E-Mails und Briefen, die auf seiner persönlichen Website veröffentlicht wurden, verschwunden waren. Obwohl er sich formell weigerte, Mitglieder des NetBSD-Teams zu belasten, beschloss Theo de Raadt , die Sicherheit von NetBSD zu untersuchen , die er als mangelhaft erachtete.

Kurz nach der Gründung von OpenBSD wurde Theo de Raadt von Secure Networks Inc. kontaktiert . (oder SNI), ein lokales Unternehmen für Sicherheitssoftware, das ein Tool zur Überprüfung der Netzwerksicherheit namens Ballista entwickelte (nach der Übernahme von SNI durch Network Associates in Cybercop Scanner umbenannt ), um mögliche Sicherheitslücken in der Software zu finden und auszunutzen. Dies fiel mit dem eigenen Interesse von De Raadt an der Sicherheit zusammen: Die beiden Parteien beschlossen daher, in einer besonders vorteilhaften Beziehung zusammenzuarbeiten, die zur Veröffentlichung von OpenBSD 2.3 führte.

Codesicherheit und -prüfung

Weitere Informationen zu diesem Abschnitt finden Sie auf der Seite OpenBSD-Sicherheitsfunktionen  (en) (en) .

Diese Zusammenarbeit ermöglichte es dem Projekt auch, sich auf einen bestimmten Punkt zu konzentrieren: OpenBSD-Entwickler sollten versuchen, das Richtige, Saubere und Sichere zu tun, selbst auf Kosten der Benutzerfreundlichkeit, Geschwindigkeit oder Funktionalität. Da die Fehler von OpenBSD immer schwerer zu erkennen und auszunutzen waren, entschied das Sicherheitsunternehmen, dass die Codeprüfung zu schwierig und unrentabel geworden war. Nach Jahren der Zusammenarbeit waren sich beide Seiten einig, dass ihre gemeinsamen Ziele erreicht worden waren, und gingen getrennte Wege.

Das Argument der geringen Anzahl von aus der Ferne ausnutzbaren Mängeln

Bis Juni 2002 hatte die OpenBSD-Website den folgenden Slogan:

„Fünf Jahre ohne Remote-Schwachstelle in der Standardinstallation! ""

Im Juni 2002, Mark Dow von Internet Security Systems entdeckt eine Lücke im OpenSSH - Code , die fragenbasierte Authentifizierung implementiert. Dies war die erste Sicherheitsanfälligkeit, die in der Standardinstallation von OpenBSD entdeckt wurde und die es einem Angreifer ermöglicht, remote auf das Superuser-Konto zuzugreifen. Die zu diesem Zeitpunkt weit verbreitete Verwendung von OpenSSH war für die Schwere der Sicherheitsanfälligkeit verantwortlich, von der eine beträchtliche Anzahl anderer Betriebssysteme betroffen war. Dieses Problem erforderte eine Anpassung des OpenBSD-Website-Slogans:

"Nur eine Remote-Sicherheitsanfälligkeit in der Standardinstallation in 6 Jahren!" ""

Diese Behauptung wurde wegen des Mangels an Software, die in der Standard-OpenBSD-Installation aktiviert wurde, und wegen der Tatsache kritisiert, dass Remote-Schwachstellen nach der Veröffentlichung einer Version entdeckt wurden. Das Projekt besteht jedoch darauf, dass sich der Slogan auf die Standardinstallation bezieht und daher auf dieser Ebene korrekt ist. Eine der Grundideen von OpenBSD besteht darin, ein System zu entwerfen, das standardmäßig einfach, sauber und sicher ist. Beispielsweise entsprechen die minimalen Standardeinstellungen der Standardpraxis in der IT-Sicherheit, so wenig Services wie möglich auf Produktionssystemen zu aktivieren, und die Code-Audits der Projektpraxis werden als wichtige Sicherheitselemente angesehen. 'Ein System.

Im März 2007Die Entdeckung eines neuen Fehlers in OpenBSD im IPv6-Stack erforderte die Ersetzung des Slogans durch:

"Nur zwei Remote-Schwachstellen in der Standardinstallation in über 10 Jahren!" ""

Am Ausgang von 4.5 die 30. April 2009wird die Anzahl der Jahre entfernt:

"Nur zwei Remote-Schwachstellen in der Standardinstallation für eine teuflisch lange Zeit!" ""

Die wichtigsten Sicherheitsmerkmale

OpenBSD enthält eine Reihe spezifischer Funktionen zur Verbesserung der Sicherheit, darunter:

Berechtigungsverwaltung

Um das Risiko einer Sicherheitsanfälligkeit oder einer Fehlkonfiguration zu verringern, die das Spoofing von Berechtigungen ermöglicht, wurden einige Programme geschrieben oder angepasst, um die Trennung von Berechtigungen, den Widerruf von Berechtigungen oder das Chroot zu verwenden.

Die Privilegientrennung ist eine Technik, die auf OpenBSD entwickelt wurde und vom Prinzip der geringsten Privilegien inspiriert ist, bei der ein Programm in zwei oder mehr Teile unterteilt ist, von denen einer privilegierte Operationen ausführt und der andere - fast immer der Rest des Codes - ohne funktioniert Privileg. Der Widerruf von Berechtigungen ist ähnlich und beinhaltet, dass ein Programm alle erforderlichen Vorgänge mit den Berechtigungen ausführt, mit denen es gestartet wurde, und diese Berechtigungen dann aufgibt. Beim Caging wird die Ausführungsumgebung eines Programms auf einen Teil des Dateisystems beschränkt, wodurch der Zugriff auf Bereiche, die private Dateien oder Systeme enthalten, verhindert wird.

Die Entwickler haben diese Funktionen auf OpenBSD-Versionen gängiger Anwendungen angewendet, einschließlich tcpdump und des Apache -Webservers , bei dem es sich nur um Version 1.3 handelt, die aufgrund von Lizenzproblemen mit der Apache 2-Serie stark geändert wurde.

Code-Audits

Das Projekt folgt einer Richtlinie zur ständigen Überprüfung des Codes auf Sicherheitsprobleme. Ein Jobentwickler, Marc Espie, beschreibt dies als "nie abgeschlossen […] mehr als eine Frage des Prozesses als das Auffinden eines bestimmten Fehlers." "Letzteres hat auch eine Liste mit mehreren typischen Schritten erstellt, die zu befolgen sind, wenn ein Fehler entdeckt wird, einschließlich einer gründlichen Untersuchung der Quellen auf identische und ähnliche Probleme," indem versucht wird, festzustellen, ob die Dokumentation geändert werden muss ", und Untersuchung, "ob es möglich ist, den Compiler zu verbessern, um Warnungen zu diesem speziellen Problem zu erzeugen. OpenBSD ist wie DragonFly BSD eines von zwei freien Betriebssystemen, deren Richtlinie darin besteht, nach C- Code im klassischen Pre- ANSI- Format zu suchen und ihn in sein modernes ANSI-Äquivalent zu konvertieren. Dies sollte keine Änderungen in der Funktionalität beinhalten und erfolgt nur aus Gründen der Lesbarkeit und Konsistenz. Ein Stilstandard, die Kernel-Normalform, die vorschreibt, wie die Codeform aussehen soll, um die Wartung und das Verständnis zu vereinfachen, muss auf jeden Code angewendet werden, bevor er in das Basisbetriebssystem aufgenommen werden kann. Bestehender Code wird ständig aktualisiert, um diesen Stilkonventionen zu entsprechen.

Unterstützte Plattformen und Kompatibilität

OpenBSD funktioniert oder hat auf 32 verschiedenen Hardwareplattformen gearbeitet:

Der Name

Der Name OpenBSD stammt aus dem NetBSD- Abenteuer von Theo de Raadt . In der Tat war das NetBSD- CVS nicht offiziellen Entwicklern nicht zugänglich. Nur die Veröffentlichungen wurden verteilt. Für seine Gabel , Theo de Raadt hat auf einem öffentlichen CVS - Server: alle die neuesten Quellen des Projekts zugreifen können.

Maskottchen

Wie andere BSDs ( FreeBSD und NetBSD ) ist OpenBSDs Maskottchen der BSD Daemon (auch bekannt als Beastie ). Er hat auch den Blowfish , auch bekannt als Puffy , als sein eigenes Maskottchen . Letzteres ist ein Verweis auf Bruce Schneier Verschlüsselungsalgorithmus von dem gleichen Namen (unter anderem durch verwendet OpenSSH ): seine attraktiven Grafiken mit dem beeindruckenden defensiven Aspekte des kombinierten Stachel diodon haben es sehr beliebt gemacht. Jede Version von OpenBSD enthält ein Musikstück sowie einen Comic-Strip, der normalerweise Puffy enthält. Vor kurzem gab es Blowfish-Derivate im Manga-Stil , Sushi Fugu und Harisenbon.

Projekt-Status

OpenBSD ist derzeit in Version 6.9 (seit 1 st Mai 2021).

Das Team erstellt alle 6 Monate eine Version.

Laut einem auf undeadly.org veröffentlichten Beitrag erlitt das OpenBSD-Projekt in den Jahren 2004 und 2005 finanzielle Verluste in der Größenordnung von 20.000 USD pro Jahr. Vor kurzem (2015) haben neue freiwillige Investoren, darunter die Microsoft Corporation , erhebliche Liquidität zur Unterstützung des Projekts und des Projekts bereitgestellt seine mehreren Teilprojekte, insbesondere OpenSSH .

Benutzersicht

Viele Benutzer sind mit OpenBSD nicht vertraut und wenden sich populäreren Unix-ähnlichen Systemen wie Linux oder FreeBSD zu . OpenBSD-Benutzer sind eher an Unix- ähnliche Umgebungen gewöhnt, da das System nicht dazu gedacht ist, die Verwendung der Maschine zu vereinfachen, und vom Benutzer bestimmte "Grundkenntnisse" benötigt, um Aufgaben auszuführen, die erforderlich wären. Möglicherweise auf anderen Systemen automatisiert.

OpenBSD-Entwickler sagen oft, dass sie das System für sich selbst entwerfen, bevor sie es für andere tun. Dies führt daher zu einem sehr interessanten System für Entwickler (mehrere Funktionen, Kompatibilität usw.), das für einen nicht eingeweihten Benutzer zunächst recht kalt erscheinen kann.

Weitere Projekte

Das OpenBSD-Team arbeitet auch an anderen Projekten, die Teil des Betriebssystems werden und auch auf andere Betriebssysteme portiert (oder portierbar) sind . Unter diesen laufenden Projekten können wir erwähnen:

Zusätzlich werden verschiedene sichere Programmierschnittstellen wie strlcat (3), strlcpy (3), strtonum (3) oder sogar arc4random (3) bereitgestellt. Diese APIs werden häufig in anderer Software oder Betriebssystemen verwendet.

Anmerkungen und Referenzen

  1. Liste der unterstützten Plattformen
  2. Lizenzmodell
  3. OpenBSD - Copyright-Richtlinien
  4. "  http://undeadly.org/cgi?action=article&sid=20061019013207  "
  5. (in) Theo de Raadt , OpenBSD 6.9 veröffentlicht am 1. Mai  " ,30. April 2021(abgerufen am 3. Mai 2021 )
  6. De Raadt Theo in „  Ist Linux für Verlierer?  », Forbes , 2005.
  7. Wayner Peter, „  18.3 Flammen, Kämpfe und die Geburt von OpenBSD  “ in Free for all , 2000.
  8. Der Remote-Kernel-Pufferüberlauf von OpenBSD IPv6 mbuf (13. März 2007)
  9. (in) OpenBSD Finance , undeadly.org, 21. März 2006, abgerufen am 11. Juli 2009

Siehe auch

Zum Thema passende Artikel

Externe Links