FreeBSD: Eine Open Source-Alternative zu Linux®

Dru Lavigne

Version: 43184

FreeBSD ist ein eingetragenes Warenzeichen der FreeBSD Foundation.

Linux ist ein eingetragenes Warenzeichen von Linus Torvalds.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Viele Produktbezeichnungen von Herstellern und Verkäufern sind Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt ist, werden die in diesem Dokument vorkommenden Bezeichnungen mit dem Symbol oder dem Symbol ® gekennzeichnet.

Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Wichtig:

THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

2013-11-13 von hrs.
Zusammenfassung

Das Ziel dieses Artikels ist es, einige der Funktionen und Vorzüge, die FreeBSD bietet, zu erläutern und an geeigneten Stellen mit denen von Linux® zu vergleichen. Dieses Dokument stellt damit einen Ausgangspunkt für diejenigen dar, die sich für Open Source-Alternativen zu Linux® interessieren.

Übersetzt von Fabian Ruch.

[ einzelne Abschnitte / komplettes Dokument ]

Inhaltsverzeichnis
1. Einleitung
2. Merkmale von FreeBSD
3. Sicherheit
4. Hilfestellung
5. Vorteile durch die Wahl von FreeBSD
6. Fazit

1. Einleitung

FreeBSD ist ein UNIX®-ähnliches Betriebssystem, das auf der Berkeley Software Distribution (BSD) basiert. Während FreeBSD und Linux® häufig als sehr ähnlich empfunden werden, gibt es doch Unterschiede:

  1. Linux® selbst ist ein Kernel. Distributionen (z.B. Red Hat, Debian, SUSE) stellen dem Benutzer ein Installationswerkzeug und Programme zur Verfügung. Auf der Linux®-Projektseite befindet sich eine Auflistung verschiedener Distributionen mit mehr als 300 Einträgen. Während dem Benutzer ein Höchstmaß an Flexibilität geboten wird, erhöht das Bestehen dieser Vielzahl an Distributionen auch die Schwierigkeit, die eigenen Kenntnisse von einer Distribution auf eine andere zu übertragen. Distributionen unterscheiden sich nicht nur in der Einfachheit der Installation und der zur Verfügung stehenden Programme, sie unterscheiden sich auch in der Verzeichnisstruktur, in den verfügbaren Shells und Window Managern sowie in den Vorgehensweisen bei der Installation und Aktualisierung von Software.

    FreeBSD ist ein komplettes Betriebssystem (Kernel und Userland) mit einem hoch angesehenem Erbe, das bis in die Wurzeln der UNIX®-Entwicklung [1] zurückreicht. Da der Kernel und die bereitgestellten Programme unter der Aufsicht desselben Release Engineering Teams stehen, ist die Wahrscheinlichkeit gering, dass Inkompatibilitäten zwischen Bibliotheken auftreten. Mit Sicherheitslücken kann sich das Security Team zeitnah befassen. Wenn neue Programm- oder Kernel-Funktionen hinzugefügt werden, braucht der Benutzer nur die Release Notes lesen, die auf der FreeBSD-Projektseite veröffentlicht werden.

  2. FreeBSD verfügt über eine großen und gut organisierten Entwicklerstamm, der gewährleistet, dass Änderungen auf schnelle und geregelte Art und Weise durchgeführt werden. Dazu gehören mehrere tausend Entwickler, die regelmäßig Code beisteuern, von denen jedoch nur etwa 300 ein sogenanntes Commit Bit besitzen, das es ihnen erlaubt, direkt Änderungen am Kernel, den Programmen und der offiziellen Dokumentation durchzuführen. Das Release Engineering Team ist zuständig für die Qualitätssicherung und das Security Team für die Behandlung von Sicherheitsproblemen. Des Weiteren existiert eine gewählte Core Group, die aus 8 Senior Committern besteht und die Gesamtleitung des Projekts übernimmt.

    Im Gegensatz dazu müssen Änderungen am Linux®-Kernel erst vom Kernel Source Maintainer Linus Torvalds bewilligt werden. Wie Änderungen an Distributionen erfolgen, kann von Projekt zu Projekt stark variieren und ist abhängig von der Größe des jeweiligen Entwicklerstamms sowie dessen Organisation.

  3. Während FreeBSD und Linux® beide ein Open Source-Lizenzmodell verwenden, weichen die tatsächlichen Lizenzen voneinander ab. Der Linux®-Kernel steht unter der GPL-Lizenz, FreeBSD dagegen unter der BSD-Lizenz. Diese und andere Open Source-Lizenzen sind auf der Website der Open Source-Initiative näher beschrieben.

    Die Philosophie hinter der GPL will sicherstellen, dass lizenzierter Code Open Source bleibt. Dies wird bewerkstelligt, indem die Verteilung von solchem Code eingeschränkt ist. Dagegen enthält die BSD-Lizenz keine vergleichbaren Einschränkungen, wodurch jeder die Freiheit hat, lizenzierten Code Open Source zu belassen oder für ein proprietäres kommerzielles Produkt zu schließen [2] Stabilen und sicheren Code unter die BSD-Lizenz zu stellen ermöglicht, dass viele Betriebssysteme wie Mac OS X auf FreeBSD-Code basieren. Daneben bedeutet die Nutzung von Code unter der BSD-Lizenz in eigenen Projekten auch, dies tun zu können, ohne Angst vor einer zukünftigen gesetzlichen Haftung haben zu müssen.

2. Merkmale von FreeBSD

2.1. Unterstützte Plattformen

FreeBSD hat sich den guten Ruf erworben, ein sicheres und stabiles Betriebssystem für die i386™-Plattform von Intel® zu sein. Jedoch unterstützt FreeBSD auch die folgenden Architekturen:

  • alpha
  • amd64
  • ia64
  • i386
  • pc98
  • SPARC64®

Außerdem wird laufend an Portierungen von FreeBSD gearbeitet, welche die folgenden Architekturen unterstützen:

  • ARM®
  • MIPS®
  • PowerPC®

Ständig aktualisierte Listen mit unterstützter Hardware werden für jede Architektur einzeln gepflegt, sodass auf einen Blick festgestellt werden kann, ob bestimmte Hardware unterstützt wird. Für Server gibt es zum Beispiel ausgezeichnete Unterstützung von Hardware RAIDs und Netzwerkkarten.

FreeBSD stellt auch ein großartiges Betriebssystem für Arbeitsplatzrechner und Laptops dar. Es ist unter anderem das X Window System verfügbar, das auch Linux®-Distributionen mitliefern, um dem Benutzer eine grafische Benutzeroberfläche bieten zu können. Außerdem stehen mehr als 18.000 Programme Dritter zur einfachen Installation bereit [3] . Darunter finden sich KDE, GNOME und OpenOffice.

Es existieren verschiedene Projekte, welche die Installation von FreeBSD als Betriebssystem für den Arbeitsplatz einfacher gestalten wollen. Die nennenswertesten sind:

  • DesktopBSD strebt ein stabiles und leistungsfähiges Betriebssystem für den Arbeitsplatz an

  • FreeSBIE ist als Live-CD von FreeBSD verfügbar

  • PC-BSD ist mit seinem einfach zu bedienenden grafischen Installationswerkzeug gerade für Anwender geeignet

2.2. Erweiterbare Frameworks

FreeBSD verfügt über viele solcher Frameworks, sodass es problemlos an die eigenen Bedürfnisse angepasst werden kann. Einige wichtige sind:

Netgraph

Netgraph ist ein baukastenartiges Netzwerkteilsystem, das verwendet werden kann, um die bestehende Netzwerkinfrastruktur des Kernels zu erweitern. Entwickler haben durch Hooks die Möglichkeit, eigene Komponenten abzuleiten. Infolgedessen gestaltet sich der kurzfristige Bau von Prototypen und die anschließende Produktionsentwicklung bei erweiterten Netzwerkdiensten viel einfacher und weniger fehleranfällig. Viele funktionsfähige Komponenten werden mit FreeBSD mitgeliefert, die unter anderem Unterstützung bieten für:

  • PPPoE

  • ATM

  • ISDN

  • Bluetooth

  • HDLC

  • Etherchannel

  • Frame Relay

  • L2TP

GEOM

GEOM ist ein baukastenartiges Framework zur Umsetzung von I/O-Anfragen bei Festplatten. Da es sich um eine ein- und ausschaltbare Speicherebene handelt, ist es möglich, neue Speicherdienste schnell zu entwickeln und sauber in das Speicherteilsystem von FreeBSD zu integrieren. Einige Beispiele, bei denen dies von Nutzen sein kann, sind:

  • Gestaltung von RAID-Lösungen

  • Bereitstellung kompletter kryptographischer Sicherung gespeicherter Daten

Neuere FreeBSD-Versionen beinhalten viele Administrationswerkzeuge, um die bestehenden GEOM-Komponenten zu verwenden. Zum Beispiel kann mit Hilfe von gmirror(8) ein Festplattenspiegel, mit gstripe(8) ein Festplattenzusammenschluss und mit gshsec(8) ein Shared Secret gesichertes Gerät erstellt werden.

GEOM Based Disk Encryption (GBDE)

GBDE bietet starken kryptographischen Schutz für Dateisysteme, Swap-Geräte und andere Anwendungen von Speichermedien. Darüber hinaus verschlüsselt GBDE transparent das gesamte Dateisystem und nicht nur einzelne Dateien. Es wird niemals Klartext auf die Festplatte geschrieben.

Mandatory Access Control (MAC)

MAC ermöglicht eine bessere Zugriffskontrolle für Dateien und soll die herkömmliche Betriebssystemautorisierung durch Dateizugriffsrechte erweitern. Da MAC als baukastenartiges Framework implementiert ist, kann ein FreeBSD-System entsprechend der geforderten Richtlinien konfiguriert werden; von der Erfüllung des HIPAA bis hin zu den Bedürfnissen eines Systems nach militärischen Standards.

FreeBSD beinhaltet Komponenten, die folgende Richtlinien umsetzen (das Framework ermöglicht jedoch die Entwicklung von Komponenten zur Umsetzung jeder geforderten Richtlinie):

  • Biba-Sicherheitsmodell

  • Port ACLs

  • Vertraulichkeit: Multi Level Security (MLS)

  • Datenintegrität: Low Watermark Mandatory Access Control (LOMAC)

  • Prozessabschottung

Pluggable Authentication Modules (PAM)

Sowohl Linux® als auch FreeBSD unterstützen PAM. Damit hat ein Administrator die Möglichkeit, die herkömmliche UNIX®-Authentifizierung über Benutzername und Passwort zu erweitern. FreeBSD stellt Komponenten zur Einbindung vieler Authentifizierungsmechanismen zur Verfügung; darunter befinden sich:

  • Kerberos 5

  • OPIE

  • RADIUS

  • TACACS+

Der Administrator hat damit auch die Möglichkeit, Richtlinien festzulegen, die Probleme wie die Sicherheit des Benutzerpasswortes betreffen.

3. Sicherheit

Sicherheit ist von großer Bedeutung für das FreeBSD Release Engineering Team. Dies äußert sich in einigen konkreten Bereichen:

  • Alle Sicherheitsfragen und Problemlösungen werden vom Security Team bearbeitet und in Form von öffentlichen Warnhinweisen bekanntgegeben. Bekannte Sicherheitsprobleme werden vom Security Team schnell gelöst. Weitere Informationen zur Vorgehensweise des FreeBSD-Projekts in Sicherheitsfragen und Verweise auf Sicherheitsinformationen sind hier verfügbar.

  • Eines der Probleme im Zusammenhang mit Open Source-Software ist die riesige Auswahl an verfügbaren Programmen. Es gibt buchstäblich zehntausende Open Source-Projekte, wobei jedes unterschiedlich empfindlich auf Sicherheitsprobleme reagiert. FreeBSD ist dieser Herausforderung mit VuXML entgegengetreten. Alle Programme, die zusammen mit FreeBSD ausgeliefert werden oder in den Ports zur Verfügung stehen, werden mit einer Datenbank verglichen, die bekannte und nicht behobene Sicherheitslücken enthält. Ein Administrator kann portaudit(1) verwenden, um sofort festzustellen, ob ein installiertes Programm Sicherheitslücken aufweist, und gegebenenfalls eine Beschreibung des Problems sowie einen Verweis auf eine detailliertere Darstellung der Schwachstelle zu erhalten.

FreeBSD bietet ebenfalls viele Mechanismen, die es einem Administrator erlauben, das Betriebssystem an die eigenen Sicherheitsansprüche anzupassen:

  • jail(8) bietet die Möglichkeit, Prozesse einzusperren; dies eignet sich besonders für Programme, die keine eigene Chroot-Umgebung besitzen.

  • chflags(1) erhöhen die Sicherheit durch herkömmliche UNIX®-Zugriffsrechte. Zum Beispiel kann festgelegt werden, dass bestimmte Dateien selbst vom Superuser nicht bearbeitet oder gelöscht werden können.

  • FreeBSD stellt drei eingebaute Firewalls mit States- und NAT-Unterstützung zur Verfügung, um flexibel den richtigen Regelwerk für die eigenen Sicherheitsbedürfnisse auswählen zu können.

  • Der FreeBSD-Kernel kann schnell und einfach angepasst werden, um nicht gebrauchte Funktionalität zu entfernen. Es stehen auch ladbare Module und Werkzeuge zur Verfügung, um Module aufzulisten, zu laden und zu entladen.

  • Der sysctl-Mechanismus erlaubt es einem Administrator, den Kernel-Status (ohne einen Neustart) anzuzeigen und und zu ändern.

4. Hilfestellung

Wie Linux® bietet auch FreeBSD viele Anlaufstellen für Hilfesuchende, die teilweise kostenlos und teilweise kommerziell sind.

4.1. Kostenlose Angebote

  • FreeBSD ist eines der am besten dokumentierten Betriebssysteme und die Dokumentation ist sowohl als Teil des Betriebssystems als auch im Internet verfügbar. Die Manualpages sind übersichtlich, präzise und enthalten funktionsfähige Beispiele. Das FreeBSD-Handbuch bietet Hintergrundinformationen und Konfigurationsbeispiele zu so ziemlich jeder Anwendung von FreeBSD.

  • Es existieren viele Mailinglisten zu FreeBSD. Der Nachrichtenverkehr wird archiviert und ist durchsuchbar. Falls eine Frage mit Hilfe des Handbuchs nicht beantwortet werden konnte, wurde sie mit größer Wahrscheinlichkeit schon auf einer der Mailinglisten beantwortet. Handbuch und Mailinglisten stehen in verschiedenen Sprachen zur Verfügung, die alle auf der Startseite des FreeBSD Projects auswählbar sind.

  • Es gibt viele IRC-Kanäle, Foren und Benutzergruppen zu FreeBSD. Eine Auswahl finden Sie hier.

Falls ein FreeBSD-Administrator, -Entwickler oder -Berater gebraucht wird, sollte eine Aufgabenbeschreibung zusammen mit dem Einsatzort an gesendet werden.

4.2. Kommerzielle Angebote

Es gibt viele Anbieter kommerzieller Hilfestellung für FreeBSD. Um einen Anbieter in der Nähe zu finden, stehen unter anderem folgende Quellen zur Verfügung:

Es gibt außerdem die Initiative, eine Zertifizierung von BSD-Systemadministratoren anzubieten. Weitere Informationen dazu finden Sie unter http://www.bsdcertification.org.

Projekte, die eine Common Criteria-Zertifizierung benötigen, können die Hilfe von TrustedBSD in Anspruch nehmen, um (beispielsweise durch den Einsatz des FreeBSD MAC Frameworks) diesen Prozess zu erleichtern.

5. Vorteile durch die Wahl von FreeBSD

Es gibt viele Vorteile, die für den Einsatz von FreeBSD in einer bestehenden Infrastruktur sprechen:

  • FreeBSD verfügt über gute Dokumentation und richtet sich nach vielen Standards. Das bedeutet für vorhandene fortgeschrittene Benutzer und erfahrene Systemadministratoren, dass bestehende Linux®- und UNIX®-Fähigkeiten kurzerhand mit in die FreeBSD-Administration übernommen werden können.

  • Betriebsinterne Entwickler haben vollen Zugriff auf den gesamten Code [4] für jedes einzelne FreeBSD Release; bis hin zum ersten Release. Zusammen mit dem Code sind alle Protokolleinträge verfügbar, die den Zusammenhang für Änderungen und Fehlerbehebungen liefern. Außerdem kann ein Entwickler jedes Release ohne Probleme reproduzieren, indem der gewünschte Code nach Kennzeichnung ausgewählt und geladen wird. Dagegen hat Linux® dieses Modell traditionell nicht umgesetzt, jedoch ist inzwischen ein durchdachteres Entwicklungsmodell [5] eingeführt worden.

  • Betriebsinterne Entwickler haben auch vollen Zugriff auf die GNATS-Fehlerdatenbank von FreeBSD. Es besteht die Möglichkeit, die Einträge zu bekannten Fehlern zu durchsuchen und zu verfolgen sowie eigene Korrekturen zur Abnahme und zum möglichen Einpflegen in den FreeBSD-Code einzusenden.

  • Die BSD-Lizenz erlaubt die uneingeschränkte Anpassung des Codes, damit dieser dem Geschäftszweck entspricht. Im Gegensatz zur GPL gibt es keine Einschränkungen, was die Verbreitung des angepassten Codes angeht.

6. Fazit

FreeBSD ist ein ausgereiftes UNIX®-ähnliches Betriebssystem, das viele der Eigenschaften besitzt, die von einem modernen UNIX®-System erwartet werden. Für diejenigen, die eine Open Source-Lösung für eine bestehende Infrastruktur suchen, ist FreeBSD gewiss eine exzellente Wahl.



[2] Übersicht über die Vorzüge der beiden Lizenzen GPL und BSDL, ohne Partei zu beziehen.

[3] FreeBSD-Ports: Zur Installation von Software genügt ein einfaches pkg_add -r Paketname

[4] Ferner ist der gesamte Code unter Verwendung einer Webschnittstelle durchsuchbar.

[5] Es ist ein interessanter Überblick über das sich entwickelnde Entwicklungsmodell von Linux® verfügbar.