%articles.ent; ]>
&os;: Eine Open Source-Alternative zu &linux; Dru Lavigne
dru@isecom.org
2005 Dru Lavigne $FreeBSD$ &tm-attrib.freebsd; &tm-attrib.linux; &tm-attrib.unix; &tm-attrib.general; &legalnotice; Das Ziel dieses Artikels ist es, einige der Funktionen und Vorzüge, die &os; 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.
Einleitung &os; ist ein &unix;-ähnliches Betriebssystem, das auf der Berkeley Software Distribution (BSD) basiert. Während &os; und &linux; häufig als sehr ähnlich empfunden werden, gibt es doch Unterschiede: &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. &os; ist ein komplettes Betriebssystem (Kernel und Userland) mit einem hoch angesehenem Erbe, das bis in die Wurzeln der &unix;-Entwicklung &os;-Historie 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 &os;-Projektseite veröffentlicht werden. &os; 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. Während &os; und &linux; beide ein Open Source-Lizenzmodell verwenden, weichen die tatsächlichen Lizenzen voneinander ab. Der &linux;-Kernel steht unter der GPL-Lizenz, &os; 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 Übersicht über die Vorzüge der beiden Lizenzen GPL und BSDL, ohne Partei zu beziehen. . Stabilen und sicheren Code unter die BSD-Lizenz zu stellen ermöglicht, dass viele Betriebssysteme wie Mac OS X auf &os;-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. Merkmale von &os; Unterstützte Plattformen &os; hat sich den guten Ruf erworben, ein sicheres und stabiles Betriebssystem für die &i386;-Plattform von &intel; zu sein. Jedoch unterstützt &os; auch die folgenden Architekturen: alpha amd64 ia64 &i386; pc98 &sparc64; Außerdem wird laufend an Portierungen von &os; 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. &os; 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 &os;-Ports: Zur Installation von Software genügt ein einfaches pkg_add -r Paketname . Darunter finden sich KDE, GNOME und OpenOffice. Es existieren verschiedene Projekte, welche die Installation von &os; 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 &os; verfügbar PC-BSD ist mit seinem einfach zu bedienenden grafischen Installationswerkzeug gerade für Anwender geeignet Erweiterbare Frameworks &os; 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 &os; 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 &os; zu integrieren. Einige Beispiele, bei denen dies von Nutzen sein kann, sind: Gestaltung von RAID-Lösungen Bereitstellung kompletter kryptographischer Sicherung gespeicherter Daten Neuere &os;-Versionen beinhalten viele Administrationswerkzeuge, um die bestehenden GEOM-Komponenten zu verwenden. Zum Beispiel kann mit Hilfe von &man.gmirror.8; ein Festplattenspiegel, mit &man.gstripe.8; ein Festplattenzusammenschluss und mit &man.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 &os;-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. &os; 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 &os; unterstützen PAM. Damit hat ein Administrator die Möglichkeit, die herkömmliche &unix;-Authentifizierung über Benutzername und Passwort zu erweitern. &os; 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. Sicherheit Sicherheit ist von großer Bedeutung für das &os; 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 &os;-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. &os; ist dieser Herausforderung mit VuXML entgegengetreten. Alle Programme, die zusammen mit &os; 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 &man.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. &os; bietet ebenfalls viele Mechanismen, die es einem Administrator erlauben, das Betriebssystem an die eigenen Sicherheitsansprüche anzupassen: &man.jail.8; bietet die Möglichkeit, Prozesse einzusperren; dies eignet sich besonders für Programme, die keine eigene Chroot-Umgebung besitzen. &man.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. &os; 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 &os;-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. Hilfestellung Wie &linux; bietet auch &os; viele Anlaufstellen für Hilfesuchende, die teilweise kostenlos und teilweise kommerziell sind. Kostenlose Angebote &os; 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 &os;-Handbuch bietet Hintergrundinformationen und Konfigurationsbeispiele zu so ziemlich jeder Anwendung von &os;. Es existieren viele Mailinglisten zu &os;. 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 &os; Projects auswählbar sind. Es gibt viele IRC-Kanäle, Foren und Benutzergruppen zu &os;. Eine Auswahl finden Sie hier. Falls ein &os;-Administrator, -Entwickler oder -Berater gebraucht wird, sollte eine Aufgabenbeschreibung zusammen mit dem Einsatzort an freebsd-jobs@FreeBSD.org gesendet werden. Kommerzielle Angebote Es gibt viele Anbieter kommerzieller Hilfestellung für &os;. Um einen Anbieter in der Nähe zu finden, stehen unter anderem folgende Quellen zur Verfügung: Eine Liste kommerzieller Anbieter auf der &os;-Projektseite FreeBSDMall, die schon beinahe 10 Jahre kommerzielle Hilfestellung anbietet BSDTracker-Datenbank Es gibt außerdem die Initiative, eine Zertifizierung von BSD-Systemadministratoren anzubieten. Weitere Informationen dazu finden Sie unter . Projekte, die eine Common Criteria-Zertifizierung benötigen, können die Hilfe von TrustedBSD in Anspruch nehmen, um (beispielsweise durch den Einsatz des &os; MAC Frameworks) diesen Prozess zu erleichtern. Vorteile durch die Wahl von &os; Es gibt viele Vorteile, die für den Einsatz von &os; in einer bestehenden Infrastruktur sprechen: &os; 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 &os;-Administration übernommen werden können. Betriebsinterne Entwickler haben vollen Zugriff auf den gesamten Code Ferner ist der gesamte Code unter Verwendung einer Webschnittstelle durchsuchbar. für jedes einzelne &os; 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 Es ist ein interessanter Überblick über das sich entwickelnde Entwicklungsmodell von &linux; verfügbar. eingeführt worden. Betriebsinterne Entwickler haben auch vollen Zugriff auf die GNATS-Fehlerdatenbank von &os;. 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 &os;-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. Fazit &os; 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 &os; gewiss eine exzellente Wahl.