Deimeke / Soest / Kania | Deimeke, D: Linux-Server | Buch | 978-3-8362-8088-4 | sack.de

Buch, Deutsch, 1300 Seiten, Format (B × H): 204 mm x 240 mm, Gewicht: 2528 g

Reihe: Rheinwerk Computing

Deimeke / Soest / Kania

Deimeke, D: Linux-Server

Buch, Deutsch, 1300 Seiten, Format (B × H): 204 mm x 240 mm, Gewicht: 2528 g

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-8088-4
Verlag: Rheinwerk Verlag GmbH


Linux ist das Rückgrat moderner IT-Systeme. Wie Sie Linux effizient als Server nutzen und nach aktuellen Standards administrieren, erfahren Sie in diesem Buch. Von HA-Konfigurationen über Sicherheitsthemen bis hin zur Virtualisierung & Containerisierung lernen Sie Linux intensiv und distributionsunabhängig kennen. Zahlreiche Praxislösungen und umfassendes Hintergrundwissen für die fortgeschrittene Administration unterstützen Sie dabei.

Aus dem Inhalt:

- Administrationsgrundlagen

- Devices und Paketmanagement

- Dateisysteme und Berechtigungen

- Scripting und Shell-Coding

- Dienste

- Web-, Mail-, Proxy-, FTP- und Druckserver

- Samba, LDAP, Kerberos, NFSv4

- Infrastruktur und Netze

- Hochverfügbarkeit

- Virtualisierung (KVM, Docker)

- Routing, Bonding, Firewalls

- DHCP, DNS, OpenSSH

- Versionskontrolle (VCS)

- Sicherheit, Monitoring & Co.

- Backup und Recovery

- Verschlüsselung

- Zertifikate

- Automatisierung

- Ansible

- PKI mit OCSP

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: 'Für professionelle Bedürfnisse.'
Deimeke / Soest / Kania Deimeke, D: Linux-Server jetzt bestellen!

Weitere Infos & Material


Vorwort ... 33


Über dieses Buch ... 45


1. Der Administrator ... 49


1.1 ... Der Beruf des Systemadministrators ... 49

1.2 ... Nützliche Fähigkeiten und Fertigkeiten ... 56

1.3 ... Das Verhältnis des Administrators zu Normalsterblichen ... 59

1.4 ... Unterbrechungsgesteuertes Arbeiten ... 61

1.5 ... Einordnung der Systemadministration ... 62

1.6 ... Ethischer Verhaltenskodex ... 66

1.7 ... Administration -- eine Lebenseinstellung? ... 68




I Grundlagen ... 71



2. Bootvorgang ... 73


2.1 ... Einführung ... 73

2.2 ... Der Bootloader GRUB 2 ... 73

2.3 ... Bootloader Recovery ... 80

2.4 ... Der Kernel und die initrd ... 81

2.5 ... systemd ... 87



3. Festplatten und andere Devices ... 101


3.1 ... RAID ... 101

3.2 ... Rein logisch: Logical Volume Manager (LVM) ... 114

3.3 ... udev ... 137

3.4 ... Alles virtuell? »/proc« ... 141



4. Dateisysteme ... 149


4.1 ... Dateisysteme: von Bäumen, Journalen und einer Kuh ... 149

4.2 ... Praxis ... 153

4.3 ... Fazit ... 166



5. Berechtigungen ... 167


5.1 ... User, Gruppen und Dateisystemstrukturen ... 167

5.2 ... Dateisystemberechtigungen ... 170

5.3 ... Erweiterte POSIX-ACLs ... 174

5.4 ... Erweiterte Dateisystemattribute ... 183

5.5 ... Quotas ... 185

5.6 ... Pluggable Authentication Modules (PAM) ... 192

5.7 ... Konfiguration von PAM ... 198

5.8 ... ulimit ... 199

5.9 ... Abschlussbemerkung ... 201




II Aufgaben ... 203



6. Paketmanagement ... 205


6.1 ... Paketverwaltung ... 205

6.2 ... Pakete im Eigenbau ... 211

6.3 ... Updates nur einmal laden: Cache ... 223

6.4 ... Alles meins: Mirror ... 227



7. Backup und Recovery ... 241


7.1 ... Backup gleich Disaster Recovery? ... 241

7.2 ... Backupstrategien ... 242

7.3 ... Datensicherung mit tar ... 245

7.4 ... Datensynchronisation mit rsync ... 248

7.5 ... Imagesicherung mit dd ... 255

7.6 ... Disaster Recovery mit ReaR ... 259




III Dienste ... 273



8. Webserver ... 275


8.1 ... Apache ... 275

8.2 ... nginx ... 295

8.3 ... Logfiles auswerten ... 299



9. FTP-Server ... 303


9.1 ... Einstieg ... 303

9.2 ... Download-Server ... 304

9.3 ... Zugriff von Usern auf ihre Homeverzeichnisse ... 306

9.4 ... FTP über SSL (FTPS) ... 307

9.5 ... Anbindung an LDAP ... 309



10. Mailserver ... 311


10.1 ... Postfix ... 311

10.2 ... POP3/IMAP-Server mit Dovecot ... 331

10.3 ... Anti-Spam/Anti-Virus mit Rspamd ... 344

10.4 ... Monitoring und Logfile-Auswertung ... 367



11. Datenbank ... 369


11.1 ... MariaDB in der Praxis ... 369

11.2 ... Tuning ... 382

11.3 ... Backup und Point-In-Time-Recovery ... 393



12. Syslog ... 397


12.1 ... Der Aufbau von Syslog-Nachrichten ... 397

12.2 ... systemd mit journalctl ... 399

12.3 ... Der Klassiker: Syslogd ... 409

12.4 ... Syslog-ng ... 410

12.5 ... Rsyslog ... 417

12.6 ... Loggen über das Netz ... 419

12.7 ... Syslog in eine Datenbank schreiben ... 421

12.8 ... Fazit ... 424



13. Proxy-Server ... 425


13.1 ... Einführung des Stellvertreters ... 425

13.2 ... Proxys in Zeiten des Breitbandinternets ... 426

13.3 ... Herangehensweisen und Vorüberlegungen ... 427

13.4 ... Grundkonfiguration ... 427

13.5 ... Authentifizierung ... 440

13.6 ... Log-Auswertung: Calamaris und Sarg ... 455

13.7 ... Unsichtbar: »transparent proxy« ... 458

13.8 ... Ab in den Pool -- Verzögerung mit delay_pools ... 459

13.9 ... Familienbetrieb: »Sibling, Parent und Co.« ... 462

13.10 ... Cache-Konfiguration ... 466



14. Kerberos ... 471


14.1 ... Begriffe im Zusammenhang mit Kerberos ... 472

14.2 ... Die Funktionsweise von Kerberos ... 472

14.3 ... Installation und Konfiguration des Kerberos-Servers ... 473

14.4 ... Initialisierung und Testen des Kerberos-Servers ... 481

14.5 ... Kerberos und PAM ... 487

14.6 ... Neue Benutzer mit Kerberos-Principal anlegen ... 489

14.7 ... Hosts und Dienste ... 490

14.8 ... Konfiguration des Kerberos-Clients ... 494

14.9 ... Replikation des Kerberos-Servers ... 496

14.10 ... Kerberos-Policys ... 505

14.11 ... Kerberos in LDAP einbinden ... 507

14.12 ... Neue Benutzer im LDAP-Baum ... 529

14.13 ... Authentifizierung am LDAP-Server über »GSSAPI« ... 530

14.14 ... Konfiguration des LAM Pro ... 536



15. Samba 4 ... 539


15.1 ... Vorüberlegungen ... 539

15.2 ... Konfiguration von Samba 4 als Domaincontroller ... 542

15.3 ... Testen des Domaincontrollers ... 551

15.4 ... Benutzer- und Gruppenverwaltung ... 556

15.5 ... Benutzer- und Gruppenverwaltung über die Kommandozeile ... 557

15.6 ... Die Remote Server Administration Tools (RSAT) ... 568

15.7 ... Gruppenrichtlinien ... 571

15.8 ... Linux-Clients in der Domäne ... 582

15.9 ... Zusätzliche Server in der Domäne ... 592

15.10 ... Die Replikation der Freigabe »sysvol« einrichten ... 605

15.11 ... Was geht noch mit Samba 4? ... 609



16. NFS ... 611


16.1 ... Unterschiede zwischen NFSv3 und NFSv4 ... 611

16.2 ... Funktionsweise von NFSv4 ... 612

16.3 ... Einrichten des NFSv4-Servers ... 613

16.4 ... Konfiguration des NFSv4-Clients ... 618

16.5 ... Konfiguration des idmapd ... 619

16.6 ... Optimierung von NFSv4 ... 621

16.7 ... NFSv4 und Firewalls ... 623

16.8 ... NFS und Kerberos ... 624



17. LDAP ... 631


17.1 ... Einige Grundlagen zu LDAP ... 632

17.2 ... Zu den hier verwendeten Distributionen ... 640

17.3 ... Absichern der Verbindung zum LDAP-Server über TLS ... 650

17.4 ... Einrichtung des sssd ... 654

17.5 ... Grafische Werkzeuge für die LDAP-Verwaltung ... 660

17.6 ... Änderungen mit ldapmodify ... 661

17.7 ... Absichern des LDAP-Baums mit ACLs ... 663

17.8 ... Grundlegende ACLs in der statischen Konfiguration ... 668

17.9 ... Grundlegende ACLs in der dynamischen Konfiguration ... 671

17.10 ... Der neue LDAP-Admin ... 674

17.11 ... Absichern der Passwörter ... 677

17.12 ... ACLs mit regulären Ausdrücken ... 679

17.13 ... Filter zur Suche im LDAP-Baum ... 688

17.14 ... Verwendung von Overlays ... 692

17.15 ... Replikation des DIT ... 698

17.16 ... Umstellung auf die dynamische Konfiguration ... 711

17.17 ... Verwaltung von Weiterleitungen für den Mailserver Postfix ... 714

17.18 ... Benutzerauthentifizierung von Dovecot über LDAP ... 717

17.19 ... Benutzerauthentifizierung am Proxy Squid über LDAP ... 720

17.20 ... Benutzerauthentifizierung am Webserver Apache über LDAP ... 723

17.21 ... Und was geht sonst noch alles mit LDAP? ... 726



18. Druckserver ... 727


18.1 ... Grundkonfiguration des Netzwerkzugriffs ... 728

18.2 ... Policys ... 731

18.3 ... Drucker und Klassen einrichten und verwalten ... 736

18.4 ... Druckerquotas ... 738

18.5 ... CUPS über die Kommandozeile ... 740

18.6 ... PPD-Dateien ... 743

18.7 ... Noch mehr Druck ... 744




IV Infrastruktur ... 745



19. Hochverfügbarkeit ... 747


19.1 ... Das Beispiel-Setup ... 747

19.2 ... Installation ... 748

19.3 ... Einfache Vorarbeiten ... 749

19.4 ... Shared Storage mit DRBD ... 749

19.5 ... Grundkonfiguration der Clusterkomponenten ... 755

19.6 ... Dienste hochverfügbar machen ... 762



20. Virtualisierung ... 775


20.1 ... Einleitung ... 775

20.2 ... Für den Sysadmin ... 776

20.3 ... Servervirtualisierung ... 780

20.4 ... Netzwerkgrundlagen ... 784

20.5 ... Management und Installation ... 785

20.6 ... Umzugsunternehmen: Live Migration ... 802



21. Docker ... 805


21.1 ... Einführung, Installation und wichtige Grundlagen ... 805

21.2 ... Management von Images und Containern ... 820

21.3 ... Docker-Networking ... 838

21.4 ... Datenpersistenz ... 842

21.5 ... Erstellen eigener Images mit Docker-files ... 846

21.6 ... Multi-Container-Rollout mit Docker Compose ... 860

21.7 ... Betrieb einer eigenen Registry ... 868




V Kommunikation ... 879



22. Netzwerk ... 881


22.1 ... Vorwort zu Predictable Network Interface Names ... 881

22.2 ... Netzwerkkonfiguration mit iproute2 ... 882

22.3 ... Routing mit ip ... 893

22.4 ... Bonding ... 904

22.5 ... IPv6 ... 910

22.6 ... Firewalls mit netfilter und iptables ... 919

22.7 ... DHCP ... 942

22.8 ... DNS-Server ... 946

22.9 ... Vertrauen schaffen mit DNSSEC ... 965

22.10 ... Nachwort zum Thema Netzwerk ... 974



23. OpenSSH ... 975


23.1 ... Die SSH-Familie ... 975

23.2 ... Schlüssel statt Passwort ... 980

23.3 ... X11-Forwarding ... 983

23.4 ... Portweiterleitung und Tunneling ... 984



24. Administrationstools ... 987


24.1 ... Was kann dies und jenes noch? ... 987

24.2 ... Aus der Ferne -- Remote-Administrationstools ... 1010



25. Versionskontrolle ... 1019


25.1 ... Philosophien ... 1020

25.2 ... Versionskontrollsysteme ... 1023

25.3 ... Kommandos ... 1035

25.4 ... Serverdienste ... 1036




VI Automatisierung ... 1043



26. Scripting ... 1045


26.1 ... Aufgebohrte Muscheln ... 1045

26.2 ... Vom Suchen und Finden: ein kurzer Überblick ... 1046

26.3 ... Fortgeschrittene Shell-Programmierung ... 1050

26.4 ... Tipps und Tricks aus der Praxis ... 1063



27. Ansible ... 1067


27.1 ... Einführung und Installation ... 1067

27.2 ... Basiseinrichtung und erstes Inventory-Management ... 1075

27.3 ... Ad-hoc-Kommandos und Patterns ... 1083

27.4 ... Die Konfigurations- und Serialisierungssprache YAML ... 1089

27.5 ... Playbooks und Tasks: die Grundlagen ... 1095

27.6 ... Playbooks und Tasks: fortgeschrittene Methoden ... 1115

27.7 ... Modularisierung mit Rollen und Includes ... 1136

27.8 ... Die Modul-Bibliothek ... 1143

27.9 ... Ansible Vault ... 1153



28. Monitoring -- wissen, was läuft ... 1161


28.1 ... Monitoring mit Checkmk ... 1161

28.2 ... Installation der Pakete ... 1161

28.3 ... Einrichtung der ersten Monitoring-Instanz ... 1163

28.4 ... Server, Geräte und Dienste überwachen ... 1166

28.5 ... Installation des Checkmk-Agenten ... 1167

28.6 ... Anlegen eines Hosts ... 1168

28.7 ... Betriebs- und Fehlerzustände von Host und Services im Überblick ... 1169

28.8 ... Konfiguration durch Regelsätze ... 1171

28.9 ... Notifications ... 1179

28.10 ... Alarme managen ... 1183

28.11 ... Weitere Fähigkeiten von Checkmk ... 1186

28.12 ... Fazit ... 1187




VII Sicherheit, Verschlüsselung und Zertifikate ... 1189



29. Sicherheit ... 1191


29.1 ... Weniger ist mehr ... 1192

29.2 ... »chroot« ... 1193

29.3 ... Selbstabsicherung: AppArmor ... 1195

29.4 ... Gotcha! Intrusion-Detection-Systeme ... 1201

29.5 ... Installation und Konfiguration ... 1204

29.6 ... Das Neueste vom Neuen: pulledpork ... 1210

29.7 ... Klein, aber oho: fail2ban ... 1212

29.8 ... OpenVPN ... 1217



30. Verschlüsselung und Zertifikate ... 1241


30.1 ... Definition und Historie ... 1241

30.2 ... Moderne Kryptologie ... 1243

30.3 ... Den Durchblick behalten ... 1245

30.4 ... Einmal mit allem und kostenlos bitte: Let's Encrypt ... 1250

30.5 ... In der Praxis ... 1253

30.6 ... Neben der Kommunikation -- Dateiverschlüsselung ... 1271

30.7 ... Rechtliches ... 1278




Anhang ... 1281



Die Autoren ... 1281


Index ... 1283


Kania, Stefan
Stefan Kania ist seit 1997 freiberuflich als Consultant und Trainer tätig. Seine Schwerpunkte liegen in der Implementierung von Samba und LDAP sowie in Schulungen zu beiden Themen. Seine Wahlheimat heißt Schleswig-Holstein.

Deimeke, Dirk
Dirk Deimeke, Jahrgang 1968, beschäftigt sich seit 1996 aktiv mit Linux. Zusätzlich zu seinem Engagement für Ubuntu Linux unterstützt er das Projekt "Taskwarrior", eine Aufgabenverwaltung für die Kommandozeile und die Blogsoftware "Serendipity". 2008 in die Schweiz ausgewandert, arbeitet er seit Juni 2014 als Senior System Engineer Unix/Linux für die Bank Vontobel AG. In seiner verbleibenden freien Zeit widmet er sich der eigenen Unternehmung "My own IT – Dirk Deimeke", die im Rahmen einer "digitalen Nachbarschaftshilfe" Privatpersonen und Organisationen darin unterstützt, die Autonomie über ihre eigenen Daten zu behalten. Neben Artikeln in seinem Blog hält er Vorträge und Workshops auf Open-Source-Konferenzen.

Heinlein, Peer
Peer Heinlein ist E-Mail-Spezialist, Gründer des sicheren E-Mail-Dienstes mailbox.org und Autor zahlreicher Fachbücher zum Thema sicherer Server-Betrieb. Er berät Unternehmen und Internet-Provider in Sicherheitsfragen rund um elektronische Kommunikation und engagiert sich aktiv für den Schutz der Privatsphäre. Bereits 1989 gründete Peer Heinlein den Internet Service Provider JPBerlin.de – einen der ersten Anbieter für private E-Mail-Adressen in Deutschland.

Soest, Daniel van
Daniel van Soest, Jahrgang 1981, veröffentlichte bereits mehrere Fachartikel zu IT-Themen. Während seiner Ausbildung zum Informatikkaufmann kam er zu Beginn des neuen Jahrtausends erstmals mit dem Betriebssystem Linux in Kontakt. Seit seiner Ausbildung arbeitet er im Kommunalen Rechenzentrum Niederrhein in Kamp-Lintfort. Der Schwerpunkt seiner Tätigkeit liegt auf der Betreuung der zentralen Internet-Infrastruktur und der Administration der Sicherheitssysteme.

Miesen, Axel
Axel Miesen ist zertifizierter Linux-Systemadministrator und Trainer. Seit 2001 hat er zahlreichen Schulungen zu Themen wie Linux-Shellscripting, Perl, Docker und Ansible durchgeführt.

Dirk Deimeke, Jahrgang 1968, beschäftigt sich seit 1996 aktiv mit Linux. Zusätzlich zu seinem Engagement für Ubuntu Linux unterstützt er das Projekt "Taskwarrior", eine Aufgabenverwaltung für die Kommandozeile und die Blogsoftware "Serendipity". 2008 in die Schweiz ausgewandert, arbeitet er seit Juni 2014 als Senior System Engineer Unix/Linux für die Bank Vontobel AG. In seiner verbleibenden freien Zeit widmet er sich der eigenen Unternehmung "My own IT - Dirk Deimeke", die im Rahmen einer "digitalen Nachbarschaftshilfe" Privatpersonen und Organisationen darin unterstützt, die Autonomie über ihre eigenen Daten zu behalten. Neben Artikeln in seinem Blog hält er Vorträge und Workshops auf Open-Source-Konferenzen.

Daniel van Soest, Jahrgang 1981, veröffentlichte bereits mehrere Fachartikel zu IT-Themen. Während seiner Ausbildung zum Informatikkaufmann kam er zu Beginn des neuen Jahrtausends erstmals mit dem Betriebssystem Linux in Kontakt. Seit seiner Ausbildung arbeitet er im Kommunalen Rechenzentrum Niederrhein in Kamp-Lintfort. Der Schwerpunkt seiner Tätigkeit liegt auf der Betreuung der zentralen Internet-Infrastruktur und der Administration der Sicherheitssysteme.

Stefan Kania ist seit 1997 freiberuflich als Consultant und Trainer tätig. Seine Schwerpunkte liegen in der Implementierung von Samba und LDAP sowie in Schulungen zu beiden Themen. Seine Wahlheimat heißt Schleswig-Holstein.

Peer Heinlein ist E-Mail-Spezialist, Gründer des sicheren E-Mail-Dienstes mailbox.org und Autor zahlreicher Fachbücher zum Thema sicherer Server-Betrieb. Er berät Unternehmen und Internet-Provider in Sicherheitsfragen rund um elektronische Kommunikation und engagiert sich aktiv für den Schutz der Privatsphäre. Bereits 1989 gründete Peer Heinlein den Internet Service Provider JPBerlin.de - einen der ersten Anbieter für private E-Mail-Adressen in Deutschland.

Axel Miesen ist zertifizierter Linux-Systemadministrator und Trainer. Seit 2001 hat er zahlreichen Schulungen zu Themen wie Linux-Shellscripting, Perl, Docker und Ansible durchgeführt.


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.