Berkeleys Erben

Fast zeitgleich haben die jeweiligen Betreuer zwei neue BSD-Versionen freigegeben: OpenBSD 3.6 und FreeBSD 5.3. Mit Letzterem hat nach Ansicht der Entwickler der FreeBSD-5-Zweig einen so stabilen Status erreicht, dass er sich produktiv einsetzen lässt.

In Pocket speichern vorlesen Druckansicht 115 Kommentare lesen
Lesezeit: 8 Min.
Von
  • Lukas Grunwald
Inhaltsverzeichnis

OpenBSD 3.6, das Betriebssystem mit dem Blowfish, ist zwar frei gemäß BSD-Lizenz, Interessenten müssen zum Aufspielen aber die eine oder andere Netzinstallationshürde nehmen, mit Boot-Disketten arbeiten oder sich über den Webserver des Projekts (siehe „Quellen“) ein kostenpflichtiges, meist nicht mehr brandaktuelles CD-Set mit Versand aus Übersee kaufen. Vor allem Einsteiger dürften es so schwer haben, sich ein OpenBSD-System einzurichten, da heute nur noch wenige Rechner über ein traditionelles Diskettenlaufwerk verfügen, was für eine Netzinstallation via Bootfloppy nötig wäre.

Im Test wählten wir die komplexere Alternative: Eine Installation von einem Bootserver via PXE und DHCP. Hierbei bootet ein OpenBSD-Kernel mit Install-RAM-Disk. Die Installation erfolgt dann über einen FTP-Server aus dem Internet.

Mehr Infos

Mit dem OpenBSD-typischen spartanischen Layout muss man zunächst eine Partition erstellen - OpenBSD verlangt eine primäre Partition. In dieser erstellt die Installationsroutine die Disk-Slices für das BSD-eigene Partitionierungssystem. Allerdings eignen sich OpenBSDs fdisk sowie der Disk-Label-Editor nicht für unbedarfte Benutzer: Wer hier nicht genau weiß, was er tut, gefährdet bei falschen Eingaben die anderen Partitionen samt Inhalt. Das ist sogar für Anwender mit guten Linux-Kenntnissen nicht trivial.

Als eine der größten Neuerungen unterstützt OpenBSD jetzt i386- und AMD64-SMP-Systeme. Darüber hinaus finden sich zahlreiche PC-Card-Netzadapter frisch im Hardwaresupport. Über den ebenfalls neuen hotplugd lässt sich auswechselbare Hardware skriptgesteuert hinzufügen und entfernen.

Gemäß dem Ziel von OpenBSD haben die Entwickler vor allem an der Sicherheit weitergearbeitet. So lassen sich jetzt per tcpdrop komfortabel lokale TCP-Verbindungen beenden.

Für das NTP-Protokoll verfügt OpenBSD inzwischen über eine eigene, von Grund auf neu geschriebene Implementierung als Alternative zu der von ntp.org. Letztere bereitete in der Vergangenheit immer wieder Schwierigkeiten, da sie quasi eine Monokultur darstellte: Faktisch alle Anbieter eines ntpd vom Cisco-Router über diverse Linux-Distributionen bis hin zu kommerziellen Unices wie HP-UX oder Solaris basieren auf den ntp.org-Quellen, und eine Schwachstelle kompromittiert fast die komplette Infrastruktur vom Server bis zum Router. Diesem potenziellen Risiko setzt OpenBSD sein Time-Keeping jedenfalls nicht mehr aus. Den DHCP-Server härteten die Entwickler ebenfalls, er wanderte darüber hinaus in ein Jail, eine seit FreeBSD 4.5 existierende erweiterte chroot-Umgebung [1].

Durch Regeloptimierung kann die OpenBSD-Firewall ihre Filtergeschwindigkeit bei sehr vielen Regeln beschleunigen. Weiter erfuhr der IPSec-Stack eine Erweiterung um NAT-Traversal und „Dead Peer Detection (RFC 3706)“, womit sich VPNs auch über vor allem im DSL-Bereich verbreitete NAT-Router einsetzen lassen.

Daneben bohrten die Entwickler den BGP-Routing-Daemon deutlich auf. OpenBSD sticht als Border-Router mit integrierter Firewall und IPSec-Gateway vom Funktionsumfang her so manches kommerzielle Produkt aus. Lediglich für den Anwenderkomfort gilt dies nicht: Das universelle Konfigurationsmanagementwerkzeug ist auch bei OpenBSD 3.6 der vi.

Immer noch extrem konservativ gibt sich das BSD-Derivat beim C-Compiler und liefert den GCC 2.95.3 aus dem Jahr 2001 mit. Auch ein Journaling-Dateisystem sucht man vergebens.

Der erste Versuch einer FreeBSD-5.3-Installation ging schief, da es trotz etlicher Ansätze nicht gelang, einen FTP-Mirror zu finden, der die aktuelle Version bereithält. Hier ist entweder die FTP-Mirror-Liste auf www.freebsd.org nicht mehr aktuell oder die Version 5.3 Version war zu diesem Zeitpunkt so neu, dass die Dateien noch nicht gespiegelt waren.

Erst nach dem Download der kompletten CD-Images vom zum Testzeitpunkt unter hoher Last laufenden ftp.freebsd.org verlief die interaktiv per Menü geführte Installation reibungslos. Nach deren Abschluss lässt sich das System mit einer Vielzahl fertiger Binärpakete respektive der Ports-Collection auf das Softwareniveau jeder Linux-Distribution aufstocken. Das System der Ports-Collection stand auch Pate bei Gentoo-Linux, es handelt sich dabei um eine schlanke Distribution, die sich komplett aus dem Netz installieren lässt.

Im Vergleich zur letzten für den produktiven Einsatz vorgesehenen FreeBSD-Version 4.9 sind unter anderem Softupdates und Snapshots [2] hinzugekommen. Mit diesen lässt sich ein Dateisystemcheck im Hintergrund durchführen, respektive der Zustand des Filesystems einfrieren. Mit Vinum verfügt FreeBSD über einen Volume-Manager, der RAID-Level und dynamisches Volumemanagement beherrscht.

Cardbus-Support und eine komplette Wireless-LAN-Integration ins Netzsubsystem lassen so manches andere OS alt aussehen. Per ifconfig lässt sich die ganze Bandbreite der 802.11x-Funktionen einstellen. Eine Anleihe bei OpenBSD machten die Entwickler mit der IPSec-Implementierung - wenn sie auch nicht alle Funktionen übernahmen. Das Handbuch weist eindringlich auf die IPSec-Notwendigkeit bei WLAN-Verbindungen hin; ein Audit- sowie ein Crack-Tool mit den BSD-Airtools gehören bei FreeBSD dazu. Neben WLAN- bereiten auch Bluetooth-Verbindungen FreeBSD 5.3 keine Schwierigkeiten mehr.

Aus dem TrustedBSD-Projekt (siehe „Quellen“) flossen die „Mandatory Access Control Policies“ als weiteres Sicherheitsmerkmal in die aktuelle FreeBSD-Version ein. Andere Sicherheitsmechanismen wie OPIE (One Time Password in Everything) sowie eine sichere Default-Installation zeigen, dass die Entwickler hier ebenfalls auf Sicherheit achten.

Manchmal reagiert der Mechanismus allerdings etwas zu paranoid: So wartet das System, wenn keine Random-Seeds für den Zufallszahlengenerator vorhanden sind, bis es genug Entropie gesammelt hat - da kann das Booten bis zu fünf Minuten länger dauern. Glücklicherweise lässt sich dieser Vorgang durch ein Enter auf der Konsole beschleunigen. Komplette Filesysteme lassen sich verschlüsseln und Support für diverse Hardware-Crypto-Boards ist ebenfalls dabei. Den Paketfilter übernahm FreeBSD ebenfalls von OpenBSD.

Ein Device-Dateisystem verwaltet das Verzeichnis /dev. Dies ist eine Neuerung in FreeBSD, bei Linux verabschiedet man sich gerade wieder von diesem Konzept. Neue Treiber registrieren sich hier und stellen automatisch den Geräteknoten bereit.

Als erstes Betriebssystem verfügt FreeBSD über eine komplette und vollständige IPv6-Implementierung sowohl im Kernel als auch im Userspace. Damit lässt sich FreeBSD von einem IPv6-FTP- oder -HTTP-Server installieren. Bei der Installation kann es von einem Router Advertisement (RA) Server den Netzpräfix empfangen und das System lässt sich auch ohne IPv4 installieren.

Da FreeBSDs Lizenzen es erlauben, das System auch kommerziell ohne Quelltextweitergabe zu verwerten, findet es sich in vielen Appliances - oft unter einem anderem Namen. Aber FreeBSD kann es ebenfalls als Desktop-System mit Gnome oder KDE mit jedem Linux-System aufnehmen. Nicht zuletzt bietet Nvidia für seine Grafikkarten neben Linux- auch FreeBSD-Treiber an.

Durch eine Emulation kann FreeBSD - wie Solaris x86 - Linux-Programme ausführen. FreeBSD ist somit eine echte Alternative zu einem Linux-System, die spröde BSD-Syntax von Tools wie df, die nur die Anzahl freier Blocks ausgeben konnte, gehört der Vergangenheit an. Als C-Compiler setzt es gcc 3.4.2 [FreeBSD] ein, das System vermittelt einen runden und integralen Eindruck, den manche Linux-Distribution vermissen lässt.

Bei Dual-Boot-Installationen mit Linux sollte man Vorsicht walten lassen. Wird unter FreeBSD ein Ext3-Dateisystem Read/Write eingehängt, muss man das Journal beim nächsten Linux-Reboot neu aufbauen und einen kompletten Dateisystemcheck durchführen. Dies liegt daran, dass FreeBSD das Filesystem nur als ext2 erkennt. Support für Journaling-Ext3 oder ReiserFS wäre eine sinnvolle Ergänzung, ebenso wie die Weiterentwicklung der SMP-Unterstützung, die bis jetzt als SMPng noch lange nicht den Reifegrad von Linux 2.6 erreicht hat.

Selbst für Einsteiger ist FreeBSD schnell installiert, was man von OpenBSD allerdings nicht behaupten kann. Letzteres hingegen ist mit seiner IPSec-Implementierung Linux und Co. wieder einmal voraus und damit die Lösung für Selfmade-Firewalls. FreeBSD dagegen ist durchaus als Desktop oder Linux-Alternative zu betrachten.

Lukas Grunwald
arbeitet als Consultant bei der DN Systems GmbH in Hildesheim und ist in diverse freie Softwareprojekte involviert.

[1] Christoph Herrmann; FreeBSD; Eingesperrt; BSD-Jails als Werkzeug zur Systemabsicherung; iX 3/2002, S. 138

[2] Christoph Herrmann; Dateisystemtechnik; Schnappschuss; FreeBSD-, Linux- und Netapp-Snapshots im Vergleich; iX 7/2003, S. 11 (avr)