fernuni hagen - freebsd - the power to serve

Upload: dong-wook-lee

Post on 21-Mar-2016

23 views

Category:

Documents


0 download

TRANSCRIPT

  • B/005/0208

    FreeBSD The Power To Serve

    Universittsrechenzentrum

    Sebastian BennerAB Virtuelle Uni-Systeme

    Eine kurze Einfhrung in das UNIX-Derivat fr x86- undAlpha-Prozessoren

    FernUniversitt, August 2002

  • Impressum

    Autor:

    Sebastian Benner

    E-Mail: [email protected]

    UniversitatsrechenzentrumArbeitsbereich Virtuelle Uni-SystemeFernUniversitat HagenUniversitatsstr. 21Telefon: +49 2331 987-4027

    D - 58084 Hagen

    Allgemeines:

    Alle in der Broschure genannten Markennamen sind in der Regel eingetrageneWarenzeichen der entsprechenden Hersteller und Organisationen.

    Texte konnen der Broschure zur Verwendung fur nicht-kommerzielle Zweckeunter Nennung des Autors und Copyright-Inhabers entnommen werden. Diesgilt auch fur alle Grafiken und Fotos, solange kein anderes Copyright vorliegt.

    Download der Broschure im PDF-Format:ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b0050208.pdf

    Neuere Versionen der Broschure finden sich unter der URL:http://www.fernuni-hagen.de/URZ/urzbib/

    Mitarbeiter und Studierende der FernUniversitat konnen daruber hinaus dieBroschure in gedruckter Form uber den Dispatch [email protected] des Universitatsrechenzentrums beziehen.

    Titelbild: BSD Daemon, c1988 Marshall Kirk McKusick

  • Inhaltsverzeichnis

    1 Einleitung 7

    2 Historie 9

    2.1 Wie alles anfing 1965 . . . . . . . . . . . . . . . . . 9

    2.2 Die Berkeley Software Distribution 1973 . . . . . . 10

    2.3 Grundung des FreeBSD-Projekts 1993 . . . . . . . 10

    2.4 Der Rechtsstreit 1992 - 1994 . . . . . . . . . . . . . 10

    2.5 FreeBSD und Apple 1999 . . . . . . . . . . . . . . 11

    3 Installation 13

    3.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . 13

    3.2 Sysinstall . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.3 Hardwareunterstutzung . . . . . . . . . . . . . . . . 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.3.1 SSH, VPNs und Periodic . . . . . . . . . . . 22

    4.3.2 Script-Kiddies stoppen . . . . . . . . . . . . . 23

    4.3.3 Dateisystemerweiterungen anwenden . . . . . 25

    4.4 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 Schulungsum-gebung . . . . . . . . . . . . . . . . . . . . . 27

    5 Verfugbare 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 Weiterfuhrende Links und Quellen 37

    8.1 Verfugbarkeit . . . . . . . . . . . . . . . . . . . . . . 37

    8.2 Projekt . . . . . . . . . . . . . . . . . . . . . . . . . 37

    8.3 Dokumentationen und Literatur . . . . . . . . . . . . 37

    8.3.1 Bucher . . . . . . . . . . . . . . . . . . . . . . 37

    8.3.2 Hardwareunterstutzung . . . . . . . . . . . . 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

    8.4 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

    8.5 Allgemeine Informationen . . . . . . . . . . . . . . . 40

    8.5.1 Webhosting . . . . . . . . . . . . . . . . . . . 40

    8.5.2 News . . . . . . . . . . . . . . . . . . . . . . . 41

    8.5.3 Verschiedene Nutzer FreeBSDs . . . . . . . . 41

    8.6 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 weite-res alternatives Betriebssystem aus dem Open-Source-Umfeld einengroeren Marktanteil im Bereich der UNIX-Server sichern konnen FreeBSD. Obwohl weniger bekannt als Linux und ohne medien-wirksamen Anfuhrer wie Linus Torvalds

    1, kommt das FreeBSD-Projekt in letzter Zeit immer mehr in Schwung. Mehrere MillionenNutzer wie Internet Service Provider, Universitaten und UNIX-Freunde am heimischen PC vertrauen inzwischen auf die hervorra-gende Performance und Stabilitat dieses UNIX-Derivats.

    Die folgende Broschure soll Interessierten eine kurze Einfuhrung indas Betriebssystem mit dem Daemon als Maskottchen geben unddaruber hinaus auch einige Grunde dafur liefern, warum geradeFreeBSD bei einer der groten Webseiten der Welt Yahoo! Monat fur Monat verantwortlich fur die Auslieferung von uber 1,6Milliarden Webseiten an uber 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 Historie

    2.1 Wie alles anfing 1965

    Selbst wer sich bisher nur recht beilaufig mit der Entstehungsge-schichte der verschiedenen UNIX-Derivate beschaftigt hat, wirdden evolutionaren Ursprung der Entwicklung sicher in Amerikaausgemacht haben konnen. Auch FreeBSDs Wurzeln liegen inden U.S.A.. Verschiedene Firmen beteiligten sich damals Mitte dersechziger Jahre des vorherigen Jahrhunderts an der Entwicklungeines neuartigen Betriebssystems namens MULTICS (MultiplexedInformation and Computing Service), welches vielen Benutzerngleichzeitig Zugang zu einem Computersystem bieten sollte. Eineder beteiligten Firmen AT&T zog sich Ende der sechziger Jahreaufgrund der schleppenden Entwicklung aus dem Projekt zuruck.

    Abbildung 2.1: Dennis Ritchie (stehend) und Ken Thompson be-ginnen mit der Portierung von UNIX auf einen PDP-11 via zweierTeletype 33 Terminals (Foto: Lucent Technologies)

    Daraufhin entwickelten zwei Mitarbeiter der AT&T Bell Labora-tories Ken Thompson und Dennis Ritchie ein an MULTICSorientiertes und in der Programmiersprache Assembler geschriebe-nes, erheblich kleineres System fur einen PDP-7-Rechner des Her-stellers Digital Equipment, welches sie scherzhaft, in Anlehnung an

    9

  • 10 2 Historie

    den Namen des Originals, UNIX1 nannten. UNIX wurde dann zu-nachst auf einen starkeren Rechner PDP-11 portiert und kurzeZeit spater 1973 fast vollstandig in C umgeschrieben und anverschiedene Universitaten verteilt.

    "...the number of UNIX installations has grown to 10,with more expected..."Dennis Ritchie und Ken Thompson, Juni 1972

    Zu den Universitaten, die schon damals mit Unix in Beruhrungkamen, gehorte auch die University of California, Berkeley. DerenComputer Science Research Group (CSRG) bildete einen Zweig,neben AT&T, der von nun an in verschiedene Richtungen streben-den UNIX-Entwicklung.

    2.2 Die Berkeley Software Distribution 1973

    Die von der CSRG herausgegebenen UNIX-Distributionen wurdenals BSD-Unix (Berkeley Software Distribution) bezeichnet, derenVersion 4.4BSD-Lite seit 1994 frei verfugbar ist. Die Entwicklungbei AT&T endete 1988 mit dem Erscheinen des UNIX SystemV Release 4 (SVR4), in dem die wichtigsten Eigenschaften von4.3BSD enthalten waren. Ein wenig spater (1993) verkaufte AT&Tihr UNIX-System an Novell und Novell zwei Jahre spater an TheSanta Cruz Operation. Die SCO wurde dann zum Anfang des neu-en Jahrtausends (2001) an den aktuellen Eigentumer des aus SVR4hervorgegangenen SCO OpenServer-UNIX , den Linux-DistributorCaldera, weiterverkauft.

    2.3 Grundung des FreeBSD-Projekts 1993

    Das FreeBSD-Projekt selbst wurde 1993 gegrundet. Grundlage vonFreeBSD bildeten 386BSD einem direkten Nachfolger von 4.3BSDNET/2 und Teile aus 4.4BSD Lite. Ziel des FreeBSD-Projektesist die Entwicklung eines freien UNIX-Systems mit den Schwer-punkten Benutzerfreundlichkeit, Performance und hohe Kompati-bilitat zu anderen Systemen. Etwa zur gleichen Zeit wurden weitereProjekte als Abkommlinge der Berkeley Software Distribution insLeben gerufen. Mit BSD/386 (BSDI, Februar 1992) entstand ei-ne kommerzielle Variante BSDs, das NetBSD-Projekt (April 1993)legt groen Wert auf Portabilitat des Systems und OpenBSD (Ok-tober 1995) auf Sicherheit.

    2.4 Der Rechtsstreit 1992 - 1994

    Die Entwicklung der UNIX-Derivate BSDI, FreeBSD und NetBSDbasierend auf der Berkeley Software Distribution wurde von einem

    1UNIX ist ein eingetragenes Warenzeichen von The Open Group in den Ver-einigten Staaten und anderen Landern.

  • 2.5 FreeBSD und Apple 1999 11

    langem Rechtsstreit zwischen AT&T auf der einen Seite und Ber-keley Software Design, Incorporated (BSDI) und der University ofCalifornia, Berkeley auf der anderen uberschattet. BSDI beganndamals im Januar 1992 mit der Auslieferung einer besonders guns-tigen UNIX-Distribution zu 995 Dollar ein Bruchteil dessen, wasein Spin-Off AT&Ts Unix System Laboratories (USL) fur ihrUNIX basierend auf System V verlangte. Es kam, was kommenmusste: USL sah sich in Bedrangnis und verklagte kurzerhand BS-DI unter anderem wegen Verletzung des Urheberrechts und Preis-gabe von Geschaftsgeheimnissen. Kurz danach trat die Universityof California, Berkeley ebenfalls in den Rechtsstreit ein. Der Grundwar eine Gegenklage der UCB, die der USL eine Verletzung desBSD-Copyrights Nicht-Nennung des Copyright Holders im BSD-Code System Vs zum Vorwurf machte. Nach langem Hin und Herkam es dann endlich im Januar 1994 zu einer Einigung zwischenden beiden Parteien. So mussten zum Beispiel einige Anderungenan den 18.000 Quelldateien des Net/2 vorgenommen werden, dieim Juni 1994 letztendlich zum Erscheinen des freien UNIX-Systems4.4BSD Lite fuhrten. Dies hatte zur Folge, dass FreeBSD, NetBSDund BSDI Teile Ihrer Code-Basis anpassen, das heit von Net/2auf 4.4BSD-Lite umstellen mussten.

    2.5 FreeBSD und Apple 1999

    Im Marz 1999 erschien Darwin, welches sich aus einem Mach-Kernel (Mach 3.0) und einem BSD (4.4 BSD-Lite2) zusammen-setzte und die Grundlage fur Apples kommerzielles Mac OS X bil-dete. In diesem Zusammenhang spielt auch FreeBSD eine groereRolle: Jordan Hubbard, lange Jahre Mitglied des FreeBSD Core-Teams, ehemaliger RELEASE-Engineer und einer der Mitgrunderdes Projektes, arbeitet seit Juni 2001 fur Apple die aktuelle Versi-on von Mac OS X basiert zu einem Teil auf FreeBSD 4.4-4.5. So istFreeBSD seit Mac OS X auch besonders stark im Desktop-Bereichvertreten Apples Verkaufszahlen zur Folge sogar mehr als dreimalso stark wie GNU/Linux zurzeit2. Daruber hinaus existieren heuteviele kommerzielle Unix-Derivate wie AIX, Compaq Tru64 UNIX,HP/UX, IRIX, SCO UNIX, Solaris/SunOS und UNICOS. Hinzukommen Unix-ahnliche System wie zum Beispiel GNU/Linux.

    Zum Abschluss dieses kurzen Ruckblicks in die Vergangenheit vonUNIX, sollte noch festgehalten werden, dass sich in heutigen UNIX-Derivaten Teile beider ursprunglichen Entwicklungsstrange wieder-finden, 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, welcherzumindest die popularsten UNIX-Derivate berucksichtigt, kann vonEric Levenezs Webseite (http://www.levenez.com/unix/) in ver-schiedenen Formaten geladen werden.

  • 3 Installation

    3.1 Allgemeines

    Trotz Ahnlichkeiten in Aufbau und Organisation der verschiedenenUNIX-Derivate, unterscheiden sich die Systeme bei der Installationdoch gravierend. Jeder Hersteller kocht hier sein eigenes Suppchen.So bieten Linux-Distributionen wie Mandrake und S.u.S.E. kom-fortable, grafische Installations-Routinen, die auch von Windows-Usern mit geringen Vorkenntnissen sicher gehandhabt werden kon-nen. Vergleichbare Tools zum Setup des Systems finden sich auchbei anderen GNU/Linux-Distributionen, *BSDs und kommerziel-len UNIX-Derivaten je nach Produkt mal mehr oder weniger kom-fortabel, aber in der Regel leider immer inkompatibel zur Konkur-renz. FreeBSD geht bei der Installation einen Mittelweg zwischeneiner spartanischen, rein Text-basierenden Installation des Systemsund einer Windows-orientierten Installation mit viel Maus-Einsatz.

    3.2 Sysinstall

    Das Standard-Installationsprogramm FreeBSDs sysinstall ver-fugt uber ein Menusystem, das an grafische Oberflachen aus derDOS-Zeit erinnert. Windows-verwohnten Usern mag dies zunachst

    Abbildung 3.1: Installation via Sysinstall: Einfache Grafik, aberfunktionell und durchdacht

    wie ein Schritt zuruck in die Steinzeit anmuten, ganz so schlimm

    13

  • 14 3 Installation

    ist es bei naherem Hinsehen dann aber doch nicht: Jeder Menu-Punkt ist gut erklart und die Menustruktur schlussig und durch-dacht. Eine Online-Hilfe ist nahezu jederzeit verfugbar und dankdes umfangreichen Handbuchs mitsamt F.A.Q.s, Mailinglisten aufder Projekt-Seite und Newsgruppen sollten sich auch kniige Fra-gen schnell beantworten lassen. Am besten halt man sich zur Instal-lation das Online-Handbuch auf einem weiteren PC parat, drucktes sich zuvor aus oder bestellt das Handbuch zum ansonsten jakostenlosen System dazu.

    Die Installation kann nun wahlweise per bootbarer CD-ROM/DVDoder mithilfe zweier Disketten1 gestartet werden. Zuvor sollte mansich aber daruber im Klaren sein, welche Hardware-Komponentenim System vorhanden sind. Wie nahezu jedes moderne Betriebssys-tem verfugt zwar auch FreeBSD inzwischen uber eine automatischeHardware-Erkennung, die erfahrungsgema auch sehr zuverlassigarbeitet, aber auch in seltenen Fallen versagen kann. Da ist es hilf-reich, wenn man sich ein wenig mit seiner Hardware auskennt, umzum Beispiel weitere Treiber laden zu konnen.

    3.3 Hardwareunterstutzung

    Mittlerweile wird ein breites Spektrum an Hardwarekomponen-ten unterstutzt, so dass FreeBSD nicht nur auf Systemen alte-rer Bauart, sondern auch auf einem aktuellen Supermarkt-PC mitUSB-Schnittstellen, OnBoard-Sound- und Grafik-Karten, EIDE-Raid oder einem Server mit mehreren Prozessoren einschlielichSCSI-Raid und Gigabit-Ethernet-Karte lauffahig ist. Dabei kanndas UNIX-Derivat nicht nur auf PCs mit x86-Prozessoren, sondernauch auf Systemen mit Alpha-CPUs eingesetzt werden. Portierun-gen auf weitere Plattformen sind in Arbeit.

    Eine vollstandige Liste der unterstutzten Hardware kann auf derWebseite des Projektes eingesehen werden.

    3.4 FreeBSD parallel zu Windows

    Mochte man FreeBSD erst einmal testen und parallel zu einer be-stehende Windows-Installation einrichten, so lohnt sich ein Blickin das Handbuch. Die Vorgehensweise bei dieser Installations-Artwird hier genau anhand zahlreicher Bildschirmfotos und Illustratio-nen erklart. FreeBSD verfugt zudem uber einen integrierten Boot-manager, so dass beim Start des Rechners bequem zwischen denverschiedenen Betriebssystemen gewahlt werden kann.

    1Weitere benotigte Dateien und Pakete werden bei dieser Installationsart spa-ter einfach per FTP aus dem Internet nachgeladen, der Download mehrererhundert Megabyte groer ISO-Images kann daher wegfallen.

  • 3.5 Pakete, Ports-Collection und Installationsmedien 15

    3.5 Pakete, Ports-Collection und Installationsmedien

    Die weiteren Installationsschritte durften auch Windows-Nutzernbekannt vorkommen: Nach einer Grundkonfiguration des Systemsbietet das UNIX-Derivat die Moglichkeit, wie viele andere Syste-me auch, je nach Einsatzzweck verschiedene Paketsammlungen zuinstallieren. In diesem Zusammenhang hat sich die Installation des

    Abbildung 3.2: Alles oder nur das Notigste: Paketsammlungen aus-wahlen

    Minimalsystems bewahrt, das nach und nach um benotigte Pake-te erganzt wird. So gelangt man schnell zu einer optimal auf denjeweiligen Verwendungszweck abgestimmten FreeBSD-Installation.Abgeschlossen wird die Installation in der Regel mit der Auswahldes Installationsmedium. Hier hat man die Qual der Wahl: Gewahltwerden darf zwischen CD/DVD, FTP, DOS-Dateisystem, NFS, Ta-pe und Floppy Hauptsache FreeBSD findet dort letztendlich allezur Installation benotigten Dateien.

    Ist das System einmal komplett eingerichtet und installiert, somochte man naturlich hin und wieder neue Software einspielen oderentfernen. Wie so oft fuhren hier mehrere Wege zum Ziel: FreeBSD-User konnen neue Software-Pakete in Form von sofort lauffahigenBinarpaketen einspielen oder uber die sogenannte Ports-Collectionautomatisch aus dem Internet laden und ubersetzen. Die Ports-Collection bietet zurzeit uber 7.400 aktuelle Softwarepakete ausallen Bereichen, die jeweils uber zwei Befehle

    make install und make clean

    installiert werden konnen. Auf dem eigenen System muss dazu le-diglich ein groer Verzeichnissbaum (einfach die Ports-Collectionbei der System-Installation mit einrichten) mit den notwendigenInfo-Dateien fur die einzelnen Softwarepakete aufgespielt werden.

  • 16 3 Installation

    Diese Info-Dateien enthalten unter anderem einen Verweis auf daszu ubersetzende Archiv mit Quelldateien (lokal oder im Internet)und noch eventuell Verweise auf notwendige Patches speziell furFreeBSD, falls die Software sich sonst nicht ubersetzen liee.

    Abbildung 3.3: Webseite Freshports.org: In mehr als 7.400 Softwa-repaketen stobern

    Die Installation eines Apache-Webservers mit SSL-Unterstutzung2

    uber die Ports-Collection schaut dann wie folgt aus: Zunachst mussin das entsprechende Verzeichniss der Ports-Collection gewechseltwerden:

    $ cd /usr/ports/www/apache13-modssl

    Anschlieend kann das Paket (auch Port genannt) ubersetzt undinstalliert werden:

    $ make install

    Zu guter Letzt sollten noch temporare Daten aus Platzgrundengeloscht werden:

    $ make clean

    Eventuell vorhandene Abhangigkeiten Paket X erfordert PaketA,D und Ewerden automatisch aufgelost. Dabei fuhrt die Installa-tion letztendlich immer zur Registrierung eines Paketes in der zen-tralen Datenbank zur Paketverwaltung. Die Verwaltung der uberdie Ports-Collection oder als Binar-Pakete installierten Pakete lasstsich bequem mithilfe des grafischen Tools sysinstall oder mithilfe

    2 SSL ist eine Abkurzung fur Secure Socket Layer und ermoglicht die verschlus-selte Datenubertragung im lokalen Netz oder Internet.

  • 3.6 make buildworld und make installworld 17

    sicher auch Solaris-Administratoren bekannten Tools wie pkg*bewerkstelligen. Als recht nutzlich haben sich in diesem Zusam-menhang auch Tools wie portupgrade 3 und porteasy 4 erwiesen,mit deren Hilfe die Pflege und das Aktualisieren von Ports ein Kin-derspiel ist.

    Wahrend die Installation von Paketen im Binar-Format von al-len UNIX-Derivaten geboten wird, so ist das Installationsverfah-ren uber die Ports-Collection im UNIX-Bereich nahezu einzigartig allenfalls die Linux-Distribution Gentoo bietet auerhalb *BSDsein vergleichbares Verfahren, wenn auch die Anzahl der verfugba-ren Pakete mit aktuell knapp 2.200 Paketen nicht gerade so uppigist.

    3.6 make buildworld und make installworld

    Fur ein komplettes System-Upgrade eignen sich die ublichen Toolszur Paket-Verwaltung eher weniger hier bietet FreeBSD andereMoglichkeiten. Neben dem ublichen Upgrade-Verfahren via Binar-dateien hat sich besonders unter FreeBSD ein Verfahren mithilfeder Quelldateien des System und dem make buildworld und ma-ke installworld-Mechanismus bewahrt. So lasst sich das kom-plette System mit wenigen Befehlen aus den Quellen optimiert furdie eigene Prozessor-Architektur ubersetzen und auf den neuestenStand bringen eine optimale Betriebssystem-Performance ist dieFolge. Dieses Verfahren ist auch besonders hilfreich zum Updatedes Systems im Falle von bekannt gewordenen Sicherheitslucken.

    Im diesem Zusammenhang sollte noch erwahnt werden, dass sichdas mitgelieferte Script mergemaster als Update-Hilfe zum auto-matischen oder interaktiven Abgleich von Konfigurationsdateienzum Beispiel unter /etc/ als recht nutzlich erwiesen hat und da-her unbedingt genutzt werden sollte.

    Wer sein FreeBSD-System auf den aktuellen Stand bringen moch-te, der sollte sich auch gleich noch den Kernel vornehmen undneu ubersetzen. Obwohl sehr selten zwingend erforderlich, lohntes sich, hier ein wenig Zeit zu investieren. Ein optimierter Kernelhilft Arbeitsspeicher sparen und lasst Sie zudem weitere Funktio-nen wie eine Firewall oder zusatzliche Hardware wie zum Beispieleine Soundkarte nutzen. Viele Treiber lassen sich wie von ande-ren UNIX-Derivaten bekannt zwar auch zur Laufzeit via KernelModules nachrusten, die permanente Integration von gewunschtenTreibern in den Kernel fuhrt aber in der Regel zu einer hoherenPerformance und ist auch aus Sicherheitsgrunden zu empfehlen. Dapotentielle Angreifer den KLD-Mechanismus5 ausnutzen konnten,

    3 Ports-Collection: /usr/ports/sysutils/portupgrade4 Ports-Collection: /usr/ports/misc/porteasy5Die Verwaltung der Kernel Modules ubernimmt unter FreeBSD die KLD(dynamic kernel linker facility)

  • 18 3 Installation

    um eigene, gefahrliche Module einzuspielen, sollte dieser zumindestim Serverbetrieb abgeschaltet werden4.3.2.

    Das Procedere der Kernel-Ubersetzung ist mit ein wenig Kenntnisder eigenen Hardware und genauem Studium der entsprechendenHandbuchseiten schnell erledigt. Lediglich eine Konfigurationsda-tei muss zur Kernel-Konfiguration angefasst werden. Dank einermitgelieferten Beispieldatei mit allen moglichen Optionen und aus-fuhrlichen Kommentaren zur Konfiguration sollten auch wenigerversierte UNIX-Freunde zum Erfolg kommen. Wie immer ist dergesamte Vorgang vom Upgrade des Systems bis hin zur Kernel-Ubersetzung Schritt fur Schritt im Handbuch erklart.

    3.7 Quellen laden CVS

    Nun, wie gelangen eigentlich die erforderlichen Quelldateien zumUpgrade des Systems auf den heimischen PC oder Server? Ein re-gelmaiger Datentransfer via FTP scheidet auswer mochte schonbei jedem Upgrade mehrere hundert Megabyte an Quelldateienaus dem Internet laden? Genau zu diesem Zweck haben sich dieFreeBSD-Entwickler das Tool cvsup6 ausgesucht. Die Software ladtnur relevante Daten von einem der zahlreichen, weltweit frei ver-fugbaren CVSUP-Server7 und druckt so das zu ubertragende Da-tenvolumen auf ein Minimum. Nur so ist auch ein Abgleich perConcurrent Version System8 der Sourcen auf dem heimischen Sys-tem mit dem Quelldateibaum der FreeBSD-Entwicklergemeindemit vertretbarem Aufwand auch per Modem moglich. Uber dasCVS-Repository9 der FreeBSD-Entwickler kann jeder Nutzer welt-weit beliebige Versionen des FreeBSD-Quellcodes laden und sichein entsprechendes System zusammen stellen.

    3.8 CURRENT, STABLE und RELEASE

    Die weltweite Entwicklergemeinde FreeBSDs pflegt zwei Entwick-lunsglinien ihres Betriebssystems: STABLE und CURRENT. RE-LEASES erscheinen drei- bis viermal im Jahr und werden nachErscheinen auf CDROM oder zum Download als ISO-Image bezie-hungsweise zur Installation via FTP angeboten. Diese FreeBSD-Version wird zu einem festgelegtem Zeitpunkt dem STABLE-Zweigentnommen, ausfuhrlich in einem langerem RELEASE-Prozess ge-testet und Endanwendern zum Download bereitgestellt. In STA-BLE flieen wichtige Sicherheits-Patches und fur stabil befunde-ner Code aus dem CURRENT-Zweig ein. STABLE ist fur alleNutzer interessant, die mit einem aktuellen, stabilen FreeBSD-System arbeiten mochten, ohne ein groes Risiko eingehen zu mus-6 Ports-Collection: /usr/ports/net/cvsup7 CVSUP-Server stellen Sourcen FreeBSDs uber das Internet bereit.8 CVS ist ein System zur kontrollierten, verteilten Entwicklung insbesonderegroerer Softwareprojekte.

    9 Ein CVS-Repository ist unter anderem eine Datenbank mit Quelldateien.

  • 3.8 CURRENT, STABLE und RELEASE 19

    sen. In CURRENT spiegelt sich dagegen die aktuelle Entwicklungdes UNIX-Derivats wieder, hier wird viel neuer Code ausprobiertund getestet, so dass nicht garantiert werden kann, dass sich jedesFreeBSD-CURRENT ubersetzen lasst. Der CURRENT-Zweig istdaher hauptsachlich fur Entwickler interessant, die sich aktiv amProjekt beteiligen mochten.

    Als Entwickler hat man zunachst die Moglichkeit, sich als Contribu-tor in das Projekt einzubringen. Code-Teile und Dokumentationenwandern dann vorerst einmal zu den so genannten Committern,FreeBSD-Entwicklern mit Schreibberechtigung auf klar abgegrenz-te Bereiche des Quelldateibaumes. Hat man als Contributor durchregelmaige Beitrage auf sich aufmerksam gemacht, so wird man oft von einem erfahrenen Committer vielleicht gefragt, ob mannicht selbst als Committer tatig werden mochte. Hat man Spa ander Sache gefunden und mochte mitmachen, so bekommt man einenMentor zugewiesen, der einem hilfreich und uberwachend zur Seitesteht. Alle zwei Jahre werden neun Committer in das Core-TeamFreeBSDs gewahlt, welches das gesamte Projekt koordiniert unddessen zukunftige Richtung bestimmt. Ein zusatzliches RELEASE-Engineering-Team begleitet und uberwacht zudem aktiv die letztenWochen bis zum Erscheinen eines neuen RELEASEs. Aufgrund die-ses sehr strengen Freigabe-Modells bei der Entwicklung FreeBSDswird eine hohe Software-Qualitat erzielt.

  • 20 3 Installation

  • 4 Administration

    4.1 Allgemeines

    FreeBSD ist nahezu vollstandig kompatibel zum POSIX-Standard1,je nachdem welche Version des Standards man zu Grunde legt, dasheit, dass alle beliebten GNU-Tools, Shells wie Bash, Korn undTcsh zur Verfugung stehen und nahezu alle UNIX-Programme, diesich an diesen Standard halten ohne Anderungen unter FreeBSDubersetzt werden konnen. Der Aufbau des Systems (Verzeichniss-truktur) unterscheidet sich daruber hinaus nicht gravierend vondem anderer UNIX-Systeme, so dass sich Administratoren andererUNIX-Derivate aufgrund der Ahnlichkeit der Systeme schon nachkurzer Einarbeitungszeit schnell zurecht finden sollten. Im weite-ren Verlauf dieses Kapitels wird daher hauptsachlich auf einige in-teressante Besonderheiten und zusatzlichen Funktionen FreeBSDseingegangen.

    4.2 Leistungsoptimierung

    Ziel des FreeBSD-Projektes ist, wie schon zu Anfang der Broschu-re erwahnt, unter anderem die Bereitstellung eines UNIX-Systems,das auf eine hohe Performance und Benutzerfreundlichkeit getrimmtist. Dabei gehen diesen Bestrebungen aber niemals so weit, dass dasSystem auf Rechnern alterer Bauart nur schlecht oder gar nichtlauffahig ist oder sogar die Kompatibilitat zu anderen Systemenwie etwa GNU/Linux leidet. Allgemein kann gesagt werden, dassviele der Untersysteme FreeBSDs wie die virtuelle Speicherverwal-tung, der TCP/IP-Stack und weitere entweder selbstoptimierendsind oder in der Grundkonfiguration schon hervorragende Leistun-gen fur die meisten Einsatzzwecke bieten. Auf Hochlast-Systemenwie zum Beispiel Webservern, die mehrere Terabyte an Daten proMonat ubertragen mussen, kann aber ein zusatzliches Tuning er-forderlich sein.

    Viele Tuning-Manahmen lassen sich uber zahlreiche Systemva-riablen (man sysctl, uber 500 vorhanden) oder mithilfe zusatzli-cher Funktionen verwirklichen. So ermoglichen zum Beispiel SoftUpdates eingesetzt in Kombination mit dem Berkeley Fast FileSystem die Nutzung eines journaling-ahnlichen Dateisystem unterFreeBSD. Dabei konnen es Soft Updates mit aus dem GNU/Linux-Bereich bekannten Dateisystemen wie ReiserFS in Punkte Perfor-mance und Sicherheit sehr gut aufnehmen. Wer auch das letz-te Quantchen an Leistung aus seinem UNIX-System herauskitzeln1 http://www.FreeBSD.org/projects/c99/index.html

    21

  • 22 4 Administration

    mochte, der sollte sich unter anderem die UNIX-Hilfeseiten zurPerformance-Optimierung (man tuning) und die entsprechendenSeiten im Online-Handbuch FreeBSDs anschauen.

    4.3 Sicherheit

    4.3.1 SSH, VPNs und Periodic

    Das Thema Sicherheit wird unter FreeBSD gro geschrieben: Schonin der Grundinstallation werden nur sehr wenig Dienste, die uberdas Netzwerk erreichbar sind, aktiviert. Mit dieser konservativen

    Abbildung 4.1: Portscan mit Nmap: Standardmaig sind nur we-nige Dienste aktiviert

    Grundeinstellung wird der groen Anzahl an in letzter Zeit bekanntgewordenen Sicherheitslucken in vielen beliebten Internet-DienstenRechnung getragen. Einer der wenigen standardmaig eingerich-teten Dienste ist die SSH (Secure Shell), welche eine sichere, daverschlusselte Fernwartung des Systems ermoglicht. In diesem Zu-sammenhang konnen zum Beispiel auch weitergehende Dienste wieVPNs 2 eingerichtet werden. Die dazu benotigte Software wird be-reits mitgeliefert3 4. Seit vor einigen Jahren die U.S.A. die Export-beschrankungen fur starke Kryptografie gelockert haben, konnenFreeBSD-User zudem auf nahezu alle gangigen Verschlusselungs-und damit verbundene Authentisierungsverfahren zuruckgreifen.

    Daruber hinaus fordert ein Blick in die Kategorie Security derPorts-Collection eine groe Auswahl verschiedener Software-Pakete2Abkurzung fur Virtual Private Network, Internet-Dienste uber einen sicherenKanal uber 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 Sicherheits-lucken wie zum Beispiel nessus, chkrootkit, nmap, snort undscanssh zu Tage. Zur weiteren Erhohung der Sicherheit tragenim Wesentlichen auch Erleichterungen bei der Administration desSystems bei, die unter anderem uber ein Scheduler-System (Peri-odic) realisiert werden. Wer sich als UNIX-Administrator nicht im-mer allmorgendlich durch ellenlange Logdateien kampfen mochte,der sollte die entsprechenden Funktionen unter FreeBSD aktivie-ren und so verschiedene Routine-Aufgaben automatisch erledigenlassen. Hierzu gehort zum Beispiel auch der automatische, taglicheMailversand wichtiger System-Informationen.

    4.3.2 Script-Kiddies stoppen

    Zusatzlich zu dem sonst unter UNIX ublichem Rechtesystem ver-fugt FreeBSD uber wirkungsvolle Mechanismen zum Beispiel zurAbwehr von Angreifern wie Script-Kiddies6. Wird die Systemvaria-ble Securelevel auf einen Wert >= 1 gesetzt, so werden System-weitsicherheitsrelevante Einschrankungen wirksam, die auch durch denRoot-User nicht auer Kraft gesetzt werden konnen.

    Mit am interessantesten sind in diesem Zusammenhang sicherlichdie Erweiterungen des Standarddateisystems UFS7, die bei hohe-ren Secureleveln greifen. Eine der Erweiterungen schg (Immuta-ble Flag) kann zum Beispiel dazu verwendet werden, um sensibleVerzeichnisbaume oder Dateien des Systems so zu schutzen, dassselbst der Administrator (Root-User) diese Bereiche nicht loschenbeziehungsweise modifizieren kann. Eine Anderung dieser Bereicheist bei gesetztem Securelevel >= 1 dann nur im Single-User-Mode(im Server-Raum, am Rechner), also nicht uber das Netz mog-lich. Hat nun ein Angreifer durch eine wie auch immer gearteteSicherheitslucke Root-Rechte erlangt, so ist sein oder ihr Bestre-ben weitere Software (Root-Kits, Trojaner) zu installieren trotz-dem zum Scheitern verurteilt, da wichtige Systemdateien etwazur Schaffung einer Hintertur in das System nicht ausgetauschtoder verandert werden konnen.

    Daruber hinaus ermoglicht die Anwendung weiterer Dateisystemer-weiterungen, dass nur das System selbst zum Beispiel wichtige Log-Dateien erganzen kann (Flag sappnd). Ein erfolgreicher Angreiferhat so nicht die Moglichkeit, Spuren seines Angriffs durch das Lo-schen entsprechender Eintrage in den relevanten Dateien zu besei-tigen.

    5Root-Kits werden nach dem Einbruch in ein Rechner-System vom Angrei-fer installiert, um unter anderem Hinterturen im System einzurichten undAngriffspuren zu verwischen.

    6 Script-Kiddies sind Jugendliche und Schuler mit haufig zu viel Freizeit, diesich mit vorgefertigten Tools und Scripten in fremde Rechner-Systeme ha-cken.

    7UFS=UNIX filesystem, UNIX-Dateisystem

  • 24 4 Administration

    Securelevel

    -1Dauerhaft unsicherer Modus das System sollte immer mitSecurelevel=0 laufen; -1 ist zunachst der Standardwert.

    0Unsicherer Modus Dateisystemerweiterungen konnen zu-ruck genommen werden. Alle Gerate lassen sich entspre-chend der vergebenen Rechte lesen und beschreiben.

    1

    Sicherer Modus Dateisystemerweiterungen konnen nichtzuruckgenommen, Loadable Kernel Modules nicht mehr ge-laden oder entladen werden; Festplatten fur bereits gemoun-tete Dateisysteme, /dev/mem, /dev/kmem lassen sich nichtmehr beschreiben.

    2

    Hochsicherer Modus wie sicherer Modus, nur mit folgen-den Erweiterungen: Festplatten lassen sich nur noch ubermount (man mount) nutzen, egal, ob per mount eingebundenoder nicht; eine Neuformatierung der Festplatten etwa vianewfs (man newfs) wird verhindert; Zeitanderungen groerals 1 Sekunde sind nicht mehr moglich, der Versuch wirdmit der Meldung: Time adjustment clamped to +1 secondgelogged.

    3Netzwerksicherheits-Modus zusatzlich zu 2 lassen sichRegeln zur Filterung von IP-Paketen nicht mehr andern(man ipfilter, man ipfirewall).

    Tabelle 4.1: Securelevel unter FreeBSD: Je hoher, desto sicherer

    Abschlieend sollte noch erwahnt werden, dass, wie so oft, mit Ma-nahmen zur Erhohung der Sicherheit eines Systems auch gewisseEinschrankungen verbunden sind. So greift zum Beispiel ein X-Server in der Regel direkt auf die Hardware zu, bei hoheren Secure-leveln ist das allerdings nur bedingt moglich und der X-Server kanndaher nicht gestartet werden. Zwar konnte der X-Server auch voreiner Erhohung der Securelevel schon wahrend des Boot-Vorgangsausgefuhrt werden (grafisches Login via XDM/KDM8), nach ei-nem Crash liee sich dieser aber nicht wieder im laufenden Betriebstarten9. Letztendlich sollte aber daruber nachgedacht werden, obes uberhaupt notwendig ist, hohere Securelevel im Workstation-Betrieb zu aktivieren, da ja in der Regel nur Netzdienste genutzt,aber nicht angeboten werden beziehungsweise in den seltensten Fal-len mehrere Personen mit dem System arbeiten. Das Risiko vonAngriffen kann daher im Workstation-Betrieb im Vergleich zumServerbetrieb FreeBSDs als wesentlich geringer eingestuft werden.

    Daruber hinaus ist zu beachten, dass das Flag sappnd nur zumSchutz von Logdateien eingesetzt werden sollte, wenn diese nicht

    8X Display Manager, KDE Display Manager9 http://www.FreeBSD.org/doc/faq/x.html#RUNNING-X-SECURELEVELS

  • 4.3 Sicherheit 25

    zu stark anwachsen. Eine automatische Rotation von Logdateienim laufendem Betrieb durch das System ist namlich bei gesetztemFlag zurzeit nicht moglich.

    4.3.3 Dateisystemerweiterungen anwenden

    Das folgende Beispiel soll zeigen, wie wichtige Systemverzeichnissemithilfe von Dateisystemerweiterungen geschutzt werden konnen.

    Als Root-User muss zunachst das gewunschte Verzeichnis mit demImmutable-Flag (schg) versehen werden, welches Anderungen jeg-licher Art an Verzeichnissen und Dateien verhindert. Dabei werdenalle Dateien und Verzeichnisse rekursiv unterhalb des ausgewahltenVerzeichnisses mit diesem Flag markiert.

    $ su -

    # chflags -R schg /sbin

    Mithilfe des Parameters o lassen sich Dateisystemerweiterungen imZusammenhang mit dem Befehl ls anzeigen.

    # ls -laFo

    Anschlieend muss das Securelevel auf einen Wert >= 1 (3 ist derHochstwert) gesetzt werden, so dass die Dateisystemerweiterungengreifen:

    # sysctl -w kern.securelevel=3

    Das Securelevel sollte sofort bei jedem Systemstart gesetzt werden.Ein Eintrag in die Datei /etc/sysctl.conf genugt.

    # echo kern.securelevel=3 >> /etc/sysctl.conf

    Das Loschen und Andern des ausgewahlten Verzeichnisbaumes istnun selbst mit Root-Rechten nicht mehr moglich.

    # rm -rf /sbinrm: /sbin/adjkerntz: Operation not permittedrm: /sbin/atacontrol: Operation not permittedrm: /sbin/atm: Operation not permitted...

    Erst der direkte Zugriff auf das System im Single-User-Mode (imServer-Raum, am Rechner) erlaubt wieder die Deaktivierung derDateisystemerweiterungen.

    Letztendlich ist zu beachten, dass alle Verzeichnisse, in denen Da-teien, die beim Start des Systems ausgefuhrt werden konnen wie/boot, /usr/local/etc/rc.d, /etc vor Modifikationen mithilfedes Flags schg geschutzt werden mussen. Ein Angreifer mit Root-Rechten hatte sonst die Moglichkeit, eine Datei, die das Secu-relevel beim Start des Systems auf einen unsicheren Wert setzt

  • 26 4 Administration

    (zum Beispiel -1), in die zuvor benannten Verzeichnisse einzubrin-gen. Ein einfacher Neustart des Systems wurde dann genugen, umden Schutz durch Securelevel und Dateisystemerweiterungen auerKraft zu setzen.

    4.4 Virtuelle Server Die Jail()-Funktion

    4.4.1 Allgemeines

    Wahrend in realen Jails Kriminelle zum Zwecke der Resozialisie-rung hinter Gitter gebracht werden, so lassen sich in virtuellenGefangnissen unter FreeBSD einzelne Prozesse bis hin zu vollstan-digen Systemen einsperren. Jail bedient sich dazu unter anderem

    FreeBSD

    /bin Hauptsystem/boot IP: 132.176.218.10/dev Ssh2-Daemon/etc Autarke Benutzerverwaltung... ...

    /usr/jails/Jail-1/

    /bin Jail-1/boot IP: 132.176.218.11/dev Ssh2-Daemon/etc Autarke Benutzerverwaltung... ...

    /usr/jails/Jail-2/

    /bin Jail-2/boot IP: 132.176.218.12/dev Ssh2-Daemon/etc Autarke Benutzerverwaltung... ...

    /usr/jails/Jail-3/

    /bin Jail-3/boot IP: 132.176.218.13/dev Ssh2-Daemon/etc Autarke Benutzerverwaltung... ...

    Tabelle 4.2: Eingesperrt: Jails unter FreeBSD werden einfach ineinzelnen Verzeichnissen angelegt

    des Chroot-Mechanismuses, der es dem Administrator eines UNIX-Systems erlaubt, Dienste aus Sicherheitsgrunden in einen bestimm-ten Verzeichnissbaum innerhalb eines Systems einzusperren. Die-ser Mechanismus ist nicht absolut sicher und mit entsprechen-den Kenntnissen leicht zu umgehen. Jail beseitigt die Sicherheits-Probleme Chroots und geht noch einen Schritt weiter und erlaubtdas Anlegen mehrerer von einander unabhangiger Systeme, dieuber eine eigene IP-Adresse erreichbar sind, uber eine eigene Benut-zerverwaltung, eigene Tools und Softwarepakete, kurz gesagt uber

  • 4.4 Virtuelle Server Die Jail()-Funktion 27

    eine vollstandige Systeminstallation verfugen. Die autarke Benut-zerverwaltung der virtuellen Systeme erlaubt es sogar, dass Nutzermit vollen Root-Rechten (Administrator-Rechten) innerhalb dervirtuellen Server arbeiten konnen.

    Die Moglichkeiten der Jail()-Funktion sollen im Folgenden anhanddreier Anwendungsbeispiele aufgezeigt werden.

    4.4.2 Jails im Einsatz bei Webhostern

    Viele Webhoster machen sich FreeBSDs Jail()-Funktion zu Nut-ze und bieten sogenannte virtuelle Root-Server kostengunstig an.Hierbei handelt es sich um zahlreiche Jail-Systeme untergebrachtauf einem FreeBSD-Server. Kunden konnen einen virtuellen Root-Server gunstig mieten und dann Software wie Webserver und Da-tenbanken nach Belieben nutzen oder installieren. Fur den Kundenhat das den Vorteil, dass bei maximaler Freiheit (Root-Rechte)kein eigener Server gemietet oder angeschafft werden muss undso die Hosting-Kosten gering ausfallen. Der Betreiber (Webhoster)des FreeBSD-Servers kann zudem bei den Wartungs- und Anschaf-fungskosten sparen, da diese nur fur einen Server anfallen.

    4.4.3 Jails zur Server-Konsolidierung

    Die Konsolidierung von Servern wird in der Regel vogenommen, umKosten im Betrieb und in der Wartung von Servern zu senken. Sehroft kommt es aber vor, dass Projekte zur Server-Konsolidierungscheitern, da sich Applikationen nicht ohne Weiteres auf einem Ser-ver zusammen fassen lassen: Installationen uberschneiden sich, eineApplikationen erwartet eine altere Version einer Systembibliothekals eine andere, Portnummern werden mehrfach verwendet und soweiter. Sollte die Konsolidierung dennoch gelingen, so steigt dernotwendige Testaufwand vor dem Einspielen neuer Programmver-sionen und Bibliotheken einer Applikation erheblich an, da zuvorumfassend gepruft werden muss, ob nicht Inkompatibilitaten undUnvertraglichkeiten mit anderen Applikationen auf dem Systembestehen. Mithilfe von Jails lassen sich diese Probleme geschicktlosen, da jede Applikation in ihrem eigenen virtuellen System voll-standig getrennt von anderen Applikationen untergebracht werdenkann.

    4.4.4 Jails am URZ Aufbau einer Schulungsumgebung

    Auch am Universitatsrechenzentrum der FernUniversitat Hagenwerden Jails regelmaig im Rahmen von Seminaren eingesetzt. Furdas im vergangenen Juni angebotene Apache Webserver Seminarwurde zum Beispiel eine Schulungsumgebung unter FreeBSD aufeinem Server aufgesetzt.

    Die Umgebung bot fur jeden der Seminarteilnehmer einen virtu-ellen Server, welcher via SSH uber das Netz angesprochen wer-

  • 28 4 Administration

    den konnte. Jeder Seminarteilnehmer hatte so dank der Jail()-Funktion die Moglichkeit, den Webserver unter Real-Bedingungen(Port 80/443, Installation unter /usr/local/apache, Root-Rechte)einzurichten. Ein Umdenken (Schulungsumgebung Produktions-betrieb) war daher nicht erforderlich. Die Seminarteilnehmer konn-ten das Gelernte gleich am heimischen PC, in der Firma oder amLehrgebiet umsetzen.

    Alternativ zur Jail-Losung hatte jeder der 18 Schulungs-PCs auchmit einer GNU/Linux-Installation versehen werden konnen. DieAdministration der Schulungsumgebung ware dann aber ungleichaufwandiger gewesen. Eine defekte oder unbeabsichtigt zerstorteSchulungsumgebung hatte daruber hinaus nicht so leicht ersetztwerden konnen. Mithilfe der Jail-Losung hatte sich ein defektesJail dagegen leicht innerhalb von Sekunden durch ein Standby-Jailersetzen lassen konnen, so dass der betroffene Schulungsteilnehmerkeine wertvolle Ubungszeit verloren hatte.

  • 5 Verfugbare Software

    5.1 FreeBSD auf dem Desktop

    Nachdem hier recht viele Anwendungsmoglichkeiten FreeBSDs imServerbereich genannt wurden, stellt sich sicher der ein oder ande-re Leser die Frage, ob sich das UNIX-Derivat mit dem Daemon alsMaskottchen auch fur anderen Zwecke als nur den Serverbetriebeignet. Wie schaut es eigentlich mit der Unterstutzung beliebtergrafischer Benutzeroberflachen, Programmiersprachen, Multimedia-und Office-Anwendungen aus? Nun, wie schon im Verlauf der Bro-

    Abbildung 5.1: KDE3: Auch unter unter FreeBSD heimisch

    schure erwahnt, lassen sich uber die Ports-Collection aktuell uber7.400 Softwarepakete optimiert fur das eigene System installieren.Und hier ist wirklich fur jeden Geschmack etwas dabei: Entwicklerfinden hier gangige, aber auch ausgefallenere Programmiersprachenwie C, C++, PHP, Perl, FORTRAN, Pascal, Ruby, Java1, Python,Cobol. Hinzu kommen unter anderem alle bekannten GNU-Tools,Shells, Editoren und Pakete fur LATEX, XSLT und XML.

    Daruber hinaus bietet FreeBSD standardmaig auch den X-ServerXFree86 in der Version 4.2.x zusammen mit zahlreichen Fenster-managern und X-Anwendungen KDE3 und Gnome2 sind natur-1 Java unter FreeBSD: http://www.FreeBSD.org/java/newsflash.html

    29

  • 30 5 Verfugbare Software

    lich auch mit von der Partie. Aktuelle Office-Pakete wie zum Bei-spiel Koffice und OpenOffice.org mit Tabellenkalkulation, Prasen-tations- und Textverarbeitungs-Programm, Formeleditor und Un-terstutzung aller Office-Formate von Microsoft lassen sich ebenfallsinstallieren. Im Internet gesurft werden darf zum Beispiel mit dem

    Abbildung 5.2: Kostenlos, kompatibel und gut: Die vollstandigeOffice-Suite OpenOffice.Org schickt sich an, Microsofts Office Kon-kurrenz zu machen

    Mozilla, Opera, Galeon oder dem Text-basierenden Browser Lynx selbst der ist mit dabei. Musik-Freunde finden sicher am Audio-Player Xmms gefallen, der seinem popularem Windows-PendantWinAMP in Qualitat und Funktionsumfang in nichts nachsteht.MP3-Sammlungen lassen sich zum Beispiel bequem mit KOnCDauf CD sichern.

    Wer sich im Internet uber aktuell verfugbare Softwarepakete furFreeBSD informieren mochte, dem sei die Webseite Freshports.organs Herz gelegt. Hier kann man unter anderem in zahlreichen Ka-tegorien nach Software stobern und die Updates der letzten Zeiteinsehen. Daruber hinaus kann auch eine Liste der eigenen, instal-lierten Software-Pakete zur Webseite Freshports.org hochgeladenwerden. Wird nun eines der Pakete aktualisiert, so erhalt man au-tomatisch eine Benachrichtigung per E-Mail zugestellt.

    5.2 Kompatibel zu GNU/Linux

    Zu guter Letzt sollte noch erwahnt werden, dass sich nahezu alleGNU/Linux-Programme dank eines hervorragenden GNU/Linux-Emulators enthalt ein komplettes RedHat 7.2-GNU/Linux auch

  • 5.2 Kompatibel zu GNU/Linux 31

    unter FreeBSD ohne Performance-Verluste nutzen lassen. Tests amLehrgebiet Allgemeine und Theoretische Elektrotechnik der Fern-Universitat Hagen haben sogar ergeben, dass manche Programmewie zum Beispiel Matlab (Mathematik-Programm) unter FreeBSDum knapp 30 Prozent schneller in der GNU/Linux-Emulation ab-laufen als unter GNU/Linux selbst. Getestet wurde unter FreeBSD4.3 und S.u.S.E. 7.2 auf ein und demselben Rechner, wobei vonbeiden Systemen eine Grundinstallation eingerichtet und unnotigeDienste deaktiviert wurden.

    Abbildung 5.3: Multimedia-Station: Der Audio-Player Xmms unterKDE3 und FreeBSD

  • 32 5 Verfugbare Software

  • 6 Die Zukunft FreeBSDs

    Fur die Zukunft halt die Entwicklergemeinde einige interessan-te Neuerungen parat, die teilweise schon in den nachsten Mona-ten im RELEASE/STABLE-Zweig in Produktionsumgebungen ge-nutzt werden konnen oder spatestens mit Erscheinen von FreeBSD5.0 zum Jahresende der Allgemeinheit zur Verfugung stehen wer-den.

    So ist zum Beispiel eine Neuentwicklung der Jail()-Funktion mitverschiedenen Erweiterungen und optimierten Management-Mog-lichkeiten namens JailNG (NG=Next Generation) geplant. Eben-falls interessant ist ein Projekt, das sich der Verbesserung des Sym-metric-Multiprocessing (SMP) unter FreeBSD angenommen hat.SMPng1 soll unter anderem sehr gut skalieren und mehr Perfor-mance bieten. Die Ergebnisse des Projektes sollen mit Erscheinender 5er-Version FreeBSDs Einzug in Produktionssysteme halten.Ein weiteres vielversprechendes Projekt ist sicher TrustedBSD2,deren Entwickler sich mit der Integration fein granulierter Zugriffs-kontrollen (MAC/ACL/FGC) in FreeBSD beschaftigen.

    Wer sich regelmaig uber neue Entwicklungen informieren mochte,der sollte sich den alle zwei bis drei Monate erscheinenden Status-Report auf der Webseite FreeBSDs zu Gemute fuhren 3. Eine Liste4

    aktueller Projekte rund um FreeBSD ist ebenfalls auf der Webseiteverfugbar.

    1 http://www.FreeBSD.org/smp/2 http://www.TrustedBSD.org3 http://www.FreeBSD.org/news/status/status.html4 http://www.FreeBSD.org/projects/

    33

  • 34 6 Die Zukunft FreeBSDs

  • 7 Fazit

    Noch bietet FreeBSD nicht die von einigen Linux-Distributionenbekannten, Windows-ahnlichen Oberflachen zur Einrichtung desSystems viele neue User mag das zunachst abschrecken. Aberwenn man sich erst einmal ein wenig mit dem System beschaftigthat, wird man diese Tatsache eher als Vorteil, denn als Nachteilempfinden. FreeBSD-User wissen oft eher was zu tun ist, wenn esmal im System kracht, woran gedreht werden muss, damit es wie-der rund lauft. Hier ist zwangslaufig ein Blick unter die Haube desSystems erforderlich und da lernt man bei FreeBSD am Original,wie die Historie zeigt.

    Uberhaupt liegen die Starken FreeBSDs eher im Verborgenen: Se-curelevel, Dateisystemflags, Jails, eine einfache Administration diese und noch weitere Punkte stellen einen echten Mehrwert imServerbetrieb gegenuber vielen anderen UNIX-Derivaten dar. Aberauch dem Desktop hat sich FreeBSD nicht verschlossen, wie diegroe Anzahl der hierfur erhaltlichen Softwarepakete einschlielichdes Quasi-Standards KDE zeigt. Ob auf dem Server oder Desktop FreeBSD ist allemal einen Versuch wert!

    35

  • 36 7 Fazit

  • 8 Weiterfuhrende Links und Quellen

    8.1 Verfugbarkeit

    FreeBSD kann uber die Webseite http://www.FreeBSD.org kos-tenlos bezogen werden. Mitarbeiter der FernUniversitat haben dar-uber hinaus noch die Moglichkeit, FreeBSD in der sechs CDs um-fassenden Lehmanns CD-ROM Edition mit deutschen Hilfetextenuber den Dispatch [email protected] des Uni-versitatsrechenzentrums wie auch bei Linux ublich ohne Supportdes URZs ebenfalls kostenlos anzufordern.

    8.2 Projekt

    http://www.FreeBSD.orgDownload des Betriebssystems, umfangreiche Online-Dokumenta-tionen, Man-Pages, verschiedene Suchmaschinen, FAQs, allgemeineProjekt-Infos (RELEASES, News, Presse, Entwickler, The FreeBSDGallery, Sicherheit)

    8.3 Dokumentationen und Literatur

    8.3.1 Bucher

    FreeBSD Unleashed (Mit CD-ROM)von Michael Urban, Brian Tiemann

    Taschenbuch 1024 Seiten SamsErscheinungsdatum: 15. Januar 2002ISBN: 0672322064

    Absolute BSD: The Ultimate Guide to FreeBSDvon Michael Lucas

    Taschenbuch 612 Seiten No Starch PressErscheinungsdatum: Juli 2002ISBN: 1886411743

    The FreeBSD Corporate Networkers Guidevon Ted Mittelstaedt

    Taschenbuch 432 Seiten Addison WesleyErscheinungsdatum: 28 Dezember 2000ISBN: 0201704811

    37

  • 38 8 Weiterfuhrende Links und Quellen

    8.3.2 Hardwareunterstutzung

    http://www.FreeBSD.org/platforms/Von FreeBSD unterstutzte Plattformen

    http://www.FreeBSD.org/releases/4.6R/hardware-i386.htmlAktuell unterstutzte Hardware

    8.3.3 Installation und Upgrade des Systems

    http://www.freebsdmirrors.org/FBSDsites.php3Datenbank 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.htmlInstallation des Systems in mehreren Schritten erklart

    http://www.FreeBSD.org/doc/handbook/cutting-edge.htmlAnleitung zum Upgrade des Systems

    http://www.FreeBSD.org/doc/handbook/kernelconfig.htmlHow-To zur Konfiguration und Ubersetzung des Kernels

    8.3.4 Sicherheit

    http://www.FreeBSD.org/security/security.htmlAllgemeine Informationen zum Thema Sicherheit unter FreeBSD

    http://draenor.org/securebsd/Marc Silver A basic guide to securing FreeBSD 4.x-STABLESehr gutes Tutorial zur sicheren Installation FreeBSDs.

    8.3.5 Tuning

    http://www.FreeBSD.org/doc/handbook/configtuning-sysctl.htmlEinfuhrung: Leistungsoptimierung uber System-Variablen (sysctl)

    http://www.FreeBSD.org/doc/handbook/configtuning-disk.htmlOptimierung von Festplatten

    http://www.FreeBSD.org/doc/handbook/configtuning-kernel-limits.htmlKernel-Optimierung

    8.3.6 Jails

    http://docs.FreeBSD.org/44doc/papers/jail/jail.htmlPoul-Henning Kamp Robert N. M. Watson The FreeBSD Project Jails: Confining the omnipotent root

  • 8.4 Software und Support 39

    http://www.FreeBSD.org/doc/en/books/developers-handbook/jail.htmlTechnische Informationen zum Thema Jails und Infos zu JailNG

    http://jailnotes.cg.nu/Henk Wevers How to make a FreeBSD 4.x jail workingAllgemeine Infos zu Jails und verschiedene Scripte zum Manage-ment von Jails

    8.4 Software und Support

    8.4.1 Merchandising

    http://www.freebsdmall.comFreeBSD-CDs/DVDs, Bucher, T-Shirts, Stofftiere, Tassen, Boxer-Shorts, Jacken, Mouse-Pads

    http://www.lob.deFreeBSD-CDs (mit deutschen Hilfe-Texten) und Bucher bei derBuchhandlung Lehmanns bestellen

    8.4.2 Software

    http://freshports.orgDatenbank mit aktuellen Infos zu Softwarepaketen aus allen Berei-chen (sog. Ports, zurzeit uber 7.400) vorbereitet zur Ubersetzungund Installation unter FreeBSD

    http://www.FreeBSD.org/ports/Datenbank aller verfugbaren Softwarepakete im Port-Format

    8.4.3 Newsgruppen, Foren und Mailinglisten

    http://www.google.com/bsdMit der Suchmaschine Google nach *BSD-relevanten Webseiten su-chen

    comp.unix.bsd.freebsd.miscDie beliebteste Newsgruppe fur alle Fragen zum Thema FreeBSD

    comp.unix.bsd.freebsd.announceNews zu neuen FreeBSD-Releases werden hier gepostet

    de.comp.os.unix.bsdDeutsche Newsgruppe zum Thema *BSD

    http://stefan3.forumprovider.com/Allgemeines Forum zum Thema FreeBSD

    http://www.bsdforums.orgBeliebte News- und Forenseite zum Thema *BSD

  • 40 8 Weiterfuhrende Links und Quellen

    http://www.de.FreeBSD.org/de/mailinglists.htmlUbersichts-Seite zu deutschsprachigen Mailinglisten zum ThemaFreeBSD

    8.4.4 Consulting

    http://innominate.deInnominate Security Technologies AG

    http://www.interface-business.de/interface:business gmbh

    8.4.5 Tipps, Tricks und Tutorials

    http://gwdu60.gwdg.de/fststeps.htmlDr. Konrad Heuer: FreeBSD die ersten Schritte (Juni/2001)

    http://www.onlamp.com/pub/ct/15FreeBSD Basic: Sammlung von Tutorials und Grundlagen-Artikeln

    http://www.onlamp.com/pub/ct/13Big Scary Daemons: Tutorials, Tipps und Tricks, weiterfuhrendeArtikel

    http://www.freebsddiary.orgTipps und Tricks, Tutorials zu FreeBSD

    http://www.defcon1.orgNews, Tutorials und Artikel zu *BSD

    http://lantech.geekvenue.net/chucktips/News, Tutorials und Artikel zu FreeBSD

    http://www.bugat.atNews und Tutorials zu *BSD in deutscher Sprache

    8.5 Allgemeine Informationen

    8.5.1 Webhosting

    http://ispserver.com/de/technology/index.htmlVirtuelle FreeBSD-Server bei ISPserver (ISPsystem Holding Lu-xemburg)

    http://www.goldvision.de/de/de/microrack.htmlVirtuelle FreeBSD-Server bei Gold Vision Communications Hiller,Penugaow GbR

    http://home.verio.de/products/vps/query4vps.php?os=freeVirtuelle FreeBSD-Server bei Verio Deutschland

    http://www.atvirtual.net/server/unix/ATvirtual.NETPumpernig & Fischer OEG

  • 8.5 Allgemeine Informationen 41

    http://web-hosting.spry.comVirtuelle FreeBSD-Server bei Spry Hosting, Inc.

    8.5.2 News

    http://bsdtoday.comAktuelle News aus der Welt von *BSD

    http://bsdvault.netNews und Infos zu *BSD

    http://slashdot.org/bsd/News und Infos aus dem *BSD-Bereich auf der News-Seite Slashdot

    http://daily.daemonnews.orgAktuelle News aus dem *BSD-Bereich

    http://www.osnews.comNews zu Betriebsystemen, haufig auch zu *BSD

    http://kerneltrap.orgAktuelle News zu FreeBSD- und Linux-Kerneln

    8.5.3 Verschiedene Nutzer FreeBSDs

    http://gwdu60.gwdg.deDr. Konrad Heuer: FreeBSD an der Gesellschaft fur wissenschaft-liche Datenverarbeitung mbH Gottingen, kurze Link-Sammlung

    http://www.uni-goettingen.deHomepage der Universitat Gottigen

    http://et-online.fernuni-hagen.deHomepage des Fachbereiches Elektrotechnik und Informationstech-nik, Zugang zum System ET-Online (Online-Studium)

    http://ate.fernuni-hagen.deWebprasenz des Lehrgebietes Allgemeine und Theoretische Elek-trotechnik des Fachbereiches Elektrotechnik und Informationstech-nik

    http://www.orange.co.ukOrange ist eines der weltweit groten Unternehmen im Bereich mo-biler Kommunikation

    http://docs.yahoo.com/info/misc/contributors.htmlYahoo!, eine der beliebtesten Webseiten der Welt, nutzt hauptsach-lich FreeBSD als Betriebssystem fur Ihre Webserver.

    http://apache.orgWebseite der Apache Software Foundation, hier hat unter anderemder Webserver Apache seine Heimat

  • 42 8 Weiterfuhrende Links und Quellen

    http://bezip.deBeZip.de ist das Europa-weit grote Archiv mit Shareware, Free-ware und Demos fur das alternative Betriebssystem BeOS.

    8.6 Unix, Linux und Open-Source

    8.6.1 UNIX-Derivate

    http://www.caldera.comHerausgeber einer Linux-Distribution, Eigentumer von SCOOpenServer-UNIX

    http://www.bsdi.comBerkeley Software Design, Incorporated ist der Hersteller des UNIX-Derivats BSD/386

    http://www.netbsd.orgDas UNIX-Derivat NetBSD unterstutzt sehr viele Plattformen

    http://www.openbsd.orgDie Entwickler von OpenBSD legen besonders viel Wert auf Sicher-heit

    http://www.darwin.orgApples Darwin entstammt ebenfalls dem BSD-Lager und bildetedie Grundlage von Mac OS X

    http://www.apple.com/de/macosx/Heimat von Apples Mac OS X

    http://www.ibm.comHersteller des UNIX-Derivats AIX

    http://www.compaq.comCompaq vertreibt das UNIX-Derivat Compaq True64 UNIX

    http://www.hp.comHP/UX wird von Hewlett Packard entwickelt

    http://www.sgi.comDas UNIX-Derivat IRIX stammt von Silicon Graphics

    http://www.sun.comSun vertreibt das UNIX-Derivat Solaris/SunOS

    http://www.cray.comDer Supercomputer-Hersteller Cray hat das UNIX-Derivat UNI-COS entwickelt

    8.6.2 Linux-Distributionen

    http://www.redhat.comHomepage der Linux-Distribution RedHats

  • 8.6 Unix, Linux und Open-Source 43

    http://www.suse.deFirmen-Seite der Linux-Distribution von S.u.S.E.

    http://www.gentoo.orgProjekt-Seite der Linux-Distribution namens Gentoo

    http://www.kernel.orgStabile- und Entwicklerkernel des Linux-Projektes konnen hier ge-laden werden

    8.6.3 Weitere Open-Source-Projekte

    http://www.xfree86.orgProjekt-Seite des X-Servers XFree86

    http://www.openoffice.orgHeimat der Office-Suite OpenOffice.org

    http://www.kde.orgHomepage des UNIX-Desktops KDE

  • 44 8 Weiterfuhrende Links und Quellen

  • 9 Danksagung

    Zu guter Letzt mochte ich mich bei meinen Kollegen Heiko undThorsten furs Korrekturlesen bedanken und bei Henning und Tho-mas fur die zahlreichen Tipps und Tricks zu LATEX. Mein Dank gehtauch an die Mitglieder der Newsgruppe de.comp.os.unix.bsd furihre konstruktive Kritik.

    45

    EinleitungHistorieWie alles anfing -- 1965Die Berkeley Software Distribution -- 1973Grndung des FreeBSD-Projekts -- 1993Der Rechtsstreit -- 1992 - 1994FreeBSD und Apple -- 1999

    InstallationAllgemeinesSysinstallHardwareuntersttzungFreeBSD parallel zu WindowsPakete, Ports-Collection und Installationsmedienmake buildworld und make installworldQuellen laden -- CVSCURRENT, STABLE und RELEASE

    AdministrationAllgemeinesLeistungsoptimierungSicherheitSSH, VPNs und PeriodicScript-Kiddies stoppenDateisystemerweiterungen anwenden

    Virtuelle Server -- Die Jail()-FunktionAllgemeinesJails im Einsatz bei WebhosternJails zur Server-KonsolidierungJails am URZ -- Aufbau einer Schulungsumgebung

    Verfgbare SoftwareFreeBSD auf dem DesktopKompatibel zu GNU/Linux

    Die Zukunft FreeBSDsFazitWeiterfhrende Links und QuellenVerfgbarkeitProjektDokumentationen und LiteraturBcherHardwareuntersttzungInstallation und Upgrade des SystemsSicherheitTuningJails

    Software und SupportMerchandisingSoftwareNewsgruppen, Foren und MailinglistenConsultingTipps, Tricks und Tutorials

    Allgemeine InformationenWebhostingNewsVerschiedene Nutzer FreeBSDs

    Unix, Linux und Open-SourceUNIX-DerivateLinux-DistributionenWeitere Open-Source-Projekte

    Danksagung