               FreeBSD: Eine Open Source-Alternative zu Linux(R)

  Dru Lavigne

   <dru@isecom.org>

   Version: 43184

   Copyright (c) 2005 Dru Lavigne

   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 Verka:ufern sind
   Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt ist,
   werden die in diesem Dokument vorkommenden Bezeichnungen mit dem Symbol
   "(TM)" oder dem Symbol "(R)" 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 Vorzu:ge, die
   FreeBSD bietet, zu erla:utern und an geeigneten Stellen mit denen von
   Linux(R) zu vergleichen. Dieses Dokument stellt damit einen Ausgangspunkt
   fu:r diejenigen dar, die sich fu:r Open Source-Alternativen zu Linux(R)
   interessieren.

   U: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(R)-a:hnliches Betriebssystem, das auf der
   Berkeley Software Distribution (BSD) basiert. Wa:hrend FreeBSD und
   Linux(R) ha:ufig als sehr a:hnlich empfunden werden, gibt es doch
   Unterschiede:

    1. Linux(R) selbst ist ein Kernel. Distributionen (z.B. Red Hat, Debian,
       SUSE) stellen dem Benutzer ein Installationswerkzeug und Programme zur
       Verfu:gung. Auf der Linux(R)-Projektseite befindet sich eine
       Auflistung verschiedener Distributionen mit mehr als 300 Eintra:gen.
       Wa:hrend dem Benutzer ein Ho:chstmass an Flexibilita:t geboten wird,
       erho:ht das Bestehen dieser Vielzahl an Distributionen auch die
       Schwierigkeit, die eigenen Kenntnisse von einer Distribution auf eine
       andere zu u:bertragen. Distributionen unterscheiden sich nicht nur in
       der Einfachheit der Installation und der zur Verfu:gung stehenden
       Programme, sie unterscheiden sich auch in der Verzeichnisstruktur, in
       den verfu: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(R)-Entwicklung [1] zuru:ckreicht. Da der Kernel und die
       bereitgestellten Programme unter der Aufsicht desselben
       Release Engineering Teams stehen, ist die Wahrscheinlichkeit gering,
       dass Inkompatibilita:ten zwischen Bibliotheken auftreten. Mit
       Sicherheitslu:cken kann sich das Security Team zeitnah befassen. Wenn
       neue Programm- oder Kernel-Funktionen hinzugefu:gt werden, braucht der
       Benutzer nur die Release Notes lesen, die auf der FreeBSD-Projektseite
       vero:ffentlicht werden.

    2. FreeBSD verfu:gt u:ber eine grossen und gut organisierten
       Entwicklerstamm, der gewa:hrleistet, dass A:nderungen auf schnelle und
       geregelte Art und Weise durchgefu:hrt werden. Dazu geho:ren mehrere
       tausend Entwickler, die regelma:ssig Code beisteuern, von denen jedoch
       nur etwa 300 ein sogenanntes Commit Bit besitzen, das es ihnen
       erlaubt, direkt A:nderungen am Kernel, den Programmen und der
       offiziellen Dokumentation durchzufu:hren. Das Release Engineering Team
       ist zusta:ndig fu:r die Qualita:tssicherung und das Security Team fu:r
       die Behandlung von Sicherheitsproblemen. Des Weiteren existiert eine
       gewa:hlte Core Group, die aus 8 Senior Committern besteht und die
       Gesamtleitung des Projekts u:bernimmt.

       Im Gegensatz dazu mu:ssen A:nderungen am Linux(R)-Kernel erst vom
       Kernel Source Maintainer Linus Torvalds bewilligt werden. Wie
       A:nderungen an Distributionen erfolgen, kann von Projekt zu Projekt
       stark variieren und ist abha:ngig von der Gro:sse des jeweiligen
       Entwicklerstamms sowie dessen Organisation.

    3. Wa:hrend FreeBSD und Linux(R) beide ein Open Source-Lizenzmodell
       verwenden, weichen die tatsa:chlichen Lizenzen voneinander ab. Der
       Linux(R)-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 na:her beschrieben.

       Die Philosophie hinter der GPL will sicherstellen, dass lizenzierter
       Code Open Source bleibt. Dies wird bewerkstelligt, indem die
       Verteilung von solchem Code eingeschra:nkt ist. Dagegen entha:lt die
       BSD-Lizenz keine vergleichbaren Einschra:nkungen, wodurch jeder die
       Freiheit hat, lizenzierten Code Open Source zu belassen oder fu:r ein
       proprieta:res kommerzielles Produkt zu schliessen [2] Stabilen und
       sicheren Code unter die BSD-Lizenz zu stellen ermo: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 ko:nnen, ohne Angst vor einer zuku:nftigen
       gesetzlichen Haftung haben zu mu:ssen.

2. Merkmale von FreeBSD

  2.1. Unterstu:tzte Plattformen

   FreeBSD hat sich den guten Ruf erworben, ein sicheres und stabiles
   Betriebssystem fu:r die i386(TM)-Plattform von Intel(R) zu sein. Jedoch
   unterstu:tzt FreeBSD auch die folgenden Architekturen:

     * alpha
     * amd64
     * ia64
     * i386(TM)
     * pc98
     * SPARC64(R)

   Ausserdem wird laufend an Portierungen von FreeBSD gearbeitet, welche die
   folgenden Architekturen unterstu:tzen:

     * ARM(R)
     * MIPS(R)
     * PowerPC(R)

   Sta:ndig aktualisierte Listen mit unterstu:tzter Hardware werden fu:r jede
   Architektur einzeln gepflegt, sodass auf einen Blick festgestellt werden
   kann, ob bestimmte Hardware unterstu:tzt wird. Fu:r Server gibt es zum
   Beispiel ausgezeichnete Unterstu:tzung von Hardware RAIDs und
   Netzwerkkarten.

   FreeBSD stellt auch ein grossartiges Betriebssystem fu:r
   Arbeitsplatzrechner und Laptops dar. Es ist unter anderem das
   X Window System verfu:gbar, das auch Linux(R)-Distributionen mitliefern,
   um dem Benutzer eine grafische Benutzeroberfla:che bieten zu ko:nnen.
   Ausserdem 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 fu:r den Arbeitsplatz einfacher gestalten wollen. Die
   nennenswertesten sind:

     * DesktopBSD strebt ein stabiles und leistungsfa:higes Betriebssystem
       fu:r den Arbeitsplatz an

     * FreeSBIE ist als Live-CD von FreeBSD verfu:gbar

     * PC-BSD ist mit seinem einfach zu bedienenden grafischen
       Installationswerkzeug gerade fu:r Anwender geeignet

  2.2. Erweiterbare Frameworks

   FreeBSD verfu:gt u:ber viele solcher Frameworks, sodass es problemlos an
   die eigenen Bedu: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
           Mo:glichkeit, eigene Komponenten abzuleiten. Infolgedessen
           gestaltet sich der kurzfristige Bau von Prototypen und die
           anschliessende Produktionsentwicklung bei erweiterten
           Netzwerkdiensten viel einfacher und weniger fehleranfa:llig. Viele
           funktionsfa:hige Komponenten werden mit FreeBSD mitgeliefert, die
           unter anderem Unterstu:tzung bieten fu: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 mo: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-Lo: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 Gera:t erstellt
           werden.

   GEOM Based Disk Encryption (GBDE)

           GBDE bietet starken kryptographischen Schutz fu:r Dateisysteme,
           Swap-Gera:te und andere Anwendungen von Speichermedien. Daru:ber
           hinaus verschlu:sselt GBDE transparent das gesamte Dateisystem und
           nicht nur einzelne Dateien. Es wird niemals Klartext auf die
           Festplatte geschrieben.

   Mandatory Access Control (MAC)

           MAC ermo:glicht eine bessere Zugriffskontrolle fu:r Dateien und
           soll die herko:mmliche Betriebssystemautorisierung durch
           Dateizugriffsrechte erweitern. Da MAC als baukastenartiges
           Framework implementiert ist, kann ein FreeBSD-System entsprechend
           der geforderten Richtlinien konfiguriert werden; von der
           Erfu:llung des HIPAA bis hin zu den Bedu:rfnissen eines Systems
           nach milita:rischen Standards.

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

              * Biba-Sicherheitsmodell

              * Port ACLs

              * Vertraulichkeit: Multi Level Security (MLS)

              * Datenintegrita:t:
                Low Watermark Mandatory Access Control (LOMAC)

              * Prozessabschottung

   Pluggable Authentication Modules (PAM)

           Sowohl Linux(R) als auch FreeBSD unterstu:tzen PAM. Damit hat ein
           Administrator die Mo:glichkeit, die herko:mmliche
           UNIX(R)-Authentifizierung u:ber Benutzername und Passwort zu
           erweitern. FreeBSD stellt Komponenten zur Einbindung vieler
           Authentifizierungsmechanismen zur Verfu:gung; darunter befinden
           sich:

              * Kerberos 5

              * OPIE

              * RADIUS

              * TACACS+

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

3. Sicherheit

   Sicherheit ist von grosser Bedeutung fu:r das FreeBSD
   Release Engineering Team. Dies a:ussert sich in einigen konkreten
   Bereichen:

     * Alle Sicherheitsfragen und Problemlo:sungen werden vom Security Team
       bearbeitet und in Form von o:ffentlichen Warnhinweisen bekanntgegeben.
       Bekannte Sicherheitsprobleme werden vom Security Team schnell gelo:st.
       Weitere Informationen zur Vorgehensweise des FreeBSD-Projekts in
       Sicherheitsfragen und Verweise auf Sicherheitsinformationen sind hier
       verfu:gbar.

     * Eines der Probleme im Zusammenhang mit Open Source-Software ist die
       riesige Auswahl an verfu:gbaren Programmen. Es gibt buchsta: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
       Verfu:gung stehen, werden mit einer Datenbank verglichen, die bekannte
       und nicht behobene Sicherheitslu:cken entha:lt. Ein Administrator kann
       portaudit(1) verwenden, um sofort festzustellen, ob ein installiertes
       Programm Sicherheitslu: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 Sicherheitsanspru:che
   anzupassen:

     * jail(8) bietet die Mo:glichkeit, Prozesse einzusperren; dies eignet
       sich besonders fu:r Programme, die keine eigene Chroot-Umgebung
       besitzen.

     * chflags(1) erho:hen die Sicherheit durch herko:mmliche
       UNIX(R)-Zugriffsrechte. Zum Beispiel kann festgelegt werden, dass
       bestimmte Dateien selbst vom Superuser nicht bearbeitet oder gelo:scht
       werden ko:nnen.

     * FreeBSD stellt drei eingebaute Firewalls mit States- und
       NAT-Unterstu:tzung zur Verfu:gung, um flexibel den richtigen Regelwerk
       fu:r die eigenen Sicherheitsbedu:rfnisse auswa:hlen zu ko:nnen.

     * Der FreeBSD-Kernel kann schnell und einfach angepasst werden, um nicht
       gebrauchte Funktionalita:t zu entfernen. Es stehen auch ladbare Module
       und Werkzeuge zur Verfu: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 a:ndern.

4. Hilfestellung

   Wie Linux(R) bietet auch FreeBSD viele Anlaufstellen fu: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 verfu:gbar. Die Manualpages sind u:bersichtlich, pra:zise und
       enthalten funktionsfa: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 gro:sser
       Wahrscheinlichkeit schon auf einer der Mailinglisten beantwortet.
       Handbuch und Mailinglisten stehen in verschiedenen Sprachen zur
       Verfu:gung, die alle auf der Startseite des FreeBSD Projects
       auswa:hlbar sind.

     * Es gibt viele IRC-Kana: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
   <freebsd-jobs@FreeBSD.org> gesendet werden.

  4.2. Kommerzielle Angebote

   Es gibt viele Anbieter kommerzieller Hilfestellung fu:r FreeBSD. Um einen
   Anbieter in der Na:he zu finden, stehen unter anderem folgende Quellen zur
   Verfu:gung:

     * Eine Liste kommerzieller Anbieter auf der FreeBSD-Projektseite

     * FreeBSDMall, die schon beinahe 10 Jahre kommerzielle Hilfestellung
       anbietet

     * BSDTracker-Datenbank

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

   Projekte, die eine Common Criteria-Zertifizierung beno:tigen, ko: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 fu:r den Einsatz von FreeBSD in einer
   bestehenden Infrastruktur sprechen:

     * FreeBSD verfu:gt u:ber gute Dokumentation und richtet sich nach vielen
       Standards. Das bedeutet fu:r vorhandene fortgeschrittene Benutzer und
       erfahrene Systemadministratoren, dass bestehende Linux(R)- und
       UNIX(R)-Fa:higkeiten kurzerhand mit in die FreeBSD-Administration
       u:bernommen werden ko:nnen.

     * Betriebsinterne Entwickler haben vollen Zugriff auf den gesamten Code
       [4] fu:r jedes einzelne FreeBSD Release; bis hin zum ersten Release.
       Zusammen mit dem Code sind alle Protokolleintra:ge verfu:gbar, die den
       Zusammenhang fu:r A:nderungen und Fehlerbehebungen liefern. Ausserdem
       kann ein Entwickler jedes Release ohne Probleme reproduzieren, indem
       der gewu:nschte Code nach Kennzeichnung ausgewa:hlt und geladen wird.
       Dagegen hat Linux(R) dieses Modell traditionell nicht umgesetzt,
       jedoch ist inzwischen ein durchdachteres Entwicklungsmodell [5]
       eingefu:hrt worden.

     * Betriebsinterne Entwickler haben auch vollen Zugriff auf die
       GNATS-Fehlerdatenbank von FreeBSD. Es besteht die Mo:glichkeit, die
       Eintra:ge zu bekannten Fehlern zu durchsuchen und zu verfolgen sowie
       eigene Korrekturen zur Abnahme und zum mo:glichen Einpflegen in den
       FreeBSD-Code einzusenden.

     * Die BSD-Lizenz erlaubt die uneingeschra:nkte Anpassung des Codes,
       damit dieser dem Gescha:ftszweck entspricht. Im Gegensatz zur GPL gibt
       es keine Einschra:nkungen, was die Verbreitung des angepassten Codes
       angeht.

6. Fazit

   FreeBSD ist ein ausgereiftes UNIX(R)-a:hnliches Betriebssystem, das viele
   der Eigenschaften besitzt, die von einem modernen UNIX(R)-System erwartet
   werden. Fu:r diejenigen, die eine Open Source-Lo:sung fu:r eine bestehende
   Infrastruktur suchen, ist FreeBSD gewiss eine exzellente Wahl.

     ----------------------------------------------------------------------

   [1] FreeBSD-Historie

   [2] U:bersicht u:ber die Vorzu:ge der beiden Lizenzen GPL und BSDL, ohne
   Partei zu beziehen.

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

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

   [5] Es ist ein interessanter U:berblick u:ber das sich entwickelnde
   Entwicklungsmodell von Linux(R) verfu:gbar.
