Mar 21, 2016
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