You are on page 1of 230

Okt. /Nov. /Dez.

04/2003
K O M P E N D I U M F Ü R I T - P R O F I S
€ 9,90 Österreich €10,90 Benelux €11,40 Schweiz SFR 19,80
März/April/Mai 02/2004
www.tecChannel.de
S O N D E R H E F T
SOFORT STARTEN MIT:
› SuSE 9.0 Webserver Edition
› Microsoft Virtual PC 2004
› Intel C++-Compiler für Linux
OPTIMAL NUTZEN
› WLAN mit Linux,
Windows-Treiber nutzen
› System-Tuning mit
Intel-Compiler
› Firewalls für Privat-
und Firmeneinsatz
MAILSERVER
› XMail: Einfacher als Sendmail
› SpamAssassin: Nie wieder Spam
WEBSERVER
› Einfacher Umstieg auf Apache 2,
neue Features optimal nutzen

Vollwertige SuSE 9.0
Webserver Edition

2x tecCHANNEL-
Compact Linux, über
480 Seiten PDF-eBook
Auf CD:
Hinweis: Info-Programm; diese CD-ROM enthält keine jugendgefährdenden Inhalte 4
1
9
5
9
1
4
9
0
9
9
0
0
0
2
SuSE 9.0
Webserver
Edition
Alle Infos zur CD: S. 41
L INUX
A PACHE
MYSQL
P HP
Know-How und Praxis-Lösungen für
den erfolgreichen Einsatz von Linux
als Internet-Server
DSL/ISDN-Router
im Eigenbau
¯ wwwlecC¦~::e¦oe
EditcriaI
Auf die PIätze, fertig, 5erver ...
Wenn es um Webserver geht, stößt man eher Irüher als später auI das Akronym
LAMP. Das sind die AnIangsbuchstaben der am häufgsten Iür Webserver einge-
setzten Produkte: Linux, Apache, MySQL und PHP/Perl. Mit nur wenig Installa-
tions- und KonfgurationsauIwand schaIIen Sie damit die Basis Iür ein komplet-
tes, dynamisch ausgelieIertes Webangebot nur die Inhalte müssen Sie noch
selbst bereitstellen. Mit der SuSE Linux 9.0 Webserver Edition fnden Sie auI
der beigelegten CD genau das, was Sie Iür den erIolgreichen Start benötigen.
Mehr als 230 Seiten Praxis, Wissen und Workshops begleiten Sie und räumen so
manche kleine Hürde aus dem Weg.
Der ErIolg eines Webangebots ist ganz besonders davon abhängig, wie schnell der
Server antwortet sonst werden die Besucher ungeduldig und verlassen die Site
ganz schnell wieder. Wie Sie erIolgreich auI die neue Apache-Version 2 umstei-
gen und gleich die neuen Features zur Geschwindigkeitssteigerung nutzen, lesen
Sie ab Seite 93. Mit dem Intel C¹¹-Compiler von unserer HeIt-CD holen Sie so-
gar noch ein Quäntchen mehr Leistung aus dem Webserver.
Kommunikation per E-Mail könnte das moderne GeschäItsleben so einIach und
angenehm machen, wenn da der immer mehr zunehmende SPAM nicht wäre. Mit
XMail stellen wir Ihnen eine leistungsIähige Mail-Lösung vor, die deutlich einIa-
cher zu handhaben ist als Sendmail. In Kombination mit SpamAssassin machen
Sie einem Großteil der unerwünschten OIIerten automatisch den Garaus. Eine ge-
naue Beschreibung fnden Sie ab Seite 115.
Mit einer Reihe von Proiekten und Kernel-Erweiterungen haben die Entwickler
Linux auch tauglich Iür den Notebook-Einsatz gemacht. Doch an einem hakt es
nach wie vor noch: an der Unterstützung Iür drahtlose Netze. Mit etwas Probieren
und ein wenig Glück schaIIen Sie es dennoch, Ihr Linux-Notebook per WLAN ins
Netz zu bringen. Zur Not, indem Sie einIach den Windows-Treiber Iür die Karte
verwenden! Sie glauben das nicht? Lesen Sie ab Seite 71.
Mike Hartmann
Ressortleiter SoItware & Netzwerke
Wir Ireuen uns über Anregungen zu diesem Compact. Unter www.tecChannel.de/
compact0204.html können Sie an unserer UmIrage teilnehmen. Bitte beachten
Sie, dass Iür die Produkte auI der CD-ROM weder wir noch SuSE oder Intel Pro-
dukt-Support leisten können. Bei Fragen zu den Artikeln können Sie sich gerne an
uns wenden: feeaback(tecchannel.ae. Für dieses Compact haben wir ein Forum
eingerichtet, das Sie unter dem Webcode compactforum0204 erreichen.
8 wwwlecC¦~::e¦oe
¦:¡:essu:
Impressum
CheIredakteur: Michael Eckert, (verantwortlich, AnschriIt der Redaktion)
CheI vom Dienst / TextcheI: Kerstin Lohr
Grafk: stroemung, Michael Rupp, Oliver Eismann, Köln: h2design, München: Yvonne Reittinger, Wien
Redaktion tecCHANNEL:
Leopoldstraße 252b, 80807 München, Tel. 0 89/3 60 86-897, Fax: -878
Homepage: www.tecChannel.de, E-Mail: redtecchannel(idginteractive.de
Autoren dieser Ausgabe: Gerd von Egidy, Mike Hartmann, Michael Hensche, Jörg Luther, Dieter Mayer,
Max Pratz, SteIan Rubner
Copyright: Das Urheberrecht Iür angenommene und veröIIentlichte Manuskripte liegt bei der IDG Inter-
active GmbH. Eine Verwertung der urheberrechtlich geschützten Beiträge und Abbildungen, insbesonde-
re durch VervielIältigung und/oder Verbreitung, ist ohne vorherige schriItliche Zustimmung des Verlags
unzulässig und straIbar, soweit sich aus dem Urheberrechtsgesetz nichts anderes ergibt. Eine Einspeiche-
rung und/oder Verarbeitung der auch in elektronischer Form vertriebenen Beiträge in Datensysteme ist
ohne Zustimmung des Verlags nicht zulässig.
Anzeigen:
Anzeigenleitung: Dirk Limburg, Tel.: 0 89/3 60 86-871
Leitung Anzeigendisposition: RudolI Schuster, Tel. 0 89/3 60 86-135, Fax -328
Anzeigentechnik: Martin Mantel, Andreas Mallin
Digitale Anzeigenannahme: Thomas Wilms, leitend, Tel. 0 89/3 60 86-604, Fax -328
Vertrieb / Produktion:
Vertrieb: JoseI Kreitmair (leitend), Katrin Elsler
Vertriebsmarketing: Peter Priewasser (leitend), SteIanie Kusseler
Vertrieb Handelsaufage: MZV Moderner ZeitschriIten Vertrieb, Breslauer Straße 5, 85386 Eching,
Tel.: 0 89/3 19 06-0, Fax: -113, E-Mail: mzv(mzv.de, Website: www.mzv.de
Produktionsleitung: Heinz Zimmermann
Druck: Schoder Druck, Gutenbergstraße 12, 86368 GersthoIen
Haftung: Eine HaItung Iür die Richtigkeit der Beiträge können Redaktion und Verlag trotz sorgIälti-
ger PrüIung nicht übernehmen. Die VeröIIentlichungen im tecCHANNEL-Compact erIolgen ohne Be-
rücksichtigung eines eventuellen Patentschutzes. Auch werden Warennamen ohne Gewährleistung einer
Ireien Verwendung benutzt.
Verlag: IDG Interactive GmbH, Leopoldstraße 252b, 80807 München, Tel.: 0 89/3 60 86-0, Fax: -501
Geschäftsführer: York von Heimburg
Verlagsleitung: Frank Klinkenberg
VeröIIentlichung gemäß § 8, Absatz 3 des Gesetzes über die Presse vom 8.10.1949: Alleiniger Gesell-
schaIter der IDG Interactive GmbH ist die IDG Communications Verlag AG, München, eine 100-prozen-
tige Tochter der IDG Inc., Boston, Mass., USA.
Vorstand: Keith Arnot, York von Heimburg, Pat Kenealy
Aufsichtsratsvorsitzender: Patrick McGovern
tecCHANNEL-Compact erscheint im Verlag der PC-WELT. Darüber hinaus gehören zu unserer Verlags-
gruppe Iolgende ZeitschriIten:
Leser- und Abo-Service:
A.B.O Verlagsservice GmbH, Ickstattstraße 7, 80469 München, Tel: 0 89/20 95 91 32, Fax: 0 89/20 02 8100
'
¦:¦~¦l
wwwlecC¦~::e¦oe
InbaIt
EditcriaI 7
Auf die PIätze, fertig, 5erver... 7
Impressum 8
1. Die Reft-CD 1ó
1.1 5u5E Linux 9.0 Webserver Editicn 1ó
!.!.! 5ystemvoraussetzungen !5
!.!.2 Booten von C0 oder Floþþy !5
!.!.3 Auswahl des |nstallationsmodus !7
!.!.ó |nstallationseinstellungen !7
!.!.5 Partitionierung der Festþlatte 2O
!.!.6 Voll- und halbautomatische Partitionierung 22
!.!.7 Hanuelle Partitionierung 23
!.!.8 5oftware-Auswahl 25
!.!.7 Bootmanager 26
!.!.!O Paketinstallation 26
!.!.!! root und root-Passwort 27
!.!.!2 Konñguration des Netzwerks 28
!.!.!3 Abschluss der |nstallation 3O
1.2 5u5E Linux: 5ystemkcnhguraticn 33
!.2.! 5oftware-Konñguration 3ó
!.2.2 Pardware-Konñguration 38
CD-InbaIt ó1
!.2.3 Konñguration der Netzwerkkarte ó5
!.2.ó Konñguration der Netzwerkdienste ó7
!.2.5 Benutzer und 5icherheit ó7
!.2.6 5ystemkonñguration 5!
!.2.7 5onstiges 52
1.3 ¥irtuaI PC: Prcbieren im Fenster 55
!.3.! 0ie Technik von virtuellen Haschinen 55
!.3.2 Virtueller Prozessor 56
!.3.3 Emulation der Festþlatte 57
!.3.ó Virtual PC 2OOó 58
!.3.5 |m Betrieb 58
!.3.6 Fazit 6!
!.3.7 Ubersicht Virtual PC 6!
1.ó InteI CcmpiIer und ¥Tune für Linux ó3
!.ó.! |nstallation und Verwendung 6ó
!.ó.2 Erweiterte Features 66
!.ó.3 VTune für Linux 66
1O wwwlecC¦~::e¦oe
!.ó.ó |nstallation und Betrieb 67
!.ó.5 Fazit 7O
2. CIient 71
2.1 WLAN unter Linux 71
2.!.! wLAN-5uþþort unter Linux 72
2.!.2 Unterstützten wLAN-Adaþter integrieren 73
2.!.3 5u5E-Besonderheiten ausbügeln 75
2.!.ó Unwillige Adaþter zum Laufen bringen 76
2.!.5 Eigene Karte mit Treiber versehen 77
2.!.6 windows-Treiber für schnelle wLANs 8O
2.!.7 |ntegration automatisieren 85
2.2 DiskIess Linux mit PXE 8ó
2.2.! Vorbedingungen 86
2.2.2 |nstallieren der 0istribution 87
2.2.3 Anþassungen für das Remote-Booten 87
2.2.ó NF5 konñgurieren 88
2.2.5 Vorbereiten des initrd-|mage 88
2.2.6 0PCP-Einstellungen anþassen 7O
2.2.7 TFTP konñgurieren 7O
2.2.8 Booten 7!
2.2.7 Einschrânkungen 7!
2.2.!O Ausblick 72
3. 5erver 93
3.1 Linux aIs Webserver 93
3.!.! Aþache 2.x im Uberblick 73
3.!.2 |nstallation / Uþgrade 7ó
3.!.3 Tücken beim Uþgrade 76
3.!.ó 0ie ersten 5chritte 77
3.!.5 6rundlagen zur 5icherheit 77
3.!.6 0ie eigene webseite: Vorbereitungen !O!
3.!.7 Verzeichnis-Layout !O!
3.!.8 0er virtuelle Post !O3
3.!.7 Fazit !O5
3.2 Erweiterte Apacbe-Kcnhguraticn 10ó
3.2.! Trafñc reduzieren mit 0atenkomþression !O6
3.2.2 Kürzere Antwortzeiten dank Caching !O7
3.2.3 Einfacher Zugriffsschutz !!O
3.2.ó Erweiterter Zugriffsschutz !!3
3.2.5 Fazit !!ó
3.3 Linux aIs HaiIserver mit XHaiI 115
3.3.! 0as Leistungssþektrum von XHail !!5
3.3.2 0ie |nstallation !!6
3.3.3 0ie Konñguration absichern !!7
¦:¦~¦l
11
3.3.ó Verwaltung þer Browser einrichten !!8
3.3.5 0ie erste Hail-0omain !!7
3.3.6 User verwalten !2!
3.3.7 Hulti-0omain-5etuþ !23
3.3.8 XHail als Hail-5ammler !23
3.3.7 Fazit !25
3.ó 5pam-Abwebr mit Linux 12ó
3.ó.! 5þamAssassin: ein ñexibler 5þam-Filter !26
3.ó.2 |nstallation der 5oftware !27
3.ó.3 0ie zwei Betriebsmodi !27
3.ó.ó Basiskonñguration !3O
3.ó.5 Auto-whitelist !3!
3.ó.6 Bayes-Filter !32
3.ó.7 Fremdsþrachenñlter !32
3.ó.8 Benimmregeln !33
3.ó.7 Externe 5chnittstellen !35
3.ó.!O |ntegration in XHail !36
3.ó.!! Fazit !37
3.5 Linux aIs Windcws-5erver 138
3.5.! 0as ist neu in 5amba 3 !38
3.5.2 5amba 3 installieren !38
3.5.3 5amba konñgurieren !óO
3.5.ó User einrichten !ó2
3.5.5 Freigaben einrichten !ó3
3.5.6 Arbeit mit 6ruþþen !ó5
3.5.7 Tiþþs. Tricks und Performance !ó6
3.5.8 Fazit und Ausblick !ó7
3.ó Linux aIs Printserver 1ó8
3.6.! 0rucker þer 6U| einrichten !ó8
3.6.2 0rucker manuell einrichten !ó7
3.6.3 Netzwerkdruck vorbereiten !5O
3.6.ó Treiberautomatik einrichten !5!
3.6.5 CUP5-Postscriþt-Treiber vorbereiten !52
3.6.6 Adobe-Treiber für windows 7x vorbereiten !52
3.6.7 Treiber-0ownload aktivieren !53
3.6.8 0uoten für 0ruckauftrâge !55
3.6.7 0en Zugang beschrânken !56
3.6.!O 0rucken mit windows-Treibern: Vorarbeiten !57
3.6.!! windows-Treiber auf dem 5erver installieren !57
3.6.!2 Fazit !6!
3.7 HanueIIe Updates für den 5L05 1ó2
3.7.! 5icherheitslücken im 5L05-Kernel !62
3.7.2 Uþdate auf Kernel 2.ó.2ó !63
¦:¦~¦l
wwwlecC¦~::e¦oe
1Z wwwlecC¦~::e¦oe
3.7.3 Komþilieren und |nstallieren des Kernel !65
3.7.ó weitere Uþdates !66
3.7.5 sendmail / þostñx !67
3.7.6 rsync !67
3.7.7 þþtþd !67
3.7.8 oþenssh / oþenssl !68
3.7.7 Fazit !68
ó. Netzwerk 170
ó.1 Linux aIs Pcuter 170
ó.!.! 0ie Pardware vorbereiten !7O
ó.!.2 Linux installieren !7!
ó.!.3 05L-Verbindung einrichten !72
ó.!.ó 0efault-6ateway manuell einrichten !76
ó.!.5 0PCP-5erver einrichten !77
ó.!.6 Routing und Hasquerading aktivieren !78
ó.!.7 |50N-Fallback einrichten !8O
ó.2 Linux aIs FirewaII 18ó
ó.2.! 5etuþ: Lieber von Pand !86
ó.2.2 0ie Arbeitsweise von |þtables !87
ó.2.3 0ie www-Faustregel !7!
ó.2.ó 0ie schârfere Variante !72
ó.2.5 Eigene 5erver einrichten !73
ó.2.6 Eigene Ketten deñnieren !7ó
ó.2.7 Ausgehende Verbindungen beschrânken !75
ó.2.8 Trafñc-5haþing !76
ó.2.7 Eine warnung zum 5chluss !78
ó.3 Internet-Pcuter im Eigenbau 199
ó.3.! 6rundkonñguration !77
ó.3.2 Netzwerkkarten 2OO
ó.3.3 |P-Adressierung und Hasquerading 2O!
ó.3.ó 0omain Name 5ervice 2O2
ó.3.5 5teuerung þer Client 2O2
ó.3.6 Protokollierung 2O3
ó.3.7 Jahr 2OOO 2Oó
ó.3.8 Automatische |P-Adressvergabe mit 0PCP 2Oó
ó.3.7 Fliól als 05L-Router 2O5
ó.3.!O Erstellen der Router-Bootdiskette 2O6
ó.3.!! Erweiterte Konñguration 2O6
ó.3.!2 Uberwachung þer Browser 2O7
ó.3.!3 0yn0N5 - 5ervice für dynamische |P-Adressen 2O7
ó.3.!ó Port-Forwarding 2O8
ó.3.!5 Port-Forwarding Beisþiel 2O7
ó.3.!6 Routing- und Firewall-Funktionen 2!O
ó.3.!7 Troianer unterdrücken 2!O
¦:¦~¦l
1o
ó.3.!8 5ecurity 2!!
ó.3.!7 VPN-5erver 2!2
ó.3.2O 6rañsche 5tatistik mit 56raþh 2!3
ó.3.2! Ein Zeit-5erver für das Netz 2!ó
ó.3.22 Aufrüst-Kits 2!ó
5. 6rundIagen 21ó
5.1 5erver-KcnscIidierung auf Linux 21ó
5.!.! Higrationsszenario 2!6
5.!.2 Alternativen: windows vs. Linux 2!7
5.!.3 Konsolidierung und Virtualisierung 2!8
5.!.ó Kostensenkungsþotenziale 2!8
5.!.5 Administrationskosten 2!7
5.!.6 Lizenzkosten 22O
5.!.7 5trategische Bewertung 22!
5.!.8 5chrittweise Higration 222
5.!.7 Fazit 222
5.2 Linux-5ecurity-Pepcrt 223
5.2.! Kritische Lücken in Linux 2.ó 22ó
5.2.2 Lücken in anderen Kernel-Versionen 22ó
5.2.3 6ravierende Lücken in 0iensten 22ó
5.2.ó |nterNetNews - Pufferüberlauf 225
5.2.5 Cyrus |H5P 5erver - Pufferüberlauf 225
5.2.6 rsync - Peaþ-Uberlauf im 5erver 225
5.2.7 FreeRA0|U5 - Peaþ-Uberlauf 225
5.2.8 0þen55L - Lücke bei Client-Zertiñkaten 225
5.2.7 ProFTP0 - Pufferüberlauf 226
5.2.!O 0þen55P - Hehrere 5icherheitslücken 226
5.2.!! 5endmail - Pufferüberlauf 226
6Icssar 230
Index 235
tecCRANNEL-Leserumfrage Mil:~c¦e: u:o gewi::e:¹ 238
¦:¦~¦l
wwwlecC¦~::e¦oe
Die ¦e[lCD
1/ wwwlecC¦~::e¦oe
1. Die Reft-CD
Mit der SuSE Linux 9.0 Webserver Edition setzen Sie innerhalb kürzester Zeit
einen voll Iunktionalen LAMP-Webserver (Linux, Apache, MySQL, PHP) auI.
Die ersten beiden Abschnitte dieses Kapitels erläutern ausIührlich die Installation
von der beiliegenden CD-ROM und die Konfguration des Systems mit HilIe des
grafschen Management-Tools YaST2. Weitere Hinweise zum Ausbau des Sys-
tems als Windows- und Mail-Server fnden Sie in Kapitel 3.
Wer ein neues Betriebssystem oder auch nur eine neue Applikation ausprobieren
möchte, sieht sich im Allgemeinen einer Reihe lästiger Arbeiten und Probleme
gegenüber. Im einen Fall ist die Platte neu zu partitionieren, im anderen fndet
man nach der Deinstallation oIt noch Reste vor, die das System in einem instabi-
len Zustand hinterlassen. Mit dem Virtual PC 2004 von MicrosoIt - der neuesten
Version der von Connectix zugekauIten SoItware - können Sie solche Schwierig-
keiten umgehen. Wie das Iunktioniert, lesen Sie in Abschnitt 1.3.
Niemand kennt die kleinen Geheimnisse der diversen Intel-Prozessoren so gut
wie der Hersteller selbst. Daher verwundert es wenig, dass Intel einen eigenen
Compiler im PortIolio hat, mit dem sich Code optimal Iür die diversen Intel-Pro-
zessoren auIbereiten lässt. Der Intel C¹¹-Compiler Iür Linux ist seit kurzem in
der Version 8.0 verIügbar und bietet eine Reihe von Neuerungen. Wie Sie ihn op-
timal einsetzen, schildert Abschnitt 1.4.
1.1 5u5E Linux 9.0 Webserver Editicn
AuI der bootIähigen CD-ROM in diesem tecCHANNEL-Compact fnden Sie eine
voll IunktionsIähige LAMP-Version des aktuellen SuSE Linux 9.0. Das Kürzel
LAMP steht Iür die typischen Komponenten eines Linux-basierten Webservers:
Linux, den HTTP-Server Apache, die relationale Datenbank MySQL sowie die
Web-Script-Sprache PHP. Dem AuIbau eines leistungsIähigen Webservers mit der
auI der CD enthaltenen SoItware steht also nichts im Wege.
Dieses Kapitel beschreibt ausIührlich die Installation und Grundkonfguration ei-
nes entsprechenden Systems. Wie Sie den Webserver zudem speziell Iür den ge-
wünschten Einsatzzweck anpassen und mit nützlichen ZusatzIunktionen wie Fire-
wall, Mailserver mit Spam-Filter, Windows-Server oder Router ausbauen können,
lesen Sie in den Kapiteln 3 und 4.
Beachten Sie bitte: Für die auI dieser CD-ROM ausgelieIerte SuSE-SoItware leis-
ten weder die SuSE Linux AG noch tecCHANNEL irgendwelchen Support zu
Installation, Konfguration oder Betrieb. Falls bei Einrichtung oder Betrieb Fra-
gen auItauchen, die über die in diesem tecCHANNEL-Compact enthaltenen In-
Iormationen hinausgehen, sollten Sie diesbezüglich die SuSE Hardware- bezie-
hungsweise die Support-Datenbank von SuSE konsultieren.
1¯ weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
Die SuSE-Hardware-Datenbank erreichen Sie unter dem URL hardwaredeb.
suse.de, die SuSE-Support-Datenbank (SDB) unter portal.suse.com/sdb/de/
index.html. AuI einem bereits installierten System können Sie alternativ den
Punkt .SuSE-HilIe' beziehungsweise .SuSE-help' oder .Help' im Hauptmenü
der verwendeten Benutzeroberfäche anwählen.
1.1.1 5ystemvcraussetzungen
Das als Basis der LAMP-Installation dienende SuSE 9.0 basiert auI dem Linux-
Kernel 2.4.21. Als CPU benötigt es einen Prozessor der i586-Klasse. Dabei ist es
egal, ob es sich um eine Intel-CPU (Celeron, Pentium bis Pentium-4, Xeon), einen
Prozessor von AMD (K6/II/III, Duron, Athlon, Athlon XP/MP, Athlon 64) oder
eine von IBM stammende CPU handelt. Ältere Architekturen bis einschließlich
i486 sowie Cyrix-Prozessoren können Sie iedoch nicht einsetzen.
An Hauptspeicher konsumiert das System zumindest 64 MByte RAM, was auch
die Grundvoraussetzung Iür eine komIortable grafsche Installation darstellt. Für
einen praktikablen Einsatz sind aber mindestens 128 MByte Hauptspeicher anzu-
raten, bei Einsatz der Benutzeroberfäche KDE darI es auch gern mehr sein.
Für eine reine Installation sind rund 1,2 GByte an Plattenplatz zu veranschlagen,
wodurch sich unter Addition hinreichender Reserven Iür eigene Dateien und Er-
weiterungen ein minimal empIehlenswerter MassenspeicherbedarI von 2 GByte
ergibt. Da SuSE Linux 9.0 über LBA48-Support auch den Einsatz sehr großer
Festplatten unterstützt, lässt sich das Iast beliebig ausbauen. ErIahrungsgemäß ge-
nügen 8 GByte (inklusive Swap-Partition) allen praktischen Belangen. Durch sei-
ne umIassende Hardware-Unterstützung kommt SuSE Linux 9.0 mit den meisten
Grafkkarten klar. Insbesondere beim Einsatz eines der gängigen Grafk-Control-
ler (ATI Radeon 9xxx, NVIDIA GeForce 4/MX, Matrox 450/550) läuIt das AuI-
setzen und Konfgurieren der grafschen Oberfäche völlig problemlos ab.
Eine genaue AuIstellung unterstützter Hardware-Komponenten fnden Sie bei Be-
darI in der bereits erwähnten SuSE-Hardware-Datenbank.
1.1.2 Bccten vcn CD cder FIcppy
Zum Starten der Installation legen Sie die CD-ROM in das LauIwerk und starten
den Rechner. Ihr System muss dabei von CD booten können. Ist dies nicht der
Fall, müssen Sie möglicherweise die entsprechenden Optionen im BIOS Ihres
PCs ändern. Falls Sie ein SCSI-System einsetzen, müssen Sie unter Umständen
die Bootsequenz des SCSI-Controllers entsprechend anpassen.
Die meisten aktuellen PC-Systeme können problemlos von CD booten. Für den
Fall, dass Ihr Rechner dies nicht unterstützt, müssen Sie eine Bootdiskette erstel-
len. AuI der CD fnden Sie im Verzeichnis .\boot' ein Image einer Bootdiskette
(.bootdisk') sowie von Disketten mit Modulen zur Unterstützung zusätzlicher
Die ¦e[lCD
1o wwwlecC¦~::e¦oe
Hardware (.modules1' bis .modules5'). AuI dem Bootdisk-Image befndet sich
unter anderem der Loader syslinux, der es erlaubt, während des Bootvorgangs den
gewünschten Kernel auszuwählen. Zudem unterstützt das Programm linuxrc Sie
beim Laden der Kernel-Module speziell Iür Ihre Hardware und startet schließlich
die Installation. Je nach verwendeter Hardware benötigen Sie noch eines oder
mehrere der Disketten-Images mit nachzuladenden Modulen. Welche Diskette da-
bei Iür welche Hardware-Komponente notwendig ist, beschreibt ieweils eine zu-
sammen mit den Images in /boot gespeicherte Textdatei, die den gleichen Namen
wie das Image trägt. InIormationen zu modules1 fnden Sie also in modules1.txt.
Zum Erzeugen der benötigten Disketten aus den Images verwenden Sie das DOS-
Programm RaWrite, das sich auI der CD im Verzeichnis .\dosutils\rawrite' befn-
det. Sie legen die CD-ROM ins LauIwerk ein und starten anschließend unter DOS
beziehungsweise in einer DOS-Box unter Windows rawrite.exe. Das Programm
Iragt nun Quelldatei und ZiellauIwerk Iür das Erzeugen der Diskette ab:
C.\Windows> d.\dosutils\rawrite\rawrite
RaWrite I.? - Write disk ñle to raw 0oppy diskette
Enter source ñle name. d.\boot\bootdisk
Enter destination drive. a.
Nun Iordert RaWrite zum Einlegen einer Iormatierten Diskette auI. Nach dem
Quittieren der AuIIorderung mit Enter erzeugt das Programm die gewünschte Dis-
kette. Nicht nur die Bootdisk, sondern gegebenenIalls auch die Disketten mit den
Modulen lassen sich auI diesem Weg erzeugen.
Lcs gebt`s: Ü Le: oe: Sl~:lLi¦osc¦i:: oe: ¦:sl~¦¦~lio: ¦~sse: sic¦ ei:e g~:.e Rei¦e
vo: 0¡lio:e: .u: Ei::ic¦lu:g u:o Svsle:oi~g:ose ~:w~¦¦e:
1¯ weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
1.1.3 AuswabI des InstaIIaticnsmcdus
Nachdem Ihr Rechner von der CD gestartet ist, erscheint zunächst ein Begrü-
ßungsbildschirm. Nach einigen Sekunden wechselt die Anzeige zu einem Aus-
wahlmenü, über das Sie den gewünschten Startmodus anwählen können. In der
Voreinstellung bootet der Rechner von der Festplatte aus weiter, Ialls Sie nicht
innerhalb von zehn Sekunden über die Cursor-Tasten eine der angezeigten Instal-
lations- oder Diagnose-Optionen anwählen.
Für die Installation stehen vier vorkonfgurierte Varianten zur Auswahl. Bei halb-
wegs aktuellen Rechnern ist die Variante .Installation' die angemessene. Die Op-
tion .Installation ACPI Disabled' wählen Sie dann an, wenn der verwendete
Rechner kein ACPI unterstützt oder Sie den Verdacht haben, dass die ACPI-Imp-
lementation Schwierigkeiten verursachen könnte. Die Spielart .Installation SaIe
Settings' deaktiviert sowohl DMA als auch alle eventuell problematischen Po-
wer-Management-Funktionen.
Als Notbremse bei Schwierigkeiten mit Treibern ist .Manual Installation', also
die Einrichtung von Hand, gedacht. In diesem Modus unterlässt die Installations-
routine das automatische Nachladen von (möglicherweise problematischen) Trei-
bermodulen. Dies betriIIt allerdings auch den USB-Support, so dass ein Einsatz
dieser Variante bei Rechnern mit USB-Tastatur nicht in Frage kommt.
Die Option .Rescue System' benötigen Sie zur Installation nicht: Sie lässt sich
später dazu einsetzen, ein Iehlkonfguriertes oder beschädigtes System wieder zu
reparieren. Im VorIeld der Installation kann iedoch der .Memory Test' von Nut-
zen sein. Linux ist IehlerhaIten RAM-Modulen gegenüber sehr viel unduldsamer
als die MicrosoIt-Betriebssysteme.
Hegen Sie bei einem Scheitern der Installation den Verdacht, dies sei möglicher-
weise auI SpeicherIehler zurückzuIühren, können Sie über .Memory Test' das
RAM überprüIen. Da Fehler auI Speichermodulen gern nur sporadisch in Erschei-
nung treten, muss der Test allerdings mehrere Stunden IehlerIrei durchlauIen, be-
vor Sie von einem perIekt Iunktionierenden Arbeitsspeicher ausgehen können.
Auch an der .Tastaturbelegung' sollten keine Modifkationen erIorderlich sein,
da sie bereits passend zur gewählten Sprache in der Regel wohl Deutsch ein-
gestellt wurde. Eine Änderung ist nur dann notwendig, wenn Sie öIters Zeichen
mit einer Akzentuierung verwenden wollen. In diesem Fall müssen Sie die Vari-
ante .Deutsch (mit .toten' Tasten)' anwählen.
Dann werden die Akzentzeichen und das .Dach' (.`') auI Selbstlaute auIgesetzt,
anstatt als eigene Zeichen behandelt zu werden. Da Sie iedoch einen Server auI-
setzen, ist die Verwendung des Layouts .Deutsch' sinnvoller: In diesem Fall er-
halten Sie statt der .Akzente' direkt die Iür Shell-Scripts notwendigen Ticks (.´')
und Backticks (.`').
Über die Eingabezeile mit den .boot options' lassen sich dem Kernel bei BedarI
zusätzliche Anweisungen und Parameter Iür den Systemstart übergeben. In aller
Regel können Sie diese Möglichkeit iedoch erst einmal ignorieren.
Die ¦e[lCD
18 wwwlecC¦~::e¦oe
KcmfcrtabeI: Die Ei::ic¦lu:g oes Svsle:s e:[o¦gl uLe: ei:e g:~[sc¦e 0Le:[~c¦e D~Lei isl i:
e:sle: Sc¦:ill oie .u ve:we:oe:oe S¡:~c¦e ~us.uw~¦¦e:
Bei gravierenden Schwierigkeiten mit dem ACPI-Support lässt sich dieser hier
aber genauer aussteuern. Die Angabe .acpi÷oII' schaltet ACPI komplett ab,
.acpi÷oldboot' lässt nur die möglicherweise zum Booten nötigen Teile zu, und
.acpi÷Iorce' erzwingt auI Rechnern mit älterem BIOS die Verwendung von
ACPI. Gern genutzt wird auch die Möglichkeit, hier über Angabe eines Code-
werts die Bildschirmaufösung des FramebuIIer-Device zu modifzieren. Die An-
gabe .vga÷791' erzwingt beispielsweise eine Anzeige mit einer FarbtieIe von 16
Bit und einer Aufösung von 1024 mal 768 Pixel. Näheres dazu fnden Sie in der
SDB unter dem Stichwort .FramebuIIer'.
Die Bildschirmaufösung Iür die Installation können Sie aber auch durch Drücken
der Taste F2 modifzieren. Sie erhalten dann eine Liste der von Ihrem System un-
terstützten Grafkmodi angezeigt, aus der Sie die gewünschte Aufösung auswäh-
len können. Hier lässt sich bei Schwierigkeiten mit der Installation im Grafkmo-
dus auch eine Installation im Textmodus selektieren. Im Weiteren erläutern wir
die Installation im grafschen Modus. Dieser bietet gerade Linux-Einsteigern eine
relativ intuitive Bedienung sowie kontextsensitive HilIe zu allen Optionen und ist
daher in den meisten Fällen zu empIehlen.
Nachdem Sie mit der Enter-Taste einen Installationsmodus gewählt haben, wird
ein minimales Linux-System in den Hauptspeicher geladen. Unter diesem läuIt
der weitere Installationsvorgang ab. Zum Abschluss des Ladevorgangs startet das
Installations- und Konfgurations-Tool YaST2 mit einer grafschen Oberfäche.
1' weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
1.1.ó InstaIIaticnseinsteIIungen
Nun beginnt die eigentliche Einrichtung der SuSE Linux 9.0 Webserver Edition
mit HilIe von YaST2. Die Bildschirmansichten Iolgen dabei weit gehend einem
einheitlichen Schema. Sie enthalten im linken Bildteil einen HilIetext, der Sie
über die aktuellen Installationsoptionen inIormiert und Hinweise zur entsprechen-
den Auswahl gibt.
Die EingabeIelder, Auswahllisten und Buttons im rechten Bildteil können Sie so-
wohl mit der Tastatur als auch mit der Maus steuern. Mit der Tab-Taste verschie-
ben Sie den Fokus und aktivieren einen Button oder ein AuswahlIeld. Die Enter-
Taste verhält sich äquivalent zum Mausklick. Die Tastenkombinationen sind vor
allem dann hilIreich, wenn Ihre Maus nicht automatisch erkannt wurde.
Zweiter 5cbritt: Ü Le: oe:
Di¦osc¦i:: :il oe: ¦:sl~¦
¦~lio:sei:sle¦¦u:ge: ¦o:
:e: Sie oie vo: Y~STZ
vo:gesc¦¦~ge:e: Selli:gs
Lei Deo~:[ :ooi[.ie:e:
¦ie: we:oe: Leis¡ie¦sweise
Le:eils vo:¦~:oe:e [~:li
lio:e: :ecvc¦eo
Im ersten Schritt legen Sie die von Ihnen gewünschte Sprache Iest. Das entspre-
chende Setting übernimmt YaST2 automatisch Iür die Festlegung des zugehörigen
Tastaturlayouts. Zudem stellt das Tool die Zeitzone auI die gemäß der Sprachaus-
wahl wahrscheinlichste Variante ein.
Anschließend prüIt YaST2 die Hardware des Rechners und legt anhand der Ergeb-
nisse Vorgabewerte Iür die Konfguration der Maus, der FestplattenauIteilung und
des Bootloaders Iest. Die Ergebnisse zeigt YaST2 dann in einem Fenster mit dem
Titel .Installationseinstellungen' an. Hier haben Sie die Möglichkeit, die ermittel-
ten DeIault-Einstellungen bei BedarI zu modifzieren, indem Sie auI eine der als
Links markierten AbschnittsüberschriIten klicken.
Der .Modus' Iür die Einrichtung des Systems ist bereits Iür eine Neuinstallation
voreingestellt. Hier müssen Sie nur dann noch eine Änderung vornehmen, wenn
Sie eine schon bestehende Installation aktualisieren oder eine beschädigte SuSE
9.0 Webserver Edition reparieren wollen.
Die ¦e[lCD
ZO wwwlecC¦~::e¦oe
Tcte Tasten: Diese T~sl~lu:Le¦egu:g giLl Lesli::le Zeic¦e: :ic¦l so[o:l ~us, so:oe:: sel.l
sie e:sl Lei: [o¦ge:oe: T~sle:o:uc¦ ~¦s /¦.e:l ~u[ oe: e:ls¡:ec¦e:oe: Duc¦sl~Le: ~u[
Die Maus erkennt YaST2 in den meisten Fällen automatisch korrekt, so dass sie
an dieser Stelle bereits problemlos Iunktionieren sollte. Ist das nicht der Fall, lässt
sich über den Punkt .Maus' ein anderer Typ Iür das Zeiger-Device auswählen.
Um die getroIIene Einstellung erst einmal zu testen, drücken Sie die Tastenkom-
bination Alt¹T. Haben Sie die optimale Variante geIunden, speichern Sie diese
mit dem Schalter .Übernehmen' ab.
1.1.5 Partiticnierung der FestpIatte
Nun geht es an die Einrichtung der Festplatte Iür den Betrieb mit SuSE Linux 9.0.
An dieser Stelle bieten sich im Wesentlichen drei Möglichkeiten zur Einrichtung
des Massenspeichers:
Zum einen können Sie YaST2 die Partitionierung der Festplatte gemäß den vor-
eingestellten Werten überlassen. Diese StandardauIteilung umIasst in den meisten
Fällen zwei Partitionen: eine Swap-Partition, deren Größe auI den UmIang des
verIügbaren Hauptspeichers zugeschnitten ist, sowie eine Root-Partition (./') Iür
alle System- und Benutzerdaten, die den restlichen Ireien Plattenspeicher belegt.
Alternativ können Sie die Partitionierung manuell vornehmen. Sie haben in die-
sem Fall die vollständige Kontrolle über die PlattenauIteilung sowie die Zuwei-
sung der Partitionen. Bei einem geplanten Einsatz auch als File- und Printserver
Z1 weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
AIIes meins: ¦: oe:
\o:ei:sle¦¦u:g Le¦egl
SuSE Li:ux oe:
ges~:le: [:eie:
Fesl¡¦~lle:¡¦~l. :il
Desc¦¦~g u:o lei¦l
i¦: i: .wei [~:lilio
:e: ~u[
macht es unter Umständen Sinn, eine eigene Home-Partition (/home) Iür die Be-
nutzer anzulegen. Ein Webserver produziert zudem auch umIangreiche Protokoll-
daten, die zusammen mit den temporären Files in einer eigenen Partition (/var) am
besten auIgehoben sind.
Möglicherweise wollen Sie die SuSE 9.0 Webserver Edition mit dem Logical Vol-
ume Manager, kurz LVM, betreiben. Der LVM schiebt eine logische Abstrak-
tionsebene zwischen die physikalischen Medien (sprich: Festplatten) und das ei-
gentliche Dateisystem. Er teilt dazu die physikalischen LauIwerke in eine Art
Speichereinheiten auI. Die Speichereinheiten verschiedener LauIwerke lassen
sich zu so genannten Logical Volumes zusammenIassen, die man wiederum (vir-
tuellen) Partitionen zuweisen kann.
Je nach SpeicherbedarI Iügt man anschließend nach Belieben Einheiten zu Parti-
tionen hinzu oder entIernt sie aus diesen. Der Logical Volume Manager ermög-
licht auI diese Weise unter anderem die Größenänderung von Partitionen während
des Rechnerbetriebs. Haben Sie also auI einer der Partitionen nicht mehr genü-
gend Ireien Speicher, so können Sie dieses Problem lösen, indem Sie der entspre-
chenden Partition neue Speichereinheiten zuweisen. Dies kann entweder von der
gleichen oder einer anderen Festplatte im Rechner erIolgen.
Weitere InIormationen über die Konfguration des Logical Volume Manager stellt
SuSE in einem Whitepaper bereit, das Sie unter der URL www.suse.de/en/
business/certifcations/certifedsoItware/oracle/docs/lvmwhitepaper.pdI zum
Download bereitgestellt fnden.
Eine ausIührliche Schilderung der Konfguration des Logical Volume Manager
würde den Rahmen dieses Artikels sprengen. Daher beschränken wir uns darauI,
im Folgenden die automatische Partitionierung von YaST2 sowie die Tätigkeiten
zum manuellen Einrichten von Partitionen zu erläutern.
Die ¦e[lCD
ZZ wwwlecC¦~::e¦oe
1.1.ó ¥cII- und baIbautcmatiscbe Partiticnierung
Befnden sich auI der Festplatte keine bestehenden Partitionen, so können Sie die
von YaST2 vorgeschlagene AuIteilung der Festplatte übernehmen. In diesem Fall
überspringen Sie die Iolgenden AusIührungen bis .1.1.7 SoItware-Auswahl'.
AndernIalls wählen Sie nun .Partitionierung' und im Iolgenden Bildschirm die
Option .Partitionen nach eigenen Vorstellungen anlegen'. Falls Sie die gesamte
Festplatte Iür den Gebrauch durch Linux Ireigeben oder komplette Partitionen Iür
diesen Zweck löschen wollen, wählen Sie im nun Iolgenden Bildschirm die ange-
zeigte beziehungsweise bei mehreren Festplatten eine der angezeigten Harddisks
zur Bearbeitung aus und klicken auI .Weiter'. Nun können Sie die angezeigte
Platte beziehungsweise einige der angezeigten Partitionen Iür die Installation Irei-
geben. YaST2 teilt anschließend den Ireigewordenen Platz automatisch Iür den
Gebrauch durch die Installation auI.
Typiscb für 5erver: F~¦¦s Sie ei:e Fesl¡¦~lle ¦o:¡¦ell [u: oie ¦:sl~¦¦~lio: ~usw~¦¦e:, lei¦l SuSE
Li:ux oe: ges~:le: S¡eic¦e:¡¦~l. ~ulo:~lisc¦ [u: oie \e:we:ou:g ou:c¦ Li:ux ~u[
Alternativ können Sie auch dadurch auI der Platte Freiraum Iür die Linux-Ein-
richtung schaIIen, dass Sie bestehende FAT- oder NTFS-Partitionen eines beste-
henden Windows-Systems verkleinern. Falls sich auI der zur Linux-Installation
vorgesehenen Platte solche Partitionen fnden, bietet YaST2 von sich aus ein ent-
sprechendes Menü mit den Optionen .Windows komplett löschen' und .Win-
dows-Partition verkleinern' an. Bevor Sie allerdings eine Windows-Installation
Zo weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
auI diesem Weg eindampIen, sollten Sie diese vorher noch unter Windows auI
Fehler prüIen sowie deIragmentieren. In iedem Fall beschleunigt dies die spätere
Verkleinerung, im Fall von NFTS-Partitionen ist es sogar zwingende Vorausset-
zung. Last not least: Auch ein vorbeugendes Backup der entsprechenden Partitio-
nen schadet sicher nicht. Nach der erIolgreichen SchrumpIung der Partition(en)
verteilt YaST2 wiederum automatisch den Ireigewordenen Platz an Linux.
1.1.7 HanueIIe Partiticnierung
Falls keine der oben vorgestellten Methoden zur AuIteilung der Platte ihren An-
Iorderungen genügt, müssen Sie wohl oder übel selbst Hand anlegen. In diesem
Fall sollten Sie allerdings mit BegriIIen wie Partition, Dateisystem und Mount-
point auI einigermaßen vertrautem Fuß stehen.
HanueIIe Partiticnierung: Je :~c¦ Ei:s~l..wec¦ ¦~:: es Si:: :~c¦e:, oie Fesl¡¦~lle ¦o:
¡¦ell vo: ¦~:o uLe: oe: ¦o:[o:l~L¦e: [~:lilio:s:~:~ge: ei:.u:ic¦le:
In diesem Fall wählen Sie über .Partitionierung' die Option .Erweiterte Einstel-
lungen, manuelle AuIteilung (Partitionierung)' an. In der Iolgenden Bildschirm-
maske können Sie in Ihrem System Partitionen anlegen, bearbeiten und löschen.
EmpIehlenswert sind eine Root-Partition (Mount-Punkt: ./') von rund zwei Giga-
byte sowie eine Swap-Partition von der doppelten Größe des Hauptspeichers, ie-
doch maximal einem Gigabyte.
Optional können Sie auch die Kernel- und Bootloader-Dateien in eine eigene Par-
tition verlegen (./boot'), den temporären und Protokolldateien separaten Platz
einräumen (./var') oder den Benutzern Speicherplatz zuordnen (./home').
Die ¦e[lCD
Z/ wwwlecC¦~::e¦oe
Die Größe einzelner Partitionen legen Sie entweder direkt in Mega- respektive
Gigabyte oder in Festplattenzylindern Iest. Als Dateisystem-Typen Iür die Daten-
partitionen stehen Ext2, Ext3, JFS, XFS oder die Vorgabe ReiserFS zur Aus-
wahl. Wollen Sie die Vorteile eines Journaling-Filesystems nutzen, entscheiden
Sie sich Iür das ohnehin von SuSE präIerierte ReiserFS. Für die Swap-Partition
kommt der gleichnamige Filesystem-Typ zum Einsatz.
Hier oIIeriert das Partitionstool die Möglichkeit, Partitionen mit verschlüsseltem
Dateisystem einzurichten. Eine solche Verschlüsselung schützt vor unberechtig-
ten ZugriIIen durch Dritte, die zum Auslesen von Daten den Rechner neu starten.
Besonders auI Notebooks erweist sich ein solches Vorgehen zum Schutz von sen-
sitiven Daten als sinnvoll. Ein Server wie der auIzusetzende Webserver aber läuIt
in der Regel ständig, die Dateien befnden sich ohnehin im ZugriII. Die InIorma-
tionen auI den gemounteten, also ins Dateisystem eingebundenen Partitionen sind
dann in iedem Fall unverschlüsselt und Iür iedermann sichtbar.
¥ieIfaIt: Fu: oie Ei::ic¦lu:g oe: [~:lilio:e: sle¦e: ei:e g~:.e Rei¦e vo: D~leisvsle
:e: .u: /usw~¦¦ SuSE Li:ux Levo:.ugl o~Lei o~s Jou::~¦i:g Fi¦esvsle: Reise:FS
Wollen Sie trotzdem Daten verschlüsselt in einem Dateisystem speichern, wählen
Sie im HauptIenster des Partitionierungstools den Schalter .Kryptodatei' an. Im
Iolgenden Fenster können Sie eine auI einer der Partitionen gelagerte, verschlüs-
selte Datei beliebiger Größe defnieren, die sich später als Quasi-Partition mit ei-
genem Dateisystem in den Verzeichnisbaum einhängen lässt. Sie werden beim
Anlegen nach einem Passwort geIragt, das Sie bestätigen müssen. Achtung: Die-
ses Passwort lässt sich nachträglich weder ändern noch rekonstruieren. Vergessen
Sie es, sind die verschlüsselten Daten unwiederbringlich verloren.
Z¯ weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
Der Vollständigkeit halber sei noch erwähnt, dass SuSE Linux auch SoItware-
basierte RAIDs der Level 0, 1 und 5 unterstützt. Für Server-Installationen wie die
hier vorgenommene bieten solche Disk-Arrays keine beIriedigende PerIormance,
da alle Operationen von der CPU vorgenommen werden müssen. Daher soll an
dieser Stelle nicht näher darauI eingegangen werden. Falls Sie aus PerIormance-
(Striping) oder Redundanzgründen (Mirroring, RAID-5) ein Disk-Array betrei-
ben wollen, sollten Sie auI einen entsprechenden Host-Adapter zurückgreiIen.
1.1.8 5cftware-AuswabI
Die von YaST2 getroIIene Auswahl eines .Standard-Systems' sollten Sie im Prin-
zip so bestehen lassen, da nur bei dieser Auswahl alle Iür das LAMP-System not-
wendigen Dienste samt Dependencies automatisch mit ausgewählt werden. Bei
BedarI und einigen Linux-Vorkenntnissen können Sie den damit angepeilten Ins-
tallationsumIang von 1,2 GByte noch um einige hundert Megabyte abspecken.

5peck weg: Je :~c¦ Ei:s~l..wec¦ u:o ve:we:oele: ¦~:ow~:e ¦o::e: Sie oe: ¦:sl~¦¦~lio:s
u:[~:g :oc¦ :eou.ie:e: So s¡~:l ~¦¦ei: o~s /Lw~¦¦e: oe: ¦SDÑ0¡lio:e: :u:o 1¯ MDvle
Dazu starten Sie über SoItware/Erweiterte Auswahl den Paketmanager, schalten
dort von der Filteroption .Selektionen' auI .Paketgruppen' um und beginnen mit
dem EntIernen von Überfüssigem. Von der Entsorgung von Bibliotheken im All-
gemeinen und Komponenten der Paketgruppe .System' im Besonderen sollten
Sie iedoch unbedingt Abstand nehmen, Ialls Sie nicht ganz genau wissen, welche
Auswirkungen sich durch die Änderungen ergeben.
Die ¦e[lCD
Zo wwwlecC¦~::e¦oe
1.1.9 Bcctmanager
Nachdem Sie die SoItware zu Ihrer ZuIriedenheit konfguriert haben, ist im Iol-
genden Schritt der Bootmanager zum Systemstart einzurichten. Hierzu legen Sie
im Wesentlichen Iest, welchen Bootmanager Sie verwenden wollen, an welcher
Stelle im System er installiert wird und welche Bootpartitionen er verwalten soll.
Die von YaST2 getroIIenen Voreinstellungen können Sie meist ohne weitere Mo-
difkationen übernehmen. Sie bieten die Möglichkeit, über den Bootmanager
GRUB das installierte Linux und eine FailsaIe-Variante davon zu starten. Alterna-
tiv lässt sich von einer Diskette booten oder statt eines Systemstarts ein Speicher-
test vornehmen. Zudem bindet YaST2 auch eventuell vorhandene Bootpartitionen
anderer Betriebssysteme (DOS, Windows, etc.) gleich mit ins Bootmenü ein.
Als Alternativen bieten sich im Wesentlichen der Ersatz des GRUB durch das
zwar nicht ganz so ausgeIeilte, aber eventuell vertrautere LILO an oder aber durch
einen bereits vorhandenen Bootmanager (etwa PQBoot oder Ähnliches). Falls Sie
hier experimentieren wollen, sollten Sie aber auI ieden Fall im weiteren VerlauI
der Installation eine Bootdiskette anlegen lassen, mit der Sie das System im Falle
eines Falles alternativ starten können. Ansonsten lässt sich hier bei BedarI pro-
blemlos einmal mit den Konfgurationsmöglichkeiten .spielen': Über .Zurück-
setzen'/'Neue Konfguration vorschlagen' gelangen Sie iederzeit zu den ur-
sprünglich von YaST2 angepeilten Settings zurück.
1.1.10 PaketinstaIIaticn
Die verwendete Sprache haben Sie ia zu Beginn der Konfguration bereits Iestge-
legt, die Zeitzone hat anschließend YaST2 passend dazu eingestellt. Hier ist im
RegelIall nur noch Iestzulegen, ob die Systemuhr Ihres Rechners auI UTC (Uni-
versal Time Coordinated, .Greenwich-Zeit') oder auI die lokale Zeitzone
(.Europa'/Deutschland') eingestellt ist. Bei Rechnern, auI denen auch Windows
installiert ist, muss die Systemuhr nach Ortszeit lauIen, da Windows mit den
UTC-Angaben nicht zurechtkommt. Ein ausschließlich unter Linux betriebenes
System sollte dagegen konsequent UTC verwenden.
Letzte Warnung: Dieses \~::[e:sle: Lielel
ei:e [:~¦e C¦~:ce, oie Ei:sle¦¦u:ge: :oc¦
ei::~¦ .u :ooi[.ie:e: ooe: oie ¦:sl~¦¦~lio:
~L.uL:ec¦e:
Z¯ weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
Haben Sie alle Änderungen an der Systemkonfguration zu Ihrer ZuIriedenheit
abgeschlossen, dann starten Sie mit .Übernehmen' die eigentliche Installation.
Zur Sicherheit blendet YaST2 noch einmal ein BestätigungsIenster ein, in dem Sie
mit .Ja installieren' den Start der Einrichtung quittieren müssen. Falls Ihnen
doch noch ein Änderungswunsch eingeIallen ist, können Sie mit .Nein' auch
noch einmal zur Konfguration zurückkehren.
AndernIalls Iormatiert YaST2 die zur Installation vorgesehenen Partitionen und
beginnt mit dem Einspielen der ausgewählten SoItware-Pakete. Dies kann abhän-
gig von der Systemleistung einige Zeit dauern. Je nach Rechnerarchitektur haben
Sie ietzt also Zeit, sich zumindest einen KaIIee zur Entspannung zu holen: bei äl-
teren Systemen können Sie ihn vorher auch noch auIsetzen.
Kaffee bcIen angesagt: Die ¦:sl~¦¦~lio: oe: ~:gew~¦¦le: [~¦ele ¦~:: |e :~c¦ U:[~:g
u:o Rec¦:e:¦eislu:g Lis .u ei:e: ¦~¦Le: Slu:oe o~ue:: De:wei¦ u:le:¦~¦l SuSE Li:ux
oe: \~:le:oe: :il Eige:we:Lu:g
1.1.11 rcct und rcct-Passwcrt
Im ersten Einrichtungsschritt nach der Paketinstallation Iordert YaST2 die Verga-
be eines root-Passworts ein. Der BegriII root hat unter Linux zwei Bedeutungen.
Zum einen bezeichnet er das Wurzelverzeichnis der Festplatte, zum anderen den
Benutzernamen des Systemverwalters. Nur root kann das System verändern, Pro-
gramme einspielen, Benutzer anlegen sowie Hardware hinzuIügen und einrichten.
Hat ein Benutzer sein Passwort vergessen oder will ein Programm nicht mehr lau-
Ien, kann der User root weiterhelIen. Vergessen Sie allerdings das root-Passwort,
dann können Sie Ihr System nur mit erheblichem AuIwand wiederherstellen.
Die ¦e[lCD
Z8 wwwlecC¦~::e¦oe
Aufgemerkt: /:
oiese: Sle¦¦e ve:ge
Le: Sie o~s Svs
le:¡~sswo:l, o~s
Sie sic¦ u:Leoi:gl
:e:¦e: :usse:
/:oe:e:[~¦¦s ge:~
le: Sie s¡~le: i:
e::sl¦~[le Sc¦wie
:ig¦eile:
Aus Gründen der Sicherheit sollten Sie sich zur täglichen Arbeit nicht als root am
System anmelden. Kann ein AngreiIer eine Lücke in einem Programm oder
Dienst ausnutzen, die Sie als root verwenden, gelangt er sonst an praktisch unein-
geschränkte Rechte. Deshalb sollten Sie kleinere Verwaltungsarbeiten von einem
Benutzer-Account aus erledigen, aus dem Sie die benötigte SoItware ieweils mit
per su (.switch user') eigens zugeteiltem Rechtekontext auIruIen können.
1.1.12 Kcnhguraticn des Netzwerks
Nach der Vergabe des root-Passworts ist als Nächstes die Konfguration des Netz-
werks an der Reihe. Unter diese Rubrik Iallen die Punkte Netzwerk- und ISDN-
Adapter, Modems und DSL-Verbindungen, die Angabe eines eventuell vorhande-
nen Proxy sowie die Konfguration Iür einen Remote-ZugriII.
Zur Konfguration des Netzwerks gilt es im ersten Schritt, die Netzwerkkarte des
Servers zu konfgurieren. Falls Sie über einen DSL-Anschluss Zugang ins Internet
haben, befnden sich im Rechner unter Umständen mehrere Netzwerkkarten.
YaST2 erkennt diese automatisch und zeigt Ihnen nach einem Klick auI .Netz-
werkschnittstellen' eine entsprechende Liste in der unteren BildschirmhälIte an.
Hier können Sie auch im oberen Bildschirmteil über .Konfgurieren' einen nicht
automatisch erkannten Adapter nachtragen.
Falls Sie eines der bereits erkannten InterIaces nicht wie von YaST2 vorgegeben
über DHCP parametrisieren, sondern ihm eine Ieste IP-Adresse zuteilen wollen,
wählen Sie im unteren Bildschirmteil den Schalter .Ändern' an. YaST2 zeigt nun
eine Liste der InterIaces samt der zugehörigen IP-Konfguration. Wählen Sie die
entsprechende Karte an und klicken Sie dann auI .Bearbeiten'. In der Iolgenden
Bildschirmmaske verwenden Sie die Option .Konfguration der statischen Adres-
se' und können nun eine IP-Adresse und Netzmaske vergeben.
Z' weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
Netzwerkkcnhguraticn: Ü Le: oiese: Di¦osc¦i:: sle¦¦e: Sie oie 0¡lio:e: [u: oe:
L/Ñ u:o \/ÑDel:ieL oes Rec¦:e:s ei:
Hier fndet sich auch noch eine weitere Reihe von Schaltern, über die sich wichti-
ge Netzwerkoptionen einstellen lassen:
· .Rechnername und Nameserver': Hier vergeben sie den Host-Namen Iür das
System (Vorgabe: linux.local) und ordnen die verwendeten Nameserver zu.
· .Routing': Hier tragen Sie das DeIault-Gateway ein. Zudem fnden Sie hier
zusätzliche Einstellungsmöglichkeiten Iür das Routing, die Sie aber Iür eine
normale Webserver-Konfguration nicht benötigen.
· .Optionen Iür DHCP-Client': Hier gibt es einige spezielle Einstellungen, die
vor allem Iür den Betrieb mehrerer virtueller Maschinen auI einem Rechner
interessant sind. Im normalen DHCP-Betrieb spielen sie keine Rolle.
· .Hardwaredetails': Hier können Sie das Treibermodul der Karte austauschen
oder mit Startparametern versorgen. Das sollte iedoch nur bei besonders exoti-
schen Netzwerk-Controllern notwendig sein.
AuI die Konfguration von WAN-Schnittstellen wie DSL, ISDN und Modem ge-
hen wir hier nicht näher ein. Da wir einen Webserver einrichten, wird er ohnehin
entweder als Intranet-Server im lokalen Netz betrieben und sollte andernIalls als
Internet-Server zumindest hinter einer Firewall, besser aber in einer DMZ stehen.
AndernIalls würden Sie es externen AngreiIern viel zu leicht machen, über den
Webserver in Ihr lokales Netz einzudringen.
Filtern Sie Ihre Internet-Verbindungen über einen Proxy-Server, können Sie dies
unter .Proxy' entsprechend konfgurieren. Übernehmen Sie anschließend mit
.Weiter' die bisher getroIIenen Settings, die YaST2 darauIhin speichert.
Die ¦e[lCD
oO wwwlecC¦~::e¦oe
Etbernet-Interface: ¦ie: ¦ege: Sie oie ¦[¦o:[gu:~lio: oe: Ñel.we:¦¦~:le [esl ÑeLe: ei:e:
¦[/o:esse si:o vo: ~¦¦e: oie ve:we:oele: Ñ~:ese:ve: u:o o~s 0~lew~v .u oe[:ie:e:
Jetzt bietet YaST die Option an, die Iür die Internet-Verbindung angegebene Ein-
stellung durch ein soIortiges Online-Update des Systems zu testen. Dabei handelt
es sich um eine relativ zeitauIwendige Angelegenheit, die Sie daher erst einmal
mit .Nein, diesen Test überspringen' umgehen sollten. Wie ein automatisches
Online-Update auch im lauIenden Betrieb mittels des YOU (YaST Online Up-
date) Iunktioniert, lesen Sie im nächsten Kapitel.
Zum Abschluss der Netzwerkkonfguration stellen Sie nun noch die verwendete
Authentifzierungsmethode ein. Dies wird in aller Regel die als .Einzelplatzrech-
ner' bezeichnete Variante sein. Die Alternative .Netzwerk-Client' dient zur Kon-
fguration einer Authentifzierung über das Network InIormation System NIS oder
das Lightweight Directory Access Protocol LDAP. Beides ist bei einem Webser-
ver nur in AusnahmeIällen notwendig.
Dagegen sollten Sie an dieser Stelle unbedingt mindestens ein neues lokales Be-
nutzerkonto anlegen: Dasienige, über das Sie wie bereits geschildert das System
künItig verwalten wollen. Auch weitere Accounts Iür andere auI dem System ar-
beitende User können Sie hier bereits einrichten.
1.1.13 AbscbIuss der InstaIIaticn
Nach dem Speichern der bislang getroIIenen Settings durch YaST2 geht es nun an
die Konfguration der Hardware, darunter insbesondere Grafkkarte und Monitor.
Dabei erkennt der SuSE Linux OIfce Server bereits eine Vielzahl von Kompo-
nenten automatisch, so dass Sie die Einstellungen nur noch überprüIen müssen.
o1 weLcooe. ~1oZ/
SuSE Li:ux 'O \eLse:ve: Eoilio:
RiIfreicbes Werkzeug: S~\Z ¦i¦[l Lei oe: ¦o:[gu:~lio: vo: 0:~[¦¦~:le u:o Mo:ilo: Die ge
l:o[[e:e: Ei:sle¦¦u:ge: ¦o::e: Sie i: /:sc¦¦uss e:sl ei::~¦ lesle:, Levo: Sie sie s¡eic¦e::
Änderungen in der Grafkkonfguration können Sie gegebenenIalls nach einem
Klick auI .Grafkkarten' im X11-Konfgurationsmanager SaX2 vornehmen. Die
Grafkkarte hat SaX2 in aller Regel bereits korrekt erkannt und entsprechend ein-
gerichtet. Beim Monitor muss dies aber nicht unbedingt der Fall sein. OIt hilIt hier
eine Treiberdiskette des Monitoherstellers weiter.
Dann können Sie entweder ein passendes Modell aus der umIangreichen von
SuSE bereitgestellten Liste auswählen oder müssen im Falle eines Falles die zu-
lässige Horizontal- und VertikalIrequenz selbst angeben. Diese fnden Sie meist
im Handbuch des Geräts. Beachten Sie hierbei unbedingt, dass die Angabe zu ho-
her Werte insbesondere bei der HorizontalIrequenz zur dauerhaIten Schädigung
des Monitors Iühren kann.
Es empfehlt sich zudem, bei der VertikalIrequenz keine zu hohen Werte zuzulas-
sen, auch wenn der Monitor dies ermöglicht. Ab 90 Hertz ist das Bild zwar sicher
fimmerIrei, aber bei VertikalIrequenzen im Grenzbereich des Monitors kann es
dennoch unscharI wirken.
Sound- und TV-Karten erkennt YaST2 weit gehend automatisch. Doch eigentlich
haben sie in einem Webserver nichts zu suchen, so dass wir hier auch nicht näher
auI ihre Konfguration eingehen. Die Druckerkonfguration können Sie an dieser
Stelle überspringen, Näheres dazu lesen Sie im nächsten Kapitel. Speichern Sie
die Einstellungen durch einen Klick auI .Weiter' ab.
Die ¦e[lCD
oZ wwwlecC¦~::e¦oe
6escbafft: Die SuSE
'O \eLse:ve: Eoilio:
isl |el.l [e:lig i:sl~¦
¦ie:l, Sie ¦o::e: sic¦
:u: ~: Svsle: ~:
:e¦oe:
YaST2 sichert nun noch einmal die Settings, was die Installation abschließt. Im
dann Iolgenden Bildschirm quittieren Sie SuSEs Glückwünsche zur erIolgreichen
Installation mit .Beenden'.
DarauIhin startet das System alle Dienste neu und meldet sich anschließend mit
dem Anmeldebildschirm der grafschen Benutzeroberfäche. Nun steht einer wei-
ter Iührenden Konfguration des Irisch auIgesetzten Webservers nichts mehr im
Weg. Das geeignete Werkzeug dazu ist das YaST Control Center, dessen Bedie-
nung Sie im nächsten Kapitel ausIührlich beschrieben fnden.
Jörg Luther
tecCRANNEL-Links zum Tbema Webccde Ccmpact
5u5E 7.O webserver installieren a!32ó 5.!ó
5u5E 7.O webserver konñgurieren a!3ó8 5.33
Linux als webserver mit Aþache 2 a!33O 5.73
Erweiterte Aþache-Konñguration a!33! 5.!O6
Linux als Hailserver mit XHail a!332 5.!!5
Linux als windows-5erver mit 5amba 3 a!33ó 5.!38
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
oo weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
1.2 5u5E Linux: 5ystemkcnhguraticn
Als Verwaltungszentrum Iür die gesamte Konfguration der SuSE 9.0 Webserver
Edition dient das grafsche YaST Control Center. Sie können es wahlweise im
Startmenü über System/YaST oder manuell in einem Terminal durch AuIruI von
./sbin/yast2' starten. Wer die Konsole bevorzugt, kommt alternativ durch den
AuIruI von ./sbin/yast' in den Genuss einer textbasierten Variante. Sie weist zwar
denselben FunktionsumIang auI wie das grafsche Control Center, leidet iedoch
notgedrungen unter geringerer Übersichtlichkeit. Daher beschränken wir uns im
Folgenden auI die Beschreibung des grafschen Control Centers.
In iedem Fall müssen Sie sich vor der Benutzung als Anwender root anmelden.
Die grafsche Variante Iragt dazu automatisch beim AuIruI über das Menü das
root-Passwort ab, Ialls Sie als Benutzer angemeldet sind. Beim Start des Control
Centers über die Konsole egal, ob Sie die grafsche oder textbasierte Variante
nutzen wollen müssen Sie in iedem Fall vorher mittels .su' beziehungsweise
.sux' in den Rechtekontext von root wechseln. AndernIalls bekommen Sie nur
leere Bildschirme zu sehen oder können Änderungen zwar eintragen, iedoch nicht
speichern und aktivieren.
5cbaItzentraIe: Ü Le: o~s Y~ST Co:l:o¦ Ce:le: ¦~sse: sic¦ ~¦¦e wic¦lige: ¦o:[gu:~lio:s~:Lei
le: ~: Svsle: ~u[ ¦o:[o:l~L¦e \eise e:¦eoige:
Die ¦e[lCD
o/ wwwlecC¦~::e¦oe
Das grafsche Control Center wartet mit insgesamt 51 vorsortierten Modulen Iür
unterschiedliche Konfgurationsarbeiten auI, die es in insgesamt sieben Reitern
vorhält. Alle Module lassen sich auch unter Umgehung des Control Centers durch
AuIruI ihres Namens direkt starten. Mit ./sbin/yast2 lan' (oder ./sbin/yast lan' im
Textmodus) gelangen Sie beispielsweise direkt in das Konfgurationsmodul Iür
die Netzwerkschnittstellen. Die Modulnamen Iür diese Art des AuIruIs verraten
sowohl yast2 als auch yast bei AuIruI mit dem List-Parameter (.-l' oder .--list').
1.2.1 5cftware-Kcnhguraticn
Über das Modul .Installationsquelle wechseln' können Sie die Quellmedien ver-
walten, die YaST2 zur Installation von Paketen und Iür Updates heranzieht. Nach
dem Start des Moduls zeigt es eine Liste aller bisher bekannten Installationsquel-
len an. Nach einer CD-basierten Systemeinrichtung fndet sich hier zunächst nur
die Installations-CD.
Autcmatiscbe
AktuaIisierung:
D~s Y~ST 0:¦i:e
U¡o~le Y0U ¦~¦l
oe: Rec¦:e: ~u[
oe: :euesle:
So[lw~:eSl~:o
D~Lei ¦o::e: Sie
oie U¡o~les e:l
weoe: :~:ue¦¦
~:slo¦e: ooe:
~uc¦ ~ulo:~li
sie:e:
Über .HinzuIügen' lassen sich iedoch weitere Quellen eintragen, bei denen es
sich gleichermaßen um lokale Speichermedien (CD-ROM, DVD, Festplatten-
verzeichnisse) als auch um Netzwerkverbindungen (FTP, NFS) handeln kann. Da
YaST2 bei BedarI auch mit mehreren Quellen gleichzeitig operiert, können Sie
hier iede aktivieren oder deaktivieren. Bei Installation oder Update Iragt YaST2
nur die aktivierten Quellen ab und lässt die deaktivierten unberücksichtigt.
Den Punkt .System-Update' wählen Sie an, wenn Sie auI eine neuere SuSE-Ver-
sion upgraden möchten. Im lauIenden Betrieb Iunktioniert das aber nur Iür die
Anwendungs-SoItware, nicht aber Iür das Basissystem. Um diesem eine Rund-
o¯ weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
erneuerung zukommen zu lassen, müssen Sie eine entsprechende Boot-CD ver-
wenden. Die Module .Patch-CD Update' und .Online-Update' dienen zur Aktua-
lisierung der installierten Pakete aus der ieweiligen Quelle. Den häufgeren Fall
dürIte wohl die Aktualisierung über das YaST Online-Update (YOU) darstellen.
Nach dem Start dieses Moduls aktualisiert YOU zunächst die Liste der verIügba-
ren Mirror-Server, über die sich die Update-Dateien beziehen lassen. Anschlie-
ßend zeigt es den ersten Server aus der Liste als zu verwendende Update-Quelle
an und wartet auI eine Bestätigung Iür den Start der Aktualisierung. Falls Sie das
Online-Update nicht iedes Mal manuell anstoßen wollen, können Sie in diesem
Bildschirm auch einen Cron-Job zu diesem Zweck über den Schalter .Vollauto-
matisches Update konfgurieren' einrichten.
Für eine manuelle Aktualisierung wählen Sie hier .Weiter' an. YOU liest darauI-
hin die InIormationen über neue Updates vom Server ein und stellt sie in einem
AuswahlIenster dar. Für die momentane Installation relevante Patches werden in
roter SchriIt angezeigt und sind bereits vorausgewählt. Diese Patches sollten Sie
in iedem Fall installieren. Zeigt YOU einen Patch in schwarzer SchriIt an, dann
handelt es sich um ein optionales Update, das Sie ie nach BedarI anwenden oder
auch unterlassen können. In blauer SchriIt angezeigte Patches sind Iür das System
irrelevant, da bereits gleichwertige oder neuere Pakete installiert wurden.
ÜbersicbtIicb: De: Y0U[~lc¦M~:~ge: g:u¡¡ie:l oie [~¦ele :~c¦ i¦:e: Re¦ev~:., oie e: ~uc¦
uLe: ei:e F~:L¦ooie:u:g ~usweisl ¦e::e¦ u:o SuSE¦i¦[e so¦¦le: u:Leoi:gl ~¦lu~¦isie:l we:
oe:, [e:¦ isl o~gege: .u Reo~¦lio:ssc¦¦uss ~u[ ~¦lue¦¦e: Sl~:o
Die ¦e[lCD
oo wwwlecC¦~::e¦oe
Es gebt vcran: Y0U .eigl oe: \e:¦~u[ oe: /¦lu~¦isie:u:g, oie |e :~c¦ U:[~:g ei:e ge:~u:e
\ei¦e o~ue:: ¦~::, i: ei:e: [:olo¦o¦¦[e:sle: ~: Die ~Lge~:Leilele: [~lc¦[~¦ele ¦o::e:
Sie :~c¦ e:[o¦g:eic¦e: U¡o~le uLe: oe: e:ls¡:ec¦e:oe: 0¡lio:ssc¦~¦le: ¦osc¦e:
Eine genaue Beschreibung des Patches lassen Sie anzeigen, indem Sie ihn in der
Patch-Liste markieren. Durch Anklicken des vorangestellten MarkierungsIeldes
wählen Sie ihn Iür das Update an beziehungsweise ab. Alternativ können Sie ein
Paket auch als .Tabu' markieren, so dass es grundsätzlich von Updates ausge-
nommen bleibt. Das ist sehr nützlich, wenn Sie beispielsweise Iür eine SoItware
einen bestimmten Versionsstand erhalten wollen.
Eine übersichtliche Liste des aktuell ausgewählten Update-UmIangs erhalten Sie,
indem Sie statt .YOU-Patches' über den entsprechenden Schalter links oben in
der Bildschirmmaske als Anzeigeflter .ZusammenIassung der Installation' ein-
stellen. Durch An- oder Abwählen von Paketen eines bestimmten Installationssta-
tus in der rechten BildschirmhälIte können Sie sich im Einzelnen ansehen, welche
Pakete beispielsweise gelöscht, aktualisiert oder installiert werden.
Nachdem Sie die Patch-Auswahl zu Ihrer ZuIriedenheit erledigt haben, klicken
Sie auI .übernehmen'. YOU lädt nun die Patches zunächst nacheinander vom Up-
date-Server herunter und installiert Sie anschließend auch gleich. In der Vorein-
stellung lagert YOU die heruntergeladenen Patch-Pakete Iür einen eventuellen
weiteren Gebrauch nach der Installation ein. Normalerweise benötigen Sie diese
aber nach einer erIolgreichen Installation nicht mehr. Daher sollten Sie vor dem
o¯ weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
Beenden von YOU noch die Option .Quellpakete nach dem Update entIernen'
anwählen, so dass die Patches gelöscht werden. Im Anschluss an das Update akti-
viert YOU die vorgenommenen Änderungen durch AuIruI der SuSEconfg-
Scripts, was ie nach Update-UmIang einige Minuten dauern kann.
Ein Klick auI .SoItware installieren oder löschen' startet den Paketmanager des
Systems. Das mächtige Tool dient dazu, einzelne Pakete oder auch ganze Paket-
gruppen von einem beliebigen Installationsmedium einzuspielen oder bereits in-
stallierte, aber nicht benötigte SoItware zu löschen. Dabei löst der Paketmanager
so genannte Dependencies (Abhängigkeiten) automatisch auI: Benötigt eine zur
Installation gewählte SoItware andere Pakete als Basis, markiert er diese automa-
tisch ebenIalls Iür die Installation. Versuchen Sie andererseits, ein Paket zu de-
installieren, welches eine noch installierte SoItware iedoch benötigt, gibt der Pa-
ketmanager ebenIalls eine entsprechende Warnung aus.
Häcbtig: De: [~¦el:~:~ge: e:¦eic¦le:l o~s /u[s¡ie¦e: u:o Dei:sl~¦¦ie:e: vo: /¡¡¦i¦~lio:e:
ooe: ¦o:¡¦elle: So[lw~:e0:u¡¡e: D~Lei ¡:u[l e: g¦eic¦.eilig oie /L¦~:gig¦eile:
Diese Bedienung Iunktioniert nach denselben Grundprinzipien wie beim YOU-
Paketmanager. Auch hier signalisiert das Tool den Status der einzelnen Pakete
mittels vorangestellter Icons und erlaubt Statusänderungen über ein Kontextme-
nü. Neben den Optionen Installieren, Aktualisieren und Löschen oIIeriert der Pa-
ketmanager auch noch die Varianten .Behalten' (Paketstatus wird nicht verän-
dert) sowie .Geschützt -- nicht verändern'.
Die ¦e[lCD
o8 wwwlecC¦~::e¦oe
Das Schützen von Paketen erweist sich insbesondere als hilIreich, wenn auI dem
System SoItware aus Drittquellen installiert wurde. Es vermeidet in diesem Fall
eventuell auItretende Versionskonfikte. Daher setzt der Paketmanager ohne wei-
tere Anweisung solche Pakete, die er an der Iehlenden SuSE-Signatur erkennt,
automatisch auI den entsprechenden Status.
Über verschiedene Ansichtsflter lassen sich mehr oder weniger detaillierte Listen
der bereits installierten und auI dem Quellmedium zur Installation bereitstehen-
den Pakete anzeigen. .Selektionen' Iasst die Pakete in recht umIangreichen Funk-
tionsgruppen zusammen. Eine gute Balance zwischen Übersichtlichkeit bei der
Paketauswahl und der Gruppierung in Iunktionell zusammengehörige Einheiten
bietet der Filter .Paketgruppen'. Über .Suche' lassen sich namentlich bekannte
Pakete direkt ansteuern. .ZusammenIassung der Installation' bietet in der Vorein-
stellung einen optimalen Überblick über die bislang getroIIenen Veränderungen.
Für die von Ihnen ausgewählten Veränderungen sollten Sie in iedem Fall entwe-
der manuell über den Schalter .Abhängigkeiten prüIen' oder automatisch über
die Option .Automatische ÜberprüIung' einen Test der Dependencies vornehmen
lassen. Treten dabei Probleme auI, zeigt der Paketmanager die entsprechenden
Warnungen in einem Fenster an und schlägt dabei gleich eine mögliche .Konfikt-
lösung' vor. AuI diese sollten Sie auch unbedingt eingehen, Ialls Sie nicht ganz
genau wissen, was Sie tun. Haben Sie alle gewünschten Änderungen vorgenom-
men und die dabei möglicherweise auIgetretenen Konfikte bereinigt, können Sie
die neue Konfguration mit .Übernehmen' bestätigen. Der Paketmanager nimmt
darauIhin die angeIorderten Modifkationen an den Paketen vor und aktiviert an-
schließend die neue Konfguration durch einen LauI der SuSEconfg-Scripts.
1.2.2 Rardware-Kcnhguraticn
Über die Sektion .Hardware' können Sie den Hardware-Status des Systems ab-
Iragen, vorhandene Hardware-Komponenten konfgurieren oder auch neu instal-
lierte Hardware auI dem System einrichten. Neue Komponenten müssen dabei
zunächst eingebaut beziehungsweise im Fall von Peripherie angeschlossen und
eingeschaltet werden, damit die Hardware-Erkennung Iunktioniert. Anschließend
ruIen Sie das entsprechende Modul auI, so dass Sie die Konfguration vornehmen
können. Die von der Hardware-Erkennung ermittelten Daten zu den Komponen-
ten sehen Sie über das Modul .Hardware-InIormationen' ein.
Über .CD-ROM-LauIwerke' binden Sie nachträglich eingebaute CD- oder DVD-
LauIwerke ins System ein. Ähnliches leistet .Festplatten-Controller' Iür später
eingerichtete HDD-Controller. Hier empfehlt es sich, vor dem Abspeichern der
Konfguration das vorgesehene Treibermodul erst einmal mit .Laden des Moduls
testen' auszuprobieren. Mit .IDE DMA-Modus' können Sie den Direct-Memo-
ry-Access-Modus Iür IDE-Festplatten aktivieren respektive abschalten. Nach der
Installation ist er aus Kompatibilitätsgründen per Vorgabe Iür Festplatten akti-
viert, Iür CD-ROM-LauIwerke dagegen deaktiviert.
Fortsetzung auf Seite 42
CD-InbaIt
AuI der CD zu diesem tecCHANNEL-Compact fnden Sie zum einen eine voll
lauIIähige Version der SuSE Linux 9.0 Webserver Edition. Sie basiert auI SuSE
Linux 9 und enthält alle notwendigen Komponenten zur Einrichtung eines kom-
pletten Webservers mit Linux, Apache, MySQL und PHP. Das System basiert auI
dem Linux-Kernel Version 2.4.21 und enthält Apache 2.0.48-9, MySQL 4.0.15-13
sowie PHP 4.3.3-50. Um die SuSE 9.0 Webserver Edition zu installieren, müssen
Sie von dieser CD booten.
Systemvoraussetzungen: mindestens Pentium oder kompatibel, 64 MByte
RAM, mindestens 2 GByte Festplattenspeicher
Von Intel stammt die Testversion des C++-Compilers 8.0 für Linux. Den C¹¹-
Compiler dürIen Sie für private Zwecke beliebig lange einsetzen, die erIorderliche
Lizenzdatei erhalten Sie unter der URL www.intel.com/soItware/products/
compilers/clin/noncom.htm. Für den kommerziellen Einsatz gestattet Intel nur ei-
nen Evaluierungszeitraum von 30 Tagen. Den Compiler fnden Sie auI der CD im
Verzeichnis /intel. Wie Sie den Compiler installieren und einsetzen, lesen Sie im
Kapitel 1.4 .Intel Compiler und VTune Iür Linux'.
Systemvoraussetzungen: mindestens Pentium II, 128 MByte RAM, 216 MByte
Festplattenspeicher
Als PDF-Dateien haben wir unsere beiden Compacts .Linux professionell ein-
setzen~ (in der Print-Ausgabe ausverkauIt) und .SuSE Linux Ofüce Server~ auI
die CD gepackt. Dort fnden Sie zusätzlich geballtes Linux-Know-how Iür den
Gewinn bringenden Einsatz des Ireien Unix als Server im Intra- und Internet.
Dazu gehören Workshops zur Absicherung des Servers genauso wie zur Einbin-
dung von Windows-Clients und zur Verwaltung des Systems. Die PDFs haben wir
auI der CD im Verzeichnis /compact abgelegt.
Im Verzeichnis /extras auI dieser CD fnden Sie zusätzliche Dateien zu dieser
Ausgabe von tecCHANNEL-Compact, darunter beispielsweise die Konfgura-
tionsdateien zu Kapitel 3.1 und 3.2.
Beachten Sie bitte: Für die auI dieser CD-ROM enthaltene SoItware können aus
technischen und iuristischen Gründen weder tecCHANNEL noch SuSE oder Intel
irgendwelchen Support zu Installation, Konfguration oder Betrieb leisten. Zu Re-
daktionsschluss waren alle Updates möglich. IDG Interactive kann daIür iedoch
keine Garantie übernehmen.
Ibre CD febIt, ist zerkratzt cder nicbt Iesbar?
Sc¦:eiLe: Sie ~:. /D0 \e:¦~gsse:vice 0:L¦, lecC¦/ÑÑEL, ¦c¦sl~llsl: ¯, 8O/o' Mu:c¦e:,
¦ol¦i:e. O 8' / ZO '¯ '1ooo, F~x. O 8' / ZO 'Z 811OO
wwwlecC¦~::e¦oe
CD¦:¦~¦l
/1
Die ¦e[lCD
/Z wwwlecC¦~::e¦oe
Kcmpcnenten und Peripberie: ¦: oe: Se¦lio: ¦~:ow~:e [:oe: Sie Moou¦e .u: ¦o:[gu:~lio:
Le:eils vo:¦~:oe:e: u:o .u: Ei::ic¦lu:g :eu i:sl~¦¦ie:le: ¦~:ow~:e¦o:¡o:e:le:
Das Modul .Maus' ermöglicht die Auswahl des installierten Mausmodells sowie
einen entsprechenden Funktionstest. Dabei unterstützt die SuSE Linux 9.0 Web-
server Edition sowohl serielle als auch Bus- und USB-Mäuse. Sinnigerweise soll-
te die Maus wie Iür iedes Unix-ähnliche Betriebssystem drei KnöpIe haben,
von denen der .mittlere' auch ein Mausrad sein darI.
Über die Module .Joystick', .Sound' und .TV-Karte' lassen sich die ieweiligen
Komponenten genauer konfgurieren. Für einen Webserver sind sie allerdings ir-
relevant, weshalb wir hier nicht genauer darauI eingehen.
Für Modifkationen an den Einstellungen des X11-Servers zeichnet das Modul
.Grafkkarte und Monitor' verantwortlich, das Ihnen bei der Installation der SuSE
Linux 9.0 Webserver Edition bereits einmal begegnet ist. Hier können Sie zum
einen die grafsche Oberfäche komplett deaktivieren, zum anderen aber auch
nachträglich Aufösung und FarbtieIe modifzieren.
Dazu wählen Sie nach dem AuIruI des Moduls den Schalter .Ändern' an. Damit
gelangen Sie in den X11-Konfgurationsmanager SaX2, der Ihnen bereits von der
Installation her vertraut ist. Die am häufgsten benötigten Einstellungen fnden
sich hier in der Menügruppe .Anzeige'. Dort kann man beispielsweise den ver-
wendeten Monitor und die Grafkkarte einstellen, die 3D-Beschleunigung ein-
schalten oder Bildlage und -größe modifzieren.
Fortsetzung von Seite 38
/o weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
¥ieIseitig: \F:ee8o u:le:slul.l ~uc¦ :e¦:e:e Di¦osc¦i::~u[osu:ge:, oie sic¦ i:
¦~u[e:oe: Del:ieL uLe: ei:e T~sle:¦o:Li:~lio: |eoe:.eil wec¦se¦: ¦~sse:
Der am meisten genutzte Unterpunkt dürIte wohl .Farben/Aufösungen' sein. Än-
derungen können Sie vornehmen, indem Sie den entsprechenden Punkt markieren
und anschließend über .Konfguration ändern'/'EigenschaIten' das Tool Xapi
auIruIen. Es erlaubt zum einen, die FarbtieIe der Darstellung zu modifzieren. Da-
bei zeigt SaX2 nur die von der Grafkkarte unterstützten FarbtieIen an. Für einen
Server genügt die Variante .65536 |16 bit|' vollauI. Zum anderen kann auch die
Aufösung verändert werden, wobei das Tool nur die Iür die ieweilige FarbtieIe
von der Grafkkarte unterstützten Werte zur Auswahl stellt. Es ist durchaus mög-
lich, hier auch mehrere Aufösungen anzuwählen. Zwischen diesen Aufösungen
können Sie dann zur LauIzeit durch Drücken der Tasten Strg¹Alt¹Plus bezie-
hungsweise Minus auI der nummerischen Tastatur iederzeit wechseln.
Zudem bietet Ihnen SaX2 über die Schalter .Virtuelle Aufösung(en)'/'Konf-
guration ändern' die Möglichkeit, Iür den Desktop eine virtuelle Aufösung zu
defnieren. Damit erzeugen Sie eine virtuelle Bedienoberfäche, die deutlich grö-
ßer ist als der sichtbare Bereich des Bildschirms. Erreichen Sie mit der Maus eine
Bildschirmkante, scrollt der sichtbare Ausschnitt über den entsprechenden Be-
reich des virtuellen Desktops.
Nach Änderungen an der Konfguration von Monitor und Grafkkarte bietet Ihnen
SaX2 vor dem Abspeichern der Settings noch einmal die Option an, die getroIIe-
nen Einstellungen zu testen und dabei gegebenenIalls auch Bildgröße und -lage
nachzuregeln. Nach dem Abspeichern werden die modifzierten Einstellungen
nicht soIort aktiviert. Dies erIolgt erst nach dem nächsten Start des X-Servers. Um
einen solchen zu veranlassen, genügt das Abmelden der momentanen Sitzung.
Die ¦e[lCD
// wwwlecC¦~::e¦oe
Über das Modul .Drucker' können Sie sowohl lokal als auch via Netzwerk ange-
schlossene Drucker Iür den Betrieb mit dem Server konfgurieren. Nach dem AuI-
ruI startet YaST2 zunächst einmal eine Suche nach lokalen Druckern. Findet es
solche, versucht es auch gleich, eine automatische Konfguration entsprechend
des erkannten Druckermodells vorzunehmen.
Kann der Drucker nicht automatisch erkannt werden, müssen Sie das Druckermo-
dell manuell aus der Hardware-Datenbank von YaST2 auswählen. Ein anschlie-
ßender Probedruck einer Testseite gibt AuIschluss darüber, ob die getroIIenen
Einstellungen Iunktionieren.
Beim Einsatz von Netzwerkdruckern unterstützt SuSE Linux eine ganz Reihe ver-
schiedener VerIahren. So lassen sich DruckauIträge sowohl an LPD- als auch
CUPS-Printserver, an Windows- und Netware-Server mit eingerichteten Drucker-
warteschlangen sowie auch direkt an daIür eingerichtete Drucker ausgeben.
Im LAN dürIte der typische Fall der eines über eine Printserver-Box oder eine
Printserver-Karte angeschlossenen Netzwerkdruckers sein. In diesem Fall wählen
Sie zunächst über .Konfgurieren' das AuswahlIenster Iür die Druckertypen an
und klicken dort die Optionen .Direkt auI Netzwerkdrucker drucken' und im Iol-
genden Auswahlmenü .Direktes Drucken über TCP-Port' an. Nach der Bestäti-
gung mit .Weiter' erscheint das KonfgurationsIenster Iür den Netzwerkdrucker.
AIIe HëgIicbkeiten: SuSE Li:ux u:le:slul.l ei:e \ie¦.~¦¦ vo: D:uc¦~usg~Lev~:i~:le: ~u[
¦o¦~¦e u:o e:l[e::le D:uc¦e:, [:i:le:0ueues u:o [:i:lse:ve:
/¯ weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
Hier tragen Sie als .Rechnername des Druckservers' den Host-Namen oder die
IP-Adresse des anzusteuernden Druckers ein. Über den Schalter .Lookup' und
die Option .Nach direkten Socket-Servern suchen' können Sie sich dazu eine Lis-
te mit allen im Netzwerk verIügbaren Druckern ausgeben lassen. An der vorein-
gestellten Portnummer 9100 müssen Sie meist nichts mehr ändern. Falls Sie sich
nicht ganz sicher sind, können Sie über den Schalter .EntIernten Socket-Zugang
testen' ausprobieren, ob die Iragliche IP-Adresse auch DruckauIträge annimmt.
Nach der Bestätigung mit .Weiter' können Sie nun einen Namen und eine Be-
schreibung Iür den Drucker vergeben, unter denen das System ihn bei DruckauI-
ruIen anbietet. Nun stellen Sie über die Druckerdatenbank von YaST2 Hersteller
und Modell des Druckers ein. Anschließend zeigt YaST2 noch einmal die getroI-
Ienen Einstellungen an und bietet über den Punkt .Einstellungen Iür den Drucker-
flter' die Möglichkeit, modellspezifsche Settings Iür den Drucker einzustellen.
Dazu gehören ie nach Drucker beispielsweise Druckaufösung, Tonerdichte, Pa-
pierquellen und so weiter. Vor dem Abspeichern der Konfguration mit .OK' kön-
nen Sie zur Sicherheit über den Schalter .Test' eine Probeseite ausgeben lassen.
1.2.3 Kcnhguraticn der Netzwerkkarte
In der Sektion .Netzwerkgeräte' fnden Sie Module zur Konfguration von Tele-
Ionie- und FaxIunktionen sowie von Modems und ISDN- und DSL-InterIaces.
Für einen Webserver sind diese Features iedoch relativ irrelevant, weswegen wir
hier nicht näher darauI eingehen.
Daneben fndet sich in dieser Sektion auch das Modul zur Konfguration der Netz-
werkkarten. NICs mit gängigem Ethernet-Controller erkennt YaST automatisch
und blendet sie unter .Zu konfgurierende Netzwerkkarten' ein. Hier fndet sich
auch der Eintrag .Andere (nicht erkannte)', über den sich zwar vorhandene, von
YaST iedoch nicht erkannte NICs konfgurieren lassen. Dazu sind der Schnittstel-
lentyp (Ethernet, Token Ring et cetera) sowie das zu verwendende Treibermodul
anzugeben. Bereits konfgurierte Netzwerkadapter zeigt YaST in der unteren Bild-
schirmhälIte an. Über .Ändern' lassen sich die Einstellungen modifzieren. Dazu
wählen Sie zunächst dieienige Schnittstelle aus, deren IP-Einstellungen verändert
werden sollen. Anschließend können Sie die Settings entweder Iür die automati-
sche Konfguration über DHCP oder aber Iür eine Ieste IP-Adresse anpassen.
Für DHCP-Clients genügt meist die Anwahl der Option .Automatische Adress-
vergabe (mit DHCP)'. Unter .Optionen Iür DHCP-Client' fnden sich noch eini-
ge Zusatz-Settings Iür die Kommunikation mit dem DHCP-Server, die aber in den
wenigsten Umgebungen benötigt werden. Stellen Sie iedoch ein bereits konfgu-
riertes InterIace von einer Iesten IP-Adresse auI DHCP um, gilt es unter Umstän-
den, noch zwei Einstellungen unter .Rechnername und Nameserver' zu treIIen.
Waren dort Iür Host-Name, DNS-Server und Domain-Suchliste schon Ieste Werte
vorgegeben, muss manuell durch Anwahl der zwei entsprechenden Optionsschal-
ter auI den Bezug dieser Parameter per DHCP umgeschaltet werden.
Die ¦e[lCD
/o wwwlecC¦~::e¦oe
Pecbnername und Nameserver: /: oiese: Sle¦¦e :usse: Sie e:lweoe: ex¡¦i.il oe: ¦osl:~
:e:, oie DÑSSe:ve: sowie oie Do:~i:Suc¦:~s¦e: ~:geLe: ooe: D¦C[ ~¦livie:e:
Wollen Sie dem InterIaces eine Ieste IP-Adresse zuteilen, dann wählen Sie die
Option .Konfguration der statischen Adresse' und können nun eine IP-Adresse
und Netzmaske vergeben. Der Schalter .Rechnername und Nameserver' öIInet
einen Konfgurationsbildschirm, in dem Sie den Host-Namen des Systems ändern
sowie die DNS-Server und Domain-Suchmasken angeben.
Ebenso wichtige Einstellungen verbergen sich auch hinter dem Schalter .Rou-
ting': An dieser Stelle müssen sie vor allem die Adresse des DeIault-Gateway an-
geben, soll Ihr System Verbindung zur Außenwelt auInehmen. Daneben können
Sie auch manuelle Einträge in die Routing-Tabelle des Systems vornehmen sowie
die IP-Weiterleitung aktivieren. Für den vorgesehenen Einsatz als Webserver soll-
te iedoch weder das eine noch das andere notwendig sein.
Über .Hardwaredetails' können Sie das Treibermodul Iür die Schnittstelle aus-
tauschen oder es mit Startparametern versorgen. Ersteres macht eigentlich nur bei
einem Wechsel des Netzwerk-Adapters Sinn: Durch den manuellen Austausch des
Moduls bleiben alle sonstigen Einstellungen quasi .konserviert', bei einer kom-
pletten Rekonfguration samt Hardware-Erkennung gingen sie verloren. Über die
Optionszeile lässt sich das Treibermodul gegebenenIalls mit zusätzlichen Parame-
tern versorgen. Bei sehr alten NICs mit ISA-Schnittstelle könnte das etwa der I/O-
Bereich oder die IRQ-Nummer sein.
/¯ weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
Haben Sie alle Einstellungen getroIIen, dann schließen Sie über .Weiter'/
'Beenden' die Konfguration ab. YaST2 sichert nun alle Settings und rekonfgu-
riert das System anschließend Iür deren unmittelbare Verwendung. Alle vorge-
nommenen Modifkationen wirken sich also soIort aus.
1.2.ó Kcnhguraticn der Netzwerkdienste
In dieser Sektion können Sie vor allen Dingen die Clients Iür die verschiedenen
Netzwerkdienste einrichten. Daneben tauchen hier zwei Einstellmöglichkeiten
auI, die Sie bereits bei der Konfguration der Netzwerkkarte kennengelernt haben:
Die Module .DNS- und Hostnamen' sowie .Routing' entsprechen exakt den
Pendants unter Netzwerkgeräte/Netzwerkkarte.
Netzwerkdienste: Diese Se¦lio: [~ssl oie ¦o:[gu:~lio:so¡lio:e: [u: oie i: L/Ñ u:o \/Ñ
ve:we:oele: C¦ie:l u:o Se:ve:Die:sle .us~::e:
Das Modul .Hostnamen' ermöglicht ein direktes Editieren der Datei /etc/hosts,
die vor der Konsultation eines Nameservers zur Namensaufösung herangezogen
wird. Erst wenn der Rechner den angeIorderten Namen nicht über diese lokale
Datei in eine IP-Adresse aufösen kann, beIragt er den DNS-Server. Indem Sie
hier die am häufgsten benötigten Host-Namen und zugehörigen IP-Adressen ein-
tragen, beschleunigen Sie die KontaktauInahme zu diesen Maschinen deutlich:
Statt eine relativ langwierige DNS-AbIrage vorzunehmen, können die entspre-
chenden Host-Namen zeitsparend lokal auIgelöst werden.
Die ¦e[lCD
/8 wwwlecC¦~::e¦oe
Über den Punkt .Proxy' können Sie die Verwendung eines eventuell in Ihrem
Netz vorhandenen HTTP- und FTP-Proxys aktivieren. Dazu müssen Sie neben
der IP-Adresse oder dem Host-Namen des Proxys sowie den ieweils verwendeten
Ports gegebenenIalls auch einen Nutzernamen und ein Passwort angeben, Ialls der
Proxy eine Anmeldung verlangt. Daneben können Sie eine Liste von Domains an-
legen, auI die unter Umgehung des Proxys direkt zugegriIIen werden soll.
Als .Mail TransIer Agent' verwendet SuSE standardmäßig Sendmail. Für dieses
Urgestein der Mail-Kommunikation gibt es mittlerweile komIortablere und fndi-
gere Alternativen, wie zum Beispiel das in Kapitel 3 dieses Compacts ausIührlich
vorgestellte XMail. Deswegen gehen wir an dieser Stelle auI die MTA-Konfgu-
ration nicht weiter ein. Der .NTP-Client' dient zum automatischen Abgleich der
Systemuhr gegen einen NTP-Server im lokalen Netz oder im Internet. Als Adres-
se zum Zeitabgleich können Sie zum Beispiel einen der Server (etwa ptbtime1.
ptb.de) der Physikalisch-technischen Bundesanstalt in Braunschweig nutzen.
Die Client-Konfguration Iür das Unix-Netzwerk NFS (Network File System) und
den zugehörigen Verzeichnisdienst NIS (Network InIormation System) können
Sie über die gleichnamigen Module vornehmen, soIern sich in Ihrem Netzwerk
bereits entsprechende Server fnden. Dabei dient .NFS-Client' zum Eintragen der
entsprechenden Exports und Mount-Punkte in die Datei /etc/Istab, über .NIS-
Client' können Sie die Verwendung eines NIS-Servers aktivieren.
RaIIc Windcws: Ü Le: o~s Moou¦ S~:L~C¦ie:l ¦ege: Sie oie /:Leilsg:u¡¡e: :es¡e¦live
Do:~:e:.uge¦o:ig¦eil oes [Cs [esl /uc¦ ei:e /ul¦e:li[.ie:u:g vi~ SMDSe:ve: isl :og¦ic¦
/' weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
Das Modul .Samba-Client' dient der Festlegung der grundlegenden Parameter
Iür Verbindungen über Windows-Netzwerke (alias SMB), seien es nun solche zu
.echten' Windows-Servern oder zur Open-Source-Variante mit Samba. Hier kön-
nen Sie zum einen die Arbeitsgruppe oder Domäne Iestlegen, zu der die Maschine
gehören soll. Für einen Domänenbeitritt benötigen Sie allerdings das entsprechen-
de Administrator-Passwort. Zum anderen können Sie die Authentifzierung über
einen entsprechenden Domain Controller (Windows NT, Samba) aktivieren.
Die so genannten Superserver inetd respektive xinetd verwalten eine ganze Reihe
der auI dem System bereitgestellten Server-Dienste. Diese müssen dann nicht
schon Ressourcen Iressend beim Start des Systems mit eingebunden werden, son-
dern können später vom Superserver erst beim AnIallen konkreter AnIragen von
Clients nachgeladen werden. Über das Modul .Netzwerkdienste (inetd)' aktivie-
ren oder deaktivieren Sie zum einen den Superserver und legen zum anderen Iür
die vorhandenen Server-Dienste Iest, ob diese aktiv (Kennung: .An') oder abge-
schaltet (Kennung: .---') sein sollen. Finden Sie in der Liste vor einem Dienst die
Angabe .NI', dann ist der entsprechende Daemon bislang noch nicht installiert.
1.2.5 Benutzer und 5icberbeit
Die Sektion .Benutzer und Sicherheit' des YaST Control Centers Iasst alle Iür die
Konfguration von Authentifzierung und Systemsicherheit wesentlichen Einstel-
lungen zusammen. Dazu zählen neben der Verwaltung von Benutzern und Grup-
pen auch die Settings Iür die SuSEfrewall2.
Die Optionen .Benutzer bearbeiten und anlegen' und .Gruppen bearbeiten und
anlegen' starten beide dasselbe YaST-Modul, allerdings mit unterschiedlichen
Ansichten. Zwischen der Benutzer- und Gruppenansicht können Sie iedoch ieder-
zeit mit einem Mausklick umschalten, so dass sich gegebenenIalls Modifkationen
oder Ergänzungen in beiden Bereichen parallel vornehmen lassen.
Sowohl beim Anlegen als auch beim Modifzieren eines Benutzerkontos müssen
Sie zumindest einen User-Namen sowie ein Passwort vergeben, optional können
Sie auch einen Realnamen eintragen. Die Angaben werden durch einen Klick auI
.Anlegen' übernommen, wobei neue Benutzer automatisch eine nummerische
Benutzerkennung (UID) und ein Home-Verzeichnis erhalten sowie verschiedenen
Gruppen, darunter vor allem .users' zugewiesen werden. Zusätzlich können Sie
über .Passworteinstellungen' eine Gültigkeitsdauer und WarnIristen bei AblauI
Iestsetzen. Unter .Details' haben Sie die Möglichkeit, verschiedene weitere Ein-
stellungen zu modifzieren, wie etwa Login-Shell oder Gruppenzugehörigkeit.
Weniger auIwendig Iallen die Arbeiten beim Anlegen beziehungsweise Modi-
fzieren von Benutzergruppen aus. Hier ist lediglich ein Gruppenname sowie ei-
ne Gruppenkennung (GID) zu vergeben. GegebenenIalls können Sie der Gruppe
an dieser Stelle auch gleich neue Anwender zuordnen. Optional besteht die Mög-
lichkeit, Iür die Gruppe ein Passwort zuzuordnen, das die Anwender dann beim
Wechseln in die Gruppe angeben müssen.
Die ¦e[lCD
¯O wwwlecC¦~::e¦oe
Passwcrt-0pticnen: Diese: Tei¦Le:eic¦ oes Moou¦s Ei:sle¦¦u:ge: .u: Sic¦e:¦eil e:
:og¦ic¦l oie De[:ilio: sl:i¦le: \e:g~Le u:o Ü Le:¡:u[u:gs:ege¦: [u: ~¦¦e [~sswo:le:
Das Modul .Einstellungen zur Sicherheit' erlaubt die Vorgabe einer Reihe von
grundlegenden Systemeinstellungen Iür die Anmeldung und den SystemzugriII.
Als SicherheitsstuIe sollten Sie das Level 3, also die Einstellungen Iür einen Netz-
werk-Server, auswählen. Dies hat im Wesentlichen Iolgende Auswirkungen:
· Passwörter werden soIort bei der Vergabe auI ausreichende Sicherheit geprüIt
· das System ignoriert die Tastenkombination Strg¹Alt¹Del
· nur root darI den Rechner herunterIahren oder neu starten
· nach Iehlgeschlagenen Anmeldungen pausiert das System mehrere Sekunden
lang, um Brute-Force-Attacken auszubremsen
· alle Anmeldeversuche werden protokolliert
· bestimmte Systemdateien und Programme können nur noch von root, iedoch
nicht mehr von Benutzern eingesehen und verwendet werden
Über den Schalter .Details' lassen sich die Einstellungen einsehen und bei BedarI
noch Ieintunen. Je schärIer Sie die Richtlinien einstellen, umso sicherer wird das
System allerdings auI Kosten des BenutzungskomIorts.
¯1 weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
Web, FTP, nada: Diese SuSE[:ew~¦¦Z ¦~ssl ~¦s vo:oe[:ie:le Die:sle :u: ¦TT[ u:o ¦TT[ uLe:
SSL .u Zus~l.¦ic¦ wu:oe :~:ue¦¦ oe: Zug~:g .u: FT[Die:sl [:eigegeLe:
Zur Aktivierung und Konfguration der SuSEfrewall2 dient das Modul .Fire-
wall'. Hier legen Sie zunächst Iest, welche Schnittstellen mit dem internen bezie-
hungsweise externen Netz verbunden sind. Anschließend geben Sie an, welche
Server-Dienste über die externe Schnittstelle erreichbar sein sollen. Dabei können
Sie sowohl bequem aus einer Liste vorgegebener Dienste auswählen oder auch
manuell zusätzliche Dienste Ireigeben.
1.2.ó 5ystemkcnhguraticn
Die meisten in dieser Rubrik auItauchenden YaST2-Module kennen Sie bereits
aus der Installation des Systems. In diese Kategorie Iallen das Erstellen von Boot-
und Moduldisketten sowie die Konfguration von Bootloader, Partitionen, LVM,
Sprache, Tastatur und Zeitzone.
Vom Editor Iür die Dateien in /etc/sysconfg sollten Sie die Finger lassen, Ialls Sie
nicht genau wissen, was Sie tun. Für Windows-Benutzer: Änderungen in diesen
Dateien entsprechen quasi dem manuellen Verändern von Systemeinträgen in der
Registry. Den .Profl-Manager' benötigen Sie grundsätzlich nicht. Er dient der
Verwaltung von Proflen Iür Rechner, die häufg in wechselnden Umgebungen
eingesetzt werden sprich: Notebooks.
Die ¦e[lCD
¯Z wwwlecC¦~::e¦oe
6rcßteiIs bekannt: Die :eisle: oe: i: oe: Se¦lio: Svsle: ~:geLole:e: \e:¦.euge ¦e::e:
Sie Le:eils ~us oe: ¦:sl~¦¦~lio:s¡¦~se Sie oie:e: ¦ie: oe: :~c¦l:~g¦ic¦e: ¦o:[gu:~lio:
Das Modul .Sicherungskopie der Systembereiche' ermöglicht ein manuelles oder
automatisches Backup wichtiger Dateien als Tarball in lokale Verzeichnisse, auI
Wechselmedien oder auI NFS-Server. Das Gegenstück dazu bildet das Modul
.System wiederherstellen', über das sich die Archive zurückspielen lassen.
Um ein ebenso nützliches wie geIährliches Werkzeug handelt es sich beim .Run-
level-Editor'. Mit ihm lässt sich Iestlegen, in welchem Runlevel das System star-
tet und welche Daemons in welchem Runlevel gestartet werden sollen. Verwen-
den Sie den Editor nur dann, wenn Sie mit dem Konzept der Runlevels und der
Funktion der diversen Systemdienste auI einigermaßen vertrautem Fuß stehen.
1.2.7 5cnstiges
In der letzten Sektion des YaST Control Centers hat SuSE einige quasi überzäh-
lige Module untergebracht. Über .Support-AnIrage' lässt sich eine Iormalisierte
Support-AnIrage an SuSE verschicken allerdings nur während der ersten 60 be-
¯o weLcooe. ~1o/8
SuSE Li:ux. Svsle:¦o:[gu:~lio:
ziehungsweise 90 Tage nach Installation eines käufich erworbenen SuSE-Linux-
Pakets. Für die vorliegende SuSE 9.0 Webserver Edition gibt es nur kostenpfich-
tigen Support per TeleIon.
Über .Startprotokoll anzeigen' oder .Systemprotokoll anzeigen' ruIen Sie ein
Log-Viewer-Modul auI. Es zeigt in beiden Versionen neben den angegebenen Da-
teien auch eine ganze Reihe andere, vorselektierbare Protokolldateien an.
6ut, aber gefäbrIicb: Dei: Ru:¦eve¦Eoilo: ¦~:oe¦l es sic¦ .w~: u: ei: :~c¦liges \e:¦.eug,
o~s oe: De:ul.e: ~Le: [o:lgesc¦:ille:e Li:ux¦e::l:isse ~Lve:¦~:gl
1.2.8 AusbIick
Mit HilIe des übersichtlichen YaST Control Center und seiner Module, die prak-
tisch ieden Aspekt des Betriebs abdecken, behalten Sie die Grundkonfguration
des Systems iederzeit im GriII.
Betreiben Sie Linux nicht nur als Versuchsobiekt, sondern ziehen einen ernsthaI-
ten Einsatz in Erwägung, lohnt sich trotzdem eine nähere BeschäItigung mit dem
System. Mit HilIe von ein wenig .Gewusst wo' lassen sich viele Konfgurations-
arbeiten schnell und präzise mittels eines schlichten Texteditors direkt in den
Konfgurationsdateien erledigen. Eine VielIalt von InIormationen dazu bieten
etwa die HOW-TOs, die Sie im Web beim Linux-Dokumentationsproiekt (The
Linux Documentation Proiect, tldp.org) fnden.
Die ¦e[lCD
¯/ wwwlecC¦~::e¦oe
Wie Sie den Webserver Apache 2 konfgurieren und einsetzen können, schildert
ausIührlich das Kapitel 3 dieses tecCHANNEL-Compacts. Dort fnden Sie außer-
dem auch Anleitungen zur Einrichtung des Systems als Mailserver mit XMail so-
wie zum Einsatz als Windows-Server mit der brandneuen Samba-Version 3.0.
Jörg Luther
tecCRANNEL-Links zum Tbema Webccde Ccmpact
5u5E 7.O webserver konñgurieren a!3ó8 5.33
5u5E 7.O webserver installieren a!328 5.!ó
Linux als webserver mit Aþache 2 a!33O 5.73
Erweiterte Aþache-Konñguration a!33! 5.!O6
Linux als Hailserver mit XHail a!332 5.!!5
Linux als windows-5erver mit 5amba 3 a!33ó 5.!38
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
¯¯ weLcooe. ~1oZ¯
\i:lu~¦ [C. [:oLie:e: i: Fe:sle:
1.3 ¥irtuaI PC: Prcbieren im Fenster
Nach der Übernahme von Connectix hat sich MicrosoIt bis zur VeröIIentlichung
der neuen Version von Virtual PC eine Weile Zeit gelassen. In der Version 2004
wurde es in mehreren Bereichen erheblich verbessert.
Wer .mal eben schnell' ein neues Betriebssystem ausprobieren möchte, sieht sich
im Allgemeinen einer Reihe von Problemen gegenüber. Die Platte muss neu par-
titioniert werden, und man geht immer das Risiko ein, dass die Arbeitsinstallation
nach dem Versuch nicht mehr Iunktioniert. Auch beim Ausprobieren von SoIt-
ware wünscht man sich oIt eine Möglichkeit, dies geIahrlos tun zu können ohne
nach der Deinstallation noch Reste vorzufnden, die das System in einem instabi-
len Zustand hinterlassen.
Ähnlich dürIte es vielen Lesern gehen, die vielleicht einmal in Linux hinein-
schnuppern wollen. Zwar bietet Knoppix die Möglichkeit, Linux ohne Installation
direkt von CD zu starten, dabei hat der Benutzer allerdings keine allzu großen
Möglichkeiten, mit den diversen Einstellungen und Servern zu experimentieren.
Des Weiteren wäre es durchaus hilIreich, nebenbei ein lauIIähiges System zu ha-
ben, auI dem man schnell ein paar HOW-TOs oder Foren überprüIen kann.
Die eine Option sich einen kompletten Rechner hinzustellen ist weder kosten-
günstig noch praktikabel, weil unter anderem ein Datenaustausch zwischen dem
Zweitsystem und dem Testsystem nur schwer möglich ist. Hier kommt die Virtua-
lisierungs-SoItware Virtual PC (www.microsoIt.com/windowsxp/virtualpc/) ins
Spiel, die MicrosoIt im Februar 2003 von Connectix übernommen und ietzt in der
Version 2004 veröIIentlicht hat. Eine englischsprachige Demoversion mit einer
LauIzeitbeschränkung auI 45 Tage können Sie ohne Registrierung bei MicrosoIt
(www.microsoIt.com/windowsxp/virtualpc/downloads/trial.asp, 19 MByte) he-
runterladen, beispielsweise um sich erst einmal mit dem LAMP-System von un-
serer Compact-CD vertraut zu machen, bevor Sie ein ganzes System auIsetzen.
1.3.1 Die Tecbnik vcn virtueIIen Hascbinen
AuI Großrechnern wie den MainIrames von IBM (webcode: a801) sind virtuelle
Maschinen schon seit langer Zeit keine Besonderheit. Das Funktionsprinzip von
VMs ist relativ einIach:
In einer Sandbox wird ein kompletter Rechner emuliert, der über alle notwendi-
gen Elemente wie Prozessor, Festplatte, Grafkkarte und Tastatur verIügt. Inner-
halb dieses geschlossenen Systems kann ein Betriebssystem gestartet werden, das
auI die virtuelle Hardware zugreiIt, als sei es ein echter Computer, ohne den Un-
terschied zu bemerken.
In der Praxis gestaltet sich diese AuIgabe iedoch erheblich schwieriger. Immerhin
gilt es, eine Vielzahl von benötigten Komponenten virtuell zu erzeugen. Da das
Betriebssystem auI dem Host-Rechner den exklusiven ZugriII auI die Hardware
Die ¦e[lCD
¯o wwwlecC¦~::e¦oe
behält, kann eine VM-SoItware dem Gastbetriebssystem keinen direkten ZugriII
auI die reale Hardware gewähren. Deshalb fndet das Betriebssystem in der virtu-
ellen Maschine auch andere Hardware vor, als tatsächlich im PC eingebaut ist.
Die wichtigsten zu emulierenden Komponenten sind:
· Prozessor
· PIC (Programmable Interrupt Controller)
· DMA (Direct Memory Access)
· IDE Controller
· CMOS
· Realtime-Clock
· PIT (Programmable Interval Timer)
· Memory und I/O-Controller
· PCI-Bus und -Host sowie PCI-Bridge
· Video-Adapter
· Keyboard-Controller
· Keyboard und Maus
Neben diesen essenziellen Komponenten werden häufg noch eine Reihe von an-
deren Komponenten in der virtuellen Maschine benötigt, wie beispielsweise:
· Power Management
· Netzwerkkarte
· Sound-Karte
· COM
· LPT
· Game Port
1.3.2 ¥irtueIIer Prczesscr
Die CPU ist der Hauptbestandteil des echten und des virtuellen PCs. Die Intel-Ar-
chitektur hat iedoch hinsichtlich der Abbildung virtueller Maschinen gegenüber
den MainIrames einige Schwächen. Letztere sind schon architektonisch auI VMs
ausgelegt. Die Intel-Entwickler hatten dagegen niemals einen virtuellen Rechner
als primäres Ziel vorgegeben.
Die Intel-Architektur der 32-Bit-CPUs bietet vier verschiedene Privilegien an, mit
denen dem Betriebssystem sowie den Treibern und Programmen unterschiedliche
Rechte zugewiesen werden können. Normalerweise lauIen OS und Treiber im so
genannten Ring 0 (kernel mode) und Applikationen im Ring 3 (user mode), der
nur eingeschränkte ZugriIIsmöglichkeiten hat. Der Trick beim Erzeugen eines
virtuellen Systems ist, dieses im Ring 3 ablauIen zu lassen.
¯¯ weLcooe. ~1oZ¯
\i:lu~¦ [C. [:oLie:e: i: Fe:sle:
Wenn das Betriebssystem des virtuellen Rechners nun einen BeIehl ausIühren
will, der nur im Ring 0 gestattet ist, löst der Prozessor eine Exception aus, weil die
VM ia im Ring 3 läuIt, der das nicht darI. Routinen zur Behandlung dieser Aus-
nahmen können dann den privilegierten BeIehl emulieren. Dabei behält das
Wirtssystem die volle Kontrolle über das System. Die wichtigste Voraussetzung
Iür das Funktionieren dieses Ansatzes ist, dass der Prozessor bei ieder unberech-
tigt durchgeIührten privilegierten Anweisung eine Exception auslöst.
Dummerweise sind die x86-Prozessoren nicht ganz so gründlich bei den Excep-
tions. Beispielsweise werden SpeicherzugriIIe beim x86 über eine GDT (Global
Descriptor Table) abgewickelt. Diese GDT ist eine globale Ressource und wird
vom Betriebssystem verwaltet. Eigentlich müsste ieder direkte ZugriII auI diese
Ressource als privilegierte Handlung angesehen werden und dementsprechend im
User Mode nicht erlaubt sein. Der x86 behandelt die LGDT-Anweisung (Load
Global Descriptor Table) auch als privilegiert. Allerdings Iührt SGDT (Store Glo-
bal Descriptor Table) nicht zu einer Schutzverletzung. Allein diese Inkonsistenz
verhindert es, die GDT zu .virtualisieren'. Um dennoch virtuelle Maschinen auI
IA32 realisieren zu können, müssen sich die Entwickler eine ganze Menge einIal-
len lassen. Virtual PC untersucht zum Beispiel Code, der im Kernel Mode lauIen
soll, vor der AusIührung und ändert kritische Sequenzen um.
1.3.3 EmuIaticn der FestpIatte
Ein weiterer wichtiger Bestandteil bei virtuellen Maschinen sind Massenspeicher.
Generell Iunktioniert der ZugriII auI Massenspeicher ähnlich wie beim virtuellen
Prozessor. Wenn das Gastsystem eine I/O-Anweisung ausIührt, wird eine Excep-
tion ausgelöst, da es sich hierbei um eine privilegierte Anweisung handelt. Die
VM-SoItware Iängt diese Exception ab und übersetzt die Anweisung in eine Ope-
ration auI dem realen Dateisystem. Bei deren Realisierung stehen der VM-SoIt-
ware eine Reihe von Möglichkeiten zur VerIügung.
Zum einen könnte sie beispielsweise die Anweisungen direkt auI der physikali-
schen Festplatte ausIühren. Das widerspräche allerdings dem Anspruch an eine
Sandbox, denn kein Programm darin darI das Host-System beschädigen. Der di-
rekte ZugriII wird zumeist nur bei CD-ROMs oder DVDs eingesetzt.
In der Regel wird die virtuelle Festplatte mit einer Datei auI dem Host-Betriebs-
system realisiert. Die VM-SoItware verändert deren Größe dynamisch. Eine inte-
ressante Option sind dabei Festplatten, die beim HerunterIahren wieder in den
Zustand vor dem Start der virtuellen Maschine zurückversetzt werden. Somit
kann man die VM in einem immer defnierten Zustand starten und kritische Tests
ausIühren. Beim nächsten Start befndet sich die VM wieder im Originalzustand.
Eine Datei auI der Platte des Hosts lässt sich aber auch als virtuelles CD-ROM-
LauIwerk verwenden. Hier kommen meist ISO-Images zum Einsatz, so dass die
VM-SoItware nur die reinen LesebeIehle umsetzt, ohne sich um das CD-Datei-
system kümmern zu müssen.
Die ¦e[lCD
¯8 wwwlecC¦~::e¦oe
1.3.ó ¥irtuaI PC 200ó
MicrosoIt hat sich mit dem Release der neuen Version von Virtual PC Zeit gelas-
sen. Derzeit ist sie nur auI Englisch zu einem Preis von 129 US-Dollar verIügbar,
die deutsche Version befndet sich laut MicrosoIt Deutschland noch in der Test-
phase. Ein Preis steht demzuIolge auch noch nicht Iest. Hatte Connectix noch so
genannte OS-Packs im Programm, also vorgeIertigte virtuelle Maschinen mit in-
stalliertem Betriebssystem, so bietet MicrosoIt diese vorerst nicht mehr an.
Demnächst will MicrosoIt auch eine speziell Iür die Server-Konsolidierung
(www.microsoIt.com/windowsserver2003/evaluation/news/bulletins/vmnews.ms
px) angepasste Version veröIIentlichen. Über diese können Applikations-Server,
die nur auI alten Betriebssystem-Versionen lauIen, dennoch auI das neue Win-
dows Server 2003 migriert werden, ohne bei der Applikation eine einzige Zeile
Code anpassen zu müssen.
Die neue Version von Virtual PC bietet neben PerIormance-Steigerungen weitere
Neuerungen. So lässt sich ietzt auch ein DVD-LauIwerk in die virtuelle Maschine
einbinden, und die einzelnen VMs können mehr Speicher bekommen bis zu 3,6
GByte. Allerdings adressiert Virtual PC insgesamt maximal 4 GByte vorhandenes
RAM. Diese Neuerung Iührt dazu, dass das Programm nicht mehr unter alten
Windows-Versionen läuIt. Mindestens Windows 2000 wird ietzt vorausgesetzt.
Bei der USB-Unterstützung ist MicrosoIt allerdings nicht weiter gekommen. Es
lassen sich lediglich Maus und Tastatur am USB-Port verwenden. Diese werden
per PS/2-Emulation in die VM gebracht.
0uickinfc
Prcdukt ¥irtuaI PC 200ó
Persteller Hicrosoft
Preis !27 U5-0ollar
0ownload
!7 HByte: www.microsoft.com/windowsxþ/virtualþc/
downloads/trial.asþ
5ystemvoraussetzungen
Pardware Pentium óOO HPz. 256 HByte RAH
Betriebssystem windows 2OOO. XP
1.3.5 Im Betrieb
Das Erstellen von virtuellen Maschinen erledigt bei Virtual PC ein Wizard, der
iedoch nur Iür MicrosoIts eigene Betriebssystempalette Standardwerte anbietet.
Über die Auswahl von .Other' kann man sich aber seine eigene Wunschkonfgu-
ration, etwa Iür die SuSE 9.0 Webserver Edition, zusammenstellen.
¯' weLcooe. ~1oZ¯
\i:lu~¦ [C. [:oLie:e: i: Fe:sle:
Pestriktiv: \i:lu~¦ [C
Lielel ¦eoig¦ic¦ [u: Mi
c:oso[ls Del:ieLssvsle
:e vo:ge[e:ligle De
[~u¦lEi:sle¦¦u:ge: ~:
Bei den NetzwerkIunktionen oIIeriert Virtual PC vier Optionen Iür die virtuelle
Maschine. Zum einen kann ieglicher ZugriII gesperrt werden. In der Konfgura-
tion .Shared Networking' kommunizieren die virtuellen Maschinen mit einem in
Virtual PC integrierten NAT-Router. Dieser stellt auch einen DHCP-Server zur
VerIügung. In der dritten Variante .Virtual Networking' verhält sich das System
so, als seien die VMs an einen Switch angeschlossen, der mit dem normalen Netz-
werk verbunden ist. In der Einstellung .Local only' können nur die VMs mitein-
ander kommunizieren. Vom Host und dem Rest des Netzes sehen sie nichts. In
iedem Fall stehen der virtuellen Maschine bis zu vier Netzwerkkarten mit dem
DEC-21141-Chip zur VerIügung.
ÜbersicbtIicb: /¦¦e 0¡lio:e: ei:e: vi:lue¦¦e: M~sc¦i:e [:oe: sic¦ i: oiese: Dox
Die ¦e[lCD
oO wwwlecC¦~::e¦oe
Die SuSE-9.0-Webserver-Edition-CD zur Installation bootet in der VM problem-
los, und dank der emulierten S3 Trio 32/64 PCI mit 8 MByte Video-RAM erIolgt
auch die Einrichtung unter der grafschen Benutzeroberfäche ohne weitere
Schwierigkeiten. Soll ein Windows in der VM installiert werden, bietet Virtual PC
die so genannten Add-ons an, die mehr Funktionen zur Interaktion haben. Das
sind unter anderem Drag-und-Drop zwischen Host- und Gastbetriebssystem,
nahtlose Mausübergänge zwischen Host und Gast sowie die Möglichkeit, auI dem
Host ein Verzeichnis Ireizugeben, auI das der Gast über einen LauIwerksbuchsta-
ben zugreiIen kann quasi eine MinidateiIreigabe.
InstaIIaticn: /uc¦ o~s Doole: u:o oie ¦:sl~¦¦~lio: vo: oe: SuSE 'O \eLse:ve: Eoilio: i:
g:~[sc¦e: Moous sle¦¦l [u: \i:lu~¦ [C ¦ei:e:¦ei ¦u:oe o~:
Das Einbinden von ISO-Images erIolgt dagegen nicht ganz ohne Probleme. Diese
Option steht nur bei lauIender VM zur VerIügung. Per DeIault bindet Virtual PC
das vorhandene CD/DVD-LauIwerk in die virtuelle Maschine ein. Will man aller-
dings von einem ISO-Image booten, muss man zunächst die VM starten, sie soIort
pausieren (noch während der BIOS-Screen zu sehen ist), dann über ein Menü das
gewünschte Image aktivieren und die VM schließlich wieder Iortsetzen. Nicht ge-
rade ein Musterbeispiel an Ergonomie.
o1 weLcooe. ~1oZ¯
\i:lu~¦ [C. [:oLie:e: i: Fe:sle:
1.3.ó Fazit
Mit den von MicrosoIt vorgenommenen Verbesserungen insbesondere hinsicht-
lich der PerIormance handelt es sich bei Virtual PC um ein durchaus empIehlens-
wertes Produkt, das Iür 129 US-Dollar erhältlich ist. Im Vergleich zu VMWares
SoItware, die knapp 200 US-Dollar mehr kostet, ein echter KampIpreis. Wann
und zu welchem Preis Virtual PC in Deutschland zu haben sein wird, steht noch
nicht Iest. Zu lösen ist auI ieden Fall die Beschränkung auI einen Prozessor. Der-
zeit lauIen noch alle VMs auI einem Prozessor, selbst in einer Multiprozessor-
umgebung. Des Weiteren ist die Unterstützung Iür USB-Geräte und SCSI drin-
gend erIorderlich.
Mike Hartmann
1.3.7 Übersicbt ¥irtuaI PC
¥craussetzungen Rcst Hacbine
Betriebssystem
windows XP. 2OOO
HinimaIe Taktrate CPU IHRz! óOO
EmpfcbIene Taktrate CPU IHRz! !OOO
5HP-Unterstützung
eingeschrânkt. alle VHs laufen in
einem Thread. |/0 in einem weite-
ren Thread
HinimaIer 5peicber IHByte! 256
EmpfcbIener 5peicber IHByte! 5!2
EmuIierte ¥irtuaI Hacbine
Prczesscr
wie Post
Hctberbcard |ntel ó3O BX
BI05 AH|
Hax. 5peicber IHByte! 3.6 6Byte (insgesamt max. ó 6Bytel
Keybcard 5tandard-Keyboard
Haus P5/2 Haus (ggf. Rollradl
5erieII
zwei Ports auf þhysikalische Ports. auf
0atei. auf Named Piþe
ParaIIeI LPT! auf þhysikalischen Port
Die ¦e[lCD
oZ wwwlecC¦~::e¦oe
5cund Creative Labs 5oundblaster !6 PC|
FIcppy eine Floþþy auf 6erât oder |mage
¥idec 53 Trio 32/6ó PC|. 8 HByte Video RAH
U5B nur Haus oder Keyboard
CD-P0H 6erât oder |50-|mage
CD-PlPW nur lesen
D¥D 6erât oder |50-|mage (max 2.2 6Bytel
NIC 0EC 2!!óO (!OO Hbit/sl
Netzwerk 5hared/5witched/Local only
IDE
vier 0evices (davon maximal
drei Parddisksl
5C5I nein
Hax. Rarddisk-6rëße
I6Byte!
!28
Direktzugriff auf reaIe RD ia
¥irtueIIe RD aIs reaIe Datei dynamisch
FestpIattenrestauraticn ia
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Virtual PC: Probieren im Fenster a!325 5.55
VHware 3.O vs. Virtual PC ó.2 a823 -
5o funktioniert ein Prozessor a375 -
Linux auf dem Hainframe a8O! -
x86-Programmierung und Betriebsarten a!272 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
oo weLcooe. ~1oZo
¦:le¦ Co:¡i¦e: u:o \Tu:e [u: Li:ux
1.ó InteI CcmpiIer und ¥Tune für Linux
Niemand kennt die kleinen Geheimnisse der diversen Intel-Prozessoren so gut
wie Intel selbst. Daher verwundert es wenig, dass Intel einen eigenen Compiler im
PortIolio hat, der Code optimal Iür die diversen Intel-Prozessoren kompiliert.
Der Intel C¹¹-Compiler Iür Linux ist seit kurzem in der Version 8.0 verIügbar
und bietet eine Reihe von Neuerungen. Zu den inhaltlichen und technischen Neu-
erungen zählen unter anderem eine Unterstützung Iür die neuen Prescott-Prozes-
soren (webcode: a1124), vorkompilierte Header-Dateien, um spätere Compiler-
LäuIe zu beschleunigen, und eine bessere Kompatibilität mit gcc. Dies spiegelt
sich insbesondere bei den nunmehr wechselseitig nutzbaren Binärdateien und den
zusätzlich defnierten eingebauten Funktionen von gcc wider.
Intel stellt die Linux-Version des Compilers Anwendern Iür nicht kommerzielle
Zwecke kostenlos zur VerIügung. Sie müssen lediglich an einer kurzen UmIrage
teilnehmen, der Lizenzvereinbarung zustimmen und Ihren Namen, E-Mail-Adres-
se und Land angeben, um den Freischaltcode zu bekommen. Die Windows-Va-
riante schlägt weiterhin mit knapp 440 Euro zu Buche. Im Paket sind ieweils eine
IA32- und eine Itanium-2-Variante Iür das ieweilige Betriebssystem enthalten.
InteI C++-CcmpiIer für Linux
IA-32-Arcbitektur 5ystemvcraussetzungen
Kernel 2.ó.x
glibc 2.2.5. 2.2.73 oder 2.3.2
Pardware
Prozessor ab Pentium ||. ó5O HPz
RAH !28 HByte
Festþlatte !OO HByte
Itanium 2 5ystemvcraussetzungen
Kernel 2.ó.x
glibc 2.2.ó. 2.2.5 oder 2.3.2
binutils 2.!2. 2.!ó dringend emþfohlen
Pardware
Prozessor |tanium oder |tanium 2
RAH
5!2 HByte. deutlich mehr bei aufwen-
digen 0þtimierungen
Festþlatte !5O HByte
Die ¦e[lCD
o/ wwwlecC¦~::e¦oe
1.ó.1 InstaIIaticn und ¥erwendung
Das knapp 64 MByte große Paket können Sie sich von der Intel-Website herunter-
laden oder gleich von der Compact-CD kopieren. Sie benötigen lediglich noch
den Lizenzschlüssel, den Sie unter der Adresse www.intel.com/soItware/products/
global/eval.htm anIordern können und als Attachment per E-Mail erhalten.
Diese Lizenzdatei kopieren Sie nach /opt/intel/licenses, ansonsten unterbricht das
Installations-Script mit einer Frage nach dem Speicherort der Datei. Das gezippte
Tarball entpacken Sie in ein temporäres Verzeichnis und starten dann ./install.sh,
um die eigentliche Installation anzustoßen. Je nach Prozessor wählt das Script das
richtige RPM aus und richtet es auI dem System in /opt/intelcc80/ ein.
InstaIIaticn Ieicbt gemacbt: Die Ei::ic¦lu:g vo: ¦:le¦s C--Co:¡i¦e: [u: Li:ux 8O sel.l ei:e:
i:sl~¦¦ie:le: R[M vo:~us, ¦~u[l o~[u: ~Le: weil ge¦e:o ~ulo:~lisc¦ ~L
Ein erster Test mit dem Apache-Webserver soll zeigen, dass der Compiler richtig
installiert ist. Holen Sie sich dazu zunächst den Sourcecode von www.apache.org
und entpacken Sie das gezippte Tarball in ein Verzeichnis.
gunzip httpd-<version>
tar -xf httpd-<version>
Damit der Intel-Compiler Iunktioniert, benötigt er einige Umgebungsvariablen.
Diese lassen Sie am besten automatisch vom mitgelieIerten Script setzen:
source /opt/intel_cc_80/bin/iccvars.sh
o¯ weLcooe. ~1oZo
¦:le¦ Co:¡i¦e: u:o \Tu:e [u: Li:ux
Im nächsten Schritt gilt es, den Build-Vorgang Iür den Apache zu konfgurieren.
Dazu dient das Script conhgure im Source-Verzeichnis von Apache. Das Script
entnimmt einige InIormationen aus Umgebungsvariablen, so zum Beispiel den zu
verwendenden Compiler (CC) und die passenden Startoptionen (CCFLAGS). Da-
nach reichen AuIruIe von make und make install, um den neu kompilierten
Webserver zu installieren.
cd httpd-<version>
CC¬"icc" CCFLAGS¬"-O· -xN -tppI" ./conñgure
make
make install
Ein anschließender AuIruI von /usr/local/apache?/apachectl start &
und ein Laden der URL http://localhost mit einem Browser überprüIen, ob alles
wie gewünscht Iunktioniert hat. Die verwendeten Kommandozeilen-Parameter in
CCFLAGS weisen den Compiler an, aggressive Optimierungen zu verwenden
(-O3), speziellen Code Iür Pentium 4 zu erzeugen (-xN) und Optimierungen Iür
Pentium 4 vorzunehmen (-tpp7). Der Parameter -xN sorgt daIür, dass das erzeugte
Binary nur auI P4-Systemen läuIt.
ErfcIg: /¡~c¦e isl :il oe: 0¡li:ie:u:gso¡lio:e: :eu ¦o:¡i¦ie:l u:o ¦~u[l
Die ¦e[lCD
oo wwwlecC¦~::e¦oe
Wenn Sie stattdessen -axN angeben, generiert der Compiler im ZweiIelsIall eine
generische IA-32-Funktion und eine speziell auI P4 angepasste. Dadurch wird al-
lerdings das Binary größer und etwas langsamer, weil ieweils auI die Prozessorar-
chitektur geprüIt wird, bevor eine entsprechende Funktion auIgeruIen wird. Wei-
tere Möglichkeiten Iür die Schalter -x und -ax sind .k' Iür Pentium III, .B' Iür
Pentium-M und .P' Iür Prescott-Systeme.
1.ó.2 Erweiterte Features
Bei einer Reihe von Optimierungen, etwa hinsichtlich SchleiIen, kann der Com-
piler nur heuristische Annahmen treIIen. Hier können Sie entweder mittels spezi-
eller pragma-Anweisungen im Sourcecode HilIestellung geben oder mittels der
so genannten .Profle Guided Optimization' (PGO) noch ein weiteres Quäntchen
PerIormance herauskitzeln.Bei Ersterem teilen Sie beispielsweise dem Compiler
mittels der Anweisung =pragma loop count (n) mit, dass die Iolgende
SchleiIe wahrscheinlich n-mal durchlauIen wird. Das vereinIacht dem Compiler
die Optimierungsarbeit.
Die Optimierung per PGO ist ein mehrstufger Prozess. Hier wird zunächst ein
spezielles Binary erzeugt, das InIormationen über Häufgkeit von FunktionsauIru-
Ien, SchleiIendurchläuIen oder Ähnlichem mitprotokolliert. Dazu ist das Pro-
gramm mit dem Schalter -profgen zu kompilieren und dann mit einem typischen
Datensatz zu durchlauIen. Danach kann man das endgültige Binary unter Einbe-
ziehung der gewonnenen InIormationen mit dem Schalter -profuse erzeugen.
Über das Tool profmerge lassen sich auch Messungen mit einer Reihe von ver-
schiedenen Datensätzen machen, deren Ergebnisse dann zusammen Iür die Opti-
mierung herangezogen werden.
1.ó.3 ¥Tune für Linux
Schlechten Code kann auch der beste Compiler nur bedingt in ein schnelles Exe-
cutable verwandeln. Doch eines der größten Probleme beim Optimieren von eige-
nen Entwicklungen besteht darin, die eigentlichen Flaschenhälse herauszufnden.
Denn was nutzt es, beispielsweise Stunden in eine Funktion zu investieren, die
gerade mal einen Bruchteil der gesamten ProgrammlauIzeit ausmacht?
Bei diesem Problem hilIt Intels VTune. Es überwacht den AblauI eines Pro-
gramms und sammelt dabei Daten darüber, wie viel Zeit in den ieweiligen Unter-
routinen oder Bibliotheken verbraucht wird. Anhand dieser Daten kann der Ent-
wickler dann ermitteln, wo sich eine Optimierung am meisten lohnt. Billig ist das
iedoch nicht: Intel veranschlagt 699 US-Dollar Iür das Produkt (als Box oder als
Lizenz-Key), der deutsche Distributor sogar knapp 810 Euro Iür den reinen Li-
zenzschlüssel (834 Euro Iür eine Box). Angesichts des derzeit günstigen Dollar-
Kurses ist das ein starkes Argument Iür eine Online-Bestellung bei Intel.
o¯ weLcooe. ~1oZo
¦:le¦ Co:¡i¦e: u:o \Tu:e [u: Li:ux
Bei der Evaluierungsversion von VTune gibt sich Intel erheblich restriktiver als
beim C¹¹-Compiler: Es gibt keine Ireie Version Iür den nicht kommerziellen Ein-
satz, und die maximale LauIzeit der Testlizenz ist auI sieben Tage beschränkt.
InteI ¥Tune für Linux
IA-32-Arcbitektur 5ystemvcraussetzungen
0istribution 5u5E 8.!. 8.2. 7. 5LE5 8
0istribution Red Pat 7.2. 7.3. A5 2.!. E5 2.!. w5 2.!
Pardware
Prozessor ab Pentium ||. ó5O HPz
RAH !28 HByte
Festþlatte 2!6 HByte
Itanium 2 5ystemvcraussetzungen
0istribution 5u5E 5LE5 8
0istribution Red Pat A5 2.!. E5 2.!. w5 2.!
Pardware
Prozessor |tanium oder |tanium 2
RAH !28 HByte
Festþlatte 2ó3 HByte
1.ó.ó InstaIIaticn und Betrieb
Solange Ihr System den von Intel geIorderten Voraussetzungen (www.intel.com/
soItware/products/vtune/vlin/sysreq.htm) hinsichtlich Distribution und Kernel-
Version entspricht, gestaltet sich die Installation sehr einIach. Sie müssen ledig-
lich die per E-Mail erhaltene Lizenzdatei in das Verzeichnis /opt/intel/licenses
kopieren, das tar-Archiv auspacken und ./install starten. Wählen Sie die Kom-
plettinstallation und Iolgen Sie den weiteren Schritten im Script. Die ausIührbaren
Dateien von VTune fnden Sie im Verzeichnis /opt/intel/vtune/bin.
VerIügen Sie nicht über die richtige Distribution oder Kernel-Version, empfehlt
Intel, das Produkt nicht zu installieren. Optional kann man versuchen, den benö-
tigten VTune-Kernel-Treiber selbst zu kompilieren und einzubinden. Dieser Trei-
ber wird auch benötigt, um systemweite PerIormance-Daten zu sammeln und so-
mit generelle Probleme und Flaschenhälse auIzuspüren.
Für einen ersten Test analysieren wir das Leistungsverhalten von gzip. Dazu be-
nötigen Sie den Quellcode, den Sie am besten von www.gzip.org herunterladen.
Diesen kompilieren Sie mit der Option -o, damit Debug-InIormationen in die aus-
Iührbare Datei geschrieben werden. Den AnalyselauI starten Sie mit
Die ¦e[lCD
o8 wwwlecC¦~::e¦oe
vtl activity -c callgraph -app ./gzip,"-9 -v <dateiname>"
±-moi ./gzip run
DC0H für Linux: \Tu:e Le:oligl .wi:ge:o o~s [~¦el vo: E:li:e\ oe::oc¦ :ule:
Deg:i[[e wie Regisl:v u:le: Li:ux se¦ls~: ~:
KerneI-Treiber: Fu: SuSE Li:ux ' isl oe: Le:oligle ¦e::e¦T:eiLe: .u: S~::e¦: oe:
[e:[o::~:ceD~le: sc¦o: vo:ge[e:ligl i: [~¦el e:l¦~¦le:
o' weLcooe. ~1oZo
¦:le¦ Co:¡i¦e: u:o \Tu:e [u: Li:ux
Ersetzen Sie dabei <dateiname> durch den Namen einer zu komprimierenden
Datei. Für aussagekräItige Ergebnisse sollte sie schon einige Megabyte groß sein.
VTune legt nun die PerIormance-Daten ab und zeigt die Ergebnisse später mit
dem BeIehl vtl view an.
Beispielsweise erhalten Sie mit dem Parameter -moaules eine Liste aller beteilig-
ten Module und Libraries. Der Parameter -functions lieIert eine Aufistung aller
Funktionen inklusive der dazu ermittelten Werte.
Wer Iabmt? ¦: oiese: Ü Le:sic¦l ¦~:: oe: E:lwic¦¦e: ¦e:~us[:oe:, wo o~s [:og:~:: oie
:eisle Zeil ve:L:~uc¦l u:o so:il sei:e 0¡li:ie:u:gsLe:u¦u:ge: [o¦ussie:e:
Die Ausgabe auI dem Bildschirm ist allerdings nicht gut lesbar, da sehr viele In-
Iormationen ausgegeben werden. Daher empfehlt es sich, die Ausgabe in eine
Datei umzuleiten und dann als komma-separierte Datei in eine Tabellenkalkula-
tion zu importieren, wobei die erste Zeile SpaltenüberschriIten enthält.
vtl view -functions > dateiname.csv
Dort können Sie dann beispielsweise nach der Spalte .SELFTIME' sortieren,
um herauszufnden, in welcher Funktion Ihr Programm die meiste Zeit ver-
braucht. Der Parameter -calls schließlich listet Iür eine oder alle Funktionen auI,
welche weiteren Funktionen wie oIt von dieser auIgeruIen werden und wie viel
Zeit darin verbraucht wird.
Die ¦e[lCD
¯O wwwlecC¦~::e¦oe
1.ó.5 Fazit
Das Gespann C¹¹-Compiler und VTune bietet eine gute Möglichkeit, schnelle
Applikationen Iür Linux zu entwickeln allerdings zu Lasten der PlattIormunab-
hängigkeit. Bei der Entwicklung von eigenen Programmen Iür den Haus- oder
Firmengebrauch spielt das iedoch keine besondere Rolle, solange die Strategie
der IT-Abteilung heißt: .Wir kauIen nur Intel!'
VTune, das nur in einer kommerziellen Variante verIügbar ist, zielt direkt auI pro-
Iessionelle Programmierer wie schon der Preis zeigt. Dementsprechend kann
man in anderen Umgebungen auch darauI verzichten.
Der C¹¹-Compiler dagegen eignet sich auch Iür andere Anwendungszwecke. So
ließe sich beispielsweise ein Linux auIsetzen, das optimal auI den ieweiligen Pro-
zessor des Servers abgestimmt ist. Das einzige Problem dabei: Der Kernel lässt
sich nicht so ohne Weiteres mit dem Intel-Compiler übersetzen. Obwohl der Com-
piler schon seit der Version 7 Iür den nicht kommerziellen Einsatz kostenlos ist,
hat sich bisher noch niemand geIunden, der die Quellcodes und Makefles darauI
anpasst. Zumindest Apache, MySQL und eine Vielzahl anderer (Server-)Anwen-
dungen lassen sich ohne großen AuIwand damit übersetzen und optimieren. Ein
Blick auI die Website von SPEC (www.spec.org) zeigt übrigens, dass der Intel
C¹¹-Compiler auch der beste Compiler Iür AMD-Prozessoren ist.
Mike Hartmann
tecCRANNEL-Links zum Tbema Webccde Ccmpact
|ntel C++-Comþiler und VTune für Linux a!326 5.63
Kernel-Tuning für Linux a83O -
Test: Pentium ó Prescott a!2óó -
0esktoþ-Prozessoren im 0etail a!28ó -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
¯1 weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
2. CIient
Auch der Einsatz von Linux auI dem Client erIreut sich immer größerer Beliebt-
heit. Nicht zuletzt, weil inzwischen eine Vielzahl von Büro- und Multimedia-Ap-
plikationen Iür Linux verIügbar ist. Doch ist es nicht immer ganz einIach, diesen
Client ins Netz zu bringen, wie sich am Beispiel von WLANs und Notebooks
zeigt. Hier sind mitunter eine Menge Anpassungen notwendig im ExtremIall
sogar die Verwendung eines Windows-Treibers.
Intels Preboot Execution Environment PXE eröIInet die Möglichkeit, Arbeits-
platzrechner nicht als .Iette' PCs mit Harddisk-basierter Betriebssysteminstal-
lation zu betreiben, sondern als Iestplattenlose Clients, die ihr OS aus zentraler
Quelle beziehen. Die Vorteile einer solchen Lösung vor allem hinsichtlich Ad-
ministration, Maintenance und Support liegen auI der Hand. Wie sich Diskless-
Linux-PCs einIach auIsetzen und betreiben lassen, lesen Sie in Abschnitt 2.2.
2.1 WLAN unter Linux
Drahtlose Netze sind im Trend. Kein Wunder, dass auch Linux-Anwender die ka-
bellose Freiheit genießen wollen. Allerdings stoßen sie dabei auI einige glückli-
cherweise lösbare Probleme. Kaum eine Netzwerktechnik hat in den letzten
Monaten einen derart rasanten ZulauI erhalten wie die drahtlosen Netze. Doch
während Windows-Nutzer mehr oder weniger problemlos in Wireless LANs nach
neuestem Standard partizipieren, haben Linux-Anwender oIt das Nachsehen. Ge-
rade die iüngste Generation drahtloser Netzwerkadapter mit TransIerraten von 54
Mbit/s und mehr zeichnet sich aus ihrer Sicht vor allem durch eines aus: Iehlende
Linux-Treiber. Doch selbst wenn man sich mehr oder weniger notgedrungen
auI die ältere Technik und deren geringere TransIerrate von 11 Mbit/s beschränkt,
ist der Weg ins drahtlose Netz mit einigen StolperIallen versehen.
Testcpfer: Diese: De¦¦ [:ecisio:
MoO ve:w~:oe¦: wi: i: ei:e :oLi¦e
Li:ux\o:¦sl~lio: :il \L/Ñ
Co::eclivilv
C¦ie:l
¯Z wwwlecC¦~::e¦oe
Aber keine Sorge, meistens handelt es sich wirklich um Kleinigkeiten, die schnell
aus dem Weg geräumt sind. Und mit etwas Glück sausen auch Sie schon bald mit
54 Mbit/s durch den Äther. Wie das im Einzelnen geht, beschreiben wir anhand
von SuSE Linux 9.0, das neben einigen Annehmlichkeiten in Bezug auI drahtlose
Netze ein paar zum Teil recht ärgerliche Besonderheiten im Umgang mit die-
sen auIweist. Als Hardware kommt ein Dell Precision M60 zum Einsatz: Pen-
tium M mit 1,6 GHz Taktrate, Dell TrueMobile, Broadcom Gigabit-Ethernet und
40-GByte-Festplatte.
2.1.1 WLAN-5uppcrt unter Linux
Um einen WLAN-Adapter korrekt ansprechen zu können, benötigt auch Linux
einen passenden Treiber. Ursprünglich wurden diese im Rahmen des Proiekts
PCMCIA-CS (pcmcia-cs.sourceIorge.net) entwickelt. Dieses Rahmenwerk stellt
die generelle Unterstützung Iür PCMCIA- oder Cardbus-Adapter zur VerIügung
und lieIert gleichzeitig eine große Zahl von Treibern unter anderem auch Iür
drahtlose Netzwerkadapter.
Seit der Kernel-Version 2.4 ist dieses System Iester Bestandteil des Linux-Kerns.
Allerdings wird bei dieser Variante ein neuer Treiber zur Ansteuerung der Hard-
ware eingesetzt, der so genannte yentasocket. Dieser unterstützt nicht die gesam-
te Palette der vom Originalpaket unterstützten PCMCIA-Hardware, ist aber be-
züglich der verwendeten Treiber weit gehend identisch.
Eine Besonderheit stellt das Treiberpaket des Linux WLAN Proiect (www.linux-
wlan.org) dar. Es versucht, eine möglichst standardkonIorme WLAN-InIrastruk-
tur unter Linux umzusetzen. Durch eine enge Zusammenarbeit mit Intersil, einem
der größten Hersteller von Chipsätzen Iür WLANs nach IEEE 802.11b, bietet das
Linux WLAN Proiect vor allem Treiber Iür WLAN-Adapter mit neueren Intersil-
Chips, die vom normalen PCMCIA-CS nicht unterstützt werden.
Unter SuSE Linux 9.0 sind alle drei Systeme geboten. Das macht es relativ leicht,
einen passenden Treiber Iür einen WLAN-Adapter zu fnden soIern ein Treiber
vorhanden ist. Allerdings kommen sich die Systeme auch in die Quere und verhin-
dern so, dass eine eigentlich unterstützte Karte einwandIrei arbeitet.
Mit den beschriebenen Paketen ist aber erst ein Teil der Möglichkeiten abgedeckt.
Zumindest bei der Kernel-Variante von PCMCIA-CS kommt noch eine Spielart
hinzu: Cardbus-Adapter. Diese werden nicht wie bei der externen Variante vom
Cardmanager-Prozess gehandhabt, sondern an den Hotplug-Manager weiterge-
reicht. Da Iür diesen allerdings noch überhaupt keine WLAN-Treiber existieren,
sind Cardbus-Adapter Iür Linux-Anwender also eigentlich nicht zu empIehlen.
Über einen Trick ermöglicht es aber gerade der Hotplug-Manager, auch neuere
WLAN-Adapter nach 802.11g unter Linux in Betrieb zu nehmen. Doch zunächst
widmen wir uns der einIachen Variante, den direkt unterstützten Adaptern Iür Net-
ze nach 802.11b.
¯o weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
2.1.2 Unterstützten WLAN-Adapter integrieren
Als Beispiel verwenden wir zunächst einen WLAN-Adapter von Netgear, den
MA401 in der alten Version. Dieser erkennbar an einer Seriennummer, die mit
MA41A beginnt verwendet einen älteren Prism-Chipsatz von Intersil, der über
das im Kernel integrierte PCMCIA-Subsystem direkt unterstützt wird. Nach dem
Einstecken der Karte sind zwei kurze Pieptöne zu hören, danach startet der Hard-
ware-Assistent von SuSE Linux und bietet die Konfguration des Adapters an.
6efunden: De: :eu
e:¦~::le: \L/Ñ
/o~¡le: Lielel oe:
¦~:ow~:eM~:~ge:
vo: SuSE Li:ux 'O
so[o:l .u: ¦o:[gu
:~lio: ~:
Da ein Access Point in der Regel auch DHCP-Dienste anbietet, können Sie die
Grundeinstellungen Iür die Karte im nachIolgenden Konfgurationsmenü weit ge-
hend übernehmen. In diesem Fall bezieht die WLAN-Karte alle wichtigen Para-
meter wie IP-Adresse, DNS-Server und Internet-Gateway vom Access Point.
Kcnhguriert: Die vo:gesc¦¦~ge
:e Ü Le::~¦:e oe: Ñel.we:¦¡~
:~:ele: ¡e: D¦C[ :uss :u:
se¦le: ge~:oe:l we:oe:
C¦ie:l
¯/ wwwlecC¦~::e¦oe
Einige Parameter setzt SuSE Linux allerdings nicht optimal. So versetzt es den
Adapter standardmäßig in den Ad-hoc-Modus. Für den Betrieb an einem Access
Point ist aber die Betriebsart .Managed' unter SuSE .Verwaltet' genannt not-
wendig. Um diese einzustellen, müssen Sie zuerst über die Schaltfäche .Hard-
waredetails' in das entsprechende Untermenü wechseln. Von dort gelangen Sie
über den Button .Einstellungen Iür Funkverbindungen' zu den Optionen, die den
Betriebsmodus und die Sicherheitseinstellungen beeinfussen.
5ucbspieI: Die wic¦lige: Del:ieLs u:o Sic¦e:¦eilsei:sle¦¦u:ge: [:oe: sic¦ gul ve:slec¦l i:
U:le::e:u ei:es U:le::e:us vo: Y~ST
Hier stellen Sie als Erstes den Betriebsmodus auI .Verwaltet' um. Arbeiten Sie in
mehreren unterschiedlichen drahtlosen Netzen, ist es ratsam, den Netzwerknamen
(ESSID Extended Service Set ID) auI .Any' zu stellen. Wollen Sie sich nur mit
einem bestimmten WLAN verbinden, so tragen Sie dessen ESSID hier ein. Zu
guter Letzt lässt sich hier auch der Schlüssel Iür die Datenverschlüsselung nach
WEP erIassen. Hier müssen Sie den im Access Point eingestellten Schlüssel als
HexadezimalIolge eintragen.
Haben Sie alle Einstellungen vorgenommen und quittiert, speichert SuSE Linux
die neue Konfguration und startet das komplette Netzwerk-Subsystem neu. Aller-
dings hat die Sache noch einen kleinen Haken: Zwar Iunktioniert der WLAN-
Adapter, Sie haben aber wahrscheinlich immer noch keinen drahtlosen Zugang
zum Netz. Sowohl Verbindungen zu lokalen Systemen als auch zu Rechnern im
Internet sind nicht möglich.
¯¯ weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
¥erscbIüsseIt: De: Sc¦¦usse¦ [u: oie \E[E:c:v¡lio: isl ~¦s ¦ex~oe.i:~¦we:l ei:.ul:~ge:
2.1.3 5u5E-Bescnderbeiten ausbügeIn
Der Grund Iür die Iehlende Verbindung liegt bei SuSE. Dort hat man nämlich be-
schlossen, dass nach Möglichkeit nur ein Netzwerk-InterIace Änderungen an den
Netzwerkparametern vornehmen darI. Per DeIault ist dies die integrierte Netz-
0bne Weg: Die
\L/Ѧ~:le isl
~¦liv u:o ¦~l
ei:e ¦[/o:es
se, :u: ¦eioe:
wu:oe o~s
Rouli:g :ic¦l
~:ge¡~ssl. De:
/:we:oe: sil.l
~u[ ei:e:
\L/Ѧ:se¦
C¦ie:l
¯o wwwlecC¦~::e¦oe
werkkarte. Zweitrangige Schnittstellen wie eben der WLAN-Adapter haben zu-
nächst einmal keine Erlaubnis, ein neues Routing zu implementieren oder die Lis-
te der zu verwendenden DNS-Server zu ändern.
Damit auch der WLAN-Adapter die notwendigen Rechte erhält, müssen Sie ma-
nuell eingreiIen. In der Konfgurationsdatei /etc/svsconhg/network/ifcfg-wlan-
pcmcia ist ein zusätzlicher Parameter einzutragen:
DHCLIENT_PRIMARY_DEVICE¬´yes´
Um die Änderungen zu aktivieren und die Routing-InIormationen richtig anpas-
sen zu lassen, starten Sie das Netzwerk-Subsystem auI der Kommandozeile mit-
tels des BeIehls /etc/init.d/network restart neu.
KIeine Änderung, grcße Wirkung: ¦sl oe: :ic¦lige [~:~:ele: i: oe: ¦o:[gu:~lio:s
o~lei gesel.l, we:oe: ~uc¦ oie Rouli:gD~le: ¦o::e¦l ~:ge¡~ssl
2.1.ó UnwiIIige Adapter zum Laufen bringen
Wie Sie sehen, sind im Fall von direkt lauIIähigen Karten nur kleine Hürden zu
überwinden. Was aber, wenn der WLAN-Adapter erst einmal gar nicht läuIt? Da-
Iür gibt es zwei mögliche Ursachen: Zum einen, dass schlicht der Ialsche Treiber
Iür das Gerät geladen wird, und zum anderen, dass das PCMCIA-Subsystem kei-
nen Treiber Iür die Karte fndet.
¯¯ weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
Die erste Variante beruht oIt auI der Parallelinstallation der diversen Systeme un-
ter SuSE. Bei einigen WLAN-Adaptern mit Intersil-Chips kann es vorkommen,
dass statt des Treibers des PCMCIA-CS-Proiekts Iälschlicherweise der des Linux-
WLAN-Proiekts geladen wird. Ein Beispiel Iür so einen Fall ist die Netgear
MA401 in der neuen Version. Fatal dabei ist, dass auch hier die gewohnten zwei
hohen Pieptöne ausgegeben werden, es aber komplett unmöglich ist, der Karte
eine IP-Adresse zuzuweisen. Zudem steht die Datenrate fx auI 2 Mbit/s, wie sich
schnell mit HilIe des Utilitys iwconhg prüIen lässt.
DeutIicb zu seben: Fu: oie :eue \e:sio: oe: M//O1 vo: Ñelge~: wi:o oe: T:eiLe:
¡:is:Zcs ge¦~oe: u:o o~s isl ¦eioe: oe: [~¦sc¦e
Der Grund Iür dieses Fehlverhalten ist eine doppelt vorhandene Konfguration Iür
den Adapter. Er ist sowohl in der normalen Adapter-Datenbank /etc/pcmcia/conhg
sowie in der Linux-WLAN-Adapterliste /etc/pcmcia/wlan-ng.conf auIgeIührt. Da
Letztere von der Standardkonfguration aus nachgeladen wird, überschreiben die
Einstellungen dort die eigentlich richtigen Werte. Die einIachste Lösung ist es, die
störenden Parameter in wlan-ng.conf auszukommentieren und das PCMCIA-Sub-
system per /etc/init.d/pcmcia restart neu zu starten.
C¦ie:l
¯8 wwwlecC¦~::e¦oe
DcppeIt gemcppeIt: U: ei:e slo:e:oe ¦~:le:oe[:ilio: vo: Li:ux\L/Ñ .u e:l[e::e:,
ge:ugl es, oiese ~us.u¦o::e:lie:e:
Passt: ¦~u: ¦~ssl
:~: Li:ux oe:
:ic¦lige: T:eiLe:
[:oe:, sc¦o:
[u:¦lio:ie:l ~uc¦
oie \L/Ѧ~:le
¯' weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
2.1.5 Eigene Karte mit Treiber verseben
Ein SpezialIall des genannten Problems ist es, wenn zwar ein passender Treiber
Iür die Karte vorhanden ist, das PCMCIA-Subsystem diesen aber nicht fndet, da
ihm die Kartenparameter nicht bekannt sind. Dieses Problem tritt zum Beispiel
bei älteren WLAN-Adaptern von Zyxel auI, betriIIt aber auch die neuerdings ver-
mehrt auI dem Markt zu fndenden No-Name-Adapter. Dass Linux keinen passen-
den Treiber fnden kann, ist einIach diagnostiziert: Nach dem Einstecken der Kar-
te ertönt statt der beiden hohen Pieptöne lediglich ein tieIer. Das größte Problem
ist nun herauszufnden, mit welchem Chipsatz die verwendete Karte arbeitet. Eine
gute HilIe bietet hierbei die Adapterübersicht (www.linux-wlan.org/docs/wlan
adapters.html.gz) des Linux-WLAN-Proiekts. Allerdings ist zumindest im Be-
reich 802.11b die Wahrscheinlichkeit hoch, dass es sich um einen Prism-Chipsatz
handelt. Dieser wird gut vom Orinoco-Treiber des PCMCIA-Subsystems abge-
deckt. Wie aber teilt man diesem mit, dass es den richtigen Treiber laden soll?
Hierzu müssen Sie zunächst Ieststellen, wie sich die Karte gegenüber dem System
identifziert. Dazu öIInen Sie ein KommandozeilenIenster und starten dort das
HilIsprogramm tail, mit dem Sie das Systemprotokoll überwachen:
tail -f /var/log/messages
Stecken Sie nun den WLAN-Adapter in den PCMCIA-Slot des Rechners. Im Sys-
temprotokoll erscheinen nun recht viele Zeilen. Wichtig sind hierbei die Ausga-
ben des Card-Managers. Dieser vermeldet eine nicht unterstützte Karte und gibt
einige InIos zu dieser aus. Wichtig sind hier die beiden Werte in Hexadezimal-
Schreibweise, die in der mit dem Parameter manha beginnenden Zeile stehen.
Hierbei handelt es sich um die ManuIacturer-ID, zu Deutsch: die Herstellerken-
nung. Genau diese kann das PCMCIA-Subsystem verwenden, um der Karte einen
Treiber zuzuordnen. Dazu tragen Sie die ermittelten Werte wie Iolgt in die Datei
/etc/pcmcia/conhg ein:
card "Meine WLAN-Karte"
manñd <hexidI>, <hexid?>
bind "<treibername>"
Um beispielsweise die neuere Version der Netgear MA401 mit dem Iür sie pas-
senden Orinoco-Treiber zu verbinden, sieht der Eintrag wie Iolgt aus:
card "Netgear MA40IRA"
manñd 0x000b, 0xI·00
bind "orinoco_cs"
Welche Treiber Sie ausprobieren können, erIahren Sie am AnIang der Datei /etc/
pcmcia/conhg. Dort fnden sich Einträge, die mit dem Schlüsselwort aevice begin-
nen und in der nachIolgenden Zeile den Bezeichner class auIweisen. Alle Module,
deren Klasse als network defniert ist, können Sie ausprobieren.
C¦ie:l
8O wwwlecC¦~::e¦oe
Fcrensik: ¦: oiese: :~:i¡u¦ie:le: Deis¡ie¦ .eigl oe: C~:o:~:~ge: ~:, o~ss e:
ei:e :ic¦l u:le:slul.le ¦~:le :il oe: M~:u[~clu:e:¦D OxOOOL, Ox¯oOO ge[u:oe: ¦~l
Wichtig ist, dass Sie nach ieder Änderung der Konfgurationsdatei das PCMCIA-
Subsystem über das Kommando rcpcmcia restart neu starten. Die Konfgu-
rationsinIormationen werden nämlich nur einmalig beim Start eingelesen, Ände-
rungen werden daher nur nach einem Neustart aktiv.
2.1.ó Windcws-Treiber für scbneIIe WLANs
Nun ist es zwar ganz nett, immerhin mit 11 Mbit/s und dank RamschverkauI we-
gen geringer NachIrage auch recht günstig drahtlos zu surIen. Aber dennoch rei-
zen die hohen TransIerraten von 802.11g. Und selbst wenn man sich mit den ge-
botenen 11 Mbit/s bescheiden kann: Ein Centrino-Notebook bekommt man unter
Linux trotzdem nicht so ohne Weiteres ins WLAN. Aus einem nicht erkennbaren
Grund scheint sich ein Großteil der Industrie einIach zu weigern, Linux-Treiber
Iür drahtlose Netzwerkadapter zu produzieren.
Da es nun einmal einIacher ist, wenn der Prophet zum Berg geht, haben sich eini-
ge engagierte Entwickler die Mühe gemacht, spezielle Treiber zu schreiben. Diese
sprechen nicht etwa direkt mit der Hardware. Vielmehr erlauben sie es, die Iür
81 weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
Windows verIügbaren Treiber auch unter Linux zu verwenden. Derzeit gibt es
dazu zwei verschiedene Ansätze. AuI der einen Seite die kommerzielle Variante
von Linuxant (www.linuxant.com), auI der anderen Seite das Open-Source-Pro-
iekt Ndiswrapper (ndiswrapper.sourceIorge.net).
Im Folgenden beschreiben wir die Schritte, die notwendig sind, um eine mit
Broadcom-Chipsatz arbeitende WLAN-Karte Iür 54-Mbit/s-Netze nach 802.11g
unter Linux in Betrieb zu nehmen. Als Voraussetzung benötigen Sie einen instal-
lierten Quellcode des Linux-Kernels sowie die zur Übersetzung von Quelltexten
erIorderlichen Compiler. Beides richten Sie unter SuSE Linux 9.0 am einIachsten
über Yast ein. Wählen Sie im Menü .SoItware' das Icon .SoItware installieren
oder löschen', stellen Sie anschließend über das Drop-down-Menü in der linken
oberen Ecke den Filter auI .Selektionen' und wählen Sie dann die beiden Grup-
pen .C/C¹¹ Compiler und Werkzeuge' sowie .Kernel Entwicklung'. Ist die In-
stallation dieser Pakete abgeschlossen, sollten Sie ein Online-Update durchIüh-
ren, um die aktuellsten Versionen der Programme zu erhalten.
EntwickIungsarbeit: Zu: ¦:sl~¦¦~lio: u:o ¦:Lel:ieL:~¦:e oes Ñoisw:~¡¡e:s si:o ¦e::e¦
0ue¦¦lexle u:o Co:¡i¦e: :olwe:oig
Holen Sie sich ietzt von den Seiten des Ndiswrapper-Proiekts den aktuellen
Sourcecode. Zu Redaktionsschluss dieses Beitrags war die Version 0.4 aktuell, die
mindestens einen Kernel 2.4.23 voraussetzt. SuSE und auch andere Distributio-
nen lieIern diesen Kernel iedoch noch nicht aus. Mit einem einIachen Patch lässt
sich das Paket aber auch unter älteren Kernel-Versionen einsetzen. Die dazu erIor-
C¦ie:l
8Z wwwlecC¦~::e¦oe
derlichen Dateien fnden Sie hier (http://whocares.de/archive/000415.php) und
auI der beiliegenden CD-ROM. Nachdem Sie die Dateien heruntergeladen haben,
entpacken Sie diese und lassen die ausIührbaren Binärdaten erstellen:
tar -xvzf ndiswrapper-0.4.tar.gz
tar -xvzf ndis_wrapper_patch.tar.gz
cp wrapper.* ndiswrapper/driver/
cd ndiswrapper
make install
cp utils/loadndisdriver /usr/bin
Der nächste Schritt besteht darin, den Windows-Treiber Iür Ihren WLAN-Adapter
zu besorgen. Das erledigen Sie am besten über die Webseite des Herstellers Ihrer
Karte. Für die weit verbreiteten Karten mit Broadcom-Chipsatz lohnt sich auch
ein Besuch auI der Webseite von Dell, da der Treiber Iür den in deren Notebooks
integrierten Adapter True Mobile 1300 in den meisten Fällen Iunktioniert. Zudem
hat er den Vorteil, dass er sich nicht gleich installieren will, sondern die Treiber
einIach auI der lokalen Festplatte entpackt.
Sollte Ihr Hersteller kein selbstentpackendes Archiv anbieten, sondern nur einen
Treiber mit Installationsroutine, dann müssen Sie wohl oder übel in den sauren
ApIel beißen, zunächst den Treiber unter Windows einrichten und dann versuchen
herauszufnden, welche Dateien denn nun eigentlich installiert wurden. Für den
Broadcom-Treiber suchen Sie am besten nach Dateien mit dem Namen bcmwl5.*
und kopieren diese in das Verzeichnis /lib/winariver auI dem Linux-Rechner.
Jetzt benötigen Sie noch die PCI-IDs des WLAN-Adapters. Dabei unterstützt Sie
das Tool lspci. RuIen Sie es zunächst ohne Parameter auI, um Iestzustellen, wel-
che globale Device-ID die Karte hat. Für unser Beispiel ist dies die 02:03.0.
Ispci: \ie
¦¦~: .u se¦e:
isl, ¦~l oe:
\L/Ñ
/o~¡le: [u:
o~s 8OZ11g
Ñel. oie
Device¦D OZ.
OoO ~u[ oe:
[C¦Dus
8o weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
Meistens sind die WLAN-Adapter in der von lspci ausgegebenen Liste leicht
durch Kennungen zu identifzieren, die die Zeichenkette .802.11' enthalten. No-
tieren Sie sich den Wert am AnIang der Zeile und ruIen Sie lspci erneut auI, dies-
mal mit der Option -n. Sie erhalten nun eine Liste, die nur Zahlen enthält. Suchen
Sie hier nach der zuvor ermittelten Device-ID des WLAN-Adapters und notieren
Sie sich die beiden letzten Hexadezimal-Werte in der passenden Zeile. In unserem
Beispiel sind dies 14e4 und 4320. Diese beiden Zahlen stehen Iür die Hersteller-
und die Geräte-ID der Karte.
Zusatzinfcrmaticnen: ¦sl oie Device¦D Le¦~::l, ¦~sse: sic¦ ¦e:sle¦¦e: u:o
0e:~le¦oe:li[¦~lio: oe: \L/Ѧ~:le :ille¦s ¦s¡ci sc¦:e¦¦ e::ille¦:
Jetzt kommt der große Augenblick. Laden Sie zuerst das Ndiswrapper-Modul:
modprobe ndiswrapper
Wechseln Sie nun in das Verzeichnis mit den Windows-Treibern und laden Sie
diese. Der BeIehl dazu lautet:
loadndisdriver <hrst-id> <grt-id> <driver.sys> <driver.inf>
Für unser Beispiel wäre der richtige AuIruI also:
loadndisdriver I4e4 4·?0 ./bcmwlS.sys ./bcmwlS.inf
Wenn nun eine Ausgabe mit StatusinIormationen erIolgt, dann haben Sie schon
Iast gewonnen. Wenn nicht, sollten Sie sich zunächst auI die Suche nach einer an-
deren Version des verwendeten Treibers machen, zur Not auch einer älteren. Es
kann allerdings sein, dass auch diese nicht Iunktioniert und Sie auI eine neuere
Version des Ndiswrappers warten müssen.
C¦ie:l
8/ wwwlecC¦~::e¦oe
Mit HilIe des Utilitys iwconhg können Sie sich versichern, dass der Adapter er-
kannt wurde. Es sollte in der Liste der verIügbaren Geräte der Bezeichner wlan0
auItauchen. Diesem müssen Sie nun noch eine passende Konfguration zur VerIü-
gung stellen. Erzeugen Sie dazu im Verzeichnis /etc/svsconhg/network die Datei
ifcfg-wlan0 mit Iolgendem Inhalt:
BOOTPROTO¬´dhcp´
MTU¬´´
STARTMODE¬´manual´
WIRELESS_ESSID¬´<Ihre ESSID>´
WIRELESS_KEY¬´<Ihr WEP-Key>´
DHCLIENT_PRIMARY_DEVICE¬´yes´
Aktivieren Sie ietzt den Netzwerkadapter über das Kommando ifup wlan0.
Sehr wahrscheinlich erscheint dabei eine Fehlermeldung, die ein Problem bei der
AusIührung des Kommandos .Set Nickname' bemängelt. Ignorieren Sie diese
einIach. PrüIen Sie stattdessen über den BeIehl ifconhg, ob der WLAN-Adapter
aktiviert wurde und vom Access Point eine IP-Adresse erhalten hat.
ErfcIg trctz FebIermeIdung: De: \L/Ñ/o~¡le: wu:oe i:sl~¦¦ie:l, u:o e: ~:Leilel
ei:w~:o[:ei
8¯ weLcooe. ~1oZ8
\L/Ñ u:le: Li:ux
2.1.7 Integraticn autcmatisieren
Da es nun nicht sonderlich komIortabel ist, die ganzen BeIehle iedes Mal wieder
auIs Neue einzutippen, hier noch das VerIahren, um den Prozess zu automatisie-
ren. Tragen Sie dazu Iolgende Zeilen in die Datei /etc/moaules.conf.local ein:
alias wlan0 ndiswrapper
post-install ndiswrapper /usr/bin/loadndisdriver I4e4
±4·?0 /lib/windriver/bcmwlS.sys /lib/windriver/bcmwlS.inf
Nach dem nächsten Neustart des Systems können Sie den WLAN-Adapter nun
über das Kommando ifup wlan0 aktivieren. Soll der drahtlose Netzzugang beim
HochIahren des Rechners automatisch aktiviert werden, ändern Sie einIach in der
Datei /etc/svsconhg/network/ifcfg-wlan0 den Parameter Iür das Schlüsselwort
BOOTPROTO von manual auI onboot. Handelt es sich bei dem Adapter nicht um
ein integriertes Modul, sondern um eine Steckkarte, können Sie auch den Wert
hotplug verwenden. Er bewirkt eine automatische Aktivierung der Karte, sobald
diese in den PCMCIA-Slot gesteckt wird.
Ein kleiner WermutstropIen zum Schluss: Noch lauIen bei weitem nicht alle Win-
dows-Treiber unter Linux. Die Entwickler des Ndiswrappers geben sich aber
größte Mühe, mehr und mehr Treiber zu unterstützen. Gelegentlich hilIt auch der
Rückschritt auI eine ältere Treiberversion, um eine WLAN-Karte unter Linux be-
treiben zu können. Sollte auch das nicht zum ErIolg Iühren, bleibt immer noch die
kostenpfichtige Alternative von Linuxant.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
wLAN unter Linux a!328 5.7!
Reality Check: |EEE-8O2.!!-wLANs a!!27 -
8O2.!!: 5tandard für drahtlose Netze þ68O -
wireless LANs im Uberblick a75O -
5icherheit im wLAN a728 -
|ntel Centrino im 0etail a!!ó! -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
C¦ie:l
8o wwwlecC¦~::e¦oe
2.2 DiskIess Linux mit PXE
Mit dem Pre-boot Execution Environment PXE stellt Intel im Rahmen seiner
Wired-Ior-Management-Architektur eine standardisierte und auI vielen Boards
und Netzwerk-Adaptern implementierte Methode zum Remote-Boot von Syste-
men bereit. Dabei umIasst PXE einen defnierten Satz von Firmware-Routinen,
über dessen APIs mit HilIe eines Protokolls zur Adresszuweisung und der Lokali-
sierung von Netzwerkressourcen das BIOS ein so genanntes Network Bootstrap
Program (NBP) bei einem Server anIordern und über dieses weitere SoItware
nach-laden kann. Diese Methode lässt neben einer automatischen Installation des
Betriebssystems auch die komplette AnIorderung eines vorkonIektionierten, lauI-
Iähigen OS-Images beim Server zu. Damit eröIInet PXE die Möglichkeit, Arbeits-
platzrechner nicht als .Iette' PCs mit Harddisk-basierter Betriebssysteminstalla-
tion zu betreiben, sondern als Iestplattenlose Clients, die ihr OS aus zentraler
Quelle beziehen. Die Vorteile einer solchen Lösung vor allem hinsichtlich Admi-
nistration, Maintenance und Support liegen auI der Hand.
Angenehmer NebeneIIekt: Der Diskless Client sorgt nebenbei Iür angenehme
Ruhe am Arbeitsplatz. Und so ist die Idee zum Diskless Linux via PXE ursprüng-
lich auch entstanden. Bei Experimenten mit einem heimischen Video-Streaming-
Client erwiesen sich die angepeilten Lösungen zwar als technisch zuIrieden stel-
lend, iedoch in Sachen Lautstärke als eindeutig nicht .Wohnzimmer-kompatibel'.
Da liegt der Versuch mit einem plattenlosen Gerät, das über PXE bootet, nahe.
Wie sich bei entsprechenden Versuchen zeigte, lässt sich das Prinzip iedoch rela-
tiv problemlos auch Iür Client-Installationen in Firmen-Umgebungen umsetzen.
Die dabei gemachten ErIahrungen sowie die wichtigsten Rahmenbedingungen
und Arbeiten zur Implementierung von Diskless Clients unter Linux Iasst der vor-
liegende Artikel zusammen. Anhand dieser InIormationen sollten Sie relativ pro-
blemlos in der Lage sein, eine entsprechende Lösung Iür eigene Zwecke auIzu-
setzen. Alle im Folgenden beschriebenen Scripts sowie ein Iertiges Boot-Image
stehen unter www.intra2net.de/opensource/diskless-howto/ zum Download be-
reit. Es handelt sich dabei ausnahmslos um Ireie SoItware gemäß der GPL, so dass
eigenen Modifkationen und Experimenten nichts im Wege steht.
2.2.1 ¥crbedingungen
Für die ersten Versuche benötigen Sie zunächst einmal einen Diskless Client mit
Remote-Boot-Fähigkeit. Die meisten On-board-Netzwerk-Controller bringen
auch gleich einen passenden PXE-Client im BIOS mit. Höher wertige Netzwerk-
adapter kommen in der Regel ebenIalls schon mit einem eigenen PXE-BIOS. Un-
ter Umständen müssen sie dieses aber erst einmal aktivieren. AuI den vom Autor
verwendeten Karten des Typs Intel EEPro/100¹ wurde dazu beispielsweise das
Intel-Tool IBAUtil eingesetzt.
8¯ weLcooe. ~1oZ'
Dis¦¦ess Li:ux :il [\E
Des Weiteren benötigen Sie eine CD der Linux-Distribution, die auI dem platten-
losen System lauIen soll. Für den vorliegenden Artikel wurde zu diesem Zweck
ein Fedora Core 1 verwendet. AuI Server-Seite müssen ein DHCP- und ein TFTP-
Server sowie ein NFS-Server parat stehen. Dazu lassen sich die mit den allermeis-
ten Distributionen ausgelieIerten Varianten einsetzen. Es spricht auch nichts dage-
gen, die drei Server-Dienste zusammen auI einer Maschine zu betreiben.
2.2.2 InstaIIieren der Distributicn
Eine betriebsIertige Distribution lagert normalerweise auI der Festplatte des
Rechners. Nun soll ia im Client keine Festplatte verwendet werden, sondern er
muss das Betriebssystem via NFS vom Server beziehen. Dies erIordert, die Dis-
tribution statt auI der nicht vorhandenen lokalen Platte in einem Verzeichnisbaum
auI dem Server zu lagern. Sie lässt sich auI zwei Wegen dorthin beIördern.
Zum einen können Sie die Distribution ganz normal auI der lokalen Festplatte ei-
nes Rechners installieren. Von dort kopieren Sie dann alle Dateien in ein Verzeich-
nis auI dem Server. Alternativ ist es möglich, die SoItware direkt auI dem Server
zu installieren. Diese AuIgabe lässt sich bequem über ein kleines Script erledigen,
das die benötigten Binaries von der CD-ROM in das Zielverzeichnis beIördert
und noch einige notwendige Dateien erzeugt.
Die Iür das vorliegende Besipiel verwendete Variante fnden Sie als mkIedora.sh
zum Download. Nach dem AuIruI über ./mkfedora.sh (ZIEL¦ (DIST-CD¦
installiert es die im Script selbst angegebene Minimal-Paketausstattung von der
Distributions-CD in das als ZIEL angegebene Verzeichnis auI dem Server. Dane-
ben legt es im Ziel-Verzeichnisbaum noch /etc/Istab sowie /etc/sysconfg/
authconfg an und generiert gleich einen SSH-Hostkey.
2.2.3 Anpassungen für das Pemcte-Bccten
Im nächsten Schritt gilt es, die Distribution Iür das Booten aus einer entIernten
Quelle zu präparieren. Dies erIordert eine Reihe von Anpassungen im Verzeich-
nisbaum auI dem Server (im Folgenden als SYSROOT bezeichnet). Bei unserem
Fedora Iallen Iolgende Arbeiten an:
· In /etc darI der Benutzer nur lesen, iedoch keine Veränderungen vornehmen.
· Der Eintrag Iür das Wurzelverzeichnis / in Istab muss ausgetauscht werden.
AndernIalls würde rc.sysinit beim Booten versuchen, das Dateisystem per
Isck.ext2 zu überprüIen.
· Das Networking kann über chkconfg deaktiviert werden. Es wird ohnehin
konfguriert, sobald die rc-Dateien lauIen.
· Auch der Hardware-Agent kudzu entIällt. Die vorgestellte Lösung verwendet
ein Read-only-Dateisystem, er würde also ohnehin nichts bewirken.
C¦ie:l
88 wwwlecC¦~::e¦oe
· Aus der RPM-Datenbank entIernen Sie zunächst die temporären Dateien und
verschieben sie dann von /var nach /usr. Dies spart Hauptspeicher, da /var im
tmpIs residiert, also im RAM.
· Zum Schluss komprimieren Sie noch /dev, was den Bootvorgang um rund zehn
Sekunden abkürzt.
Diese Arbeiten lassen sich zwar grundsätzlich von Hand ausIühren. KomIortabler
erledigt sie aber das Script mkbootready. AuIgeruIen wird es mit ./mkbootready
(SYSROOT¦, wobei Sie Iür SYSROOT das Basisverzeichnis der auI dem Server
lagernden Installation angeben.
2.2.ó NF5 kcnhgurieren
Nun richten Sie NFS Iür den ZugriII der plattenlosen Clients ein, die ihr Betriebs-
system aus dem in den vorigen Schritten erzeugten Distributionsverzeichnis aus
dem Server beziehen sollen. Dazu müssen Sie das Verzeichnis exportieren. Für
ein Distributionsverzeichnis namens /netboot/pxeclient Iügen Sie beispielsweise
Iolgende Zeile in die /etc/exports des NFS-Servers ein:
/netboot/pxeclient I9?.I¬8.I.0/?4(ro,no_root_squash)
Da Iür das Booten der Diskless Clients die Option norootsquash benötigt wird,
sollten Sie aus Sicherheitsgründen keinesIalls ein Einhängen im Lese/Schreib-
Modus erlauben. AndernIalls würden die root-Benutzer der Clients auch root-Zu-
griII auI dem Server erhalten. Stellen Sie sicher, dass Ihr NFS-Server läuIt. Ver-
gessen Sie außerdem nicht, nach dem Eintragen des Exports die Konfguration
neu zu laden. Haben Sie damit Probleme, hilIt ein Blick in das NFS-HOW-TO
weiter. Sie fnden es beim Linux Documentation Proiect (www.tldp.org).
2.2.5 ¥crbereiten des initrd-Image
Die Erstellung des Boot-Image selbst erIordert einigen ArbeitsauIwand. So muss
beispielsweise busybox kompiliert werden, das alle wichtigen SystembeIehle
kompakt in einem Programm bereitstellt. Für lspci wird ein Patch von Diego Tor-
res Milano benötigt, der über die Option -k den Netzwerkadapter automatisch er-
kennt und gleich den passenden Modulnamen ausspuckt. Auch sind eine ganze
Reihe Initialisierungs-Scripts zu erstellen beziehungsweise anzupassen.
Diese Arbeiten müssen Sie iedoch nicht alle selbst erledigen: Sie fnden ein Iunk-
tionsIähiges initrd-Image unter www.intra2net.de/opensource/diskless-howto/ als
pxeboot.img.gz in gepackter Form zum Download. AnIassen müssen Sie es nur
noch dann, wenn Ihr Kernel nicht alle notwendigen Funktionen Iest einkompiliert
mitbringt, sondern einige Funktionen in Module ausgelagert hat. In diesem Fall ist
das Image entsprechend anzupassen. Das ist auch bei dem als Exempel verwende-
ten Fedora der Fall, bei dem vor allem NFS lediglich als Modul vorhanden ist.
8' weLcooe. ~1oZ'
Dis¦¦ess Li:ux :il [\E
Zunächst entpacken Sie das Boot-Image und hängen es ein:
> gunzip pxeboot.img.gz
> mkdir __pxeboot-tmp__
> mount -o loop pxeboot.img __pxeboot-tmp__
Anschließend legen Sie Verzeichnisse Iür die nötigen Module an. Dabei geben Sie
Iür $¦KERNELVER} die genaue Version des verwendeten Kernel an. Bei dem
Fedora Core 1 wäre das beispielsweise 2.4.22-1.2115.nptl.
> mkdir -p __pxeboot-tmp__/lib/modules/S¦KERNELVER¦/net
> mkdir -p __pxeboot-tmp__/lib/modules/S¦KERNELVER¦/nfs
Nun kopieren Sie nIs.o und die von ihm benötigten Dateien (in der Regel sunrpc.o
und lockd.o) in das eben angelegte Unterverzeichnis .../nIs. Sinngemäß verIahren
Sie mit den erIorderlichen Netzwerktreiber-Modulen und deren Dependencies
(meist ist das mii.o), die in das Verzeichnis .../net gehören. Falls Sie Iür verschie-
dene Clients unterschiedliche Netzwerktreiber brauchen, können Sie sie hier alle
ablegen. Der Lader pickt sich später das Passende heraus.
Jetzt berechnen Sie die Dependencies neu. Hier geben Sie Iür $SYSTEMMAP die
System.map-Datei des verwendeten Kernel an, Iür $KERNELVER wiederum die
genaue Kernel-Version:
> /sbin/depmod -a -F SSYSTEMMAP -b __pxeboot-tmp__ -C /dev/
±null SKERNELVER
Zu guter Letzt hängen Sie das Image wieder aus und komprimieren es erneut:
> umount __pxeboot-tmp__
> gzip -9 pxeboot.img
> rmdir __pxeboot-tmp__
Sie ahnen es wahrscheinlich schon: Auch Iür diese Arbeiten gibt es bereits ein
vorbereitetes Script, das Sie als mkbootimage.sh herunterladen können. AuIgeru-
Ien wird es mit:
> ./mkbootimage.sh (SYSROOT¦ (SYSTEMMAP¦ (KERNELVER¦
Dabei übergeben Sie als SYSROOT das Wurzelverzeichnis des Systems, dessen
Kernel-Module Sie verwenden wollen. Dabei handelt es sich üblicherweise um
das Verzeichnis auI dem Server, in das Sie die Distribution installiert haben in
unserem Fedora-Beispiel also /netboot/pxeclient. Dort muss unter |SYSROOT|/
lib/modules/|KERNELVER| eine gültige modules.dep zu fnden sein.
Bei KERNELVER handelt es sich, wie bereits erwähnt, um die genaue Version
des verwendeten Kernel (Iür Fedora Core 1 also 2.4.22-1.2115.nptl). Als SYS-
TEMMAP ist, wie ebenIalls schon angesprochen, die System.map-Datei dessel-
ben Kernel anzugeben. Das wäre also üblicherweise so etwas wie /netboot/
pxeclient/boot/System.map-|KERNELVER|.
C¦ie:l
'O wwwlecC¦~::e¦oe
2.2.ó DRCP-EinsteIIungen anpassen
Wahrscheinlich betreiben Sie bereits einen DHCP-Server. Falls nicht, ist es ietzt
höchste Zeit, einen solchen einzurichten. Auch dazu fnden Sie gegebenenIalls ein
passendes HOW-TO beim Linux Documentation Proiect. Für den Diskless Client
Iügen Sie eine Sektion wie die Iolgende in /etc/dhcpd.conI ein:
host pxeclient ¦
hardware ethernet AA.BB.CC.DD.EE.FF,
ñxed-address I9?.I¬8.III.???,
option host-name "pxeclient",
ñlename "/pxelinux.0",
next-server tftpserver,
option root-path "nfsserver./netboot/pxeclient",
¦
Als .flename' ist hier der Name des PXE-Boot-Image auI dem TFTP-Server an-
zugeben, in unserem Fall immer ./pxelinux.0'. Unter .next-server' tragen Sie
den Host-Namen beziehungsweise die IP-Adresse des TFTP-Servers ein. Mit
.root-path' ist der NFS-PIad zum Wurzelverzeichnis Iür den Client gemeint.
Falls NFS- und TFTP-Server auI derselben Maschine lauIen, ist die explizite An-
gabe des Server-Namens überfüssig. Bei BedarI können Sie auch NFS-Optionen
anhängen (etwa .nIsserver:/netboot/pxeclient/,retry÷1,rsize÷8192,wsize÷8192').
Näheres dazu fnden Sie in der Manpage zu mount(8).
Vergessen Sie im Anschluss an die Änderungen nicht, den DHCP-Daemon neu zu
starten, damit die Optionen auch übernommen werden.
2.2.7 TFTP kcnhgurieren
Installieren Sie, Ialls nicht schon geschehen, das Paket tItp-server. Falls die von
Ihnen verwendete Distribution den xinetd nutzt, müssen Sie meist nur in /etc/
xinetd/tItp die Option .disable÷no' setzen und xinetd neu starten. Alternativ kön-
nen Sie auch tItpd manuell mit Angabe der Option .-s /tItpboot' starten. Die he-
runterladbaren Dateien sind üblicherweise im Verzeichnis /tItpboot zu lagern.
Sobald Sie den TFTP-Server am LauIen haben, besorgen Sie sich bei Kernel.org
die aktuellste Version von syslinux (www.kernel.org/pub/linux/utils/boot/sys
linux/). Darin fndet sich eine Datei namens pxelinux.0, die Sie in das Verzeichnis
/tItpboot des Servers kopieren. Nun wechseln Sie in dieses Verzeichnis und legen
ein Subdirectory namens pxelinux.cIg an. In dieses legen Sie wiederum eine Datei
.deIault' ab, die Iolgenden Inhalt haben sollte:
LABEL linux
KERNEL vmlinuz-?.4.??-I.?IIS.nptl
APPEND initrd¬pxeboot.img.gz ramdisk_size¬8I9?
'1 weLcooe. ~1oZ'
Dis¦¦ess Li:ux :il [\E
Der Name des Kernel-Image kann bei Ihnen abweichen, das Beispiel gilt Iür das
verwendete Fedora. Zum Abschluss kopieren Sie ietzt noch den Kernel und das
initrd-Image aus den vorigen Schritten in das Verzeichnis /tItboot.
2.2.8 Bccten
Damit sind alle Vorbereitungen abgeschlossen. Sie können ietzt Ihren Diskless
Client einschalten, sich gemütlich zurücklehnen und ihm beim Booten zuschauen.
Vergessen Sie iedoch nicht, dass Sie lediglich ein Read-only-Image haben. Der
Client kann also nur nach /var und /tmp schreiben, aber praktisch in kein anderes
Verzeichnis. Der einIachste Weg, etwas zu ändern, ist dies in einer chroot auI dem
NFS-Server zu tun. Führen Sie also zum Beispiel chroot /netboot/pxeclient aus,
um eine Shell über chroot zu starten. Nehmen Sie hier uname(1) zu HilIe, Ialls Sie
auI Server und Client mit verschiedenen Kernel oder Prozessoren arbeiten.
Mit etwas Nacharbeit lässt sich der Bootvorgang übrigens in vielen Fällen noch
beschleunigen. Zum einen sollten Sie sich unbedingt einen angepassten Kernel
maßschneidern. EntIernen Sie alles, was Sie nicht wirklich benötigen.
Der IDE-Support beispielsweise vertrödelt eine erkleckliche Zeitspanne, nur um
herauszufnden, dass gar keine Platten angeschlossen sind. Was Sie wirklich brau-
chen, lässt sich quasi an IünI Fingern abzählen: Support Iür Netzwerkkarte, initrd-
Image, NFS, ext2 und tmpIs.
Feilen Sie auch kräItig an der /etc/rc.d/rc.sysinit. Hier fnden sich viele Iür ein
Read-only-Image völlig überfüssige AuIruIe, wie etwa von Isck oder depmod.
WerIen Sie auch hier alles heraus, was Sie nicht wirklich brauchen.
2.2.9 Einscbränkungen
Zwar booten die Systeme nicht so schnell wie von Festplatte, aber doch so zügig,
dass man sich das sprichwörtliche KaIIeekochen nach dem Einschalten sparen
kann. Einige kleinere Einschränkungen der vorgestellten Lösung sollen aber nicht
verschwiegen werden.
So Iunktioniert etwa der Shutdown der Systeme nicht sauber. Das liegt daran, dass
der Client versucht, sein NFS-Root noch auszuhängen. Dem Autor ist bis ietzt
keine distributionsunabhängige Methode eingeIallen, um das zu umgehen. Falls
Sie es versuchen wollen: Stellen Sie sicher, dass das Aushängen des NFS-Root
unterbleibt und auch der Portmapper (so er denn läuIt) nicht terminiert wird. Lö-
sungsvorschläge können Sie gerne an gve(intra2net.com senden.
Vielleicht ist Ihnen auIgeIallen, dass trotz Verwendung eines DHCP-Servers der
Client mit einer Iesten IP-Adresse konfguriert wird. Das liegt daran, dass kein
DHCP-Client läuIt, der ein Lease erneuern könnte. Die vorgeschlagene Lösung
verwendet den Daemon aus der initrd nicht weiter, weil das Image sonst gemoun-
C¦ie:l
'Z wwwlecC¦~::e¦oe
tet bleiben müsste und somit 8 MByte Hauptspeicher quasi verschwendet wären.
Einen neuen dhclient aus dem DistributionsIundus zu starten, ist zwar prinzipiell
möglich. Allerdings müssen Sie dazu in den meisten Fällen das dhclient-script an-
passen, damit es nicht etwa das Netzwerk-Device abschaltet oder während der
Discovery-Phase die IP-Adresse ändert.
2.2.10 AusbIick
Noch ein Tipp zum Schluss: Spendieren Sie Ihren Diskless Clients genügend
Hauptspeicher 512 MByte RAM oder auch etwas mehr dürIen es ruhig sein. Da
die Systeme keinen Swapspace zur VerIügung haben, legen sie bei zu geringer
Speicherausstattung ansonsten gelegentlich mal eine kleinere VerschnauIpause
ein, um den Speicher neu zu organisieren.
Vielen Unternehmen setzen auI SuSE-Linux als Standard-Distribution. Dort erge-
ben sich bei der Umsetzung der vorgestellten Lösung einige kleine Änderungen .
So bringt beispielsweise der SuSE-Kernel NFS bereits einkompiliert mit, anderer-
seits benötigt er Iür DHCP das aIpacket-Modul. Insgesamt Iallen etliche Ände-
rungen im mkbootimage-Script an. Auch die Datei linuxrc Sie fnden diese in
pxeboot.img.gz ist entsprechend anzupassen.
Falls auch Sie mit SuSE Linux arbeiten, schauen Sie sich doch gelegentlich ein-
mal das (allerdings englischsprachige) Diskless Linux with PXE HOW-TO unter
www.intra2net.de/opensource/diskless-howto/ an. Dort werden die Iür SuSE Li-
nux notwendigen Änderungen bei nächster Gelegenheit eingearbeitet.
Gerd von Egidy
Zu: /ulo:. 0e:o vo: Egiov ¦eilel ~¦s E:lwic¦¦u:gsc¦e[ Lei oe: TuLi:ge: ¦:l:~Z:el /0 oie E:l
wic¦¦u:g oes ¦o::u:i¦~lio:sSe:ve:s ¦:l:~:~lo: D~:eLe: .eic¦:el e: ~uc¦ [u: oie Su¡¡o:l
¦oo:oi:~lio: u:o oie 0u~¦il~ls¦o:l:o¦¦e oes suooeulsc¦e: /¡¡¦i~:ce u:o So[lw~:e¦e:sle¦
¦e:s ve:~:lwo:l¦ic¦ L~sl :ol ¦e~sl sluoie:l e: :oc¦ Del:ieLswi:lsc¦~[ls¦e¦:e :il Sc¦we:¡u:¦l
\i:lsc¦~[lsi:[o::~li¦
tecCRANNEL-Links zum Tbema Webccde Ccmpact
0iskless Linux mit PXE a!327 5.86
Test: 5u5E Linux 0fñce 0esktoþ a!!76 -
Kernel-Tuning für Linux a83O -
Linux-Bootkonñgurationen þ5ó6 -
6rundlagen: 0PCP þ2O6 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
'o weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
3. 5erver
Das hautptsächliche Einsatzgebiet von Linux ist derzeit immer noch der Server,
und das zurecht. Immerhin kommt Linux mit weniger Ressourcen aus als Win-
dows und Iügt sich leichter in heterogene Umgebungen ein. Mit Apache 2 und
Samba 3 stehen ietzt neue, erheblich verbesserte Versionen der beliebten Server-
Anwendungen zur VerIügung, deren Einrichtung und Einsatz wir im Detail be-
schreiben. Dabei beschäItigt sich ieweils ein Kapitel mit den grundlegenden
Schritten und Möglichkeiten und ein weiteres mit den erweiterten Funktionen, die
nicht in ieder Umgebung benötigt werden.
Anstatt sich mit der kryptischen Konfguration von Sendmail herumzuplagen,
können Sie per XMail viel leichter einen ebenso leistungsIähigen Mailserver auI-
setzen. Darüber hinaus fnden Sie eine ausIührliche Anleitung zur Einrichtung
von SpamAssassin in Kooperation mit XMail, damit Sie unerwünschte Mails von
Ihren Benutzern Iernhalten können.
3.1 Linux aIs Webserver
Apache ist nach wie vor der beliebteste Webserver und im Gespann mit Linux
auch einer der leistungsIähigsten. Trotz der vielIältigen Funktionen ist er recht
einIach zu konfgurieren und über Zusatzmodule leicht zu erweitern.
Der wohl häufgste Einsatz Iür Linux-Rechner ist nach wie vor der Betrieb als
Webserver. Mit einem Marktanteil von deutlich über 60 Prozent laut der regel-
mäßigen Messungen von NetCraIt steht dabei Apache am höchsten in der Gunst
der Anwender. Allerdings arbeiten viele Systeme immer noch mit dem recht be-
tagten Apache 1.3.x und das, obwohl die NachIolgeversion 2.0 mittlerweile
schon längst ausgereiIt ist und stabil läuIt.
Dabei hat gerade die zweite Apache-Generation einige Neuerungen, Annehmlich-
keiten und Vorteile zu bieten. Bessere PerIormance, geringerer SpeicherbedarI
und neue Module mit zusätzlichen Funktionen sind starke Argumente, entweder
den Umstieg zu wagen oder beim Sprung in das Webmaster-Dasein gleich auI
diese Version zu setzen. Zwingend notwendig ist dies sogar Iür all iene, die schon
ietzt oder in Kürze mit IPv6 arbeiten.
3.1.1 Apacbe 2.x im ÜberbIick
Im allgemeinen Sprachgebrauch ist Apache gleichbedeutend mit dem Webserver,
also der SoItware, die Iür das AuslieIern von Webinhalten an den Browser eines
Anwenders zuständig ist. Wie so oIt, ist das eine drastisch vereinIachte Darstel-
lung. Schon die Geschichte des Namens die Bezeichnung .Apache' stellt eine
UlkIorm von .a patchy server' dar, also ein Flickwerk ist Apache eher ein Rah-
Se:ve:
'/ wwwlecC¦~::e¦oe
menwerk, das seine Fähigkeiten erst durch zusätzliche Module erhält. Diese Er-
weiterungen nämlich sind es, die eine vom Internet-SurIer kommende AnIrage
entgegennehmen, analysieren, benötigte InIormationen von der Festplatte oder
aus Datenbanken holen und sogar Interpreter Iür Programmiersprachen auIruIen,
um schlussendlich die auI teils verzwickten Wegen entstandene Ausgabe an den
User zurückzulieIern.
Gerade mit diesen Modulen gab und gibt es unter Apache 1.3.x immer wieder Pro-
bleme. Bei diesem entscheidet die LadereihenIolge der Erweiterungen darüber,
auI welchem Weg eine AnIrage die Modulkette durchläuIt. So kann es unachtsa-
men Webmastern schon einmal passieren, dass das Modul zum Komprimieren der
Ausgabedaten vor dem AuIruI des PHP-Interpreters in der Konfgurationsdatei
steht. Dieser kann nun aber mit den gepackten InIormationen schlicht nichts mehr
anIangen HaarerauIen und stundelange Fehlersuche sind oIt die Folge.
Es verwundert daher nicht, dass sich bei der iüngsten Apache-Generation vor al-
lem im Bereich der Module einiges getan hat. So legt der Server nun intern Iest,
in welcher ReihenIolge die Module eine eingehende AnIrage sowie die dazugehö-
rigen ausgehenden Datenströme bearbeiten. Darüber hinaus haben einige Erwei-
terungen Einzug gehalten, die sich unter Apache 1.3.x nur mit HilIe externer Pro-
gramme oder in einigen Fällen schlichtweg gar nicht realisieren lassen.
Die wichtigsten Neuerungen in Apache 2.x sind die Unterstützung von Secure So-
cket Layers (SSL) und Distributed Authoring and Versioning (DAV) sowie die
Kompression der übertragenen Inhalte und das Caching im Speicher oder auI der
Festplatte. Dazu kommt, dass Iür die unterstützten Betriebssysteme spezielle
Multithreading-Versionen des Servers erzeugt werden können, die sich durch ge-
ringeren SpeicherbedarI bei gleichzeitig höherer PerIormance auszeichnen.
3.1.2 InstaIIaticn l Upgrade
Ob es um die Erstinstallation des Apache-Servers oder um ein Upgrade einer Ver-
sion aus der 1.3.x-Serie geht: Die zunächst beste Vorgehensweise ist die Installa-
tion der RPM-Archive des Anbieters der ieweiligen Installation. Unter SuSE-Li-
nux 9.0 geht das einIach über die Auswahl .EinIacher Webserver mit Apache2'.
Ein eventuell bereits vorhandener Apache 1.3.x muss dabei nicht entIernt werden.
SuSE hat die Installation so gelöst, dass beide Server parallel zueinander auI dem
Rechner vorhanden sein können. Für ein Upgrade hat das unschätzbare Vorteile,
wie sich schnell zeigt.
Die Konfgurationsdateien Iür Apache 2.x fnden sich bei SuSE im Verzeichnis
/etc/apache2. Im Falle eines Upgrades ist es ratsam, die dort abgelegten Standard-
vorgaben zu sichern, bevor man daran geht, die alten Einstellungen wieder einzu-
pfegen. Das ist mit wenigen BeIehlen auI der Kommandozeile erledigt:
su -
cp -rp /etc/apache?/ /etc/apache?.bak
'¯ weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
ParaIIeI: SuSE Li:ux 'O e:¦~uLl oie ¡~:~¦¦e¦e ¦:sl~¦¦~lio: vo: ~¦le: u:o :eue: /¡~c¦e0e:e:~
lio: ~u[ ei:e: Rec¦:e:
Auch wenn damit nicht der nominell neueste Apache-Server eingerichtet wird:
Ein Online-Update behebt diesen SchönheitsIehler.
Aufgefriscbt: [e: 0:¦i:eU¡o~le ¦~ssl sic¦ oe: /¡~c¦eSe:ve: oe: SuSEDisl:iLulio: ~u[ oe:
~¦lue¦¦e: Sl~:o L:i:ge:
Se:ve:
'o wwwlecC¦~::e¦oe
3.1.3 Tücken beim Upgrade
Die größte Hürde Iür Umsteiger ist nun, dass SuSE mit dem Apache 2.x ein neues
System zum Verwalten der Konfguration eingeIührt hat. An die Stelle der mono-
lithischen Datei httpa.conf, die alle Konfgurationsparameter enthält, tritt dabei
eine modulare Version derselben Datei. Diese ist nun eher der zentrale Verwalter
mehrerer weiterer Konfgurationsdateien, die ia nach BedarI per Include-Anwei-
sung eingebunden werden.
Dazu kommt, dass Apache 2.x einige Kommandos nicht mehr kennt, die unter
Version 1.3.x durchaus üblich waren. Außerdem fnden sich einige Module unter
neuem Namen, und da sich die Modulschnittstelle geändert hat, lauIen alte Modu-
le sowieso nicht unter der neuen Apache-Generation. Um das Anpassen der exis-
tierenden Konfgurationsdatei kommt man also nicht herum. Eine große HilIe ist
dabei der Stream-Editor sea. Er erleichtert nicht nur das Anpassen der PIade, son-
dern kann im selben Durchgang die nicht mehr benötigten BeIehle entIernen, wo-
durch Sie sich viel Tipparbeit sparen. Da vor allem die Eingabe der BeIehle Iür
sea IehleranIällig ist, empfehlt es sich, die einzelnen Schritte in einem Shell-
Script zusammenzuIassen:
=!/bin/bash
= apache_convert.sh
= Shell-Script zur Konvertierung der httpd.conf
= von Apache I.·.x in ein unter Apache ?.x
=!/bin/bash
cd /etc/apache?
cp ../httpd/httpd.conf .
sed -e ´/´( \t¦*LoadModule.*/d´ \
-e ´/´( \t¦*AddModule.*/d´ \
-e ´/´( \t¦*PidFile.*/d´ \
-e ´s%/httpd/%/apache?/%g´ \
-e ´s%=NameVirtualHost \*.80%=NameVirtualHost \*%g´ \
-e ´s%/suse_loadmodule.conf%/sysconñg\.d/
±loadmodule.conf%g´ \
-e ´s%/suse_include.conf%/sysconñg\.d/include.conf\n
±Include /etc/apache?/vhosts\.d/*.conf%g´ \
-e ´/´( /t¦*ServerType.*/d´ \
-e ´/´( \t¦*ClearModuleList.*/d´ \
-e ´/´.*suse_addmodule.*/d´ \
-e ´s/´( \t¦*Port\(.*\)/Listen\I/g´ \
-e ´/´( \t¦*SSLLog.*/d´ \
-e ´s/´( \t¦*ServerName.*/Include \/etc\/apache?\/
±sysconñg\.d\/global.conf/g´ \
httpd.conf > httpd.conf.tmp
sed -e ´.t /<IfDeñne STATUS/,/if Deñne>/¦/<\/IfDeñne>/
±!¦S!¦N, bt¦¦, s/<IfDeñne STATUS.*IfDeñne>/Include \/etc\
'¯ weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
±/apache?\/mod_status.conf\nInclude \/etc\/apache?\/mod_
±info.conf/g ¦´ \
httpd.conf.tmp > httpd.conf
Autcmatiscber Kcnverter: Mil ei:e: ei:[~c¦e: Sc:i¡l ¦~sse: sic¦ ~¦le /¡~c¦e¦o:[gu:~lio
:e: i: o~s :eue Fo::~l vo: /¡~c¦e Zx u:w~:oe¦:
Um ein wenig manuelle Arbeit kommen Umsteiger trotzdem nicht herum. Damit
ein paar Einstellungen der alten Konfgurationsdatei Iunktionieren, sind Änderun-
gen an der SuSE-spezifschen Datei /etc/svsconhg/apache2 notwendig. Zum ei-
nen sind hier in der Parameterliste der Variablen APACHEMODULES die Ein-
träge status und info hinzuzuIügen, zum anderen sollte der Wert von APACHE
SERVERFLAGS auI STATUS geändert werden. EmpIehlenswert, aber nicht
zwingend erIorderlich ist das Einsetzen der IP-Adresse des Rechners als Parame-
ter von APACHESERVERNAME.
Zur ÜberprüIung der Konfgurationsdatei auI korrekte Syntax müssen Sie nicht
unbedingt den Webserver starten und dann auI eine Fehlermeldung warten. Viel
einIacher geht das mit dem kleinen HilIsprogramm apache2ctl. Wenn Sie es mit
dem Parameter -t auIruIen, liest es die Konfgurationsdatei ein und bricht ab, so-
bald es einen Fehler fndet.
3.1.ó Die ersten 5cbritte
Sind Erstinstallation oder Upgrade abgeschlossen, kann man den Server mittels
/etc/init.d/apache? start aktivieren. Wurde an der Standardkonfguration
nichts geändert, stellt der Server eine mitgelieIerte Seite dar. Um diese abzuruIen,
geben Sie im Browser einIach als URL die IP-Adresse des Rechners an, auI dem
der Webserver läuIt.
Se:ve:
'8 wwwlecC¦~::e¦oe
ErfcIg: Die
/usg~Le oe:
Sl~:o~:oseile
Leweisl, o~ss
oe: /¡~c¦e
\eLse:ve:
e:[o¦g:eic¦
gesl~:lel
wu:oe
Wer mehr über den Server wissen möchte, kann sich zusätzliche InIormationen
mittels spezieller URLs holen allerdings nur über das Loopback-InterIace, also
von dem Rechner aus, auI dem der Webserver auch läuIt. So erhalten Sie bei-
spielsweise über http.//localhost/server-info eine Statusseite mit umIangreichen
Daten über die einzelnen Module. Unter http.//localhost/server-status stehen all-
gemeine Statistiken über Auslastung des Servers, belegte CPU-Zeiten und so wei-
ter zur VerIügung.
HcduIüber-
sicbt: Die
¦:[oSeile
oes /¡~c¦e
Se:ve:s
¦ie[e:l ge:~u
e: /u[
sc¦¦uss uLe:
oie ei:.e¦:e:
i:leg:ie:le:
Moou¦e
'' weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
5erver-5tatus: Ü Le: oie Sl~lusseile ¦~sse: sic¦ ~¦¦ge:ei:e Sl~lisli¦o~le: .u: ¦~u[e:oe:
/¡~c¦eSe:ve: ~L:u[e:
Da die auI diesem Weg bereitgestellten InIormationen nützlich sind, möchte man
sie vielleicht auch von anderen Rechnern aus abruIen können. Ein entsprechender
Versuch resultiert iedoch in einer Fehlermeldung, die zweiIelsIrei mitteilt, dass
keine Berechtigung zum ZugriII auI das angeIorderte Verzeichnis besteht.
3.1.5 6rundIagen zur 5icberbeit
Ursache daIür sind die sehr restriktiven Einstellungen, die per DeIault Iür die di-
versen InIormationsseiten des Servers eingerichtet sind. So fnden sich sowohl in
der Iür die InIormationsseite zuständigen Datei /etc/apache2/moainfo.conf als
auch in dem Pendant Iür die Statusanzeige /etc/apache2/moastatus.conf Iolgen-
de Standardeinstellungen:
Order deny,allow
Deny from all
Allow from localhost
Diese Einstellung macht nicht ganz das, was man auI den ersten Blick vermuten
würde. Entgegen der eigentlichen Erwartung schaltet das Kommando Order
deny,allow den ZugriII prinzipiell Irei. Nur abruIende Systeme, die den hinter
Se:ve:
1OO wwwlecC¦~::e¦oe
dem Schlüsselwort Denv spezifzierten Kriterien entsprechen, werden abgewie-
sen. Wer nicht in diese Gruppe Iällt oder in der Parameterliste von Allow erwähnt
ist, erhält ZugriII. Umgekehrt arbeitet dann die BeIehlsIolge Order allow,deny.
Hier ist der ZugriII prinzipiell verwehrt, es sei denn, das auIruIende System ist
explizit in der Allow-Liste auIgeIührt. Die wirklich sichere Variante wäre also,
anstelle von Order deny,allow die entgegengesetzte Option Oder allow,deny
zu verwenden. Wer das nicht glaubt, sollte es selbst ausprobieren.
Um nun zum Beispiel in einem lokalen Netz mit dem privaten IP-Adressbereich
192.168.1.0 bis 192.168.1.255 von iedem Rechner aus auI die StatusinIormatio-
nen ZugriII zu haben, wären die Parameter wie Iolgt zu ändern:
Order allow,deny
Allow from I9?.I¬8.I.0/?4
Diese Einstellung erlaubt den ZugriII von einer beliebigen IP-Adresse aus dem
Subnetz 192.168.1.x. Soll nur bestimmten Rechnern der ZugriII erlaubt sein
etwa der Admin-Workstation mit der Adresse 192.168.1.10 und dem Server selbst
dann sähen die Einstellungen so aus:
Order allow,deny
Allow from I9?.I¬8.I.I0/·? localhost
Wie zu sehen ist, können Sie diese Angaben in eine Zeile schreiben. Es ist ie-
doch auch erlaubt, mehrere Zeilen zu verwenden. Die Mischung beider Varianten
ist ebenIalls möglich.
FreigescbaI-
tet: Mil oe:
:ic¦lige:
Zug:i[[sei:
sle¦¦u:ge:
¦~sse: sic¦
oie \eLse:
ve:¦:[o::~li
o:e: ~uc¦ vo:
~:oe:e:
Rec¦:e:: i:
Ñel. ~us
~L:u[e: ¦ie:
.u: Deis¡ie¦
ou:c¦ ei:e:
M~c
1O1 weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
3.1.ó Die eigene Webseite: ¥crbereitungen
Das ist zwar alles recht interessant, aber eigentlich betreibt man den Server ia
nicht dazu, um sich irgendwelche InIormationen anzusehen, sondern weil man
selbst eigene Seiten veröIIentlichen möchte. Um dieses Vorhaben zu realisieren,
gibt es zwei Möglichkeiten: eine einIache und eine sinnvolle. Die einIache Va-
riante besteht darin, sich die Konfgurationsdatei des Webservers anzusehen und
herauszufnden, aus welchem Verzeichnis heraus er seine Standardseite bezieht.
Dort legt man dann eigene Inhalte ab, und Iertig ist die Website.
Damit handelt man sich allerdings mehrere Nachteile ein. Der gravierendste da-
von: Dieses VerIahren erlaubt nur eine einzige Website. Spätestens wenn der
Wunsch nach weiteren Seiten auIkommt, beispielsweise Iür administrative Funk-
tionen, muss eine andere Lösung geIunden werden. Apache bietet von Haus aus
schon die Möglichkeit, mit einem Server mehrere Websites zu bedienen. Dazu
verwendet er so genannte .Virtuelle Server', die sich durch ihren Namen unter-
scheiden. AuI diese Weise lassen sich die WebauItritte www.meineaomain.ae und
aamin.meineaomain.ae problemlos anlegen und komIortabel verwalten.
Unter SuSE-Linux fnden sich Templates zum Erzeugen von virtuellen Hosts im
Verzeichnis /etc/apache2/vhosts.a/. Zusätzlich sollte in httpa.conf die Iolgende
Zeile Iür das automatische Einbinden dort abgelegter Virtual-Host-Konfguratio-
nen sorgen, soIern diese die Dateinamensendung .conI besitzen:
Include /etc/apache?/vhosts.d/*.conf
Sollte diese Zeile Iehlen, genügt es, sie am Ende der Datei einzuIügen. Zusätzlich
ist in httpa.conf der Kommentar vor dem BeIehl =NameVirtualHost * zu ent-
Iernen. Achtung: Sollte hier hinter dem * noch ein :80 stehen, ist dieses zu entIer-
nen. AndernIalls reagiert Apache 2.x mit kryptischen Fehlermeldungen, deren
Ursache später nur schwer zu fnden ist.
3.1.7 ¥erzeicbnis-Laycut
Bevor es an die Konfguration des Apache Iür die neue Site geht, noch ein paar
Gedanken zur Verzeichnisstruktur. SuSE Linux legt Iür ieden neuen User ein Ver-
zeichnis namens publichtml an, das Iür Webinhalte gedacht ist. AuI Grund der
zusätzlich notwendigen Verzeichnisse Iür temporäre Daten, Protokolldateien und
CGI-Scripts wird dies schon bei einem einzigen WebauItritt unübersichtlich.
Besser ist es, ein eigenes Verzeichnis zur AuInahme der Website anzulegen. Un-
terhalb davon werden Verzeichnisse erzeugt, deren Namen eine eindeutige Identi-
fkation des ieweiligen WebauItritts erlauben. Erst hier fndet sich dann die eigent-
liche Verzeichnisstruktur der einzelnen Website. Um dieses Schema Iür die von
dem Benutzer webuser verwaltete Domain www.meineaomain.ae anzulegen, sind
als Superuser Iolgende BeIehle auszuIühren:
Se:ve:
1OZ wwwlecC¦~::e¦oe
6ut gepIant: Ei:e si::vo¦¦e \e:.eic¦:issl:u¦lu: ~uc¦ [u: :e¦:e:e \eLseile: isl :il we:ige:
De[e¦¦e: e:.eugl
Aufgeräumt: Ei:e ¦¦~:e Sl:u¦lu: oe: \e:.eic¦:isse ¦i¦[l, oe: Ü Le:L¦ic¦ .u Le¦~¦le:, ~uc¦ we::
:e¦:e:e \eLseile: ve:w~¦lel we:oe:
Der Parameter -p Iür den BeIehl mkair bewirkt, dass eventuell noch nicht vorhan-
dene übergeordnete Verzeichnisse automatisch angelegt werden. Das Ändern der
Leserechte mittels chmoa ist notwendig, damit Apache überhaupt auI die gespei-
cherten Inhalte zugreiIen und Protokolldaten sowie temporäre Dateien schreiben
kann. Jetzt ist es an der Zeit, den virtuellen Host zu konfgurieren.
1Oo weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
3.1.8 Der virtueIIe Rcst
Das vorgeIertigte Template von SuSE in /etc/apache2/vhosts.a/vhost.template be-
sticht nicht gerade durch Geradlinigkeit und Übersichtlichkeit es ist überIrach-
tet, und die Struktur ist nicht optimal. Daher hier eine einIache Variante, die den-
selben Zweck erIüllt:
<VirtualHost *>
ServerAdmin webmasterOmeinedomain.de
ServerName www.meinedomain.de
ErrorLog /home/webuser/websites/www.meinedomain.de/log/
±error.log
CustomLog home/webuser/websites/www.meinedomain.de/log/
±access.log combined
DocumentRoot /home/webuser/websites/www.meinedomain.de/
±content/
ScriptAlias /cgi-bin/ /home/webuser/websites/
±www.meinedomain.de/cgi-bin/
<Directory /home/webuser/websites/www.meinedomain.de/
±content/>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /home/webuser/websites/www.meinedomain.de/
±cgi-bin/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Um die vorgenommenen Änderungen zu aktivieren, muss der Webserver über den
BeIehl /etc/init.d/apache? restart neu gestartet werden, damit er die
neuen Konfgurationsdaten übernimmt. Mit den Angaben in www.meineaomain.
ae.conf erhält Apache die InIormationen darüber, wie er die in SeitenabruIen ent-
haltenen PIadangaben auI das lokale Dateisystem des Rechners umsetzen soll und
welche Sicherheitsmechanismen dabei zum Einsatz kommen sollen. Das Schlüs-
selwort Documentroot legt das Wurzelverzeichnis Iür den WebauItritt Iest. So
Iührt etwa ein AbruI der URL http.//www.meineaomain.ae dazu, dass Apache die
Startseite im lokalen Verzeichnis /home/websuer/websites/www.meineaomain.ae/
Se:ve:
1O/ wwwlecC¦~::e¦oe
content sucht. Ein kleiner KunstgriII versteckt sich hinter der Zeile, die mit dem
Schlüsselwort ScriptAlias beginnt. Sie teilt dem Webserver mit, dass mit dem
AuIruI der URL http.//www.meineaomain.ae/cgi-bin/ nicht das lokale Verzeichnis
/home/webuser/websites/www.meineaomain.ae/content/cgi-bin/ gemeint ist, son-
dern stattdessen das parallel zum Content-Verzeichnis angelegte, spezielle Ver-
zeichnis cgi-bin. Dies dient der Sicherheit des Webangebots, da so über normale
AuIruIe durch einen Browser nicht einmal versehentlich ZugriII auI die Klartext-
inhalte der hinterlegten CGI-Scripts erIolgen kann. In diesen Scripts fnden sich
oIt Iür Datenbank- oder andere ZugriIIe benötigte Benutzernamen und Passwör-
ter. Wenn diese in die Ialschen Hände gelangen, kann das Iatale Folgen haben.
Ein AuIruI der Domain im Browser Iührt aber momentan noch nicht zum ge-
wünschten ErIolg. Schließlich ist noch nicht Iestgelegt, zu welcher IP-Adresse die
Domain www.meineaomain.ae auIgelöst werden soll. Wer ZugriII auI einen DNS-
Server hat, kann den notwendigen Eintrag dort selbst vornehmen. Für erste lokale
Tests genügt es iedoch, auI dem Rechner, von dem aus mit dem Browser auI die
Webseite zugegriIIen wird, die Hosts-Datei anzupassen.
Unbekannt: D~ ¦ei:e
/u[osu:g oes ¦oslÑ~
:e:s .u ei:e: ¦[/o:esse
:og¦ic¦ isl, Lesle¦l :oc¦
¦ei: Zug:i[[ ~u[ oie :eu
~:ge¦egle \eLseile
Diese fndet sich unter Linux und auch auI neueren Apple-Rechnern unter Mac
OS X in der Datei /etc/hosts. Windows 2000, 2003 und XP legen die Datei im Ver-
zeichnis C.WinaowsSvstem32ariversetc ab. Eine einzige, zu der Datei hinzuge-
Iügte Zeile verschaIIt schnell ZugriII auI die gerade angelegte Webseite:
<ip-adresse des web-servers> www.meinedomain.de
Für den Platzhalter <ip-adresse des web-servers> ist selbstverständlich die
richtige IP-Adresse einzutragen zum Beispiel 192.168.1.66 Iür einen Webserver
in einem lokalen, vom Internet aus nicht erreichbaren Netz.
ErfcIg: De: Zug:i[[ ~u[ oe: \eL
se:ve: isl :og¦ic¦, o~ |eooc¦ :oc¦
¦ei:e ¦:¦~¦le exislie:e:, wi:o
¦eoig¦ic¦ oie ¦ee:e \e:.eic¦:is
uLe:sic¦l ~:ge.eigl
1O¯ weLcooe. ~1ooO
Li:ux ~¦s \eLse:ve:
Ein erneuter AbruI der URL http.//www.meineaomain.ae präsentiert nun eine lee-
re Verzeichnisübersicht. Ursache daIür ist, dass noch keine Inhalte in Form von
HTML- oder PHP-Dateien hinterlegt sind. Wenn es stört, dass Apache in diesem
Fall einIach die im Verzeichnis enthaltenen Dateien anzeigt, kann man schnell
AbhilIe schaIIen. Es reicht aus, eine leere Datei mit dem Namen inaex.html im
Verzeichnis zu erzeugen, zum Beispiel über das Kommando
touch /home/webuser/websites/www.meinedomain.de/content/
±index.html
Den Besuchern des WebauItritts wird nun eine leere Seite angezeigt.
3.1.9 Fazit
Mit Apache 2.x schnell einen eigenen Webserver auIzusetzen, ist kein Hexen-
werk. Nur wenige Kommandos in den richtigen Dateien sind notwendig, um eine
Iunktionierende Konfguration auI die Beine zu stellen. Das Iür manche vielleicht
ungewohnte Editieren in Textdateien wird schnell zur Gewohnheit, und vor allem
bei der Administration von Servern im Internet zahlt es sich schnell aus, ohne gra-
fsche Benutzeroberfäche auskommen zu können. Zudem stehen bei der Arbeit
mit einem Texteditor leistungsIähige Funktionen Iür Suchen & Ersetzen zur Ver-
Iügung, die auch globale Änderungen schnell ermöglichen. Kein Wunder, dass
Apache so viele Freunde hat.
Selbst ein Update einer Installation mit Apache 1.3.x auI die neue Version 2 stellt
den Admin mit dem vorgestellten Script nicht vor große Hürden. Das Script und
eine Beispielkonfguration können Sie von der CD zu diesem Compact im Ordner
/extras und auI unserer Website komIortabel mit dem Webcode Linuxcompact
herunterladen.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux als webserver a!33O 5.73
Erweiterte Aþache-Konñguration a!33! 5.!O6
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Se:ve:
1Oo wwwlecC¦~::e¦oe
3.2 Erweiterte Apacbe-Kcnhguraticn
Apache 2.x bringt einige Neuerungen, die nicht nur dem Webmaster das Leben
erheblich leichter machen. Auch die Besucher der gehosteten Webseiten proftie-
ren von mehr Geschwindigkeit und neuen Diensten.
Der modulare AuIbau des Apache-Webservers erlaubt es, quasi beliebige Module
zu integrieren und auI diesem Weg spezielle Funktionen zur VerIügung zu stellen.
In der Standardinstallation der meisten Distributionen sind viele der mitgelieIer-
ten Erweiterungen iedoch gar nicht aktiviert, so dass weder die Besucher der Web-
seiten noch der Administrator von ihren Funktionen proftieren können. Dabei ist
es gar nicht so schwer, die verborgenen Schätze zu heben.
Besonders interessant sind die Iolgenden Möglichkeiten:
· Datenkompression reduziert den TraIfc und damit die Kosten des Betreibers.
Zudem kommt die Seite schneller beim Benutzer an.
· Caching-Mechanismen senken die Last auI dem Server und verschaIIen dem
Benutzer bessere Antwortzeiten.
· Mittels Authentifzierung sperren Sie bestimmte Bereiche Ihrer Website und
gewähren nur bestimmten Benutzergruppen ZugriII.
3.2.1 Trafhc reduzieren mit Datenkcmpressicn
Einer der größten KostenIaktoren beim Betrieb eines WebauItritts sind die anIal-
lenden Gebühren Iür das übertragene Datenvolumen neudeutsch TraIfc ge-
nannt. Der größte Teil der von Webseiten abgeruIenen InIormationen besteht aus
reinem Text (HTML-Code und Textinhalt) und ist damit leicht komprimierbar.
Diese Erkenntnis ist weder an den Programmierern der Webserver, noch an den
Entwicklern der Browser vorübergegangen. So sind moderne Server und Browser
in der Lage, neben der Übertragung im Klartext auch verschiedene Kompres-
sionsverIahren auszuhandeln. Die gepackte Übertragung von HTML-Seiten bietet
eine Reihe von Vorteilen. Erstens sinken dadurch die TraIfc-Kosten (Iür den Be-
treiber und im Falle eines VolumentariIs auch Iür den Besucher), zweitens können
bei gleichbleibender Bandbreite mehr Benutzer bedient werden und drittens sinkt
die Übetragungsdauer Iür den Besucher. Gerade per Modem angebundene SurIer
werden das zu schätzen wissen.
Webmaster, die mit Apache 1.3.x ihre Site betreiben, können erst mit HilIe des
externen Zusatzmoduls moagzip (www.schroepl.net/proiekte/modgzip/) in den
Genuss der volumenreduzierenden Kompression kommen. Bei Apache 2.x ist die-
ses Feature in Form des Moduls moaaenate bereits enthalten. Allerdings ist die-
ses zumindest bei SuSE Linux 9.0 aus unbekannten Gründen per DeIault nicht
aktiviert. Aber das lässt sich mit nur wenigen Anpassungen an der Konfguration
innerhalb weniger Minuten ändern.
1O¯ weLcooe. ~1oo1
E:weile:le /¡~c¦e¦o:[gu:~lio:
Eingepackt: U:
o~s De[~leMoou¦
~ulo:~lisc¦ .u
¦~oe:, isl oe:
e:ls¡:ec¦e:oe
[~:~:ele: i: oe:
SuSE¦o:[gu
:~lio:so~lei /elc/
svsco:[g/~¡~c¦eZ
¦i:.u.u[uge:
Dazu ist zunächst in der Datei /etc/svsconhg/apache2 die Parameterliste Iür die
Variable APACHEMODULES um den Wert .defate' zu erweitern. Das bewirkt,
dass beim nächsten Neustart des Apache-Webservers über die Eingabe des Be-
Iehls /etc/init.d/apache? restart das Defate-Modul zur Komprimierung
der übertragenen Daten geladen wird. Allerdings reicht das noch nicht, um die
Datenkompression auch sinnvoll zu nutzen. Dazu sind ein paar weitere BeIehle in
die Datei /etc/apache2/httpa.conf zu schreiben:
<Location />
SetOutputFilter DEFLATE
BrowserMatch ´Mozilla/4 gzip-only-text/html
BrowserMatch ´Mozilla/4\.0(¬I8¦ no-gzip
BrowserMatch \bMSI(E¦ !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?.gif|jpe?g|png)S no-gzip dont-vary
Header append Vary User-Agent env¬!dont-vary
</Location>
Diese BeIehlsIolge können Sie an zwei verschiedenen Stellen verwenden: zum
einen direkt in der zentralen Konfgurationsdatei httpa.conf. In diesem Fall wirkt
sich die Kompression auI alle vom Webserver ausgelieIerten Seiten aus egal von
welchem virtuellen Host sie stammen. Zum anderen lässt sich auch ieder einzelne
virtuelle Host dezidiert in der ieweiligen Konfgurationsdatei mit diesen BeIehlen
ausstatten. AuI diese Weise können Sie bei eventuellen Problemen mit einem be-
stimmten WebauItritt die Kompression Iür diesen gezielt deaktivieren.
Die diversen Zeilen mit dem Schlüsselwort BrowserMatch sorgen daIür, dass be-
kannte Probleme mit älteren Browsern umgangen werden. Über die Anweisung
SetEnvIfNoCase erIährt der Webserver, dass Grafkdaten nicht durch den Kom-
Se:ve:
1O8 wwwlecC¦~::e¦oe
pressionsflter zu schicken sind. Die mit dem Schlüsselwort Heaaer beginnende
Zeile schließlich sorgt daIür, dass eventuell zwischen Nutzer und Webserver lie-
gende Proxies die Inhalte korrekt an den Besucher weiterleiten.
Um zu prüIen, dass die Kompression auch ErIolge erzielt, empfehlt es sich, in der
Testphase ein eigenes Logfle mit den erreichten Kompressionsraten anlegen zu
lassen. Dabei hilIt das Defate-Modul durch das Bereitstellen eines neuen Schlüs-
selworts: DenateFilterNote. Es erlaubt die Belegung neuer Variablen, die zum
Erzeugen einer benutzerdefnierten Protokolldatei verwendet werden können:
De0ateFilterNote Input instream
De0ateFilterNote Output outstream
De0ateFilterNote Ratio ratio
LogFormat ´"%r" %¦outstream¦n/%¦instream¦n (%¦ratio¦n%%)´
±de0ate
CustomLog /home/webuser/websites/www.meindomain.de/log/
de0ate.log de0ate
Eingespart: Die [:olo¦o¦¦o~lei giLl /u[sc¦¦uss uLe: oie e:.ie¦le: ¦o:¡:essio:s:~le: Lei
Texlo~le: u:o .eigl, o~ss Di¦oe: l~ls~c¦¦ic¦ :ic¦l ¦o:¡:i:ie:l we:oe:
In der Regel liegen die per Defate-Modul erzielten Kompressionsraten bei 20 bis
50 Prozent der AusgangsinIormationen. Speziell Besucher, die per Modem oder
ISDN im Internet unterwegs sind, werden den Unterschied durch einen deutlich
schnelleren SeitenauIbau bemerken. Netter NebeneIIekt: Nicht nur der Webmas-
ter proftiert vom sinkenden TransIervolumen. Auch DSL-Nutzer mit Volumenta-
riI können mehr surIen, da weniger Daten vom Server zu ihnen fießen.
1O' weLcooe. ~1oo1
E:weile:le /¡~c¦e¦o:[gu:~lio:
3.2.2 Kürzere Antwcrtzeiten dank Cacbing
Speziell gut besuchte Webseiten haben mit dem Problem zu kämpIen, dass schnell
die Festplatte zum Flaschenhals wird. Apache 2.x bietet zur Lösung dieses Pro-
blems einen eigenen Cache an, der entweder den Hauptspeicher oder ein Ver-
zeichnis der Festplatte als Zwischenspeicher nutzt.
Um den Cache zu verwenden, müssen mindestens zwei der drei vorhandenen Mo-
dule beim Start von Apache geladen werden: das Zentralmodul moacache sowie
eines der beiden Speichermodule moamemcache und moaaiskcache. Es ist
ratsam, hier einen zweistufgen Ansatz zu verwenden, um einen leichten Wechsel
zwischen den beiden Modulen zu ermöglichen. Dazu ist zum einen die Parameter-
liste von APACHEMODULES in der Steuerdatei /etc/svsconhg/apache2 um den
Wert .cache' Iür das Zentralmodul zu erweitern. In die Konfgurationsdatei des
Webservers (/etc/apache2/httpa.conf) kommt dann noch ein BeIehlsblock, der
zwischen Caching im Speicher und Caching auI Disk umschaltet:
BescbIeunigt: Ü Le: o~s C~c¦i:g Le:eils ~usge¦ie[e:le: ¦:¦~¦le ve::i:ge:: sic¦ /:lwo:l.eile:
oes \eLse:ve:s .u: Tei¦ o:~slisc¦
<IfModule mod_cache.c>
=LoadModule disk_cache_module /usr/lib/apache?-prefork/
±mod_disk_cache.so
Se:ve:
11O wwwlecC¦~::e¦oe
<IfModule mod_disk_cache.c>
CacheRoot /tmp/cacheroot
CacheSize ?S¬
CacheEnable disk /
CacheDirLevels S
CacheDirLength ·
</IfModule>
LoadModule mem_cache_module /usr/lib/apache?-prefork/mod_
±mem_cache.so
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 409¬
MCacheMaxObjectCount I00
MCacheMinObjectSize I
MCacheMaxObjectSize ?048
</IfModule>
</IfModule>
Je nachdem, welche der beiden mit LoaaMoaule beginnenden Anweisungen akti-
viert also nicht per Kommentarzeichen .#' abgeschaltet ist, verwendet der
Webserver nun das Caching Iür alle von ihm bereitgestellten Seiten. Sollte dies
bei einzelnen WebauItritten zu Problemen Iühren, lässt sich das Caching inner-
halb der Anweisungen Iür den betroIIenen virtuellen Host gezielt abschalten:
<IfModule mod_cache.c>
CacheDisable /
</IfModule>
3.2.3 Einfacber Zugriffsscbutz
Nicht immer ist es erwünscht, dass alle Bereiche des WebauItritts Iür ieden SurIer
erreichbar sind. Um einzelne Verzeichnisse oder auch einzelne Dateien vor Irem-
den Blicken zu schützen, bietet der Apache-Server einige VerIahren zur vorheri-
gen Authentifzierung des Anwenders. Schlägt diese Iehl, bleibt der ZugriII auI
die InIormationen verwehrt.
Um diesen ZugriIIsschutz zu implementieren, existieren zwei VerIahren. AuI der
einen Seite können die notwendigen BeIehle direkt in der Konfgurationsdatei Iür
einen virtuellen Host eingetragen werden. Alternativ dazu lässt sich in dem zu
schützenden Verzeichnis eine Datei mit dem Namen .htaccess ablegen, welche die
notwendigen BeIehle enthält. Diese Variante Iunktioniert in der Regel auch dort,
wo kein ZugriII auI die Konfguration des Webservers besteht, beispielsweise
wenn der WebauItritt von einem ISP gehostet wird. Voraussetzung daIür ist aller-
dings, dass Iür das zu schützende Verzeichnis die Option .AuthConfg' beim
Schlüsselwort AllowOverriae gesetzt ist. Für die in Kapitel 3.1 beschriebene Bei-
spiel-Domain www.meineaomain.ae sähe das also so aus:
111 weLcooe. ~1oo1
E:weile:le /¡~c¦e¦o:[gu:~lio:
<Directory /home/websuser/websites/www.meinedomain.de/
±content/>
AllowOverride Options FileInfo AuthConñg
Order allow,deny
Allow from all
</Directory>
Um nun beispielsweise das über die URL http.//www.meineaomain.ae/basetest
erreichbare Verzeichnis zu schützen, muss dieses angelegt und in ihm die Datei
.htaccess mit Iolgendem Inhalt erzeugt werden:
AuthType Basic
AuthName "BaseTest"
AuthUserFile /home/webusers/websites/base.users
Require valid-user
Abgesicbert: Ei:e e:weile:le /ul¦e:li[.ie:u:g ¡:u[l :ic¦l :u: ~u[ ¦o::e¦le Use:D~le:, so:
oe:: ~uc¦ ~u[ oie :ic¦lige 0:u¡¡e::ilg¦ieosc¦~[l
Damit legt man Iest, dass Iür das Verzeichnis die Basis-Authentifzierung zum
Einsatz kommt. Die notwendigen Daten zur ÜberprüIung eines Users bezieht das
System aus der Datei /home/webuser/websites/base.users. Über die Anweisung
Require valid-user erIährt der Webserver, dass ieder Anwender aus dem Be-
nutzerverzeichnis ZugriII erhält. Doch wo kommt dieses Verzeichnis her? Für
diese AuIgabe ist unter SuSE Linux 9.0 das HilIsprogramm htpasswa2 zuständig.
Es dient sowohl zum Anlegen der Datei mit den BenutzerinIormationen als auch
Se:ve:
11Z wwwlecC¦~::e¦oe
zum Ändern der dort abgelegten Passwörter. Zur ersten Initialisierung muss das
Tool mit dem speziellen Parameter .-c' zum Anlegen der Datei, dem gewünsch-
ten Dateinamen sowie dem Namen des ersten anzulegenden Users auIgeruIen
werden. Bei späteren AuIruIen muss der Parameter .-c' entIallen, da andernIalls
eine bereits existierende Datei überschrieben wird.
htpasswd? -c /home/webuser/websites/base.users webuser
htpasswd? /home/webuser/websites/base.users gast
5cbneII erIedigt: Mil we:ige: De[e¦¦e: isl oie De:ul.e:o~le:L~:¦ [u: oie ei:[~c¦e /ul¦e:li[
.ie:u:g ~:ge¦egl u:o :il Ei:l:~ge: ve:se¦e:
Wichtig ist es dabei, darauI zu achten, dass die Datei mit den Zugangsdaten außer-
halb des Verzeichnisbaums liegt, aus dem der Webserver die Inhalte Iür die Web-
seite bezieht. AndernIalls könnten die Nutzer die Datei einIach herunterladen und
versuchen, sie zu entschlüsseln.
AnmeIdung: De: \eLse:ve:
sig:~¦isie:l oe: Ñul.e: u:
:issve:sl~:o¦ic¦, o~ss [u: oe:
Zug:i[[ ~u[ oie gewu:sc¦le:
¦:[o::~lio:e: ei:e /ul¦e:li[
.ie:u:g :olwe:oig isl
11o weLcooe. ~1oo1
E:weile:le /¡~c¦e¦o:[gu:~lio:
Über die reine Benutzerverwaltung hinaus erlaubt die Authentifzierung auch die
Verwendung von Benutzergruppen. Eine einIache Textdatei stellt dabei die Ver-
bindung zwischen den Benutzern und den verIügbaren Gruppen her. Über das
spezielle Schlüsselwort AuthGroupFile teilen Sie dem Apache-Server mit, aus
welchem File er die Zuordnungen beziehen soll. Um beispielsweise nur Mitglie-
dern der Gruppe .admin' ZugriII zu gewähren, ist noch die Datei .htaccess um die
Zeile Require group admin zu erweitern. Die Gruppendatei selbst hat einen
sehr einIachen AuIbau:
admin. webuser
normal. gast test
Diese Vorgabe teilt den Benutzer webuser in die Gruppe aamin ein, während die
Anwender gast und test der Gruppe normal zugeordnet werden.
3.2.ó Erweiterter Zugriffsscbutz
Besonders bei Webseiten mit einer großen Anzahl von Usern, die auI unterschied-
liche geschützte Bereiche ZugriII haben, ist die Verwaltung der Zugangsdaten in
Textdateien ein PIerdeIuß. Bis die einzelnen Einträge durchsucht sind, kann schon
geraume Zeit vergehen. Währenddessen erhält der User den Eindruck eines lang-
samen oder im schlimmsten Fall nicht mehr reagierenden Systems.
Zur Lösung des Problems bietet Apache 2.x Iür die Verwaltung der ZugangsinIor-
mationen alternativ zu den Textdateien die Speicherung in einer Datenbank an.
Dazu ist das Modul moaauthabm.so beim Start des Servers zu laden, was unter
SuSE Linux 9.0 wieder durch das HinzuIügen eines Parameters (authaigest) zur
Variablen APACHEMODULES in der Datei /etc/svsconhg/apache2 erIolgt.
Für die Steuerdatei .htaccess stehen dann neue Schlüsselwörter zur VerIügung:
AuthDBMUserFile und AuthDBMGroupFile. Darüber hinaus erIolgt die Verwal-
tung der dort gespeicherten InIormationen nicht mehr über das HilIsprogramm
htpasswa2, sondern über das Script abmmanage2. Das obige Beispiel Iür die ein-
Iache Authentifzierung wäre also wie Iolgt zu ändern:
AuthType Basic
AuthName "BaseTest"
AuthDBMUserFile /home/webusers/websites/dbm.users
AuthDBMGroupFile /home/webusers/websites/dbm.users
Require valid-user
Wie zu sehen ist, verweisen die Einträge Iür AuthDBMUserFile und AuthDBM-
GroupFile auI dieselbe Datei. Der Grund daIür ist, dass abmmanage2 diese InIor-
mationen in einer Datenbank ablegt. Wer möchte, kann dies aber auch in separa-
ten Dateien tun muss dann allerdings die Verwaltung selbst übernehmen. Aber
auch abmmanage2 hat seine Tücken.
Se:ve:
11/ wwwlecC¦~::e¦oe
So ist strikt darauI zu achten, dass nach dem Anlegen eines neuen Benutzers un-
bedingt die Update-Funktion ausgeIührt und das Passwort erneut gesetzt wird.
Beim ersten Anlegen schreibt das HilIsprogramm das Passwort nämlich im Klar-
text in die Datenbank. Da dies später kaum mit dem dann verschlüsselten Pass-
wort übereinstimmt, das während der Authentifzierung erzeugt wird, ist ein Log-
in des betroIIenen Anwenders somit unmöglich.
Nicbt ganz febIerfrei: Die \e:w~¦lu:g oe: Zug~:gso~le: i: ei:e: D~le:L~:¦ ¦~l o~:¦ ¦¦ei:e:
Fe¦¦e: i: \e:w~¦lu:gsSc:i¡l i¦:e Tuc¦e:
3.2.5 Fazit
Besonders die Funktionen zur Kompression und zum Caching sollten Sie auI Ih-
rem Apache-Server einsetzen. Denn ein besseres Antwortverhalten sorgt daIür,
dass Ihre Besucher länger bleiben und öIter wiederkommen. Eine Website, bei der
ein Benutzer Iür ieden SeitenauIruI mehrere Sekunden warten muss, wird sich auI
Dauer sicherlich nicht in der Favoritenliste halten. Zudem können Sie gerade mit
Kompression Ihre lauIenden monatlichen Kosten deutlich senken. Wenn es um
Community-Sites mit verschiedenen Sicherheitsbereichen geht, kommen Sie um
die erweiterte Authentifzierung mit moaauthabm.so nicht herum. Die textba-
sierte Variante ist zu langsam und zu IehleranIällig sie reicht gerade aus, um ein
Verzeichnis mit einem Standardpasswort zu belegen, so dass lediglich Besucher
darauI zugreiIen können, denen Sie die Login-Daten zukommen lassen.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Erweiterte Aþache-Konñguration a!33! 5.!O6
Basis Aþache-Konñguration a!33O 5.73
Kosten sþaren mit PTTP-Komþression þ!2!7 -
11¯ weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
3.3 Linux aIs HaiIserver mit XHaiI
Mit Linux lassen sich nicht nur erstklassige Webserver oder schnelle und zuver-
lässige Fileserver Iür Windows-Clients einrichten. Auch als Basis Iür einen Mail-
server bietet sich das Open-Source-Betriebssystem an. Allerdings wird diese Op-
tion von vielen Anwendern nicht genutzt, da die bekannteren Mailserver-Pakete
wie beispielsweise Sendmail (www.sendmail.org), Postfx (www.postfx.org) und
Qmail (www.qmail.org) zwar in den meisten Linux-Distributionen enthalten, aber
alles andere als einIach zu konfgurieren und vor allem zu verwalten sind.
Eine gute Alternative zu diesen Systemen ist XMail (www.xmailserver.org). Die-
ser Mailserver leistet alles, was Iür den Betrieb auch in großen Umgebungen not-
wendig ist, bietet fexible Schnittstellen und lässt sich trotzdem vergleichsweise
einIach konfgurieren und verwalten. Zudem ist XMail sowohl Iür Linux als auch
Iür Windows ab NT 4.0 verIügbar, so dass selbst dem Einsatz in gemischten Um-
gebungen oder einer schrittweisen Migration nichts im Wege steht.
3.3.1 Das Leistungsspektrum vcn XHaiI
XMail ist ein vollwertiger Mailserver, der via ESMTP Nachrichten von Clients
entgegennimmt oder mit anderen Mailservern austauscht. EintreIIende Post Iür
einzelne Nutzer legt er in PostIächern ab, die ie nach dem verwendeten Betriebs-
system entweder im Maildir-Format (Linux) oder im Mailbox-Format (Windows)
erzeugt werden. Die Übertragung der Mails an die Anwender erIolgt per POP3.
IMAP wird von XMail (noch) nicht unterstützt.
Zum Schutz vor Spammern bietet XMail gleich mehrere Optionen. Neben dem
Vergleich der Daten des sendenden Systems mit verschiedenen schwarzen Listen
lässt sich auch Iestlegen, von welchen IP-Adressen aus überhaupt E-Mail ange-
nommen wird. Das Verwalten der E-Mail-Accounts Iür mehrere Domains stellt
XMail nicht vor Probleme, Schnittstellen zur Integration externer Programme,
wie zum Beispiel eines zusätzlichen Spam-Filters, sind ebenIalls vorhanden.
Besonders interessant Iür Anwender, die im LauIe ihrer Internet-Aktivität eine
größere Anzahl von Mail-Accounts gesammelt haben, ist XMails Fähigkeit, ex-
terne POP-Accounts abzuruIen und die so gesammelten Nachrichten an lokal
defnierte Benutzer weiterzuleiten. Das gilt Iür die Accounts einzelner Benutzer
und Iür die Post eines ganzen Unternehmens. Für iedes externe PostIach erlaubt
XMail genaue Einstellungen darüber, wie die empIangene Mail weiterzuleiten ist.
Wer per DSL mit automatischer Zwangstrennung ans Internet angeschlossen ist,
der kann sich ebenIalls Ireuen: XMail unterstützt auch dynamische DNS-Dienste
wie zum Beispiel DynDNS.org.
Trotz dieser umIangreichen Funktionen ist XMail aber keineswegs schwer zu in-
stallieren. Das liegt zum einen an der extrem logisch auIgebauten, über mehrere
Textdateien verteilten Struktur der Konfgurationsdaten. Innerhalb der Konfgura-
Se:ve:
11o wwwlecC¦~::e¦oe
tionsdateien fndet sich der Anwender rasch zurecht. Zum anderen existiert eine
Vielzahl von HilIsprogrammen, die sich die interne Kommandoschnittstelle von
XMail zu Nutze machen und so die Arbeit mit XMail wesentlich erleichtern.
3.3.2 Die InstaIIaticn
Die Installation von XMail unter Linux erIolgt am besten über das auI der XMail-
Homepage angebotene RPM-Paket. Das gilt auch Iür Power-User, die SoItware
gerne selbst kompilieren, um das letzte Quäntchen PerIormance herauszukitzeln.
Der Grund ist, dass das RPM-Paket die von XMail verwendeten PIade gleich rich-
tig erzeugt eine Arbeit, die andernIalls mühselig von Hand zu erledigen ist. Zur
Grundinstallation der SoItware auI der lokalen Platte reichen drei BeIehle auI der
Linux-Kommandozeile:
su -
wget http.//www.xmailserver.org/xmail-I.II-I.i·8¬.rpm
rpm -Uvh xmail-I.II-I.i·8¬.rpm
5cbneII erIedigt: Mil ¦i¦[e vo: o:ei ¦o::~:oos isl oie So[lw~:e [u: oe: M~i¦se:ve: ~u[ oe:
Fesl¡¦~lle ei:ge:ic¦lel
Achtung: Der letzte BeIehl richtet XMail nicht nur ein, sondern startet auch gleich
den Server. Da dieser noch nicht konfguriert ist, arbeitet er als oIIenes Relay und
könnte aus diesem Grund von Spammern missbraucht werden. Es empfehlt sich
also, XMail möglichst schnell wieder abzuschalten:
11¯ weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
killall Xmail
Nun sollten Sie auch das Source-Archiv auI den Rechner holen und entpacken,
selbst wenn Sie die Quellen nicht selbst übersetzen möchten. Das Paket enthält
nämlich zusätzlich ein Script, das Iür den automatischen Start des Mailservers
beim HochIahren des Rechners sorgt und auch die manuelle Handhabung von
XMail erleichtert. Die Installation ist schnell erledigt:
wget http.//www.xmailserver.org/xmail-I.II.tar.gz
tar -xvzf xmail-I.II.tar.gz
cd xmail-I.II
./sysv_inst.sh/
Wer möchte, kann sich nun den Quellcode von XMail selbst übersetzen und die so
erzeugten, auI den im Rechner vorhandenen Prozessor optimierten Binärdateien
an den richtigen Platz kopieren:
make -f Makeñle.lnx
cp CtrlClnt MkUsers XMCrypt XMail /var/MailRoot/bin
3.3.3 Die Kcnhguraticn absicbern
Die Arbeitsweise von XMail wird über mehrere Textdateien defniert, die sich alle
im Verzeichnis /var/MailRoot fnden. Dabei handelt es sich um einIache, durch
Tabulatoren getrennte Parameterlisten. Vor dem Bearbeiten der Server-Parameter
sollten Sie zunächst daIür sorgen, dass der Server nicht von Spammern genutzt
werden kann. DaIür ist die Datei smtprelav.tab zuständig. Die Standardvorgabe ist
hier, dass ieder Server XMail als Relay nutzen darI. Um das zu verhindern, ändern
Sie den Inhalt wie Iolgt:
"I?I.0.0.I" "?SS.?SS.?SS.?SS"
"I9?.I¬8.0.I00" "?SS.?SS.?SS.?SS"
Für dieses Beispiel nehmen wir an, dass der XMail-Rechner die IP-Adresse
192.168.0.100 besitzt. Hier müssen Sie entsprechend die IP-Adresse des zur In-
stallation verwendeten Rechners einstellen.
Die Grundkonfguration des Servers geschieht über die Datei server.tab. Eine
IunktionsIähige Minimalkonfguration Iür die Domain xmailserver.test existiert
durch das RPM-Paket bereits. Statt diese nun einIach zu ändern, empfehlt sich
eine andere Vorgehensweise. Bei einer Änderung der Domain müssten die not-
wendigen Verzeichnisstrukturen nämlich manuell erzeugt werden. Dabei kann
XMail das auch selbstständig allerdings nur, wenn Sie die neue Domain über
das auI dem Port 6017 verIügbare Kommando-InterIace anlegen. Dieses ist zum
Beispiel über das HilIsprogramm CtrlClnt erreichbar. Doch .dank' der komple-
xen BeIehlsstrukturen ist dieser Weg extrem unkomIortabel.
Se:ve:
118 wwwlecC¦~::e¦oe
3.3.ó ¥erwaItung per Brcwser einricbten
Eine bessere Lösung ist der Einsatz eines der Web-basierten Verwaltungswerk-
zeuge Iür XMail. Ein gutes Beispiel Iür solch ein Tool ist XPAI von Andreas Klein
(www.akxak.de/xpai/).
Voraussetzung Iür dessen Einsatz ist ein auI dem Rechner installierter Webserver.
Wenn dieser noch nicht eingerichtet ist, kann das unter SuSE-Linux über die Aus-
wahl der Selektion .EinIacher Web-Server mit Apache' in der Paketauswahl er-
Iolgen. Der Download und die Installation von XPAI sind mit diesen drei BeIeh-
len schnell erledigt:
wget http.//www.akxak.de/xpai/xpai_II·.zip
unzip -qd /srv/www/htdocs/ xpai_II·.zip
chmod -R a+rx /srv/www/htdocs/*
XPAI: /uc¦ oie \e:w~¦lu:gs¦osu:g [u: \M~i¦ isl :il we:ige: De[e¦¦e: Lel:ieLsLe:eil
Eine Änderung an der XMail-Konfguration ist ietzt allerdings noch manuell vor-
zunehmen, bevor es an die komIortable Verwaltung per Browser gehen kann: Sie
benötigen einen Account Iür einen Benutzer mit Verwalterrechten. Dazu geben
Sie dessen Namen nebst dem über das XMail-Tool XMCrvpt verschlüsselten
Passwort in der Datei ctrlaccounts.tab ein. Das HilIsprogramm XMCrvpt fndet
sich im Verzeichnis /var/MailRoot/bin, als Parameter übergeben Sie ihm lediglich
den zu verschlüsselnden BegriII. Um beispielsweise den User xmailaamin mit
dem Passwort passwora Iür den ZugriII auI die interne Kommandoschnittstelle
von XMail Ireizuschalten, muss ctrlaccounts.tab Iolgende Einträge enthalten:
"xmailadmin" "IS04I¬I¬I?0aII0I"
11' weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
Dieser Benutzer muss nun noch XPAI als Superuser bekannt gemacht werden.
Dazu sind einige Variablen in der Datei /srv/www/htaocs/xpai/conhg.php anzu-
passen. Für S_SESSION(´xpai_user´¦ und Ssuper_users tragen Sie den in
ctrlaccounts.tab defnierten Account ein, Iür S_SESSION(´xpai_pwd´¦ das
Passwort im Klartext. Setzen Sie zudem S_SESSION(´ip´¦ auI die IP-Adresse
des XMail-Servers. Jetzt können Mail- und Webserver gestartet werden, um die
Verwaltung per Browser Iortzusetzen:
/etc/init.d/xmail start
/etc/init.d/apache start
5tatt Textdateien: E:sl :~c¦ e:[o¦g:eic¦e: /ul¦e:li[.ie:u:g sle¦¦l \[/¦ oie Fu:¦lio:e: .u:
\e:w~¦lu:g vo: \M~i¦ .u: \e:[ugu:g
3.3.5 Die erste HaiI-Dcmain
Nach dem AuIruI der URL ·serveraaresse~/xpai/ erscheint das Login-Menü
von XPAI. Erst nach Eingabe der korrekten Benutzerdaten stellt XPAI die Verwal-
tungswerkzeuge zur VerIügung. Der erste Arbeitsschritt besteht darin, die eigene
Domain anzulegen etwa meineaomain.ae. Neben dem Namen der Domain Iragt
XPAI hier gleich ein Passwort Iür das automatisch mit erzeugte Postmaster-Konto
ab. Zusätzlich lässt sich Iür die Domain der Spam-Filter SpamAssassin aktivieren
eine gute Gelegenheit, dieses Tool von der SuSE-CD zu installieren. Die Inte-
gration in XMail muss allerdings manuell erIolgen.
Se:ve:
1ZO wwwlecC¦~::e¦oe
Autcmatismus: Fu: |eoe :eu ~:ge¦egle Do:~i: e:.eugl \[/¦ ~ulo:~lisc¦ ei:e: [osl:~sle:
/ccou:l :il \e:w~¦lu:gs:ec¦le:
Wenn die neue Domain erIolgreich angelegt wurde, kann die Standardvorgabe
xmailserver.test bedenkenlos gelöscht werden. Danach geht es an die Anpassung
der grundlegenden Konfguration des Mailservers. Diese verwendet nämlich im-
mer noch die Domain xmailserver.test, was sich über den Menüpunkt .Manage
Server Confg' iedoch leicht ändern lässt. Alle in der dortigen Übersicht ange-
zeigten Domain-Einträge sind durch die gerade neu erzeugte Domain zu ersetzen.
Alle Änderungen schlagen sich soIort in den Konfgurationsdateien nieder, wie
ein Blick in die Dateien server.tab, aomains.tab und mailusers.tab bestätigt.
RauptverwaItung: ¦: oe: g¦oL~¦e: ¦o:[gu:~lio: we:oe: oie g:u:o¦ege:oe: \o:g~Le: [u: oie
Sl~:o~:oDo:~i: e:[~ssl
1Z1 weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
3.3.ó User verwaIten
Ähnlich einIach geht die Verwaltung der Mail-Benutzer von der Hand. Über die
Schaltfäche .Manage Users' lassen sich bestehende Mail-Konten verwalten oder
löschen sowie neue Benutzer anlegen. Für ieden neuen Nutzer lässt sich bestim-
men, ob dessen Post von SpamAssassin nach unerwünschter Werbung zu durch-
Iorsten ist. Wenn diese Option bereits global Iür die übergeordnete Domain des
Users aktiviert wurde, kann das Setzen des Häkchens hier entIallen. Ein redun-
danter Test auI Spam verbraucht in diesem Fall nur unnötig Ressourcen.
Benutzer anIegen: Ñeue EM~i¦¦o:le: si:o :il ¦i¦[e vo: \[/¦ sc¦:e¦¦ ~:ge¦egl u:o gegeLe
:e:[~¦¦s ~uc¦ ei:.e¦: :il S¡~:Sc¦ul. ve:se¦e:
Über die Schaltfäche .ModiIy User Data' ist nicht nur das dem Anwender maxi-
mal zur VerIügung stehende Speichervolumen Iür Mail und Anhänge einstellbar.
Darüber hinaus kann man hier auch persönliche Daten zum Account hinterlegen,
das Passwort zurücksetzen und den Mail-ZugriII per IMAP-Protokoll Ireischal-
ten. Dieser ist derzeit allerdings noch über Dritt-SoItware zu realisieren.
Nützlich Iür Anwender, die nicht nur eine persönliche, sondern auch eine Iunk-
tionsbezogene Mail-Adresse benötigen, ist das via .Manage User Aliases' er-
reichbare Feature. Hier können Sie Iür einen Benutzer zusätzliche E-Mail-Adres-
sen defnieren auch über Domains hinweg. So ist es kein Problem, eintreIIende
Post Iür die Adresse marketing(anaereaomain.ae automatisch an den Account
testuser(meineaomain.ae zustellen zu lassen.
Se:ve:
1ZZ wwwlecC¦~::e¦oe
Zusatzinfc: Zu |eoe: De:ul.e:ei:l:~g ¦~sse: sic¦ e:weile:le ¦:[o::~lio:e: wie ¦o:l~¦lo~le:
ooe: :~xi:~¦ ve:[ugL~:e: S¡eic¦e:¡¦~l. [u: Ñ~c¦:ic¦le: e:[~sse:
Unter anderer FIagge: Se¦Lsl Do:~i:uLe:g:ei[e:oe /¦i~sDe[:ilio:e: [u: ei:.e¦:e EM~i¦
¦o:le: si:o [u: \M~i¦ ¦ei: [:oL¦e:
1Zo weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
3.3.7 HuIti-Dcmain-5etup
Auch bei der Verwaltung zusätzlicher Domains zeigt sich XMail außerordentlich
fexibel. Eine Möglichkeit besteht darin, zusätzliche Domains über die Schaltfä-
che .Manage Domain Aliases' einIach als Alias einer bereits existierenden Do-
main zu defnieren. In diesem Fall behandelt XMail eintreIIende Mail Iür den Ac-
count testuser(anaereaomain.ae so, als wäre sie eigentlich an den Benutzer
testuser(meineaomain.ae adressiert. Praktisch ist diese Funktion in erster Linie
Iür Besitzer mehrerer Domains, hinter denen sich allerdings ieweils die gleiche
Personengruppe verbirgt.
Ebenso selbstverständlich lassen sich auch mehrere komplett getrennt verwaltete
Domains mit ieweils eigenem Benutzerkreis defnieren. Dabei ist lediglich zu be-
rücksichtigen, dass die Anwender beim Login zum Abholen ihrer Post stets den
Benutzernamen inklusive kompletter Domain angeben müssen. Anstatt also ein-
Iach .testuser' als User-Namen Iür den POP3-ZugriII im Mail-Programm zu de-
fnieren, ist hier die vollständige Angabe von .testuser(meinedomain.de' oder
eben .testuser(anderedomain.de' Iür unterschiedliche Anwender in getrennt
verwalteten Domains erIorderlich. AndernIalls kann XMail nicht zuordnen, zu
welcher Domain der sich einloggende User gehört.
3.3.8 XHaiI aIs HaiI-5ammIer
Besonders interessant Iür Anwender, die im LauI ihrer Online-Geschichte mehre-
re E-Mail-Accounts erworben haben, ist der in XMail integrierte Mail-Sammler.
Über die Schaltfäche .Manage POP3 Link' in XPAI lassen sich die Daten von
POP3-Accounts defnieren, von denen XMail automatisch neue Mails abruIt. Da-
bei unterstützt XMail nicht nur die Übertragung des Passworts im Klartext, son-
dern auch das modernere APOP-VerIahren.
Allerdings stößt die LeistungsIähigkeit des Konfgurations-Tools XPAI hier an
seine Grenzen: Es ordnet die per POP3 vom Provider geholten Nachrichten im-
mer einem bestimmten Anwender zu, was bei einem Standard Freemail-Account
wie max.mustermann(web.ae ia auch kein Problem darstellt. XMail ist eigent-
lich wesentlich fexibler und gestattet auch eine automatisierte Identifzierung des
richtigen lokalen NachrichtenempIängers sowie eine selbstständige Anpassung
der EmpIänger-Domain.
Angenommen, die Mail Iür die gesamte Domain meineaomain.com läuIt in einem
einzigen POP3-PostIach bei einem Provider auI. Dann gestattet XMail es eigent-
lich, diese mit einem einzigen Login abzuholen und dann anhand des Namens vor
der Domain zu entscheiden, in welches lokale PostIach die einzelnen Nachrichten
zu verteilen sind. Genau diese Funktion lässt sich iedoch mit den Möglichkeiten
des Konfgurations-Tools XPAI (derzeit) nicht erreichen. Wenn Sie diese Funktio-
nalität von XMail dringend benötigen, können Sie mit ein bisschen händischer
Nacharbeit die von XPAI vorgenommene Konfguration anpassen.
Se:ve:
1Z/ wwwlecC¦~::e¦oe
AbbcIservice: /u[
\u:sc¦ ¦o¦l
\M~i¦ oie [osl ~us
exle::e: [0[o
[osl[~c¦e:: ~L
u:o ve:lei¦l sie ~:
oie ¦o¦~¦e: De
:ul.e: weile:
Am einIachsten ist es, zunächst mit XPAI einen POP3-Link Iür einen lokalen User
einzurichten. Dies erzeugt einen Eintrag in der Datei pop3links.tab im XMail-Ver-
zeichnis, der anschließend leicht anzupassen ist.
Ein Beispiel: Die Mail Iür Ihre Domain alteaomain.ae läuIt gesammelt beim Pro-
vider xvz-mail.com auI, und wird über den Benutzer-Account mail0815 abgeholt.
In diesem Fall wählt man zunächst einen in XMail bereits defnierten Benutzer-
eintrag und legt Iür diesen einen POP3-Link an. Für unser Beispiel verwenden wir
wieder testuser(meineaomain.ae. Die von XPAI erzeugte Konfgurationszeile in
pop3links.tab sieht dann so aus:
"meinedomain.de" "testuser" "mail.xyz-mail.de" "mail08IS"
±"IS04I¬I¬I?0aII0I" "CLR"
Diese Einstellung würde bewirken, dass sämtliche Mails Iür den EmpIänger
mail0815(mail.xvz-mail.ae an das PostIach testuser(meineaomain.ae zuge-
stellt werden. Damit stellen sich gleich zwei Probleme ein. Zum einen wird über
dieses PostIach keine Mail Iür die Domain mail.xvz-mail.ae empIangen, sondern
Iür alteaomain.ae, XMail lehnt die auI diesem Weg eingehenden Mails also kate-
gorisch ab, da sie Iür die Ialsche Domain sind. Und selbst wenn XMail die Nach-
richten akzeptiert beispielsweise auI Grund einer vorhandenen Alias-Domain
landet die gesamte Post im PostIach des Benutzers .testuser'. Um beide Fliegen
mit einer Klappe zu schlagen, genügt es, die obige Zeile wie Iolgt abzuändern:
"?meinedomain.de,altedomain.de" "testuser"
±"mail.xyz-mail.de" "mail08IS" "IS04I¬I¬I?0aII0I""CLR"
Damit wird XMail angewiesen, in den Headern der über den POP3-Link empIan-
genen Mails nach EmpIängeradressen in der Domain alteaomain.ae zu suchen.
Von den so geIundenen Adressen wird der Domain-Teil entIernt und durch den
1Z¯ weLcooe. ~1ooZ
Li:ux ~¦s M~i¦se:ve: :il \M~i¦
Wert (meinedomain.de ersetzt. So wird aus anaereruser(alteaomain.ae ganz
einIach die Adresse anaereruser(meineaomain.ae. Die erzeugte Nachricht lei-
tet XMail dann an seine normale Mail-Verarbeitung weiter. Ist also Iür den An-
wender anaereruser(meineaomain.ae ein entsprechender Account vorhanden,
erhält er die Iür ihn bestimmte Post.
3.3.9 Fazit
XMail ist ein leistungsIähiger Mailserver, der auch komplexen Ansprüchen ge-
recht wird. Einzig die noch Iehlende ZugriIIsmöglichkeit per IMAP kann man der
SoItware ankreiden. Ansonsten eignet sich XMail Iür die unterschiedlichsten Ein-
satzgebiete angeIangen vom Privatanwender mit eigener Domain bis hin zu in-
ternationalen Unternehmen mit mehreren Mailservern. Für letzteren Fall ist ein
tieIerer Einstieg in die Materie erIorderlich.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux als Hailserver mit XHail a!332 5.!!5
5erver-Konsolidierung auf Linux a!27O -
Linux als windows-5erver þ2ó8 -
5quid: Proxy-5erver unter Linux a778 -
Linux als Print-5erver a372 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Se:ve:
1Zo wwwlecC¦~::e¦oe
3.ó 5pam-Abwebr mit Linux
Der Transport von E-Mail macht einen erheblichen Anteil an der täglich über das
Internet bewegten Datenmenge aus. Leider hat iedoch der weitaus größte Teil da-
von nichts mit der direkten Kommunikation zwischen einzelnen Personen zu tun.
Stattdessen enthalten mittlerweile mehr als 50 Prozent aller Nachrichten Werbung
noch dazu die vom EmpIänger in aller Regel meist unerwünschte Form, Spam.
Gerade dieienigen, die viel über das Internet kommunizieren oder sehr aktiv in
Foren tätig sind, bekommen das Problem am stärksten zu spüren. Dank spezieller
Robot-Programme (so genannter Harvester, also Erntemaschinen), die das Web
nach verwertbaren E-Mail-Adressen durchIorsten, landen sie am schnellsten auI
den Listen der Spammer. Und dann beginnt ein schwunghaIter Handel mit diesen
Adressen. Insbesondere auI eBay fnden sich immer wieder Angebote von CD-
ROMs mit Millionen von E-Mail-Adressen, deren Besitzer angeblich dem Emp-
Iang von Werbung zugestimmt haben. SchaIIt man es tatsächlich, sich von einer
.Mailing-Liste' streichen zu lassen, dauert es also nicht lange, bis man von einer
anderen belästigt wird.
Aber auch wer seine E-Mail-Adresse schützt, sich nicht an öIIentlichen Diskus-
sionen beteiligt und sich von allen Angeboten Iernhält, die zum Hinterlassen der
Mail-Adresse auIIordern, kann OpIer der Spammer werden. Diese gehen nämlich
vermehrt dazu über, nicht nur per Sammel-SoItware ermittelte, sondern auch ein-
Iach zuIällig generierte Adressen anzuschreiben. Wer einen relativ kurzen Benut-
zernamen hat, kann leicht in den Genuss einer solchen Aktion kommen. Die ein-
zig wirklich hilIreiche WaIIe gegen Spam sind automatisierte Filtersysteme, die
anhand einer Vielzahl von Kriterien die Spreu vom Weizen trennen und in Zusam-
menarbeit mit Mail-Server oder Mail-Client Iür Ruhe im PostIach sorgen.
3.ó.1 5pamAssassin: ein ñexibIer 5pam-FiIter
Der Spam-Filter SpamAssassin erIreut sich gerade unter Linux-Benutzern größter
Beliebtheit. Das in der Script-Sprache Perl erstellte Paket bietet vielIältige Funk-
tionen zum AuIspüren unerwünschter Nachrichten und ist daher Bestandteil der
meisten Linux-Distributionen. SpamAssassin prüIt eintreIIende E-Mail-Nach-
richten mit mehreren VerIahren auI die Wahrscheinlichkeit, dass es sich bei der
untersuchten Post um Spam handelt:
· Statistische Kriterien, wie der in der Mail enthaltene Anteil an HTML-Code
· Bekannte Spam-Merkmale, wie geIälschte Angaben über den verwendeten
Mail-Client im NachrichtenkopI
· Abgleich des Absenders mit mehreren Listen bekannter Spammer
· Bayes-Filter, also ein weit gehend selbstständig lernendes Modul zur Erken-
nung von Spam
1Z¯ weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
Allerdings ähnelt der KampI gegen Spam dem Wettrennen, das sich auch Viren-
schreiber und die Hersteller von Antivirus-SoItware seit Jahren lieIern. Es tau-
chen immer neue VerIahren auI, mit denen Spam als normale Mail getarnt werden
soll. Entsprechend verwenden die Spam-Filter immer neue Algorithmen zur
Spam-Erkennung, wie beispielsweise den erst seit relativ kurzer Zeit aktuellen
Bayes-Filter. Dieser ordnet die Häufgkeiten von bestimmten Worten in normalen
und unerwünschten E-Mails und ermittelt daraus eine Wahrscheinlichkeit, dass es
sich bei der Mail um Spam oder Ham (kein Spam) handelt. Doch selbst dieses
VerIahren wird von den Spammern inzwischen zunehmend ad absurdum geIührt,
indem sie einIach wahllos harmlose Worte in E-Mails einstreuen.
Diese sich schnell drehende Spirale macht keine der aktuellen Linux-Distributio-
nen mit, und so enthalten alle erhältlichen Angebote eine mehr oder minder stark
veraltete Version von SpamAssassin. Zudem sind die in den Distributionen getroI-
Ienen Voreinstellungen eher suboptimal, und die Integration in das Mail-System
ist in der Regel nicht vorhanden. Genug Gründe also, selbst Hand anzulegen.
3.ó.2 InstaIIaticn der 5cftware
Da SpamAssassin im CPAN (Comprehensive Perl Archive Network) enthalten
ist, empfehlt es sich, die Installation nicht nach dem unter Linux sonst üblichen
Schema .Download, Entpacken, Konfgurieren, Kompilieren' vorzunehmen. EI-
Iektiver ist es, diese Arbeiten gleich vom CPAN-Modul erledigen zu lassen. Bei
dieser Methode werden nämlich auch von SpamAssassin eventuell benötigte Zu-
satzmodule automatisch mit eingerichtet:
su -
perl -MCPAN -e ´install Mail..SpamAsassin
perl -MCPAN -e ´install DB_File´
perl -MCPAN -e ´install HTML..Header´
perl -MCPAN -e ´install Net..DNS´
InstaIIer eingebaut: S¡~:/ss~ssi: ¦~ssl sic¦ ~: ei:[~c¦sle: uLe: o~s C[/ÑMoou¦ vo: [e:¦
~us oe: Ñel. ¦~oe: u:o ei::ic¦le:
Se:ve:
1Z8 wwwlecC¦~::e¦oe
Die letzten drei BeIehle richten weitere Zusatzmodule ein, die von SpamAssas-
sin nicht unbedingt benötigt werden, deren Installation aber durchaus sinnvoll ist.
Um das Modul DBFile einrichten zu können, muss das Development-Paket Iür
Berkeley DB, meist ab-aevel-·versionsnummer~ genannt, bereits auI dem Rech-
ner eingerichtet sein. DBFile stellt eine leistungsIähigere Datenbank zur VerIü-
gung als die Standard-Datenbank-Pakete von Perl. Net..DNS wird Iür Domain-
AbIragen im Rahmen von Blacklist-Checks und MX-ÜberprüIungen benötigt.
Sollte dies der erste AuIruI des CPAN-Moduls auI diesem Rechner sein, dann
Iragt es zunächst ein paar relevante Parameter ab, bevor es mit der eigentlichen
Arbeit beginnt. Hier ist lediglich darauI zu achten, dass Sie bei der Frage nach den
zu verwendenden Download-Servern eine vernünItige Wahl treIIen, ansonsten
gibt es beim Download Schwierigkeiten in Form von niedrigen Übertragungs-
raten oder Verbindungsabbrüchen. Bei den restlichen Fragen bietet das Modul
schon sinnvolle Vorgaben an.
Während der Installation von SpamAssassin Iragt das System als Erstes nach der
E-Mail-Adresse, an die Statusmeldungen zu senden sind. Die restliche Installa-
tion erledigt es vollautomatisch ohne weiteres Zutun des Administrators. Den Er-
Iolg der Aktion überprüIt ein erster AuIruI von SpamAssassin mit dem Parameter
-V zur Ausgabe der Versionsnummer:
spamassassin -V
Autcmatiscb: Sc¦o: w~¦:e:o oe: ¦o:¡i¦ie:u:g o~s [~¦els ¡~ssl S¡~:/ss~ssi: oie s¡~le:
ve:we:oele: Te:¡¦~les ~:
1Z' weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
Fertig: SoL~¦o oie ¦o:¡i¦ie:u:g ~Lgesc¦¦osse: isl, isl S¡~:/ss~ssi: Lel:ieLsLe:eil
3.ó.3 Die zwei Betriebsmcdi
Zur PrüIung der eingehenden Nachrichten kennt SpamAssassin zwei unterschied-
liche Methoden. Zum einen den AuIruI von SpamAssassin Iür iede eingehende
Nachricht, zum anderen die Arbeit als ständig im Hintergrund lauIender Dämon,
den ein HilIsprogramm mit den zu prüIenden Mails Iüttert.
Die Dämon-Variante bietet den Vorteil einer erheblich höheren Verarbeitungsge-
schwindigkeit, was sich gerade auI Systemen mit hohem Mail-AuIkommen deut-
lich bemerkbar macht. Ihr einziger Nachteil besteht darin, dass sich Filterregeln
und auch der Bayes-Filter in diesem Modus nur global defnieren lassen, also auI
alle eingehenden E-Mails angewendet werden. Allerdings ist dieser Nachteil in
den meisten Fällen eher virtuell, da das Gros der Anwender sowieso zu Iaul ist,
den Bayes-Filter zu trainieren oder eigene Filterregeln zu entwerIen. Hier bietet
der Dämon sogar den Vorteil, dass auch diese Anwender von der Arbeit der ande-
ren Nutzer proftieren. Es macht daher Sinn, die Dämon-Variante zu wählen.
Um den Dämon beim Start des Rechners automatisch zu laden, benötigen Sie ein
Startup-Script. Anstatt dieses eigenhändig zu schreiben oder durch Kopieren und
Probieren aus einem vorhandenen Script zu erzeugen, bietet sich eine komIortab-
lere Alternative an: Im CPAN-Paket von SpamAssassin ist bereits ein vorgeIertig-
tes Script Iür SuSE-Linux enthalten. Netterweise löscht das CPAN-Modul die zur
Installation verwendeten Pakete nicht, sondern speichert sie in einem Cache-Ver-
Se:ve:
1oO wwwlecC¦~::e¦oe
zeichnis. Das Script muss also nur aus dem Archiv extrahiert, mit dem richtigen
Namen in das Verzeichnis /etc/init.a kopiert werden und der neue Dienst dem Sys-
tem bekannt gemacht werden:
tar -xvzf -/.cpan/sources/authors/id/F/FE/FELICITY/
±Mail-SpamAssassin-?.¬?.tar.gz
± Mail-SpamAssassin-?.¬?/spamd/suse-rc-script.sh
cp Mail-SpamAssassin-?.¬?/spamd/suse-rc-script.sh
±/etc/init.d/spamd
chmod a+x /etc/init.d/spamd
insserv /etc/init.d/spamd
Puristen stört an dieser Variante noch, dass sie auI eine ältere Version von SuSE-
Linux zugeschnitten ist und unter aktuellen SuSE-Versionen eine Iür die korrek-
te Funktion von SpamAssassin allerdings nicht relevante Fehlermeldung produ-
ziert. Um auch das zu beheben, löschen Sie in der Datei /etc/init.a/spama einIach
die Iolgenden Zeilen:
= Source SuSE conñg
. /etc/rc.conñg
Unter SuSE-Linux 9.0 erIolgt die Parameterübergabe an den Dämon durch eine
eigene Konfgurationsdatei. Daher Iügen Sie zwei neue Zeilen ein:
SPAMD_CONFIG¬/etc/sysconñg/spamd
test -r SSPAMD_CONFIG && . SSPAMD_CONFIG
Die Parameter, die der SpamAssassin-Dämon beim Start übernehmen soll, legen
Sie in der Datei /etc/svsconhg/spama über die optionale Variable SPAMDOPTS
Iest. Damit der Dämon auch wirklich gestartet wird, muss diese Datei zumindest
die beiden Iolgenden Zeilen enthalten:
START_SPAMD¬yes
SPAMD_OPTS¬"-d -L"
Die in der Variablen SPAMDOPTS hinterlegten Optionen weisen den Dämon-
Prozess an, sich wirklich als Dämon zu installieren (Parameter .-d') und nur lo-
kale Tests durchzuIühren (Parameter .-L') also keine Daten mit Servern im In-
ternet auszutauschen.
3.ó.ó Basiskcnhguraticn
Obwohl Sie SpamAssassin auch dazu verwenden können, Iür einen einzelnen
Mail-Client die Filterung zu übernehmen, ist sein häufgstes Einsatzgebiet unter
Linux sicher das Zusammenspiel mit einem Mailserver. Die hierbei verwendeten
Arbeitseinstellungen entnimmt der Dämon-Prozess der Konfgurationsdatei /etc/
mail/spamassassin/local.cf.
1o1 weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
Durcbgekcmmen: 0Lwo¦¦ oie Ñ~c¦:ic¦l ei:ige ¦:ile:ie: [u: S¡~: e:[u¦¦l, ¦~l S¡~:/ss~ssi:
sie ¦o::e¦l ~¦s :o::~¦e M~i¦ ioe:li[.ie:l
Diese wird bei der Installation automatisch erzeugt, enthält aber keine BeIehle, so
dass SpamAssassin mit der DeIault-Konfguration arbeitet. Für den Betrieb als
systemweiter Dämon genügt dies iedoch nicht, zumindest ein paar weitere Para-
meter sind noch zu setzen. Diese betreIIen vor allem die erweiterten Funktionen
wie .Auto-Whitelist' und den .Bayes-Filter'. Beide arbeiten mit dateibasierten
Datenbanken, Iür die erst einmal Verzeichnisse anzulegen sind, zum Beispiel im
Verzeichnisbaum unterhalb von /var.
mkdir -p /var/cache/spam/awl
mkdir -p /var/cache/spam/bayes
3.ó.5 Autc-WbiteIist
Der Name Auto-Whitelist Iür diese Funktion ist eigentlich Ialsch gewählt. Richti-
ger müsste es Auto-White/Blacklist heißen. Diese Funktion merkt sich Iür die
Mails iedes Absenders deren Spam-Wert, bildet aus allen vorliegenden InIorma-
tionen den Mittelwert und passt Iür weitere eintreIIende Nachrichten den Spam-
Wert in Richtung des Mittelwerts an.
Ein Beispiel: TreIIen vom selben Absender zwei Nachrichten ein, wobei SpamAs-
sassin Iür die erste den Spam-Wert 20, Iür die zweite eigentlich den Spam-Wert 2
errechnet, dann passt die Auto-Whitelist-Funktion den Spam-Wert Iür die zweite
Nachricht auI 11 an. Das Iunktioniert natürlich auch in die andere Richtung. So
fndet zum Beispiel Iür einen Absender, der zwar viele Nachrichten, aber keinen
Spam gesendet hat, zunächst eine Korrektur des Spam-Werts nach unten statt. Da-
mit soll verhindert werden, dass Nachrichten eines regulären Kontakts irrtümlich
als Spam markiert werden, nur weil seine Mail bestimmte Merkmale auIweist.
Se:ve:
1oZ wwwlecC¦~::e¦oe
Die Auto-Whitelist-Funktion ist per DeIault aktiviert, allerdings muss SpamAs-
sassin noch wissen, wo er seine Datensammlung ablegen soll. Dazu erweitern Sie
die Datei /etc/mail/spamassassin/local.cf um den passenden Parameter:
use_auto_whitelist I
auto_whitelist_path /var/cache/spam/awl/
Es bietet sich an, wie oben gezeigt, den Parameter zur Aktivierung der Auto-
Whitelist-Funktion ebenIalls mit in die Konfguration auIzunehmen. So ist zum
einen soIort ersichtlich, welche Funktionen Sie benutzen, zum anderen lassen sich
einzelne Features bei BedarI schnell abschalten, ohne dass ein Suchen nach den
Vorgabewerten in der Dokumentation nötig ist.
3.ó.ó Bayes-FiIter
In den letzten Monaten ist es bei vielen Anti-Spam-Tools Mode geworden, einen
naiven Bayes-Filter zu verwenden. Dieser arbeitet mit relativen Häufgkeiten be-
stimmter Schlüsselwörter (Tokens) und bedingten Wahrscheinlichkeiten, um eine
Mail als Spam oder Ham (Nicht-Spam) zu identifzieren. Genau wie Auto-White-
list verwendet er eine Datenbank, deren PIad ihm mitgeteilt werden muss.
use_bayes I
bayes_path /var/cache/spam/bayes/
bayes_auto_learn I
Der letzte Parameter weist SpamAssassin an, den Bayes-Filter automatisch zu
trainieren. Das ist sinnvoll, da SpamAssassin ia mit einem Mailserver zusammen-
arbeiten soll. Dieser ist im Gegensatz zu einem Anwender an einem Mail-
Client nicht in der Lage, den Filter manuell zu trainieren, weshalb SpamAssassin
diese AuIgabe selbst erledigen muss. Zur Sicherheit verwendet er in diesem Mo-
dus nur Mails mit extrem hohen oder extrem niedrigen Spam-Werten Iür die Trai-
ningsIunktion. Der Bayes-Filter selbst schaltet sich erst ein, wenn er eine genü-
gend große Anzahl von Beispielen Iür Spam und Ham gesammelt hat. In der De-
Iault-Einstellung sind das ieweils 200 Nachrichten. Zu Trainingszwecken können
Sie auch das Tool salearn einsetzen, damit der Bayes-Filter schneller die benö-
tigte Anzahl zusammenbekommt. Es ist auch möglich, einen lokalen Mail-Ac-
count namens Spam einzurichten, in den die Anwender nicht erkannten Spam
verschieben, und dann salearn auI diese Mailbox anzusetzen.
3.ó.7 FremdspracbenhIter
Für viele Anwender ist es recht einIach, Spam auI den ersten Blick zu erkennen:
Die Mails sind in einer Sprache abgeIasst, die sie normalerweise nicht verwenden.
Wer zum Beispiel ausschließlich mit deutschsprachigen GeschäItspartnern kom-
muniziert, erhält in aller Regel von diesen keine Nachrichten in Englisch, Franzö-
1oo weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
sisch oder Spanisch. Dies macht sich SpamAssassin zu Nutze und gestattet es,
bestimmte Sprachen im Nachrichtentext zu akzeptieren, während anderssprachige
Mails von vornherein mit einem Malus belegt werden. Die Einstellung erIolgt
über zwei Parameter in local.cf:
ok_languages en de
ok_locales en
Mit diesen Einstellungen gelten Englisch und Deutsch als verwendete Sprachen,
alle anderen werden als potenzielle Spam-Kandidaten angesehen. Der Parameter
oklocale dient zum weiteren Feintuning. Er wertet den verwendeten Zeichensatz
aus. Da alle westlichen Sprachen hier ISO-8859-1 auch bekannt als Latin-1
verwenden, gilt der Bezeichner .en' Iür alle westlichen Sprachen.
Beim Eingrenzen der erlaubten Sprachen sollte man iedoch größte SorgIalt walten
lassen. Schließlich weiß man nicht immer, mit welchen Partnern und in welchen
Sprachen die Anwender des eigenen Mailservers kommunizieren. Hier kann es
schnell Ärger geben, wenn plötzlich wichtige Nachrichten wegen eines zu eng ge-
setzten Sprachflters nicht mehr beim EmpIänger ankommen.
3.ó.8 BenimmregeIn
Von Haus aus kennzeichnet SpamAssassin iede bearbeitete Mail lediglich durch
Flags im NachrichtenkopI, die Iür den EmpIänger normalerweise nicht direkt
sichtbar sind. Um dem Endanwender zusätzlich ein optisches Feedback zu geben,
kann SpamAssassin auch die BetreIIzeile einer eingehenden Nachricht ändern,
beispielsweise indem es die Zeichenkette .*****SPAM*****' oder eine andere,
vom Administrator defnierte Nachricht vor den OriginalbetreII stellt. Dann kann
der Anwender über lokale Filter im Mail-Client die Nachrichten automatisch in
andere Ordner sortieren lassen, um sie später kurz zu überprüIen. Aktiviert wer-
den diese Funktionen über die Iolgenden Parameter:
rewrite_subject I
subject_tag Spam-Verdacht.
Warnung: Ü Le: oe: ge~:oe:le: Del:e[[ ¦~:: S¡~:/ss~ssi: oe: /:we:oe: o¡lisc¦es Feeo
L~c¦ uLe: ¡ole:.ie¦¦e: S¡~: geLe:
Se:ve:
1o/ wwwlecC¦~::e¦oe
Erkennt SpamAssassin eine Mail als Spam, erzeugt es normalerweise eine neue
Nachricht, an die es die Spam-Post als Attachment anhängt. Dieses VerIahren hat
den Vorteil, dass die Spam-Inhalte nicht verändert werden. Allerdings gibt es An-
wender, die dieses Vorgehen nicht tolerieren, weshalb SpamAssassin auch die Op-
tion bietet, Spam nur durch Flags im Header zu kennzeichnen. Für diesen Be-
triebsmodus ist der Parameter reportsafe zuständig. Standardmäßig hat er den
Wert .1'. Setzen Sie ihn auI .0', damit nur Flags gesetzt werden:
report_safe 0
Wenn Sie den Wert auI .2' ändern, wird Spam nicht nur als Attachment an eine
neue Nachricht angehängt. SpamAssassin verwendet dann zusätzlich als Typ Iür
den Anhang tvpe/text, um dessen automatische AusIührung zu verhindern, was
gegen die Ausbreitung einiger Mail-Würmer, die Sicherheitslücken in Outlook
ausnutzen, durchaus hilIreich ist.
Feintuning mëgIicb: ¦: s¡e.ie¦¦e: ¦e~oe:Zei¦e: i:[o::ie:l S¡~:/ss~ssi: uLe: oie Tesls, oie
.u: ¦¦~ssi[.ie:u:g ei:e: M~i¦ ~¦s S¡~: ge[u¦:l ¦~Le:
Besonders Iür Abonnenten von Newslettern ist die EinIührung eines Spam-Filters
meist ein schwerer Schlag. Speziell HTML-Newsletter haben nur eine geringe
Chance, von SpamAssassin nicht Iür Spam gehalten zu werden, da sie meist viele
Links enthalten und mit großer Wahrscheinlichkeit auch einen .Unsubscribe'-
Link, dessen Existenz Iür SA ein Indiz Iür Spam ist.
Damit derartige Post dennoch ungehindert ihren Weg zum EmpIänger fnden
kann, bietet SpamAssassin mehrere Möglichkeiten, potenziellen Spam als norma-
le, erwünschte Nachricht zu deklarieren:
1o¯ weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
whitelist_from absenderOkeinspammer.de
whitelist_from_rcvd absenderOkeinspammer.de
±mail.keinspammer.de
whitelist_to meierOmeinedomain.de
more_spam_to muellerOmeinedomain.de
all_spam_to huberOmeinedomain.de
Das dahinter steckende Prinzip ist recht einIach: Mails von Absendern, die hinter
dem Schlüsselwort whitelistfrom defniert sind, werden generell nicht als Spam
klassifziert. Ähnlich verhält es sich mit whitelistfromrcva, iedoch prüIt Spam-
Assassin hier zusätzlich zur Absenderadresse auch, ob der sendende Mailserver
mit dem angegebenen Server übereinstimmt.
Über die drei Iunktional ähnlichen Schlüsselwörter whitelistto, morespamto
und allspamto defnieren Sie EmpIänger mit unterschiedlichen Toleranzgren-
zen Iür Spam. Benutzer, die Sie unter allspamto eintragen, erhalten schlichtweg
iede eintreIIende Nachricht. Bei den anderen beiden Varianten werden allzu ex-
zessive Spam-Mails nach wie vor erkannt. Für alle Adressangaben können Sie
auch Wildcards verwenden, mehrere Angaben hinter dem Schlüsselwort sind
ebenIalls zulässig. Beispielsweise lässt sich ein Whitelist-Eintrag Iür mehrere Do-
mains auch so defnieren:
whitelist_from *Otecchannel.de *Owhocares.de
Selbstverständlich Iunktioniert das auch in die andere Richtung, um normalerwei-
se nicht als Spam erkannte Nachrichten zwangsweise als Spam zu deklarieren:
blacklist_from *Ospam-central.com
blacklist_to public_spamOmeinedomain.de
3.ó.9 Externe 5cbnittsteIIen
Parallel zu den lokalen Spam-Filtern haben sich inzwischen einige Datenbanken
im Internet etabliert, die ebenIalls der Spam-BekämpIung dienen. Sie bieten bei-
spielsweise PrüIsummen bekannter Spam-Nachrichten an, anhand derer sich die
eingehende Post sortieren lässt. Um den entsprechenden Spam auch zu erhalten,
melden sich diese Systeme mit diversen Accounts bei den Spammern an.
Zu drei dieser Systeme bietet SpamAssassin eine Schnittstelle:
· Distributed Checksum Clearinghouse (www.rhyolite.com/anti-spam/dcc/)
· Razor (http://razor.sourceIorge.net)
· Pyzor (http://pyzor.sourceIorge.net)
Diese Tools sind ieweils gesondert von SpamAssassin zu installieren. Dabei soll-
ten Sie beachten, dass bei ihrer Nutzung Iür iede zu prüIende Mail Daten ins In-
ternet gesendet werden. Speziell bei einem nach Volumen abgerechneten TariI
kann das schnell ins Geld gehen. Es ist daher ratsam, die Abschaltoptionen Iür
Se:ve:
1oo wwwlecC¦~::e¦oe
diese Dienste zumindest als Kommentar in die Konfguration auIzunehmen, um
sie später bei BedarI ohne großartigen AuIwand wieder entIernen zu können, weil
beispielsweise die Kosten ins UIerlose steigen:
= use_dcc 0
= use_pyzor 0
= use_razor? 0
Ein weiterer Kandidat Iür unerwarteten Internet-TraIfc ist der Abgleich der Mail-
Absender mit verschiedenen schwarzen Listen, den so genannten Real Time
Blacklists. In diesen fnden sich, häufg aktualisiert, die IP-Adressen bekannter
Spam-Versender, oIIener Relays und anderer Spam-Quellen. Auch hier gilt: Die
Funktion an sich ist sinnvoll, der Ausschalter sollte trotzdem schon auskommen-
tiert in der Konfguration auIgeIührt sein:
= skip_rbl_checks I
3.ó.10 Integraticn in XHaiI
Nachdem nun die Theorie rund um die einzelnen Filter besprochen ist, bleibt nur
noch zu klären, wie man SpamAssassin zur Zusammenarbeit mit dem eigenen
Mailserver bewegt. Je nach verwendeter Server-SoItware unterscheiden sich die
dazu notwendigen Arbeitsschritte. Generell gilt iedoch, dass SpamAssassin als
Filter in die Mail-Verarbeitungsroutine integriert wird. Das Iolgende Beispiel be-
schreibt die Integration von SpamAssassin in XMail (www.xmailserver.org).
XMail bietet ein recht fexibles, daIür aber nicht ganz einIaches System, Filter in
die Mail-Verarbeitung zu integrieren. Erste AnlauIstelle ist hierbei die Konfgura-
tionsdatei /var/MailRoot/hlters.in.tab. Sie muss Iür ieden auszuIührenden Filter
eine Zeile der Form
<absender> <empfaenger> <sender-ip> <lokale-ip><ñlter>
auIweisen. Dabei gibt Filter nicht etwa den eigentlichen Filter an, sondern zeigt
auI eine weitere Konfgurationsdatei, die im Verzeichnis /var/MailRoot/hlters ab-
gelegt sein muss. Um nun alle eingehenden Nachrichten Iür die Domain
meineaomain.ae durch den Filter namens sahlter zu schleusen, sähe der Inhalt
von /var/MailRoot/hlters.in.tab so aus:
"*" "*Omeinedomain.de" "0.0.0.0/0" "0.0.0.0/0""sañlter.tab"
Die Datei sahlter.tab wiederum enthält den AuIruI des eigentlichen Filterpro-
gramms nebst den von diesem benötigten Parametern. Da XMail zudem bestimm-
te Rückgabewerte erwartet, genügt es nicht, einIach den zum SpamAssassin-Dae-
mon gehörenden Client spamc auIzuruIen. Ein Script muss daIür sorgen, dass die
vom Client gelieIerten Rückgaben in Iür XMail verständliche Werte gewandelt
werden. Zum Glück hat sich bereits iemand diese Arbeit gemacht und nicht nur
1o¯ weLcooe. ~1ooo
S¡~:/Lwe¦: :il Li:ux
das Script, sondern auch gleich die passende Filterdefnition geschrieben. AuI der
XMail-Seite von Drakeconsult (http://www.drakeconsult.com/xmail/) fnden sich
verschiedene Versionen des Scripts sahlter Iür unterschiedliche XMail-Versio-
nen. Die Installation Iür XMail 1.17 ist mit wenigen BeIehlen erledigt:
wget http.//www.drakeconsult.com/xmail/dist/
±sa_ñlter-I.·.tar.gz
tar -xvzf sa_ñlter-I.·.tar.gz
cd sa_ñlter-I.·
cp sa_ñlter.pl /var/MailRoot/bin
cp sañlter.tab /var/MailRoot/ñlters
Um eine reibungslose Zusammenarbeit mit den Iür XMail existierenden Verwal-
tungs-Tools wie zum Beispiel XPAI zu gewährleisten, sollte die Datei sahlter.tab
nicht umbenannt werden. Nach einem Neustart von XMail werden nun alle Nach-
richten entsprechend der vorhandenen Filterregeln Iür Domains oder einzelne
User von SpamAssassin geprüIt.
3.ó.11 Fazit
SpamAssassin ist ein leistungsIähiger, fexibler Spam-Filter, der allerdings ein
wenig FingerspitzengeIühl bei der Installation und der Wartung erIordert, insbe-
sondere wenn es an die Optimierung der Gewichtungen geht. UmIangreiche Tu-
ning-Optionen erlauben die Anpassung auI individuelle BedürInisse, und ist die
Hürde der Integration in den Mailserver erst einmal genommen, erIreut SpamAs-
sassin mit einer sehr hohen TreIIerquote.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
5þam-Abwehr mit Linux a!333 5.!26
Linux als Hailserver mit XHail a!332 5.!!5
5þam-5chutz für 5erver a!O67 -
5o funktioniert E-Hail a8!7 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Se:ve:
1o8 wwwlecC¦~::e¦oe
3.5 Linux aIs Windcws-5erver
Einer der größten Vorteile von Linux ist neben seiner Geschwindigkeit und der
Stabilität vor allem die OIIenheit Iür andere Systeme. So bietet Linux die Mög-
lichkeit, unterschiedliche Dateisysteme einzusetzen, ist binär-kompatibel zu di-
versen Unix-Derivaten, und auch bei den Verbindungen über das Netzwerk gibt es
quasi nichts, was es nicht kann.
Kein Wunder, dass ihm auch die Kommunikation mit Windows-Netzen nicht
Iremd ist. Mehr noch, über das Samba-Paket des Samba-Proiekts (www.samba.org)
ist es nicht nur in der Lage, von Windows-Rechnern oder -Servern bereitgestellte
Ressourcen zu nutzen. Es kann sich sogar selbst als Windows-Server ausgeben
und Freigaben bereitstellen, Mitglied in einer Active-Directory-Domäne sein oder
eigenständig eine NT-Domäne verwalten. Da Linux zudem ohne Ressourcen Ires-
sende grafsche Benutzeroberfäche auskommt, eignet es sich unter anderem her-
vorragend dazu, ältere, Iür Windows eigentlich nicht mehr adäquate Rechner wei-
terhin als Server zu betreiben.
3.5.1 Das ist neu in 5amba 3
Inzwischen ist Samba in Version 3 verIügbar. Diese bringt einige interessante und
wichtige Neuerungen mit sich. So zum Beispiel die Möglichkeit, einen Samba-
Server als Mitglied eines Active-Directory-Verzeichnisses zu betreiben oder die
Unterstützung Iür Unicode-Zeichensätze zur besseren Verarbeitung von Umlau-
ten und anderen Sonderzeichen über unterschiedliche Betriebssysteme hinweg.
Verbesserungen erIuhren zudem der Drucker-Support Iür Clients unter Windows
2000, 2003 und XP sowie die zur Rechtevergabe auI Dateien und Verzeichnisse
unter Windows wichtigen Access Control Lists (ACL), die Samba ietzt noch ge-
nauer umsetzt. Neu ist das HilIsprogramm net Iür Linux, das in seiner Funktion an
das gleichnamige Windows-Utility angelehnt ist, ihm aber nicht ganz entspricht.
Mit dem aktuellen FunktionsumIang ist Samba also durchaus in der Lage, Iür
kleinere Netze als zentraler Server zu arbeiten. Genauso eignet es sich Iür den
Einsatz als Abteilungs-Server, der in ein größeres, per Active Directory verwalte-
tes Netz integriert ist. Aber auch Iür den privaten Gebrauch stellt es eine gute und
einIach zu konfgurierende Server-Lösung dar.
3.5.2 5amba 3 instaIIieren
Da Samba 3 recht neu ist, hat noch keine Linux-Distribution die entsprechenden
Pakete in ihre Sammlung auIgenommen. Das ist generell kein Problem, da die
notwendigen RPM-Dateien Iür die gängigsten Distributionen auI den diversen
Mirror-Servern (de.samba.org/samba/) des Samba-Proiekts zum Download be-
reitstehen. Dies gilt iedoch nicht Iür SuSE-Linux.
1o' weLcooe. ~1oo/
Li:ux ~¦s \i:oowsSe:ve:
Grund daIür ist, dass SuSE einige Modifkationen an Samba vorgenommen hat,
um es besser in die hauseigenen Enterprise-Produkte zu integrieren. Aber keine
Sorge, Sie müssen ietzt nicht zu Compiler und Editor greiIen, um die SuSE-Än-
derungen selbst in den Quelltext von Samba 3 zu integrieren und das Ergebnis zu
übersetzen. Die Firma Sernet bietet auI ihrem FTP-Server den Download einer
SuSE-spezifschen Version von Samba 3 (Itp://Itp.sernet.de/pub/samba/) an.
Bevor Sie diese herunterladen und installieren, sollten Sie iedoch zunächst die
während der Installation von SuSE-Linux auI dem Rechner eingerichteten Sam-
ba-Komponenten entIernen. In der Regel ist dies lediglich der Samba-Client. Ab-
hängig von den individuellen Einstellungen bei der Installation können aber auch
andere Module auI dem Rechner vorhanden sein. Welche tatsächlich installiert
sind, ermitteln Sie mit einem einIachen Kommando:
rpm -qa | grep samba
Alle von diesem BeIehl auIgelisteten Module bis auI die, deren Name mit vast2
oder kae beginnt, sollten Sie entIernen. Dazu benötigen Sie Superuser-Rechte, Sie
sollten also in den Administrations-Account root wechseln.
su -
rpm -e --nodeps <modulliste>
Aufräumen: \o: oe: ¦:sl~¦¦~lio: vo: S~:L~ o si:o eve:lue¦¦ vo:¦~:oe:e ~¦le:e \e:sio:e:
Lesse: .u e:l[e::e:, u: [:oL¦e:e .u ve::eioe:
Die Angabe des Parameters --noaeps bewirkt, dass der RPM-Manager nicht prüIt,
ob andere installierte Module eventuell von den zu entIernenden abhängig sind.
Genau das ist natürlich der Fall, aber da Sie ia gleich eine neue Version einspielen,
ist dies nicht weiter tragisch. Den Platzhalter <modulliste> ersetzen Sie mit der
durch Leerzeichen getrennten Liste der zu entIernenden Module. Dabei dürIen
Se:ve:
1/O wwwlecC¦~::e¦oe
Sie die Namen abkürzen, zum Beispiel ist statt der Angabe von samba-client-
2.2.8a-107 auch die KurzIorm samba-client erlaubt. Ist das EntIernen der alten
Version erIolgreich abgeschlossen, können Sie Samba 3 mit wenigen BeIehlen
installieren. Es empfehlt sich, zuvor auI dem FTP-Server nachzusehen, welches
Archiv die aktuellste Version enthält, um unnötig große Dateiübertragungen zu
vermeiden. Mit dem Iolgenden BeIehl erhalten Sie eine Liste aller auI dem Server
vorhandenen Release-Versionen:
wget -nv ftp.//ftp.sernet.de/pub/samba/suse9/samba·*·.0.(0-
9¦-(0-9¦*.iS8¬.rpm
rpm -Uvh samba·*iS8¬.rpm
Damit ist die Installation der SoItware abgeschlossen, und Sie können darange-
hen, Samba zu konfgurieren.
Zwei BefebIe, fertig: Die ¦:sl~¦¦~lio: vo: S~:L~ o isl ~uc¦ u:le: SuSELi:ux :il :u: .wei
De[e¦¦e: o¦:e weile:e Sc¦wie:ig¦eile: e:¦eoigl
3.5.3 5amba kcnhgurieren
Dreh- und Angelpunkt der Samba-Konfguration ist die Datei /etc/samba/
smb.conf. Aus dieser bezieht Samba nicht nur alle wichtigen Betriebsparameter,
sondern auch die InIormationen über Ireigegebene Verzeichnisse und Iür Netzan-
wender bereitgestellte Drucker. Hatten Sie bereits einen Samba-Server unter
SuSE Linux 9.0 in Betrieb, sollten Sie eine vorhandene Konfgurationsdatei si-
chern, bevor Sie den Server starten. Für unser Beispiel starten wir mit einer Iri-
schen Minimalkonfguration. ÖIInen Sie die Datei /etc/samba/smb.conf in einem
Editor Ihrer Wahl und ändern Sie den Inhalt auI Iolgende Zeilen:
1/1 weLcooe. ~1oo/
Li:ux ~¦s \i:oowsSe:ve:
(global¦
workgroup ¬ MEINNETZ
(homes¦
guest ok ¬ no
read only ¬ no
Dies ist so ziemlich die kürzeste, Iunktionierende und sinnvolle Konfguration ei-
nes Samba-Servers. Dass so wenige BeIehle daIür notwendig sind, liegt daran,
dass Samba intern Iür in der Konfgurationsdatei nicht auIgeIührte Kommandos
passende DeIault-Werte verwendet.
Es ist deutlich zu sehen, dass die Konfgurationsdatei mehrere Blöcke auIweist,
die durch Schlüsselwörter in eckigen Klammern eingeleitet werden. Jeder Block
spezifziert eine Ressource, die der Server den Clients zur VerIügung stellt. Eine
Sonderstellung nimmt dabei [global{ ein. In diesem Block fnden sich die Anwei-
sungen, die sich auI den generellen Betrieb des Servers auswirken. Auch [homes{
hat besondere Bedeutung: Ist diese Ressource defniert, leitet Samba einen Client
direkt auI das Heimatverzeichnis des Users um, der sich anmeldet.
Doch bevor wir das ausprobieren, testen wir zunächst, ob alles wie gewünscht
Iunktioniert. Starten Sie also den Server und ruIen Sie eine Liste der von ihm be-
reitgestellten Ressourcen ab:
/etc/init.d/smb start
/etc/init.d/nmb start
smbclient -L //localhost
AIIes kIar: E:sle: E:[o¦g oe: S~:L~Se:ve: ¦~u[l u:o sle¦¦l Ressou:ce: .u: \e:[ugu:g
Se:ve:
1/Z wwwlecC¦~::e¦oe
Die von dem HilIsprogramm smbclient durchgeIührte PasswortabIrage quittieren
Sie einIach mit der Enter-Taste und erhalten eine Liste der Ressourcen angezeigt.
Neben homes enthält diese weitere Einträge, die Iür den Login-Vorgang erIorder-
lich, aber nicht weiter von Interesse sind.
3.5.ó User einricbten
Ein Versuch, diese Liste auch von einem Windows-PC aus zu erhalten, schlägt
iedoch ziemlich sicher Iehl. Ursache daIür ist, dass dem Samba-Server bislang
noch keine Benutzerkonten bekannt sind. Dabei ist zu beachten, dass ieder User-
Account Iür Samba einen entsprechenden Eintrag in der Passwort-Datei des Li-
nux-Rechners, /etc/passwa, erIordert. Um nun ein Konto Iür den Benutzer test-
user anzulegen, sind Iolgende Schritte notwendig:
useradd -m testuser
smbpasswd -a testuser
Achtung: Obwohl das Utility smbpasswa nach einem Passwort Iür den neu ange-
legten Account Iragt, ist mit dem eben erzeugten Benutzernamen keine Anmel-
dung an der Konsole des Linux-Rechners möglich. Samba verwaltet seine Ac-
counts nämlich in einer eigenen Passwort-Datei, /etc/samba/smbpasswa. Ergo
wird nur dort das Passwort hinterlegt, nicht aber in der Datei mit den Zugangsken-
nungen Iür den Rechner selbst.
Das macht durchaus Sinn, da Sie auI diese Weise reine Samba-Accounts einrich-
ten können, ohne den ieweiligen Usern gleich Zugang zu lokalen Daten des Ser-
vers zu geben. Sollen Samba-Anwender auch ZugriII per SSH oder über die Kon-
sole des Servers erhalten, müssen Sie als Admin das Passwort manuell über das
Linux-Utility passwa setzen.
Das wirIt die nächste Frage auI: Ändert ein Anwender sein Samba-Passwort, was
passiert dann mit dem Kennwort des Linux-Accounts? Die Antwort ist: nichts.
Zumindest in der Standardkonfguration. Das bedeutet, es sind plötzlich unter-
schiedliche Passwörter Iür denselben User vermerkt, was zu Problemen Iühren
kann. Die Samba-Entwickler haben iedoch auch an diesen Fall gedacht und Vor-
kehrungen daIür getroIIen. Alles was erIorderlich ist, um bei einer Änderung des
Samba-Passworts gleich das zugehörige Linux-Passwort mit zu aktualisieren,
sind zwei Zeilen im Abschnitt [global{ der Konfgurationsdatei:
unix password sync ¬ yes
passwd program ¬ /usr/bin/passwd %u
Achtung: Die letzte Zeile gilt Iür SuSE Linux 9.0. Bei verschiedenen Distributio-
nen kann das Utility passwa auch an anderer Stelle liegen. Am besten prüIen Sie
dies über das Kommando which passwd. Es verrät Ihnen, wo sich das Programm
bei Ihrer Distribution versteckt.
1/o weLcooe. ~1oo/
Li:ux ~¦s \i:oowsSe:ve:
6ebeim: Ñu: oe: Ñ~:e ve::~l, o~ss es sic¦ Lei: ~:ge.eigle: Rec¦:e: u: ei: Li:uxSvsle:
¦~:oe¦l u:o :ic¦l u: ei:e: \i:oowsSe:ve:
Eine kleine Falle lauert hier noch: Wer ietzt denkt, dass er als Admin ab soIort so-
wohl die Passwörter Iür die Linux-Konsole als auch Iür den Samba-Server über
das HilIsprogramm smbpasswa setzen kann, der irrt. Nur Iür den ieweiligen User
selbst Iührt smbpasswa den komIortablen automatischen Abgleich durch. Der Su-
peruser muss nach wie vor beide Passwörter von Hand setzen.
3.5.5 Freigaben einricbten
Nun sind NetzlauIwerke Iür einzelne Anwender ia ganz praktisch. Allerdings hel-
Ien sie nicht viel beim Austausch von Daten zwischen den Usern. Schließlich
kann ieder Anwender gerade einmal auI sein eigenes, nicht aber auI die Netzver-
zeichnisse der anderen Benutzer zugreiIen. Ergo: Eine weitere Netzressource
muss her, zu der alle Anwender Zugang haben. Dazu legen Sie zuerst ein lokales
Verzeichnis an, zum Beispiel /srv/samba/temp:
mkdir -p /srv/samba/tausch
Anschließend laden Sie die Konfgurationsdatei /etc/samba/smb.conf in den Edi-
tor und erweitern sie um einen neuen Block:
(tausch¦
path ¬ /srv/samba/tausch
read only ¬ no
guest ok ¬ yes
guest only ¬ yes
Se:ve:
1// wwwlecC¦~::e¦oe
Nach einem Neustart des Samba-Dämons per /etc/init.d/smb restart ist
die Irische Freigabe von allen Clients aus sichtbar. Der Versuch, Daten auI dieses
NetzlauIwerk zu kopieren, scheitert iedoch.
¥erweigert: Si:o oie Rec¦le [u: Use: u:o 0:u¡¡e i: Li:uxD~leisvsle: :ic¦l :ic¦lig gesel.l,
sc¦¦~ge: Sc¦:eiL.ug:i[[e ~u[ ei: Ñel.¦~u[we:¦ u:weige:¦ic¦ [e¦¦
Kein Wunder, denn so wie die Ressource namens .tausch' aktuell konfguriert ist,
passiert Folgendes: Bei einem ZugriII stellt Samba Iest, dass auch Gäste ZugriII
erhalten dürIen (guest ok ¬ yes) und ieder User als Gast behandelt werden soll
(guest only ¬ yes). Der voreingestellte Gast-Account unter SuSE Linux 9.0
ist noboav in der Gruppe nogroup. Wie Sie allerdings leicht über das Kommando
ls /srv/samba -al nachprüIen können, hat aber nur der User root Schreib-
rechte auI das zuvor angelegte Verzeichnis. Ändern Sie also den Besitzer des Ver-
zeichnisses von root auI noboav, und schon können alle Netzwerkanwender Da-
ten in der Freigabe ablegen oder verändern:
chown nobody /srv/samba/tausch
So weit, so gut. Nur haben ietzt tatsächlich alle Anwender im Netz SchreibzugriII
auI den Tauschordner und das, ohne sich am Server anmelden zu müssen. Das
kann in EinzelIällen zwar erwünscht sein, in den meisten Fällen möchte man den
ZugriII aber eher auI bestimmte Benutzer beschränken. Um das zu erreichen,
müssen Sie den Block Iür die Ressource tausch ein wenig modifzieren:
(tausch¦
path ¬ /srv/samba/tausch
read only ¬ no
valid users ¬ testuser
force user ¬ nobody
1/¯ weLcooe. ~1oo/
Li:ux ~¦s \i:oowsSe:ve:
ErfcIg: ¦~u: si:o oie Zug:i[[s:ec¦le i: D~leisvsle: vo: Li:ux :ic¦lig gesel.l, ¦¦~¡¡l es ~uc¦
:il oe: Sc¦:eiL.ug:i[[ ~u[ o~s \e:.eic¦:is
Durch die Angabe des Kontos testuser hinter dem Schlüsselwort valid users
veranlassen Sie den Samba-Server, nur diesen Anwendern ZugriII auI die Tausch-
Ireigabe zu gewähren. Fehlt diese Zeile, erhalten automatisch alle dem Server be-
kannten Benutzer Zugang. Allerdings hätten wir uns ietzt beinahe wieder ein Pro-
blem eingehandelt: SchreibzugriII hat nun ausschließlich der Linux-User noboav
und nicht testuser. Dass trotzdem alles klappt, daIür sorgt die letzte Zeile des
Blocks. Sie weist Samba an, Iür alle Operationen auI der Ressource .tausch' in-
tern den Benutzer noboav zu verwenden egal unter welcher Kennung der ie-
weils ausIührende User angemeldet ist.
3.5.ó Arbeit mit 6ruppen
Handelt es sich bei dem Netz um eine größere Installation mit vielen Anwendern,
ist es schnell mühsam, die zum ZugriII berechtigten User einzeln hinter dem
Schlüsselwort valid users auIzuIühren. Samba unterstützt daher als Parameter
auch Gruppen. Um beispielsweise allen Mitgliedern der Gruppe tauschgrp Zu-
griII auI den Tauschordner zu geben, ändern Sie die Zeile wie Iolgt:
valid users ¬ +tauschgrp
Nun müssen Sie nur noch die entsprechende Linux-Benutzergruppe anlegen und
die gewünschten Konten in sie auInehmen:
groupadd -g I0000 tauschgrp
usermod -G tauschgrp testuser
Achten Sie dabei darauI, beim BeIehl usermod wirklich ein großes .G' als Para-
meter anzugeben, da Sie andernIalls die Standardgruppe des Users verändern,
statt ihn in eine weitere Gruppe auIzunehmen. Die Angabe der Option -g I0000
Se:ve:
1/o wwwlecC¦~::e¦oe
bei groupaaa hat zur Folge, dass die Gruppe tauschgrp mit der internen Gruppen-
nummer 10000 versehen wird. Technisch hat das keine Auswirkung, es erleichtert
aber die Übersicht, wenn Sie zu einer Anwendung gehörende Gruppen unter ei-
nem eigenen Nummernkreis zusammenIassen.
3.5.7 Tipps, Tricks und Perfcrmance
Obwohl Samba eigentlich recht gute Vorgabewerte Iür die meisten Systeme ver-
wendet, gibt es doch ein paar Schrauben, an denen man drehen kann, um noch ein
wenig mehr PerIormance aus dem Server herauszukitzeln. Besondere Bedeutung
haben hier die Optionen, die sich auI den TCP/IP-Stack auswirken. Sie werden
über das Schlüsselwort socket options in der globalen Sektion der Konfgura-
tionsdatei gesetzt. Eine gute Wahl ist zum Beispiel in vielen Fällen:
socket options ¬ TCP_NODELAY IPTOS_NODELAY SO_RCVBUF¬8I9?
SO_SNDBUF¬8I9? SO_KEEPALIVE
Diese Optionen bewirken, dass Samba mit möglichst geringen Toleranzen bei den
Übertragungen arbeitet, relativ große PuIIer Iür die Datenübertragung verwendet
und durch Keepalive-Pakete versehentliche Abmeldungen der Clients verhindert.
Beim Experimentieren mit den Konfgurationseinstellungen kann es durchaus
passieren, dass Samba sich nicht so verhält, wie Sie es erwartet hätten. Wenn Sie
dann einzelne Parameter ändern, kann es vorkommen, dass sich das Verhalten von
Samba nicht ändert. Ursache ist hier meist, dass die ieweilige Option nicht abge-
schaltet, sondern vermeintlich durch ein vorangestelltes Kommentarzeichen aus
der Konfguration entIernt wurde. Dem ist aber oIt nicht so. Hier schlägt Ihnen
gerne die EigenschaIt von Samba ein Schnippchen, Iür nicht vorhandene Optio-
nen Standardwerte zu verwenden. Ein Beispiel:
= Nur-Lesen-Status fùr Ressource aktivieren
= falsch.
= read only ¬ no
= richtig.
read only ¬ yes
Als Faustregel Iür die Arbeit mit der Konfgurationsdatei gilt daher: Optionen bes-
ser explizit auI den gewünschten Wert setzen. Im ZweiIelsIall lässt sich die aktu-
elle Einstellung einer Option über das HilIsprogramm testparm durch AuIruI mit
der Option -v Ieststellen:
testparm -v | grep <option>
Mit einem weiteren Problem konIrontiert sehen sich all die Anwender, die ihre
Konfguration gerne ausIührlich dokumentieren, um sich auch später darin zu-
rechtzufnden. Samba unterstützt zwar Kommentare in der Konfgurationsdatei,
1/¯ weLcooe. ~1oo/
Li:ux ~¦s \i:oowsSe:ve:
allerdings Iunktioniert das nur dann, wenn das Kommentarzeichen # wirklich das
erste nicht leere Zeichen einer Zeile ist. Wird der Kommentar iedoch hinter der
gewünschten Option gesetzt, interpretiert Samba dies als Parameter der Option:
= Bitte so.
= Erlaubte User festlegen
valid users ¬ testuser, neueruser
= aber nicht so.
valid users ¬ testuser, neueruser = erlaubte user
3.5.8 Fazit und AusbIick
Mit den bisher gewonnenen InIormationen sind Sie bereits in der Lage, einen leis-
tungsIähigen Fileserver Iür kleine und mittlere Netze zu installieren. Wie Sie
Samba in eine Domain integrieren oder selbst zum primären Domänen-Controller
machen, beschreibt der Artikel zur erweiterten Samba-Konfguration. Dort geht es
auch darum, wie Sie zum Speichern der Benutzerkonten alternativ Datenbanken
verwenden können und die Kompatibilität zu Windows-Servern weiter erhöhen.
Der Bereitstellung von am Samba-Server angeschlossenen Druckern ist ebenIalls
ein eigener Artikel gewidmet. Hier erIahren Sie nicht nur, wie Sie einen Drucker
Iür die Anwender im Netz zur VerIügung stellen, sondern auch, wie Sie daIür sor-
gen, dass die Clients die notwendigen Treiber auI dem Samba-Server vorfnden.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux als windows-5erver a!33ó 5.!38
Linux als Print-5erver a!335 5.!ó8
5amba 2.2.x einrichten þ2ó8 -
Print-5erver mit 5amba 2.2.x a372 -
workshoþ 5L05: Client konñgurieren a!!7O -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Se:ve:
1/8 wwwlecC¦~::e¦oe
3.ó Linux aIs Printserver
Mit HilIe von Samba lassen sich unter Linux nicht nur DateiIreigaben Iür Win-
dows-Clients zur VerIügung stellen. Auch ein zentraler Printserver mit ZugriIIs-
schutz und StatistikIunktionen ist ohne großen AuIwand realisierbar.
Neben der zentralen Datenspeicherung ist das Bereitstellen zentraler Druckdiens-
te eine der wichtigsten AuIgaben eines Netzwerks. Die Vorteile liegen klar auI der
Hand: In großen Netzen sparen zentrale Drucker Kosten, weil nicht ieder Arbeits-
platz mit einem eigenen Gerät ausgestattet werden muss. Im privaten UmIeld
spielt nicht nur das gesparte Geld eine Rolle. Auch die Nerven werden deutlich
weniger strapaziert, da man nicht ständig wegen eines Ausdrucks der restlichen
Familienmitglieder den eigenen Arbeitsplatz räumen muss.
Unter Linux stellt Samba die netzweiten DruckIunktionen bereit. Allerdings tut es
das nicht komplett alleine. Vielmehr übernimmt Samba die Rolle des Vermittlers
zwischen dem Client und dem lokal auI dem Linux-Rechner lauIenden Drucksys-
tem, das die eigentliche Ausgabe vornimmt. Während es noch vor wenigen Jahren
mehrere unterschiedliche Systeme gab, um von Linux aus auI einen lokal am
Rechner angeschlossenen Drucker zuzugreiIen, hat sich mittlerweile das Com-
mon Unix Printing System (CUPS, www.cups.org) als DeIacto-Standard bei den
meisten Distributionen durchgesetzt. Neuere Samba-Versionen und damit auch
die aktuelle Ausgabe 3.0.2 bieten eine direkte Schnittstelle zu diesem System. Da-
mit Samba einen Drucker Iür ZugriIIe aus dem Netz zur VerIügung stellen kann,
muss dieser also erst einmal über CUPS eingerichtet werden. Unter SuSE Linux
9.0 erIolgt dies komIortabel über das Druckermodul von Yast2.
3.ó.1 Drucker per 6UI einricbten
Das Druckermodul von Yast2 erlaubt es Ihnen, sowohl lokal am Parallel- oder
USB-Port angeschlossene als auch entIernte Netzwerkdrucker zu konfgurieren.
Da Samba alle CUPS bekannten Drucker Iür die Anwender im LAN zur VerIü-
gung stellt, ist dies auch eine gute Methode, um älteren Rechnern ohne die not-
wendigen Fähigkeiten Zugang zu einem Netzwerkdrucker zu verschaIIen. Die
meisten am USB-Port angesteckten Geräte erkennt SuSE Linux 9.0 selbstständig,
bei Druckern an der parallelen Schnittstelle müssen Sie meist selbst den korrekten
Treiber auswählen. Gleiches gilt Iür direkt im LAN arbeitende Drucker mit inte-
griertem Printserver. Bei der Namensvergabe sollten Sie darauI achten, dass die
gewählte Bezeichnung einerseits eindeutig, andererseits aber nicht zu lang ist. Vor
allem Clients unter Windows 9x/ME bekommen Probleme, wenn der Name des
Druckers länger als zwölI Zeichen ist. Intern arbeiten diese Betriebssysteme näm-
lich noch mit dem von DOS vorgegebenen Namensraum von acht Zeichen Iür den
Dateinamen, geIolgt von einem Punkt und einer maximal drei Zeichen langen Na-
menserweiterung insgesamt eben besagte zwölI Zeichen.
1/' weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
ZentraIe: Cu¡s ve:w~¦lel sowo¦¦ ¦o¦~¦ ~:gesc¦¦osse:e D:uc¦e: ~: USD u:o [~:~¦¦e¦¡o:l ~¦s
~uc¦ Ñel.we:¦o:uc¦e: :il i:leg:ie:le: [:i:lse:ve:
3.ó.2 Drucker manueII einricbten
Wenn Ihr Linux-Rechner ohne grafsche Benutzeroberfäche auskommen muss,
lassen sich die Drucker auch manuell einrichten. Eine Schlüsselrolle spielt hierbei
das HilIsprogramm lpaamin. Um beispielsweise einen per USB-Port angeschlos-
senen HP-Deskiet unter CUPS einzurichten, genügt es, als Superuser root Iolgen-
des Kommando einzugeben:
lpadmin -p dj940c -E -P /usr/share/cups/model/HP/Deskjet_
±940C-cdj9I0.ppd.gz
lpadmin -p dj940 -v usb.//dev/usb/lp0
Analog richten Sie einen älteren Laserdrucker von Xerox am Parallelport über
dieses Kommando ein:
lpadmin -p x4SI0 -E -P /usr/share/cups/model/Xerox/
±DokuPrint_4S08-hpijs.ppd.gz
lpadmin -p x4SI0 -v parallel./dev/lp0
Für einen Netzwerkdrucker wie beispielsweise einen Kyocera FS-3700¹ sähe die
BeIehlsIolge so aus:
Se:ve:
1¯O wwwlecC¦~::e¦oe
lpadmin -p k·I00 -E -P /usr/share/cups/model/Kyocera/FS-
±·I00plus-PostScript.ppd.gz
lpadmin -p k·I00 -v socket.//I9?.I¬8.?I.???.9I00
Die Syntax ist dabei denkbar einIach: Richte den Drucker mit Namen xyz (-p) ein
und aktiviere ihn (-E), wobei der Treiber abc (-P) zu verwenden ist. Das zweite
Kommando defniert die Schnittstelle (-v), über die der Drucker zu erreichen ist.
Beide BeIehle lassen sich auch in einer Zeile zusammenIassen, die obige Darstel-
lung dient nur der besseren Lesbarkeit.
Im Verzeichnis /usr/share/cups/moael fnden sich die derzeit verIügbaren Treiber
Iür eine Vielzahl von Druckern. Teilweise sind Iür ein Druckermodell auch meh-
rere Treiber vorhanden. Während das Yast2-Modul hier automatisch die empIoh-
lene Variante wählt, sind Sie bei der manuellen Installation auI Glück, Intuition
oder Ausprobieren angewiesen.
3.ó.3 Netzwerkdruck vcrbereiten
Bevor Sie nun darangehen können, den oder die Drucker im Netz bekannt zu ma-
chen, sind noch ein paar Vorarbeiten nötig. Als wichtigste Maßnahme müssen Sie
ein Spool-Verzeichnis Iür Samba einrichten, auI das ieder Benutzer mindestens
Schreibrechte hat:
mkdir /var/spool/samba
chmod III /var/spool/samba
Auch in der Konfgurationsdatei von Samba, zu fnden unter /etc/samba/smb.conf,
sind einige Änderungen durchzuIühren. Hier müssen Sie zunächst in der globalen
Sektion die Ansteuerung von CUPS als Drucksystem einrichten und Samba den
Export aller in CUPS defnierten Drucker über eine spezielle Sektion namens
[printers{ erlauben:
(global¦
printing ¬ cups
printcap name ¬ cups
(printers¦
path ¬ /var/spool/samba
browsable ¬ no
guest ok ¬ yes
writeable ¬ no
printable ¬ yes
printer admin ¬ root, Ontadmin
Diese Einstellungen bewirken, dass Samba automatisch alle via CUPS defnierten
Geräte als einzelne Netzwerkdrucker zur VerIügung stellt. Durch den zunächst
deplaziert erscheinenden BeIehl browsable ¬ no erreichen Sie, dass die globa-
le Ressource [printers{ von den Clients aus iedoch nicht sichtbar ist. Die Zeile
1¯1 weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
writeable ¬ no schließt aus, dass Clients wahllos Dateien im Spool-Verzeich-
nis ablegen können, printable ¬ yes sorgt daIür, dass DruckauIträge aber sehr
wohl in das Directory geschrieben werden.
Um sicherzustellen, dass Samba diese Änderungen soIort erkennt, müssen Sie den
Dienst über das Kommando /etc/init.d/smb restart neu starten. Mit HilIe
eines Client-Rechners lässt sich nun schnell Ieststellen, ob die Aktion erIolgreich
war. Wenn ia, sollten die Drucker in der Übersicht der vom Linux-Server bereit-
gestellten Ressourcen erscheinen.
ErIedigt: \e:ige ¦o::~:oos ge:uge:, u:o oe: S~:L~Se:ve: sle¦¦l ~¦¦e i¦: Le¦~::le:
D:uc¦e: i: Ñel. .u: \e:[ugu:g
3.ó.ó Treiberautcmatik einricbten
Sobald Sie aber versuchen, auI diesen Drucker zuzugreiIen, erhalten Sie zunächst
eine Warn- und anschließend eine Fehlermeldung, geIolgt von der AuIIorderung,
einen passenden Treiber Iür den Netzwerkdrucker zu installieren. Ursache daIür
ist, dass Windows die notwendigen Treiber zunächst auI dem Server sucht, diese
dort aber nicht fndet und deswegen auI die lokale Installation zurückgreiIt.
Unbekannt: De: D:uc¦e: isl .w~: [u: oe: C¦ie:l sic¦lL~:, ooc¦ es [e¦¦e: :oc¦ oie e:[o:oe:¦i
c¦e: T:eiLe: [u: oie ¦o::e¦le /:sleue:u:g
Se:ve:
1¯Z wwwlecC¦~::e¦oe
Zugegeben, in kleinen Installationen mit wenigen Druckern und aussagekräItigen
Namen ist das kein echtes Problem. Was aber, wenn aus dem Namen nicht klar
ersichtlich ist, welchen Treiber man lokal installieren muss? Auch hierIür hat
Samba in Verbindung mit CUPS eine Lösung. CUPS kann Postscript-Daten
entgegennehmen und in das vom Drucker eigentlich erwartete Format übersetzen.
Samba wiederum besitzt die Fähigkeit genau wie ein echter Windows-Server
den zu einem Drucker passenden Treiber an die Clients auszulieIern. Die Lösung
lautet also: Für ieden Drucker wird einIach ein generischer Postscript-Treiber in-
stalliert, das Übersetzen in das korrekte Format Iür den Drucker übernimmt
CUPS. Das Iunktioniert tatsächlich, auch Iür Farbtintenstrahldrucker.
3.ó.5 CUP5-Pcstscript-Treiber vcrbereiten
Bei der Wahl des Postscript-Treibers gibt es zwei Alternativen: den von CUPS
entwickelten Treiber oder die ebenIalls Irei verIügbare Variante von Adobe. Die
Version von CUPS bietet erweiterte Funktionen, unterstützt aber nur Windows
NT, 2000, XP und 2003. Das Adobe-Produkt wiederum bietet auch Support Iür
die älteren Windows-Versionen 9x/Me, wartet iedoch nicht mit zusätzlichen
Funktionen auI. Zum Glück lassen sich mit ein wenig Geschick auch beide Ver-
sionen parallel einrichten. Beginnen wir zunächst mit dem CUPS-Treiber.
Das größte Problem ist hierbei, dass SuSE Linux 9.0 CUPS in der Version 1.1.19
enthält. Für diese ist der Windows-Postscript-Treiber nicht mehr über die Websei-
ten des CUPS-Proiekts erhältlich, er kann nur per FTP bezogen werden. Down-
load und Grundinstallation sind mit wenigen BeIehlen erledigt:
wget ftp.//ftp.cups.org/pub/cups/windows/
±cups-samba-I.I.I¬.tar.gz
tar -xvzf cups-samba-I.I.I¬.tar.gz
./cups-samba.install
Nachdem das Installations-Script seine Arbeit beendet hat, befnden sich im Ver-
zeichnis /usr/share/cups/arivers die später benötigten Treiberdateien cups.hlp,
cupsarvr.all und cupsui.all.
3.ó.ó Adcbe-Treiber für Windcws 9x vcrbereiten
Etwas schwieriger gestalten sich die Vorbereitungen Iür den Adobe-Treiber zur
Unterstützung von Windows 9x/Me. Leider bietet Adobe seinen Postscript-Trei-
ber nämlich nicht als extrahierbares Archiv, sondern lediglich als installierbare
Exe-Datei an. Daher benötigen Sie einen Rechner unter Windows, um an die Trei-
berdateien zu gelangen. Laden Sie also ie nach Betriebssystem auI dem Windows-
Rechner den Treiber Iür Windows 9x/Me (http://download.adobe.com/pub/adobe/
printerdrivers/win/4.x/drivers/aps426deu.exe) oder die Version Iür Windows NT,
2000, XP (http://download.adobe.com/pub/adobe/printerdrivers/win/1.x/winst
1¯o weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
ger.exe) herunter und installieren Sie anschließend einen Dummy-Drucker auI
dem Client. Suchen Sie danach auI LauIwerk C: nach der Datei ADOBEPS4.DRJ.
Wechseln Sie dann in das Verzeichnis, in dem die Datei geIunden wurde. Dort
sollten Iolgende sechs Dateien vorhanden sein: ADFONTS.MFM, ADOBE
PS4.DRJ, ADOBEPS4.HLP, DEFPRT2.PPD, ICONLIB.DLL und PSMON.DLL.
Diese transIerieren Sie wiederum auI Ihren Linux-Printserver in das Treiberver-
zeichnis /usr/share/cups/arivers. Am einIachsten geht das über eine auI dem Sam-
ba-Server eingerichtete Freigabe.
Windcws-taugIicb:
De: [oslsc:i¡l
T:eiLe: vo: /ooLe
e:l¦~¦l D~leie: [u:
\i:oows 'x/Me
sowie oie oZDil
Svsle:e \i:oows
ÑT, ZOOO u:o \[
3.ó.7 Treiber-DcwnIcad aktivieren
Sind nun alle Daten im Treiberverzeichnis von CUPS abgelegt, stellt sich die Fra-
ge, wie die Clients nun an die Treiber kommen. Die Antwort lautet: über eine spe-
zielle Ressource des Samba-Servers. Allerdings reicht es dazu nicht, einIach in
der Samba-Konfguration eine weitere DateiIreigabe auI das Verzeichnis mit den
Treibern zu defnieren so einIach macht es uns MicrosoIt nicht. Eine zusätzliche
Sektion in /etc/samba/smb.conf ist trotzdem nötig:
(printS¦
path ¬ /etc/samba/drivers
browsable ¬ yes
guest ok ¬ no
read only ¬ yes
write list ¬ root, Ontadmin
Da das Verzeichnis /etc/samba/arivers noch nicht existiert, müssen Sie es zu-
nächst noch anlegen und mit den richtigen Rechten versehen:
Se:ve:
1¯/ wwwlecC¦~::e¦oe
mkdir /etc/samba/drivers
chmod ISS /etc/samba/drivers
Unterhalb dieses Verzeichnisses erwarten die MicrosoIt-Betriebssysteme eine
spezielle Struktur, in der iede Windows-Variante die Iür sie bestimmten Treiber
vorfndet. Anstatt diese nun per Hand zu erzeugen und die Dateien an die richtige
Stelle zu kopieren, bedienen Sie sich lieber des HilIsprogramms cupsaaasmb:
cupsaddsmb -a
Sie werden nach dem Passwort Iür den Samba-User root geIragt. Sollte dies mehr
als einmal passieren, dann ist der Superuser noch nicht in der Benutzerdatenbank
von Samba enthalten. Das ist kein Beinbruch, der BeIehl smbpasswd -a root
behebt das Problem.
Wenn Sie ietzt in das Verzeichnis /etc/samba/arivers wechseln und dort per ls ein
Directory-Listing abruIen, sehen Sie, dass cupsaaasmb dort zwei neue Verzeich-
nisse angelegt hat: WIN40 und W32X86. Das erste Directory enthält die Treiber
Iür Windows 9x/Me, im zweiten fnden sich die CUPS-Treiber Iür die 32-Bit-Ver-
sionen von Windows. Zusätzlich sind Dateien vorhanden, die den Namen der un-
ter CUPS defnierten Drucker und die Namenserweiterung .ppa tragen.
Autcmatiscb: D~s Uli¦ilv cu¡s~oos:L e:.eugl oie ¦o::e¦le \e:.eic¦:issl:u¦lu: i::e:¦~¦L oe:
¡:i:l$F:eig~Le u:o ¦o¡ie:l oie :olwe:oige: T:eiLe:o~leie:
1¯¯ weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
Im Hintergrund hat das Utility cupsaaasmb also ganze Arbeit geleistet. Nicht nur,
dass es die korrekte Verzeichnisstruktur erzeugt hat. Zusätzlich wurden auch die
Einstellungen Iür die gesamten Drucker richtig gesetzt und die notwendigen Trei-
berdateien an die von den Clients erwartete Stelle kopiert.
Starten Sie nun den Samba-Dämon per /etc/init.d/smb restart neu. So-
bald Sie ietzt auI einen von diesem Server bereitgestellten Drucker zugreiIen,
wird nach dem obligatorischen Warnhinweis der Druckertreiber automatisch
auI dem Client installiert.
3.ó.8 0ucten für Druckaufträge
Der Lohn der Mühe ist nicht nur die Arbeitserleichterung, da die manuelle Instal-
lation der Treiber auI den Clients entIällt. Zumindest Iür Clients unter Windows
NT, 2000, XP und 2003 stehen Ihnen nun auch erweiterte Optionen zur Kontrolle
der DruckauIträge zur VerIügung.
So können Sie beispielsweise über verschiedene Limits Iestsetzen, wie viele
Druckiobs ein Client in einem defnierten Zeitraum absetzen kann oder wie groß
das Volumen der AuIträge während einer Periode sein darI. Das ist unter anderem
sinnvoll, um zu verhindern, dass die Anwender Einladungen zu privaten Feiern
auI dem Farbdrucker ausgeben, kann aber auch Iür die Umlage der Druckkosten
auI einzelne Abteilungen dienen.
Soll zum Beispiel verhindert werden, dass auI dem Drucker ai940c von einem
User mehr als 20 Seiten pro Woche gedruckt werden, dann lässt sich das über ein
einIaches Kommando erreichen:
lpadmin -p dj940c -o job-quota-period¬¬04800 -o
±job-page-limit¬?0
Wollen Sie hingegen das Druckvolumen Iür den Drucker x4510 auI zwei Mega-
byte pro Tag begrenzen, dann wäre dies die richtige Syntax:
lpadmin -p x4SI0 -o job-quota-period¬8¬400 -o
±job-k-limit¬?048
Derzeit hat dieses VerIahren allerdings noch einige Nachteile. So können die Li-
mits nur global vergeben werden, sie wirken sich also Iür alle User gleich aus.
Zudem ist CUPS noch nicht in der Lage, beim Druck auItretende Fehler zu be-
rücksichtigen. Tritt also beispielsweise bei der Ausgabe eines hundertseitigen Do-
kuments auI der zweiten Seite ein Papierstau auI, werden dem Anwender trotz-
dem 100 Seiten auI das virtuelle Konto gebucht.
Mit der Version 1.2 von CUPS sollen diese Mängel behoben werden. Da sich die-
se derzeit noch in Entwicklung befndet, sollten Sie iedoch zumindest in Produk-
tivumgebungen von ihrem Einsatz Abstand nehmen.
Se:ve:
1¯o wwwlecC¦~::e¦oe
3.ó.9 Den Zugang bescbränken
Mit der bislang beschriebenen Konfguration erhält ieder Anwender ZugriII auI
alle Drucker egal ob es sich um einen User im lokalen Netz handelt oder um ei-
nen Benutzer, der von einer völlig anderen IP-Adresse aus seine AuIträge schickt.
Nun macht es zwar wenig Sinn, vom Internet aus Dokumente auI Iremden Dru-
ckern auszugeben. Über passend modifzierte Printiobs kann man Drucker aller-
dings auch lahm legen und so den ArbeitsablauI eines Unternehmens empfndlich
stören. Die einIachste Maßnahme gegen einen derartigen AngriII ist die Be-
schränkung des ZugriIIs auI einen Iestgelegten Bereich von IP-Adressen. Dazu ist
es lediglich erIorderlich, die Sektion [printers{ der Samba-Konfguration um eine
BeIehlszeile zu erweitern:
hosts allow ¬ I9?.I¬8.0.0/?4
Mit diesem BeIehl schränken Sie den ZugriII auI Rechner ein, die eine IP-Adres-
se aus dem Subnetz 192.168.0.x besitzen. Wenn Sie wollen, dass sich die Anwen-
der vor der Nutzung des Druckers auch am Server anmelden müssen, ist die Zeile
mit der Anweisung guest ok zu ändern:
guest ok ¬ no
Etwas auIwendiger wird es, wenn nicht alle am Server defnierten Drucker Iür alle
Anwender sichtbar sein sollen. Bisher hat die Samba-Ressource [printers{ daIür
gesorgt, dass alle unter CUPS bekannten Drucker automatisch im Netz bereitge-
stellt werden. Um dieses Verhalten zu ändern, muss [printers{ gelöscht und ieder
Drucker als eigene Ressource defniert werden. Entsprechende Einträge Iür die
Drucker ai940c und x4510 wären also:
(dj940c¦
path ¬ /var/spool/samba
browsable ¬ no
guest ok ¬ no
writeable ¬ no
printable ¬ yes
valid users ¬ Ograñk
printer admin ¬ root, Ontadmin
(x4SI0¦
path ¬ /var/spool/samba
browsable ¬ no
guest ok ¬ no
writeable ¬ no
printable ¬ yes
printer admin ¬ root, Ontadmin
Durch das Setzen der Option valid users ¬ Ograñk erhalten lediglich die An-
wender ZugriII auI den Farbdrucker, die Mitglieder in der Linux-Benutzergruppe
grahk sind, während der normale Laserdrucker sämtlichen Usern zur VerIügung
1¯¯ weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
steht. Wie anhand des Beispiels zu sehen ist, können die Spool-Verzeichnisse Iür
die einzelnen Drucker auI dasselbe lokale Directory zeigen. Es lassen sich aller-
dings auch separate Verzeichnisse Iür ieden Drucker angeben.
3.ó.10 Drucken mit Windcws-Treibern: ¥crarbeiten
Obwohl CUPS recht leistungsIähig ist und inzwischen nahezu 700 Drucker direkt
unterstützt, kann es vorkommen, dass DruckauIträge über den generischen Post-
script-Treiber nicht richtig auI Papier gebracht werden. In diesem Fall ist es rat-
sam, Iür den betroIIenen Drucker den spezifschen Windows-Treiber zu verwen-
den. Dieser lässt sich leicht mit HilIe des Wizards .Drucker hinzuIügen' von
Windows NT, 2000 oder XP auI dem Samba-Server installieren wenn auch in
einer nicht ganz logischen Art und Weise. Um das zu demonstrieren, richten Sie
zunächst per lpaamin einen neuen Druckereintrag zum Beispiel Iür den am
USB-Port angeschlossenen HP Deskiet ein:
lpadmin -p drvtest -E -P /usr/share/cups/model/HP/Deskjet_
±940C-cdj9I0.ppd.gz
lpadmin -p drvtest -v usb./dev/usb/lp0
Wichtig ist, dass Sie diesem Drucker keinen herunterladbaren Treiber zuordnen,
also das HilIsprogramm cupsaaasmb nicht ausIühren. Da nun Windows-spezif-
sche Treiber installiert werden, müssen Sie zusätzlich CUPS darauI vorbereiten,
dass es nun nicht mehr nur Postscript-Daten, sondern zusätzlich bereits Iür den
ieweiligen Drucker auIbereitete Rohdaten verarbeiten können soll. Dazu ist ie-
weils eine Änderung in den beiden Dateien /etc/cups/mime.convs sowie /etc/cups/
mime.tvpes notwendig. Ziemlich am Ende dieser Dateien fndet sich eine auskom-
mentierte Zeile, die Sie durch EntIernen des Kommentarzeichens aktivieren:
=Diese Zeile aktivieren, damit CUPS auch Rohdaten
± verarbeitet
application/octet-stream application/vnd.cups-raw 0 -
Jetzt müssen Sie noch CUPS per /etc/init.d/cups restart und Samba per
/etc/init.d/smb restart neu starten, damit sie die Änderungen erkennen.
3.ó.11 Windcws-Treiber auf dem 5erver instaIIieren
Ist das erledigt, starten Sie auI einem Rechner unter Windows NT, 2000 oder XP
den Explorer und öIInen dort die Netzwerkumgebung. Navigieren Sie zu Ihrem
Samba-Server. Melden Sie sich als Benutzer root mit dem unter Linux Iür den Su-
peruser vergebenen Passwort am Samba-Server an und wechseln Sie auI diesem
in das Verzeichnis .Drucker und Faxgeräte'. Es ist wichtig, dass Sie wirklich in
dieses Verzeichnis wechseln und nicht den Drucker auswählen, der Ihnen bereits
in der Ressourcen-Übersicht Iür den Samba-Server präsentiert wird.
Se:ve:
1¯8 wwwlecC¦~::e¦oe
¥crbereitung: Dei oe: ¦:sl~¦¦~lio: oe: D:uc¦e:l:eiLe: isl es vo: Deoeulu:g, o~ss Sie .u:~c¦sl
i: o~s \e:.eic¦:is D:uc¦e: u:o F~xge:~le ~u[ oe: Se:ve: wec¦se¦:
Hier ruIen Sie per Klick mit der rechten Maustaste das Kontextmenü des zuvor
eingerichteten Druckers arvtest ab und wählen den Punkt .EigenschaIten'.
UngewëbnIicb: U: oe: D:uc¦e:l:eiLe: i:sl~¦¦ie:e: .u ¦o::e:, :uss oie F:~ge, oL oe: T:eiLe:
i:sl~¦¦ie:l we:oe: so¦¦, :il Ñei: Le~:lwo:lel we:oe:
AuI die nun Iolgende Frage, ob Sie die nicht vorhandenen Treiber Iür den gewähl-
ten Drucker installieren möchten, antworten Sie unbedingt mit .Nein'. Das er-
scheint zwar unlogisch, ist aber die einzige Möglichkeit, Iür diesen Drucker den
in Windows integrierten Wizard zum Upload der Treiber auI den Server zu akti-
vieren. Er verbirgt sich auI der Karteikarte .Erweitert' hinter .Neuer Treiber'.
RccbIaden: Die ¦~:lei¦~:le E:weile:l e:l¦~¦l oie
0¡lio: Ñeue: T:eiLe:, uLe: oie ei: U¡¦o~o vo:
D:uc¦e:l:eiLe:: ~u[ oe: Se:ve: :og¦ic¦ isl
1¯' weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
Da wir Iür unser Beispiel einen HP-Deskiet 940 verwendet haben, wählen Sie den
passenden Treiber aus der nun dargestellten Übersicht aus. Ein Klick auI die
Schaltfäche .Weiter' startet die Installation des Treibers. Diese erIolgt nun aber
nicht etwa lokal, sondern auI dem Samba-Server, wie der PIad Iür das Ziel der
Kopieraktion unschwer erkennen lässt.
ZieI auf dem 5erver: De: gew~¦¦le T:eiLe:
wi:o :ic¦l ¦o¦~¦, so:oe:: ~u[ oe: Se:ve:
i:sl~¦¦ie:l, wie oe: Zie¦¡[~o Leweisl
Damit sind aber erst die Treiber Iür Windows NT, 2000 und XP auI den Server
übertragen. Um auch Iür Windows 95, 98 und ME die notwendigen Dateien auI
dem Server zur VerIügung zu stellen, wechseln Sie auI die Karteikarte .Freiga-
be'. Unter Windows XP kann es sein, dass Sie dort zunächst die FreigabeIunktion
aktivieren müssen, bevor Sie an .Zusätzliche Treiber' herankommen.
6ut versteckt: ¦i:le: oe:
Sc¦~¦l[~c¦e Zus~l.¦ic¦e
T:eiLe: ve:Li:gl sic¦ oie
0¡lio: .u: ¦:sl~¦¦~lio: vo:
T:eiLe:: [u: ~:oe:e \i:
oows\e:sio:e:
Markieren Sie hier die Option .Windows 95, 98 und ME' und quittieren Sie Ihre
Wahl mit einem Klick auI den Button .Weiter'. Windows Iragt Sie nun nach dem
Speicherort der zu transIerierenden Treiberdateien. Diese müssen Sie sich in der
Se:ve:
1oO wwwlecC¦~::e¦oe
Regel von der Website des Druckerherstellers besorgen und hoIIen, dass dieser
entweder direkt entpackbare Archive anbietet oder die meist anzutreIIende Instal-
lationsroutine lediglich ein Verzeichnis mit den Treibern erzeugt, anstatt diese
gleich auI dem Rechner einzurichten. Nach einer weiteren Bestätigung startet der
DateitransIer, diesmal in das Verzeichnis auI dem Samba-Server, aus dem die 16-
Bit-Versionen von Windows ihre Treiber erwarten.
5cnderweg: Die 0¡lio:
Zus~l.¦ic¦e T:eiLe:
gesl~llel ~uc¦ o~s Ü Le:
l:~ge: vo: T:eiLe:: [u:
\i:oows\e:sio:e:, oie
~:oe:e Rec¦:e:~:c¦ile¦
lu:e: u:le:slul.e:
Fremdtreiber: Si:o T:ei
Le: [u: ~:oe:e Del:ieLs
svsle:e .u i:sl~¦¦ie:e:,
:usse: oiese ~u[ oe:
¦o¦~¦e: Fesl¡¦~lle vo:¦~:
oe: sei:
Wie gewünscbt: D~s
Zie¦ve:.eic¦:is \¦Ñ/O
Le¦egl, o~ss |el.l wi:¦¦ic¦
T:eiLe: [u: \i:oows '¯, '8
u:o ME ~u[ oe: S~:L~
Se:ve: uLe:l:~ge: we:oe:
1o1 weLcooe. ~1oo¯
Li:ux ~¦s [:i:lse:ve:
Damit ist das Einrichten der Treiber auI dem Printserver beendet. Sobald sich nun
ein Windows-Client auI einem Rechner mit Intel-Architektur am Samba-Server
anmeldet, erhält er automatisch die passenden Treiber von dort installiert.
3.ó.12 Fazit
Seit den ersten AnIängen hat sich Samba nicht nur zu einem leistungsIähigen File-
server, sondern auch zu einem äußerst fexiblen Printserver Iür Windows-Clients
gemausert. Große Teile dieser Funktionalität verdankt es dem hervorragenden
Drucksystem CUPS, andere Bereiche wie die automatische Installation der Trei-
ber auI den Clients und die gelungene Integration mit CUPS sind das Verdienst
der engagierten Entwickler. Insgesamt lässt sich mit HilIe von Samba mittlerwei-
le ein Windows-Server wirklich vollständig ersetzen, und das auI meist weniger
leistungsIähiger Hardware und mit deutlich geringeren Kosten. Demgegenüber
steht nur der anIangs etwas höhere AdministrationsauIwand ein Manko, dem
man mit ein wenig Lernwillen leicht begegnen kann.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux als Printserver a!335 5.!ó8
Linux als windows-5erver a!33ó 5.!38
Linux als windows-5erver (5amba 2.xl þ2ó8 -
Linux als Printserver (5amba 2.xl a372 -
5erver-Konsolidierung unter Linux a!27O -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:ss
Se:ve:
1oZ wwwlecC¦~::e¦oe
3.7 HanueIIe Updates für den 5L05
Mit dem tecCHANNEL-Compact 04/2003 haben wir einen vollwertigen SuSE
Linux OIfce Server (SLOS) ausgelieIert. SuSEs damals gerade auslauIendes OI-
fce-Server-Komplettpaket ist auI starke Resonanz gestoßen: Zahlreiche Leser
haben das inzwischen durch den NachIolger SuSE Linux Standard Server abge-
löste Produkt installiert.
Der Sinn und Zweck des Angebots eine kostenlose Möglichkeit, den SLOS auI
die Tauglichkeit zur eigenen Verwendung zu prüIen wurde durch einige nach-
träglich entdeckte Sicherheitslücken allerdings teilweise relativiert. AuI Grund
der Lizenzbestimmungen, die keinerlei Update Iür die im tecCHANNEL-Com-
pact gelieIerte Version vorsehen, hegen einige Leser nicht ganz zu Unrecht gewis-
se Bedenken hinsichtlich des Testeinsatzes. Andere kommen gar erst ietzt zu einer
Installation des SuSE Linux OIfce Server und wollen vorher zumindest die
gröbsten Löcher gestopIt wissen.
Ohne ZugriII auI SuSEs Update-Pakete existiert iedoch kein .Königsweg' Iür
eine Aktualisierung der SLOS-Pakete. Mit etwas Handarbeit lassen sich aller-
dings die ärgerlichsten Sicherheitslücken mit HilIe von Irei verIügbaren Quellen
und Paketen stopIen.
Wie das Iunktioniert, fnden Sie im Folgenden beschrieben. Wir haben die ange-
botenen Workarounds im tecCHANNEL-Netzwerklabor so weit wie möglich auI
Funktionalität getestet. Eine Garantie Iür das Funktionieren oder gegen eventuell
auItretende Datenverluste können wir allerdings nicht übernehmen. Sie patchen
also auI eigene GeIahr.
Zudem möchten wir noch einmal ausdrücklich betonen, dass die beschriebenen
Updates ausschließlich dazu dienen sollen, den anstehenden Betrieb in nicht mis-
sionskritischen Umgebungen zu ermöglichen. Der mit dem tecCHANNEL-Com-
pact ausgelieIerte SuSE Linux OIfce Server eignet sich mangels automatischer
Patch-Möglichkeit nicht Iür Mission-Critical-Umgebungen. Falls Sie ihn im Lau-
Ie des Betriebs Iür so nützlich befnden, dass Sie einen dauerhaIten Produktivein-
satz anstreben, sollten Sie schon aus Gründen der Security die AnschaIIung des
erweiterten NachIolgeprodukts SuSE Linux Standard Server überdenken.
3.7.1 5icberbeitsIücken im 5L05-KerneI
Der ausgelieIerte SLOS operiert mit einem Kernel der Versionsnummer 2.4.7. In
dieser, aber auch in späteren Varianten wurden einige Sicherheitslücken entdeckt,
über die im Wesentlichen AngreiIer aus dem lokalen und externen Netz ihre Rech-
te ausweiten oder einen Denial oI Service vornehmen können.
Eine der beiden gravierendsten Lücken wird durch die Art und Weise verursacht,
in der Routing-InIormationen verarbeitet werden. Flutet der AngreiIer das Linux-
System mit Paketen, die geIälschte Quelladressen enthalten, so steigt durch das
1oo weLcooe. ~1ooo
M~:ue¦¦e U¡o~les [u: oe: SL0S
Cache-Handling die CPU-Last massiv an. Durch sorgIältiges Aussuchen der ge-
Iälschten Adressen kann der AngreiIer Hash-Kollisionen beim Auswerten der
Routing-Tabelle provozieren und mit nur 400 Paketen pro Sekunde das Linux-
System lahm legen. Grundsätzlich Iunktioniert der AngriII aber auch mit zuIällig
generierten Quelladressen, der AngreiIer muss dann nur mehr Pakete senden.
Auch Systeme, die den Datenverkehr über iptables sichern, sind vor dieser Deni-
al-oI-Service-Attacke nicht sicher.
Die zweite gravierende Lücke beruht auI einer Reihe von Fehlern im SystemauI-
ruI execve(), die neben einer externen DoS-Attacke auch lokalen Benutzern eine
Ausweitung ihrer Rechte ermöglicht. Hinzu kommen Schwächen im Spanning
Tree Protocol STP, das iedoch beim SLOS wohl kaum zum Einsatz kommt. Schon
geIährlicher ist die Möglichkeit zur Manipulation der Forwarding-Tabelle, die ein
AngreiIer aus dem lokalen Netz über geIälschte Pakete ausnutzen könnte.
3.7.2 Update auf KerneI 2.ó.2ó
Nicht nur die genannten, sondern auch eine Reihe weiterer Fehler und Glitches
teils sicherheitsrelevant, teils nicht lassen sich durch eine Aktualisierung auI die
neueste Kernel-Version beheben. Zu Redaktionsschluss dieses Compacts war das
Linux 2.4.24, mit dem wir im Folgenden operieren werden. Alle AusIührungen
sollten prinzipiell aber auch Iür spätere Kernel-Versionen der 2.4er Serie gelten.
Im ersten Schritt besorgen Sie sich auI Kernel.org die aktuellen Kernel-Sourcen,
die als Tarball rund 26 MByte groß sind. Diese speichern Sie im Verzeichnis /usr/
src ab und entpacken sie anschließend mittels des Kommandos tar xvviI linux-
2.4.24.tar.bz2. Die ausgepackten Dateien landen ohne weiteres Zutun in einem
Folder namens linux-2.4.24. In diesen wechseln Sie ietzt und ruIen über den Be-
Iehl make xconfg die komIortable, grafsche Kernel-Konfguration auI.
Einstiegspunkt: /¦s /usg~:gs¦o:[gu:~lio: [u: oe: :eue: ¦e::e¦ ¦~oe: wi: oie vo: SuSE i:
\e:.eic¦:is /Lool ~Lge¦egle: Ei:sle¦¦u:ge:
Se:ve:
1o/ wwwlecC¦~::e¦oe
Als Grundeinstellung Iür den neu zu kompilierenden Kernel können Sie die Vor-
gaben nutzen, die SuSE in der Datei /boot/vmlinuz.confg abgelegt hat. Dazu la-
den Sie die Einstellungen über den Menüpunkt .Load Confguration Irom File'
der Kernel-Konfguration. Einen Punkt müssen Sie gegenüber den SuSE-Vorga-
ben aber noch ändern. Über die Schaltfäche .File systems' erreichen Sie die Set-
tings Iür die einzubindenden Dateisysteme. Dort ist das vom SLOS verwendete
ReiserFS als Modul (.m') eingebunden. Dies ändern Sie auI .y', um ReiserFS
gleich Iest in den Kernel einzubinden.
DefauIt-FiIesystem: Die Ei:sle¦¦u:g [u: Reise:FS isl vo: : wie :oou¦~: ~u[ v .u
~:oe:: Dies Li:oel o~s De[~u¦lD~leisvsle: oes SL0S [esl i: oe: ¦e::e¦ ei:
Zwar nicht zwingend notwendig, aber sinnvoll ist es, noch etwas mehr Zeit in das
Kernel-Setup zu investieren. Mit ein wenig MehrauIwand lassen sich zahlreiche
Iür den SLOS im Allgemeinen und den verwendeten Rechner im Speziellen nicht
notwendige Komponenten abschalten. Dies ergibt einerseits einen schlankeren
Kernel und senkt andererseits den ZeitauIwand Iür die Kompilierung.
Typische Kandidaten Iür das Eliminieren sind beispielsweise die TeleIonie-Unter-
stützung (.Telephony Support'), die AmateurIunk-Funktionen (.Amateur Radio
support'), das IrDA-Subsystem (.IrDA (inIrared) support') oder die Unterstüt-
zung Iür Bluetooth (.Bluetooth support'). Je nach den im Rechner verwendeten
Komponenten lässt sich auch auI die Unterstützung Iür SCSI (.SCSI support',
1o¯ weLcooe. ~1ooo
M~:ue¦¦e U¡o~les [u: oe: SL0S
.Fusion MPT support'), I2O (.I2O device support'), Firewire (.IEEE 1394 (Fire-
wire) support') oder ISDN (.ISDN subsystem') verzichten. Ein gründliches Aus-
misten nicht benötigter Treiber unter .Network device support' spart ebenIalls
einiges an Kompilierungszeit.
Zum Abschluss speichern Sie vor dem Verlassen des Konfgurationsprogramms
die Settings über den Schalter .Store Confguration to File' zur späteren Wieder-
verwendung in eine Datei ab. Als Lagerort drängt sich dazu /boot geradezu auI,
gepaart mit einem .sprechenden' Dateinamen wie etwa .vmlinuz.confg. 2.4.24'.
Anschließend verlassen Sie das Konfgurationsprogramm über .Save and Exit',
was die Settings auch Iür den Iolgenden Compiler-LauI bereitstellt.
3.7.3 KcmpiIieren und InstaIIieren des KerneIs
Immer noch im Quellenverzeichnis also /usr/src/linux-2.4.24 starten Sie die
Kompilierung unseres neuen Kernels über den BeIehl .make dep clean bzImage'.
Danach erstellen Sie die Module über das Kommando .make modules'. Ein an-
schließendes .make install' kopiert einige wichtige Systemdateien um. Den neu-
en Kernel übertragen Sie aus dem Verzeichnis, in dem er erstellt wurde, in den
Folder /boot. Dazu dient das Kommando .cp /usr/src/linux-2.4.24/arch/i386/boot/
bzImage /boot/vmlinuz-2.4.24'. Der abschließende BeIehl .make modulesin-
stall' sorgt Iür die korrekte Einbindung der erstellten Module.
Nun gilt es nur noch, den neuen Kernel auch dem Bootloader LILO bekannt zu
machen. Dazu öIInen Sie die Datei /etc/lilo.conI und duplizieren dort den obers-
ten Eintrag Iür das Bootimage. Danach modifzieren Sie den kopierten Abschnitt
Iür unseren neuen Kernel. Der entsprechende Teil der lilo.conI sieht dann so aus:
(...)
image ¬ /boot/vmlinuz-?.4.?4
label ¬ Linux ?.4.?4
root ¬ /dev/hda<partitionsnummer>
initrd ¬ /boot/initrd
image ¬ /boot/vmlinuz
(Eintråge fùr Standard-Kernel ...)
Nach dem Speichern der modifzierten lilo.conI aktivieren Sie den neuen Eintrag
durch AuIruI des BeIehls .lilo'. Damit haben Sie den neu erstellten Kernel als
standardmäßig zu bootenden Kernel aktiviert. Ein nun Iolgender Neustart des
Rechners zieht das System mit dem Irisch kompilierten Linux-Kern hoch hoI-
Ientlich. Falls nicht, dann haben Sie beim Einstellen der Kernel-Optionen einen
Schnitzer begangen. Kein Drama in diesem Fall starten Sie das System einIach
mit dem ia immer noch vorhandenen SuSE-Kernel neu und wiederholen den Ein-
stellungs- und KompilierungslauI.
Se:ve:
1oo wwwlecC¦~::e¦oe
3.7.ó Weitere Updates
Mit dem Update des Kernels auI die aktuellste Version haben Sie bereits einige
kritische Linux-Schwachstellen beseitigt, die ein böswilliger Systembenutzer
oder ein AngreiIer aus dem lokalen Netz zum Einbruch in den Server nutzen
könnte. Nun gilt es noch, einige wesentliche Scharten in wichtigen Server-Diens-
ten zu stopIen, die einem externen AngreiIer Ansatzpunkte zur Kompromittierung
des Systems lieIern könnten.
Dazu greiIen wir nicht auI die entsprechenden Quelldateien zu, sondern nützen zu
unserer Bequemlichkeit die Tatsache aus, dass der SLOS über seine Basis SuSE
Linux Enterprise Server 7 eng mit dem .klassischen' SuSE Linux 7 verwandt ist.
Daher besorgen wir uns direkt die Binaries im klassischen BinärIormat aus einer
der üblichen Update-Quellen Iür SuSE Linux 7. Eine passende Adresse daIür ist
beispielsweise Itp.suse.com, wo die entsprechenden Dateien im PIad /pub/suse/
discontinued/i386/update/7.3 lagern.
Als Voraussetzung Iür diese kleine Update-Orgie müssen Sie zunächst einmal die
GNU C Library glibc in der Version 2.2.4 einspielen: Einige der nachIolgenden
Pakete benötigen diese Version als Basis. Dabei stopIen Sie ganz nebenbei auch
gleich noch ein Sicherheitsloch, über das AngreiIer aus dem lokalen Netz Denial-
oI-Service-Attacken vornehmen oder im schlimmsten Fall sogar beliebigen Code
auI dem System ausIühren könnten.
Das entsprechende RPM-Paket laden Sie per FTP aus dem Unterverzeichnis a1
des oben angegebenen PIades:
> ftp ftp.suse.com
(...)
ftp> cd /pub/suse/discontinued/i·8¬/update/I.·/aI
(...)
ftp> get glibc-?.?.4-I8.i·8¬.rpm
(...)
Nach dem Download spielen Sie mit dem BeIehl:
> rpm -Uvh glibc-?.?.4-I8.i·8¬.rpm
das heruntergeladene Paket ein. Anschließend starten Sie mit einem brachialen
.init 6' das System neu. Diese Vorgehensweise ist nur nach dem Einspielen der
glibc notwendig: andernIalls würde unter anderem die Benutzeranmeldung mo-
mentan nicht mehr Iunktionieren.
Ansonsten gilt die beschriebene Vorgehensweise mit FTP-Download und Einspie-
len via RPM-Paketmanager auch Iür die im Folgenden geschilderten Pakete und
wird daher dort nicht mehr gesondert beschrieben.
1o¯ weLcooe. ~1ooo
M~:ue¦¦e U¡o~les [u: oe: SL0S
3.7.5 sendmaiI l pcsthx
Eigentlich gehört das Versenden von Mails nicht zum vorgesehenen Funktions-
umIang des SLOS. In unserem SLOS-Compact haben wir iedoch ausIührlich be-
schrieben, wie Sie den Maildaemon zum EmpIang und Versand elektronischer
Nachrichten auI dem SuSE Linux OIfce Server einrichten können.
Die mit dem SLOS gelieIerte Release von sendmail weist iedoch, wie etliche Ver-
sionen aus der 8er Serie des Programms, eine gravierende Schwachstelle in der
Funktion prescan() auI, über die ein AngreiIer einen PuIIerüberlauI provozieren
und so in das System eindringen kann.
Diese Lücke können Sie beseitigen, indem Sie aus dem Update-Unterverzeichnis
n1 das Paket sendmail-8.11.6-167.i386.rpm herunterladen und installieren. Falls
Sie die Variante mit TLS-Unterstützung (Transport Layer Security) verwendet ha-
ben sollten, besorgen Sie sich stattdessen aus dem Unterverzeichnis sec2 das Pa-
ket sendmail-tls-8.11.6-169.i386.rpm.
Eventuell haben Sie statt sendmail die verbreitete Alternative postfx zum Mail-
Transport eingesetzt. Dieser MTA weist ebenIalls zwei gravierende Schwachstel-
len auI, über die externe AngreiIer einen Denial oI Service hervorruIen oder an
InIormationen über das System gelangen können. Daher empfehlt sich in diesem
Fall eine Aktualisierung auI postfx-20010228pl08-22.i386.rpm, das Sie im Up-
date-Unterverzeichnis n2 fnden.
3.7.ó rsync
Über eine Schwachstelle in dem in SLOS enthaltenen rsync kann beim Betrieb als
Daemon ein externer AngreiIer das System kompromittieren. Ein Heap-ÜberlauI
ermöglicht das Einspeisen und AusIühren beliebigen Codes im Rechtekontext des
rsync-Servers.
Eine gewisse Bekanntheit hat diese Sicherheitslücke dadurch erlangt, dass sie in
Kombination mit einer Kernel-Schwachstelle dazu benutzt wurde, die Server des
Debian-Proiekts zu knacken. Das soll uns natürlich nicht passieren. Daher laden
wir aus dem Unterverzeichnis n2 das Paket rsync-2.4.6-499.i386.rpm herunter
und spielen es über RPM ein.
3.7.7 pptpd
In die Kategorie VPN Iällt der pptpd (Point-to-Point Tunneling Protocol Dae-
mon), der die VerbindungsauInahme über das gleichnamige Protokoll zu Win-
dows-Maschinen unterstützt. In den engeren Funktionskreis des SLOS Iällt der
Daemon zwar nicht aber wer weiß, vielleicht haben Sie ihn aus praktischen
Gründen doch auIgesetzt.
Se:ve:
1o8 wwwlecC¦~::e¦oe
Die mit dem SLOS gelieIerte Version Iällt allerdings durch einen Ganzzahlüber-
lauI unangenehm auI, über den ein externer AngreiIer SystemzugriII erlangen
könnte. Daher lohnt sich ein Update mit dem Paket pptpd-1.1.2-412.i386.rpm, das
sich im Unterverzeichnis n3 befndet.
3.7.8 cpenssb l cpenssI
Für größere AuIregung nicht nur in der Linux-Gemeinde sorgte Ende September
2003 die Iast gleichzeitige Entdeckung gravierender Sicherheitslücken in den ia
gerade zur Absicherung von Systemen eingesetzten Zugangs- beziehungsweise
Verschlüsselungspaketen OpenSSH und OpenSSL.
Obwohl verschiedener Natur, haben beide Schwachstellen ähnliche EIIekte: Ein
AngreiIer kann den Dienst im .besten' Fall blockieren, im schlimmsten Fall so-
gar in das System eindringen. Die mit SLOS ausgelieIerten OpenSSH- und
OpenSSL-Pakete zählen leider zu den verwundbaren Versionen.
AbhilIe schaIIen die Pakete openssh-2.9.9p2-156.i386.rpm und openssl-0.9.6b-
158.i386.rpm, die sich beide im Update-Unterverzeichnis sec1 fnden.
Wicbtige Update-Pakete im ÜberbIick
FcIder Paket ¥ektcr Angriff
a! glibc-2.2.ó-78.i386.rþm lok. Netz 0o5. 5ystemzugriff
n! sendmail-8.!!.6-!67.i386.rþm extern 5ystemzugriff
n2 þostñx-2OO!O228þlO8-22.i386.rþm extern 5ystemzugriff
n2 rsync-2.ó.6-ó77.i386.rþm extern 5ystemzugriff
n3 þþtþd-!.!.2-ó!2.i386.rþm extern 5ystemzugriff
sec! oþenssh-2.7.7þ2-!56.i386.rþm extern 0o5. 5ystemzugriff
sec! oþenssl-O.7.6b-!58.i386.rþm extern 0o5. 5ystemzugriff
sec2 sendmail-tls-8.!!.6-!67.i386.rþm extern 5ystemzugriff
3.7.9 Fazit
Mit einigen wenigen Paket-Updates aus gut zugänglichen Quellen lassen sich die
gravierendsten beim SuSE Linux OIfce Server auIgelauIenen Sicherheitslücken
stopIen. Ein entsprechend bereinigtes System versieht derzeit im Netzwerklabor
von tecCHANNEL klaglos seinen Dienst. Jede mögliche System- und Dienste-
konfguration zu evaluieren, übersteigt aber deutlich die technischen und vor allen
Dingen zeitlichen Möglichkeiten einer Redaktion. Deswegen lauIen auch alle ge-
schilderten Updates unter der Kategorie .ohne Gewähr'.
1o' weLcooe. ~1ooo
M~:ue¦¦e U¡o~les [u: oe: SL0S
Noch einmal betonen möchten wir, dass die vorgestellten Fehlerbereinigungen
einzig dem Zweck dienen sollen, den Betrieb des (inzwischen, wie schon erwähnt,
bereits ausgelauIenen) SuSE-Linux-Business-Produkts auch ohne größeres Ner-
venfattern noch etwas zu verlängern.
Falls der SLOS sich Iür Ihre Einsatzzwecke als so brauchbar erwiesen hat, dass
Sie nicht mehr auI ihn verzichten wollen, dann sollten Sie den käufichen Erwerb
des NachIolgeprodukts SuSE Linux Standard Server ernsthaIt in Erwägung zie-
hen. Es erweitert nicht nur die Fähigkeiten des SLOS, sondern schließt auch
gleich ein Jahr bequemer Online-Updates über das SuSE Maintenance Web ein
zu einem nicht übertriebenen Preis von 520 Euro.
Max Pratz
Zu: /ulo:. M~x [:~l. isl seil 1''O ~¦s [:eiLe:u[ic¦e: [:og:~::ie:e: u:o Co:su¦l~:l [u:
Ñel.we:¦ u:o ¦:le::elT¦e:e: i: Mu:c¦e: l~lig /:Leilssc¦we:¡u:¦le oes seil Mille oe:
8Oe: J~¦:e .u:~c¦sl Lei Digil~¦ Eoui¡:e:l u:o s¡~le: ~¦s 0esc¦~[ls[u¦:e: [u: ei: ¦¦ei:e:es
Mu:c¦:e: Svsle:¦~us l~lige: [:~l. si:o vo::e¦:¦ic¦ oe: Se:ve:Ei:s~l. vo: Li:ux, Ñel.
we:¦sic¦e:¦eil sowie \L/Ñs
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Hanuelle Uþdates für 5L05 a!336 5.!62
5erie: 5u5E Linux 0fñce 5erver a!!87 -
Test: 5u5E Linux 0fñce 0esktoþ a!!76 -
Kernel-Tuning für Linux a83O -
Linux-Bootkonñgurationen þ5ó6 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Ñel.we:¦
1¯O wwwlecC¦~::e¦oe
ó. Netzwerk
Auch wenn Linux sich zunehmend Iür den Client-Einsatz eignet, so ist das Haupt-
anwendungsgebiet Iür das Ireie Betriebssystem immer noch der Einsatz als Server
oder als Router/Firewall. In diesem Kapitel fnden Sie zum einen eine Lösung Iür
Linux als Router in kleinen und mittleren Netzen. Hier geht es um einen DSL-
Router mit automatischem Fallback auI ISDN und einer Firewall auI Basis von
Iptables. Die Besonderheit an diesem Setup ist die Unterstützung von rudimentä-
ren Mechanismen Iür Quality oI Services, obwohl IPv4 das im Standard eigent-
lich gar nicht vorsieht. Der dritte Abschnitt dieses Kapitels beschäItigt sich mit
Fli4L. Dieses System erlaubt es, per Windows-Anwendung einen Linux-Router
.zusammenzuklicken', der auI eine Diskette passt und nur wenig Grundkenntnis-
se erIordert. Hauptsächliches Einsatzgebiet Iür diese Lösung sind kleine SOHO-
Netze oder Außenstellen, die per Internet an ein Firmen-LAN anzubinden sind.
ó.1 Linux aIs Pcuter
Gerade die umIangreichen NetzwerkIunktionen haben Linux den ErIolg auI Ser-
vern beschert. Genauso gut lassen sich diese Fähigkeiten auch Iür einen DSL-
oder ISDN-Router nutzen. Eine moderne Linux-Distribution enthält alles, was der
Anwender Iür die Arbeit im Netzwerk braucht. Dazu zählt bei SuSE Linux 9.0
auch die Anbindung des Rechners an das Internet per DSL oder ISDN. Standard-
mäßig ist diese Funktion so ausgelegt, dass Sie damit problemlos einen einzelnen
Rechner ins Internet bringen. Mit nur wenig AuIwand an Zeit und Hardware kön-
nen Sie den LeistungsumIang aber auch erweitern, um so mit HilIe von Linux aus
einem älteren Rechner einen Router Iür ein Heim- oder Firmennetz zu machen.
ó.1.1 Die Rardware vcrbereiten
Für den Router brauchen Sie lediglich einen Computer, der mit einer Pentium-
CPU arbeitet (233 MHz reichen aus), idealerweise über 256 MByte RAM verIügt,
eine kleine Festplatte mit zirka 4 GByte besitzt und in dem sich zwei Netzwerk-
karten befnden. Zur Installation empfehlt sich ein CD-LauIwerk, das Sie nach
Abschluss der Aktion wieder anderweitig verwenden können. Bei den Netzwerk-
karten sollten Sie darauI achten, zwei unterschiedliche Fabrikate zu verwenden.
Das ist zwar nicht zwingend notwendig, erleichtert aber später die Zuordnung der
Netzwerkschnittstellen erheblich und minimiert die Fehlerquellen.
Eine dieser Karten stellt die Verbindung zum lokalen Netz her, die andere über-
nimmt den Datenaustausch mit dem DSL-Modem. Letzteres sollten Sie entweder
von Ihrem Provider erhalten oder käufich erworben haben. Da die gängigen DSL-
Geschwindigkeiten auch 10-Mbit/s-Karten nicht überIordern, genügen Iür diesen
1¯1 weLcooe. ~1oo'
Li:ux ~¦s Roule:
Teil der Anbindung billigere Adapter, wie sie derzeit Iür etwa 20 Euro in den
meisten Elektromärkten zu haben sind. Das einzige, worauI Sie beim KauI achten
sollten, ist ein vorhandener Treiber Iür Linux. Sowohl die oIt anzutreIIenden Pro-
dukte von Netgear mit einem Chipsatz von National Semiconductor wie auch di-
verse Noname-Fabrikate mit Chips von Realtek sind hier gut geeignet.
ó.1.2 Linux instaIIieren
Für einen Router empfehlt es sich, schon bei der Installation ieden überfüssigen
Ballast außen vor zu lassen. Anstatt nun aber in der Paketauswahl von SuSE das
Minimalsystem zu wählen, sollten Sie die zu installierenden Pakete besser manu-
ell anpassen. Der Router braucht weder die .KDE Desktop-Umgebung' noch die
.Büroanwendungen'. Alle notwendigen Einstellungen lassen sich nachträglich
auch über das Yast-InterIace im Textmodus erledigen. Für spätere Auswertungen
und eventuell eine grafsche Übersicht über die Aktivität auI dem Router ist ie-
doch die Installation des Webservers Apache durchaus ratsam.
Ausmisten: Dei oe: ¦:sl~¦¦~lio: oes Roule:s ¦~:: ~u[ oie g:~[sc¦e De:ul.e:oLe:[~c¦e u:o
o~s 0[[ce[:og:~:: ve:.ic¦lel we:oe:, oe: \eLse:ve: isl s¡~le: ~¦¦e:oi:gs ¡:~¦lisc¦
Im weiteren VerlauI der Installation ermittelt SuSE Linux die im PC installierten
Netzwerkkarten. Dabei schlägt die Setup-Routine in der Regel einen automati-
schen Bezug der IP-Adresse per DHCP vor. Speziell Iür den Adapter, der später
Ñel.we:¦
1¯Z wwwlecC¦~::e¦oe
die Verbindung zum lokalen Netz herstellen soll, ist dies ungeeignet. Ändern Sie
daher die Vorgabe und stellen Sie Iür diesen Adapter eine Ieste IP-Adresse ein.
Der nette NebeneIIekt dieser Vorgehensweise: Es wird gleich eine Routing-Vor-
gabe Iür Datenpakete ins LAN erzeugt. Theoretisch ist es gleichgültig, welche IP-
Adresse Sie daIür wählen. In der Praxis sind die beiden Varianten 192.168.x.1
oder 192.168.x.254 iedoch empIehlenswert. Um zu zeigen, dass es auch anders
geht, wählen wir Iür das weitere Beispiel die Adresse 192.168.27.222. Die Netz-
werkkarte, die später Iür den Datenaustausch mit dem DSL-Modem verantwort-
lich ist, belassen Sie auI den Standardeinstellungen.
¥crgabe: Die Ñel.we:¦¦~:le :il /:sc¦¦uss ~: o~s L/Ñ :uss ei:e [esle ¦[/o:esse e:¦~¦le:
ó.1.3 D5L-¥erbindung einricbten
Das Einrichten der DSL-Verbindung gestaltet sich dank Yast2 ebenIalls sehr kom-
Iortabel. Ist die zweite Netzwerkkarte bereits mit dem DSL-Modem verbunden,
wird das DSL-Gerät automatisch erkannt und zur Konfguration angeboten.
Achten Sie beim Einstellen der Parameter unbedingt darauI, dass das Modem über
die richtige Netzwerkkarte angesprochen wird. Als Einstellung Iür den Konfgu-
rationspunkt .Geräte-Aktivierung' wählen Sie am besten .Beim Booten'. Dies
bewirkt lediglich, dass das Netzwerkgerät beim Systemstart initialisiert wird, ein
VerbindungsauIbau mit dem Internet fndet dabei noch nicht statt. Somit ist diese
Variante auch Iür Anwender geeignet, die sich Iür einen zeit- oder volumenbasier-
ten DSL-TariI entschieden haben.
1¯o weLcooe. ~1oo'
Li:ux ~¦s Roule:
Nicht empIehlenswert ist dagegen die Variante .Manuell', da Sie in diesem Fall
das Netzwerk-InterIace stets manuell aktivieren müssen, bevor eine Internet-Ver-
bindung auIgebaut wird. Für Tests oder eine eventuell notwendige Fehlersuche ist
diese Einstellung iedoch durchaus nützlich. Die ebenIalls angebotene Variante
.Hot-Plug' ist Iür DSL-Modems gedacht, die am USB-Port des Rechners zum
Einsatz kommen eine Iür einen Router denkbar ungeeignete Kombination.
Autcmatiscbe Aktivierung: Zu: ¦o::u:i¦~lio: :il oe: DSLMooe: oie:l oe: .weile L/Ñ
/o~¡le: i: [C, oie /¦livie:u:g oes 0e:~ls so¦¦le oi:e¦l Lei: Sl~:l oes Co:¡ule:s e:[o¦ge:
Problemlos ist auch der Setup der Verbindungsparameter. Für die verschiedenen
Länder bietet SuSE Linux vorgeIertigte Templates zu einzelnen Providern an,
über die Sie die notwendigen Zugangsdaten gesichert im richtigen Format eintra-
gen. Das Anlegen eines neuen Account-Typs ist ebenIalls vorgesehen, so dass sich
auch Verbindungen zu Anbietern herstellen lassen, Iür die keine Vorlage existiert.
Wichtiger als das ErIassen der Zugangsdaten ist der nachIolgende Schritt: das
Einstellen der Verbindungsparameter Iür den gewählten Provider. Besitzer einer
Flatrate oder eines VolumentariIs wählen hier die Option .Dial on Demand'. Sie
bewirkt, dass der Router automatisch eine Internet-Verbindung auIbaut, sobald er
ein Datenpaket erhält, das eine Zieladresse außerhalb des lokalen Netzes besitzt.
Ist in Ihrem LAN kein eigener DNS-Server vorhanden, müssen Sie zudem die Op-
tion .Während Verbindung DNS ändern' aktivieren. Für die vordefnierten Provi-
der schlägt SuSE Linux bereits passende Adressen von DNS-Servern vor. Haben
Sie einen eigenen Zugang defniert, tragen Sie hier die Adressen der DNS-Server
Ñel.we:¦
1¯/ wwwlecC¦~::e¦oe
ein, die Ihr Provider verwendet. Entsprechende InIormationen sollten Sie in den
Unterlagen zu Ihrem DSL-Account oder auI den Webseiten Ihres Anbieters fn-
den. Die Vorgabe, die integrierte Firewall von SuSE Linux zu aktivieren, schalten
Sie zunächst ab. Damit vermeiden Sie, dass der Router auI Grund einer Ialsch
konfgurierten Firewall nicht Iunktioniert. Mit dem Aktivieren und Einstellen der
Firewall beIasst sich der nachIolgende Artikel (Kapitel 4.2). Wir beschränken uns
im Augenblick darauI, einen einIachen Router mit Network Address Translation
(NAT) Iür mehrere Clients einzurichten.
Als Wert Iür die Option .Verbindung abbrechen nach (Sekunden)' sind 300 Se-
kunden vorgegeben. Besitzer eines nach Online-Zeit abgerechneten DSL-TariIs
können hier eine Korrektur nach unten vornehmen, 60 Sekunden reichen in der
Regel vollkommen aus. Wer eine Flatrate sein Eigen nennt, schaltet die automati-
sche Trennung durch Setzen des Werts auI 0 Sekunden einIach aus.
KcstenfaIIe vermeiden: ¦: oe: Ei:sle¦¦u:ge: .u: [:ovioe: ve:Le:ge: sic¦ oie wic¦lige:
Selli:gs [u: Leo~:[sweise /:w~¦¦ u:o ~ulo:~lisc¦e T:e::u:g :~c¦ ei:e: Lesli::le: Zeil
o¦:e /¦livil~l ~u[ oe: Leilu:g
Haben Sie alle Einstellungen vorgenommen, schreibt Yast2 eine ganze Reihe von
InIormationen auI die Festplatte. Diese fnden sich als zusätzliche Netzwerk-Set-
tings in und unterhalb von /etc/svsconhg/network. Leider beschränkt sich die Set-
up-Routine aber nicht auI diese Arbeit, sondern versucht zusätzlich, die Netz-
werkparameter neu einzustellen. Theoretisch keine schlechte Idee, nur versagt das
Script in der Praxis, so dass Sie nun das Netzwerk zunächst selbst auI der Kom-
1¯¯ weLcooe. ~1oo'
Li:ux ~¦s Roule:
mandozeile per /etc/init.d/network restart neu initialisieren sollten. Da-
bei können Sie gleich selbst sehen, dass sich ein neues Netzwerk-InterIace mit
dem Namen asl0 zu den bestehenden gesellt hat. Seine Verwaltung übernimmt das
HilIsprogramm cinternet. Um zunächst eine Liste der verIügbaren Internet-Inter-
Iaces und anschließend den Status der DSL-Verbindung anzusehen, dienen Iol-
gende BeIehle auI der Linux-Kommandozeile:
cinternet ÷I
cinternet ÷i dsl0 ÷s
Dabei ist von Interesse, dass der Status der Verbindung als .lurking' angegeben
wird. Mit anderen Worten: Der PPP-Dämon lauscht im Hintergrund auI Pakete,
die nicht Iür eine Station im LAN, sondern einen Rechner im Internet bestimmt
sind. Sobald er ein entsprechendes Paket bemerkt, startet er die Verbindung.
Gleichzeitig ist noch etwas anderes passiert: Das Standard-Routing von Internet-
Paketen läuIt nun über die IP-Adresse 192.168.99.99, wie sich über den BeIehl
route ÷n schnell nachvollziehen lässt.
Neue Wege: Ñic¦l :u: ei: :eues Ñel.we:¦¦:le:[~ce isl |el.l ve:[ugL~:, ~uc¦ o~s De[~u¦l
Rouli:g wu:oe vo: Y~slZ ~:ge¡~ssl
Wenn Sie das DSL-Modem bislang noch nicht mit der zweiten Netzwerkkarte
verbunden haben, dann ist ietzt der geeignete Zeitpunkt. Um die DSL-Verbindung
zu testen, pingen Sie einen Host an, etwa mit ping www.tecchannel.de. Nach
einer kurzen Wartezeit sollten Sie ErIolgsmeldungen erhalten.
Ñel.we:¦
1¯o wwwlecC¦~::e¦oe
ó.1.ó DefauIt-6ateway manueII einricbten
Allerdings hat bislang nur der zum Router umIunktionierte Linux-Rechner Ver-
bindung zum Internet. Wenn Sie von einem anderen Client aus versuchen, auI
Webinhalte zuzugreiIen, erhalten Sie iedoch eine Fehlermeldung. Die Ursache
daIür ist, dass die anderen Rechner noch nicht wissen, hinter welcher Adresse im
lokalen Netz sich der DeIault-Gateway versteckt. Um ihnen diese InIormation zu
lieIern, gibt es zwei Möglichkeiten: Jeden Computer manuell konfgurieren oder
einen DHCP-Server einrichten.
Sind nur zwei oder drei Rechner über den Router ins Internet zu bringen, ist der
AuIwand Iür die manuelle Konfguration vertretbar. Für PCs unter SuSE Linux ist
dies per Yast2 schnell erledigt: Unter den Einstellungen der Netzwerkkarte fndet
sich der Punkt .Routing'. Hier tragen Sie Iür den Parameter .Standardgateway'
die IP-Adresse des Routers ein Iür unser Beispiel also die 192.168.27.222. Ach-
ten Sie darauI, dass Sie der Netzwerkkarte eine IP-Adresse aus demselben Sub-
netz zuweisen. In unserem Fall sollte sie also die Form 192.168.27.x haben. Auch
die DNS-Server zum Aufösen von Host-Namen in IP-Adressen müssen Sie dem
Rechner mitteilen. Dies erIolgt über den Menüpunkt .Rechnername und Rou-
ting'. Hier tragen Sie als DNS-Server entweder die Adressen ein, die SuSE Linux
beim Einrichten des Provider-Zugangs vorgeschlagen hat, oder Sie verwenden die
Ihnen vom Provider genannten DNS-Server-Adressen.
Tcr ins Internet: D~s :~:ue¦¦e Ei:[uge: oe: /o:esse: [u: Sl~:o~:o0~lew~v u:o DÑSSe:ve:
isl :il ¦i¦[e vo: Y~slZ sc¦:e¦¦ e:¦eoigl
1¯¯ weLcooe. ~1oo'
Li:ux ~¦s Roule:
Bei Rechnern unter Windows verstecken sich die Felder Iür DNS-Server und
Standard-Gateway unter den EigenschaIten der .LAN-Verbindung'. Die Bedeu-
tung der Felder entspricht der oben Iür Linux-Rechner beschriebenen.
Fenster ins Internet:
Dei \i:oows [:oe:
sic¦ oie Selli:gs [u:
Sl~:o~:og~lew~v u:o
DÑSSe:ve: u:le:
oe: Eige:sc¦~[le:
oes ¦:le::el[:olo
¦o¦¦s
ó.1.5 DRCP-5erver einricbten
Sind mehrere Rechner mit den Einstellungen Iür das Standard-Gateway und die
zu verwendenden DNS-Server zu versorgen, bietet es sich an, einen DHCP-Ser-
ver auI dem Router einzurichten. Dazu verwenden Sie am besten die Option
.DHCP-Server' im Menü .Netzwerkdienste'. Diese stellt Iest, ob der notwendige
DHCP-Dämon bereits auI dem System installiert ist und richtet im BedarIsIall
zunächst die SoItware ein.
Im Konfgurationsmenü des DHCP-Servers sollten Sie als Erstes Iestlegen, dass
dieser beim Systemstart automatisch zu laden ist. Im nächsten Schritt legen Sie
die im LAN verwendeten Subnetze Iest. In diesem Menü erIolgt auch die Vorgabe
des Standard-Gateways und zwar über die Option .option routers'. Für unser Bei-
spiel wären die Parameter Iür .subnet', .netmask' und .option router' also
192.168.27.0, 255.255.255.0 und 192.168.27.222.
Ñel.we:¦
1¯8 wwwlecC¦~::e¦oe
Etwas komplizierter ist es, die Einträge Iür die DNS-Server vorzunehmen. Das
daIür zuständige Schlüsselwort ist in der Vorgabe der DHCP-Konfguration nicht
vorhanden. Sie müssen es daher erst hinzuIügen, was über den gleichnamigen
Schalter im Hauptmenü des DHCP-Setups erIolgt.
Wegweiser: De: \e:l [u: o¡lio: :oule: Lesli::l, u:le: we¦c¦e: ¦[/o:esse oie D¦C[
C¦ie:ls o~s Sl~:o~:o0~lew~v [:oe:
Aus der darauIhin erscheinenden Drop-down-Liste wählen Sie den Punkt .option
domain-name-servers' und bestätigen Ihre Wahl über die Schaltfäche .Ok'. Im
nun angezeigten EingabeIeld tragen Sie die DNS-Server Ihres DSL-Providers
durch Komma getrennt ein. Sobald Sie das Setup über .Beenden' verlassen, spei-
chert Yast2 die Einstellungen und startet den DHCP-Server. Jetzt müssen Sie le-
diglich Ihre Client-Rechner so einstellen, dass diese Ihre IP-Adressen und die In-
Iormationen über die Netzstruktur vom DHCP-Server beziehen. Da dies unter
Windows und Linux die Standardmethode ist, sollte also keine Arbeit anIallen.
ó.1.ó Pcuting und Hasquerading aktivieren
Ein letzter Schritt Iehlt uns ietzt noch, um den Clients im LAN eine Verbindung
ins Internet zur VerIügung zu stellen: Zum einen muss die Adressumsetzung
(NAT) aktiviert und zum anderen das Routing zwischen den beiden Netzwerkkar-
ten des Router-PCs erlaubt werden.
1¯' weLcooe. ~1oo'
Li:ux ~¦s Roule:
Zusätzlich soll der Router eingehende Pakete verwerIen, Iür die keine AnIorde-
rung aus dem lokalen Netz vorliegt. Das ersetzt zwar nicht die Funktion einer
vollwertigen Firewall, schaIIt iedoch immerhin etwas mehr Sicherheit, da kein
Client im LAN direkt von außen erreichbar ist. Eine detaillierte Darstellung der
Funktionen von Iptables fnden Sie im Iolgenden Artikel (Kapitel 4.2). Im Augen-
blick reichen die Iolgenden BeIehle aus:
/usr/sbin/iptables -A POSTROUTING -t nat -j MASQUERADE
±-o ppp0
/usr/sbin/iptables -A INPUT -j DROP -m state --state
±NEW,INVALID -i ppp0
/usr/sbin/iptables -A FORWARD -j DROP -m state --state
±NEW,INVALID -i ppp0
echo I > /proc/sys/net/ipv4/ip_forward
Das erste Kommando weist den in Linux integrierten Netflter an, ausgehende
Datenpakete so zu maskieren, dass alle AnIragen der Clients im lokalen Netz Iür
Rechner im Internet so aussehen, als kämen sie vom Router selbst. Die beiden an-
schließenden BeIehle weisen den Paketflter an, externe VerbindungsanIragen und
IehlerhaIte Pakete weder zu akzeptieren noch diese weiter zu leiten.
Der vielleicht etwas seltsam anmutende EchobeIehl schließlich sorgt daIür, dass
der Linux-Kernel Datenpakete zwischen den im Router-PC installierten Netz-
werkkarten weiter leitet. Aus Sicherheitsgründen ist diese Funktion nämlich nor-
malerweise deaktiviert. Für einen Router ist sie iedoch unerlässlich.
Nun haben Sie sicherlich keine große Lust, diese BeIehle nach iedem Neustart des
Routers neu einzugeben. Kein Problem, das VerIahren lässt sich auch automatisie-
ren. Erzeugen Sie dazu unter SuSE Linux im Verzeichnis /etc/ppp/ip-up.a eine
Datei mit beliebigem Namen wie etwa natan und tragen Sie dort die oben ge-
nannten BeIehle ein. Zusätzlich müssen Sie als erste Zeile den so genannten
Bang-Path eintragen, damit die Kommandos auch ausgeIührt werden:
=!/bin/bash
Versehen Sie die Datei noch mittels chmod ISS nat_an mit dem Attribut .Aus-
Iührbar', und ab soIort werden die Einstellungen automatisch geladen, sobald der
AuIbau einer Internet-Verbindung erIolgt. Analog dazu lassen sich der NAT-Mo-
dus und die Paketweiterleitung zwischen den Netzwerkkarten beim Trennen der
Internet-Verbindung automatisiert abschalten. Erzeugen Sie dazu einIach im Ver-
zeichnis /etc/ppp/ip-aown.a die Datei nataus mit Iolgendem Inhalt:
=!/bin/bash
/usr/sbin/iptables ÷F
echo 0 > /proc/sys/net/ipv4/ip_forward
Markieren Sie auch diese Datei über das Kommando chmod ISS nat_aus als
ausIührbar, und das Routing zwischen den beiden Karten ist abgeschaltet, da in
der Variablen ipforwara der Wert 0 gespeichert wurde.
Ñel.we:¦
18O wwwlecC¦~::e¦oe
ó.1.7 I5DN-FaIIback einricbten
Gerade Iür Unternehmen ist es wichtig, dass der Zugang zum Internet stets ver-
Iügbar ist. Nun ist DSL zwar eine ausgereiIte Technik, doch Irei von AusIällen ist
auch sie nicht. Hardware-Router der gehobeneren Klasse bieten daher die Mög-
lichkeit, bei einer Störung der DSL-Verbindung automatisch auI eine NotIallan-
bindung per ISDN umzuschalten. Vergleichbares ist auch mit Linux realisierbar.
Voraussetzung daIür ist ein von Linux unterstützter ISDN-Adapter.
Die Konfguration erIolgt wieder über Yast2. Wählen Sie unter .Netzwerkgeräte'
den Punkt .ISDN' und konfgurieren Sie dort den Adapter, der Ihnen als neu er-
mitteltes Gerät angezeigt wird. Wichtig ist dabei, dass Sie ein neues SyncPPP-Ge-
rät anlegen und diesem in dessen Einstellungsdialog den Startmodus .Onboot'
zuweisen sowie die Firewall-Optionen deaktivieren. Das Feld .Eigene TeleIon-
nummer' können Sie getrost ignorieren. Es ist nur relevant Iür Fälle, in denen Sie
eine Einwahl auI den Rechner gestatten wollen.
I5DN für den NctfaII: /uc¦ o~s ¦SDѦ:le:[~ce so¦¦ oi:e¦l Lei: Svsle:sl~:l ~¦livie:l we:oe:,
oie Fi:ew~¦¦Ei:sle¦¦u:ge: so¦¦le: [u: oe: Ñ/TRoule: oe~¦livie:l sei:
Weiterhin ist es wichtig, dass Sie in den Iolgenden Einstellungen die Option .Dial
on Demand' deaktiviert lassen. AndernIalls würde der Router versuchen, sowohl
eine DSL- als auch gleichzeitig eine ISDN-Verbindung herzustellen. Im ZweiIel
kann das teuer werden, da es oIt erst bemerkt wird, wenn die nächste TeleIonrech-
nung eintriIIt. Aus demselben Grund ist es ratsam, die Option .Verbindung tren-
nen nach (Sekunden)' auI 60 einzustellen.
181 weLcooe. ~1oo'
Li:ux ~¦s Roule:
Beim Speichern der Einstellungen legt Yast2 ein weiteres Netzwerkgerät an, dies-
mal mit dem Namen ippp0. Wie Sie mit dem AuIruI von cinternet -I schnell
überprüIen, ist dieses InterIace inaktiv, erkennbar am Status .i' in der entspre-
chenden Zeile. Wenn Sie möchten, können Sie die Verbindung testen, indem Sie
das DSL-InterIace deaktivieren und das ISDN-InterIace starten:
cinternet ÷i dsl0 ÷O
cinternet ÷i ippp0 ÷A
Nicbt autcmatiscb wäbIen: D~ oie ¦SDÑ/:Li:ou:g :u: ei: F~¦¦L~c¦ isl, :uss oie Di~¦o:
De:~:o0¡lio: oe~¦livie:l sei:, u: ei:e: ~ulo:~lisc¦e: \e:Li:ou:gs~u[L~u .u ve:¦i:oe::
Was noch Iehlt, ist ein Script, das beim AusIall der DSL-Verbindung automatisch
auI ISDN umschaltet. Erzeugen Sie dazu per mkdir ÷p /root/scripts ein
Verzeichnis und legen Sie in diesem die Datei aslmon mit Iolgendem Inhalt an:
=!/bin/bash
PRI¬"dsl0"
PRI_IF¬"ppp0"
SEC¬"ippp0"
SEC_IF¬"ippp0"
NAT_UP¬"/etc/ppp/ip-up.d/nat_an"
Ñel.we:¦
18Z wwwlecC¦~::e¦oe
NAT_DN¬"/etc/ppp/ip-down.d/nat_aus"
return_status() ¦
ISTAT¬`cinternet -i SIFACE -s | awk ,/status./ ¦gsub(".*.
","",S?),print S?¦`
¦
if ( -f /tmp/dslstatus ¦, then
. /tmp/dslstatus
else
DSTATE¬up
ñ
case SDSTATE in
up)
IFACE¬SPRI
return_status
case SISTAT in
lurking|connected)
DSTATE¬up
,,
connecting|*)
for ((i¬0,i<S,i++)), do
sleep I
return_status
case SISTAT in
lurking|connected)
DSTATE¬up
break
,,
disconnected)
DSTATE¬down
break
,,
*)
DSTATE¬down
,,
esac
done
,,
*)
DSTATE¬down
,,
esac
case SDSTATE in
up)
,,
down)
/usr/bin/cinternet -i SPRI -O
18o weLcooe. ~1oo'
Li:ux ~¦s Roule:
SNAT_DN SPRI_IF
/usr/bin/cinternet -i SSEC -A
for ((i¬0,i<S,i++)), do
IFACE¬SSEC
sleep I
return_status
case SISTAT in
lurking|connected)
DSTATE¬isdn
break,
,,
*)
DSTATE¬down
,,
esac
done
,,
esac
echo DSTATE¬SDSTATE > /tmp/dslstatus
,,
down)
/usr/bin/cinternet -i SPRI -A
for ((i¬0,i<S,i++)), do
IFACE¬SPRI
sleep I
return_status
case SISTAT in
lurking|connected)
DSTATE¬up
break
,,
*)
DSTATE¬down
,,
esac
done
case SDSTATE in
up)
,,
down)
/usr/bin/cinternet -i SPRI -O
SNAT_DN SPRI_IF
/usr/bin/cinternet -i SSEC -A
IFACE¬SSEC
for ((i¬0,i<S,i++)), do
sleep I
return_status
case SISTAT in
lurking|connected)
Ñel.we:¦
18/ wwwlecC¦~::e¦oe
DSTATE¬isdn
break
,,
*)
DSTATE¬down
,,
esac
done
,,
esac
echo DSTATE¬SDSTATE > /tmp/dslstatus
,,
isdn)
/usr/bin/cinternet -i SPRI -A
IFACE¬SPRI
for ((i¬0,i<S,i++)), do
sleep I
return_status
case SISTAT in
lurking|connected)
DSTATE¬up
break
,,
*)
DSTATE¬isdn
,,
esac
done
case SDSTATE in
up)
/usr/bin/cinternet -i SSEC -O
SNAT_DN SSEC_IF
SNAT_UP SPRI_IF
,,
*)
,,
esac
echo DSTATE¬SDSTATE > /tmp/dslstatus
,,
esac
Das Script müssen Sie natürlich nicht abtippen. Sie können es von unserer Home-
page über den Webcode .linuxcompact~ zusammen mit den anderen Scripts und
Beispielkonfgurationen herunterladen. AuI der beigelegten CD fnden Sie das
Script im Ordner /extras. Um den DSL-Monitor zu aktivieren, benötigen Sie nun
noch einen Eintrag in der Datei /etc/crontab:
= DSL-Monitor starten
*/I * * * * root /root/scripts/dslmon
18¯ weLcooe. ~1oo'
Li:ux ~¦s Roule:
Nach einem Neustart des Cron-Dämons per rccron restart prüIt das Script
iede Minute den Status der DSL-Verbindung. Stellt es eine Störung Iest, versucht
es automatisch, die Backup-Verbindung per ISDN herzustellen. Ist dies erIolg-
reich, probiert das Script anschließend, den DSL-Zugang wieder zu aktivieren.
Gelingt dies, schaltet es die ISDN-Verbindung ab und nutzt wieder den schnellen
Zugang. Den aktuellen Status der Verbindung können Sie der vom Script erzeug-
ten Datei /tmp/dslstatus entnehmen. Der Wert up bedeutet, dass der Zugang per
DSL aktiv ist, isdn zeigt an, dass die Backup-Variante genutzt wird. Schlecht ist
es, wenn sich in der Datei der Status down fndet. In diesem Fall konnte weder per
DSL noch via ISDN ein Internet-Zugang hergestellt werden.
Einen kleinen Haken hat dieses VerIahren allerdings noch: Es kann bis zu IünI
Minuten dauern, bis die DSL-Verbindung eine gestörte Leitung signalisiert. Erst
dann kann das Monitor-Script seine AuIgabe wahrnehmen. Ganz störungsIrei
lässt sich ein Problem mit der DSL-Verbindung also nicht abIangen.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux als Router a!338 5.!7O
Linux als Firewall a!337 5.!86
|nternet-Router im Eigenbau þ!2OO 5.!77
TCP/|P-Netze mit Linux þ562 -
TCP/|P-6rundlagen þ2O7 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
Ñel.we:¦
18o wwwlecC¦~::e¦oe
ó.2 Linux aIs FirewaII
Angst vor AngriIIen aus dem Internet muss nicht sein: Der im Linux-Kernel inte-
grierte Paketflter erlaubt den AuIbau einer leistungsIähigen Schutzlösung und
gestattet es auch, den internen Anwendern ein wenig auI die Finger zu schauen.
Wer eine Verbindung zum Internet auIbaut, begibt sich potenziell in GeIahr.
Kaum eine Woche vergeht, ohne dass in Fernsehen, Radio und Presse über einen
neuen Virus, Wurm, Troianer oder diverse Sicherheitslücken im Betriebssystem
des Rechners selbst berichtet wird.
Nun lässt sich das Problem vermeintlich leicht beheben: Schon Iür recht wenig
Geld sind mittlerweile Firewall-Router erhältlich, die Iür den Schutz der lokalen
Rechner sorgen sollen. Trotzdem gibt es gute Gründe, sich selbst näher mit dem
Thema zu beschäItigen. Einer davon ist sicherlich das gesparte Geld Iür den Rou-
ter, das man anderweitig auch gut anlegen kann.
Nicht zu unterschätzen sind aber vor allem in größeren Netzen die deutlich erwei-
terten Möglichkeiten, die eine selbst gestrickte Firewall unter Linux bietet. Neben
der fexibleren Konfguration gehört dazu auch die wesentlich bessere Protokol-
lierung der Vorgänge, was sowohl das Erkennen von AngriIIen erleichtert als auch
eine Abrechnung des Datenvolumens erlaubt. Zudem bietet eine Firewall unter
Linux die Option, auch ausgehende Verbindungen eIIektiv einzuschränken ein
Feature, das unerwünschte Filesharing-Aktivitäten der Anwender im LAN ebenso
unterbindet wie die Kommunikation von eventuell im Netz vorhandenen Troia-
nern mit ihren Heimat-Servern im Internet.
ó.2.1 5etup: Lieber vcn Rand
Dreh- und Angelpunkt einer Firewall unter Linux ist das HilIsprogramm iptables.
Dieses stellt nicht etwa selbst die Firewall-Funktionen zur VerIügung. Vielmehr
handelt es sich dabei um ein Werkzeug, das eine Schnittstelle zu der im Linux-
Kernel integrierten Netflter-Architektur herstellt. Dieses vom Netflter-Proiekt
(www.netflter.org) entwickelte System bietet alle Funktionen, die Iür den AuIbau
einer Firewall notwendig sind.
Gesteuert werden diese über diverse Optionen, die dem Utility iptables als Para-
meter zu übergeben sind. AuI diesem Weg lassen sich Verarbeitungsketten erstel-
len, die ein Datenpaket passieren muss, um weitergeleitet, verarbeitet oder auch
zurückgewiesen zu werden. Die so erstellten Regeln verwaltet der Firewall-Rech-
ner im Hauptspeicher. AuI diese Weise ist sichergestellt, dass auch im Betrieb Än-
derungen vorgenommen werden können.
Der große Vorteil der Netflter-Architektur ist allerdings gleichzeitig ihr größter
Nachteil: Sie ist so fexibel, dass ihre Arbeitsweise Iür einen Einsteiger nur schwer
zu durchschauen ist. Außerdem gibt es keine zentrale Konfgurationsdatei, die das
zu verwendende Regelwerk Iestlegt. Es fnden sich deshalb im Internet genügend
18¯ weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
HilIsprogramme, die versuchen, dem Anwender die Konfguration der Firewall zu
erleichtern. So erIreulich diese Anstrengungen auch sind, sie haben alle einen gro-
ßen PIerdeIuß: Funktioniert einmal nicht alles so wie gewünscht, Iehlt dem Be-
nutzer nach wie vor das nötige Wissen, um den Fehler lokalisieren zu können.
Speziell wenn es darum geht, nicht nur den lokalen Rechner, sondern ein ganzes
Netz zu schützen, sind viele dieser Lösungen überIordert. Das gilt auch Iür die in
SuSE Linux 9.0 integrierte Firewall. Per Yast2 lassen sich lediglich Einstellungen
Iür den lokalen Rechner treIIen. Wer mehr benötigt, muss die Konfgurationsdatei
/etc/svsconhg/SuSEhrewall2 von Hand bearbeiten. Eine AuIgabe, die ohne vor-
handenes Basiswissen auch mit HilIe der auIschlussreichen Kommentare kaum
erIolgreich lösbar ist.
Nur IckaI: Ü Le:
Y~slZ ¦~sse: sic¦
¦eoig¦ic¦ oie /s
¡e¦le oe: Fi:e
w~¦¦ ¦o:[gu:ie
:e:, oie oe:
¦o¦~¦e: Rec¦:e:
Lel:e[[e:
ó.2.2 Die Arbeitsweise vcn IptabIes
Also Irisch gewagt und auI ins Getümmel. So schwer, wie es auI den ersten Blick
erscheint, ist es wirklich nicht. Für die Iolgenden Beispiele gehen wir von einem
Rechner aus, der als Router zwischen dem Internet und dem lokalen Netz Iun-
giert. Betrachten wir nun zunächst die Wege, die ein Datenpaket durch diesen
Computer nehmen kann. Hier gibt es drei Möglichkeiten:
· Es triIIt ein Datenpaket Iür den Rechner selbst ein.
· Die ankommenden Daten sind Iür einen anderen Rechner im Netz bestimmt
und müssen weitergeleitet werden.
· Eine auI dem Computer lauIende Applikation versendet selbst Daten.
Ñel.we:¦
188 wwwlecC¦~::e¦oe
Entsprechend dieser Wege defnieren sich die drei HauptauIgaben: Entgegenneh-
men (Input), Weiterleiten (Forwara) und Versenden (Output) von Daten. Für die-
se drei AuIgaben stellt der Netflter gleichnamige Regellisten bereit, die über Ip-
tables ansprechbar sind. Diese Regellisten nennt man auch Ketten oder Chains.
Die grundsätzIicben Wege eines Datenpa-
kets aus der 5icbt des Pcuters: Ei:g~:g,
/usg~:g u:o \eile:¦eilu:g
Bei dieser Betrachtung handelt es sich aber um eine stark vereinIachte Sichtweise,
die zwei SonderIälle nicht berücksichtigt. Der Erste ist der Einsatz von Network
Address Translation (NAT). Hierbei gaukelt der Router den Gegenstellen im In-
ternet vor, dass allein er der Absender aller aus dem lokalen Netz stammenden
Daten ist. Dazu setzt er seine ihm vom Provider zugeteilte dynamische IP-Adres-
se als Absenderangabe in iedes ins Internet gehende Datenpaket ein. Damit die
von dort zurückkommenden Antworten auch wieder den richtigen Rechner im
LAN erreichen, muss also bei eintreIIenden Paketen erst die richtige EmpIänger-
adresse gesetzt werden. AndernIalls würde der Router die Pakete lokal bearbeiten,
anstatt sie wie gewünscht an den EmpIänger im lokalen Netz weiter zu leiten. Es
sind also ie nach dem Ziel der Daten zwei unterschiedliche Arbeitsschritte erIor-
derlich: Bei eintreIIenden Daten muss die Zieladresse auI den korrekten EmpIän-
ger umgestellt werden, bevor entschieden wird, ob das Paket Iür den lokalen
Rechner bestimmt ist. Bei ausgehenden Paketen ist nach allen Verarbeitungs-
schritten die Absenderadresse auI die des Routers zu setzen.
18' weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
Anpassung: Fu: ei:e e:[o¦g:eic¦e
Ñelwo:¦ /oo:ess T:~:s¦~lio: :usse:
oie D~le:¡~¦ele ei: ¡~~: .us~l.¦ic¦e
U:w~:o¦u:gssc¦:ille ou:c¦¦~u[e:
Damit auch auI diese Verarbeitungsschritte ZugriII besteht, bietet Iptables neben
den Ketten der Standardtabelle zusätzlich die Filter der Tabelle nat, die neben den
Chains Input, Out und Forwara noch die beiden Regelketten Prerouting und
Postrouting enthält. Über die Network Address Translation hinaus existiert noch
eine weitere Möglichkeit, Paketdaten zu manipulieren. Dieses .Mangling' ge-
nannte VerIahren erlaubt es, einzelnen Datenpaketen spezielle Attribute zuzuwei-
sen. Mit HilIe dieser Funktion lassen sich beispielsweise besondere Features wie
etwa rudimentäre Quality oI Services auch unter IPv4 realisieren. Damit das
Ñel.we:¦
1'O wwwlecC¦~::e¦oe
HanipuIaticn: D~s [~¦el
M~:g¦i:g ¦~:: ~: vie¦e:
Sle¦¦e: oes \e:~:Leilu:gs
¡:o.esses Ei:[uss ~u[ oie
D~le: :e¦:e:
1'1 weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
Iunktioniert, fnden sich diverse Punkte im Verarbeitungsprozess, an denen der
Mangling-Prozess einhaken kann: Vor dem AuIruI der NAT-Funktionen sowie vor
der Abarbeitung der Input-Filter. Ebenso vor dem Output wie auch dem Forward-
Filter. Für den Betrieb einer Firewall sind die Mangling-Funktionen aber von ge-
ringer Bedeutung, so dass Sie die in der Tabelle mangle vorhandenen Ketten In-
put, Output, Forward, Prerouting und Postrouting erst einmal ignorieren können.
Übrigens sind nicht nur die beiden Filtertabellen mangle und nat mit einem eige-
nen Namen versehen, auch die Standardtabelle trägt eine Bezeichnung: hlter.
Wenn Sie beim AuIruI von iptables keine explizite Angabe der Tabelle vorneh-
men, landen die neuen Regeln automatisch in der Filtertabelle.
ó.2.3 Die WWW-FaustregeI
Jetzt kennen Sie zwar den generellen AblauI der Paketflterung, wissen aber noch
nicht, worauI Sie den Filter eigentlich ansetzen können. Als Faustregel sollten Sie
sich gleich die drei großen .W' merken: .Wo kommt es her, wo will es hin, und
was will es eigentlich?'. Genau das sind die groben Kriterien, an denen sich Ip-
tables orientiert. Die Frage nach dem .Woher?' lässt sich auI zwei Arten beant-
worten: über die Schnittstelle, auI der das Paket eintraI, oder über die IP-Adresse
des Absenders. Ähnliches gilt Iür das .Wohin?'. Hier lässt sich Ieststellen, auI
welchem InterIace die Ausgabe erIolgen soll, oder aber, wer der EmpIänger der
Daten ist. Was genau das Paket schließlich will, das bestimmt der Zielport, über
den in der Regel die zuständige Applikation identifzierbar ist. Zusätzlich gibt
auch der Status des Pakets AuIschluss über seine Intention.
Eine andere Interpretation der Drei-W-Regel ist: .Wer darI was mit wem?'. Dies
ist die grundlegende Frage, die Sie sich beim AuIsetzen der Firewall-Regeln stel-
len müssen. Die einIachste Antwort darauI ist: Aus dem LAN heraus darI ieder
alle möglichen AnIragen ins Internet senden. Antworten aus dem Internet werden
an die Fragesteller weitergeleitet. UnauIgeIordert aus dem Internet eintreIIende
Pakete landen im Datengrab. Zusätzlich ist es ratsam, eine Politik nach dem Mot-
to .Was nicht explizit erlaubt ist, ist verboten' anzuwenden. Ein erster Ansatz Iür
die Firewall wäre daher Iolgendes Script, das Sie am besten als Superuser root
unter /root/fwtest1 anlegen:
=!/bin/bash
LANIF¬"eth0"
INETIF¬"ppp0"
IPTABLES¬`which iptables`
SIPTABLES ÷A INPUT ÷i SINETIF ÷m state --state NEW,INVALID
±÷j DROP
SIPTABLES ÷A FORWARD ÷i SINETIF ÷m state --state NEW,INVALID
±÷j DROP
SIPTABLES ÷A POSTROUTING ÷t nat ÷o SINETIF ÷j MASQUERADE
echo I > /proc/sys/net/ipv4/ip_forward
Ñel.we:¦
1'Z wwwlecC¦~::e¦oe
Mit diesem Script weisen Sie den Router an, einen relativ simplen NAT-Router zu
realisieren. Dabei gehen wir davon aus, dass über das InterIace eth0 die Verbin-
dung zum LAN, über ppp0 die Kommunikation mit Systemen im Internet erIolgt.
Die Unterscheidung zwischen erlaubten und verbotenen Paketen geschieht dabei
über den Zustand der Verbindung, zu der die ieweiligen InIormationen gehören.
Im Netflter-System existieren genau vier Zustände, die ein Paket haben kann:
Neu (New), Bekannt (Establishea), Verwandt (Relatea) und Ungültig (Invalia).
Von diesen können Sie den letzten Typ bedenkenlos ablehnen. Gleiches gilt meis-
tens Iür Pakete mit dem Status .New', da diese eine neue AnIrage darstellen, also
nicht durch einen Client aus dem lokalen Netz angeIordert wurden. Es bleiben
also die Varianten .Established', was zu einer bestehenden Sitzung gehörende Pa-
kete bezeichnet, und .Related', welches zu einer bestehenden Sitzung verwandte
Pakete spezifziert. Datenpakete mit diesen beiden Auszeichnungen werden von
den obigen Einstellungen sowohl Iür den lokalen Rechner (-A INPUT) als auch
Iür andere Computer im Netz (-A FORWARD) entgegengenommen und verarbei-
tet. Die Zeile mit der Anweisung -A POSTROUTING -t nat weist den Netflter
an, alle über ppp0 (-o $INETIF) ausgehenden Pakete mit der IP-Adresse des Rou-
ters zu versehen, also eine Network Address Translation vorzunehmen.
ó.2.ó Die scbärfere ¥ariante
Das gerade beschriebene Beispiel arbeitet nach dem Motto .Erlaubt ist, was nicht
verboten ist.'. Für eine Firewall, die ia dem Schutz des lokalen Netzes dienen soll,
ist das sicherlich nicht die optimale Einstellung. Die umgekehrte Arbeitsweise ist
auch nicht wesentlich auIwendiger zu realisieren, wie das Script fwtest2 zeigt:
=!/bin/bash
LANIF¬"eth0"
INETIF¬"ppp0"
IPTABLES¬`which iptables`
SIPTABLES ÷P INPUT DROP
SIPTABLES ÷P FORWARD DROP
SIPTABLES ÷A INPUT ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A INPUT ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A POSTROUTING ÷t nat ÷o SINETIF ÷j MASQUERADE
echo I > /proc/sys/net/ipv4/ip_forward
Der Unterschied liegt hier zunächst darin, dass Sie die Standardvorgabe Iür die
Verarbeitung in den Ketten INPUT und FORWARD von .erlaube alles' auI .ver-
werIe alles' geändert haben (-P ... DROP). Als Konsequenz daraus müssen Sie
den beiden Filterketten nicht nur sagen, dass aus dem Internet kommende Pakete
mit Status Establishea oder Relatea zu akzeptieren sind. Zusätzlich sind auch die
1'o weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
aus dem lokalen Netz (-i $LANIF) kommenden Pakete explizit zu genehmigen.
Um die Output-Regel brauchen Sie sich nicht zu kümmern, da das Standardver-
halten unverändert beibehalten wird. Ergo akzeptiert diese Regelkette nach wie
vor alles, was ihr angelieIert wird.
ó.2.5 Eigene 5erver einricbten
Bisher erlaubt die Konfguration eine Kommunikation der Rechner im LAN mit
Gegenstellen im Internet. Nun gibt es aber Fälle, in denen es gewünscht ist, dass
Rechner aus dem Internet Kontakt mit lokalen Gegenstellen auInehmen. Viel-
leicht wollen Sie ia einen Webserver mit InIormationen Iür GeschäItspartner be-
treiben oder einen FTP-Server zum Datenaustausch bereitstellen. Damit das Iunk-
tioniert, müssen Sie die Iür die ieweiligen Dienste eintreIIenden Daten an die
richtigen Rechner im lokalen Netz weiter leiten. Kurz: Löcher in die Firewall boh-
ren. Dazu sind sowohl Änderungen am NAT-Routing als auch am Forwarding nö-
tig. Ein Beispiel Iür einen Web- und einen FTP-Server zeigt das deutlich:
=!/bin/bash
LANIF¬"eth0"
INETIF¬"ppp0"
IPTABLES¬`which iptables`
FTP_SRV¬"I9?.I¬8.?I.I00"
HTTP_SRV¬"I9?.I¬8.?I.I0I"
SIPTABLES ÷P INPUT DROP
SIPTABLES ÷P FORWARD DROP
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport ?I
±÷j DNAT --to-destination SFTP_SRV
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport 80
±÷j DNAT --to-destination SHTTP_SRV
SIPTABLES ÷A INPUT ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A INPUT ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SFTP_SRV ÷p tcp --dport
±?I ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SHTTP_SRV ÷p tcp --dport
±80 ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A POSTROUTING ÷t nat ÷o SINETIF ÷j MASQUERADE
echo I > /proc/sys/net/ipv4/ip_forward
Das VerIahren Iunktioniert nicht nur, es zeigt auch gleich ein Problem, das gene-
rell iedem Firewall-Anwender zu schaIIen macht: Will man einen Zugang Iür ex-
terne Rechner legen, dann muss man sich vorab entscheiden, auI welchem lokalen
Computer der Dienst landen soll. Teure Firewalls umgehen das Problem, indem
sie spezielle Filter implementieren.
Ñel.we:¦
1'/ wwwlecC¦~::e¦oe
Diese erlauben es, bei BedarI Iür einen Client ein Loch in die Firewall zu bohren,
das sich nach einer gewissen Zeit wieder schließt. Dazu überwacht die Firewall
die Zielports des ausgehenden Datenverkehrs. Spricht ein Client einen bestimm-
ten Zielport an, legt die Firewall in Erwartung eingehender Daten auI anderen,
zuvor vom Administrator bestimmten Ports entsprechende Weiterleitungsregeln
an. Werden diese Ports über eine gewisse Zeitspanne nicht genutzt, schließt die
Firewall das Loch wieder. Mit Iptables ist das derzeit nicht realisierbar.
ó.2.ó Eigene Ketten dehnieren
Dagegen sind eigene Regelketten innerhalb der Filtertabelle durchaus realisierbar.
Das ist praktisch, wenn zum Beispiel der Datenverkehr nach Protokollen zu be-
arbeiten ist oder Sie einIach eine globale ProtokollIunktion einrichten möchten.
Wollen Sie etwa sehen, welche Dienste abgesehen von HTTP Ihre lokalen An-
wender noch auIruIen, dann lässt sich das recht einIach realisieren:
=!/bin/bash
LANIF¬"eth0"
INETIF¬"ppp0"
IPTABLES¬`which iptables`
FTP_SRV¬"I9?.I¬8.?I.I00"
HTTP_SRV¬"I9?.I¬8.?I.I0I"
SIPTABLES ÷P INPUT DROP
SIPTABLES ÷P FORWARD DROP
SIPTABLES ÷N log_it
SIPTABLES ÷A log_it ÷j LOG --log-preñx "Kein HTTP. "
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport ?I
±÷j DNAT --to-destination SFTP_SRV
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport 80
±÷j DNAT --to-destination SHTTP_SRV
SIPTABLES ÷A INPUT ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A INPUT ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷p tcp ! --dport 80 ÷j log_it
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SFTP_SRV ÷p tcp --dport
±?I ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SHTTP_SRV ÷p tcp --dport
±80 ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A POSTROUTING ÷t nat ÷o SINETIF ÷j MASQUERADE
echo I > /proc/sys/net/ipv4/ip_forward
Zugegeben, wirklich sinnvoll ist das noch nicht, da zum Beispiel beim ZugriII auI
einen externen FTP-Server eine Unmenge von Log-Einträgen entsteht. Es de-
monstriert aber recht schön eine andere EigenschaIt von Iptables. Nämlich die
1'¯ weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
Tatsache, dass sich Pakete umleiten lassen, ohne verloren zu gehen. Im Beispiel
wurde ia nur die neue Regelkette logit angelegt und mit einer einzigen Regel ver-
sehen dem AuIruI der Protokollierung. Hat das Paket diese durchlauIen, leitet
der Netflter es wieder zu der Kette zurück, von der aus es den Umweg begonnen
hat. Das Problem der unzähligen Log-Einträge lässt sich auI zwei Arten lösen.
Entweder geben Sie eine weitere Regel an, die FTP von der Protokollierung aus-
nimmt, oder Sie verwenden die Option, Limits zu setzen. Anstelle der einzelnen
Protokollregel sähe eine Kombination aus beidem etwa so aus:
SIPTABLES ÷A log_it ÷p tcp --dport ?I ÷m limit --limit ·/
±minute ÷j LOG --log-preñx "SSH ."
SIPTABLES ÷A log_it ÷p tcp ! --dport ?I ÷j LOG --log-preñx
±"Kein HTTP. "
ó.2.7 Ausgebende ¥erbindungen bescbränken
Komplexer wird es, wenn Sie ausgehende Verbindungen restriktiver handhaben
wollen. Die Versuchung ist groß, einIach die Policy Iür die Output-Kette auI
.Drop' zu setzen und beispielsweise nur Pakete zu Webservern zu genehmigen:
=!/bin/bash
LANIF¬"eth0"
INETIF¬"ppp0"
IPTABLES¬`which iptables`
FTP_SRV¬"I9?.I¬8.?I.I00"
HTTP_SRV¬"I9?.I¬8.?I.I0I"
SIPTABLES ÷P INPUT DROP
SIPTABLES ÷P FORWARD DROP
SIPTABLES ÷N log_it
SIPTABLES ÷A log_it ÷j LOG --log-preñx "Kein HTTP. "
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport ?I
±÷j DNAT --to-destination SFTP_SRV
SIPTABLES ÷A PREROUTING ÷t nat ÷i SINETIF ÷p tcp --dport 80
±÷j DNAT --to-destination SHTTP_SRV
SIPTABLES ÷A INPUT ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A INPUT ÷i SLANIF ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷p tcp ! --dport 80 ÷j log_it
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SFTP_SRV ÷p tcp --dport
±?I ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷d SHTTP_SRV ÷p tcp --dport
±80 ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SINETIF ÷m state --state
±ESTABLISHED,RELATED ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SLANIF ÷p tcp --dport 80 ÷j ACCEPT
SIPTABLES ÷A POSTROUTING ÷t nat ÷o SINETIF ÷j MASQUERADE
echo I > /proc/sys/net/ipv4/ip_forward
Ñel.we:¦
1'o wwwlecC¦~::e¦oe
Die Maßnahme hat nämlich nicht nur den gewünschten EIIekt. Sie verhindert eI-
Iektiv den ZugriII auI externe Mailserver und schneidet Sie damit von diesem
Kommunikationsweg ab. Je nachdem, wie Sie ihre Mail beziehen und versenden,
müssen Sie unterschiedliche Schritte ergreiIen. Die einIachste Variante ist die, bei
der ein Mailserver im LAN eingehende Nachrichten von einem externen System
bezieht und auch an dieses versendet. Hier sind beide Kommunikationspartner
bekannt und können direkt in der Konfguration berücksichtigt werden:
MAIL_INT¬¯I9?.I¬8.?I.?00¯
MAIL_EXT¬¯¬?.I4¬.·4.I94¯
SIPTABLES ÷A FORWARD ÷i SLANIF ÷s SMAIL_INT ÷d SMAIL__EXT ÷p
±tcp --dport II0 ÷j ACCEPT
SIPTABLES ÷A FORWARD ÷i SLANIF ÷s SMAIL_INT ÷d SMAIL_EXT ÷p
±tcp --dport ?S ÷j ACCEPT
Wie deutlich zu sehen ist, müssen Sie Iür ein restriktives Firewall-Setup alle An-
wendungen und deren zugehörige Ports kennen, um ein Iunktionierendes System
auI die Beine stellen zu können. Dabei sind auch die unterschiedlichen Arbeits-
weisen der Applikationen zu berücksichtigen. Sendet beispielsweise Ihr interner
Mailserver ausgehende Nachrichten direkt an die zuständigen Mailserver der
EmpIänger, müssten Sie die vierte Zeile etwas abändern:
SIPTABLES ÷A FORWARD ÷i SLANIF ÷s SMAIL_INT ÷p tcp --dport
±?S ÷j ACCEPT
ó.2.8 Trafhc-5baping
Neben den diversen Filteroperationen lässt sich Netflter dazu einsetzen, den Da-
tenstrom füssiger fießen zu lassen. Normalerweise ist es nämlich so, dass in den
aktuell verwendeten IPv4-Netzen keinerlei bevorzugte Datenpakete existieren.
Erschwerend kommt hinzu, dass die Leitung ins Internet in der Regel deutlich we-
niger Bandbreite besitzt als das LAN. Senden nun viele Anwender Daten ins In-
ternet, entsteht eine Warteschlange, in die sich die Pakete in der ReihenIolge ihres
EintreIIens einreihen. Jetzt passiert es häufg, dass vor einer eigentlich kurzen Be-
stätigung über ein eingegangenes Paket (ACK) etwa eine ziemlich umIangreiche
Mail mit einem großen Dateianhang in der Warteschlange steht. Bis das ACK-
Paket endlich an die Reihe kommt, hat die Gegenstelle längst auIgehört, auI die
Bestätigung zu warten und die Daten erneut gesendet. Mit viel Pech ereilt das
nächste ACK-Paket aber das gleiche Schicksal Iür den Anwender entsteht der
Eindruck, die Internet-Verbindung sei ausgeIallen oder zumindest gestört.
AbhilIe schaIIt hier der Hierarchical Token Bucket (HTB, http://luxik.cdi.cz/
~devik/qos/htb/), der in den neueren Kernel-Versionen bereits integriert ist. Mit
seiner HilIe lässt sich die verIügbare Upstream-Bandbreite quasi beliebig in ver-
schiedene Kanäle auIteilen. Zur Verwaltung der Kanäle nutzt HTB eine Baum-
struktur, bei der ieder Unterkanal einen eindeutigen Elternkanal besitzt.
1'¯ weLcooe. ~1oo¯
Li:ux ~¦s Fi:ew~¦¦
Wicbtiges zuerst: Mil oe: ¦ie:~:c¦ic~¦ To¦e:
Duc¦el ¦~ssl sic¦ oie D~:oL:eile i: u:le:sc¦ieo
¦ic¦ sc¦:e¦¦e ¦~:~¦e ~u[lei¦e:
Das Schöne an HTB ist, dass es den Kanälen sowohl eine garantierte Mindest-
bandbreite bietet als auch die Option, dass gerade nicht ausgelastete Kanäle ihre
Ireie Kapazität an andere Kanäle abgeben. Um beispielsweise Iür einen Standard-
DSL-Anschluss mit 128 kbit/s zwei Kanäle anzulegen, sind Iolgende Komman-
dos erIorderlich:
tc qdisc add dev ethI root handle I. htb default I0
tc class add dev ethI parent I. classid I.I htb rate I?¬kbps
tc class add dev ethI parent I.I classid I.I0 htb rate
±II0kbps ceil I?¬kbps
tc class add dev ethI parent I.I classid I.II htb rate
±I¬kbps ceil I?¬kbps
Diese Kommandos richten eine so genannte Qdisc Iür das Netzwerk-InterIace
eth1 ein, an dem das DSL-Modem angeschlossen ist. Zusätzlich wird eine Wur-
zelklasse angelegt, Iür die eine Datenrate knapp unter der LeistungsIähigkeit der
Uplink-Verbindung angegeben ist. Der Grund hierIür ist, dass sich auI diese Wei-
se der Flaschenhals vom DSL-Modem zur Netzwerkkarte verlagert. Nur dort kön-
nen Sie die notwendigen Kanäle einrichten und steuern, in welcher ReihenIolge
die Pakete zum DSL-Modem gelangen. Schließlich erzeugen die Kommandos
noch zwei Unterklassen, von denen eine von Haus aus 110 kbit/s zugeteilt be-
kommt, die andere hingegen 16 kbit/s. Über den nachgestellten Parameter ceil
126kbps teilen Sie dem System mit, dass iede der Unterklassen die volle Band-
breite nutzen darI, soIern diese verIügbar ist.
Nun müssen Sie lediglich daIür sorgen, dass durch den Router lauIende Datenpa-
kete in die richtigen Klassen einsortiert werden. Eine erste Vorauswahl fndet sich
bereits in der obigen Klassendefnition. Der Parameter deIault 10 in der ersten Be-
Iehlszeile legt Iest, dass alle nicht anderweitig markierten Pakete in der Klasse 10
des zur Qdisc 1 gehörenden Kanals landen also in dem Kanal, dem die höhere
Bandbreite zugeordnet ist. Es sind also lediglich noch die Pakete auszufltern, die
über den zweiten Kanal in den Datenstrom einzustreuen sind. Dazu müssen Sie
zunächst dem HTB-Filter mitteilen, woran er diese Pakete erkennen kann:
Ñel.we:¦
1'8 wwwlecC¦~::e¦oe
tc ñlter add dev ethI parent I. protocol ip prio I handle I
±fw classid I.II
Wichtig ist hier vor allem die Zahl, die hinter dem Parameter hanale steht, in die-
sem Fall also 1. Für ausgehende Pakete, die den Weg über die spezielle Warte-
schlange nehmen sollen, muss nun die entsprechende Markierung gesetzt werden.
Das kann wieder über den Netflter erIolgen:
SIPTABLES ÷A FORWARD ÷t mangle ÷p tcp --dport ?I ÷j MARK
±--set-mark I
SIPTABLES ÷A FORWARD ÷t mangle ÷p tcp --dport ?? ÷j MARK
±--set-mark I
SIPTABLES ÷A FORWARD ÷t mangle ÷p tcp --tcp-0ags ACK ACK
±÷j MARK --set-mark I
Damit landen alle Pakete Iür SSH-Verbindungen, FTP-Steuernachrichten und Be-
stätigungen Iür eingetroIIene Daten in der speziell Iür sie reservierten Klasse, da
sie per --set-mark I das von HTB erwartete Flag gesetzt erhalten.
ó.2.9 Eine Warnung zum 5cbIuss
Das AuIsetzen einer Iunktionierenden Firewall ist nicht sonderlich schwer. Ob das
Resultat dann aber auch sicher ist, steht auI einem anderen Blatt. Die InIormatio-
nen in diesem Beitrag können nur den Grundstein zum Verständnis des Linux-Pa-
ketflters und seiner Arbeitsweise legen. Ohne das Studium weiterer Literatur ist
die Wahrscheinlichkeit recht hoch, dass Sie eine Firewall auIsetzen, die unsiche-
rer ist als ein Gerät aus dem Elektromarkt um die Ecke.
Testen Sie Ihre Firewall gründlich und bitte nicht in einer Produktivumgebung.
Zwar sind alle hier wiedergegebenen Beispiele so ausgelegt, dass keine Probleme
auItreten sollten, eine Garantie daIür gibt es aber nicht. Im ZweiIel sind es zu-
nächst Sie, den sich die Kollegen als Sündenbock ausgucken. Denken Sie daran
und handeln Sie entsprechend.
SteIan Rubner
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux-Firewall a!337 5.!86
Linux als Router a!338 5.!7O
Firewall 6rundlagen a682 -
Linux-Firewall 6rundsicherung a675 -
Linux-Firewall mit iþchains a7Oó -
TCP/|P-Netze mit Linux þ562 -
TCP/|P-6rundlagen þ2O7 -
1'' weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
ó.3 Internet-Pcuter im Eigenbau
Ein leistungsIähiger ISDN- oder DSL-Router muss nicht teuer sein: Bauen Sie ihn
selbst mit vorhandener Hardware und kostenloser SoItware. Das Zauberwort
dazu heißt Fli4l. Ein Mini-Webserver, erweitertes Routing und Firewall-Funktio-
nen machen den Selbstbau-Fli4l-Router zu einem vielseitigen Alleskönner.
Mit nur wenig AuIwand lässt sich ein ausgedienter Rechner zu einem vollwerti-
gen, stabilen Internet-Router mit vielen interessanten Zusatzoptionen reanimie-
ren. Die nötige Funktionalität lieIert Frank Meyers Fli4l (FLoppy ISDN 4 |Ior|
Linux, www.fi4l.de), eine auI einem Linux-Kernel 2.2.22 basierende kostenlose
SoItware-Lösung, die auch Linux-Unkundigen keine Installations- oder Konfgu-
rationsprobleme bereitet.
Das Besondere an Fli4l ist, dass alle zum Betrieb notwendigen Dateien auI eine
HD-Diskette passen und somit ein stromsparender und geräuscharmer PC-Router
realisiert werden kann. Der Einsatz einer Festplatte oder CD-ROM als Bootme-
dium ist dennoch optional möglich.
Der erste Teil des Beitrags beschreibt die Grundkonfguration am Beispiel eines
DSL-Routers, mit der sich bereits alle Routing-Aktivitäten erledigen lassen. Im
zweiten Teil erläutern wir dann erweiterte Features, beispielsweise die Themen
Security oder Port-Forwarding.
Als Basiskonfguration Iür einen DSL-Router genügt bereits ein Rechner mit
80486/66-Prozessor und 16 MByte Speicher sowie einem DiskettenlauIwerk und
zwei Netzwerkkarten. Besser ist der Einsatz einer Pentium-CPU mit 32 MByte
oder mehr Arbeitsspeicher.
ó.3.1 6rundkcnhguraticn
Benötigt werden das Fli4l-Basispaket (www.fi4l.de/german/download.php, be-
sprochen wird die Version 2.0.8 vom 26.04.2003), der DHCP-Server und das
DSL-Paket. Die Archive sind mit Unterverzeichnissen zu entpacken, so dass die
im Bild ersichtliche Verzeichnisstruktur entsteht.
Falls Sie unter Windows das Programm WinZIP zum Entpacken des Archivs ver-
wenden, ist zu beachten, dass unter .Optionen -~ Konfguration -~ Verschiede-
nes' der Punkt .Umwandlung LF zu CR/LF bei TAR-Archiv' ausgeschaltet ist,
da sonst die tar-Archive nicht korrekt entpackt werden. Bei WinRAR sind keine
derartigen Einstellungen erIorderlich.
Die Konfguration des Routers erIolgt über Textdateien, die sich im Verzeichnis
ni4l-2.0.8conhg befnden. Wer eine grafsche KonfgurationshilIe bevorzugt,
wird das Zusatz-Tool fiwizNG (foppy isdn 4 linux wizard Next Generation, er-
hältlich unter www.fi4l.de/german/fiwiz.htm) zu schätzen wissen, mit dem sich
(Iast) alle Optionen komIortabel einstellen lassen.
Ñel.we:¦
ZOO wwwlecC¦~::e¦oe
Ausgepackt: Die \e:.eic¦:issl:u¦lu: oes
e:l¡~c¦le: l~:/:c¦ivs
Dieser Artikel beschreibt die Einstellung ohne das grafsche Front-End. Die wich-
tigste Konfgurationsdatei ist ni4l-2.0.8conhgbase.txt. Hier sind Iolgende Berei-
che zu modifzieren beziehungsweise zu ergänzen. Nicht auIgeIührte Sektionen
können Sie vorerst so belassen, wie sie sind:
=--------------------------------------
= General settings.
=--------------------------------------
PASSWORD¬´0i4l´
Sie sollten unbedingt ein nicht zu einIaches Passwort Ihrer Wahl setzen, um zu
verhindern, dass UnbeIugte den Router aus der Ferne manipulieren können! Da-
mit könnten sich AngreiIer fi4l so konfgurieren, dass sie letztlich ZugriII auI alle
Rechner im Netz erhalten.
ó.3.2 Netzwerkkarten
Der nächste Schritt ist die Einrichtung der benutzten Netzwerkkarten. Eine Karte
ist mit dem DSL-Modem verbunden, und die zweite stellt die Verbindung zum
Intranet her, beispielsweise über einen Switch.
=--------------------------------------
= Ethernet card drivers.
=--------------------------------------
ETH_DRV_N¬´?´
ETH_DRV_I¬´TYPI´
ETH_DRV_?¬´TYP?´
ETH_DRV_I_OPTION¬´´
ETH_DRV_?_OPTION¬´´
ZO1 weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
Handelt es sich bei den Karten um verschiedene Modelle, tragen Sie den Wert .2'
in ETHDRVN. Bei identischen Karten setzen Sie den Wert auI .1'. Letzteres
hat den Vorteil, dass nicht verschiedene Treiber geladen werden müssen.
KcmfcrtabIer: Ei:[~c¦e: ge¦l oie Ei::ic¦lu:g oe: Ñel.we:¦¦~:le :il oe: [iwi.
Weiterhin sind aus der Liste die entsprechenden Netzwerkkarten zu wählen, bei-
spielsweise ETH_DRV_x¬ne?k-pci.
Sollten Sie noch ältere ISA-Karten benutzen, tragen Sie unter dem Parameter
ETHDRVxOPTION die Werte Iür IRQ und Basisadresse ein, bei PCI-Karten
bleibt dieser Wert unbelegt.
ó.3.3 IP-Adressierung und Hasquerading
Der nächste Bereich betriIIt die IP-Adressierung: Welchen IP-Bereich nutzen Sie
in Ihrem lokalen Netz, welche Netzwerkmaske verwenden Sie und welche IP-
Adresse soll der Router erhalten? Weiterhin ist das Masquerading wichtig, mit
dem nichts anderes gemeint ist als NAT, also das Übersetzen von internen IP-
Adressen in die vom Provider zugeteilte IP und zurück. Tragen Sie dort den IP-
Bereich des lokalen Netzes ein.
Ñel.we:¦
ZOZ wwwlecC¦~::e¦oe
=--------------------------------------
= Ether networks used with IP protocol.
=--------------------------------------
IP_ETH_N¬´I´
IP_ETH_I_IPADDR¬´I9?.I¬8.I.I´
IP_ETH_I_NETWORK¬´I9?.I¬8.I.0´
IP_ETH_I_NETMASK¬´?SS.?SS.?SS.0´
=--------------------------------------
= Masquerading.
=--------------------------------------
MASQ_NETWORK¬´I9?.I¬8.I.0/?4´
ó.3.ó Dcmain Name 5ervice
Es ist empIehlenswert, auI dem Router selbst einen DNS-Server lauIen zu lassen,
der die lokalen DNS-AbIragen annimmt und nur dann einen öIIentlichen DNS-
Server kontaktiert, wenn der entsprechende Name nicht intern auIgelöst werden
kann. Weiterhin bietet es sich an, gleich mehrere öIIentliche, durch ein Leerzei-
chen getrennte DNS-Server einzutragen, so dass beim AusIall eines DNS-Servers
die InIormation bei einer alternativen Instanz angeIragt wird.
Wenn sich im Netz Rechner mit Iester IP-Adresse befnden, können Sie diesen
symbolische Namen zuordnen und sie mit der entsprechenden IP verbinden.
=--------------------------------------
= Domain conñguration.
=--------------------------------------
DNS_FORWARDERS¬´?I?.I8S.?S?.?0I I94.?S.?.I?9 I9?.I¬.I44.¬¬´
HOSTS_N¬´·´
HOST_I¬´I9?.I¬8.I.I 0i4l´
HOST_?¬´I9?.I¬8.I.? surfstationI
HOST_·¬´I9?.I¬8.I.· surfstation?
ó.3.5 5teuerung per CIient
Der imona (IsdnMONitorDaemon) ist ein äußerst hilIreicher Dienst, der mit dem
Client imonc (IsdnMONitorClient) zur Steuerung des Routers über einen Win-
dows- oder Linux-Arbeitsplatz dient. Die Dateien fnden Sie in dem Verzeichnis
ni4l-2.0.8winaowsimonc beziehungsweise ni4l-2.0.8unix.
Dazu muss auI dem Router imona gestartet werden. Das mindeste Sicherheits-
Feature ist das Setzen eines Passworts in der Variablen IMONDADMINPASS.
Sinnvoll ist es zudem, bei IMONDENABLE und IMONDREBOOT den Wert
.no' einzutragen, so dass ein imonc-Benutzer ohne Kenntnis des Passworts den
Fli4l weder neu starten noch dessen Routing ändern kann.
ZOo weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
AIIes im BIick: Ü Le: oe: i:o:o u:o oe: o~.uge¦o:ige: C¦ie:l ¦~Le: Sie ¦¦:e: Roule: u:o
~¦lue¦¦e Sl~lisli¦e: i::e: i: D¦ic¦
=--------------------------------------
= imond conñguration.
=--------------------------------------
START_IMOND¬´yes´
IMOND_ADMIN_PASS¬´´
IMOND_ENABLE¬´no´
IMOND_REBOOT¬´no´
ó.3.ó PrctckcIIierung
Der Router wird vermutlich nur in den wenigsten Fällen direkt an der Linux-Kon-
sole gewartet und überwacht. Um dennoch Warnungen, Hack-Versuche und Feh-
lermeldungen verIolgen zu können, kann man diese InIormationen an einen ande-
ren Rechner weiterleiten lassen.
Dazu dient der Systemlogdaemon (SysLogD), der Fehlermeldungen an ein oder
mehrere defnierte Ausgabegeräte schickt. Im unteren Beispiel werden die Mel-
dungen sowohl auI den Bildschirm des Routers geschrieben, als auch an den
Rechner mit der IP-Adresse 192.168.1.2 gesendet. Dort nimmt ein SysLog-Rea-
der die Daten auI Port 514 entgegen und verarbeitet sie weiter. Linux kann bereits
von Haus aus diese Meldungen verarbeiten und protokollieren, Iür Windows ist
ein eigenes Zusatzprogramm erIorderlich, wie etwa der SysLogD Iür Windows
von MikroTik (www.mikrotik.com/download.html#syslog).
Ñel.we:¦
ZO/ wwwlecC¦~::e¦oe
Wenn neben den Fehlermeldungen des Routers zusätzlich auch die Meldungen
des Linux-Kernels an den SysLog-Daemon übermittelt werden sollen, ist die Va-
riable OPTKLOGD auI .yes' zu setzen.
=--------------------------------------
= optional package. syslogd
=--------------------------------------
OPT_SYSLOGD¬´yes´
SYSLOGD_DEST_N¬´?´
SYSLOGD_DEST_I¬´*.* /dev/console´
SYSLOGD_DEST_?¬´*.* OI9?.I¬8.I.?´
=--------------------------------------
= optional package. klogd
=--------------------------------------
OPT_KLOGD¬´yes´
ó.3.7 Jabr 2000
Falls Sie im Router eine ältere, nicht Jahr-2000-Iähige Hardware verwenden,
kann Fli4l dies durch die Parameter des Iolgenden Bereichs korrigieren. In Y2K
DAYS steht die Anzahl der zu addierenden Tage. Nähere InIormationen dazu fn-
den Sie auI der Fli4l-Homepage.
=--------------------------------------
= optional package. y?k correction
=--------------------------------------
OPT_Y?K¬´yes´
Y?K_DAYS¬´´
ó.3.8 Autcmatiscbe IP-Adressvergabe mit DRCP
SoIern die im Netzwerk angeschlossenen Rechner keine Iesten IP-Adressen besit-
zen, können Sie die IP-Adressvergabe einem DHCP-Server überlassen. Das ent-
sprechende Fli4l-Paket .DHCP' wird direkt in das fi4l-Verzeichnis entpackt. Zur
Konfguration dient die Datei ni4l-2.0.8conhgahcp.txt.
Zuerst ist der DHCP-Server zu aktivieren: OPT_DHCP¬yes. Danach bestimmen
Sie den IP-Adressbereich, aus dem eine IP an einen Netzwerkrechner übermittelt
wird (DHCPRANGE1÷). Im Beispiel vergibt der DHCP-Server maximal 40
IP-Adressen aus den beiden Bereichen 192.168.1.20 bis 192.168.1.29 sowie
192.168.1.40 bis 192.168.1.69.
Falls sich der Router in einem Windows-Netz mit WINS-Service befndet, be-
schreiben die Variablen DHCPWINSSERVER1 und gegebenenIalls DHCP
WINSSERVER2 die IP-Adresse des oder der verwendeten WINS-Server.
ZO¯ weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
Um zu verhindern, dass ein über DHCP konfgurierter Client bei ieder DHCP-An-
Irage eine neue IP aus dem Adresspool erhält, kann eine IP auch Iest an die ein-
deutige MAC-Adresse einer Netzwerkkarte gebunden werden. Dies ist besonders
in den Fällen wichtig, in denen beispielsweise ein Port an eine bestimmte IP
durchgeschleiIt und immer der gleiche PC angesprochen werden soll (siehe auch
Port-Forwarding, Kapitel 4.3.14).
=---------------------------------------
= Optional package. DHCP server
=--------------------------------------
OPT_DHCP¬´yes´
IP_ETH_N¬´?´
DHCP_RANGE_I¬´I9?.I¬8.I.?0 I9?.I¬8.I.?9´
DHCP_RANGE_?¬´I9?.I¬8.I.40 I9?.I¬8.I.¬9´
DHCP_WINSSERVER_I¬´´
DHCP_WINSSERVER_?¬´´
HOSTS_N¬´·´
HOST_I¬´I9?.I¬8.I.I 0i4l´
HOST_?¬´I9?.I¬8.I.? surfstationI
HOST_·¬´I9?.I¬8.I.· surfstation? 00.00.EB.CF.··.9¬
Achten Sie bei der DHCP-Konfguration darauI, dass kein Rechner im Netz eine
der Adressen aus dem dynamischen Adresspool als Ieste IP eingetragen hat. An-
sonsten kann es passieren, dass eine IP doppelt im LAN vorhanden ist.
Wichtig: Bei eingeschalteter DHCP-Unterstützung ist unbedingt zu beachten,
dass Fli4l die DHCP-Leases auI Diskette speichern will, somit ist der Disketten-
Schreibschutz zu deaktivieren. AndernIalls würden bei einem Neustart des Rou-
ters IP-Adressen neu vergeben, die ein anderer Rechner noch benutzt, weil der
Lease noch nicht abgelauIen ist.
ó.3.9 FIióI aIs D5L-Pcuter
Nach Auspacken des DSL-Paketes ist die Datei ni4l-2.0.8conhgasl.txt zu bear-
beiten. Neben dem obligatorischen Aktivieren des Moduls über die Variable
OPTPPPOE sollte PPPOEUSEPEERDNS auI .yes' gesetzt werden. Dadurch
erreichen Sie, dass nach der Einwahl beim Provider dessen DNS-Server-Adresse
an das LAN übermittelt wird so hat man die Gewissheit, immer einen aktuellen
DNS-Server vorzufnden.
Das Wichtigste bei der Einwahl beim Provider ist die korrekte Kombination aus
User-Name und Passwort. T-Online-Kunden kombinieren die zwölIstellige An-
schlusskennung, die T-Online-Nummer sowie die ZeichenIolge .0001(t-
online.de' zu einer Zeichenkette (beziehungsweise .#0001(t-online.de', wenn
die T-Online-Nummer weniger als zwölI Stellen auIweist). Diese Zeichenkette ist
unter PPPOEUSER einzutragen. Bei PPPOEPASS ist das persönliche, achtstel-
lige T-Online-Kennwort einzusetzen.
Ñel.we:¦
ZOo wwwlecC¦~::e¦oe
=--------------------------------------
= Optional package. PPPoE
=--------------------------------------
OPT_PPPOE¬´yes´
PPPOE_USEPEERDNS¬´yes´
PPPOE_USER¬´anonymer´
PPPOE_PASS¬´surfer´
PPPOE_DEBUG¬´yes´
PPPOE_HUP_TIMEOUT¬´·00´
Falls die Ausgabe von PPPoE-Meldungen über den SysLog-Dienst gewünscht ist,
setzen Sie die Variable PPPoEDEBUG entsprechend auI .yes'. SoIern Sie nicht
Nutzer einer Flatrate sind, sollten Sie in der Variablen PPPOEHUPTIMEOUT
die Zeit in Sekunden eintragen, nach welcher der Router die Verbindung bei Un-
tätigkeit automatisch beendet im Beispiel 300 Sekunden oder 5 Minuten.
ó.3.10 ErsteIIen der Pcuter-Bcctdiskette
Nach der Konfguration aller relevanten Parameter ist es an der Zeit, eine Iorma-
tierte 1,44-Zoll-Diskette einzulegen. Unter Windows Iühren Sie die Dateien
\0i4l-?.0.8\mkclean.bat
\0i4l-?.0.8\mk0oppy.bat
aus und unter Linux
\0i4l-?.0.8\mkclean.sh
\0i4l-?.0.8\mk0oppy.sh
um das Erstellen der Bootdiskette zu starten. Bei korrekter Konfguration des
Routers startet der Kopiervorgang, ansonsten geben die Fehlermeldungen AuI-
schluss über das auIgetretene Problem. Nach dem Abschluss der Kopieraktion
haben Sie eine bootIähige Diskette, mit der Sie Ihren neuen DSL-Router umge-
hend in Betrieb nehmen können. Doch dieser kann noch nicht wirklich viel, außer
IP-Adressen im LAN zu vergeben, die Verbindung zum Internet herzustellen und
ein- und ausgehende Datenströme weiterzuleiten. Deshalb widmen wir uns in den
Iolgenden Kapiteln den SonderIunktionen von Fli4l.
ó.3.11 Erweiterte Kcnhguraticn
Nachdem die grundlegende Konfguration des Eigenbau-Routers Iertig gestellt
ist, beschäItigen wir uns nun mit den zusätzlichen Features und dem Feintuning
des Systems. Fli4l lässt sich durch sein oIIenes Konzept mittels so genannter
OPT-Module um viele nützliche Funktionen erweitern, von denen hier Iolgende
besprochen werden:
ZO¯ weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
· ÜberwachungsIunktionen
· Routing
· Firewall
· Security
· Service Iür dynamische IP-Adressen
· Port-Forwarding
· Statistik
· Zeit-Server
Damit ist die LeistungsIähigkeit des Fli4l-Systems zwar noch nicht ausgeschöpIt,
aber auI der Diskette wird es so langsam eng. Außerdem steht damit bereits ein
ausreichend Iunktionaler und abgeschirmter Router zur VerIügung.
ó.3.12 Überwacbung per Brcwser
Eine komIortable Anzeige aktueller Einstellungen und statistischer InIormationen
ist auch über einen Browser möglich. Das entsprechende Add-on ist der Mini-
Webserver httpa, dessen Konfguration Sie über ni4l-2.0.8conhghttpa.txt vor-
nehmen. Den httpa können Sie ebenIalls von der Fli4l-Homepage herunterladen.
Die Variable OPTHTTPD aktiviert den Webserver und über HTTPDPORT le-
gen Sie die Portadresse Iest, unter der er antworten soll. Der Standardport eines
Webservers ist 80, wenn Sie iedoch einen internen Webserver durch Port-Forwar-
ding im Internet zur VerIügung stellen wollen, muss der httpa auI einem anderen
Port lauschen. Die Portadresse 8080 ist dabei ein guter Wert, da man sie sich ein-
Iach merken kann. Auch hier gilt, dass in der Konfguration nicht auIgeIührte Be-
reiche so belassen werden, wie sie sind:
=---------------------------------------------
= Optional package. HTTP-Server for Monitoring
=---------------------------------------------
OPT_HTTPD¬´yes´
HTTPD_PORT¬´8080´ = Standard. 80
ó.3.13 DynDN5 - 5ervice für dynamiscbe IP-Adressen
Falls Sie interne Dienste im Internet verIügbar machen wollen, sind die vom Pro-
vider zugeteilten dynamischen IP-Adressen hinderlich, da es zu mühselig wäre,
die neue Adresse nach ieder Einwahl allen Interessenten einzeln mitzuteilen.
Hier bietet es sich an, einen Service wie etwa DynDNS (www.dyndns.org) zu nut-
zen, der in der einIachsten, aber ausreichenden Variante kostenlos ist. Dieser Ser-
vice wandelt eine dynamische IP-Adresse, die von OPTDYNDNS automatisch
Ñel.we:¦
ZO8 wwwlecC¦~::e¦oe
bei ieder Router-Einwahl gemeldet wird, in eine Iür Sie reservierte Domain wie
meinepage.avnans.org um. Schon sind Ihre Dienste im Web unter diesem Do-
main-Namen iederzeit erreichbar. Das entsprechende Zusatzpaket nennt sich
OPTDYNDNS und wird nach dem Extrahieren des Archivs über die Datei ni4l-
2.0.8conhgavnans.txt konfguriert:
=-------------------------------------------
= Optional package. dyndns
=-------------------------------------------
OPT_DYNDNS¬´yes´
DYNDNS_N¬´I´
DYNDNS_PROVIDER_I¬´DYNDNS´
DYNDNS_USER_I¬´LOGIN-NAME´
DYNDNS_PASSWORD_I¬´PASSWORT´
DYNDNS_HOST_I¬´meine_page´
DYNDNS_DOMAIN_I¬´dyndns.org´
OPTDYNDNS unterstützt neben DynDNS noch weitere Anbieter von dynami-
schen Domain-Diensten, so dass Sie den Iür Ihren Einsatzzweck geeignetsten
Dienstleister auswählen können.
ó.3.1ó Pcrt-Fcrwarding
Sollen Server und Dienste, die im internen Netz betrieben werden, auch im Inter-
net sichtbar sein, müssen die entsprechenden Ports durch die Firewall hindurch zu
dem Rechner geleitet werden, der im LAN den Dienst anbietet.
Dazu aktivieren Sie zuerst in der Datei ni4l-2.0.8conhgbase.txt das Basispaket
OPTPortFW. Weiterhin laden Sie das zusätzliche OPT-Paket PortFWup von der
Fli4l-Homepage, entpacken es im Fli4l-Verzeichnis und setzen danach in der Da-
tei ni4l-2.0.8conhgportfwup.txt die Variable OPTPORTFWUP auI .yes':
=--------------------------------------
= Optional package. PORTFW
= If you set OPT_PORTFW¬´yes´,
= you can also edit opt/etc/portfw.sh
=--------------------------------------
OPT_PORTFW¬´yes´
=--------------------------------------
= Optional package. PORTFWUP
=--------------------------------------
OPT_PORTFWUP¬´yes´
Das PortFWup-Modul ruIt beim Start des Routers ein Script auI, welches das Ein-
tragen und Aktivieren der Port-Forwardings übernimmt. Für die eigentlichen
Portregeln ist das Script ni4l-2.0.8optetcportfw.sh zu editieren. Im Beispiel auI
der nächsten Seite sollen sieben Ports zu zwei PCs durchgeschleiIt werden:
ZO' weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
· Port 20, TCP FTP-Data (FTP-Server)
· Port 21, TCP FTP-Control (FTP-Server)
· Port 80, TCP HTTP (Webserver)
· Port 4662, TCP eMule/eDonkey
· Port 4672, UDP eMule/eDonkey
· Port 6699, TCP WinMX
· Port 6257, UDP WinMX
ó.3.15 Pcrt-Fcrwarding BeispieI
Zunächst defnieren Sie in portfw.sh die IP-Adressen der Server im LAN, auI de-
nen die Dienste lauIen, die im Internet zu sehen sein sollen.
=--------------------------------------
= Deñne your PCs to forward ports to.
=--------------------------------------
hiddenhostI¬I9?.I¬8.I.?
hiddenhost?¬I9?.I¬8.I.·
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip ?0 -R
± ShiddenhostI ?0
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip ?I -R
± ShiddenhostI ?I
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip 80 -R
± ShiddenhostI 80
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip 4¬¬? -R
± Shiddenhost? 4¬¬?
/usr/sbin/ipmasqadm portfw -a -P udp -L Sip 4¬I? -R
± Shiddenhost? 4¬I?
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip ¬¬99 -R
± Shiddenhost? ¬¬99
/usr/sbin/ipmasqadm portfw -a -P udp -L Sip ¬?SI -R
± Shiddenhost? ¬?SI
Die darauI Iolgenden Zeilen (/usr/sbin/ipmasqaam) legen Iest, welches Protokoll
(TCP oder UDP) ieweils zu berücksichtigen ist. Nach der Variable Sip geben Sie
den Port an, der vom Internet aus sichtbar ist. SoIern auI dem internen Rechner
die gleiche Portnummer genutzt werden soll, tragen Sie hinter der Variablen
Shiddenhostx den gleichen Port ein. Es steht Ihnen iedoch auch Irei, intern eine
andere Portadresse zu verwenden. Beispielsweise würde mit der Iolgenden Zeile
der externe Port 1111 intern auI den Webserver-Port 80 umgewandelt, etwa um
zwei verschiedene Webserver im LAN ansprechen zu können:
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip IIII -R
± Shiddenhost? 80
Ñel.we:¦
Z1O wwwlecC¦~::e¦oe
Wenn Sie die VerIügbarkeit der nun Ireigegebenen Ports durch Eingabe Ihrer ex-
ternen IP testen wollen, werden Sie ohne Verwendung eines im Internet stehenden
Proxyservers keine Ergebnisse aus Ihrem Netz erhalten. Also konfgurieren Sie
Ihren Browser entsprechend, beispielsweise unter Verwendung des Proxyservers
der Telekom (www-proxy.btx.dtag.de, Port 80). Sollten Sie immer noch kein Re-
sultat erzielen, sollte also etwa der Webserver nicht erreichbar sein, deaktivieren
Sie eine eventuell installierte lokale Firewall probeweise.
ó.3.1ó Pcuting- und FirewaII-Funkticnen
Fli4l verIügt neben dem NAT-Masquerading über weitere Sicherheits-Features,
die das Eindringen von Hackern oder den Missbrauch des Internet-Zugangs er-
schweren. Eine dieser Funktionen ist das Sperren von ausgehenden Verbindungen
Iür bestimmte PCs etwa, um per WLAN angebundenen PCs nur ZugriII auI das
interne Netz, nicht aber das Internet zu geben. Fügen Sie zu diesem Zweck in der
Datei ni4l-2.0.8conhgbase.txt Iolgende Zeilen hinzu:
=-------------------------------------------
= Routing. internal hosts to deny forwarding
=-------------------------------------------
FORWARD_DENY_HOST_N¬´?´
FORWARD_DENY_HOST_I¬´I9?.I¬8.I.IS´
FORWARD_DENY_HOST_?¬´I9?.I¬8.?.I¬´
Gerade unter Windows gibt es spezielle, vom System genutzte Ports, die man tun-
lichst sperren sollte, damit nicht das System kompromittiert werden kann. Im Be-
sonderen sind dies die Ports 137, 138 und 139, über welche Dienste wie WINS,
NetBIOS, Logon oder die berüchtigte DateiIreigabe abgewickelt werden. Keines-
Ialls sollten diese Ports nach außen geroutet oder durch die Firewall hindurchge-
lassen werden. Die Iolgenden Anweisungen unterdrücken das Port-Forwarding
Iür die genannten Ports in beide Richtungen:
=-----------------------------------------
= Routing. ports to reject/deny forwarding
= (from inside and outside!)
=-----------------------------------------
FORWARD_DENY_PORT_N¬´I´
FORWARD_DENY_PORT_I¬´I·I.I·9 REJECT´
FORWARD_TRUSTED_NETS¬´´
ó.3.17 Trcjaner unterdrücken
Ebenso ist denkbar, bekannte Troianer-Ports präventiv zu unterdrücken. Eine
Übersicht fnden Sie etwa unter www.simovits.com/troians/troians.html oder un-
ter http://www.networkice.com/advice/Exploits/Ports/.
Z11 weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
Eine weitere Blockade gegen Hacker ist das Sperren bestimmter Ports von außen
AnIragen an diese Adressen werden von der Firewall abgewiesen (REJECT).
Damit aber beispielsweise erwünschte Port-Forwardings oder DNS-ZugriIIe wei-
terhin Iunktionieren, müssen daIür Lücken in der Firewall belassen werden:
=--------------------------------------
= Firewall. ports to reject/deny from
= outside (all served ports)
=--------------------------------------
FIREWALL_DENY_PORT_N¬´I´ = Anzahl
FIREWALL_DENY_PORT_I¬´0.I9 REJECT´
= ?0/?I offen fùr FTP
FIREWALL_DENY_PORT_?¬´??.S? REJECT´
= S· offen fùr DNS
FIREWALL_DENY_PORT_·¬´S4.I9 REJECT´
= 80 offen fùr HTTPD
FIREWALL_DENY_PORT_4¬´8I.II? REJECT´
= II· offen fùr AUTH
FIREWALL_DENY_PORT_S¬´II4.I0?· REJECT´
FIREWALL_DENY_PORT_¬¬´S000.S00I REJECT´
= sperre imond- und telmond-ports
FIREWALL_DENY_PORT_I¬´8080 REJECT´
= interner httpd, wie eingerichtet
FIREWALL_DENY_ICMP¬´yes´
Die letzte Zeile ist besonders interessant: Wenn Sie die Variable FIREWALL
DENYICMP auI .yes' setzen, antwortet der Router nicht mehr auI ICMP-An-
Iragen aus dem Internet, typische Ping-Scans zum AuIfnden von benutzten
Adressen lauIen nunmehr ins Leere.
ó.3.18 5ecurity
Weitere Bausteine in den erweiterten Fli4l-Features sind allgemeine Sicherheits-
Iunktionen, deren Anwendung im EinzelIall erIorderlich werden könnte.
Relativ simpel und nur wirkungsvoll Iür unerIahrene SurIer ist das Sperren der
Namensaufösung von einzelnen Seiten oder ganzen Toplevel-Domains in der Da-
tei ni4l-2.0.8conhgbase.txt. Ein erIahrener lokaler Nutzer kann dies iedoch
durch direkte Eingabe der IP-Adresse im Browser umgehen und diese Site(s) den-
noch erreichen:
=--------------------------------------
= Domain conñguration.
=--------------------------------------
DNS_FORBIDDEN_N¬´?´
DNS_FORBIDDEN_I¬´sexsite.de´
DNS_FORBIDDEN_?¬´ru´
Ñel.we:¦
Z1Z wwwlecC¦~::e¦oe
Der erste Fall sperrt alle DNS-AnIragen an sexsite.ae, während im zweiten Bei-
spiel alle AnIragen an die Toplevel-Domain .ru (Russland) als nicht vorhanden
zurückgemeldet werden.
Interessant Iür Büros könnte eventuell die Festlegung einer SurIerlaubnis nur zu
bestimmten Zeiten und Wochentagen sein, etwa nur an Arbeitstagen von 8 bis 18
Uhr. Konfguriert wird dies in der Datei ni4l-2.0.8conhgasl.txt:
=---------------------------------------
= Optional package. PPPoE
=---------------------------------------
= PPPOE_TIMES¬´Mo-Su.00-?4.0.0.Y´ =immer
PPPOE_TIMES¬´Mo-Fr.08-I8.0.0.Y´
ó.3.19 ¥PN-5erver
Weiterhin von Interesse ist der Betrieb eines internen VPN-Servers, um sichere
ZugriIIe von akkreditierten Clients aus dem Internet zu gewährleisten. Für diese
Anwendung reicht das weiter oben besprochene Paket OPTPORTFWUP nicht
aus, da es nur TCP- und UDP-Pakete routen kann, das Iür VPN benötigte GRE-
Protokoll iedoch nicht. Die Lösung bringt das optionale Paket OPTIPFWD.
Zur Konfguration dieser Funktion verwenden Sie mehrere Textdateien, begin-
nend mit ni4l-2.0.8conhgipfwa.txt. Tragen Sie dort die IP-Adresse des internen
Rechners ein, der den VPN-Server-Dienst, beispielsweise einen Windows 2000
Advanced Server, zur VerIügung stellt.
=--------------------------------------
= Package tools
=--------------------------------------
OPT_IPFWD¬´yes´
IPFWD_VPNSERVER¬´I9?.I¬8.I.S´
In der Hauptkonfgurationsdatei ni4l-2.0.8conhgbase.txt muss zusätzlich zwin-
gend die Iolgende Option aktiviert sein, um die Verwendung des Protokolls PPTP
zuzulassen:
=--------------------------------------
= Masquerading.
=--------------------------------------
MASQ_NETWORK¬´I9?.I¬8.I.0/?4´
MASQ_MODULE_N¬´I´
MASQ_MODULE_I¬´pptp´
Das eben aktivierte Protokoll PPTP benutzt neben dem erwähnten GRE-Protokoll
zusätzlich den Port 1723 mit den Protokollen TCP und UDP, die dementsprechend
durch Port-Forwarding an den Ziel-Server weitergeleitet werden müssen. Das
konfgurieren Sie in der Datei ni4l-2.0.8conhgportfwup.txt.
Z1o weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
=--------------------------------------
= Deñne your PCs to forward ports to.
=--------------------------------------
hiddenhost·¬I9?.I¬8.I.S
/usr/sbin/ipmasqadm portfw -a -P tcp -L Sip II?· -R
± Shiddenhost· II?·
/usr/sbin/ipmasqadm portfw -a -P udp -L Sip II?· -R
± Shiddenhost· II?·
ó.3.20 6rahscbe 5tatistik mit 56rapb
SGraph sammelt auI dem Router Daten verschiedener Quellen wie Speicherver-
brauch, CPU- oder Bandbreitenauslastung und zeigt die daraus erstellten Statisti-
ken grafsch auIbereitet auI einem Browser an.
Überwacbt: D~s 0[T[~¦el S0:~¡¦ .eigl ve:sc¦ieoe:e Sl~lisli¦e: ~:s¡:ec¦e:o ~u[Le:eilel
Voraussetzung Iür den Einsatz von SGraph ist ein lauIender Mini-Webserver
(OPTHTTPD). Das Modul konfgurieren Sie über ni4l-2.0.8conhgsgraph.txt.
Die Variablen SGRAPHTARGETx defnieren dabei die Quellen, aus denen die
Ñel.we:¦
Z1/ wwwlecC¦~::e¦oe
Daten gesammelt werden sollen. Doch Achtung: SGraph ist relativ speicher- und
ressourcenhungrig, so dass nur ein paar Quellen ausgewählt werden sollten es
kann passieren, dass bei zu vielen die Erstellung der Bootdiskette wegen Spei-
chermangels misslingt!
=---------------------------------------------
= optional package. sgraph v0.9I
=---------------------------------------------
OPT_SGRAPH¬´yes´
SGRAPH_TARGET_N¬´4´
SGRAPH_TARGET_I¬´cpu´
SGRAPH_TARGET_?¬´eth0_trafñc´
SGRAPH_TARGET_·¬´on_of0ine´
SGRAPH_TARGET_4¬´rootopt_fs´
ó.3.21 Ein Zeit-5erver für das Netz
Gerade wenn mehrere Rechner in einem Netzwerk arbeiten, ist es ohne Synchro-
nisation mit einem Zeit-Server Iast ausgeschlossen, dass alle PCs die gleiche Uhr-
zeit auIweisen. Manche Anwendungen im LAN verlangen iedoch nach gleichlau-
Ienden Systemuhren, etwa um die letzte Änderung an einer Datei zweiIelsIrei
Ieststellen zu können. Fli4l bietet dazu mit dem zusätzlichen Modul TIME eine
entsprechende Option. Die Konfguration erIolgt über ni4l-2.0.8conhgtime.txt.
=--------------------------------------
= Optional package. TIME
=--------------------------------------
OPT_TIME¬´yes´
TIME_ZONE¬´MET´ = fùr Deutschland MET
TIME_SERVER¬´ptbtimeI.ptb.de´
TIME_CIRCUITS¬´pppoe´
Die nun mit dem Internet synchronisierte Systemzeit des Fli4l-Routers lässt sich
entweder über den Windows-Client imonc setzen, oder auI den Rechnern lauIen
entsprechende Clients, die über den Port 37 automatisch die Zeit mit dem Zeit-
Server abgleichen.
ó.3.22 Aufrüst-Kits
Fli4l bietet durch sein oIIenes Konzept genügend Spielraum Iür weitere Ausbau-
ten. Findige Programmierer haben dazu eine Reihe von spezialisierten Zusatzpa-
keten geschaIIen, die auch exotische Szenarien abdecken. So wäre es beispiels-
weise möglich, einen Wireless Access Point an eine zusätzliche Netzwerkkarte
anzuschließen und WLAN-Clients nur über einen VPN-Tunnel in das eigentliche
LAN zu lassen. Möchtegern-Hacker würden dabei an der Firewall abgewiesen
Z1¯ weLcooe. ¡1ZOO
¦:le::elRoule: i: Eige:L~u
und bekämen weder ZugriII auI das LAN noch auI die Internet-Verbindung. Das
ist dann eine deutlich sicherere Lösung Iür die WLAN-Anbindung als die Ver-
schlüsselung per WEP.
Ein Stöbern auI der Fli4l-Homepage Iördert viele interessante Schätze zutage, ne-
ben einer Vielzahl von zusätzlichen OPT-Modulen fnden sich dort auch eine Rei-
he von HOW-TO-Anleitungen etwa um VNC- oder SSH-Server zu betreiben
oder zwei komplette LANs per Fli4l zu verbinden.
Dieter Mayer
tecCRANNEL-Links zum Tbema Webccde Ccmpact
|nternet-Router im Eigenbau (Teil !l þ!2OO 5.!77
|nternet-Router im Eigenbau (Teil 2l þ!2O2 -
5o funktionieren TCP/|P und |Pv6 þ2O7 -
5o funktioniert 0PCP a2O6 -
5o funktioniert 0N5 a2O5 -
Hasquerading mit Linux a7O7 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
0:u:o¦~ge:
Z1o wwwlecC¦~::e¦oe
5. 6rundIagen
Zu den derzeit heiß diskutierten Themen zählt die Frage, ob sich in größeren In-
stallationen ein Umstieg von Windows auI Linux lohnt. Ist dies schon Iür reine
Server-Migrationen höchst umstritten, so brechen regelmäßig wahre Glaubens-
kriege um die Frage aus, ob sich gar eine Umstellung von Desktops auI das Open-
Source-Betriebssystem rentiert. Beides rechnet im ersten Beitrag dieses Kapitels
ein in der Materie erIahrener Consultant einmal Iür uns nach.
EbenIalls gern und mit Verve durchgehechelt wird die Frage, ob nun Windows
oder Linux das .sicherere' Betriebssystem sei. Wie unser Bug-Report hierzu
zeigt, weist auch Open-Source-SoItware gelegentlich gravierende Schwachstellen
auI. Beim Patchen derselben erweist sich aber die Community regelmäßig um ein
VielIaches schneller als die .proIessionellen' Kollegen in Redmond ...
5.1 5erver-KcnscIidierung auf Linux
Studien, ob eine Migration auI Linux eine sinnvolle Option darstellt, korrelieren
oIt mit den Intentionen des AuItraggebers. Im vorliegenden Beitrag rechnet ein
unabhängiger Prof anhand eines konkreten Beispiels nach.
Die Diskussion um mögliche Einsparpotenziale, die sich im Rechenzentrum
durch Server- oder auch Client-Migrationen von MicrosoIt Windows auI das
Open-Source-Betriebssystem Linux ergeben können, hat inzwischen eine Dimen-
sion erreicht, in der es nicht mehr allein um das Einsparen von Lizenzkosten geht.
Allerdings kommen verschiedene Studien zu diesem Thema trotz ähnlicher Aus-
gangslage zu völlig unterschiedlichen Ergebnissen.
Lässt sich also keine allgemein gültige Aussage über die durch eine Migration zu
realisierenden Einsparungen treIIen? Anhand eines Praxisbeispiels wollen wir im
Folgenden untersuchen, ob und inwieIern Linux in der Migrationsentscheidung
eine sinnvolle strategische Option darstellt.
5.1.1 Higraticnsszenaric
In der typischen Windows-SystemlandschaIt stellt sich die Frage einer möglichen
Migration in aller Regel nicht vorrangig auI Grund möglicher Kosteneinsparun-
gen. Vielmehr entsteht in der Praxis meist durch die Einstellung von Produkten
durch MicrosoIt oder Abhängigkeiten zwischen Client- und Server-Versionen ein
massiver Migrationsdruck, dem das Unternehmen nicht mehr ausweichen kann.
Sollen etwa die Desktop-Systeme mit Windows XP sicher und komIortabel be-
trieben werden, ist eine entsprechende BackoIfce-Umgebung mit Windows XP/
2003 und Active Directory zwangsläufge Voraussetzung.
Z1¯ weLcooe. ~1Z'O
Se:ve:¦o:so¦ioie:u:g ~u[ Li:ux
Erst wenn die Entscheidung zu einer Migration einmal grundsätzlich Ieststeht,
stellt sich im zweiten Schritt die Frage, mit welchen Betriebssystemen die Rech-
ner zukünItig betrieben werden sollen. Als Alternativen bieten sich an:
· eine komplette Umstellung auI aktuelle MicrosoIt-Produkte
· eine vollständige Migration von Servern und Desktops zu Linux
· eine Mischung beider Szenarien
Üblicherweise arbeitet im Rechenzentrum ein Mix aus InIrastrukturdiensten (File
und Print, Benutzerverwaltung, Inter/Intranet, Security), Bürokommunikations-
anwendungen sowie Datenbank-/Applikations-Servern zur Abbildung der Ge-
schäItsprozesse. Hinzu kommen oIt noch unterschiedliche Spezialanwendungen.
AuI dem Desktop werden eine OIfce-Suite, ein E-Mail-Client, ein Webbrowser
und eventuell eine Host-Emulation zum ZugriII auI einen Großrechner benötigt.
Insgesamt fnden sich hier häufger als auI den Servern spezifsche SoItware-
Tools und Programme, die sich ie nach Fachbereich oIt stark unterscheiden.
5.1.2 AIternativen: Windcws vs. Linux
Alle genannten Standardapplikationen auI Server und Desktop lassen sich entwe-
der als lizenzkostenIreie oder als kommerzielle SoItware auch unter Linux abbil-
den. Zudem oIIerieren alle großen SoItware-Anbieter Linux-Versionen ihrer Pro-
dukte. Die Iolgende Tabelle stellt eine Auswahl möglicher Anwendungen Iür die
Migrationsszenarien MicrosoIt Windows beziehungsweise Linux zusammen:
Higraticnsszenarien
Bestebende
Anwendung
Higraticn auf
Hicrcscft
Higraticn auf Linux
0esktoþ
(H5 0fñce 77/2OOOl
0fñce 2OO3 0þen0fñce. 5tar0fñce
6rouþware
(H5 Exchange 5.5l
Exchange 2OO3 0þenExchange. Krouþ-
ware. 5amsung Con-
tact. Exchange ólinux ...
0atenbank
(H5 50L 5erver 7.Ol
50L 5erver 2OO3 Hy 50L. Postgre50L.
5AP 0B. 0racle. 0B2
webserver
(H5 ||5 ó.Ol
||5 5.O Aþache
0ateidienste
(H5 NT ó.O 5erverl
windows 2OO3 5erver 5amba
0ruckdienste
(H5 NT ó.O 5erverl
0ruckdienste
(H5 NT ó.O 5erverl
5amba. CUP5
0:u:o¦~ge:
Z18 wwwlecC¦~::e¦oe
Netzwerkdienste
(H5 NT ó.O 5erverl
windows 2OO3 5erver Linux
Netzwerkdienste
(H5 NT ó.O 5erverl
windows 2OO3 5erver Linux
5ystem-Hanagement
(H5 NT ó.O 5erverl
windows 2OO3 5erver Linux. Tivoli. BHC.
Comþuter Associates ...
5.1.3 KcnscIidierung und ¥irtuaIisierung
Es bleiben noch dieienigen Server- und Desktop-Anwendungen zu untersuchen,
die Iür Iachbereichsspezifsche AuIgaben zum Einsatz kommen. OIt lassen sich
Iür solche Applikationen Irei verIügbare oder kommerzielle Linux-Alternativen
entdecken. Immer wieder fnden sich hier iedoch auch Anwendungen, die nur un-
ter Windows zur VerIügung stehen.
Das muss iedoch kein Ausschlusskriterium sein. Gibt es Iür eine wichtige Appli-
kation kein Linux-Pendant, lässt sich auch eine Umgebung auIbauen, die einer-
seits eine strategische Linux-Migration erlaubt, daneben aber den Fortbestand
unverzichtbarer SoItware unter MicrosoIt-Betriebssystemen sicherstellt.
Dies kann zum einen durch die Virtualisierung der Server mit VMware ESX
erIolgen. Die betroIIenen Applikationen werden unter der Beibehaltung der Ser-
ver-Autonomie auI entsprechend leistungsIähige Hardware konsolidiert. Zum
anderen bietet sich eine Lösung auI Basis von Citrix an, mit der sich auch Win-
dows-Anwendungen auI Linux-Desktops abbilden lassen.
5.1.ó KcstensenkungspctenziaIe
Vor ieder Migrationsentscheidung werden die Ziele Iestgelegt. Neben den Kosten
stehen die unternehmerischen Zielsetzungen und AnIorderungen im Vordergrund.
In einem ein- bis zweitägigen Workshop, gemeinsam mit einem externen Dienst-
leister, der seine ErIahrung mit Konsolidierungsstrategien einbringt, werden die
notwendigen AnIorderungen und Strukturen erarbeitet.
Am praktischen Beispiel des Rechenzentrums eines Stadtwerks wollen wir unter-
suchen, welche Potenziale in einer typischen Kundensituation schlummern und
wie diese erschlossen werden können. In unserem Beispiel-Rechenzentrum fn-
den wir insgesamt 150 Server mit einer unterschiedlichen Anzahl von CPUs (sie-
he Bild). Dabei gliedert sich die AuIteilung nach Anwendungen und Betriebssys-
temen wie Iolgt:
· Betriebssystem: Windows NT/2000
· 1-Wege-Server: File/Applikations-Server, Firewall, System-Management
· 2-Wege-Server: File- und Printserver, Applikations-Server, SAP
Z1' weLcooe. ~1Z'O
Se:ve:¦o:so¦ioie:u:g ~u[ Li:ux
· 4-Wege-Server: SAP, Applikations-Server
· 8-Wege-Server: CRM
AuI den Applikations-Servern lauIen im Wesentlichen SAP, Oracle und Ex-
change. Näher untersucht werden müssen nur einige .exotische' Anwendungen
(in unserem Beispiel ein Stadtplan, eine Rohrdruckberechnung und verschiedene
grafsche Analysen). Für die Erstanalyse der Migrationskosten betrachten wir die
vorliegende Installation zunächst unter der Annahme, dass alle Server auI Linux
migriert werden können.
AufteiIung nacb CPUs:
Die :eisle: Se:ve: u:se
:es Rec¦e:.e:l:u:s
~:Leile: :il ei:e: ooe:
.wei [:o.esso:e:
CPU-Verteilung
3-Wege-Server (1)
1-Wege-
Server (64)
4-Wege-
Server (29)
2-Wege-
Server (56)
5.1.5 Administraticnskcsten
In einer Studie aus dem Jahr 2002 kommen die MarktIorscher von IDC zum Er-
gebnis, der Server-Betrieb sei unter MicrosoIt-Betriebssystemen kostengünstiger
zu erbringen. Etwa zeitgleich konstatierte eine Untersuchung der Robert Frances
Group (RFG, www.rIgonline.com), dass es genau umgekehrt sei.
Beide Studien benennen iedoch übereinstimmend die Administrationskosten als
größten KostenIaktor. Laut IDC lassen sich Windows-Administratoren iedoch
kostengünstiger (70.000 Euro/Jahr) fnden als ihre Linux-Kollegen (75.000 Euro/
Jahr). Das räumt auch die Untersuchung der RFG ein. Sie weist iedoch darauI hin,
dass Linux-Administratoren im Schnitt 45 Server managen, während ihre Kolle-
gen im Windows-UmIeld nur 15 Server im GriII behalten können.
Bei einer Anzahl von 150 Servern im Rechenzentrum aus unserem Beispiel benö-
tigen wir also vier Linux-Systemverwalter oder zehn Windows-Administratoren.
Nach diesem Ansatz lassen sich beim Einsatz von Linux über einen Zeitraum von
drei Jahren rund 1,2 Millionen Euro an Personalkosten einsparen.
0:u:o¦~ge:
ZZO wwwlecC¦~::e¦oe
2000
1500
1000
500
0
Linux 1 Jahr Windows 1 Jahr Linux 3 Jahre Windows 3 Jahre
Administrationskosten
kEuro
10 Server
50 Server
100 Server
150 Server
5parpctenziaI Administraticn: Mil sleige:oe: Se:ve:/:.~¦¦ ve:u:s~c¦l oie /o:i:isl:~lio:
vo: Li:uxM~sc¦i:e: i: \e:g¦eic¦ .u \i:oowsSvsle:e: oeul¦ic¦ :ieo:ige:e ¦osle:
5.1.ó Lizenzkcsten
Die Lizenzkosten allein würden eine Migration nach Linux noch nicht rechtIerti-
gen. Allerdings stellen sie einen durchaus gewichtigen Faktor in der Rechnung
dar. Vergleichen wir einmal die konkreten Lizenzkosten Iür Windows und Linux
in unserem Beispiel-Rechenzentrum.
In dieser Umgebung benötigen wir zum einen 150 Server-Lizenzen. Im Fall von
MicrosoIt Windows belauIen sich diese inklusive zwei Jahren SoItware Assu-
rance auI ie 1200 Euro (Windows 2003 Server Standard) Iür Single- und Dual-
Prozessor-Rechner. Bei den 30 Maschinen mit vier und mehr CPUs sind sogar
ieweils 3900 Euro (Windows 2003 Server Enterprise) zu veranschlagen. Bei Li-
nux wollen wir den SuSE Linux Enterprise Server einsetzen. Er schlägt inklusive
zwei Jahren Maintenance mit ieweils 1649 Euro zu Buche.
Für unsere 1500 Clients benötigen wir unter Windows entsprechende Client-Ac-
cess-Lizenzen. Sie kosten, wiederum inklusive zwei Jahren SoItware Assurance,
ie Stück 51 Euro. Unter Linux dagegen Iallen keine zusätzlichen Lizenzkosten Iür
den Betrieb der Clients an.
Unsere Rechnung Iür das vorliegende Beispiel weist also allein hinsichtlich der
Posten Server-Betriebssystem und ZugriIIslizenzen ein iährliches Sparpotenzial
von gut 45.000 Euro zu Gunsten von Linux auI.
ZZ1 weLcooe. ~1Z'O
Se:ve:¦o:so¦ioie:u:g ~u[ Li:ux
Lizenzkcsten im ¥ergIeicb I2 Jabre!
Windcws Linux
5erver-05
(!5O 5erverl
windows 2OO3 5erver (!2O
5tandard. 3O Enterþrisel
5u5E Linux Enterþrise
5erver 8
26!.OOO Euro 2ó7.óOO Euro
Client-Lizenz
(!5OO Clientsl
windows 5erver User/
0evice CAL
entfâllt
76.5OO Euro -
5UHHE 337.5OO Euro 2ó7.óOO Euro
5.1.7 5trategiscbe Bewertung
Einen wichtigen Aspekt allerdings können Zahlen allein nicht widerspiegeln:
Welchen langIristigen Einfuss ein Wechsel auI Linux im Vergleich zu einer Fort-
Iührung der MicrosoIt-Strategie hat.
Die Stadt München beispielsweise hat sich entschieden, trotz vordergründig güns-
tigerer Total Cost oI Ownership auch auI dem Desktop statt MicrosoIt-SoItware
Linux einzusetzen. Dieser Entschluss beruht auI einer Messung und Bewertung
(www.muenchen.de/aktuell/clientstudiekurz.pdI) strategisch wichtiger organisa-
torischer Faktoren. Das unterstreicht die Bedeutung der Zieldefnition zu Beginn
iedes Migrationsproiekts.
Für München wurde ein mehr als 600 EinzelIragen umIassender Katalog auIge-
stellt und in einer Matrix ausgewertet, unter anderem zu Iolgenden Themen:
· AuIwand Iür die Einhaltung von Gesetzen und VerwaltungsvorschriIten
· Auswirkungen auI die IT-Sicherheit, die Mitarbeiter und die IT-Organisation
· Auswirkungen auI externe Adressaten
· Einhaltung oIIener Standards
· Beurteilung der Hersteller- und BeschaIIungsabhängigkeit
· Flexibilität des IT-Einsatzes
· Investitionsschutz
Die Ausschlag gebenden Argumente gegen eine Migration auI MicrosoIt-SoIt-
ware lagen in der immer stärkeren IntegrationstieIe der entsprechenden Client-
und BackoIfce-Dienste. In Verbindung mit dem durch MicrosoIt ausgeübten Mi-
grationsdruck auI die ieweils aktuellsten SoItware-Versionen, auch wenn dazu
eigentlich aus Iunktionaler oder technologischer Sicht kein Anlass besteht, hätte
sich eine signifkant steigende Abhängigkeit vom Hersteller ergeben.
0:u:o¦~ge:
ZZZ wwwlecC¦~::e¦oe
5.1.8 5cbrittweise Higraticn
Ist das Potenzial der Kosteneinsparung im Rahmen einer ersten Analyse ausge-
macht, dann stellt sich die Frage nach dem Wie. Das geringste Proiektrisiko liegt
in der schrittweisen Migration. Abhängig von der eigenen Zieldefnition sollte
man zuerst dieienigen Systeme konsolidieren, die den schnellsten Return on In-
vest (ROI) erbringen oder aber solche, die aus organisatorischer Sicht (Lebens-
zyklus, notwendige Erweiterungen) einen hohen Leidensdruck erzeugen.
Nach der Migration der als vorrangig identifzierten Systeme kommen dieienigen
Applikationen an die Reihe, Iür die sich unter Linux keine gleichartige Anwen-
dung fndet oder erheblicher MigrationsauIwand zu erwarten ist. Hier erweist sich
meist eine Konsolidierung mit HilIe von VMware unter Beibehaltung des Micro-
soIt-Betriebssystems Iür einen Übergangszeitraum als der richtige Weg.
5.1.9 Fazit
Die Analyse und Abwägung anhand unseres Beispiel-Rechenzentrums machen
klar, dass in typischen Installationen viele Sparpotenziale stecken, die es zu iden-
tifzieren gilt. Schon isoliert betrachtet fnden sich bestimmte .Quick Wins', die
einen schnellen ROI versprechen. LangIristige EIIekte, die sich durch eine verein-
heitlichte, schlanke und in ihrer Komplexität reduzierte IT Iür VerIügbarkeit,
Sicherheit und Administration ergeben, erIordern iedoch eine Linux-Strategie.
Daher sollte iedem Linux- und Konsolidierungsproiekt ein Strategie-Workshop
vorangehen. Hier sind gemeinsam die langIristigen Ziele zu erarbeiten, an denen
sich anschließend die kurz- und mittelIristigen Entscheidungen orientieren.
Michael Hensche
Zu: /ulo:. Mic¦~e¦ ¦e:sc¦e isl Se:io: Co:su¦l~:l Lei oe: ¦e:¡e:e: RZÑel /0 Do:l Le:~l e:
U:le::e¦:e: Lei oe: sl:~legisc¦e: u:o ¦o:.e¡lio:e¦¦e: ¦T[¦~:u:g .u T¦e:e: wie Svsle:
¦o:so¦ioie:u:g, \i:lu~¦isie:u:g, S¡eic¦e::el.e:, D~le:sic¦e:u:g, ¦oc¦ve:[ugL~:¦eil u:o ¦
F~¦¦\o:so:ge
tecCRANNEL-Links zum Tbema Webccde Ccmpact
5erver-Konsolidierung auf Linux a!27O 5.2!6
0þen 5ource im Unternehmenseinsatz a!O87 -
Linux auf dem Hainframe a8O! -
Linux als windows-5erver þ2ó8 -
Test: United Linux a!O66 -
workshoþ: 5u5E Linux 0fñce 5erver a!!87 -
Katastroþhenschutz mit Plan þ!!!7 -
ZZo weLcooe. ~1oo'
Li:ux Secu:ilvRe¡o:l
5.2 Linux-5ecurity-Pepcrt
Im Gegensatz zu MicrosoIt Windows genießt Linux einen RuI als .sicheres' Be-
triebssystem. Wie der vorliegende Security-Report demonstriert, ist das so nicht
richtig: Sowohl der Betriebssystemkern als auch die mit den meisten Distributio-
nen gelieIerten Dienste weisen genau wie ihre Windows-Pendants gelegentlich
mehr oder weniger gravierende Schwachstellen auI.
Ganz Ialsch iedoch ist der Anspruch des sicheren Betriebssystems andererseits
auch nicht zumindest wenn man die Defnition von .OS' auI den Kernel und die
wichtigsten Dienstprogramme reduziert. In diesem Bereich wurden in Linux in-
nerhalb der vergangenen zwölI Monate lediglich drei als kritisch einzustuIende
Lücken entdeckt, als hoch kritisch zu veranschlagende Schwächen traten keine
auI. Neben dem schieren .Body Count' der Schwachstellen spricht allerdings
noch eine weitere Tatsache Iür die These vom sicheren Betriebssystem Linux:
Einmal entdeckte Schwachstellen beseitigt die Community unverzüglich und
ohne Geheimniskrämerei. Bei MicrosoIt werden selbst gravierendste Sicherheits-
löcher dem Anwender gern sechs Monate oder länger verschwiegen, bevor Red-
mond entsprechende Patches lieIert.
Doch selbst ein innerhalb von Stunden bereitgestellter Patch kann nicht wirken,
wenn der Administrator ihn nicht einspielt. Bei den meisten Distributionen lässt
sich eine Paketaktualisierung auI bequeme Manier halb- oder auch vollautoma-
tisch über die entsprechenden Update-Tools abwickeln. Dazu oIIerieren Debian
apt-get, SuSE das Yast Online Update und Red Hat das RHN, um einige zu nen-
nen. Nutzen Sie diese Tools, um Ihr System auI dem aktuellsten Stand zu halten.
Als HilIestellung Iür Sicherheits-Updates des Systems bietet tecCHANNEL seit
Mai 2003 die tecCHANNEL-Security-Reports an. Diese tagesaktuellen Meldun-
gen über neu entdeckte Sicherheitslücken und verIügbare Aktualisierungen bietet
tecCHANNEL zum einen online unter der URL www.tecChannel.de/sicherheit/
aktuell.html in HTML-Form an. Zum anderen können Sie sich die deutschspra-
chigen Security-Reports auch als Text-Newsletter direkt in Ihre Mailbox lieIern
lassen. So sind Sie stets über die neu entdeckten Schwachstellen in MicrosoIt- und
Apple-Betriebssystemen, Linux, den gängigsten Unix-Varianten sowie in LAN-
und WAN-Hardware auI dem LauIenden.
Aus dem Fundus der mittlerweile weit über 2200 verIügbaren tecCHANNEL-Se-
curity-Reports haben wir im Folgenden die Iür Linux-Systemadministratoren be-
sonders relevanten Meldungen zu hochkritischen und kritischen Schwachstellen
in den verschiedenen Kernel-Versionen, bei wichtigen Daemons und in häufg ge-
nutzten Server-Diensten zusammengestellt.
Im Anschluss an die ausIührliche Beschreibung der ieweiligen Sicherheitslücken
fnden Sie eine Tabelle, die alle Schwachstellen mit Entdeckungsdatum, Einstu-
Iung, möglichen AngriIIswegen und der vorgeschlagenen Fehlerbehebung in
übersichtlicher Form zusammenIasst.
0:u:o¦~ge:
ZZ/ wwwlecC¦~::e¦oe
5.2.1 Kritiscbe Lücken in Linux 2.ó
Seit Mai 2003 wurden im Linux-Kernel drei kritische, von externen AngreiIern
nutzbare Sicherheitslücken entdeckt. Alle drei Schwachstellen betreIIen Kernel
der 2.4er Serie vor Version 2.4.21.
Zum einen kann ein AngreiIer den Route-Cache mit geIälschten Paketen über-
schwemmen oder durch Iragmentierte TCP-Pakete Hash-Table-Kollisionen ver-
ursachen. Zum anderen kann er über das Spanning Tree Protocol die Bridge-To-
pologie des Netzwerks verändern. Beides Iührt zu einem Denial oI Service.
Als AbhilIe empfehlt sich eine Aktualisierung auI den neuesten Kernel (bei Re-
daktionsschluss Linux 2.4.25). Dies behebt zusätzlich eine Reihe von weniger
kritischen Schwachstellen, über die lokale Benutzer ihre Rechte ausweiten oder
an sensitive InIormationen gelangen können.
5.2.2 Lücken in anderen KerneI-¥ersicnen
Im weit gehend ausgereiIten Kernel 2.2 fnden sich kaum noch Schwachstellen.
Eine Ausnahme bildet ein Fehler in der Funktion mremap(), der auch an die Ker-
nel-Reihen 2.4 und 2.6 vererbt wurde. Beim Verschieben von Virtual Memory
Areas (VMAs) oder Teilen davon überprüIt mremap() die von der Kernel-Funk-
tion domunmap() zurückgelieIerten Werte nicht. Dies ermöglicht lokalen An-
greiIern das AusIühren beliebigen Codes im Rechtekontext des Kernels.
In Linux 2.4 und 2.6 fndet sich in mremap() zudem auch noch ein Begrenzungs-
Iehler. Er kann zum Anlegen eines 0 Byte großen VMA Iühren und Störungen der
Speicherverwaltung verursachen. Dies gestattet lokalen AngreiIern das AusIühren
beliebigen Codes im Rechtekontext des Kernels.
Auch im Kernel 2.6 wurde bereits eine spezifsche Sicherheitslücke entdeckt. Sie
beruht auI einem BegrenzungsIehler in der ncpIs-Funktion .ncplookup()', die
keinerlei ÜberprüIung der Länge von Namenskomponenten vornimmt. Dies kön-
nen lokale AngreiIer ausnutzen, um einen Stack-ÜberlauI zu verursachen und be-
liebigen Code mit erweiterten Rechten auszuIühren.
5.2.3 6ravierende Lücken in Diensten
Im Folgenden fnden Sie eine AuIstellung der seit September 2003 auIgetretenen,
hochkritischen Sicherheitslücken in den gängigsten Linux-Diensten und Server-
Anwendungen. Alle genannten Schwachstellen ermöglichen externen AngreiIern
einen ZugriII auI das System, über viele davon lassen sich auch Denial-oI-Ser-
vice-Attacken Iühren. Im Punkt .AbhilIe' in der diesem Artikel anhängenden Ta-
belle fnden Sie ieweils die zu Redaktionsschluss dieses tecCHANNEL-Compacts
aktuellste Version, welche die genannten Fehler (und oIt auch weitere, weniger
kritische Sicherheitslücken und ProgrammIehler) behebt.
ZZ¯ weLcooe. ~1oo'
Li:ux Secu:ilvRe¡o:l
5.2.ó InterNetNews - PufferüberIauf
Über eine Schwachstelle in InterNetNews (inn) kann ein externer AngreiIer das
System kompromittieren. Die Sicherheitslücke beruht auI einem Begrenzungs-
Iehler in der Funktion ARTpost(), der bei der Behandlung von Kontrollnachrich-
ten auItritt. Beim Verteilen in die nach Typ getrennten Newsgroups kann dadurch
ein PuIIerüberlauI auItreten. Ein erIolgreicher AngriII ermöglicht das AusIühren
beliebigen Codes im Rechtekontext des innd.
5.2.5 Cyrus IH5P 5erver - PufferüberIauf
Über eine Schwachstelle in Cyrus IMSP Server kann ein AngreiIer das System
kompromittieren. Die Sicherheitslücke beruht auI einem BegrenzungsIehler in
der Funktion abookdbname(), der bei der Verarbeitung von Adressbuchdaten
auItritt. Dies kann der AngreiIer ausnutzen, um einen PuIIerüberlauI zu verursa-
chen und beliebigen Code auI dem attackierten System auszuIühren.
5.2.ó rsync - Reap-ÜberIauf im 5erver
Über eine Schwachstelle in rsync kann beim Betrieb als Server ein externer An-
greiIer das System kompromittieren. Die Sicherheitslücke beruht auI einem nicht
näher beschriebenen BegrenzungsIehler, über den der AngreiIer einen Heap
Overfow verursachen kann. Ein erIolgreicher AngriII ermöglicht das AusIühren
beliebigen Codes im Rechtekontext des rsync-Servers.
5.2.7 FreePADIU5 - Reap-ÜberIauf
Zwei Sicherheitslücken in FreeRADIUS ermöglichen externen AngreiIern De-
nial-oI-Service-Attacken und den SystemzugriII. Die erste Schwachstelle wird
durch einen BegrenzungsIehler bei der Behandlung bestimmter RADIUS-Attri-
bute (etwa .Tunnel-Password') verursacht. Dadurch kann ein AngreiIer einen
Heap-ÜberlauI verursachen, indem er überlange, entsprechend präparierte Pakete
an den Dienst sendet. Die zweite Sicherheitslücke beruht auI einer NULL-Zeiger-
DereIerenzierung. Der AngreiIer kann den Dienst zum Absturz bringen, indem er
ein Access-Request-Paket mit einem Tunnel-Passwort-Attribut sendet.
5.2.8 0pen55L - Lücke bei CIient-Zertihkaten
Über mehrere Schwachstellen in OpenSSL kann ein AngreiIer einen Denial oI
Service hervorruIen oder SystemzugriII erhalten. Ungültige, vom Parser zurück-
gewiesene ASN.1-Encodings verursachen einen Fehler bei der SpeicherIreigabe,
0:u:o¦~ge:
ZZo wwwlecC¦~::e¦oe
die zu einer Korrumpierung des Stacks Iührt. AuI diesem Weg kann der AngreiIer
eine Denial-oI-Service-Attacke vornehmen. Unübliche Werte Iür ASN.1-Tags
verursachen Leseoperationen außerhalb des erlaubten Bereichs und können eben-
Ialls zu einem DoS Iühren. LäuIt OpenSSL im Debug-Modus, bringt ein ungülti-
ger öIIentlicher Key in einem Zertifkat den Code zur ÜberprüIung zum Absturz.
AuI Grund eines Fehlers bei der SSL/TLS-Protokollbehandlung parst und verar-
beitet OpenSSL Client-Zertifkate auch dann, wenn es daIür nicht konfguriert
wurde. Daher betreIIen die drei oben genannten Schwachstellen auch SSL/TLS-
Server, auI denen die Client-Authentifzierung gar nicht aktiviert ist.
5.2.9 PrcFTPD - PufferüberIauf
Über eine Schwachstelle in ProFTPD kann ein externer AngreiIer das System
kompromittieren. Die Sicherheitslücke beruht auI einem BegrenzungsIehler, der
bei der Übersetzung von Zeilenvorschüben in der Komponente Iür den ASCII-
DatentransIer auItritt.
Dies kann der AngreiIer dazu ausnutzen, um einen PuIIerüberlauI zu verursachen,
indem er eine speziell erstellte Datei zunächst hoch- und dann wieder herunter-
lädt. Eine erIolgreiche Attacke ermöglicht das AusIühren beliebigen Codes im
Rechtekontext des FTP-Servers.
5.2.10 0pen55R - Hebrere 5icberbeitsIücken
Im September 2003 wurden in OpenSSH kurz hintereinander zwei hochkritische
Sicherheitslücken entdeckt. Zum einen weist die PAM-Implementation von Por-
table OpenSSH eine ganze Reihe von Fehlern und Schwachstellen auI. Zumindest
eine davon lässt sich zur Kompromittierung des Systems nutzen, soIern OpenSSH
mit .UsePam' und ohne .UsePrivilegeSeparation' konfguriert wurde.
Zum anderen enthält die Funktion buIIerappendspace() einen Fehler beim PuI-
Iermanagement, den der AngreiIer zu Denial-oI-Service-Attacken und unter ge-
wissen Umständen auch zur Kompromittierung des Systems ausnutzen kann.
5.2.11 5endmaiI - PufferüberIauf
Über eine Schwachstelle in Sendmail kann ein externer AngreiIer auI das System
zugreiIen. Als Ursache des Problems wurde ein PuIIerüberlauI in der Funktion
prescan() identifziert. Zur Komptomittierung des Systems kann der AngreiIer
eine ganze Reihe von AngriIIsvektoren nutzen. Aktualisieren Sie auI Sendmail
8.12.11. Dies behebt gleichzeitig eine weniger kritische Sicherheitslücke.
Jörg Luther
ZZ¯ weLcooe. ~1oo'
Li:ux Secu:ilvRe¡o:l
Rccbkritiscbe Linux-5icberbeitsIücken IHai 2003 - Feb. 200ó!
Linux 2.ó - Diverse 5icberbeitsIücken
0atum 22.O7.2OO3
warnstufe kritisch
Betrifft Linux 2.ó
wirkung 0enial of 5ervice. Rechteausweitung
Abhilfe Uþdate auf Linux 2.ó.25
|nfos tecCPANNEL-5ecurity-Reþort 567
Linux 2.ó - DeniaI cf 5ervice über Rasb-TabIe
0atum Oó.O6.2OO3
warnstufe kritisch
Betrifft Linux 2.ó
wirkung 0enial of 5ervice
Abhilfe Uþdate auf Linux 2.ó.25
|nfos tecCPANNEL-5ecurity-Reþort !7!
Linux 2.ó - Dc5 durcb Pcute-Cacbe-FIutung
0atum !5.O5.2OO3
warnstufe kritisch
Betrifft Linux 2.ó
wirkung 0enial of 5ervice
Abhilfe Uþdate auf Linux 2.ó.25
|nfos tecCPANNEL-5ecurity-Reþort óO
Linux - Pecbteausweitung über mremapI!
0atum !8.O2.2OOó
warnstufe weniger kritisch
Betrifft Linux 2.2. 2.ó und 2.6
wirkung Rechteausweitung
Abhilfe Patch für 2.2.25. Uþdate auf Linux 2.ó.25 / 2.6.3
|nfos tecCPANNEL-5ecurity-Reþort 2!73
Linux 2.ó, 2.ó - Pecbteausweitung über mremapI!
0atum O7.O!.2OOó
warnstufe weniger kritisch
Betrifft Linux 2.ó und 2.6
wirkung Rechteausweitung
Abhilfe Uþdate auf Linux 2.ó.25 / 2.6.3
0:u:o¦~ge:
ZZ8 wwwlecC¦~::e¦oe
|nfos tecCPANNEL-5ecurity-Reþort !775
Linux 2.ó - Pecbteausweitung über ncpfs
0atum !7.O2.2OOó
warnstufe weniger kritisch
Betrifft Linux 2.6
wirkung Rechteausweitung
Abhilfe Uþdate auf Linux 2.6.3
|nfos tecCPANNEL-5ecurity-Reþort 2!82
InterNetNews - PufferüberIauf durcb KcntrcIInacbricbten
0atum O7.O!.2OOó
Betrifft |NN 2.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf |NN 2.ó.!
|nfos tecCPANNEL-5ecurity-Reþort !837
Cyrus IH5P 5erver - PufferüberIauf im Adressbucb
0atum !6.!2.2OO3
Betrifft Cyrus |H5P 5erver !.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf Cyrus |H5P 5erver !.6a5 / !.7b
|nfos tecCPANNEL-5ecurity-Reþort !7Oó
FreePADIU5 - 5icberbeitsIücke durcb Attributanbänge
0atum 2!.!!.2OO3
Betrifft FreeRA0|U5 O.x
wirkung 0enial of 5ervice. 5ystemzugriff
Abhilfe Uþdate auf FreeRA0|U5 O.7.3
|nfos tecCPANNEL-5ecurity-Reþort !528
0pen55L - 5icberbeitsIücken bei CIient-Zertihkaten
0atum O!.!O.2OO3
Betrifft 0þen55L O.7.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf 0þen55L O.7.6l
|nfos tecCPANNEL-5ecurity-Reþort !!ó!
PrcFTPD - PufferüberIauf bei A5CII-Datenübertragungen
0atum 2ó.O7.2OO3
Betrifft ProFTP0 !.x
ZZ' weLcooe. ~1oo'
Li:ux Secu:ilvRe¡o:l
wirkung 5ystemzugriff
Abhilfe Uþdate auf ProFTP0 !.2.7
|nfos tecCPANNEL-5ecurity-Reþort !O88
0pen55R - 5icberbeitsIücke in der PAH-ImpIementaticn
0atum 2ó.O7.2OO3
Betrifft 0þen55P 3.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf 0þen55P 3.8
|nfos tecCPANNEL-5ecurity-Reþort !O8!
0pen55R - 5icberbeitsIücke in buffer_append_spaceI!
0atum !6.O7.2OO3
Betrifft 0þen55P 3.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf 0þen55P 3.8
|nfos tecCPANNEL-5ecurity-Reþort 77ó
5endmaiI - PufferüberIauf in prescanI!
0atum !7.O7.2OO3
Betrifft 5endmail 8.x
wirkung 5ystemzugriff
Abhilfe Uþdate auf 5endmail 8.!2.!!
|nfos tecCPANNEL-5ecurity-Reþort !O!7
tecCRANNEL-Links zum Tbema Webccde Ccmpact
Linux 5ecurity-Reþort a!337 5.223
Linux als Firewall a!337 5.!86
Firewall 6rundlagen a682 -
Linux-Firewall 6rundsicherung a675 -
Linux-Firewall mit iþchains a7Oó -
TCP/|P-Netze mit Linux þ562 -
TCP/|P-6rundlagen þ2O7 -
Mil ¦i¦[e oes \eLcooes ge¦~:ge: Sie ~u[ u:se:e: \eLsile oi:e¦l .u: gewu:sc¦le: /:li¦e¦ 0e
Le: Sie o~.u oe: Cooe i: o~s Fe¦o \eLcooe suc¦e: i: oe: Tile¦¦eisle vo: wwwlecC¦~::e¦oe
ei: Mil ¡ ge¦e::.eic¦:ele \eLcooes Le.ie¦e: sic¦ ~u[ /:li¦e¦, oie .u: Zeil¡u:¦l oes Reo~¦
lio:ssc¦¦usses i: [:e:iu:De:eic¦ vo: lecC¦/ÑÑEL w~:e:
0¦oss~:
ZoO wwwlecC¦~::e¦oe
6Icssar
±
Fortsetzung des Listings in der nach-
Iolgenden Zeile.
B|N0
Berkeley Internet Name Domain, Im-
plementation der Domain-Name-Sys-
tem-Protokolle. Der vom Internet SoIt-
ware Consortium (ISC) gepfegte
BIND-DNS-Server stellt den Stan-
darddienst Iür die Namensaufösung im
Internet dar. BIND umIasst den eigent-
lichen DNS-Server-Dienst, eine Resol-
ver-Bibliothek sowie Werkzeuge zur
Wartung und Pfege des Dienstes.
Brute Force
Brute-Force-AngriII: Der Versuch, ein
Kryptosystem durch Ausprobieren al-
ler Schlüsselkombinationen zu bre-
chen. Die Stärke eines Kryptosystems
gilt als optimal, wenn es keinen mögli-
chen AngriII gibt, der weniger auIwen-
dig als ein Brute-Force-AngriII wäre.
C6|
Common Gateway InterIace. Schnitt-
stelle, über die der Webserver externe
Programme auIruIen und deren Ergeb-
nisse als Webseiten bereitstellen kann.
CPAP
Challenge Handshake Authentication.
VerIahren zur Authentifzierung bei
Einwählverbindungen. Der Server sen-
det zunächst eine spezielle Codese-
quenz (Challenge), auI die der Client
richtig antworten muss (Handshake).
0aemon
Ein Daemon lässt sich mit einem
Dienst unter Windows NT vergleichen.
Er stellt beispielsweise einen FTP-
oder HTTP-Server zur VerIügung.
0PCP
Dynamic Host Confguration Protocol.
Bei DHCP bezieht ein Rechner seine
IP-Konfguration von einem Server.
0HZ
Demilitarized Zone: Hier befnden sich
Bastion-Host, InIormations-Server,
Modem-Pools und andere Server im
DMZ-Netz. Es agiert als isoliertes Netz
zwischen privatem LAN und Internet.
0N5
Domain Name System (oder Service).
Internet-Dienst, der Domain-Namen
wie etwa in die zugehörigen IP-Adres-
sen umsetzt. Weiß ein DNS-Server die
IP-Adresse eines Namens nicht, Iragt
er bei einem anderen Server nach.
0omain
Um Benutzer und Rechner zu einer lo-
gischen Struktur zu organisieren, bietet
Windows NT das Domänenkonzept.
Ein Server pro Domain ist Iür die zen-
trale Sicherheitsverwaltung zuständig.
Zo1 wwwlecC¦~::e¦oe
0¦oss~:
0o5
Denial oI Service. Hacker-AngriII auI
einen Rechner, der den angegriIIenen
Computer lahm legt, so dass er auI An-
Iragen nicht mehr reagieren kann.
05L
Digital Subscriber Line. Die Standlei-
tung ins Internet Iür kleine Firmen und
Privatpersonen. DSL arbeitet mit den-
selben KupIerkabeln wie analoge Tele-
Ione und ISDN-Anschlüsse. Die Über-
tragungsgeräte (Splitter und DSL-Mo-
dem) sind iedoch auIwendiger.
Firewall
SoItware zur Sicherung des LAN vor
AngriIIen aus dem Internet. Eine Fire-
wall kann auI verschiedenen Ebenen
arbeiten: Als Paketflter erlaubt sie nur
ZugriIIe auI bestimmte lokale IP-
Adressen und Ports. Als Proxyserver
agiert sie als Kommunikations-Inter-
Iace: Der Client leitet seine AnIragen
nicht direkt an den Ziel-Server, sondern
über den Proxy. Mit StateIul Inspection
überwacht sie nicht nur den Datenver-
kehr, sondern auch die Anwendungs-
ebene des OSI-Schichtenmodells.
F00N
Fully Qualifed Domain Name. Der
komplette Host-Name eines Rechners
inklusive sämtlicher Subdomain- und
Domain-Namen (Beispiel: search.sup-
port.microsoIt.com).
FTP
File TransIer Protocol. Spezielles IP-
Protokoll zur Dateiübertragung.
Pash
Von Hashing-Algorithmus. Ausgehend
von einer Datenmenge wird ein eindeu-
tiger nummerischer Wert erzeugt. Jede
Veränderung der Datenbasis Iührt zu
einer Veränderung des Hash-Wertes.
|CHP
Internet Control Message Protocol.
TCP/IP-Protokoll zum Austausch von
Fehler- und Statusmeldungen.
|HAP
Internet Mail Access Protocol. Stan-
dardprotokoll zur Zustellung von E-
Mails. E-Mail-Clients verwenden das
Protokoll zur Kommunikation mit ei-
nem E-Mail-Server. Im Gegensatz zu
POP3 verbleiben die Nachrichten stan-
dardmäßig auI dem Server.
|nit-5criþt
Über Init-Scripts startet Linux beim
Systemstart abhängig vom Runlevel
die benötigten Dienste. Die Scripts sind
mit der autoexec.bat von DOS ver-
gleichbar, iedoch deutlich fexibler.
L0AP
Lightweight Directory Access Proto-
col. Ein standardisiertes Netzwerkpro-
tokoll zum ZugriII auI Verzeichnis-
dienste, über die sich Ressourcen wie
E-Mail-Adressen fnden lassen.
L|L0
Linux Loader. Bei LILO handelt es sich
um den Standard-Bootmanager unter
Linux.
0¦oss~:
ZoZ wwwlecC¦~::e¦oe
Hasquerading / NAT
Network Address Translation. Bei
NAT handelt es sich um ein VerIahren
zur Abschottung des LAN gegenüber
dem Internet. Dabei wird zum Internet
hin immer nur die Adresse des Gate-
ways gemeldet, unabhängig von der
tatsächlichen IP-Adresse des Rechners
im LAN. Der NAT-Router übernimmt
dabei die Zuordnung der IP-Pakete zu
den richtigen EmpIängern.
H05
Beim Message-Digest-Algorithmus
Version 5 handelt es sich um einen Ver-
schlüsselungsalgorithmus, der vorwie-
gend zur Erzeugung digitaler Signatu-
ren verwendet wird.
NF5
Network File System. Spezielles
Dateisystem, das in Unix-Umgebun-
gen den ZugriII auI entIernte Verzeich-
nisse und Dateien ermöglicht.
N|5
Network InIormation Services. Früher
als Yellow Pages (YP) bezeichnet.
Dient der Verteilung von wichtigen Da-
ten (Passwörter, Adressen, Schlüssel-
Codes) vom Server an den Client. Setzt
wie NFS auI RPC auI.
N05
Network Operating System, Netz-
werkbetriebssystem. Allgemeine Be-
zeichnung Iür ein Betriebssystem, das
Iür den Server-Einsatz vorgesehen ist,
wie zum Beispiel Novell Netware oder
Windows NT Server.
PAP
Password Authentication Protocol. Bei
PAP authentifziert sich ein Einwahl-
Client per Benutzernamen und Pass-
wort beim Server.
P0P / P0P3
Post OIfce Protocol. Standardproto-
koll zur Zustellung von E-Mails an ei-
nen Mail User Agent. Siehe: IMAP.
Port
Ein TCP-Port dient als Kommunika-
tionskanal Iür den ZugriII auI einen In-
ternet-Rechner über TCP/IP, ähnlich
den Nebenstellen eines TeleIonan-
schlusses. Jedes TCP/IP-Programm
verwendet einen Port Iür die Kommu-
nikation mit anderen Rechnern.
PPP
Point-to-Point-Protocol. PPP ist das
gebräuchlichste EinwahlverIahren Iür
den ZugriII auI entIernte Netze.
PPPoE
Point-to-Point-Protocol over Ethernet.
Spezielles Protokoll Iür Punkt-zu-
Punkt-Verbindungen über Ethernet.
Proxy
KurzIorm Iür Proxy-Cache. Der Cache
speichert beispielsweise Internet-Sei-
ten lokal zwischen, so dass sie beim
nächsten AbruI nicht vom Internet-Ser-
ver geholt werden müssen, sondern
schneller und kostengünstiger aus dem
lokalen Cache.
Zoo wwwlecC¦~::e¦oe
0¦oss~:
Root
(Englisch: Wurzel) Wurzel des Ver-
zeichnisbaums auI Unix-Systemen:
auch: Benutzername Iür den System-
administrator unter Unix.
Router
Router vermitteln die Daten zwischen
zwei oder mehreren Subnetzen, die bei-
spielsweise durch Weitverkehrsleitun-
gen wie ISDN verbunden sind. Auch
ein Einsatz im LAN ist möglich, um die
Datensicherheit zu erhöhen.
RPC
Remote Procedure Call. Programmier-
schnittstelle, mit der Funktionen auI
entIernten Rechnern ausgeIührt wer-
den können. RPC wurde von Sun Iür
die .Open Network Computing'-Ar-
chitektur entwickelt. Eine weitere
RPC-Architektur ist DCOM.
RPH
Spezielles DateiIormat, über das der
Red Hat Package Manager installierte
Programme und Zusatzbibliotheken
Iür Linux verwaltet.
5amba
Linux-Paket, das auI dem Linux-Rech-
ner das Server-Message-Block-Proto-
koll bereitstellt. SMB ist die Grundlage
Iür Windows-Netzwerke.
5HB
Server Message Block. Netzwerkpro-
tokoll auI Schicht 6 und 7 des OSI-Mo-
dells. Es bietet Mechanismen zur Frei-
gabe von Dateien, Druckern und Kom-
munikations-Schnittstellen wie seriel-
len Ports. Es defniert auch abstrakte
Kommunikation über named pipes und
mail slots. Zur Datenübertragung ist
ein Transportprotokoll wie TCP/IP
oder NetBEUI notwendig.
5NHP
Simple Network Management Proto-
col. Netzwerkprotokoll, das die Ver-
waltung von Netzwerkgeräten def-
niert.
55P
Secure Shell. Ein von der Firma SSH
Communications Security entwickel-
tes Programm, das eine sichere Kom-
munikation und Authentifzierung er-
möglicht. Dazu verschlüsselt SSH den
kompletten Login-Prozess einschließ-
lich der Passwortübermittlung. SSH
steht unter anderem Iür Windows und
Unix zur VerIügung.
55L
Secure Sockets Layer. Von Netscape
eingeIührtes Protokoll zur Übermitt-
lung von privaten InIormationen. Ver-
wendet ein Public-Key-VerIahren Iür
die Verschlüsselung.
TCP
Transmission Control Protocol. Ver-
bindungsorientiertes Transportproto-
koll aus der TCP/IP-Suite. UmIasst
VerbindungsauI- und -abbau, Reihen-
Iolgegarantie, Verlustsicherung, Fluss-
kontrolle und anderes mehr.
0¦oss~:
Zo/ wwwlecC¦~::e¦oe
Telnet
Telnet ermöglicht den ZugriII auI die
Kommandoebene eines entIernten
Rechners.
Token-Ring
Inzwischen kaum noch benutztes Ver-
Iahren zur Vernetzung im LAN nach
IEEE802.5. Die Geschwindigkeit kann
4 oder 16 Mbit/s betragen. Als Medium
dient Twisted Pair.
U0P
Das User Datagram Protocol erlaubt
das Versenden von Datagrammen zwi-
schen zwei Systemen. Das Protokoll
garantiert weder die Zustellungen noch
die korrekte ReihenIolge der zugestell-
ten Datenpakete.
UR|
UniIorm Resource Identifer. Eindeuti-
ger Bezeichner Iür den ZugriII auI Res-
sourcen im Netzwerk wie beispielswei-
se Freigaben auI Netzwerk-Servern
(\\SERVER\Share) oder Dokumente
auI Webservern (http://www.tec-
channel.de). Letzteres heißt auch URL,
UniIorm Resource Locator.
U5B
Universal Serial Bus, einIacher Bus Iür
externe Peripherie mit pyramidenIör-
miger Topologie. In der Spezifkation
1.1 sind zwei Modi vorgesehen. Der
schnelle Modus bietet 12 Mbit/s, der
langsamere 1,5 Mbit/s. Seit 2001 ist die
Erweiterung USB 2.0 auI dem Markt.
Diese arbeitet mit einer Datenübertra-
gungsrate von 480 Mbit/s.
wAN
Wide Area Network. Computernetz-
werk, das über TeleIon-, Funk- oder an-
dere Weitverkehrsverbindungen kom-
muniziert. Das größte WAN ist das In-
ternet.
webþroxy
SoItware zur Sicherung des LAN vor
AngriIIen aus dem Internet. Eine Fire-
wall kann auI verschiedenen Ebenen
arbeiten: Als Paketflter erlaubt sie nur
ZugriIIe auI bestimmte lokale IP-
Adressen und Ports. Als Proxysserver
agiert sie als Kommunikationsschnitt-
stelle. Der Client im LAN leitet seine
AnIragen nicht direkt an den Ziel-Ser-
ver, sondern über den Proxy. Mittels
StateIul Inspection überwacht sie nicht
nur den reinen Datenverkehr, sondern
auch die Anwendungsebene des OSI-
Schichtenmodells.
XHL
Die eXtensible Markup Language ist
eine Meta-Sprache zur Beschreibung
strukturierter Daten. XML ist über Tags
erweiterbar und auI vielen verschiede-
nen PlattIormen darstellbar. Wichtigste
EigenschaIt beim Einsatz von XML ist
die strikte Trennung von Inhalt und
Layout, die beispielsweise bei HTML
nicht gegeben ist.
X-windows
Grafsche Oberfäche Iür Unix-Sys-
teme mit defnierter Programmier-
schnittstelle. Sie Iunktioniert nach dem
Client-Server-Prinzip. Aktuelle Ver-
sion des X-Window-Systems ist X11
Release 6 oder kurz X11R6.
Zo¯ wwwlecC¦~::e¦oe
¦:oex
Index
5ymbole
/boot 23, 165
/etc/exports 88
/etc/Istab 87
/etc/hosts 47
/etc/lilo.conI 165
/etc/rc.d/rc.sysinit 91
/etc/sysconfg 51, 87
/var 23, 91
A
Access Control List 138
ACPI 17
Active Directory 138, 216
Ad-hoc-Modus 74
Administrationskosten 219
Adobe-Treiber 152
aIpacket 92
allspamto 135
AllowOverride 110
Apache 93, 106, 171
apache2ctl 97
authdigest 113
AuthDBMGroupFile 113
AuthDBMUserFile 113
Authentifzierung 106, 110
AuthGroupFile 113
Auto-Whitelist 131
B
Bayes-Filter 132
Benutzer 49
Bildschirmaufösung 18
Bluetooth 164
Boot-Image 86, 88
Bootdiskette 15, 26
Bootmanager 26
BrowserMatch 107
bzImage 165
C
C¹¹-Compiler 63
Caching 106
Cardbus 72
Cardmanager 72
cgi-bin 104
CUPS 44, 148
cupsaddsmb 154
0
Daemon 49, 52
Dateisystem-Typen 24
Datenkompression 106
dbmmanage2 113
DeIault-Gateway 29, 46, 176
DefateFilterNote 108
Dependencies 40, 89
Device-ID 82
DHCP 28, 45, 90, 171, 176, 204
Discovery-Phase 92
Diskless Client 86
DMA-Modus 41
DMZ 29
DNS-Server 45, 76, 173, 176, 202
Documentroot 103
Domain, Domäne 45, 49, 138
Drucker 44
DSL 28, 45, 170
DynDNS 115
E
E-Mail 126
ESSID 74
Ext2, Ext3 24
F
FarbtieIe 43
FAT 22
Ieste IP-Adresse 46
Firewall 51, 186
Firewire 165
Fli4l 199
fiwizNG 199
Forward 188
Freigaben 143
Isck.ext2 87
FTP 34
6
Gateway 176
gcc 63
GID 49
Grafkkarte 30, 42
GRUB 26
Gruppen 49, 145
¦:oex
Zoo wwwlecC¦~::e¦oe
P
Hardware-Datenbank 15, 41, 45
Harvester 126
Hauptspeicher 15
HorizontalIrequenz 31
Host 29, 45, 104
Hotplug 72, 85
htpasswd2 111
httpd 207
httpd.conI 101, 107
|J
IMAP 115, 121
imonc 202
imond 202
inetd 49
initrd 88
Installation 14
Installationsquelle 34
Intel C¹¹ 63
Investitionsschutz 221
IP-Adresse 28, 45, 201
iptables 188
ISDN 28, 45, 165, 170, 180
JFS 24
K
Kernel-Kompilierung 165
Konfguration der Netzwerkkarten 45
Konsolidierung 218
Kryptodatei 24
L
LILO 26, 165
Linux-WLAN 79
Linuxant 81
linuxrc 16, 92
Lizenzkosten 220
LoadModule 110
Logical Volume Manager 21
lpadmin 149
LPD 44
lspci 88
H
Mail-Sammler 123
Mail-Server 115
Mail TransIer Agent 48
Mangling 189
ManuIacturer-ID 79
Masquerading 201
Maus 20, 42
Migration 216, 217, 219
modauthdbm 113
modcache 109
moddefate 106
moddiskcache 109
modinIo.conI 99
modmemcache 109
modstatus.conI 99
Module 106
modules.dep 89
Modulnamen 34
Monitor 30, 42
morespamto 135
Multi-Domain-Setup 123
N
NAT 188, 201
NBP 86
Ndiswrapper 81
net 138
Netzwerkdrucker 44
Netzwerkmaske 28, 46, 201
NFS/NIS 30, 34, 48, 87, 88
NTP 48
0
oIIenes Relay 116
onboot 85
Online-Update 35
OpenSSH 168
OpenSSL 168
Output 188
P
Paketflter 186
Paketmanager 40
Parameter Iür den Systemstart 17
Partitionierung 22
passwd 142
PCI-ID 82
PCMCIA-CS 72
Peripherie 41
PGO 66
PHP 94
POP3 115
Port-Forwarding 208
Postrouting 189
Zo¯ wwwlecC¦~::e¦oe
¦:oex
Postscript-Treiber 152
pragma 66
Prerouting 189
Printserver 44, 148
Profle Guided Optimization 66
Proxy 29, 48
PXE 86
0
Quellpakete 40
Quoten 155
R
RaWrite 16
rc.sysinit 87
Read-only-Dateisystem 87
ReiserFS 24, 164
Relay 117
Return on Invest 222
root 20, 27, 33
Router 170, 186
Routing 46
Runlevel-Editor 52
5
Samba 138, 148
SCSI 164
SetEnvIINoCase 107
Sicherheit 49
Sicherungskopie 52
SLOS 162
smb.conI 140
smbclient 142
smbpasswd 142
SoItware installieren 40
Spam 115, 126
SpamAssassin 119, 126
Spool-Verzeichnis 150
Standard-Routing 175
Startprotokoll 53
StatistikIunktionen 148
STP 163
su, sux 33
SuSEfrewall2 51
SuSE Linux OIfce Server 162
Swap-Partition 20
syslinux 16
SysLogD 203
System.map 89
Systemkonfguration 33
Systemprotokoll 53
Systemvoraussetzungen 15
T
Tastaturbelegung 17
TeleIonie 45, 164
TFTP-Server 90
Total Cost oI Ownership 221
Treiberautomatik 151
U
UID 49
USB 17, 42
User Aliases 121
V
Verbindungsparameter 173
VertikalIrequenz 31
Virtual-Host 101
Virtualisierung 218
Virtual PC 55
virtuelle Aufösung 43
Virtuelle Server 101
VPN 167, 212
VTune Iür Linux 66
w
Web-Server 93
WEP 74
Whitelist 135
Windows-Treiber 157
WLAN 72
WWW-Faustregel 191
X
X11 31, 42
XFS 24
xinetd 49
XMail 115, 136
XMCrypt 118
XPAI 118
Y
YaST Online Update 35
Z
Zeitserver 214
Zeitzone 26
ZugriIIsschutz 148