FreeBSD – The Power To Serve
Transcription
FreeBSD – The Power To Serve
Universitätsrechenzentrum Sebastian Benner AB Virtuelle Uni-Systeme FreeBSD – The Power To Serve Eine kurze Einführung in das UNIX-Derivat für x86- und Alpha-Prozessoren B/005/0208 © FernUniversität, August 2002 Impressum Autor: Sebastian Benner E-Mail: [email protected] Universitätsrechenzentrum Arbeitsbereich Virtuelle Uni-Systeme FernUniversität Hagen Universitätsstr. 21 Telefon: +49 2331 987-4027 D - 58084 Hagen Allgemeines: Alle in der Broschüre genannten Markennamen sind in der Regel eingetragene Warenzeichen der entsprechenden Hersteller und Organisationen. Texte können der Broschüre zur Verwendung für nicht-kommerzielle Zwecke unter Nennung des Autors und Copyright-Inhabers entnommen werden. Dies gilt auch für alle Grafiken und Fotos, solange kein anderes Copyright vorliegt. Download der Broschüre im PDF-Format: ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b0050208.pdf Neuere Versionen der Broschüre finden sich unter der URL: http://www.fernuni-hagen.de/URZ/urzbib/ Mitarbeiter und Studierende der FernUniversität können darüber hinaus die Broschüre in gedruckter Form über den Dispatch – [email protected] – des Universitätsrechenzentrums beziehen. c Titelbild: BSD Daemon, 1988 Marshall Kirk McKusick Inhaltsverzeichnis 1 Einleitung 7 2 Historie 9 2.1 Wie alles anfing – 1965 . . . . . . . . . . . . . . . . . 2.2 Die Berkeley Software Distribution – 1973 . . . . . . 10 2.3 Gründung des FreeBSD-Projekts – 1993 . . . . . . . 10 2.4 Der Rechtsstreit – 1992 - 1994 . . . . . . . . . . . . . 10 2.5 FreeBSD und Apple – 1999 . . . . . . . . . . . . . . 11 3 Installation 9 13 3.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Sysinstall . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Hardwareunterstützung . . . . . . . . . . . . . . . . 14 3.4 FreeBSD parallel zu Windows . . . . . . . . . . . . . 14 3.5 Pakete, Ports-Collection und Installationsmedien . . 15 3.6 make buildworld und make installworld . . . . . . . 17 3.7 Quellen laden – CVS . . . . . . . . . . . . . . . . . . 18 3.8 CURRENT, STABLE und RELEASE . . . . . . . . 18 4 Administration 21 4.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 Leistungsoptimierung . . . . . . . . . . . . . . . . . . 21 4.3 Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 4.3.1 SSH, VPNs und Periodic . . . . . . . . . . . 22 4.3.2 Script-Kiddies stoppen . . . . . . . . . . . . . 23 4.3.3 Dateisystemerweiterungen anwenden . . . . . 25 Virtuelle Server – Die Jail()-Funktion . . . . . . . . 26 4.4.1 Allgemeines . . . . . . . . . . . . . . . . . . . 26 4.4.2 Jails im Einsatz bei Webhostern . . . . . . . 27 3 4 Inhaltsverzeichnis 4.4.3 Jails zur Server-Konsolidierung . . . . . . . . 27 4.4.4 Jails am URZ – Aufbau einer Schulungsumgebung . . . . . . . . . . . . . . . . . . . . . 27 5 Verfügbare Software 29 5.1 FreeBSD auf dem Desktop . . . . . . . . . . . . . . . 29 5.2 Kompatibel zu GNU/Linux . . . . . . . . . . . . . . 30 6 Die Zukunft FreeBSDs 33 7 Fazit 35 8 Weiterführende Links und Quellen 37 8.1 Verfügbarkeit . . . . . . . . . . . . . . . . . . . . . . 37 8.2 Projekt . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.3 Dokumentationen und Literatur . . . . . . . . . . . . 37 8.4 8.5 8.6 8.3.1 Bücher . . . . . . . . . . . . . . . . . . . . . . 37 8.3.2 Hardwareunterstützung . . . . . . . . . . . . 38 8.3.3 Installation und Upgrade des Systems . . . . 38 8.3.4 Sicherheit . . . . . . . . . . . . . . . . . . . . 38 8.3.5 Tuning . . . . . . . . . . . . . . . . . . . . . . 38 8.3.6 Jails . . . . . . . . . . . . . . . . . . . . . . . 38 Software und Support . . . . . . . . . . . . . . . . . 39 8.4.1 Merchandising . . . . . . . . . . . . . . . . . 39 8.4.2 Software . . . . . . . . . . . . . . . . . . . . . 39 8.4.3 Newsgruppen, Foren und Mailinglisten . . . . 39 8.4.4 Consulting . . . . . . . . . . . . . . . . . . . 40 8.4.5 Tipps, Tricks und Tutorials . . . . . . . . . . 40 Allgemeine Informationen . . . . . . . . . . . . . . . 40 8.5.1 Webhosting . . . . . . . . . . . . . . . . . . . 40 8.5.2 News . . . . . . . . . . . . . . . . . . . . . . . 41 8.5.3 Verschiedene Nutzer FreeBSDs . . . . . . . . 41 Unix, Linux und Open-Source . . . . . . . . . . . . . 42 8.6.1 UNIX-Derivate . . . . . . . . . . . . . . . . . 42 8.6.2 Linux-Distributionen . . . . . . . . . . . . . . 42 Inhaltsverzeichnis 5 8.6.3 Weitere Open-Source-Projekte . . . . . . . . 43 9 Danksagung 45 6 Inhaltsverzeichnis 1 Einleitung Neben GNU/Linux hat sich in den letzten Jahren noch ein weiteres alternatives Betriebssystem aus dem Open-Source-Umfeld einen größeren Marktanteil im Bereich der UNIX-Server sichern können – FreeBSD. Obwohl weniger bekannt als Linux und ohne medienwirksamen Anführer“ wie Linus Torvalds1 , kommt das FreeBSD” Projekt in letzter Zeit immer mehr in Schwung. Mehrere Millionen Nutzer wie Internet Service Provider, Universitäten und UNIXFreunde am heimischen PC vertrauen inzwischen auf die hervorragende Performance und Stabilität dieses UNIX-Derivats. Die folgende Broschüre soll Interessierten eine kurze Einführung in das Betriebssystem mit dem Daemon als Maskottchen geben und darüber hinaus auch einige Gründe dafür liefern, warum gerade FreeBSD bei einer der größten Webseiten der Welt – Yahoo! – Monat für Monat verantwortlich für die Auslieferung von über 1,6 Milliarden Webseiten an über 237 Millionen Besucher ist (Stand: 12/2001). 1 der Finne Linus Torvalds hat 1991 das Linux-Projekt ins Leben gerufen 7 8 1 Einleitung 2 2.1 Historie Wie alles anfing – 1965 Selbst wer sich bisher nur recht beiläufig mit der Entstehungsgeschichte der verschiedenen UNIX-Derivate beschäftigt hat, wird den evolutionären Ursprung der Entwicklung sicher in Amerika ausgemacht haben können. – Auch FreeBSDs Wurzeln liegen in den U.S.A.. Verschiedene Firmen beteiligten sich damals Mitte der sechziger Jahre des vorherigen Jahrhunderts an der Entwicklung eines neuartigen Betriebssystems namens MULTICS (Multiplexed Information and Computing Service), welches vielen Benutzern gleichzeitig Zugang zu einem Computersystem bieten sollte. Eine der beteiligten Firmen – AT&T – zog sich Ende der sechziger Jahre aufgrund der schleppenden Entwicklung aus dem Projekt zurück. Abbildung 2.1: Dennis Ritchie (stehend) und Ken Thompson beginnen mit der Portierung von UNIX auf einen PDP-11 via zweier Teletype 33 Terminals (Foto: Lucent Technologies) Daraufhin entwickelten zwei Mitarbeiter der AT&T Bell Laboratories – Ken Thompson und Dennis Ritchie – ein an MULTICS orientiertes und in der Programmiersprache Assembler geschriebenes, erheblich kleineres System für einen PDP-7-Rechner des Herstellers Digital Equipment, welches sie scherzhaft, in Anlehnung an 9 10 2 Historie den Namen des Originals, UNIX1 nannten. UNIX wurde dann zunächst auf einen stärkeren Rechner – PDP-11 – portiert und kurze Zeit später – 1973 – fast vollständig in C umgeschrieben und an verschiedene Universitäten verteilt. "...the number of UNIX installations has grown to 10, with more expected..." Dennis Ritchie und Ken Thompson, Juni 1972 Zu den Universitäten, die schon damals mit Unix in Berührung kamen, gehörte auch die University of California, Berkeley. Deren Computer Science Research Group (CSRG) bildete einen Zweig, neben AT&T, der von nun an in verschiedene Richtungen strebenden UNIX-Entwicklung. 2.2 Die Berkeley Software Distribution – 1973 Die von der CSRG herausgegebenen UNIX-Distributionen wurden als BSD-Unix (Berkeley Software Distribution) bezeichnet, deren Version 4.4BSD-Lite seit 1994 frei verfügbar ist. Die Entwicklung bei AT&T endete 1988 mit dem Erscheinen des UNIX System V Release 4 (SVR4), in dem die wichtigsten Eigenschaften von 4.3BSD enthalten waren. Ein wenig später (1993) verkaufte AT&T ihr UNIX-System an Novell und Novell zwei Jahre später an The Santa Cruz Operation. Die SCO wurde dann zum Anfang des neuen Jahrtausends (2001) an den aktuellen Eigentümer des aus SVR4 hervorgegangenen SCO OpenServer-UNIX , den Linux-Distributor Caldera, weiterverkauft. 2.3 Gründung des FreeBSD-Projekts – 1993 Das FreeBSD-Projekt selbst wurde 1993 gegründet. Grundlage von FreeBSD bildeten 386BSD – einem direkten Nachfolger von 4.3BSD NET/2 und Teile aus 4.4BSD Lite. Ziel des FreeBSD-Projektes ist die Entwicklung eines freien UNIX-Systems mit den Schwerpunkten Benutzerfreundlichkeit, Performance und hohe Kompatibilität zu anderen Systemen. Etwa zur gleichen Zeit wurden weitere Projekte als Abkömmlinge der Berkeley Software Distribution ins Leben gerufen. Mit BSD/386 (BSDI, Februar 1992) entstand eine kommerzielle Variante BSDs, das NetBSD-Projekt (April 1993) legt großen Wert auf Portabilität des Systems und OpenBSD (Oktober 1995) auf Sicherheit. 2.4 Der Rechtsstreit – 1992 - 1994 Die Entwicklung der UNIX-Derivate BSDI, FreeBSD und NetBSD basierend auf der Berkeley Software Distribution wurde von einem 1 UNIX ist ein eingetragenes Warenzeichen von The Open Group in den Vereinigten Staaten und anderen Ländern. 2.5 FreeBSD und Apple – 1999 11 langem Rechtsstreit zwischen AT&T auf der einen Seite und Berkeley Software Design, Incorporated (BSDI) und der University of California, Berkeley auf der anderen überschattet. BSDI begann damals im Januar 1992 mit der Auslieferung einer besonders günstigen UNIX-Distribution zu 995 Dollar – ein Bruchteil dessen, was ein Spin-Off AT&Ts – Unix System Laboratories (USL) – für ihr UNIX basierend auf System V verlangte. Es kam, was kommen musste: USL sah sich in Bedrängnis und verklagte kurzerhand BSDI unter anderem wegen Verletzung des Urheberrechts und Preisgabe von Geschäftsgeheimnissen. Kurz danach trat die University of California, Berkeley ebenfalls in den Rechtsstreit ein. Der Grund war eine Gegenklage der UCB, die der USL eine Verletzung des BSD-Copyrights – Nicht-Nennung des Copyright Holders im BSDCode System Vs – zum Vorwurf machte. Nach langem Hin und Her kam es dann endlich im Januar 1994 zu einer Einigung zwischen den beiden Parteien. So mussten zum Beispiel einige Änderungen an den 18.000 Quelldateien des Net/2 vorgenommen werden, die im Juni 1994 letztendlich zum Erscheinen des freien UNIX-Systems 4.4BSD Lite führten. Dies hatte zur Folge, dass FreeBSD, NetBSD und BSDI Teile Ihrer Code-Basis anpassen, das heißt von Net/2 auf 4.4BSD-Lite umstellen mussten. 2.5 FreeBSD und Apple – 1999 Im März 1999 erschien Darwin, welches sich aus einem MachKernel (Mach 3.0) und einem BSD (4.4 BSD-Lite2) zusammensetzte und die Grundlage für Apples kommerzielles Mac OS X bildete. In diesem Zusammenhang spielt auch FreeBSD eine größere Rolle: Jordan Hubbard, lange Jahre Mitglied des FreeBSD CoreTeams, ehemaliger RELEASE-Engineer und einer der Mitgründer des Projektes, arbeitet seit Juni 2001 für Apple – die aktuelle Version von Mac OS X basiert zu einem Teil auf FreeBSD 4.4-4.5. So ist FreeBSD seit Mac OS X auch besonders stark im Desktop-Bereich vertreten – Apples Verkaufszahlen zur Folge sogar mehr als dreimal so stark wie GNU/Linux zurzeit2 . Darüber hinaus existieren heute viele kommerzielle Unix-Derivate wie AIX, Compaq Tru64 UNIX, HP/UX, IRIX, SCO UNIX, Solaris/SunOS und UNICOS. Hinzu kommen Unix-ähnliche System wie zum Beispiel GNU/Linux. Zum Abschluss dieses kurzen Rückblicks in die Vergangenheit von UNIX, sollte noch festgehalten werden, dass sich in heutigen UNIXDerivaten Teile beider ursprünglichen Entwicklungsstränge wiederfinden, je nach System mal mehr SVR4 oder mal mehr 4.4BSD. 2 http://www.theregister.co.uk/content/4/24060.html 12 2 Historie Abbildung 2.2: UNIX heute: Der komplette Stammbaum, welcher zumindest die populärsten UNIX-Derivate berücksichtigt, kann von Éric Lévénezs Webseite (http://www.levenez.com/unix/) in verschiedenen Formaten geladen werden. 3 3.1 Installation Allgemeines Trotz Ähnlichkeiten in Aufbau und Organisation der verschiedenen UNIX-Derivate, unterscheiden sich die Systeme bei der Installation doch gravierend. Jeder Hersteller kocht hier sein eigenes Süppchen. So bieten Linux-Distributionen wie Mandrake und S.u.S.E. komfortable, grafische Installations-Routinen, die auch von WindowsUsern mit geringen Vorkenntnissen sicher gehandhabt werden können. Vergleichbare Tools zum Setup des Systems finden sich auch bei anderen GNU/Linux-Distributionen, *BSDs und kommerziellen UNIX-Derivaten – je nach Produkt mal mehr oder weniger komfortabel, aber in der Regel leider immer inkompatibel zur Konkurrenz. FreeBSD geht bei der Installation einen Mittelweg zwischen einer spartanischen, rein Text-basierenden Installation des Systems und einer Windows-orientierten Installation mit viel Maus-Einsatz. 3.2 Sysinstall Das Standard-Installationsprogramm FreeBSDs sysinstall verfügt über ein Menüsystem, das an grafische Oberflächen aus der DOS-Zeit erinnert. Windows-verwöhnten Usern mag dies zunächst Abbildung 3.1: Installation via Sysinstall: Einfache Grafik, aber funktionell und durchdacht wie ein Schritt zurück in die Steinzeit anmuten, ganz so schlimm 13 14 3 Installation ist es bei näherem Hinsehen dann aber doch nicht: Jeder MenüPunkt ist gut erklärt und die Menüstruktur schlüssig und durchdacht. Eine Online-Hilfe ist nahezu jederzeit verfügbar und dank des umfangreichen Handbuchs mitsamt F.A.Q.s, Mailinglisten auf der Projekt-Seite und Newsgruppen sollten sich auch knifflige Fragen schnell beantworten lassen. Am besten hält man sich zur Installation das Online-Handbuch auf einem weiteren PC parat, druckt es sich zuvor aus oder bestellt das Handbuch zum ansonsten ja kostenlosen System dazu. Die Installation kann nun wahlweise per bootbarer CD-ROM/DVD oder mithilfe zweier Disketten1 gestartet werden. Zuvor sollte man sich aber darüber im Klaren sein, welche Hardware-Komponenten im System vorhanden sind. Wie nahezu jedes moderne Betriebssystem verfügt zwar auch FreeBSD inzwischen über eine automatische Hardware-Erkennung, die erfahrungsgemäß auch sehr zuverlässig arbeitet, aber auch in seltenen Fällen versagen kann. Da ist es hilfreich, wenn man sich ein wenig mit seiner Hardware auskennt, um zum Beispiel weitere Treiber laden zu können. 3.3 Hardwareunterstützung Mittlerweile wird ein breites Spektrum an Hardwarekomponenten unterstützt, so dass FreeBSD nicht nur auf Systemen älterer Bauart, sondern auch auf einem aktuellen Supermarkt-PC mit USB-Schnittstellen, OnBoard-Sound- und Grafik-Karten, EIDERaid oder einem Server mit mehreren Prozessoren einschließlich SCSI-Raid und Gigabit-Ethernet-Karte lauffähig ist. Dabei kann das UNIX-Derivat nicht nur auf PCs mit x86-Prozessoren, sondern auch auf Systemen mit Alpha-CPUs eingesetzt werden. Portierungen auf weitere Plattformen sind in Arbeit. Eine vollständige Liste der unterstützten Hardware kann auf der Webseite des Projektes eingesehen werden. 3.4 FreeBSD parallel zu Windows Möchte man FreeBSD erst einmal testen und parallel zu einer bestehende Windows-Installation einrichten, so lohnt sich ein Blick in das Handbuch. Die Vorgehensweise bei dieser Installations-Art wird hier genau anhand zahlreicher Bildschirmfotos und Illustrationen erklärt. FreeBSD verfügt zudem über einen integrierten Bootmanager, so dass beim Start des Rechners bequem zwischen den verschiedenen Betriebssystemen gewählt werden kann. 1 Weitere benötigte Dateien und Pakete werden bei dieser Installationsart später einfach per FTP aus dem Internet nachgeladen, der Download mehrerer hundert Megabyte großer ISO-Images kann daher wegfallen. 3.5 Pakete, Ports-Collection und Installationsmedien 3.5 15 Pakete, Ports-Collection und Installationsmedien Die weiteren Installationsschritte dürften auch Windows-Nutzern bekannt vorkommen: Nach einer Grundkonfiguration des Systems bietet das UNIX-Derivat die Möglichkeit, wie viele andere Systeme auch, je nach Einsatzzweck verschiedene Paketsammlungen zu installieren. In diesem Zusammenhang hat sich die Installation des Abbildung 3.2: Alles oder nur das Nötigste: Paketsammlungen auswählen Minimalsystems bewährt, das nach und nach um benötigte Pakete ergänzt wird. So gelangt man schnell zu einer optimal auf den jeweiligen Verwendungszweck abgestimmten FreeBSD-Installation. Abgeschlossen wird die Installation in der Regel mit der Auswahl des Installationsmedium. Hier hat man die Qual der Wahl: Gewählt werden darf zwischen CD/DVD, FTP, DOS-Dateisystem, NFS, Tape und Floppy – Hauptsache FreeBSD findet dort letztendlich alle zur Installation benötigten Dateien. Ist das System einmal komplett eingerichtet und installiert, so möchte man natürlich hin und wieder neue Software einspielen oder entfernen. Wie so oft führen hier mehrere Wege zum Ziel: FreeBSDUser können neue Software-Pakete in Form von sofort lauffähigen Binärpaketen einspielen oder über die sogenannte Ports-Collection automatisch aus dem Internet laden und übersetzen. Die PortsCollection bietet zurzeit über 7.400 aktuelle Softwarepakete aus allen Bereichen, die jeweils über zwei Befehle make install und make clean installiert werden können. Auf dem eigenen System muss dazu lediglich ein großer Verzeichnissbaum (einfach die Ports-Collection bei der System-Installation mit einrichten) mit den notwendigen Info-Dateien für die einzelnen Softwarepakete aufgespielt werden. 16 3 Installation Diese Info-Dateien enthalten unter anderem einen Verweis auf das zu übersetzende Archiv mit Quelldateien (lokal oder im Internet) und noch eventuell Verweise auf notwendige Patches speziell für FreeBSD, falls die Software sich sonst nicht übersetzen ließe. Abbildung 3.3: Webseite Freshports.org: In mehr als 7.400 Softwarepaketen stöbern Die Installation eines Apache-Webservers mit SSL-Unterstützung2 über die Ports-Collection schaut dann wie folgt aus: Zunächst muss in das entsprechende Verzeichniss der Ports-Collection gewechselt werden: $ cd /usr/ports/www/apache13-modssl Anschließend kann das Paket (auch Port genannt) übersetzt und installiert werden: $ make install Zu guter Letzt sollten noch temporäre Daten aus Platzgründen gelöscht werden: $ make clean Eventuell vorhandene Abhängigkeiten – Paket X erfordert Paket A,D und E–werden automatisch aufgelöst. Dabei führt die Installation letztendlich immer zur Registrierung eines Paketes in der zentralen Datenbank zur Paketverwaltung. Die Verwaltung der über die Ports-Collection oder als Binär-Pakete installierten Pakete lässt sich bequem mithilfe des grafischen Tools sysinstall oder mithilfe 2 SSL ist eine Abkürzung für Secure Socket Layer und ermöglicht die verschlüsselte Datenübertragung im lokalen Netz oder Internet. 3.6 make buildworld und make installworld 17 – sicher auch Solaris-Administratoren bekannten – Tools wie pkg* bewerkstelligen. Als recht nützlich haben sich in diesem Zusammenhang auch Tools wie portupgrade 3 und porteasy 4 erwiesen, mit deren Hilfe die Pflege und das Aktualisieren von Ports ein Kinderspiel ist. Während die Installation von Paketen im Binär-Format von allen UNIX-Derivaten geboten wird, so ist das Installationsverfahren über die Ports-Collection im UNIX-Bereich nahezu einzigartig – allenfalls die Linux-Distribution Gentoo bietet außerhalb *BSDs ein vergleichbares Verfahren, wenn auch die Anzahl der verfügbaren Pakete mit aktuell knapp 2.200 Paketen nicht gerade so üppig ist. 3.6 make buildworld und make installworld Für ein komplettes System-Upgrade eignen sich die üblichen Tools zur Paket-Verwaltung eher weniger – hier bietet FreeBSD andere Möglichkeiten. Neben dem üblichen Upgrade-Verfahren via Binärdateien hat sich besonders unter FreeBSD ein Verfahren mithilfe der Quelldateien des System und dem make buildworld und ma” ke installworld“-Mechanismus bewährt. So lässt sich das komplette System mit wenigen Befehlen aus den Quellen optimiert für die eigene Prozessor-Architektur übersetzen und auf den neuesten Stand bringen – eine optimale Betriebssystem-Performance ist die Folge. Dieses Verfahren ist auch besonders hilfreich zum Update des Systems im Falle von bekannt gewordenen Sicherheitslücken. Im diesem Zusammenhang sollte noch erwähnt werden, dass sich das mitgelieferte Script mergemaster als Update-Hilfe zum automatischen oder interaktiven Abgleich von Konfigurationsdateien zum Beispiel unter /etc/ als recht nützlich erwiesen hat und daher unbedingt genutzt werden sollte. Wer sein FreeBSD-System auf den aktuellen Stand bringen möchte, der sollte sich auch gleich noch den Kernel vornehmen und neu übersetzen. Obwohl sehr selten zwingend erforderlich, lohnt es sich, hier ein wenig Zeit zu investieren. Ein optimierter Kernel hilft Arbeitsspeicher sparen und lässt Sie zudem weitere Funktionen wie eine Firewall oder zusätzliche Hardware wie zum Beispiel eine Soundkarte nutzen. Viele Treiber lassen sich wie von anderen UNIX-Derivaten bekannt zwar auch zur Laufzeit via Kernel Modules nachrüsten, die permanente Integration von gewünschten Treibern in den Kernel führt aber in der Regel zu einer höheren Performance und ist auch aus Sicherheitsgründen zu empfehlen. Da potentielle Angreifer den KLD-Mechanismus5 ausnutzen könnten, 3 Ports-Collection: /usr/ports/sysutils/portupgrade Ports-Collection: /usr/ports/misc/porteasy 5 Die Verwaltung der Kernel Modules übernimmt unter FreeBSD die KLD (dynamic kernel linker facility) 4 18 3 Installation um eigene, gefährliche Module einzuspielen, sollte dieser zumindest im Serverbetrieb abgeschaltet werden4.3.2. Das Procedere der Kernel-Übersetzung ist mit ein wenig Kenntnis der eigenen Hardware und genauem Studium der entsprechenden Handbuchseiten schnell erledigt. Lediglich eine Konfigurationsdatei muss zur Kernel-Konfiguration angefasst werden. Dank einer mitgelieferten Beispieldatei mit allen möglichen Optionen und ausführlichen Kommentaren zur Konfiguration sollten auch weniger versierte UNIX-Freunde zum Erfolg kommen. Wie immer ist der gesamte Vorgang vom Upgrade des Systems bis hin zur KernelÜbersetzung Schritt für Schritt im Handbuch erklärt. 3.7 Quellen laden – CVS Nun, wie gelangen eigentlich die erforderlichen Quelldateien zum Upgrade des Systems auf den heimischen PC oder Server? Ein regelmäßiger Datentransfer via FTP scheidet aus–wer möchte schon bei jedem Upgrade mehrere hundert Megabyte an Quelldateien aus dem Internet laden? Genau zu diesem Zweck haben sich die FreeBSD-Entwickler das Tool cvsup6 ausgesucht. Die Software lädt nur relevante Daten von einem der zahlreichen, weltweit frei verfügbaren CVSUP-Server7 und drückt so das zu übertragende Datenvolumen auf ein Minimum. Nur so ist auch ein Abgleich per Concurrent Version System8 der Sourcen auf dem heimischen System mit dem Quelldateibaum der FreeBSD-Entwicklergemeinde mit vertretbarem Aufwand auch per Modem möglich. Über das CVS-Repository9 der FreeBSD-Entwickler kann jeder Nutzer weltweit beliebige Versionen des FreeBSD-Quellcodes laden und sich ein entsprechendes System zusammen stellen. 3.8 CURRENT, STABLE und RELEASE Die weltweite Entwicklergemeinde FreeBSDs pflegt zwei Entwicklunsglinien ihres Betriebssystems: STABLE und CURRENT. RELEASES erscheinen drei- bis viermal im Jahr und werden nach Erscheinen auf CDROM oder zum Download als ISO-Image beziehungsweise zur Installation via FTP angeboten. Diese FreeBSDVersion wird zu einem festgelegtem Zeitpunkt dem STABLE-Zweig entnommen, ausführlich in einem längerem RELEASE-Prozess getestet und Endanwendern zum Download bereitgestellt. In STABLE fließen wichtige Sicherheits-Patches und für stabil befundener Code aus dem CURRENT-Zweig ein. STABLE ist für alle Nutzer interessant, die mit einem aktuellen, stabilen FreeBSDSystem arbeiten möchten, ohne ein großes Risiko eingehen zu müs6 Ports-Collection: /usr/ports/net/cvsup CVSUP-Server stellen Sourcen FreeBSDs über das Internet bereit. 8 CVS ist ein System zur kontrollierten, verteilten Entwicklung insbesondere größerer Softwareprojekte. 9 Ein CVS-Repository ist unter anderem eine Datenbank mit Quelldateien. 7 3.8 CURRENT, STABLE und RELEASE 19 sen. In CURRENT spiegelt sich dagegen die aktuelle Entwicklung des UNIX-Derivats wieder, hier wird viel neuer Code ausprobiert und getestet, so dass nicht garantiert werden kann, dass sich jedes FreeBSD-CURRENT übersetzen lässt. Der CURRENT-Zweig ist daher hauptsächlich für Entwickler interessant, die sich aktiv am Projekt beteiligen möchten. Als Entwickler hat man zunächst die Möglichkeit, sich als Contributor in das Projekt einzubringen. Code-Teile und Dokumentationen wandern dann vorerst einmal zu den so genannten Committern, FreeBSD-Entwicklern mit Schreibberechtigung auf klar abgegrenzte Bereiche des Quelldateibaumes. Hat man als Contributor durch regelmäßige Beiträge auf sich aufmerksam gemacht, so wird man – oft von einem erfahrenen Committer – vielleicht gefragt, ob man nicht selbst als Committer tätig werden möchte. Hat man Spaß an der Sache gefunden und möchte mitmachen, so bekommt man einen Mentor zugewiesen, der einem hilfreich und überwachend zur Seite steht. Alle zwei Jahre werden neun Committer in das Core-Team FreeBSDs gewählt, welches das gesamte Projekt koordiniert und dessen zukünftige Richtung bestimmt. Ein zusätzliches RELEASEEngineering-Team begleitet und überwacht zudem aktiv die letzten Wochen bis zum Erscheinen eines neuen RELEASEs. Aufgrund dieses sehr strengen Freigabe-Modells bei der Entwicklung FreeBSDs wird eine hohe Software-Qualität erzielt. 20 3 Installation 4 4.1 Administration Allgemeines FreeBSD ist nahezu vollständig kompatibel zum POSIX-Standard1 , je nachdem welche Version des Standards man zu Grunde legt, das heißt, dass alle beliebten GNU-Tools, Shells wie Bash, Korn und Tcsh zur Verfügung stehen und nahezu alle UNIX-Programme, die sich an diesen Standard halten ohne Änderungen unter FreeBSD übersetzt werden können. Der Aufbau des Systems (Verzeichnisstruktur) unterscheidet sich darüber hinaus nicht gravierend von dem anderer UNIX-Systeme, so dass sich Administratoren anderer UNIX-Derivate aufgrund der Ähnlichkeit der Systeme schon nach kurzer Einarbeitungszeit schnell zurecht finden sollten. Im weiteren Verlauf dieses Kapitels wird daher hauptsächlich auf einige interessante Besonderheiten und zusätzlichen Funktionen FreeBSDs eingegangen. 4.2 Leistungsoptimierung Ziel des FreeBSD-Projektes ist, wie schon zu Anfang der Broschüre erwähnt, unter anderem die Bereitstellung eines UNIX-Systems, das auf eine hohe Performance und Benutzerfreundlichkeit getrimmt ist. Dabei gehen diesen Bestrebungen aber niemals so weit, dass das System auf Rechnern älterer Bauart nur schlecht oder gar nicht lauffähig ist oder sogar die Kompatibilität zu anderen Systemen wie etwa GNU/Linux leidet. Allgemein kann gesagt werden, dass viele der Untersysteme FreeBSDs wie die virtuelle Speicherverwaltung, der TCP/IP-Stack und weitere entweder selbstoptimierend sind oder in der Grundkonfiguration schon hervorragende Leistungen für die meisten Einsatzzwecke bieten. Auf Hochlast-Systemen wie zum Beispiel Webservern, die mehrere Terabyte an Daten pro Monat übertragen müssen, kann aber ein zusätzliches Tuning erforderlich sein. Viele Tuning-Maßnahmen lassen sich über zahlreiche Systemvariablen (man sysctl, über 500 vorhanden) oder mithilfe zusätzlicher Funktionen verwirklichen. So ermöglichen zum Beispiel Soft Updates eingesetzt in Kombination mit dem Berkeley Fast File System die Nutzung eines journaling-ähnlichen Dateisystem unter FreeBSD. Dabei können es Soft Updates mit aus dem GNU/LinuxBereich bekannten Dateisystemen wie ReiserFS in Punkte Performance und Sicherheit sehr gut aufnehmen. – Wer auch das letzte Quäntchen an Leistung aus seinem UNIX-System herauskitzeln 1 http://www.FreeBSD.org/projects/c99/index.html 21 22 4 Administration möchte, der sollte sich unter anderem die UNIX-Hilfeseiten zur Performance-Optimierung (man tuning) und die entsprechenden Seiten im Online-Handbuch FreeBSDs anschauen. 4.3 4.3.1 Sicherheit SSH, VPNs und Periodic Das Thema Sicherheit wird unter FreeBSD groß geschrieben: Schon in der Grundinstallation werden nur sehr wenig Dienste, die über das Netzwerk erreichbar sind, aktiviert. Mit dieser konservativen Abbildung 4.1: Portscan mit Nmap: Standardmäßig sind nur wenige Dienste aktiviert Grundeinstellung wird der großen Anzahl an in letzter Zeit bekannt gewordenen Sicherheitslücken in vielen beliebten Internet-Diensten Rechnung getragen. Einer der wenigen standardmäßig eingerichteten Dienste ist die SSH (Secure Shell), welche eine sichere, da verschlüsselte Fernwartung des Systems ermöglicht. In diesem Zusammenhang können zum Beispiel auch weitergehende Dienste wie VPNs 2 eingerichtet werden. Die dazu benötigte Software wird bereits mitgeliefert3 4 . Seit vor einigen Jahren die U.S.A. die Exportbeschränkungen für starke Kryptografie gelockert haben, können FreeBSD-User zudem auf nahezu alle gängigen Verschlüsselungsund damit verbundene Authentisierungsverfahren zurückgreifen. Darüber hinaus fördert ein Blick in die Kategorie Security der Ports-Collection eine große Auswahl verschiedener Software-Pakete 2 Abkürzung für Virtual Private Network, Internet-Dienste über einen sicheren Kanal über das Internet oder lokale Netzwerke nutzen 3 Ports-Collection: /usr/ports/security/openvpn/ 4 Ports-Collection: /usr/ports/security/vpnd/ 4.3 Sicherheit 23 zum Erkennen von Angriffen, Viren, Root-Kits5 und Sicherheitslücken wie zum Beispiel nessus, chkrootkit, nmap, snort und scanssh zu Tage. Zur weiteren Erhöhung der Sicherheit tragen im Wesentlichen auch Erleichterungen bei der Administration des Systems bei, die unter anderem über ein Scheduler-System (Periodic) realisiert werden. Wer sich als UNIX-Administrator nicht immer allmorgendlich durch ellenlange Logdateien kämpfen möchte, der sollte die entsprechenden Funktionen unter FreeBSD aktivieren und so verschiedene Routine-Aufgaben automatisch erledigen lassen. Hierzu gehört zum Beispiel auch der automatische, tägliche Mailversand wichtiger System-Informationen. 4.3.2 Script-Kiddies stoppen Zusätzlich zu dem sonst unter UNIX üblichem Rechtesystem verfügt FreeBSD über wirkungsvolle Mechanismen zum Beispiel zur Abwehr von Angreifern wie Script-Kiddies6 . Wird die Systemvariable Securelevel auf einen Wert >= 1 gesetzt, so werden System-weit sicherheitsrelevante Einschränkungen wirksam, die auch durch den Root-User nicht außer Kraft gesetzt werden können. Mit am interessantesten sind in diesem Zusammenhang sicherlich die Erweiterungen des Standarddateisystems UFS7 , die bei höheren Secureleveln greifen. Eine der Erweiterungen – schg (Immutable Flag) – kann zum Beispiel dazu verwendet werden, um sensible Verzeichnisbäume oder Dateien des Systems so zu schützen, dass selbst der Administrator (Root-User) diese Bereiche nicht löschen beziehungsweise modifizieren kann. Eine Änderung dieser Bereiche ist bei gesetztem Securelevel >= 1 dann nur im Single-User-Mode (im Server-Raum, am Rechner), also nicht über das Netz möglich. Hat nun ein Angreifer durch eine wie auch immer geartete Sicherheitslücke Root-Rechte erlangt, so ist sein oder ihr Bestreben weitere Software (Root-Kits, Trojaner) zu installieren trotzdem zum Scheitern verurteilt, da wichtige Systemdateien – etwa zur Schaffung einer Hintertür in das System – nicht ausgetauscht oder verändert werden können. Darüber hinaus ermöglicht die Anwendung weiterer Dateisystemerweiterungen, dass nur das System selbst zum Beispiel wichtige LogDateien ergänzen kann (Flag sappnd). Ein erfolgreicher Angreifer hat so nicht die Möglichkeit, Spuren seines Angriffs durch das Löschen entsprechender Einträge in den relevanten Dateien zu beseitigen. 5 Root-Kits werden nach dem Einbruch in ein Rechner-System vom Angreifer installiert, um unter anderem Hintertüren im System einzurichten und Angriffspuren zu verwischen. 6 Script-Kiddies sind Jugendliche und Schüler mit häufig zu viel Freizeit, die sich mit vorgefertigten Tools und Scripten in fremde Rechner-Systeme hacken. 7 UFS=UNIX filesystem, UNIX-Dateisystem 24 4 Administration Securelevel -1 Dauerhaft unsicherer Modus – das System sollte immer mit Securelevel=0 laufen; -1 ist zunächst der Standardwert. 0 Unsicherer Modus – Dateisystemerweiterungen können zurück genommen werden. Alle Geräte lassen sich entsprechend der vergebenen Rechte lesen und beschreiben. 1 Sicherer Modus – Dateisystemerweiterungen können nicht zurückgenommen, Loadable Kernel Modules nicht mehr geladen oder entladen werden; Festplatten für bereits gemountete Dateisysteme, /dev/mem, /dev/kmem lassen sich nicht mehr beschreiben. 2 Hochsicherer Modus – wie sicherer Modus, nur mit folgenden Erweiterungen: Festplatten lassen sich nur noch über mount (man mount) nutzen, egal, ob per mount eingebunden oder nicht; eine Neuformatierung der Festplatten etwa via newfs (man newfs) wird verhindert; Zeitänderungen größer als 1 Sekunde sind nicht mehr möglich, der Versuch wird mit der Meldung: Time adjustment clamped to +1 second“ ” gelogged. 3 Netzwerksicherheits-Modus – zusätzlich zu 2 lassen sich Regeln zur Filterung von IP-Paketen nicht mehr ändern (man ipfilter, man ipfirewall). Tabelle 4.1: Securelevel unter FreeBSD: Je höher, desto sicherer Abschließend sollte noch erwähnt werden, dass, wie so oft, mit Maßnahmen zur Erhöhung der Sicherheit eines Systems auch gewisse Einschränkungen verbunden sind. So greift zum Beispiel ein XServer in der Regel direkt auf die Hardware zu, bei höheren Secureleveln ist das allerdings nur bedingt möglich und der X-Server kann daher nicht gestartet werden. Zwar könnte der X-Server auch vor einer Erhöhung der Securelevel schon während des Boot-Vorgangs ausgeführt werden (grafisches Login via XDM/KDM8 ), nach einem Crash ließe sich dieser aber nicht wieder im laufenden Betrieb starten9 . Letztendlich sollte aber darüber nachgedacht werden, ob es überhaupt notwendig ist, höhere Securelevel im WorkstationBetrieb zu aktivieren, da ja in der Regel nur Netzdienste genutzt, aber nicht angeboten werden beziehungsweise in den seltensten Fällen mehrere Personen mit dem System arbeiten. Das Risiko von Angriffen kann daher im Workstation-Betrieb im Vergleich zum Serverbetrieb FreeBSDs als wesentlich geringer eingestuft werden. Darüber hinaus ist zu beachten, dass das Flag sappnd nur zum Schutz von Logdateien eingesetzt werden sollte, wenn diese nicht 8 9 X Display Manager, KDE Display Manager http://www.FreeBSD.org/doc/faq/x.html#RUNNING-X-SECURELEVELS 4.3 Sicherheit 25 zu stark anwachsen. Eine automatische Rotation von Logdateien im laufendem Betrieb durch das System ist nämlich bei gesetztem Flag zurzeit nicht möglich. 4.3.3 Dateisystemerweiterungen anwenden Das folgende Beispiel soll zeigen, wie wichtige Systemverzeichnisse mithilfe von Dateisystemerweiterungen geschützt werden können. Als Root-User muss zunächst das gewünschte Verzeichnis mit dem Immutable-Flag (schg) versehen werden, welches Änderungen jeglicher Art an Verzeichnissen und Dateien verhindert. Dabei werden alle Dateien und Verzeichnisse rekursiv unterhalb des ausgewählten Verzeichnisses mit diesem Flag markiert. $ su # chflags -R schg /sbin Mithilfe des Parameters o lassen sich Dateisystemerweiterungen im Zusammenhang mit dem Befehl ls anzeigen. # ls -laFo Anschließend muss das Securelevel auf einen Wert >= 1 (3 ist der Höchstwert) gesetzt werden, so dass die Dateisystemerweiterungen greifen: # sysctl -w kern.securelevel=3 Das Securelevel sollte sofort bei jedem Systemstart gesetzt werden. Ein Eintrag in die Datei /etc/sysctl.conf genügt. # echo kern.securelevel=3 >> /etc/sysctl.conf Das Löschen und Ändern des ausgewählten Verzeichnisbaumes ist nun selbst mit Root-Rechten nicht mehr möglich. # rm -rf /sbin rm: /sbin/adjkerntz: Operation not permitted rm: /sbin/atacontrol: Operation not permitted rm: /sbin/atm: Operation not permitted ... Erst der direkte Zugriff auf das System im Single-User-Mode (im Server-Raum, am Rechner) erlaubt wieder die Deaktivierung der Dateisystemerweiterungen. Letztendlich ist zu beachten, dass alle Verzeichnisse, in denen Dateien, die beim Start des Systems ausgeführt werden können wie /boot, /usr/local/etc/rc.d, /etc vor Modifikationen mithilfe des Flags schg geschützt werden müssen. Ein Angreifer mit RootRechten hätte sonst die Möglichkeit, eine Datei, die das Securelevel beim Start des Systems auf einen unsicheren Wert setzt 26 4 Administration (zum Beispiel -1), in die zuvor benannten Verzeichnisse einzubringen. Ein einfacher Neustart des Systems würde dann genügen, um den Schutz durch Securelevel und Dateisystemerweiterungen außer Kraft zu setzen. 4.4 4.4.1 Virtuelle Server – Die Jail()-Funktion Allgemeines Während in realen Jails Kriminelle zum Zwecke der Resozialisierung hinter Gitter gebracht werden, so lassen sich in virtuellen Gefängnissen unter FreeBSD einzelne Prozesse bis hin zu vollständigen Systemen einsperren. Jail bedient sich dazu unter anderem FreeBSD /bin /boot /dev /etc ... Hauptsystem IP: 132.176.218.10 Ssh2-Daemon Autarke Benutzerverwaltung ... /usr/jails/Jail-1/ → /bin /boot /dev /etc ... Jail-1 IP: 132.176.218.11 Ssh2-Daemon Autarke Benutzerverwaltung ... /usr/jails/Jail-2/ → /bin /boot /dev /etc ... Jail-2 IP: 132.176.218.12 Ssh2-Daemon Autarke Benutzerverwaltung ... /usr/jails/Jail-3/ → /bin /boot /dev /etc ... Jail-3 IP: 132.176.218.13 Ssh2-Daemon Autarke Benutzerverwaltung ... Tabelle 4.2: Eingesperrt: Jails unter FreeBSD werden einfach in einzelnen Verzeichnissen angelegt des Chroot-Mechanismuses, der es dem Administrator eines UNIXSystems erlaubt, Dienste aus Sicherheitsgründen in einen bestimmten Verzeichnissbaum innerhalb eines Systems einzusperren. Dieser Mechanismus ist nicht absolut sicher und mit entsprechenden Kenntnissen leicht zu umgehen. Jail beseitigt die SicherheitsProbleme Chroots und geht noch einen Schritt weiter und erlaubt das Anlegen mehrerer von einander unabhängiger Systeme, die über eine eigene IP-Adresse erreichbar sind, über eine eigene Benutzerverwaltung, eigene Tools und Softwarepakete, kurz gesagt über 4.4 Virtuelle Server – Die Jail()-Funktion 27 eine vollständige Systeminstallation verfügen. Die autarke Benutzerverwaltung der virtuellen Systeme erlaubt es sogar, dass Nutzer mit vollen Root-Rechten (Administrator-Rechten) innerhalb der virtuellen Server arbeiten können. Die Möglichkeiten der Jail()-Funktion sollen im Folgenden anhand dreier Anwendungsbeispiele aufgezeigt werden. 4.4.2 Jails im Einsatz bei Webhostern Viele Webhoster machen sich FreeBSDs Jail()-Funktion zu Nutze und bieten sogenannte virtuelle Root-Server kostengünstig an. Hierbei handelt es sich um zahlreiche Jail-Systeme untergebracht auf einem FreeBSD-Server. Kunden können einen virtuellen RootServer günstig mieten und dann Software wie Webserver und Datenbanken nach Belieben nutzen oder installieren. Für den Kunden hat das den Vorteil, dass bei maximaler Freiheit (Root-Rechte) kein eigener Server gemietet oder angeschafft werden muss und so die Hosting-Kosten gering ausfallen. Der Betreiber (Webhoster) des FreeBSD-Servers kann zudem bei den Wartungs- und Anschaffungskosten sparen, da diese nur für einen Server anfallen. 4.4.3 Jails zur Server-Konsolidierung Die Konsolidierung von Servern wird in der Regel vogenommen, um Kosten im Betrieb und in der Wartung von Servern zu senken. Sehr oft kommt es aber vor, dass Projekte zur Server-Konsolidierung scheitern, da sich Applikationen nicht ohne Weiteres auf einem Server zusammen fassen lassen: Installationen überschneiden sich, eine Applikationen erwartet eine ältere Version einer Systembibliothek als eine andere, Portnummern werden mehrfach verwendet und so weiter. Sollte die Konsolidierung dennoch gelingen, so steigt der notwendige Testaufwand vor dem Einspielen neuer Programmversionen und Bibliotheken einer Applikation erheblich an, da zuvor umfassend geprüft werden muss, ob nicht Inkompatibilitäten und Unverträglichkeiten mit anderen Applikationen auf dem System bestehen. Mithilfe von Jails lassen sich diese Probleme geschickt lösen, da jede Applikation in ihrem eigenen virtuellen System vollständig getrennt von anderen Applikationen untergebracht werden kann. 4.4.4 Jails am URZ – Aufbau einer Schulungsumgebung Auch am Universitätsrechenzentrum der FernUniversität Hagen werden Jails regelmäßig im Rahmen von Seminaren eingesetzt. Für das im vergangenen Juni angebotene Apache Webserver Seminar wurde zum Beispiel eine Schulungsumgebung unter FreeBSD auf einem Server aufgesetzt. Die Umgebung bot für jeden der Seminarteilnehmer einen virtuellen Server, welcher via SSH über das Netz angesprochen wer- 28 4 Administration den konnte. Jeder Seminarteilnehmer hatte so dank der Jail()Funktion die Möglichkeit, den Webserver unter Real-Bedingungen (Port 80/443, Installation unter /usr/local/apache, Root-Rechte) einzurichten. Ein Umdenken (Schulungsumgebung ↔ Produktionsbetrieb) war daher nicht erforderlich. Die Seminarteilnehmer konnten das Gelernte gleich am heimischen PC, in der Firma oder am Lehrgebiet umsetzen. Alternativ zur Jail-Lösung hätte jeder der 18 Schulungs-PCs auch mit einer GNU/Linux-Installation versehen werden können. Die Administration der Schulungsumgebung wäre dann aber ungleich aufwändiger gewesen. Eine defekte oder unbeabsichtigt zerstörte Schulungsumgebung hätte darüber hinaus nicht so leicht ersetzt werden können. Mithilfe der Jail-Lösung hätte sich ein defektes Jail dagegen leicht innerhalb von Sekunden durch ein Standby-Jail ersetzen lassen können, so dass der betroffene Schulungsteilnehmer keine wertvolle Übungszeit verloren hätte. 5 5.1 Verfügbare Software FreeBSD auf dem Desktop Nachdem hier recht viele Anwendungsmöglichkeiten FreeBSDs im Serverbereich genannt wurden, stellt sich sicher der ein oder andere Leser die Frage, ob sich das UNIX-Derivat mit dem Daemon als Maskottchen auch für anderen Zwecke als nur den Serverbetrieb eignet. Wie schaut es eigentlich mit der Unterstützung beliebter grafischer Benutzeroberflächen, Programmiersprachen, Multimediaund Office-Anwendungen aus? Nun, wie schon im Verlauf der Bro- Abbildung 5.1: KDE3: Auch unter unter FreeBSD heimisch schüre erwähnt, lassen sich über die Ports-Collection aktuell über 7.400 Softwarepakete optimiert für das eigene System installieren. Und hier ist wirklich für jeden Geschmack etwas dabei: Entwickler finden hier gängige, aber auch ausgefallenere Programmiersprachen wie C, C++, PHP, Perl, FORTRAN, Pascal, Ruby, Java1 , Python, Cobol. Hinzu kommen unter anderem alle bekannten GNU-Tools, Shells, Editoren und Pakete für LATEX, XSLT und XML. Darüber hinaus bietet FreeBSD standardmäßig auch den X-Server XFree86 in der Version 4.2.x zusammen mit zahlreichen Fenstermanagern und X-Anwendungen – KDE3 und Gnome2 sind natür1 Java unter FreeBSD: http://www.FreeBSD.org/java/newsflash.html 29 30 5 Verfügbare Software lich auch mit von der Partie. Aktuelle Office-Pakete wie zum Beispiel Koffice und OpenOffice.org mit Tabellenkalkulation, Präsentations- und Textverarbeitungs-Programm, Formeleditor und Unterstützung aller Office-Formate von Microsoft lassen sich ebenfalls installieren. Im Internet gesurft werden darf zum Beispiel mit dem Abbildung 5.2: Kostenlos, kompatibel und gut: Die vollständige Office-Suite OpenOffice.Org schickt sich an, Microsofts Office Konkurrenz zu machen Mozilla, Opera, Galeon oder dem Text-basierenden Browser Lynx – selbst der ist mit dabei. Musik-Freunde finden sicher am AudioPlayer Xmms gefallen, der seinem populärem Windows-Pendant WinAMP in Qualität und Funktionsumfang in nichts nachsteht. MP3-Sammlungen lassen sich zum Beispiel bequem mit KOnCD auf CD sichern. Wer sich im Internet über aktuell verfügbare Softwarepakete für FreeBSD informieren möchte, dem sei die Webseite Freshports.org ans Herz gelegt. Hier kann man unter anderem in zahlreichen Kategorien nach Software stöbern und die Updates der letzten Zeit einsehen. Darüber hinaus kann auch eine Liste der eigenen, installierten Software-Pakete zur Webseite Freshports.org hochgeladen werden. Wird nun eines der Pakete aktualisiert, so erhält man automatisch eine Benachrichtigung per E-Mail zugestellt. 5.2 Kompatibel zu GNU/Linux Zu guter Letzt sollte noch erwähnt werden, dass sich nahezu alle GNU/Linux-Programme dank eines hervorragenden GNU/LinuxEmulators – enthält ein komplettes RedHat 7.2-GNU/Linux – auch 5.2 Kompatibel zu GNU/Linux 31 unter FreeBSD ohne Performance-Verluste nutzen lassen. Tests am Lehrgebiet Allgemeine und Theoretische Elektrotechnik der FernUniversität Hagen haben sogar ergeben, dass manche Programme wie zum Beispiel Matlab (Mathematik-Programm) unter FreeBSD um knapp 30 Prozent schneller in der GNU/Linux-Emulation ablaufen als unter GNU/Linux selbst. Getestet wurde unter FreeBSD 4.3 und S.u.S.E. 7.2 auf ein und demselben Rechner, wobei von beiden Systemen eine Grundinstallation eingerichtet und unnötige Dienste deaktiviert wurden. Abbildung 5.3: Multimedia-Station: Der Audio-Player Xmms unter KDE3 und FreeBSD 32 5 Verfügbare Software 6 Die Zukunft FreeBSDs Für die Zukunft hält die Entwicklergemeinde einige interessante Neuerungen parat, die teilweise schon in den nächsten Monaten im RELEASE/STABLE-Zweig in Produktionsumgebungen genutzt werden können oder spätestens mit Erscheinen von FreeBSD 5.0 zum Jahresende der Allgemeinheit zur Verfügung stehen werden. So ist zum Beispiel eine Neuentwicklung der Jail()-Funktion mit verschiedenen Erweiterungen und optimierten Management-Möglichkeiten namens JailNG (NG=Next Generation) geplant. Ebenfalls interessant ist ein Projekt, das sich der Verbesserung des Symmetric-Multiprocessing (SMP) unter FreeBSD angenommen hat. SMPng1 soll unter anderem sehr gut skalieren und mehr Performance bieten. Die Ergebnisse des Projektes sollen mit Erscheinen der 5er-Version FreeBSDs Einzug in Produktionssysteme halten. Ein weiteres vielversprechendes Projekt ist sicher TrustedBSD2 , deren Entwickler sich mit der Integration fein granulierter Zugriffskontrollen (MAC/ACL/FGC) in FreeBSD beschäftigen. Wer sich regelmäßig über neue Entwicklungen informieren möchte, der sollte sich den alle zwei bis drei Monate erscheinenden StatusReport auf der Webseite FreeBSDs zu Gemüte führen 3 . Eine Liste4 aktueller Projekte rund um FreeBSD ist ebenfalls auf der Webseite verfügbar. 1 http://www.FreeBSD.org/smp/ http://www.TrustedBSD.org 3 http://www.FreeBSD.org/news/status/status.html 4 http://www.FreeBSD.org/projects/ 2 33 34 6 Die Zukunft FreeBSDs 7 Fazit Noch bietet FreeBSD nicht die von einigen Linux-Distributionen bekannten, Windows-ähnlichen Oberflächen zur Einrichtung des Systems – viele neue User mag das zunächst abschrecken. Aber wenn man sich erst einmal ein wenig mit dem System beschäftigt hat, wird man diese Tatsache eher als Vorteil, denn als Nachteil empfinden. FreeBSD-User wissen oft eher was zu tun ist, wenn es mal im System kracht, woran gedreht werden muss, damit es wieder rund läuft. Hier ist zwangsläufig ein Blick unter die Haube des Systems erforderlich – und da lernt man bei FreeBSD am Original, wie die Historie zeigt. Überhaupt liegen die Stärken FreeBSDs eher im Verborgenen: Securelevel, Dateisystemflags, Jails, eine einfache Administration – diese und noch weitere Punkte stellen einen echten Mehrwert im Serverbetrieb gegenüber vielen anderen UNIX-Derivaten dar. Aber auch dem Desktop hat sich FreeBSD nicht verschlossen, wie die große Anzahl der hierfür erhältlichen Softwarepakete einschließlich des Quasi-Standards KDE zeigt. – Ob auf dem Server oder Desktop – FreeBSD ist allemal einen Versuch wert! 35 36 7 Fazit 8 8.1 Weiterführende Links und Quellen Verfügbarkeit FreeBSD kann über die Webseite http://www.FreeBSD.org kostenlos bezogen werden. Mitarbeiter der FernUniversität haben darüber hinaus noch die Möglichkeit, FreeBSD in der sechs CDs umfassenden Lehmanns CD-ROM Edition mit deutschen Hilfetexten über den Dispatch – [email protected] – des Universitätsrechenzentrums – wie auch bei Linux üblich ohne Support des URZs – ebenfalls kostenlos anzufordern. 8.2 Projekt http://www.FreeBSD.org Download des Betriebssystems, umfangreiche Online-Dokumentationen, Man-Pages, verschiedene Suchmaschinen, FAQs, allgemeine Projekt-Infos (RELEASES, News, Presse, Entwickler, The FreeBSD Gallery, Sicherheit) 8.3 8.3.1 Dokumentationen und Literatur Bücher FreeBSD Unleashed (Mit CD-ROM) von Michael Urban, Brian Tiemann Taschenbuch – 1024 Seiten – Sams Erscheinungsdatum: 15. Januar 2002 ISBN: 0672322064 Absolute BSD: The Ultimate Guide to FreeBSD von Michael Lucas Taschenbuch – 612 Seiten – No Starch Press Erscheinungsdatum: Juli 2002 ISBN: 1886411743 The FreeBSD Corporate Networker’s Guide von Ted Mittelstaedt Taschenbuch – 432 Seiten – Addison Wesley Erscheinungsdatum: 28 Dezember 2000 ISBN: 0201704811 37 38 8.3.2 8 Weiterführende Links und Quellen Hardwareunterstützung http://www.FreeBSD.org/platforms/ Von FreeBSD unterstützte Plattformen http://www.FreeBSD.org/releases/4.6R/hardware-i386.html Aktuell unterstützte Hardware 8.3.3 Installation und Upgrade des Systems http://www.freebsdmirrors.org/FBSDsites.php3 Datenbank mit Mirror-Sites zu FreeBSD (ISOs, CVSUP-Server, FTP-Server) http://www.FreeBSD.org/doc/handbook/ Das Online-Handbuch FreeBSDs http://www.FreeBSD.org/doc/handbook/install-steps.html Installation des Systems in mehreren Schritten erklärt http://www.FreeBSD.org/doc/handbook/cutting-edge.html Anleitung zum Upgrade des Systems http://www.FreeBSD.org/doc/handbook/kernelconfig.html How-To zur Konfiguration und Übersetzung des Kernels 8.3.4 Sicherheit http://www.FreeBSD.org/security/security.html Allgemeine Informationen zum Thema Sicherheit unter FreeBSD http://draenor.org/securebsd/ Marc Silver <[email protected]> A basic guide to securing FreeBSD 4.x-STABLE Sehr gutes Tutorial zur sicheren Installation FreeBSDs. 8.3.5 Tuning http://www.FreeBSD.org/doc/handbook/configtuning-sysctl.html Einführung: Leistungsoptimierung über System-Variablen (sysctl) http://www.FreeBSD.org/doc/handbook/configtuning-disk.html Optimierung von Festplatten http://www.FreeBSD.org/doc/handbook/configtuning-kernellimits.html Kernel-Optimierung 8.3.6 Jails http://docs.FreeBSD.org/44doc/papers/jail/jail.html Poul-Henning Kamp <[email protected]> Robert N. M. Watson <[email protected]> The FreeBSD Project Jails: Confining the omnipotent root 8.4 Software und Support 39 http://www.FreeBSD.org/doc/en/books/developers-handbook/jail.html Technische Informationen zum Thema Jails und Infos zu JailNG http://jailnotes.cg.nu/ Henk Wevers <[email protected]> How to make a FreeBSD 4.x jail working Allgemeine Infos zu Jails und verschiedene Scripte zum Management von Jails 8.4 8.4.1 Software und Support Merchandising http://www.freebsdmall.com FreeBSD-CDs/DVDs, Bücher, T-Shirts, Stofftiere, Tassen, BoxerShorts, Jacken, Mouse-Pads http://www.lob.de FreeBSD-CDs (mit deutschen Hilfe-Texten) und Bücher bei der Buchhandlung Lehmanns bestellen 8.4.2 Software http://freshports.org Datenbank mit aktuellen Infos zu Softwarepaketen aus allen Bereichen (sog. Ports, zurzeit über 7.400) vorbereitet zur Übersetzung und Installation unter FreeBSD http://www.FreeBSD.org/ports/ Datenbank aller verfügbaren Softwarepakete im Port-Format 8.4.3 Newsgruppen, Foren und Mailinglisten http://www.google.com/bsd Mit der Suchmaschine Google nach *BSD-relevanten Webseiten suchen comp.unix.bsd.freebsd.misc Die beliebteste Newsgruppe für alle Fragen zum Thema FreeBSD comp.unix.bsd.freebsd.announce News zu neuen FreeBSD-Releases werden hier gepostet de.comp.os.unix.bsd Deutsche Newsgruppe zum Thema *BSD http://stefan3.forumprovider.com/ Allgemeines Forum zum Thema FreeBSD http://www.bsdforums.org Beliebte News- und Forenseite zum Thema *BSD 40 8 Weiterführende Links und Quellen http://www.de.FreeBSD.org/de/mailinglists.html Übersichts-Seite zu deutschsprachigen Mailinglisten zum Thema FreeBSD 8.4.4 Consulting http://innominate.de Innominate Security Technologies AG http://www.interface-business.de/ interface:business gmbh 8.4.5 Tipps, Tricks und Tutorials http://gwdu60.gwdg.de/fststeps.html Dr. Konrad Heuer: FreeBSD – die ersten Schritte (Juni/2001) http://www.onlamp.com/pub/ct/15 FreeBSD Basic: Sammlung von Tutorials und Grundlagen-Artikeln http://www.onlamp.com/pub/ct/13 Big Scary Daemons: Tutorials, Tipps und Tricks, weiterführende Artikel http://www.freebsddiary.org Tipps und Tricks, Tutorials zu FreeBSD http://www.defcon1.org News, Tutorials und Artikel zu *BSD http://lantech.geekvenue.net/chucktips/ News, Tutorials und Artikel zu FreeBSD http://www.bugat.at News und Tutorials zu *BSD in deutscher Sprache 8.5 8.5.1 Allgemeine Informationen Webhosting http://ispserver.com/de/technology/index.html Virtuelle FreeBSD-Server bei ISPserver (ISPsystem Holding Luxemburg) http://www.goldvision.de/de/de/microrack.html Virtuelle FreeBSD-Server bei Gold Vision Communications Hiller, Penugaow GbR http://home.verio.de/products/vps/query4vps.php?os=free Virtuelle FreeBSD-Server bei Verio Deutschland http://www.atvirtual.net/server/unix/ ATvirtual.NET Pumpernig & Fischer OEG 8.5 Allgemeine Informationen 41 http://web-hosting.spry.com Virtuelle FreeBSD-Server bei Spry Hosting, Inc. 8.5.2 News http://bsdtoday.com Aktuelle News aus der Welt von *BSD http://bsdvault.net News und Infos zu *BSD http://slashdot.org/bsd/ News und Infos aus dem *BSD-Bereich auf der News-Seite Slashdot http://daily.daemonnews.org Aktuelle News aus dem *BSD-Bereich http://www.osnews.com News zu Betriebsystemen, häufig auch zu *BSD http://kerneltrap.org Aktuelle News zu FreeBSD- und Linux-Kerneln 8.5.3 Verschiedene Nutzer FreeBSDs http://gwdu60.gwdg.de Dr. Konrad Heuer: FreeBSD an der Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen, kurze Link-Sammlung http://www.uni-goettingen.de Homepage der Universität Göttigen http://et-online.fernuni-hagen.de Homepage des Fachbereiches Elektrotechnik und Informationstechnik, Zugang zum System ET-Online (Online-Studium) http://ate.fernuni-hagen.de Webpräsenz des Lehrgebietes Allgemeine und Theoretische Elektrotechnik des Fachbereiches Elektrotechnik und Informationstechnik http://www.orange.co.uk Orange ist eines der weltweit größten Unternehmen im Bereich mobiler Kommunikation http://docs.yahoo.com/info/misc/contributors.html Yahoo!, eine der beliebtesten Webseiten der Welt, nutzt hauptsächlich FreeBSD als Betriebssystem für Ihre Webserver. http://apache.org Webseite der Apache Software Foundation, hier hat unter anderem der Webserver Apache seine Heimat 42 8 Weiterführende Links und Quellen http://bezip.de BeZip.de ist das Europa-weit größte Archiv mit Shareware, Freeware und Demos für das alternative Betriebssystem BeOS. 8.6 8.6.1 Unix, Linux und Open-Source UNIX-Derivate http://www.caldera.com Herausgeber einer Linux-Distribution, Eigentümer von SCO OpenServerUNIX http://www.bsdi.com Berkeley Software Design, Incorporated ist der Hersteller des UNIXDerivats BSD/386 http://www.netbsd.org Das UNIX-Derivat NetBSD unterstützt sehr viele Plattformen http://www.openbsd.org Die Entwickler von OpenBSD legen besonders viel Wert auf Sicherheit http://www.darwin.org Apples Darwin entstammt ebenfalls dem BSD-Lager und bildete die Grundlage von Mac OS X http://www.apple.com/de/macosx/ Heimat von Apples Mac OS X http://www.ibm.com Hersteller des UNIX-Derivats AIX http://www.compaq.com Compaq vertreibt das UNIX-Derivat Compaq True64 UNIX http://www.hp.com HP/UX wird von Hewlett Packard entwickelt http://www.sgi.com Das UNIX-Derivat IRIX stammt von Silicon Graphics http://www.sun.com Sun vertreibt das UNIX-Derivat Solaris/SunOS http://www.cray.com Der Supercomputer-Hersteller Cray hat das UNIX-Derivat UNICOS entwickelt 8.6.2 Linux-Distributionen http://www.redhat.com Homepage der Linux-Distribution RedHats 8.6 Unix, Linux und Open-Source 43 http://www.suse.de Firmen-Seite der Linux-Distribution von S.u.S.E. http://www.gentoo.org Projekt-Seite der Linux-Distribution namens Gentoo http://www.kernel.org Stabile- und Entwicklerkernel des Linux-Projektes können hier geladen werden 8.6.3 Weitere Open-Source-Projekte http://www.xfree86.org Projekt-Seite des X-Servers XFree86 http://www.openoffice.org Heimat der Office-Suite OpenOffice.org http://www.kde.org Homepage des UNIX-Desktops KDE 44 8 Weiterführende Links und Quellen 9 Danksagung Zu guter Letzt möchte ich mich bei meinen Kollegen Heiko und Thorsten für’s Korrekturlesen bedanken und bei Henning und Thomas für die zahlreichen Tipps und Tricks zu LATEX. Mein Dank geht auch an die Mitglieder der Newsgruppe de.comp.os.unix.bsd für ihre konstruktive Kritik. 45
Similar documents
Quenya - Kurs von Thorsten Renk
allerdings auch um seinetwillen liebgewonnen.). Nun, eine Sprache so aufzuschreiben, daß man sie anderen erklären kann, ist wohl das beste Training, um die Sprache tatsächlich gut zu lernen (und ...
More information