OpenBSD: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 22: Zeile 22:


= TMP =
= TMP =
'''OpenBSD''' ist ein [[Betriebssystem]] aus der Gruppe der [[Unixoides System|Unix-Derivate]], das unter der [[BSD-Lizenz]] [[Freie Software|frei]] verfügbar ist. Es wurde 1995 durch [[Theo de Raadt]] von [[NetBSD]], dem ersten [[386BSD]]-basierten [[Open Source|quelloffenen]] Betriebssystem, [[Abspaltung (Softwareentwicklung)|abgespalten]]. OpenBSD ist bekannt für das Beharren seiner Entwickler auf Quelloffenheit, freier Dokumentation, kompromissloser Stellung gegenüber [[Software]]-[[Lizenz]]en, Fokus auf Sicherheit und Korrektheit von [[Quelltext]]. Beim [[Maskottchen]] des Projekts handelt es sich um [[Puffy (Maskottchen)|Puffy]], einen [[Kugelfische|Kugelfisch]].
'''OpenBSD''' ist ein [[Betriebssystem]] aus der Gruppe der [[Unixoides System|Unix-Derivate]], das unter der [[BSD-Lizenz]] [[Freie Software|frei]] verfügbar ist.  
* Es wurde 1995 durch [[Theo de Raadt]] von [[NetBSD]], dem ersten [[386BSD]]-basierten [[Open Source|quelloffenen]] Betriebssystem, [[Abspaltung (Softwareentwicklung)|abgespalten]].  
* OpenBSD ist bekannt für das Beharren seiner Entwickler auf Quelloffenheit, freier Dokumentation, kompromissloser Stellung gegenüber [[Software]]-[[Lizenz]]en, Fokus auf Sicherheit und Korrektheit von [[Quelltext]].  
* Beim [[Maskottchen]] des Projekts handelt es sich um [[Puffy (Maskottchen)|Puffy]], einen [[Kugelfische|Kugelfisch]].
[[Datei:OpenBSD hackers at c2k++ at MIT.jpg|mini|OpenBSD-Entwickler auf dem c2k1-Hackathon am [[Massachusetts Institute of Technology|MIT]]]]
[[Datei:OpenBSD hackers at c2k++ at MIT.jpg|mini|OpenBSD-Entwickler auf dem c2k1-Hackathon am [[Massachusetts Institute of Technology|MIT]]]]


== Allgemeines ==
== Allgemeines ==
OpenBSD enthält eine Vielzahl von Sicherheitsfunktionen, die in anderen Betriebssystemen nicht oder nur optional vorhanden sind. Traditionell wird von den Entwicklern ein regelmäßiges [[Audit#Informationstechnik|Auditing]], eine Untersuchung von Quellcode auf [[Programmfehler]], durchgeführt. Das Projekt hält strenge Richtlinien bezüglich Software-Lizenzen aufrecht und bevorzugt die freie BSD-Lizenz sowie deren Varianten. Dies hat in der Vergangenheit zu umfassenden Lizenzprüfungen sowie zur Ersetzung oder Entfernung von Quellcode, der unter weniger akzeptablen Lizenzen steht, geführt.
OpenBSD enthält eine Vielzahl von Sicherheitsfunktionen, die in anderen Betriebssystemen nicht oder nur optional vorhanden sind.  
* Traditionell wird von den Entwicklern ein regelmäßiges [[Audit#Informationstechnik|Auditing]], eine Untersuchung von Quellcode auf [[Programmfehler]], durchgeführt.  
* Das Projekt hält strenge Richtlinien bezüglich Software-Lizenzen aufrecht und bevorzugt die freie BSD-Lizenz sowie deren Varianten.  
* Dies hat in der Vergangenheit zu umfassenden Lizenzprüfungen sowie zur Ersetzung oder Entfernung von Quellcode, der unter weniger akzeptablen Lizenzen steht, geführt.


In Übereinstimmung mit anderen BSD-basierten Betriebssystemen werden sowohl der OpenBSD-[[Kernel (Betriebssystem)|Kernel]] als auch die Userland-Programme, wie die [[Unix-Shell]]s und gemeinsame Werkzeuge, gemeinschaftlich in einem Quellcode-[[Repository]] entwickelt. Software von Drittparteien ist in Form fertiger [[Programmpaket|Pakete]] verfügbar oder kann mit Hilfe des [[Ports (Paketverwaltung)|Portssystems]] aus dem Quellcode erstellt werden.
In Übereinstimmung mit anderen BSD-basierten Betriebssystemen werden sowohl der OpenBSD-[[Kernel (Betriebssystem)|Kernel]] als auch die Userland-Programme, wie die [[Unix-Shell]]s und gemeinsame Werkzeuge, gemeinschaftlich in einem Quellcode-[[Repository]] entwickelt.  
* Software von Drittparteien ist in Form fertiger [[Programmpaket|Pakete]] verfügbar oder kann mit Hilfe des [[Ports (Paketverwaltung)|Portssystems]] aus dem Quellcode erstellt werden.


OpenBSD ist für verschiedene [[Rechnerarchitektur]]en verfügbar, darunter [[Alpha-Prozessor|DEC Alpha]], [[Intel 80386|i386]], [[AMD64]], [[PowerPC]] und [[SPARC-Architektur|SPARC64]].
OpenBSD ist für verschiedene [[Rechnerarchitektur]]en verfügbar, darunter [[Alpha-Prozessor|DEC Alpha]], [[Intel 80386|i386]], [[AMD64]], [[PowerPC]] und [[SPARC-Architektur|SPARC64]].


== Geschichte und Verbreitung ==
== Geschichte und Verbreitung ==
Im Dezember 1994 wurde [[Theo de Raadt]] – einer der Mitbegründer NetBSDs und Mitglied des Kernteams – gebeten, das NetBSD-Kernteam zu verlassen. Gleichzeitig wurde sein Zugang zum Quellcode-Repository gesperrt. Der Grund ist nicht genau bekannt, jedoch gibt es Aussagen, es stehe im Zusammenhang mit persönlichen Konflikten auf der NetBSD-[[Mailingliste]].
Im Dezember 1994 wurde [[Theo de Raadt]] – einer der Mitbegründer NetBSDs und Mitglied des Kernteams – gebeten, das NetBSD-Kernteam zu verlassen.  
* Gleichzeitig wurde sein Zugang zum Quellcode-Repository gesperrt.  
* Der Grund ist nicht genau bekannt, jedoch gibt es Aussagen, es stehe im Zusammenhang mit persönlichen Konflikten auf der NetBSD-[[Mailingliste]].


Theo de Raadt wurde dafür kritisiert, zeitweise eine aggressive Art zu zeigen: In dem Buch ''Free For All'' behauptet Peter Wayner, dass de Raadt vor der Abspaltung von NetBSD „begonnen hatte, manche Leute unwillkürlich zu verärgern“;
Theo de Raadt wurde dafür kritisiert, zeitweise eine aggressive Art zu zeigen: In dem Buch ''Free For All'' behauptet Peter Wayner, dass de Raadt vor der Abspaltung von NetBSD „begonnen hatte, manche Leute unwillkürlich zu verärgern“;
Zeile 42: Zeile 51:
.
.


Im Oktober 1995 gründete Theo de Raadt OpenBSD als neue [[Abspaltung (Softwareentwicklung)|Projektaufspaltung]] von NetBSD 1.0. Die erste Veröffentlichung, OpenBSD 1.2, wurde im Juli 1996 herausgegeben, gefolgt von OpenBSD 2.0 im Oktober desselben Jahres.
Im Oktober 1995 gründete Theo de Raadt OpenBSD als neue [[Abspaltung (Softwareentwicklung)|Projektaufspaltung]] von NetBSD 1.0.  
* Die erste Veröffentlichung, OpenBSD 1.2, wurde im Juli 1996 herausgegeben, gefolgt von OpenBSD 2.0 im Oktober desselben Jahres.


Seither folgt OpenBSD dem Terminplan, alle sechs Monate eine neue Version herauszugeben. Diese wird danach ein Jahr lang gepflegt und unterstützt.
Seither folgt OpenBSD dem Terminplan, alle sechs Monate eine neue Version herauszugeben.  
* Diese wird danach ein Jahr lang gepflegt und unterstützt.


Es ist schwierig, die Verbreitung von OpenBSD exakt festzustellen: Das OpenBSD-Projekt selbst sammelt und veröffentlicht keine Nutzungsstatistiken und es gibt nur wenig andere Informationsquellen. Das werdende BSD-Zertifizierungsprojekt führte 2005 eine Nutzungsumfrage durch, diese ergab, dass 32,8 % der befragten BSD-Nutzer (1420 von 4330 Befragten) OpenBSD verwenden,
Es ist schwierig, die Verbreitung von OpenBSD exakt festzustellen: Das OpenBSD-Projekt selbst sammelt und veröffentlicht keine Nutzungsstatistiken und es gibt nur wenig andere Informationsquellen.  
* Das werdende BSD-Zertifizierungsprojekt führte 2005 eine Nutzungsumfrage durch, diese ergab, dass 32,8 % der befragten BSD-Nutzer (1420 von 4330 Befragten) OpenBSD verwenden,


damit platzierte sich OpenBSD als Zweiter der vier großen BSD-Derivate, hinter [[FreeBSD]] mit 77,0 % und vor NetBSD mit 16,3 %. Mehrfachauswahl war möglich. Das *BSDStats-Projekt sieht OpenBSD heute mit etwas über 0,5 % Verbreitung weit hinter den neuen Projekten [[DragonFly BSD]] und [[PC-BSD]].
damit platzierte sich OpenBSD als Zweiter der vier großen BSD-Derivate, hinter [[FreeBSD]] mit 77,0 % und vor NetBSD mit 16,3 %.  
* Mehrfachauswahl war möglich.  
* Das *BSDStats-Projekt sieht OpenBSD heute mit etwas über 0,5 % Verbreitung weit hinter den neuen Projekten [[DragonFly BSD]] und [[PC-BSD]].


== Freie Software und freie Dokumentation ==
== Freie Software und freie Dokumentation ==
Als OpenBSD ins Leben gerufen wurde, beschloss Theo de Raadt den Quelltext für jedermann zu jeder Zeit lesbar zu machen. Daher setzte er mit Hilfe von Chuck Cranor einen öffentlichen anonymen [[Concurrent Versions System|CVS]]-Versionsverwaltungsserver auf. Dies war der erste seiner Art in der Welt der Softwareentwicklung: zu jener Zeit war es üblich, dass nur ein kleines Team von Entwicklern Zugriff auf das CVS-Verwaltungssystem hatte. Dieses Vorgehen hatte einige Mängel, besonders externe Mitwirkende hatten keine Möglichkeit, herauszufinden, was bereits erledigt worden war, und steuerten aus der resultierenden Unwissenheit überflüssige [[Patch (Software)|Patches]] bei. Dies hatte viel unnötig duplizierte Arbeit zur Folge. Die Entscheidung zur ''Offenlegung'' führte zu dem Namen ''OpenBSD'' und markierte den Anfang des Beharrens seitens des Projekts auf freie und öffentlich zugängliche Quelltexte sowie Dokumentation.
Als OpenBSD ins Leben gerufen wurde, beschloss Theo de Raadt den Quelltext für jedermann zu jeder Zeit lesbar zu machen.  
* Daher setzte er mit Hilfe von Chuck Cranor einen öffentlichen anonymen [[Concurrent Versions System|CVS]]-Versionsverwaltungsserver auf.  
* Dies war der erste seiner Art in der Welt der Softwareentwicklung: zu jener Zeit war es üblich, dass nur ein kleines Team von Entwicklern Zugriff auf das CVS-Verwaltungssystem hatte.  
* Dieses Vorgehen hatte einige Mängel, besonders externe Mitwirkende hatten keine Möglichkeit, herauszufinden, was bereits erledigt worden war, und steuerten aus der resultierenden Unwissenheit überflüssige [[Patch (Software)|Patches]] bei.  
* Dies hatte viel unnötig duplizierte Arbeit zur Folge.  
* Die Entscheidung zur ''Offenlegung'' führte zu dem Namen ''OpenBSD'' und markierte den Anfang des Beharrens seitens des Projekts auf freie und öffentlich zugängliche Quelltexte sowie Dokumentation.


Ein Beispiel für die Haltung des OpenBSD-Projektes bezüglich offener Dokumentation ist die Einstellung der Unterstützung für Adaptec-AAC-RAID-Controller, weil dies entweder einen nicht freien Treiber oder die Unterzeichnung eines [[Geheimhaltungsvertrag]]es (NDA) erfordert hätte – für das Projekt keine akzeptablen Bedingungen.
Ein Beispiel für die Haltung des OpenBSD-Projektes bezüglich offener Dokumentation ist die Einstellung der Unterstützung für Adaptec-AAC-RAID-Controller, weil dies entweder einen nicht freien Treiber oder die Unterzeichnung eines [[Geheimhaltungsvertrag]]es (NDA) erfordert hätte – für das Projekt keine akzeptablen Bedingungen.
Zeile 59: Zeile 78:


Ein Ziel von OpenBSD ist es, den „Geist des ursprünglichen [[Berkeley Software Distribution|Berkeley-Unix]]-[[Copyright law (Vereinigte Staaten)|Copyright]] aufrechtzuerhalten“, dieses erlaubte eine „relativ unbeeinträchtigte Verteilung des Unix-Quellcodes.“
Ein Ziel von OpenBSD ist es, den „Geist des ursprünglichen [[Berkeley Software Distribution|Berkeley-Unix]]-[[Copyright law (Vereinigte Staaten)|Copyright]] aufrechtzuerhalten“, dieses erlaubte eine „relativ unbeeinträchtigte Verteilung des Unix-Quellcodes.“
Aus diesem Grund wird für neuen Quellcode die [[ISC-Lizenz]] bevorzugt, welche eine vereinfachte Version der BSD-Lizenz darstellt. Die [[MIT-Lizenz|MIT]]- oder BSD-Lizenz ist ebenfalls akzeptiert. Die [[GNU General Public License]] wird im Vergleich als zu einschränkend betrachtet: Quellcode unter dieser und anderen unerwünschten Lizenzen wird nicht zur Einbindung in das Basissystem zugelassen. Zusätzlich wird existierender Quellcode unter diesen Lizenzen ersetzt oder falls möglich neu lizenziert. In manchen Fällen ist dies jedoch nicht möglich, ein Beispiel ist [[GNU Compiler Collection|GCC]]. Für diesen gibt es keinen passenden Ersatz: es wäre zu zeitaufwändig und unpraktisch, einen neuen [[Compiler]] zu entwerfen. Trotzdem hat OpenBSD in Bezug auf Lizenzen bereits bedeutende Fortschritte gemacht. Besonders erwähnenswert ist die Entwicklung von [[OpenSSH]], basierend auf dem ursprünglichen [[Secure Shell|SSH]]. Es erschien zum ersten Mal in OpenBSD 2.6 und ist heute die beliebteste SSH-[[Implementierung]]. Es ist fester oder optionaler Bestandteil vieler Betriebssysteme, z. B. der anderen BSD-Betriebssysteme und fast jeder [[Linux-Distribution]]. Ebenso erwähnenswert ist die durch Lizenzeinschränkungen auf [[IPFilter]] notwendige gewordene Entwicklung der [[Pf (Paketfilter)|PF]]-[[Firewall]]. Diese erschien zum ersten Mal in OpenBSD 3.0 und ist heute ebenfalls für DragonFly BSD, [[NetBSD]] und [[FreeBSD]] verfügbar. OpenBSD hat die unter der GPL stehenden [[Unix-Kommando]] [[diff]], [[grep]], [[gzip]], [[Basic Calculator|bc]], [[Dc (Unix)|dc]], nm und size durch BSD-lizenzierte Versionen ersetzt. „Einfache“ Befehle wie [[True (Unix)|true]] oder [[False (Unix)|false]] sind [[Gemeinfreiheit|gemeinfrei]]. Das OpenBSD-Projekt steht des Weiteren auch hinter der Entwicklung von [[OpenNTPD]] und OpenCVS, ebenfalls BSD-lizenzierte Versionen existierender Software.
Aus diesem Grund wird für neuen Quellcode die [[ISC-Lizenz]] bevorzugt, welche eine vereinfachte Version der BSD-Lizenz darstellt.  
* Die [[MIT-Lizenz|MIT]]- oder BSD-Lizenz ist ebenfalls akzeptiert.  
* Die [[GNU General Public License]] wird im Vergleich als zu einschränkend betrachtet: Quellcode unter dieser und anderen unerwünschten Lizenzen wird nicht zur Einbindung in das Basissystem zugelassen.  
* Zusätzlich wird existierender Quellcode unter diesen Lizenzen ersetzt oder falls möglich neu lizenziert.  
* In manchen Fällen ist dies jedoch nicht möglich, ein Beispiel ist [[GNU Compiler Collection|GCC]].  
* Für diesen gibt es keinen passenden Ersatz: es wäre zu zeitaufwändig und unpraktisch, einen neuen [[Compiler]] zu entwerfen.  
* Trotzdem hat OpenBSD in Bezug auf Lizenzen bereits bedeutende Fortschritte gemacht.  
* Besonders erwähnenswert ist die Entwicklung von [[OpenSSH]], basierend auf dem ursprünglichen [[Secure Shell|SSH]].  
* Es erschien zum ersten Mal in OpenBSD 2.6 und ist heute die beliebteste SSH-[[Implementierung]].  
* Es ist fester oder optionaler Bestandteil vieler Betriebssysteme, z. B. der anderen BSD-Betriebssysteme und fast jeder [[Linux-Distribution]].  
* Ebenso erwähnenswert ist die durch Lizenzeinschränkungen auf [[IPFilter]] notwendige gewordene Entwicklung der [[Pf (Paketfilter)|PF]]-[[Firewall]].  
* Diese erschien zum ersten Mal in OpenBSD 3.0 und ist heute ebenfalls für DragonFly BSD, [[NetBSD]] und [[FreeBSD]] verfügbar.  
* OpenBSD hat die unter der GPL stehenden [[Unix-Kommando]] [[diff]], [[grep]], [[gzip]], [[Basic Calculator|bc]], [[Dc (Unix)|dc]], nm und size durch BSD-lizenzierte Versionen ersetzt. „Einfache“ Befehle wie [[True (Unix)|true]] oder [[False (Unix)|false]] sind [[Gemeinfreiheit|gemeinfrei]].  
* Das OpenBSD-Projekt steht des Weiteren auch hinter der Entwicklung von [[OpenNTPD]] und OpenCVS, ebenfalls BSD-lizenzierte Versionen existierender Software.


Im Juni 2001 lösten Bedenken über Darren Reeds Änderungen an der IPFilter-Lizenz eine systematische Überprüfung aller Lizenzen im OpenBSD-Quellcode und [[Ports (Paketverwaltung)|Portssystem]] aus. Quellcode in mehr als 100 im System verstreuten Dateien wurde als nicht lizenziert, doppeldeutig oder Richtlinien verletzend befunden. Um die Einhaltung aller Lizenzen sicherzustellen, wurde versucht, Kontakt zu allen Copyright-Inhabern aufzunehmen. Als Ergebnis wurden manche Teile entfernt, viele ersetzt und andere neu lizenziert, um die weitere Nutzung in OpenBSD zu erlauben. Zu den neu lizenzierten Programmen gehörten die von [[Xerox]] ursprünglich ausschließlich für Forschungszwecke lizenzierten [[Multicast]]-[[Routing]]-Programme {{man|8|mrinfo|OpenBSD||inline}} und {{man|8|map-mbone|OpenBSD||inline}}.
Im Juni 2001 lösten Bedenken über Darren Reeds Änderungen an der IPFilter-Lizenz eine systematische Überprüfung aller Lizenzen im OpenBSD-Quellcode und [[Ports (Paketverwaltung)|Portssystem]] aus.  
* Quellcode in mehr als 100 im System verstreuten Dateien wurde als nicht lizenziert, doppeldeutig oder Richtlinien verletzend befunden.  
* Um die Einhaltung aller Lizenzen sicherzustellen, wurde versucht, Kontakt zu allen Copyright-Inhabern aufzunehmen.  
* Als Ergebnis wurden manche Teile entfernt, viele ersetzt und andere neu lizenziert, um die weitere Nutzung in OpenBSD zu erlauben.  
* Zu den neu lizenzierten Programmen gehörten die von [[Xerox]] ursprünglich ausschließlich für Forschungszwecke lizenzierten [[Multicast]]-[[Routing]]-Programme {{man|8|mrinfo|OpenBSD||inline}} und {{man|8|map-mbone|OpenBSD||inline}}.


Anzumerken ist auch die Entfernung aller Software von [[Daniel J. Bernstein]] aus dem OpenBSD-Portssystem. Zur Zeit der Entfernung verlangte Bernstein, dass alle modifizierten Versionen seiner Software vor der Veröffentlichung von ihm abgesegnet werden müssen, eine Forderung, der das OpenBSD-Projekt weder Zeit noch Anstrengung widmen wollte.
Anzumerken ist auch die Entfernung aller Software von [[Daniel J. Bernstein]] aus dem OpenBSD-Portssystem.  
Die Entfernung führte zu einem Streit mit Bernstein, dieser sah es als unangebracht an und entgegnete, dass der [[Netscape Navigator|Netscape]]-[[Webbrowser]] weitaus weniger frei sei. Er bezichtigte aus diesem Grund das OpenBSD-Projekt zusammen mit Theo de Raadt der Heuchelei.
* Zur Zeit der Entfernung verlangte Bernstein, dass alle modifizierten Versionen seiner Software vor der Veröffentlichung von ihm abgesegnet werden müssen, eine Forderung, der das OpenBSD-Projekt weder Zeit noch Anstrengung widmen wollte.
Die Entfernung führte zu einem Streit mit Bernstein, dieser sah es als unangebracht an und entgegnete, dass der [[Netscape Navigator|Netscape]]-[[Webbrowser]] weitaus weniger frei sei.  
* Er bezichtigte aus diesem Grund das OpenBSD-Projekt zusammen mit Theo de Raadt der Heuchelei.


Das OpenBSD-Projekt vertrat die Position, dass Netscape, obwohl nicht quelloffen, einfacher einzuhaltende Lizenzbedingungen forderte;
Das OpenBSD-Projekt vertrat die Position, dass Netscape, obwohl nicht quelloffen, einfacher einzuhaltende Lizenzbedingungen forderte;


sie behaupteten gegenüber Bernstein, dass die Forderungen nach Kontrolle über Derivate zu einer großen Menge zusätzlicher Arbeit führen werde. Daher sei die Entfernung der angebrachteste Weg, seinen Anforderungen nachzukommen. 2007 hat Bernstein alle seine Software unter Public Domain veröffentlicht, womit die Lizenzprobleme behoben sind. Allerdings existieren momentan weiterhin keine offiziellen OpenBSD-Pakete; begründet wird dies im Fall von [[qmail]] und [[djbdns]] damit, dass diese Programme auch weiterhin keinen ersichtlichen Mehrwert böten.
sie behaupteten gegenüber Bernstein, dass die Forderungen nach Kontrolle über Derivate zu einer großen Menge zusätzlicher Arbeit führen werde.  
* Daher sei die Entfernung der angebrachteste Weg, seinen Anforderungen nachzukommen. 2007 hat Bernstein alle seine Software unter Public Domain veröffentlicht, womit die Lizenzprobleme behoben sind.  
* Allerdings existieren momentan weiterhin keine offiziellen OpenBSD-Pakete; begründet wird dies im Fall von [[qmail]] und [[djbdns]] damit, dass diese Programme auch weiterhin keinen ersichtlichen Mehrwert böten.


== Sicherheit ==
== Sicherheit ==
Zeile 76: Zeile 116:




Diese arbeitete an Ballista, einem „Werkzeug für [[Sicherheitsaudit]]s von Netzwerken“. Es wurde – nachdem SNI von Network Associates aufgekauft worden war – in „Cybercop Scanner“ umbenannt. Es wurde dazu entworfen, etwaige Sicherheitslöcher in Software [[Exploit|auszunutzen]]. Dies stimmte eng mit Theo de Raadts eigenem Interesse an Sicherheit überein. Deshalb beschlossen beide, zu kooperieren. Diese Beziehung war von großem Nutzen, denn es half, den Schwerpunkt für das OpenBSD-Projekt festzulegen und trug zur Herausgabe von OpenBSD 2.3
Diese arbeitete an Ballista, einem „Werkzeug für [[Sicherheitsaudit]]s von Netzwerken“.  
* Es wurde – nachdem SNI von Network Associates aufgekauft worden war – in „Cybercop Scanner“ umbenannt.  
* Es wurde dazu entworfen, etwaige Sicherheitslöcher in Software [[Exploit|auszunutzen]].  
* Dies stimmte eng mit Theo de Raadts eigenem Interesse an Sicherheit überein.  
* Deshalb beschlossen beide, zu kooperieren.  
* Diese Beziehung war von großem Nutzen, denn es half, den Schwerpunkt für das OpenBSD-Projekt festzulegen und trug zur Herausgabe von OpenBSD 2.3 bei
* Obwohl andere in vielen Punkten den Weg des geringsten Widerstandes wählten, ging OpenBSD oftmals einen anderen Weg und gab sich große Mühe zu tun, was richtig, angemessen und sicher war, selbst auf Kosten von Bequemlichkeit, Geschwindigkeit oder Funktionalität.
* Als [[Programmfehler]] in OpenBSD schwerer zu finden und ausnutzbar wurden, empfand das Sicherheitsunternehmen es zu schwierig, bzw. nicht kosten-effizient, sich um solche unbedeutenden Probleme zu kümmern.
* Nach vielen Jahren der Zusammenarbeit beschlossen die beiden Seiten, dass ihre Ziele erreicht waren, und ihre Wege trennten sich.


bei. Obwohl andere in vielen Punkten den Weg des geringsten Widerstandes wählten, ging OpenBSD oftmals einen anderen Weg und gab sich große Mühe zu tun, was richtig, angemessen und sicher war, selbst auf Kosten von Bequemlichkeit, Geschwindigkeit oder Funktionalität. Als [[Programmfehler]] in OpenBSD schwerer zu finden und ausnutzbar wurden, empfand das Sicherheitsunternehmen es zu schwierig, bzw. nicht kosten-effizient, sich um solche unbedeutenden Probleme zu kümmern. Nach vielen Jahren der Zusammenarbeit beschlossen die beiden Seiten, dass ihre Ziele erreicht waren, und ihre Wege trennten sich.
; Bis zum Juni 2002 zierte die OpenBSD-Webseite der Slogan
 
: Keine über das Netz angreifbare [[Sicherheitslücke]] in der Standardinstallation seit fast sechs Jahren.}}
Bis zum Juni 2002 zierte die OpenBSD-Webseite der Slogan:
 
{{Zitat
|Text=Keine über das Netz angreifbare [[Sicherheitslücke]] in der Standardinstallation seit fast sechs Jahren.}}


Im Juni 2002 entdeckte ''Internet Security Systems'' einen Fehler bei der [[Challenge-Response-Authentifizierung]] im OpenSSH-Quellcode.
Im Juni 2002 entdeckte ''Internet Security Systems'' einen Fehler bei der [[Challenge-Response-Authentifizierung]] im OpenSSH-Quellcode.


Dies war die erste und bis dato einzige [[Sicherheitslücke]] in der OpenBSD-Standardinstallation, welche es einem entfernten Angreifer erlaubt, sich Zugang zum [[Root-Konto]] zu verschaffen. Die Sicherheitslücke war sehr schwerwiegend, teilweise aufgrund der großen Verbreitung von OpenSSH. Der Fehler betraf auch eine beachtliche Menge anderer Betriebssysteme.
Dies war die erste und bis dato einzige [[Sicherheitslücke]] in der OpenBSD-Standardinstallation, welche es einem entfernten Angreifer erlaubt, sich Zugang zum [[Root-Konto]] zu verschaffen.  
* Die Sicherheitslücke war sehr schwerwiegend, teilweise aufgrund der großen Verbreitung von OpenSSH.  
* Der Fehler betraf auch eine beachtliche Menge anderer Betriebssysteme.




; Sie nötigte zur Änderung des Slogans
; Sie nötigte zur Änderung des Slogans
Nur eine über das Netz angreifbare Sicherheitslücke in mehr als acht Jahren.
: Nur eine über das Netz angreifbare Sicherheitslücke in mehr als acht Jahren.


Dies wurde am 13. März 2007 auf den englischen Seiten zu “Only two remote holes in the default install, in more than 10 years!” geändert, nachdem Core Security Technologies eine netzwerkbezogene Schwachstelle aufgedeckt hat. Der aktuelle deutsche Slogan lautet: „Nur zwei ‚remote holes‘ in der Standardinstallation seit einer verdammt langen Zeit!“
* Dies wurde am 13. März 2007 auf den englischen Seiten zu “Only two remote holes in the default install, in more than 10 years!” geändert, nachdem Core Security Technologies eine netzwerkbezogene Schwachstelle aufgedeckt hat.  
* Der aktuelle deutsche Slogan lautet: „Nur zwei ‚remote holes‘ in der Standardinstallation seit einer verdammt langen Zeit!“


Diese Aussage wurde schon oft kritisiert, weil in der OpenBSD-Standardinstallation nur wenig Dienste aktiviert sind und Versionen von OpenBSD-Software enthielten, für welche später entfernt angreifbare Sicherheitslücken gefunden wurden; jedoch beharrt das OpenBSD-Projekt darauf, dass sich der Slogan auf die Standardinstallation bezieht und die Angaben deshalb korrekt sind. Eines der fundamentalen Konzepte von OpenBSD ist das Streben nach einem einfachen, sauberen und ''standardmäßig sicheren'' System. „Standardmäßig“ bezeichnet dabei die [[Voreinstellung]]en des Produktes direkt bei der Installation; so wären durchaus mehr Sicherheitslücken zu verzeichnen gewesen, wenn bei OpenBSD mehr Dienste gestartet worden wären. Das Konzept, standardmäßig nur wenige Dienste anzubieten, fügt sich gut in gebräuchliche Verfahren der [[Computersicherheit]] ein. Weiterhin ist das Projekt Open-Source und nutzt Methoden wie Quellcode-Auditing, beides Dinge, von denen gesagt wird, dass sie wichtig für die Sicherheit eines Systems sind.
Diese Aussage wurde schon oft kritisiert, weil in der OpenBSD-Standardinstallation nur wenig Dienste aktiviert sind und Versionen von OpenBSD-Software enthielten, für welche später entfernt angreifbare Sicherheitslücken gefunden wurden; jedoch beharrt das OpenBSD-Projekt darauf, dass sich der Slogan auf die Standardinstallation bezieht und die Angaben deshalb korrekt sind.  
* Eines der fundamentalen Konzepte von OpenBSD ist das Streben nach einem einfachen, sauberen und ''standardmäßig sicheren'' System. „Standardmäßig“ bezeichnet dabei die [[Voreinstellung]]en des Produktes direkt bei der Installation; so wären durchaus mehr Sicherheitslücken zu verzeichnen gewesen, wenn bei OpenBSD mehr Dienste gestartet worden wären.  
* Das Konzept, standardmäßig nur wenige Dienste anzubieten, fügt sich gut in gebräuchliche Verfahren der [[Computersicherheit]] ein.  
* Weiterhin ist das Projekt Open-Source und nutzt Methoden wie Quellcode-Auditing, beides Dinge, von denen gesagt wird, dass sie wichtig für die Sicherheit eines Systems sind.






[[Datei:OpenBSD 6.6 beim Starten.png|mini|OpenBSD 6.6 beim Starten]]
[[Datei:OpenBSD 6.6 beim Starten.png|mini|OpenBSD 6.6 beim Starten]]
OpenBSD beinhaltet eine Vielzahl von speziell auf Verbesserung der Sicherheit zugeschnittener Funktionen: Änderung am [[Compiler]] und den [[Programmierschnittstelle]]n wie die Funktionen ''strlcpy'' und ''strlcat''; einen [[Statisches Software-Testverfahren|statischen Software-Test]] zur Überprüfung der Puffer; Schutz vor unerlaubten Zugriffen durch [[Speicherschutz]]-Techniken, wie ''ProPolice'', ''StackGhost'' und ''W^X'' (Abkürzung für Writeable xor eXecutable); etliche Verbesserungen an der ''malloc''-Implementierung; kryptografische und [[Randomisierter Algorithmus|randomisierte]] Funktionen, unter anderem im [[Netzwerkprotokoll]]stapel; Einbindung der [[Blowfish]]-[[Blockverschlüsselung]] zur sicheren Passwort-Verschlüsselung. Dies alles wurde getan, um die Risiken einer Sicherheitslücke oder einer Fehlkonfiguration zu verringern, welche zu einer [[Rechteausweitung|Privilegieneskalation]] führen könnte. Einige Programme wurden neu geschrieben oder angepasst, um Privilegientrennung, Privilegienverminderung oder [[Chroot]]s zu verwenden. Privilegientrennung ist ein Verfahren, bei welchem ein Programm in mehrere Teile aufgeteilt wird. Einer dieser Teile führt Funktionen aus, welche hohe Privilegien benötigen, jedoch kann in der Regel der größte Teil des Programmes mit niedrigen Privilegien laufen. Dieser Technik wurde durch OpenBSD der Weg bereitet und sie ist vom ''Prinzip des geringsten Rechts'' inspiriert. Privilegienverminderung ist ähnlich, ein Programm führt zunächst alle Funktionen, welche hohe Privilegien voraussetzen, aus und gibt anschließend seine Privilegien ab. Chroots beschränken ein Programm auf einen kleinen Teil des [[Dateisystem]]s und verhindern so den Zugriff auf Systemdateien.
OpenBSD beinhaltet eine Vielzahl von speziell auf Verbesserung der Sicherheit zugeschnittener Funktionen: Änderung am [[Compiler]] und den [[Programmierschnittstelle]]n wie die Funktionen ''strlcpy'' und ''strlcat''; einen [[Statisches Software-Testverfahren|statischen Software-Test]] zur Überprüfung der Puffer; Schutz vor unerlaubten Zugriffen durch [[Speicherschutz]]-Techniken, wie ''ProPolice'', ''StackGhost'' und ''W^X'' (Abkürzung für Writeable xor eXecutable); etliche Verbesserungen an der ''malloc''-Implementierung; kryptografische und [[Randomisierter Algorithmus|randomisierte]] Funktionen, unter anderem im [[Netzwerkprotokoll]]stapel; Einbindung der [[Blowfish]]-[[Blockverschlüsselung]] zur sicheren Passwort-Verschlüsselung.  
* Dies alles wurde getan, um die Risiken einer Sicherheitslücke oder einer Fehlkonfiguration zu verringern, welche zu einer [[Rechteausweitung|Privilegieneskalation]] führen könnte.  
* Einige Programme wurden neu geschrieben oder angepasst, um Privilegientrennung, Privilegienverminderung oder [[Chroot]]s zu verwenden.  
* Privilegientrennung ist ein Verfahren, bei welchem ein Programm in mehrere Teile aufgeteilt wird.  
* Einer dieser Teile führt Funktionen aus, welche hohe Privilegien benötigen, jedoch kann in der Regel der größte Teil des Programmes mit niedrigen Privilegien laufen.  
* Dieser Technik wurde durch OpenBSD der Weg bereitet und sie ist vom ''Prinzip des geringsten Rechts'' inspiriert.  
* Privilegienverminderung ist ähnlich, ein Programm führt zunächst alle Funktionen, welche hohe Privilegien voraussetzen, aus und gibt anschließend seine Privilegien ab.  
* Chroots beschränken ein Programm auf einen kleinen Teil des [[Dateisystem]]s und verhindern so den Zugriff auf Systemdateien.


Das Projekt folgt der Richtlinie ein fortwährendes Quellcode-[[Audit]] nach Sicherheitslücken zu halten. Der Entwickler Marc Espie beschrieb die Arbeit als „niemals endend, es ist mehr eine Frage des Fortschritts als der Suche nach spezifischen Fehlern.“
Das Projekt folgt der Richtlinie ein fortwährendes Quellcode-[[Audit]] nach Sicherheitslücken zu halten.  
* Der Entwickler Marc Espie beschrieb die Arbeit als „niemals endend, es ist mehr eine Frage des Fortschritts als der Suche nach spezifischen Fehlern.“


Er fährt fort, einige typische Schritte aufzuzählen, welchen nachgegangen wird, sobald ein Fehler gefunden wurde. Einer davon ist, das komplette Quellcode-Repository nach diesem und ähnlichen Fehlern zu durchsuchen. „Versuchen, herauszufinden, ob die Dokumentation erweitert werden sollte“ und Nachforschungen anzustellen, ob „es möglich ist, den Compiler zu erweitern, damit er zukünftig vor diesem speziellen Problem warnt.“ Neben [[DragonFly BSD]] ist OpenBSD das einzige Open-Source-Betriebssystem mit der Richtlinie, klassischen [[Varianten der Programmiersprache C|K&R]]-C-Quellcode durch gleichwertigen modernen [[American National Standards Institute|ANSI]]-C-Code zu ersetzen. Dies bewirkt keine funktionalen Veränderungen, aber erhöht die Lesbarkeit und sorgt für eine höhere Konsistenz. Es gibt einen Standardstil für Quellcode, die ''Kernel Normal Form (KNF)'', diese gibt das Aussehen von Quellcode an, um ihn einfach verständlich und pflegbar zu machen. Die KNF muss auf allen Quellcode angewendet werden, welcher ins Basissystem aufgenommen werden soll.
Er fährt fort, einige typische Schritte aufzuzählen, welchen nachgegangen wird, sobald ein Fehler gefunden wurde.  
* Einer davon ist, das komplette Quellcode-Repository nach diesem und ähnlichen Fehlern zu durchsuchen. „Versuchen, herauszufinden, ob die Dokumentation erweitert werden sollte“ und Nachforschungen anzustellen, ob „es möglich ist, den Compiler zu erweitern, damit er zukünftig vor diesem speziellen Problem warnt.“ Neben [[DragonFly BSD]] ist OpenBSD das einzige Open-Source-Betriebssystem mit der Richtlinie, klassischen [[Varianten der Programmiersprache C|K&R]]-C-Quellcode durch gleichwertigen modernen [[American National Standards Institute|ANSI]]-C-Code zu ersetzen.  
* Dies bewirkt keine funktionalen Veränderungen, aber erhöht die Lesbarkeit und sorgt für eine höhere Konsistenz.  
* Es gibt einen Standardstil für Quellcode, die ''Kernel Normal Form (KNF)'', diese gibt das Aussehen von Quellcode an, um ihn einfach verständlich und pflegbar zu machen.  
* Die KNF muss auf allen Quellcode angewendet werden, welcher ins Basissystem aufgenommen werden soll.


In Misskredit kam OpenBSD im Dezember 2010 durch den Verdacht, dass im Auftrag der US-Regierung mehrere [[Backdoor|Hintertüren]] zur Nutzung durch das [[Federal Bureau of Investigation|FBI]] im [[IPsec]]-Stack verborgen wurden. OpenBSD-Gründer Theo de Raadt selbst veröffentlichte eine entsprechende Warnung.
In Misskredit kam OpenBSD im Dezember 2010 durch den Verdacht, dass im Auftrag der US-Regierung mehrere [[Backdoor|Hintertüren]] zur Nutzung durch das [[Federal Bureau of Investigation|FBI]] im [[IPsec]]-Stack verborgen wurden.  
* OpenBSD-Gründer Theo de Raadt selbst veröffentlichte eine entsprechende Warnung.


== Anwendung ==
== Anwendung ==
Aufgrund der Sicherheitsverbesserungen, Kryptografie und der integrierten PF-Firewall eignet sich OpenBSD für die Verwendung in der Sicherheitsindustrie, speziell für [[Firewall]]s, [[Intrusion Detection System]]e und [[Virtual Private Network|VPN]]-[[Gateway (Informatik)|Gateways]]. Es wird ebenfalls häufig für [[Webserver|Web]]- und andere [[Server]] eingesetzt, da diese widerstandsfähig gegen [[Cracker (Computersicherheit)|Cracker]]- und [[Denial of Service|DoS]]-Angriffe sein müssen. Aufgrund der Einbeziehung von ''spamd'' ins Basissystem wird OpenBSD gelegentlich auch als [[Spamfilter]] verwendet.
Aufgrund der Sicherheitsverbesserungen, Kryptografie und der integrierten PF-Firewall eignet sich OpenBSD für die Verwendung in der Sicherheitsindustrie, speziell für [[Firewall]]s, [[Intrusion Detection System]]e und [[Virtual Private Network|VPN]]-[[Gateway (Informatik)|Gateways]].  
* Es wird ebenfalls häufig für [[Webserver|Web]]- und andere [[Server]] eingesetzt, da diese widerstandsfähig gegen [[Cracker (Computersicherheit)|Cracker]]- und [[Denial of Service|DoS]]-Angriffe sein müssen.  
* Aufgrund der Einbeziehung von ''spamd'' ins Basissystem wird OpenBSD gelegentlich auch als [[Spamfilter]] verwendet.
Es gibt auch einige auf OpenBSD basierende [[proprietär]]e Systeme von Firmen im Security- oder Routerbereich.
Es gibt auch einige auf OpenBSD basierende [[proprietär]]e Systeme von Firmen im Security- oder Routerbereich.


[[Datei:OpenBSD mit Standard Fenstermanager cwm und xeyes.png|mini|OpenBSD 6.6 mit [[Grafische Benutzeroberfläche|grafischer Standardoberfläche]], dem Standard-Fenstermanager cwm und [[xeyes]]]]
[[Datei:OpenBSD mit Standard Fenstermanager cwm und xeyes.png|mini|OpenBSD 6.6 mit [[Grafische Benutzeroberfläche|grafischer Standardoberfläche]], dem Standard-Fenstermanager cwm und [[xeyes]]]]


OpenBSD integriert das [[X Window System]]. Seit den Lizenzänderungen an [[XFree86]] wird eine modifizierte Version von [[X.Org-Server|X.Org]] namens ''xenocara'' verwendet. Mit dem X-System ist es möglich, OpenBSD als [[Heimcomputer]] oder [[Workstation]] zu verwenden und Gebrauch einer [[Desktop-Umgebung]], eines [[Fenstermanager]]s oder von beidem zu machen. Dadurch ist es möglich, den X-Desktop in einer Fülle von Erscheinungsformen zu verwenden.
OpenBSD integriert das [[X Window System]].  
* Seit den Lizenzänderungen an [[XFree86]] wird eine modifizierte Version von [[X.Org-Server|X.Org]] namens ''xenocara'' verwendet.  
* Mit dem X-System ist es möglich, OpenBSD als [[Heimcomputer]] oder [[Workstation]] zu verwenden und Gebrauch einer [[Desktop-Umgebung]], eines [[Fenstermanager]]s oder von beidem zu machen.  
* Dadurch ist es möglich, den X-Desktop in einer Fülle von Erscheinungsformen zu verwenden.


Durch das OpenBSD-[[Ports (Paketverwaltung)|Paketmanagementsystem]] kann aus einer Vielzahl der beliebtesten Programme für den Desktop gewählt werden. Hier finden sich unter anderem die Desktopumgebungen [[Gnome]], [[K Desktop Environment|KDE]] und [[Xfce]] und die [[Webbrowser]] [[Mozilla Firefox]] und [[Opera (Browser)|Opera]] sowie viele [[Multimedia]]-Programme.
Durch das OpenBSD-[[Ports (Paketverwaltung)|Paketmanagementsystem]] kann aus einer Vielzahl der beliebtesten Programme für den Desktop gewählt werden.  
* Hier finden sich unter anderem die Desktopumgebungen [[Gnome]], [[K Desktop Environment|KDE]] und [[Xfce]] und die [[Webbrowser]] [[Mozilla Firefox]] und [[Opera (Browser)|Opera]] sowie viele [[Multimedia]]-Programme.


Die Bedienbarkeit und [[Rechenleistung|Performance]] von OpenBSD wird gelegentlich kritisiert. Untersuchungen auf Performance und [[Skalierbarkeit]] zeigen oft, dass OpenBSD hinter anderen Betriebssystemen zurückliegt, am bekanntesten sind hier die Untersuchungen durch Felix von Leitner.
Die Bedienbarkeit und [[Rechenleistung|Performance]] von OpenBSD wird gelegentlich kritisiert.  
* Untersuchungen auf Performance und [[Skalierbarkeit]] zeigen oft, dass OpenBSD hinter anderen Betriebssystemen zurückliegt, am bekanntesten sind hier die Untersuchungen durch Felix von Leitner.


OpenBSD-Entwickler und -Nutzer entgegneten mit der Ansicht, Performance sollte beachtet werden, jedoch seien Sicherheit, Verlässlichkeit und Richtigkeit als wichtiger anzusehen.
OpenBSD-Entwickler und -Nutzer entgegneten mit der Ansicht, Performance sollte beachtet werden, jedoch seien Sicherheit, Verlässlichkeit und Richtigkeit als wichtiger anzusehen.


OpenBSD ist ein vergleichsweise kleines Projekt, besonders im Vergleich mit FreeBSD und Linux, daher wird Entwicklerzeit für Sicherheitsverbesserungen oft als lohnender gesehen als für Performanceoptimierungen. Kritiker der Benutzerfreundlichkeit kritisieren oft das Fehlen von grafischen Konfigurationsprogrammen, die schmucklose Standardinstallation sowie die „spartanische“ und „einschüchternde“ Installation selbst. Diese Kritik wird mit einer ähnlichen Zurückweisung wie der Kritik an Performance begegnet: dem Vorzug von Einfachheit, Verlässlichkeit und Sicherheit. Ein Kritiker gab zu: „Ein ultra-sicheres Betriebssystem zu benutzen kann ein Stück Arbeit sein.“
OpenBSD ist ein vergleichsweise kleines Projekt, besonders im Vergleich mit FreeBSD und Linux, daher wird Entwicklerzeit für Sicherheitsverbesserungen oft als lohnender gesehen als für Performanceoptimierungen.  
* Kritiker der Benutzerfreundlichkeit kritisieren oft das Fehlen von grafischen Konfigurationsprogrammen, die schmucklose Standardinstallation sowie die „spartanische“ und „einschüchternde“ Installation selbst.  
* Diese Kritik wird mit einer ähnlichen Zurückweisung wie der Kritik an Performance begegnet: dem Vorzug von Einfachheit, Verlässlichkeit und Sicherheit.  
* Ein Kritiker gab zu: „Ein ultra-sicheres Betriebssystem zu benutzen kann ein Stück Arbeit sein.“




== Verkauf und Marketing ==
== Verkauf und Marketing ==
OpenBSD ist auf verschiedenen Wegen kostenlos verfügbar: Bereits seit 2007 werden komplette [[ISO-Abbild|CD-Abbilddateien (ISO)]] für die meisten [[Rechnerarchitektur|Architekturen]] zum Download zur Verfügung gestellt. Der Quellcode kann über anonymes [[Concurrent Versions System|CVS]] bezogen werden.
OpenBSD ist auf verschiedenen Wegen kostenlos verfügbar: Bereits seit 2007 werden komplette [[ISO-Abbild|CD-Abbilddateien (ISO)]] für die meisten [[Rechnerarchitektur|Architekturen]] zum Download zur Verfügung gestellt.  
Komplette CD-Sets inklusive Dokumentation, Illustrationen, einer Auswahl an Aufklebern und dem Titellied des jeweiligen Releases konnten bis einschließlich der Version 6.0 gegen Gebühr online bestellt werden. Die CD-Sets waren eine der wenigen Einnahmequellen für das Projekt und sicherten dessen Bestehen. Diese wurden jedoch mit Erscheinen der Version 6.1 abgekündigt. Aus den Einnahmen werden Hardware, Bandbreite, [[Hackathon]]s und andere Anschaffungen finanziert.
* Der Quellcode kann über anonymes [[Concurrent Versions System|CVS]] bezogen werden.
Komplette CD-Sets inklusive Dokumentation, Illustrationen, einer Auswahl an Aufklebern und dem Titellied des jeweiligen Releases konnten bis einschließlich der Version 6.0 gegen Gebühr online bestellt werden.  
* Die CD-Sets waren eine der wenigen Einnahmequellen für das Projekt und sicherten dessen Bestehen.  
* Diese wurden jedoch mit Erscheinen der Version 6.1 abgekündigt.  
* Aus den Einnahmen werden Hardware, Bandbreite, [[Hackathon]]s und andere Anschaffungen finanziert.


Gemeinsam mit einigen anderen Betriebssystemen benutzt OpenBSD das [[Ports (Paketverwaltung)|Portssystem]] in Verbindung mit einem eigenen Paketmanagementsystem, dies erlaubt eine einfache Installation und Verwaltung von nicht im Basissystem enthaltenen Programmen. Ursprünglich auf dem FreeBSD-Portssystem basierend, sind die Systeme inzwischen deutlich verschieden. Im Gegensatz zu FreeBSD ist das OpenBSD-Portssystem nur als Quelle zum Erstellen des Endproduktes, das heißt der Pakete, gedacht. Beim Installieren eines Port wird zunächst ein Paket erstellt und dieses anschließend durch die Paketverwaltungstools installiert. Pakete werden vom OpenBSD-Team für jede Version massenhaft erstellt und zum Herunterladen bereitgestellt. OpenBSD ist unter den BSDs auch in der Hinsicht einzigartig, dass Port- und Basissystem für jede Version gemeinsam entwickelt und herausgegeben werden. Daraus folgt, dass Ports und Pakete, die mit einer Version, beispielsweise 6.6, herausgegeben werden, ''nicht'' mit einer anderen Version, zum Beispiel 6.5, verwendet werden können. Diese Richtlinie trägt einen großen Teil zur Stabilität des Entwicklungsprozesses bei, aber gleichzeitig kann es auch bedeuten, dass Portsoftware der letzten OpenBSD-Version bis zum Erscheinen der nächsten Version hinter der neuesten Programmversion des Autors zurückbleibt.
Gemeinsam mit einigen anderen Betriebssystemen benutzt OpenBSD das [[Ports (Paketverwaltung)|Portssystem]] in Verbindung mit einem eigenen Paketmanagementsystem, dies erlaubt eine einfache Installation und Verwaltung von nicht im Basissystem enthaltenen Programmen.  
* Ursprünglich auf dem FreeBSD-Portssystem basierend, sind die Systeme inzwischen deutlich verschieden.  
* Im Gegensatz zu FreeBSD ist das OpenBSD-Portssystem nur als Quelle zum Erstellen des Endproduktes, das heißt der Pakete, gedacht.  
* Beim Installieren eines Port wird zunächst ein Paket erstellt und dieses anschließend durch die Paketverwaltungstools installiert.  
* Pakete werden vom OpenBSD-Team für jede Version massenhaft erstellt und zum Herunterladen bereitgestellt.  
* OpenBSD ist unter den BSDs auch in der Hinsicht einzigartig, dass Port- und Basissystem für jede Version gemeinsam entwickelt und herausgegeben werden.  
* Daraus folgt, dass Ports und Pakete, die mit einer Version, beispielsweise 6.6, herausgegeben werden, ''nicht'' mit einer anderen Version, zum Beispiel 6.5, verwendet werden können.  
* Diese Richtlinie trägt einen großen Teil zur Stabilität des Entwicklungsprozesses bei, aber gleichzeitig kann es auch bedeuten, dass Portsoftware der letzten OpenBSD-Version bis zum Erscheinen der nächsten Version hinter der neuesten Programmversion des Autors zurückbleibt.


[[Datei:Puffyanim.gif|mini|[[Puffy (Maskottchen)|Puffy]]]]
[[Datei:Puffyanim.gif|mini|[[Puffy (Maskottchen)|Puffy]]]]


Ungefähr zur Zeit von OpenBSD 2.7 wurde das ursprüngliche Maskottchen, ein [[BSD-Daemon]] mit Dreizack und Strahlenkranz, durch [[Puffy (Maskottchen)|Puffy]], einen Kugelfisch, ersetzt. Puffy wurde ausgewählt aufgrund des [[Blowfish|Kugelfischalgorithmus]] (Blowfish) in OpenSSH und des stark defensiven Images des Kugelfisches, dessen Stacheln ihn vor Feinden schützen. Puffy erfreute sich schnell hoher Beliebtheit, hauptsächlich wegen des ansprechenden Images und seiner deutlichen Unterscheidung vom BSD-Daemon, der schon von FreeBSD verwendet wird, und der bis zum Jahr 2004 von NetBSD verwendeten Daemonenherde. Puffy erschien zum ersten Mal in OpenBSD 2.6 und zeigt sich seitdem in einer Vielzahl von Gestalten auf T-Shirts und Postern. Einige hiervon waren, oftmals in Anlehnung an bekannte Personen: ''Puffiana Jones'', berühmter [[Hacker|Hackologe]] und Abenteurer auf der Suche nach dem verlorenen RAID; ''Puffathy'', ein kleines Mädchen aus Alberta, die mit Taiwan zusammenarbeiten muss, um die Situation zu retten; ''Sir Puffy of Ramsay'', Freiheitskämpfer, der zusammen mit dem kleinen Bob aus Beckly von den Reichen stiehlt und unter den Armen verteilt; ''Puffy daddy'', berühmter Rapper und politisches Idol, ''[[Ali Baba|Puffy Baba]]'', der gegen die ''40 vendors'' (''40 Hersteller'') kämpft, oder [[Asterix|Pufferix]] und Bobilix, die die ''three disks of freedom'' verteilen.
Ungefähr zur Zeit von OpenBSD 2.7 wurde das ursprüngliche Maskottchen, ein [[BSD-Daemon]] mit Dreizack und Strahlenkranz, durch [[Puffy (Maskottchen)|Puffy]], einen Kugelfisch, ersetzt.  
* Puffy wurde ausgewählt aufgrund des [[Blowfish|Kugelfischalgorithmus]] (Blowfish) in OpenSSH und des stark defensiven Images des Kugelfisches, dessen Stacheln ihn vor Feinden schützen.  
* Puffy erfreute sich schnell hoher Beliebtheit, hauptsächlich wegen des ansprechenden Images und seiner deutlichen Unterscheidung vom BSD-Daemon, der schon von FreeBSD verwendet wird, und der bis zum Jahr 2004 von NetBSD verwendeten Daemonenherde.  
* Puffy erschien zum ersten Mal in OpenBSD 2.6 und zeigt sich seitdem in einer Vielzahl von Gestalten auf T-Shirts und Postern.  
* Einige hiervon waren, oftmals in Anlehnung an bekannte Personen: ''Puffiana Jones'', berühmter [[Hacker|Hackologe]] und Abenteurer auf der Suche nach dem verlorenen RAID; ''Puffathy'', ein kleines Mädchen aus Alberta, die mit Taiwan zusammenarbeiten muss, um die Situation zu retten; ''Sir Puffy of Ramsay'', Freiheitskämpfer, der zusammen mit dem kleinen Bob aus Beckly von den Reichen stiehlt und unter den Armen verteilt; ''Puffy daddy'', berühmter Rapper und politisches Idol, ''[[Ali Baba|Puffy Baba]]'', der gegen die ''40 vendors'' (''40 Hersteller'') kämpft, oder [[Asterix|Pufferix]] und Bobilix, die die ''three disks of freedom'' verteilen.


Nach einigen Versionen wurde OpenBSD auch für seine Werbelieder und seine interessanten, oftmals witzigen Illustrationen bekannt. Einiges wurde mitunter von Ty Semaka der Band ''Plaid Tongued Devils'' beigesteuert. Zuerst war es nur als unbedeutender Humor gedacht, als sich das Konzept jedoch weiterentwickelte, wurde es ein Teil der OpenBSD-Plausibilität. Jede Version propagierte eine Moral oder einen politischen Standpunkt mit Bedeutung für das Projekt, oft in Form einer [[Parodie]]. Die Produktion von Werbeliedern wurde mit OpenBSD 6.3 eingestellt. Mit Version 6.8 wurde zum 25-jährigem Bestehen des Projektes wieder ein Werbelied veröffentlicht.
Nach einigen Versionen wurde OpenBSD auch für seine Werbelieder und seine interessanten, oftmals witzigen Illustrationen bekannt.  
* Einiges wurde mitunter von Ty Semaka der Band ''Plaid Tongued Devils'' beigesteuert.  
* Zuerst war es nur als unbedeutender Humor gedacht, als sich das Konzept jedoch weiterentwickelte, wurde es ein Teil der OpenBSD-Plausibilität.  
* Jede Version propagierte eine Moral oder einen politischen Standpunkt mit Bedeutung für das Projekt, oft in Form einer [[Parodie]].  
* Die Produktion von Werbeliedern wurde mit OpenBSD 6.3 eingestellt.  
* Mit Version 6.8 wurde zum 25-jährigem Bestehen des Projektes wieder ein Werbelied veröffentlicht.


Zusätzlich zu den Slogans auf T-Shirts und Postern bringt OpenBSD gelegentlich auch Weiteres hervor: über die Jahre einige [[Schlagwort (Linguistik)|Schlagworte]] wie „Beförderung von [[Scriptkiddie]]s nach [[/dev/null]] seit 1995“, „Funktional, sicher und frei, wähle drei davon“, „Sicherheit als Standard“ und noch einige weitere Slogans, die nur auf T-Shirts zu finden sind, die für Entwickler-Zusammenkünfte gedruckt wurden, zum Beispiel „Sicherheit mit Weltklasse, viel billiger als ein [[Marschflugkörper]]“, oder eines verärgerten alten Tintenfisches der „Maul halten und Hacken!“ zum Besten gibt.
Zusätzlich zu den Slogans auf T-Shirts und Postern bringt OpenBSD gelegentlich auch Weiteres hervor: über die Jahre einige [[Schlagwort (Linguistik)|Schlagworte]] wie „Beförderung von [[Scriptkiddie]]s nach [[/dev/null]] seit 1995“, „Funktional, sicher und frei, wähle drei davon“, „Sicherheit als Standard“ und noch einige weitere Slogans, die nur auf T-Shirts zu finden sind, die für Entwickler-Zusammenkünfte gedruckt wurden, zum Beispiel „Sicherheit mit Weltklasse, viel billiger als ein [[Marschflugkörper]]“, oder eines verärgerten alten Tintenfisches der „Maul halten und Hacken!“ zum Besten gibt.


Am 25. Juli 2007 wurde nach kanadischem Recht die [[Non-Profit-Organisation]] ''The OpenBSD Foundation'' zur Unterstützung des Projekts gegründet.
Am 25.  
* Juli 2007 wurde nach kanadischem Recht die [[Non-Profit-Organisation]] ''The OpenBSD Foundation'' zur Unterstützung des Projekts gegründet.


== Eigenentwicklungen ==
== Eigenentwicklungen ==
Aus OpenBSD entsprangen viele Eigenentwicklungen. Darunter auch:
; Aus OpenBSD entsprangen viele Eigenentwicklungen


* [https://gameoftrees.org/ got], eine einfache Alternative zum Versionskontrollsystem [[git]]
* [https://gameoftrees.org/ got], eine einfache Alternative zum Versionskontrollsystem [[git]]

Version vom 4. Juni 2023, 10:57 Uhr

topic - Kurzbeschreibung

Beschreibung

Anhang

Siehe auch


Sicherheit

Dokumentation

Links

Projekt
Weblinks
  1. OpenBSD-Website
  2. OpenBSD-Foundation
  3. OpenBSD-Journal

TMP

OpenBSD ist ein Betriebssystem aus der Gruppe der Unix-Derivate, das unter der BSD-Lizenz frei verfügbar ist.

OpenBSD-Entwickler auf dem c2k1-Hackathon am MIT

Allgemeines

OpenBSD enthält eine Vielzahl von Sicherheitsfunktionen, die in anderen Betriebssystemen nicht oder nur optional vorhanden sind.

  • Traditionell wird von den Entwicklern ein regelmäßiges Auditing, eine Untersuchung von Quellcode auf Programmfehler, durchgeführt.
  • Das Projekt hält strenge Richtlinien bezüglich Software-Lizenzen aufrecht und bevorzugt die freie BSD-Lizenz sowie deren Varianten.
  • Dies hat in der Vergangenheit zu umfassenden Lizenzprüfungen sowie zur Ersetzung oder Entfernung von Quellcode, der unter weniger akzeptablen Lizenzen steht, geführt.

In Übereinstimmung mit anderen BSD-basierten Betriebssystemen werden sowohl der OpenBSD-Kernel als auch die Userland-Programme, wie die Unix-Shells und gemeinsame Werkzeuge, gemeinschaftlich in einem Quellcode-Repository entwickelt.

  • Software von Drittparteien ist in Form fertiger Pakete verfügbar oder kann mit Hilfe des Portssystems aus dem Quellcode erstellt werden.

OpenBSD ist für verschiedene Rechnerarchitekturen verfügbar, darunter DEC Alpha, i386, AMD64, PowerPC und SPARC64.

Geschichte und Verbreitung

Im Dezember 1994 wurde Theo de Raadt – einer der Mitbegründer NetBSDs und Mitglied des Kernteams – gebeten, das NetBSD-Kernteam zu verlassen.

  • Gleichzeitig wurde sein Zugang zum Quellcode-Repository gesperrt.
  • Der Grund ist nicht genau bekannt, jedoch gibt es Aussagen, es stehe im Zusammenhang mit persönlichen Konflikten auf der NetBSD-Mailingliste.

Theo de Raadt wurde dafür kritisiert, zeitweise eine aggressive Art zu zeigen: In dem Buch Free For All behauptet Peter Wayner, dass de Raadt vor der Abspaltung von NetBSD „begonnen hatte, manche Leute unwillkürlich zu verärgern“;

Interviewer geben zu, „Bedenken [über ihn] zu hegen“;

und Linus Torvalds hat ihn als „schwierig“ beschrieben .

Im Oktober 1995 gründete Theo de Raadt OpenBSD als neue Projektaufspaltung von NetBSD 1.0.

  • Die erste Veröffentlichung, OpenBSD 1.2, wurde im Juli 1996 herausgegeben, gefolgt von OpenBSD 2.0 im Oktober desselben Jahres.

Seither folgt OpenBSD dem Terminplan, alle sechs Monate eine neue Version herauszugeben.

  • Diese wird danach ein Jahr lang gepflegt und unterstützt.

Es ist schwierig, die Verbreitung von OpenBSD exakt festzustellen: Das OpenBSD-Projekt selbst sammelt und veröffentlicht keine Nutzungsstatistiken und es gibt nur wenig andere Informationsquellen.

  • Das werdende BSD-Zertifizierungsprojekt führte 2005 eine Nutzungsumfrage durch, diese ergab, dass 32,8 % der befragten BSD-Nutzer (1420 von 4330 Befragten) OpenBSD verwenden,

damit platzierte sich OpenBSD als Zweiter der vier großen BSD-Derivate, hinter FreeBSD mit 77,0 % und vor NetBSD mit 16,3 %.

  • Mehrfachauswahl war möglich.
  • Das *BSDStats-Projekt sieht OpenBSD heute mit etwas über 0,5 % Verbreitung weit hinter den neuen Projekten DragonFly BSD und PC-BSD.

Freie Software und freie Dokumentation

Als OpenBSD ins Leben gerufen wurde, beschloss Theo de Raadt den Quelltext für jedermann zu jeder Zeit lesbar zu machen.

  • Daher setzte er mit Hilfe von Chuck Cranor einen öffentlichen anonymen CVS-Versionsverwaltungsserver auf.
  • Dies war der erste seiner Art in der Welt der Softwareentwicklung: zu jener Zeit war es üblich, dass nur ein kleines Team von Entwicklern Zugriff auf das CVS-Verwaltungssystem hatte.
  • Dieses Vorgehen hatte einige Mängel, besonders externe Mitwirkende hatten keine Möglichkeit, herauszufinden, was bereits erledigt worden war, und steuerten aus der resultierenden Unwissenheit überflüssige Patches bei.
  • Dies hatte viel unnötig duplizierte Arbeit zur Folge.
  • Die Entscheidung zur Offenlegung führte zu dem Namen OpenBSD und markierte den Anfang des Beharrens seitens des Projekts auf freie und öffentlich zugängliche Quelltexte sowie Dokumentation.

Ein Beispiel für die Haltung des OpenBSD-Projektes bezüglich offener Dokumentation ist die Einstellung der Unterstützung für Adaptec-AAC-RAID-Controller, weil dies entweder einen nicht freien Treiber oder die Unterzeichnung eines Geheimhaltungsvertrages (NDA) erfordert hätte – für das Projekt keine akzeptablen Bedingungen.

Lizenzen

OpenBSD 6.6 mit X.org und dem Fenstermanager cwm

Ein Ziel von OpenBSD ist es, den „Geist des ursprünglichen Berkeley-Unix-Copyright aufrechtzuerhalten“, dieses erlaubte eine „relativ unbeeinträchtigte Verteilung des Unix-Quellcodes.“ Aus diesem Grund wird für neuen Quellcode die ISC-Lizenz bevorzugt, welche eine vereinfachte Version der BSD-Lizenz darstellt.

  • Die MIT- oder BSD-Lizenz ist ebenfalls akzeptiert.
  • Die GNU General Public License wird im Vergleich als zu einschränkend betrachtet: Quellcode unter dieser und anderen unerwünschten Lizenzen wird nicht zur Einbindung in das Basissystem zugelassen.
  • Zusätzlich wird existierender Quellcode unter diesen Lizenzen ersetzt oder falls möglich neu lizenziert.
  • In manchen Fällen ist dies jedoch nicht möglich, ein Beispiel ist GCC.
  • Für diesen gibt es keinen passenden Ersatz: es wäre zu zeitaufwändig und unpraktisch, einen neuen Compiler zu entwerfen.
  • Trotzdem hat OpenBSD in Bezug auf Lizenzen bereits bedeutende Fortschritte gemacht.
  • Besonders erwähnenswert ist die Entwicklung von OpenSSH, basierend auf dem ursprünglichen SSH.
  • Es erschien zum ersten Mal in OpenBSD 2.6 und ist heute die beliebteste SSH-Implementierung.
  • Es ist fester oder optionaler Bestandteil vieler Betriebssysteme, z. B. der anderen BSD-Betriebssysteme und fast jeder Linux-Distribution.
  • Ebenso erwähnenswert ist die durch Lizenzeinschränkungen auf IPFilter notwendige gewordene Entwicklung der PF-Firewall.
  • Diese erschien zum ersten Mal in OpenBSD 3.0 und ist heute ebenfalls für DragonFly BSD, NetBSD und FreeBSD verfügbar.
  • OpenBSD hat die unter der GPL stehenden Unix-Kommando diff, grep, gzip, bc, dc, nm und size durch BSD-lizenzierte Versionen ersetzt. „Einfache“ Befehle wie true oder false sind gemeinfrei.
  • Das OpenBSD-Projekt steht des Weiteren auch hinter der Entwicklung von OpenNTPD und OpenCVS, ebenfalls BSD-lizenzierte Versionen existierender Software.

Im Juni 2001 lösten Bedenken über Darren Reeds Änderungen an der IPFilter-Lizenz eine systematische Überprüfung aller Lizenzen im OpenBSD-Quellcode und Portssystem aus.

  • Quellcode in mehr als 100 im System verstreuten Dateien wurde als nicht lizenziert, doppeldeutig oder Richtlinien verletzend befunden.
  • Um die Einhaltung aller Lizenzen sicherzustellen, wurde versucht, Kontakt zu allen Copyright-Inhabern aufzunehmen.
  • Als Ergebnis wurden manche Teile entfernt, viele ersetzt und andere neu lizenziert, um die weitere Nutzung in OpenBSD zu erlauben.
  • Zu den neu lizenzierten Programmen gehörten die von Xerox ursprünglich ausschließlich für Forschungszwecke lizenzierten Multicast-Routing-Programme Vorlage:Man und Vorlage:Man.

Anzumerken ist auch die Entfernung aller Software von Daniel J. Bernstein aus dem OpenBSD-Portssystem.

  • Zur Zeit der Entfernung verlangte Bernstein, dass alle modifizierten Versionen seiner Software vor der Veröffentlichung von ihm abgesegnet werden müssen, eine Forderung, der das OpenBSD-Projekt weder Zeit noch Anstrengung widmen wollte.

Die Entfernung führte zu einem Streit mit Bernstein, dieser sah es als unangebracht an und entgegnete, dass der Netscape-Webbrowser weitaus weniger frei sei.

  • Er bezichtigte aus diesem Grund das OpenBSD-Projekt zusammen mit Theo de Raadt der Heuchelei.

Das OpenBSD-Projekt vertrat die Position, dass Netscape, obwohl nicht quelloffen, einfacher einzuhaltende Lizenzbedingungen forderte;

sie behaupteten gegenüber Bernstein, dass die Forderungen nach Kontrolle über Derivate zu einer großen Menge zusätzlicher Arbeit führen werde.

  • Daher sei die Entfernung der angebrachteste Weg, seinen Anforderungen nachzukommen. 2007 hat Bernstein alle seine Software unter Public Domain veröffentlicht, womit die Lizenzprobleme behoben sind.
  • Allerdings existieren momentan weiterhin keine offiziellen OpenBSD-Pakete; begründet wird dies im Fall von qmail und djbdns damit, dass diese Programme auch weiterhin keinen ersichtlichen Mehrwert böten.

Sicherheit

Anfangs maß das OpenBSD-Team Sicherheitsaudits keine Priorität bei. 1996, im Jahr nach der Abspaltung von NetBSD, entdeckte ein Angreifer eine Sicherheitslücke in syslogd, was das Team dazu bewegte, erstmals ausgiebig nach Sicherheitsproblemen im bis dahin bestehenden Code zu suchen.

Kurze Zeit, nachdem das OpenBSD-Projekt gegründet worden war, wurde Theo de Raadt von dem lokalen Software-Sicherheitsunternehmen Secure Networks, Inc. (SNI) kontaktiert.


Diese arbeitete an Ballista, einem „Werkzeug für Sicherheitsaudits von Netzwerken“.

  • Es wurde – nachdem SNI von Network Associates aufgekauft worden war – in „Cybercop Scanner“ umbenannt.
  • Es wurde dazu entworfen, etwaige Sicherheitslöcher in Software auszunutzen.
  • Dies stimmte eng mit Theo de Raadts eigenem Interesse an Sicherheit überein.
  • Deshalb beschlossen beide, zu kooperieren.
  • Diese Beziehung war von großem Nutzen, denn es half, den Schwerpunkt für das OpenBSD-Projekt festzulegen und trug zur Herausgabe von OpenBSD 2.3 bei
  • Obwohl andere in vielen Punkten den Weg des geringsten Widerstandes wählten, ging OpenBSD oftmals einen anderen Weg und gab sich große Mühe zu tun, was richtig, angemessen und sicher war, selbst auf Kosten von Bequemlichkeit, Geschwindigkeit oder Funktionalität.
  • Als Programmfehler in OpenBSD schwerer zu finden und ausnutzbar wurden, empfand das Sicherheitsunternehmen es zu schwierig, bzw. nicht kosten-effizient, sich um solche unbedeutenden Probleme zu kümmern.
  • Nach vielen Jahren der Zusammenarbeit beschlossen die beiden Seiten, dass ihre Ziele erreicht waren, und ihre Wege trennten sich.
Bis zum Juni 2002 zierte die OpenBSD-Webseite der Slogan
Keine über das Netz angreifbare Sicherheitslücke in der Standardinstallation seit fast sechs Jahren.}}

Im Juni 2002 entdeckte Internet Security Systems einen Fehler bei der Challenge-Response-Authentifizierung im OpenSSH-Quellcode.

Dies war die erste und bis dato einzige Sicherheitslücke in der OpenBSD-Standardinstallation, welche es einem entfernten Angreifer erlaubt, sich Zugang zum Root-Konto zu verschaffen.

  • Die Sicherheitslücke war sehr schwerwiegend, teilweise aufgrund der großen Verbreitung von OpenSSH.
  • Der Fehler betraf auch eine beachtliche Menge anderer Betriebssysteme.


Sie nötigte zur Änderung des Slogans
Nur eine über das Netz angreifbare Sicherheitslücke in mehr als acht Jahren.
  • Dies wurde am 13. März 2007 auf den englischen Seiten zu “Only two remote holes in the default install, in more than 10 years!” geändert, nachdem Core Security Technologies eine netzwerkbezogene Schwachstelle aufgedeckt hat.
  • Der aktuelle deutsche Slogan lautet: „Nur zwei ‚remote holes‘ in der Standardinstallation seit einer verdammt langen Zeit!“

Diese Aussage wurde schon oft kritisiert, weil in der OpenBSD-Standardinstallation nur wenig Dienste aktiviert sind und Versionen von OpenBSD-Software enthielten, für welche später entfernt angreifbare Sicherheitslücken gefunden wurden; jedoch beharrt das OpenBSD-Projekt darauf, dass sich der Slogan auf die Standardinstallation bezieht und die Angaben deshalb korrekt sind.

  • Eines der fundamentalen Konzepte von OpenBSD ist das Streben nach einem einfachen, sauberen und standardmäßig sicheren System. „Standardmäßig“ bezeichnet dabei die Voreinstellungen des Produktes direkt bei der Installation; so wären durchaus mehr Sicherheitslücken zu verzeichnen gewesen, wenn bei OpenBSD mehr Dienste gestartet worden wären.
  • Das Konzept, standardmäßig nur wenige Dienste anzubieten, fügt sich gut in gebräuchliche Verfahren der Computersicherheit ein.
  • Weiterhin ist das Projekt Open-Source und nutzt Methoden wie Quellcode-Auditing, beides Dinge, von denen gesagt wird, dass sie wichtig für die Sicherheit eines Systems sind.


OpenBSD 6.6 beim Starten

OpenBSD beinhaltet eine Vielzahl von speziell auf Verbesserung der Sicherheit zugeschnittener Funktionen: Änderung am Compiler und den Programmierschnittstellen wie die Funktionen strlcpy und strlcat; einen statischen Software-Test zur Überprüfung der Puffer; Schutz vor unerlaubten Zugriffen durch Speicherschutz-Techniken, wie ProPolice, StackGhost und W^X (Abkürzung für Writeable xor eXecutable); etliche Verbesserungen an der malloc-Implementierung; kryptografische und randomisierte Funktionen, unter anderem im Netzwerkprotokollstapel; Einbindung der Blowfish-Blockverschlüsselung zur sicheren Passwort-Verschlüsselung.

  • Dies alles wurde getan, um die Risiken einer Sicherheitslücke oder einer Fehlkonfiguration zu verringern, welche zu einer Privilegieneskalation führen könnte.
  • Einige Programme wurden neu geschrieben oder angepasst, um Privilegientrennung, Privilegienverminderung oder Chroots zu verwenden.
  • Privilegientrennung ist ein Verfahren, bei welchem ein Programm in mehrere Teile aufgeteilt wird.
  • Einer dieser Teile führt Funktionen aus, welche hohe Privilegien benötigen, jedoch kann in der Regel der größte Teil des Programmes mit niedrigen Privilegien laufen.
  • Dieser Technik wurde durch OpenBSD der Weg bereitet und sie ist vom Prinzip des geringsten Rechts inspiriert.
  • Privilegienverminderung ist ähnlich, ein Programm führt zunächst alle Funktionen, welche hohe Privilegien voraussetzen, aus und gibt anschließend seine Privilegien ab.
  • Chroots beschränken ein Programm auf einen kleinen Teil des Dateisystems und verhindern so den Zugriff auf Systemdateien.

Das Projekt folgt der Richtlinie ein fortwährendes Quellcode-Audit nach Sicherheitslücken zu halten.

  • Der Entwickler Marc Espie beschrieb die Arbeit als „niemals endend, es ist mehr eine Frage des Fortschritts als der Suche nach spezifischen Fehlern.“

Er fährt fort, einige typische Schritte aufzuzählen, welchen nachgegangen wird, sobald ein Fehler gefunden wurde.

  • Einer davon ist, das komplette Quellcode-Repository nach diesem und ähnlichen Fehlern zu durchsuchen. „Versuchen, herauszufinden, ob die Dokumentation erweitert werden sollte“ und Nachforschungen anzustellen, ob „es möglich ist, den Compiler zu erweitern, damit er zukünftig vor diesem speziellen Problem warnt.“ Neben DragonFly BSD ist OpenBSD das einzige Open-Source-Betriebssystem mit der Richtlinie, klassischen K&R-C-Quellcode durch gleichwertigen modernen ANSI-C-Code zu ersetzen.
  • Dies bewirkt keine funktionalen Veränderungen, aber erhöht die Lesbarkeit und sorgt für eine höhere Konsistenz.
  • Es gibt einen Standardstil für Quellcode, die Kernel Normal Form (KNF), diese gibt das Aussehen von Quellcode an, um ihn einfach verständlich und pflegbar zu machen.
  • Die KNF muss auf allen Quellcode angewendet werden, welcher ins Basissystem aufgenommen werden soll.

In Misskredit kam OpenBSD im Dezember 2010 durch den Verdacht, dass im Auftrag der US-Regierung mehrere Hintertüren zur Nutzung durch das FBI im IPsec-Stack verborgen wurden.

  • OpenBSD-Gründer Theo de Raadt selbst veröffentlichte eine entsprechende Warnung.

Anwendung

Aufgrund der Sicherheitsverbesserungen, Kryptografie und der integrierten PF-Firewall eignet sich OpenBSD für die Verwendung in der Sicherheitsindustrie, speziell für Firewalls, Intrusion Detection Systeme und VPN-Gateways.

  • Es wird ebenfalls häufig für Web- und andere Server eingesetzt, da diese widerstandsfähig gegen Cracker- und DoS-Angriffe sein müssen.
  • Aufgrund der Einbeziehung von spamd ins Basissystem wird OpenBSD gelegentlich auch als Spamfilter verwendet.

Es gibt auch einige auf OpenBSD basierende proprietäre Systeme von Firmen im Security- oder Routerbereich.

OpenBSD 6.6 mit grafischer Standardoberfläche, dem Standard-Fenstermanager cwm und xeyes

OpenBSD integriert das X Window System.

  • Seit den Lizenzänderungen an XFree86 wird eine modifizierte Version von X.Org namens xenocara verwendet.
  • Mit dem X-System ist es möglich, OpenBSD als Heimcomputer oder Workstation zu verwenden und Gebrauch einer Desktop-Umgebung, eines Fenstermanagers oder von beidem zu machen.
  • Dadurch ist es möglich, den X-Desktop in einer Fülle von Erscheinungsformen zu verwenden.

Durch das OpenBSD-Paketmanagementsystem kann aus einer Vielzahl der beliebtesten Programme für den Desktop gewählt werden.

Die Bedienbarkeit und Performance von OpenBSD wird gelegentlich kritisiert.

  • Untersuchungen auf Performance und Skalierbarkeit zeigen oft, dass OpenBSD hinter anderen Betriebssystemen zurückliegt, am bekanntesten sind hier die Untersuchungen durch Felix von Leitner.

OpenBSD-Entwickler und -Nutzer entgegneten mit der Ansicht, Performance sollte beachtet werden, jedoch seien Sicherheit, Verlässlichkeit und Richtigkeit als wichtiger anzusehen.

OpenBSD ist ein vergleichsweise kleines Projekt, besonders im Vergleich mit FreeBSD und Linux, daher wird Entwicklerzeit für Sicherheitsverbesserungen oft als lohnender gesehen als für Performanceoptimierungen.

  • Kritiker der Benutzerfreundlichkeit kritisieren oft das Fehlen von grafischen Konfigurationsprogrammen, die schmucklose Standardinstallation sowie die „spartanische“ und „einschüchternde“ Installation selbst.
  • Diese Kritik wird mit einer ähnlichen Zurückweisung wie der Kritik an Performance begegnet: dem Vorzug von Einfachheit, Verlässlichkeit und Sicherheit.
  • Ein Kritiker gab zu: „Ein ultra-sicheres Betriebssystem zu benutzen kann ein Stück Arbeit sein.“


Verkauf und Marketing

OpenBSD ist auf verschiedenen Wegen kostenlos verfügbar: Bereits seit 2007 werden komplette CD-Abbilddateien (ISO) für die meisten Architekturen zum Download zur Verfügung gestellt.

  • Der Quellcode kann über anonymes CVS bezogen werden.

Komplette CD-Sets inklusive Dokumentation, Illustrationen, einer Auswahl an Aufklebern und dem Titellied des jeweiligen Releases konnten bis einschließlich der Version 6.0 gegen Gebühr online bestellt werden.

  • Die CD-Sets waren eine der wenigen Einnahmequellen für das Projekt und sicherten dessen Bestehen.
  • Diese wurden jedoch mit Erscheinen der Version 6.1 abgekündigt.
  • Aus den Einnahmen werden Hardware, Bandbreite, Hackathons und andere Anschaffungen finanziert.

Gemeinsam mit einigen anderen Betriebssystemen benutzt OpenBSD das Portssystem in Verbindung mit einem eigenen Paketmanagementsystem, dies erlaubt eine einfache Installation und Verwaltung von nicht im Basissystem enthaltenen Programmen.

  • Ursprünglich auf dem FreeBSD-Portssystem basierend, sind die Systeme inzwischen deutlich verschieden.
  • Im Gegensatz zu FreeBSD ist das OpenBSD-Portssystem nur als Quelle zum Erstellen des Endproduktes, das heißt der Pakete, gedacht.
  • Beim Installieren eines Port wird zunächst ein Paket erstellt und dieses anschließend durch die Paketverwaltungstools installiert.
  • Pakete werden vom OpenBSD-Team für jede Version massenhaft erstellt und zum Herunterladen bereitgestellt.
  • OpenBSD ist unter den BSDs auch in der Hinsicht einzigartig, dass Port- und Basissystem für jede Version gemeinsam entwickelt und herausgegeben werden.
  • Daraus folgt, dass Ports und Pakete, die mit einer Version, beispielsweise 6.6, herausgegeben werden, nicht mit einer anderen Version, zum Beispiel 6.5, verwendet werden können.
  • Diese Richtlinie trägt einen großen Teil zur Stabilität des Entwicklungsprozesses bei, aber gleichzeitig kann es auch bedeuten, dass Portsoftware der letzten OpenBSD-Version bis zum Erscheinen der nächsten Version hinter der neuesten Programmversion des Autors zurückbleibt.
Puffy

Ungefähr zur Zeit von OpenBSD 2.7 wurde das ursprüngliche Maskottchen, ein BSD-Daemon mit Dreizack und Strahlenkranz, durch Puffy, einen Kugelfisch, ersetzt.

  • Puffy wurde ausgewählt aufgrund des Kugelfischalgorithmus (Blowfish) in OpenSSH und des stark defensiven Images des Kugelfisches, dessen Stacheln ihn vor Feinden schützen.
  • Puffy erfreute sich schnell hoher Beliebtheit, hauptsächlich wegen des ansprechenden Images und seiner deutlichen Unterscheidung vom BSD-Daemon, der schon von FreeBSD verwendet wird, und der bis zum Jahr 2004 von NetBSD verwendeten Daemonenherde.
  • Puffy erschien zum ersten Mal in OpenBSD 2.6 und zeigt sich seitdem in einer Vielzahl von Gestalten auf T-Shirts und Postern.
  • Einige hiervon waren, oftmals in Anlehnung an bekannte Personen: Puffiana Jones, berühmter Hackologe und Abenteurer auf der Suche nach dem verlorenen RAID; Puffathy, ein kleines Mädchen aus Alberta, die mit Taiwan zusammenarbeiten muss, um die Situation zu retten; Sir Puffy of Ramsay, Freiheitskämpfer, der zusammen mit dem kleinen Bob aus Beckly von den Reichen stiehlt und unter den Armen verteilt; Puffy daddy, berühmter Rapper und politisches Idol, Puffy Baba, der gegen die 40 vendors (40 Hersteller) kämpft, oder Pufferix und Bobilix, die die three disks of freedom verteilen.

Nach einigen Versionen wurde OpenBSD auch für seine Werbelieder und seine interessanten, oftmals witzigen Illustrationen bekannt.

  • Einiges wurde mitunter von Ty Semaka der Band Plaid Tongued Devils beigesteuert.
  • Zuerst war es nur als unbedeutender Humor gedacht, als sich das Konzept jedoch weiterentwickelte, wurde es ein Teil der OpenBSD-Plausibilität.
  • Jede Version propagierte eine Moral oder einen politischen Standpunkt mit Bedeutung für das Projekt, oft in Form einer Parodie.
  • Die Produktion von Werbeliedern wurde mit OpenBSD 6.3 eingestellt.
  • Mit Version 6.8 wurde zum 25-jährigem Bestehen des Projektes wieder ein Werbelied veröffentlicht.

Zusätzlich zu den Slogans auf T-Shirts und Postern bringt OpenBSD gelegentlich auch Weiteres hervor: über die Jahre einige Schlagworte wie „Beförderung von Scriptkiddies nach /dev/null seit 1995“, „Funktional, sicher und frei, wähle drei davon“, „Sicherheit als Standard“ und noch einige weitere Slogans, die nur auf T-Shirts zu finden sind, die für Entwickler-Zusammenkünfte gedruckt wurden, zum Beispiel „Sicherheit mit Weltklasse, viel billiger als ein Marschflugkörper“, oder eines verärgerten alten Tintenfisches der „Maul halten und Hacken!“ zum Besten gibt.

Am 25.

  • Juli 2007 wurde nach kanadischem Recht die Non-Profit-Organisation The OpenBSD Foundation zur Unterstützung des Projekts gegründet.

Eigenentwicklungen

Aus OpenBSD entsprangen viele Eigenentwicklungen

Distributionen und Derivate

Distributionen

  • Anonym.OS (nur OpenBSD 3.8, 2006)
  • FuguIta: Live-CD mit iceWM, die sich auch auf der Festplatte installieren lässt
  • jggimi
  • MarBSD: Rettungs- und Testsystem in mehreren Varianten (für i386, amd64 und sparc64)

Derivate

  • MirOS BSD
  • Bitrig
  • LibertyBSD

Siehe auch