Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
29
Über dieses Buch
37
1 Der Administrator
41
1.1 Der Beruf des Systemadministrators
41
1.1.1 Berufsbezeichnung und Aufgaben
41
1.1.2 Job-Definitionen
42
1.1.3 Definitionen der Management-Level
47
1.2 Nützliche Fähigkeiten und Fertigkeiten
48
1.2.1 Soziale Fähigkeiten
49
1.2.2 Arbeitstechniken
49
1.3 Das Verhältnis vom Administrator zu Normalsterblichen
51
1.3.1 Der Chef und andere Vorgesetzte
51
1.3.2 Benutzer
52
1.3.3 Andere Administratoren
52
1.4 Unterbrechungsgesteuertes Arbeiten
53
1.5 Einordnung der Systemadministration
54
1.5.1 Arbeitsgebiete
54
1.5.2 DevOps
57
1.6 Ethischer Verhaltenskodex
58
1.7 Administration – eine Lebenseinstellung?
60
TEIL I Grundlagen
61
2 Bootvorgang
63
2.1 Einführung
63
2.2 Der Bootloader GRUB 2
63
2.2.1 Funktionsweise
63
2.2.2 Installation
64
2.2.3 Konfiguration
64
2.3 Bootloader Recovery
70
2.4 Der Kernel und die »initrd«
72
2.4.1 »initrd« erstellen und modifizieren
72
2.4.2 »initrd« manuell modifizieren
76
2.5 »systemd«
77
2.5.1 Begrifflichkeiten
78
2.5.2 Kontrollieren von Diensten
79
2.5.3 Aktivieren und Deaktivieren von Diensten
81
2.5.4 Erstellen und Aktivieren eigener Service Units
82
2.5.5 Target Units
84
2.5.6 »systemd«- und Servicekonfigurationen
85
2.5.7 Anzeige von Dienstabhängigkeiten
86
2.5.8 Logs mit »journald«
88
2.5.9 Abschlussbemerkung
89
3 Festplatten und andere Devices
91
3.1 RAID
91
3.1.1 RAID-0
92
3.1.2 RAID-1
92
3.1.3 RAID-5
92
3.1.4 RAID-6
93
3.1.5 RAID-10
93
3.1.6 Zusammenfassung
94
3.1.7 Weich, aber gut: Software-RAID
95
3.1.8 Software-RAID unter Linux
96
3.1.9 Abschlussbemerkung zu RAIDs
103
3.2 Rein logisch: Logical Volume Manager »LVM«
104
3.2.1 Grundlagen und Begriffe
106
3.2.2 Setup
107
3.2.3 Aufbau einer Volume Group mit einem Volume
108
3.2.4 Erweiterung eines Volumes
111
3.2.5 Eine Volume Group erweitern
111
3.2.6 Spiegelung zu einem Volume hinzufügen
113
3.2.7 Eine defekte Festplatte ersetzen
114
3.2.8 Backups mit Snapshots
115
3.2.9 Mirroring ausführlich
119
3.2.10 Thin Provisioning
122
3.2.11 Kommandos
126
3.3 »udev«
127
3.3.1 »udev«-Regeln
127
3.3.2 Eigene Regeln schreiben
129
3.4 Alles virtuell? »/proc«
131
3.4.1 CPU
131
3.4.2 RAM
133
3.4.3 Kernelkonfiguration
134
3.4.4 Kernelparameter
134
3.4.5 Gemountete Dateisysteme
135
3.4.6 Prozessinformationen
135
3.4.7 Netzwerk
137
3.4.8 Änderungen dauerhaft speichern
137
3.4.9 Abschlussbemerkung
138
4 Dateisysteme
139
4.1 Dateisysteme: von Bäumen, Journalen und einer Kuh
139
4.1.1 Bäume
140
4.1.2 Journale
142
4.1.3 Und die Kühe? COW-fähige Dateisysteme
143
4.2 Praxis
143
4.2.1 Ext2/3-FS aufgebohrt: mke2fs, tune2fs, dumpe2fs, e2label
143
4.2.2 ReiserFS und seine Tools
146
4.2.3 XFS
147
4.2.4 Das Dateisystem vergrößern oder verkleinern
148
4.2.5 BtrFS
150
4.3 Fazit
156
5 Berechtigungen
157
5.1 User, Gruppen und Dateisystemstrukturen
157
5.2 Dateisystemberechtigungen
160
5.2.1 Spezialbits
161
5.3 Erweiterte Posix-ACLs
164
5.3.1 Das Setzen und Anzeigen von einfachen ACLs
165
5.3.2 Setzen von Default-ACLs
167
5.3.3 Setzen von erweiterten ACLs
169
5.3.4 Entfernen von ACLs
171
5.3.5 Sichern und Zurückspielen von ACLs
172
5.4 Erweiterte Dateisystemattribute
173
5.4.1 Attribute, die jeder Benutzer ändern kann
173
5.4.2 Attribute, die nur »root« ändern kann
174
5.4.3 Weitere Attribute
175
5.5 Quotas
175
5.5.1 Installation und Aktivierung der Quotas
176
5.5.2 Journaling-Quotas
177
5.5.3 Quota-Einträge verwalten
178
5.6 Pluggable Authentication Modules (PAM)
182
5.6.1 Verschiedene PAM-Typen
183
5.6.2 Die PAM-Kontrollflags
184
5.6.3 Argumente zu den Modulen
184
5.6.4 Modulpfade
185
5.6.5 Module und ihre Aufgaben
185
5.6.6 Die neuere Syntax bei der PAM-Konfiguration
186
5.7 Konfiguration von PAM
188
5.8 »ulimit«
190
5.8.1 Setzen der »ulimit«-Werte
191
5.9 Abschlussbemerkung
192
TEIL II Aufgaben
193
6 Paketmanagement
195
6.1 Paketverwaltung
195
6.1.1 »rpm« oder »deb«?
196
6.1.2 »yum«, »yast«, »zypper« oder »apt«?
198
6.1.3 Außerirdische an Bord – »alien«
200
6.2 Pakete im Eigenbau
201
6.2.1 Vorbereitungen
201
6.2.2 Am Anfang war das Makefile
202
6.2.3 Vom Fellknäuel zum Paket
205
6.2.4 Patchen mit »patch« und »diff«
211
6.2.5 Updates ohne Repository
213
6.2.6 »rpm«-Update-Paket
214
6.2.7 »deb«-Update-Pakete
218
6.2.8 Updatesicher konfigurieren
220
6.3 Updates nur einmal laden: »Cache«
222
6.3.1 »deb«-basierte Distributionen: »apt-cacher-ng«
223
6.3.2 Installation
223
6.3.3 Konfiguration
223
6.3.4 Clientkonfiguration
225
6.3.5 Fütterungszeit – bereits geladene Pakete dem Cache hinzufügen
225
6.3.6 Aufräumen – Zweige aus dem Cache entfernen
226
6.3.7 Details: »Report-HTML«
227
6.3.8 »rpm«-basierte Distributionen
228
6.4 Alles meins: »Mirror«
228
6.4.1 »deb«-basierte Distributionen: »debmirror«
228
6.4.2 Konfiguration
228
6.4.3 Benutzer und Gruppe anlegen
229
6.4.4 Verzeichnisstruktur anlegen
229
6.4.5 Mirror-Skript erstellen (Ubuntu)
229
6.4.6 Cronjobs einrichten
232
6.4.7 Schlüssel importieren
233
6.4.8 Mirror erstellen
233
6.4.9 Mirror verfügbar machen – Webdienst konfigurieren
234
6.4.10 Clientkonfiguration
234
6.4.11 rpm-basierte Distributionen
235
6.4.12 Benutzer und Gruppe anlegen
235
6.4.13 Verzeichnisstruktur anlegen: »openSUSE leap«
236
6.4.14 Verzeichnisstruktur anlegen: »CentOS«
236
6.4.15 Mirror-Skript erstellen
236
6.4.16 Cronjobs einrichten
237
6.4.17 Mirror erstellen
238
6.4.18 Mirror verfügbar machen – Webdienst konfigurieren
239
6.4.19 Clientkonfiguration: »openSUSE leap«
240
6.4.20 Clientkonfiguration: »CentOS«
240
7 Backup und Recovery
243
7.1 Backup gleich Disaster Recovery?
243
7.2 Backupstrategien
244
7.3 Datensicherung mit »tar«
247
7.3.1 Weitere interessante Optionen für GNU-»tar«
248
7.3.2 Sicherung über das Netzwerk mit »tar« und »ssh«
249
7.4 Datensynchronisation mit »rsync«
250
7.4.1 Lokale Datensicherung mit »rsync«
250
7.4.2 Synchronisieren im Netzwerk mit »rsync«
251
7.4.3 Wichtige Optionen für »rsync«
251
7.4.4 Backupskript für die Sicherung auf einen Wechseldatenträger
253
7.4.5 Backupskript für die Sicherung auf einen Backupserver
254
7.4.6 Verwendung von »ssh« für die Absicherung von »rsync«
256
7.5 Imagesicherung mit »dd«
257
7.5.1 Sichern des Master Boot Records (MBR)
257
7.5.2 Partitionstabelle mithilfe von »dd« zurückspielen
258
7.5.3 Erstellen eines Images mit »dd«
258
7.5.4 Einzelne Dateien mit »dd« aus einem Image zurückspielen
259
7.5.5 Abschlussbemerkung zu »dd«
261
7.6 Disaster Recovery mit ReaR
261
7.6.1 ReaR installieren
263
7.6.2 ReaR konfigurieren
263
7.6.3 Aufrufparameter von ReaR
265
7.6.4 Der erste Testlauf
266
7.6.5 Der Recovery-Prozess
270
7.6.6 Die ReaR-Konfiguration im Detail
272
7.6.7 Migrationen mit ReaR
273
7.7 Backup und Recovery mit Bacula/Bareos
274
7.7.1 Das erste Backup: Der Bareos-Server sichert sich selbst
277
7.7.2 Einrichtung eines zu sichernden externen Clients
286
7.7.3 Sichern von MySQL und LDAP
289
7.7.4 Bareos und ReaR als Dreamteam
289
7.7.5 Bacula/Bareos für Fortgeschrittene
290
TEIL III Dienste
291
8 Webserver
293
8.1 Apache
293
8.1.1 Installation
293
8.1.2 Virtuelle Hosts einrichten
294
8.1.3 Debian/Ubuntu: virtuelle Hosts aktivieren
297
8.1.4 HTTPS konfigurieren
297
8.1.5 Benutzer-Authentisierung mit Kerberos
302
8.1.6 Apache-Server mit ModSecurity schützen
304
8.1.7 Tuning und Monitoring
308
8.2 LightHttpd
313
8.2.1 Installation
313
8.2.2 Virtuelle Hosts mit »mod_simple_vhost« einrichten
313
8.2.3 Virtuelle Hosts ohne »mod_simple_vhost« einrichten
315
8.2.4 HTTPS konfigurieren
316
8.3 Nginx
317
8.3.1 Installation
318
8.3.2 Grundlegende Konfiguration
318
8.3.3 Virtuelle Hosts
319
8.3.4 HTTPS mit Nginx
321
8.4 Logfiles auswerten
322
9 FTP-Server
325
9.1 Einstieg
325
9.1.1 Das File Transfer Protocol
325
9.1.2 vsftpd
326
9.2 Download-Server
326
9.3 Zugriff von Usern auf ihre Homeverzeichnisse
328
9.4 FTP über SSL (FTPS)
329
9.5 Anbindung an LDAP
331
10 Mailserver
333
10.1 Postfix
333
10.1.1 Grundlegende Konfiguration
334
10.1.2 Postfix als Relay vor Exchange, Dovecot oder anderen Backends
336
10.1.3 Die Postfix-Restrictions: der Schlüssel zu Postfix
338
10.1.4 Weiterleitungen und Aliase für Mailadressen
347
10.1.5 SASL/SMTP-Auth
348
10.1.6 SSL/TLS für Postfix einrichten
350
10.2 Antivirus- und Spam-Filter mit Amavisd-new, ClamAV und SpamAssassin
352
10.2.1 Installation
354
10.2.2 ClamAV konfigurieren
354
10.2.3 Updates für SpamAssassin konfigurieren
355
10.2.4 Amavisd-new konfigurieren
356
10.2.5 Eine Quarantäne mit Amavis betreiben
361
10.2.6 Postfix für die Verwendung mit Amavisd-new konfigurieren
363
10.3 POP3/IMAP-Server mit Dovecot
364
10.3.1 Vorbereitungen im Linux-System
364
10.3.2 Log-Meldungen und Debugging
365
10.3.3 User-Authentifizierung
366
10.3.4 Aktivierung des LMTP-Servers von Dovecot
367
10.3.5 Einrichten von SSL/TLS-Verschlüsselung
369
10.4 Der Ernstfall: Der IMAP-Server erwacht zum Leben
370
10.5 Dovecot im Replikations-Cluster
372
10.5.1 Einrichtung der Replikation
373
10.5.2 Hochverfügbare Service-IP
376
10.6 Monitoring und Logfile-Auswertung
377
10.6.1 Logfile-Auswertung mit »Pflogsumm«
378
11 Datenbank
381
11.1 MariaDB in der Praxis
381
11.1.1 Installation und grundlegende Einrichtung
381
11.1.2 Replikation
383
11.1.3 Master-Master-Replikation
391
11.2 Tuning
394
11.2.1 Tuning des Speichers
395
11.2.2 Tuning von Indizes
401
11.3 Backup und Point-In-Time-Recovery
405
11.3.1 Restore zum letztmöglichen Zeitpunkt
405
11.3.2 Restore zu einem bestimmten Zeitpunkt
406
12 Syslog
409
12.1 Aufbau von Syslog-Nachrichten
409
12.2 Der Klassiker: »SyslogD«
411
12.3 Syslog-ng
413
12.3.1 Der »options«-Abschnitt
413
12.3.2 Das »source«-Objekt
415
12.3.3 Das »destination«-Objekt
415
12.3.4 Das »filter«-Objekt
417
12.3.5 Das »log«-Objekt
418
12.4 Rsyslog
419
12.4.1 Eigenschaftsbasierte Filter
419
12.4.2 Ausdrucksbasierte Filter
420
12.5 Loggen über das Netz
421
12.5.1 SyslogD
421
12.5.2 Syslog-ng
422
12.5.3 Rsyslog
422
12.6 Syslog in eine Datenbank schreiben
423
12.6.1 Anlegen der Log-Datenbank
423
12.6.2 In die Datenbank loggen
424
12.7 »Systemd« mit »journalctl«
426
12.7.1 Erste Schritte mit dem »journalctl«-Kommando
427
12.7.2 Filtern nach Zeit
429
12.7.3 Filtern nach Diensten
431
12.7.4 Kernelmeldungen
432
12.8 Fazit
433
13 Proxy-Server
435
13.1 Einführung des Stellvertreters
435
13.2 Proxys in Zeiten des Breitbandinternets
436
13.3 Herangehensweisen und Vorüberlegungen
437
13.4 Grundkonfiguration
437
13.4.1 Aufbau des Testumfelds
438
13.4.2 Netzwerk
438
13.4.3 Cache
439
13.4.4 Logging
440
13.4.5 Handhabung des Dienstes
442
13.4.6 Objekte
444
13.4.7 Objekttypen
445
13.4.8 Objektlisten in Dateien
445
13.4.9 Regeln
446
13.4.10 Überlagerung mit »first match«
448
13.4.11 Anwendung von Objekten und Regeln
449
13.5 Authentifizierung
450
13.5.1 Benutzerbasiert
453
13.5.2 Gruppenbasiert
463
13.6 Helferlein
466
13.6.1 squidGuard
467
13.6.2 Antiviren-Check: ClamAV mit »c-icap« und »squidclamav«
469
13.6.3 Content Filtering mit »e2Guardian«
479
13.7 Log-Auswertung: »Calamaris« und »Sarg«
484
13.7.1 Calamaris
485
13.7.2 Sarg
486
13.8 Unsichtbar: »transparent proxy«
487
13.9 Ab in den Pool – Verzögerung mit »delay_pools«
488
13.9.1 Funktionsweise – alles im Eimer!
489
13.9.2 Details – Klassen, Eimer und ACLs richtig wählen
489
13.10 Familienbetrieb: »Sibling, Parent und Co.«
492
13.10.1 Grundlagen
492
13.10.2 Eltern definieren
493
13.10.3 Geschwister definieren
493
13.10.4 Load Balancing
494
13.10.5 Inhalte eigenständig abrufen: »always_direct«
495
13.11 Cache-Konfiguration
495
13.11.1 Cache-Arten: »Hauptspeicher« und »Festplatten«
495
13.11.2 Hauptspeicher-Cache
496
13.11.3 Festplatten-Cache
497
13.11.4 Tuning
499
14 Kerberos
501
14.1 Begriffe im Zusammenhang mit Kerberos
502
14.2 Funktionsweise von Kerberos
503
14.3 Installation und Konfiguration des Kerberos-Servers
504
14.3.1 Konfiguration der Datei »/etc/krb5.conf«
505
14.3.2 Konfiguration der Datei »kdc.conf«
507
14.4 Initialisierung und Testen des Kerberos-Servers
509
14.4.1 Verwalten der Principals
512
14.5 Kerberos und PAM
515
14.5.1 Konfiguration der PAM-Dateien auf einem SUSE-System
516
14.5.2 Testen der Anmeldung
516
14.6 Neue Benutzer mit Kerberos-Principal anlegen
517
14.7 Hosts und Dienste
518
14.7.1 Entfernen von Einträgen
520
14.8 Konfiguration des Kerberos-Clients
521
14.8.1 PAM und Kerberos auf dem Client
522
14.9 Replikation des Kerberos-Servers
523
14.9.1 Bekanntmachung aller KDCs im Netz
523
14.9.2 Konfiguration des KDC-Masters
526
14.9.3 Konfiguration des KDC-Slaves
529
14.9.4 Replikation des KDC-Masters auf den KDC-Slave
529
14.10 Kerberos Policies
531
14.11 Kerberos im LDAP einbinden
534
14.11.1 Konfiguration des LDAP-Servers
534
14.11.2 Umstellung des Kerberos-Servers
537
14.11.3 Zurücksichern der alten Datenbank
541
14.11.4 Erstellung der Servicekeys in der Standard-»keytab«-Datei
542
14.11.5 Erstellung der Service Keys in einer eigenen Datei
543
14.11.6 Bestehende LDAP-Benutzer um Kerberos-Principal erweitern
544
14.12 Neue Benutzer im LDAP
546
14.13 Authentifizierung am LDAP-Server über »GSSAPI«
548
14.13.1 Einrichtung der Authentifizierung unter Debian und Ubuntu
548
14.13.2 Einrichten der Authentifizierung unter SUSE und CentOS
553
14.13.3 Anbinden des zweiten KDCs an den LDAP
557
14.14 Konfiguration des LAM-Pro
558
15 Samba 4
561
15.1 Vorüberlegungen
561
15.1.1 Installation der Pakete unter Ubuntu
563
15.2 Konfiguration von Samba 4 als Domaincontroller
563
15.3 Testen des Domaincontrollers
567
15.3.1 Testen des DNS-Servers
568
15.3.2 Test des Verbindungsaufbaus
569
15.3.3 Test des Kerberos-Servers
569
15.4 Benutzer- und Gruppenverwaltung
570
15.5 Benutzer- und Gruppenverwaltung über die Kommandozeile
571
15.5.1 Verwaltung von Gruppen über die Kommandozeile
572
15.5.2 Verwaltung von Benutzern über die Kommandozeile
575
15.5.3 Setzen der Passwortrichtlinien
579
15.6 Die »Remote Server Administration Tools«(RSAT)
581
15.6.1 Einrichtung der »RSAT«
581
15.6.2 Beitritt eines Windows-Clients zur Domäne
582
15.6.3 Benutzer- und Gruppenverwaltung mit den »RSAT«
584
15.7 Gruppenrichtlinien
585
15.7.1 Verwaltung der GPOs mit den RSAT
585
15.7.2 Erste Schritte mit der Gruppenrichtlinienverwaltung
585
15.7.3 Erstellen einer Gruppenrichtlinie
587
15.7.4 Verknüpfung der Gruppenrichtlinie mit einer OU
590
15.7.5 Verschieben der Benutzer und Gruppen
592
15.7.6 GPOs über die Kommandozeile
593
15.8 Linux-Client in der Domäne
595
15.8.1 Konfiguration der Authentifizierung
601
15.8.2 Mounten über »pam_mount«
602
15.8.3 Vorbereitung auf SUSE
602
15.8.4 Umstellen des grafischen Logins
605
15.9 Zusätzliche Server in der Domäne
606
15.9.1 Einrichtung eines Fileservers
606
15.9.2 Ein zusätzlicher Domaincontroller
609
15.9.3 Konfiguration des zweiten DC
610
15.10 Was geht noch mit Samba 4?
618
16 NFS
619
16.1 Unterschiede zwischen »NFSv3«und »NFSv4«
619
16.2 Funktionsweise von »NFSv4«
620
16.3 Einrichten des »NFSv4«-Servers
621
16.3.1 Konfiguration des Pseudodateisystems
621
16.3.2 Anpassen der Datei »/etc/exports«
622
16.3.3 Tests für den NFS-Server
624
16.4 Konfiguration des »NFSv4«-Clients
626
16.5 Konfiguration des »idmapd«
627
16.6 Optimierung von »NFSv4«
629
16.6.1 Optimierung des »NFSv4«-Servers
629
16.6.2 Optimierung des »NFSv4«-Clients
630
16.7 »NFSv4«~und Firewalls
631
16.8 NFS und Kerberos
632
16.8.1 Erstellung der Principals und der »keytab«-Dateien
633
16.8.2 Kerberos-Authentifizierung unter Debian und Ubuntu
635
16.8.3 Kerberos-Authentifizierung auf SUSE und CentOS
636
16.8.4 Anpassen der Datei »/etc/exports«
636
16.8.5 NFS-Client für Kerberos unter Debian und Ubuntu konfigurieren
636
16.8.6 NFS-Client für Kerberos auf SUSE und CentOS konfigurieren
637
16.8.7 Testen der durch Kerberos abgesicherten NFS-Verbindung
637
16.8.8 Testen der Verbindung
637
17 LDAP
639
17.1 Einige Grundlagen zu LDAP
640
17.1.1 Was ist ein Verzeichnisdienst?
640
17.1.2 Der Einsatz von LDAP im Netzwerk
641
17.1.3 Aufbau des LDAP-Datenmodells
641
17.1.4 Objekte
642
17.1.5 Attribute
643
17.1.6 Schema
643
17.1.7 Das LDIF-Format
647
17.2 Unterschiede in den einzelnen Distributionen
648
17.2.1 Umstellung auf die statische Konfiguration unter SUSE
648
17.2.2 Umstellung auf die statische Konfiguration unter Ubuntu-Server und Debian
649
17.2.3 Pfade und Benutzer
649
17.2.4 Die Datenbank-Backends
649
17.2.5 Grundkonfiguration des LDAP-Servers
650
17.3 Konfiguration des LDAP-Clients
652
17.3.1 Konfiguration des Clients auf SUSE
652
17.3.2 Konfiguration des Clients unter Debian »Jessie«
653
17.3.3 Konfiguration des LDAP-Clients unter Ubuntu-Server
655
17.3.4 Erster Zugriff auf den LDAP-Server
655
17.4 Grafische Werkzeuge für die LDAP-Verwaltung
657
17.4.1 Konfiguration des »LAM«
658
17.4.2 Konfiguration des Lamdaemons
659
17.5 Änderungen mit »ldapmodify«
662
17.5.1 Interaktive änderung mit »ldapmodify«
662
17.5.2 Änderungen über eine »ldif«-Datei mit »ldapmodify«
663
17.6 Absichern der Verbindung zum LDAP-Server über TLS
664
17.6.1 Erstellen der Zertifizierungsstelle
665
17.6.2 Erstellen des Serverzertifikats
665
17.6.3 Signieren des Zertifikats
665
17.6.4 Zertifikate in die »slapd.conf«eintragen
666
17.6.5 Konfiguration des LDAP-Clients
666
17.7 Absichern des LDAP-Baums mit ACLs
667
17.7.1 Eine eigene Datei für die ACLs einbinden
668
17.7.2 Erste ACLs zur Grundsicherung des DIT
669
17.7.3 ACLs mit regulären Ausdrücken
670
17.7.4 Testen von ACLs vor dem Einsatz
672
17.8 Filter zur Suche im LDAP-Baum
673
17.8.1 Testen der Fähigkeiten des LDAP-Servers
674
17.8.2 Einfache Filter
675
17.8.3 Filter mit logischen Verknüpfungen
676
17.8.4 Einschränkung der Suchtiefe
676
17.9 Verwendung von Overlays
677
17.9.1 Overlays am Beispiel von »dynlist«
678
17.9.2 Weitere Overlays
679
17.10 Partitionierung des DIT
680
17.10.1 Einrichtung von »subordinate«-Datenbanken
681
17.10.2 Verwaltung von »Referrals«
683
17.10.3 Automatisierung des »chaining«
686
17.10.4 Administration der beiden Teilbäume
688
17.11 Replikation des DIT
690
17.11.1 Konfiguration des Providers
691
17.11.2 Konfiguration des Consumers
693
17.12 Die dynamische Konfiguration
695
17.12.1 Umstellung auf die dynamische Konfiguration am Provider
696
17.12.2 Umstellung auf die dynamische Konfiguration am Consumer
700
17.13 Verwaltung von Weiterleitungen für den Mailserver Postfix
702
17.14 Benutzerauthentifizierung von Dovecot über LDAP
705
17.15 Benutzerauthentifizierung am Proxy Squid über LDAP
707
17.15.1 Aktivierung der Authentifizierung über LDAP
708
17.15.2 Benutzerbezogene Authentifizierung
709
17.15.3 Gruppenbezogene Authentifizierung
709
17.16 Benutzerauthentifizierung am Webserver Apache über LDAP
711
17.16.1 Konfiguration der Cache-Parameter
711
17.16.2 Konfiguration der Zugriffsparameter
712
17.17 Und was geht sonst noch alles mit LDAP?
714
18 Druckserver
715
18.1 Grundkonfiguration des Netzwerkzugriffs
716
18.2 Policies
719
18.2.1 Location policies
720
18.2.2 Operation policies
721
18.2.3 Weitere Konfigurationsmöglichkeiten
722
18.2.4 Browsing
724
18.3 Drucker und Klassen einrichten und verwalten
725
18.3.1 Drucker einrichten
725
18.3.2 Klassen einrichten
726
18.4 Druckerquotas
727
18.5 CUPS über die Kommandozeile
728
18.5.1 Einstellen eines Standarddruckers
728
18.5.2 Optionen für einen Drucker verwalten
729
18.6 PPD-Dateien
731
18.7 CUPS und Kerberos
732
18.7.1 Erstellen des Kerberos-Principals und der »keytab«-Datei
732
18.7.2 Umstellung der Authentifizierung am CUPS-Server
733
18.8 Noch mehr Druck
734
TEIL IV Infrastruktur
735
19 Hochverfügbarkeit
737
19.1 Das Beispiel-Setup
737
19.2 Installation
738
19.2.1 Ubuntu 16.04 LTS
738
19.2.2 Debian 8
738
19.2.3 CentOS 7
738
19.2.4 openSUSE leap
739
19.3 Einfache Vorarbeiten
739
19.4 Shared Storage mit DRBD
740
19.4.1 Grundlegende Konfiguration
740
19.4.2 Die wichtigsten Konfigurationsoptionen
741
19.4.3 Die DRBD-Ressource in Betrieb nehmen
742
19.5 Grundkonfiguration der Clusterkomponenten
745
19.5.1 Pacemaker und Corosync: das Benachrichtigungssystem
746
19.5.2 Pacemaker: der Ressourcen-Manager
748
19.5.3 Quorum deaktivieren
750
19.6 Dienste hochverfügbar machen
752
19.6.1 Die erste Ressource: eine hochverfügbare IP-Adresse
753
19.6.2 Hochverfügbarkeit am Beispiel von Apache
756
19.6.3 DRBD integrieren
760
19.6.4 Fencing
764
20 Virtualisierung
767
20.1 Einleitung
767
20.2 Für den »Sysadmin«
768
20.3 Servervirtualisierung
772
20.3.1 KVM
773
20.3.2 Xen
775
20.4 Netzwerkgrundlagen
776
20.5 Management und Installation
779
20.5.1 Einheitlich arbeiten: »libvirt«
779
20.5.2 Konsolenbasiertes Management: »virsh«
783
20.5.3 Virtuelle Maschinen installieren
787
20.5.4 »virt-install«
789
20.5.5 Alleskönner: »Virtual Machine Manager«
791
20.5.6 Zusätzliche Konsolentools
795
20.6 Umzugsunternehmen: Live Migration
797
20.6.1 Vorbereitungen
798
20.6.2 Konfiguration im »Virtual Machine Manager«
799
TEIL V Kommunikation
801
21 Netzwerk
803
21.1 Vorwort zu »Predictable Network Interface Names«
803
21.2 Netzwerkkonfiguration mit »iproute2«
804
21.2.1 Erste Schritte
804
21.2.2 Syntax von »ip«
807
21.2.3 Links ansehen und manipulieren: »ip link«
807
21.2.4 IP-Adressen ansehen und manipulieren: »ip address«
809
21.2.5 Manipulation von ARP-Einträgen: »ip neighbour«
813
21.3 Routing mit »ip«
815
21.3.1 Routing-Informationen anzeigen
815
21.3.2 Da geht noch mehr: »Advanced Routing«
817
21.3.3 Die vorhandenen Regeln ansehen
818
21.3.4 Eine neue Routing-Tabelle anlegen
819
21.3.5 Ändern der »Policy Routing Database«
819
21.3.6 Routing über mehrere Uplinks
821
21.3.7 Fazit bis hierher
826
21.4 Bonding
826
21.4.1 Bonding-Konfiguration
827
21.4.2 Bonding bei Debian
830
21.4.3 Bonding bei Ubuntu
830
21.4.4 Bonding bei CentOS
831
21.4.5 Bonding bei openSUSE leap
831
21.5 IPv6
832
21.5.1 Die Vorteile von IPv6
834
21.5.2 Notation von IPv6-Adressen
834
21.5.3 Die Netzmasken
835
21.5.4 Die verschiedenen IPv6-Adressarten
835
21.5.5 Es geht auch ohne »ARP«
837
21.5.6 Feste Header-Länge
838
21.5.7 IPv6 in der Praxis
840
21.6 Firewalls mit »netfilter« und »iptables«
841
21.6.1 Der Weg ist das Ziel – wie Pakete durch den Kernel laufen
842
21.6.2 Einführung in »iptables«
843
21.6.3 Regeln definieren
845
21.6.4 Die klassischen Targets
847
21.6.5 Ein erster Testlauf
847
21.6.6 Rein wie raus: »Stateful Packet Inspection«
848
21.6.7 Das erste Firewallskript
850
21.6.8 Externe Firewall
852
21.6.9 Logging
858
21.6.10 Network Address Translation und Masquerading
860
21.6.11 Weitere nützliche Module für »iptables«
861
21.6.12 Abschlussbemerkung
864
21.7 DHCP
864
21.7.1 Funktionsweise
864
21.7.2 Konfiguration
865
21.8 DNS-Server
868
21.8.1 Funktionsweise
868
21.8.2 Unterschied: rekursiv und autoritativ
870
21.8.3 Einträge im DNS: »Resource Records«
870
21.8.4 Die Grundkonfiguration
871
21.8.5 Zonendefinitionen
874
21.8.6 Die erste vollständige Zone
878
21.8.7 Die »hint«-Zone
880
21.8.8 Reverse Lookup
882
21.8.9 Slave-Server
883
21.8.10 DNS-Server und IPv6
885
21.9 Vertrauen schaffen mit »DNSSEC«
887
21.9.1 Die Theorie: »Wie arbeitet DNSSEC?«
887
21.9.2 Anpassungen am Server
889
21.9.3 Schlüssel erzeugen
890
21.9.4 Schlüssel der Zone hinzufügen und die Zone signieren
891
21.9.5 Signierte Zone aktivieren
892
21.9.6 Signierung prüfen
893
21.9.7 Veröffentlichung der Signierung
895
21.9.8 Fazit
896
21.10 Nachwort zum Thema Netzwerk
896
22 OpenSSH
897
22.1 Die SSH-Familie
897
22.1.1 Die Clients: »ssh«, »scp«, »sftp«
898
22.1.2 Der Server: »sshd«
900
22.2 Schlüssel statt Passwort
902
22.2.1 Schlüssel erzeugen
902
22.2.2 Passwortloses Login
903
22.2.3 Der SSH-Agent merkt sich Passphrasen
904
22.3 X11-Forwarding
905
22.4 Portweiterleitung und Tunneling
905
22.4.1 SshFS: entfernte Verzeichnisse lokal einbinden
906
23 Administrationstools
909
23.1 Was kann dies und jenes noch?
909
23.1.1 Der Rsync-Daemon
909
23.1.2 Wenn's mal wieder später wird: »screen«
911
23.1.3 Anklopfen mit »nmap«
911
23.1.4 Netzwerkinspektion: »netstat«
915
23.1.5 Zugreifende Prozesse finden: »lsof«
917
23.1.6 Was macht mein System? »top«!
921
23.1.7 Wenn gar nichts mehr geht – Debugging mit »strace«
925
23.1.8 Prüfung der Erreichbarkeit mit »My traceroute«
930
23.1.9 Subnetzberechnung mit »ipcalc«
931
23.2 Aus der Ferne – Remote-Administrationstools
932
23.2.1 PuTTY
933
23.2.2 WinSCP
936
23.2.3 Synergy
937
23.2.4 Eine für immer: »mosh«
939
24 Versionskontrolle
941
24.1 Philosophien
942
24.1.1 Lokal
942
24.1.2 Zentral
943
24.1.3 Dezentral
944
24.2 Versionskontrollsysteme
945
24.2.1 CVS
945
24.2.2 Apache Subversion
948
24.2.3 GNU Bazaar
950
24.2.4 Mercurial
952
24.2.5 Git
954
24.3 Kommandos
957
24.4 Git-Server mit Gitolite
958
24.4.1 Installation Gitolite
958
24.4.2 Konfiguration Gitolite
959
TEIL VI Automatisierung
963
25 Scripting
965
25.1 Aufgebohrte Muscheln
965
25.2 Vom Suchen und Finden: ein kurzer überblick
966
25.2.1 Die Detektive: »grep«, »sed« und »AWK«
966
25.2.2 Reguläre Ausdrücke verstehen und anwenden
967
25.3 Fortgeschrittene Shell-Programmierung
970
25.3.1 Expansionsschemata
970
25.3.2 Umgebungsvariablen
975
25.3.3 »Back to bash«: ein tieferer Blick in die Muschel
976
25.3.4 Logging in Skripten
980
25.4 Tipps und Tricks aus der Praxis
983
25.4.1 Aufräumkommando
983
25.4.2 IFS
984
25.4.3 Datumsmagie
984
25.4.4 E-Mails aus einem Skript versenden
985
25.4.5 Interaktive Programme steuern
985
26 Monitoring – wissen, was läuft
987
26.1 Nagios
988
26.1.1 Installation
989
26.1.2 Allgemeine Konfiguration
992
26.1.3 Konfiguration der Objekte
993
26.1.4 Eigene Hosts und Services konfigurieren
1002
26.1.5 Benachrichtigungen
1004
26.1.6 NRPE – Partitionsfüllstand und andere lokale Werte remote überprüfen
1007
26.1.7 PNP4Nagios – grafische Aufbereitung der Messwerte
1011
26.2 Monitoring mit Munin
1015
26.3 Fazit
1017
TEIL VII Sicherheit, Verschlüsselung und Zertifikate
1019
27 Sicherheit
1021
27.1 Weniger ist mehr
1022
27.2 »chroot«
1023
27.2.1 Dienste
1023
27.2.2 »jailkit«
1025
27.3 Selbstabsicherung: »AppArmor«
1029
27.3.1 Status und Betriebsarten
1030
27.3.2 Eigene Profile erstellen
1032
27.4 Gotcha! Intrusion-Detection-Systeme
1036
27.4.1 »snort« und Co.
1036
27.5 Installation und Konfiguration
1038
27.5.1 Vorbereitungen
1038
27.5.2 Kompilieren und installieren
1039
27.5.3 Basiskonfiguration
1041
27.5.4 Ein erster Test: »ICMP«
1043
27.5.5 Start-Skript erstellen: »systemd«
1043
27.6 Performante Log-Speicherung mit »Barnyard2« und »MySQL«
1044
27.6.1 Vorbereitungen
1044
27.6.2 Kompilieren und installieren
1045
27.6.3 Einbinden in Snort
1047
27.7 Das Neueste vom Neuen: »pulledpork«
1050
27.8 Überblick behalten mit »Snorby«
1052
27.8.1 Vorbereitungen
1052
27.8.2 Installation in Snorby
1053
27.8.3 Konfiguration
1054
27.8.4 Eigentliche Installation mit »rake«
1055
27.8.5 Ein Test zwischendurch
1056
27.8.6 Snorby dauerhaft starten mit »passenger«
1057
27.8.7 Webserver-Konfiguration für »snorby«
1061
27.8.8 Barnyard2 anpassen für Snorby
1062
27.8.9 Start-Skript für Snorby erstellen
1062
27.9 Klein, aber oho: »fail2ban«
1064
27.9.1 Konfiguration
1064
27.9.2 Aktive Sperrungen
1067
27.9.3 Reguläre Ausdrücke
1069
27.10 OpenVPN
1070
27.10.1 Serverinstallation – OpenVPN, PKI und Co.
1071
27.10.2 Roadwarrior
1078
27.10.3 Start-Skript?!
1081
27.10.4 Site-to-site
1084
27.10.5 Simple-HA
1086
27.10.6 Tipps und Tricks
1087
28 Verschlüsselung und Zertifikate
1093
28.1 Definition und Historie
1093
28.2 Moderne Kryptologie
1095
28.2.1 Symmetrische Verschlüsselung
1095
28.2.2 Asymmetrische Verschlüsselung
1096
28.3 Den Durchblick behalten
1097
28.3.1 Das Grundproblem
1097
28.3.2 Verwendungszwecke
1098
28.3.3 Umsetzung mithilfe einer PKI
1098
28.3.4 X.509
1099
28.3.5 Ein anderer Ansatz: PGP (Web-of-Trust)
1101
28.4 Einmal mit allem und kostenlos bitte: »Let's Encrypt«
1102
28.4.1 Wie funktioniert das?
1102
28.4.2 Einschränkungen
1103
28.4.3 Der Client »certbot«
1103
28.5 In der Praxis
1105
28.5.1 Einrichtung einer PKI mit Server- und E-Mail-Zertifikaten
1105
28.5.2 E-Mail-Verschlüsselung
1116
28.6 Neben der Kommunikation – Dateiverschlüsselung
1123
28.6.1 Dateien
1123
28.6.2 Devices
1124
28.6.3 Festplatten/System
1126
28.7 Rechtliches
1131
28.7.1 Fortgeschrittene elektronische Signatur
1131
28.7.2 Qualifiziertes Zertifikat
1131
28.7.3 Qualifizierte elektronische Signatur
1132
28.7.4 Sichere Signaturerstellungseinheit (SSEE)
1132
Die Autoren
1135
Index
1137