Anonymous (Autor) Christian Alkemper / Marion Thomas (Übersetzung)
Der neue Linux Hacker's Guide, m. CD-ROM
Sicherheit für Linux-Server und -Netze
Anonymous (Autor) Christian Alkemper / Marion Thomas (Übersetzung)
Der neue Linux Hacker's Guide, m. CD-ROM
Sicherheit für Linux-Server und -Netze
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Die Offenheit von Linux bringt nicht nur Vorteile, sondern auch Risiken mit sich. Wer die mit seinem Betrieb im Netzwerk einhergehenden Sicherheitsrisiken nicht einzuschätzen und zu vermeiden weiß, riskiert es, ausspioniert zu werden oder Daten zu verliern. Diese komplett überarbeitete Neuauflage des "Linux Hacker''''s Guide" geht das Thema "Sicherheit unter Linux" aus der Hacker-Perspektive an: welche Tricks&Tools gibt es, welche Sicherheitslöcher können zum Einbruch in ein System ausgenutzt werden? Das Buch gibt dem Linux-Administrator das nötige Wissen an die Hand, um den Wissensvorsprung…mehr
Die Offenheit von Linux bringt nicht nur Vorteile, sondern auch Risiken mit sich. Wer die mit seinem Betrieb im Netzwerk einhergehenden Sicherheitsrisiken nicht einzuschätzen und zu vermeiden weiß, riskiert es, ausspioniert zu werden oder Daten zu verliern. Diese komplett überarbeitete Neuauflage des "Linux Hacker''''s Guide" geht das Thema "Sicherheit unter Linux" aus der Hacker-Perspektive an: welche Tricks&Tools gibt es, welche Sicherheitslöcher können zum Einbruch in ein System ausgenutzt werden? Das Buch gibt dem Linux-Administrator das nötige Wissen an die Hand, um den Wissensvorsprung der "bad guys" wettmachen und sein System gegen Angriffe von außen schützen und verteidigen zu können.
Produktdetails
- Produktdetails
- New Technology
- Verlag: Markt +Technik
- Seitenzahl: 970
- Erscheinungstermin: 19. Oktober 2001
- Abmessung: 245mm
- Gewicht: 1703g
- ISBN-13: 9783827260987
- ISBN-10: 3827260981
- Artikelnr.: 23995071
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- New Technology
- Verlag: Markt +Technik
- Seitenzahl: 970
- Erscheinungstermin: 19. Oktober 2001
- Abmessung: 245mm
- Gewicht: 1703g
- ISBN-13: 9783827260987
- ISBN-10: 3827260981
- Artikelnr.: 23995071
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
Vorwort 19
Kapitel 1 Linux-Sicherheit - eine Einführung 25
1.1 Was ist Linux? 26
1.1.1 Linux ist frei 26
1.1.2 Linux ist UNIX sehr ähnlich 29
1.1.3 Woher kommt Linux? 32
1.1.4 Warum Linux nicht für jedermann geeignet ist 32
1.1.5 Linux als Einzelplatzsystem 34
1.1.6 Linux als Intranet-/Internetserver 35
1.2 Linux-Sicherheit - ein Überblick 36
1.2.1 Benutzer-Accounts 37
1.2.2 Benutzerabhängige Zugriffskontrolle 39
1.2.3 Netzwerkzugriffskontrolle 41
1.2.4 Verschlüsselung 41
1.2.5 Protokollierung, Auditing und Netzwerküberwachung 43
1.2.6 Intrusion Detection - Einbruchserkennung 44
1.3 Zusammenfassung 45
Kapitel 2 Physikalische Sicherheit 47
2.1 Serverstandort und physikalischer Zugriff 49
2.1.1 Network Operations Center (NOC) 50
2.1.2 Öffentliche Computer 51
2.1.3 Richtlinien zur Computerbenutzung 52
2.2 Netzwerktopologie 53
2.2.1 Netzwerktopologie - Typen 53
2.2.2 Zusammenfassung Netzwerktopologie und Sicherheit 59
2.3 Netzwerkhardware 60
2.3.1 Übliche Sicherheitsmaßnahmen für Netzwerkhardware 61
2.3.2 Zusammenfassung Netzwerkhardware 64
2.4 Workstations und Sicherheit 65
2.4.1 BIOS- und Konsolenpasswörter 65
2.4.2 Biometrische Zugriffskontrollen 67
2.4.3 Modems und Sicherheit 73
2.4.4 Maßnahmen gegen Diebstahl 75
2.4.5 Eindeutige Nummerierung, Kennzeichnung und andere Techniken 77
2.5 Zusammenfassung 80
Kapitel 3 Installation 81
3.1 Verschiedene Linux-Distributionen, Sicherheit und Installation 82
3.1.1 Nicht alle Distributionen sind gleich... 86
3.2 Partitionen und Sicherheit 88
3.2.1 Was sind Partitionen eigentlich genau? 88
3.2.2 Linux in einer einzigen Partition 94
3.2.3 Weitere Vorteile mehrerer Partitionen 97
3.2.4 Festlegen der Partitionsgrößen 97
3.2.5 Auslagerungs- und Root-Partitionen erzeugen 100
3.2.6 Die erweitere Partition anlegen 103
3.2.7 Logische Partitionen innerhalb der erweiterten Partition anlegen 104
3.2.8 Andere Partitionierungs-Tools 105
3.2.9 Zusammenfassung Partitionen und Sicherheit 108
3.3 Netzwerkdienste während der Installation auswählen 110
3.3.1 Fünf Minuten für ein sichereres System 113
3.3.2 chkconfig 115
3.4 Bootloader 116
3.4.1 /etc/lilo.conf: die LILO-Konfigurationsdatei 117
3.4.2 Zusammenfassung Bootloader 119
3.5 Zusammenfassung 120
Kapitel 4 Grundlagen der Linux-Systemadministration 121
4.1 Der Grundgedanke 122
4.1.1 Ihr eigener Account 123
4.2 Accounts einrichten und verwalten 124
4.2.1 Account-Richtlinien 124
4.2.2 Account-Struktur 126
4.2.3 Benutzer hinzufügen 130
4.2.4 Benutzer löschen 138
4.3 Administrative Aufgaben mit su durchführen 139
4.3.1 su - der Ersatzbenutzer 139
4.4 Zugriffskontrolle 143
4.5 Berechtigungen und Eigentümer 143
4.5.1 chmod: Dateiberechtigungen ändern 145
4.6 Gruppen aus der Nähe betrachtet 155
4.6.1 Gruppen erzeugen 157
4.6.2 chown: Benutzer-, Eigentümer- und Gruppenberechtigungen zuweisen 161
4.6.3 Gruppen löschen 162
4.7 Ihr System herunterfahren 163
4.7.1 shutdown: Ihr Linux-System herunterfahren 164
4.8 Zusammenfassung 165
Kapitel 5 Passwortangriffe 167
5.1 Was ist ein Passwortangriff? 168
5.2 Wie Linux Passwörter erzeugt und speichert 169
5.2.1 Passwörter im Laufe der Jahrhunderte 170
5.3 Der Data Encryption Standard (DES) 173
5.3.1 Wörterbuchangriffe 175
5.4 Fallstudie: Linux-Passwörter mit Hilfe eines Passwortangriffs knacken 176
5.4.1 Wörterbuchangriffe in der Vergangenheit 185
5.5 Passwort-Shadowing und die shadow-Suite 187
5.5.1 /etc/shadow: Die shadow-Passwortdatenbank 188
5.5.2 Über das Erzeugen und Löschen von Benutzern
und Gruppen hinaus 200
5.5.3 Mögliche Angriffe auf Ihr Shadow-System 203
5.6 Nach der Installation der shadow-Suite 205
5.6.1 Passwortwahl von Seiten der Benutzer und Systemsicherheit 205
5.6.2 Proaktive Prüfung von Passwörtern 210
5.7 Andere Probleme in Bezug auf die Sicherheit von Passwörtern 214
5.7.1 Passwortvermehrung und Sicherheit 214
5.8 Pluggable Authentication Modules 218
5.9 Weitere Lösungen für sichere Passwörter 220
5.9.1 Der Network Information Service und die Passwortsicherheit 220
5.10 Zusammenfassung 221
Kapitel 6 Datenangriffe 225
6.1 Wann ist Datensicherheit notwendig? 226
6.1.1 Angriffe im wahren Leben 227
6.2 Formen der Datensicherheit 228
6.2.1 Private Schlüssel (Private-Key-Verschlüsselung) 229
6.2.2 Öffentliche Schlüssel (Public-Key-Verschlüsselung) 230
6.3 Übliche Verschlüsselungsalgorithmen 232
6.4 mcrypt: Installation und Benutzung 234
6.4.1 mcrypt benutzen 237
6.5 GnuPG: Ein Utility für die Public-Key-Verschlüsselung
installieren und benutzen 240
6.5.1 Ein Schlüsselpaar generieren 242
6.5.2 Ihr Schlüsselbund (keychain) 244
6.5.3 Dokumente verschlüsseln und entschlüsseln 246
6.5.4 GnuPG ein GUI hinzufügen 247
6.6 Steganographie-Etwas völlig anderes 251
6.6.1 JPHIDE/JPSEEK installieren und benutzen 252
6.7 Informationsquellen 255
6.8 Zusammenfassung 255
Kapitel 7 Bösartiger Code 257
7.1 Was ist bösartiger Code? 258
7.1.1 Was ist ein Trojanisches Pferd? 258
7.1.2 Viren 262
7.2 Bösartigen Code erkennen 265
7.2.1 Tripwire 269
7.2.2 Verfügbarkeit von Tripwire 271
7.2.3 Tripwire installieren 271
7.2.4 Tripwire konfigurieren und ausführen 279
7.2.5 Die Integrität Ihrer Dateien mit Tripwire überprüfen 280
7.2.6 Tripwire - Zusammenfassung 283
7.3 Andere Programme zum Überprüfen der Dateiintegrität 284
7.4 Weitere Informationsquellen 286
7.5 Zusammenfassung 288
Kapitel 8 Sniffer und elektronische Abhöreinrichtungen 289
8.1 Die Arbeitsweise von Sniffern 290
8.2 Fallstudien: Durchführung einfach gestrickter Sniffer-Angriffe 292
8.3 Weitere Sniffer und Tools zur Netzwerküberwachung 311
8.4 Welche Gefahr stellen Sniffer dar? 313
8.5 Abwehr von Sniffer-Angriffen 316
8.6 Weitere generelle Methoden zur Abwehr von Sniffern 317
8.6.1 Switches 318
8.7 Weitere Informationsquellen 319
8.8 Fazit 320
Kapitel 9 Scanner 321
9.1 Was ist ein Scanner? 322
9.1.1 Die Anatomie eines Systemscanners 323
9.1.2 Die Anatomie eines Netzwerkscanners 327
9.2 Die Funktionsweise von Scannern und deren Geschichte 331
9.3 Wie Scanner in Ihre Sicherheitsstrategie eingebunden
werden können 341
9.4 Verschiedene Scanner-Tools 342
9.4.1 SAINT (Security Administrators' Integrated Network Tool) 342
9.4.2 Nessus 343
9.4.3 Nmap (Network Mapper) 349
9.4.4 CGI Scanner V1.0 352
9.4.5 Weitere interessante Scanner 354
9.5 Sind Scanner legal? 357
9.6 Abwehr von Scanner-Angriffen 358
9.6.1 courtney 358
9.6.2 IcmpInfo 360
9.6.3 scan-detector 362
9.6.4 klaxon 363
9.6.5 Psionic PortSentry 364
9.7 Weitere Informationsquellen 365
9.8 Fazit 366
Kapitel 10 Spoofing 367
10.1 Was ist Spoofing? 368
10.2 TCP- und IP-Spoofing 368
10.2.1 Fallstudie: Eine einfache Spoofing-Attacke 371
10.2.2 Tools für das TCP- und IP-Spoofing 374
10.2.3 Welche Dienste sind anfällig gegen IP-Spoofing? 375
10.2.4 IP-Spoofing abwehren 378
10.3 ARP-Spoofing 379
10.3.1 ARP-Spoofing-Attacken abwehren 380
10.4 DNS-Spoofing 382
10.4.1 Programme für das DNS-Spoofing 382
10.4.2 DNS-Spoofing entdecken und abwehren 383
10.5 Weitere ungewöhnliche Spoofing-Attacken 384
10.6 Couic 386
10.7 Weitere Informationsquellen 388
10.8 Fazit 389
Kapitel 11 FTP-Sicherheit 391
11.1 Das File Transfer Protocol 392
11.1.1 Die Sicherheitsvorgeschichte von FTP 392
11.2 Standardsicherheitsfunktionen von FTP 396
11.2.1 /etc/ftpusers: eingeschränkter Benutzerzugriff 396
11.2.2 ftphosts 397
11.2.3 /etc/ftpaccess: Die ftpd-Konfigurationsdatei 399
11.2.4 Zusammenfassung zu den Standardsicherheitsfunktionen
von FTP 405
11.3 SSH-Dateiübertragungen 405
11.3.1 scp 405
11.3.2 sftp 406
11.4 Alternative Lösungen: SSLftp und sftp 408
11.5 Sicherheit spezieller FTP-Anwendungen 409
11.5.1 ncftp 409
11.5.2 filerunner 409
11.5.3 ftpwatch 410
11.5.4 wu-ftpd 410
11.6 Zusammenfassung 410
Kapitel 12 Mail-Sicherheit 411
12.1 SMTP-Server und -Clients 412
12.1.1 Ein einfacher SMTP-Client 415
12.2 Sendmail - Sicherheitsgrundlagen 418
12.2.1 Den sendmail-Dienst schützen 426
12.2.2 Weitere Informationsquellen zu sendmail 436
12.3 sendmail durch Qmail ersetzen 438
12.3.1 Qmail installieren 438
12.3.2 Weitere Informationsquellen zu Qmail 442
12.4 Zusammenfassung 443
Kapitel 13 Telnet- und SSH-Sicherheit 445
13.1 Die Sicherheitsvorgeschichte von Telnet 446
13.2 Sichere Telnet-Syteme 448
13.2.1 deslogin 449
13.2.2 STEL (Secure Telnet) 455
13.2.3 SRA Telnet von der Texas A&M University 456
13.2.4 Das Stanford SRP Telnet/FTP-Paket 456
13.2.5 Wichtige Dokumente 457
13.3 Secure Shell (ssh) 458
13.3.1 Die Kern-Utilities von ssh 459
13.3.2 Schnellstart: die ssh-Distribution installieren 460
13.3.3 Den ssh-Server konfigurieren 461
13.3.4 Befehlszeilenoptionen beim Starten von sshd 465
13.3.5 sshd starten 469
13.3.6 Der ssh-Client 470
13.4 scp: Das Programm Secure Copy zum Kopieren
von Remotedateien 472
13.5 ssh-Dienste in einem heterogenen Netzwerk bereitstellen 473
13.5.1 PuTTY 473
13.5.2 Tera Term 474
13.5.3 ssh-Unterstützung für Macintosh 474
13.5.4 ssh in Aktion - Beispiele 474
13.6 Sicherheitsprobleme von ssh 481
13.7 Weitere Informationsquellen 481
Kapitel 14 Sichere Webserver 483
14.1 Unnötige Dienste entfernen 484
14.1.1 File Transfer Protocol (FTP) 485
14.1.2 finger 486
14.1.3 Network File System (NFS) 487
14.1.4 Andere RPC-Dienste 488
14.1.5 Die r-Dienste 490
14.1.6 Andere Dienste 492
14.1.7 Zugriffskontrollen für laufende Dienste 495
14.2 Ihren Webserver sichern 496
14.2.1 httpd 496
14.2.2 Zugriff von außen kontrollieren: httpd.conf 497
14.2.3 Konfigurationsoptionen, die Ihre Sicherheit
beeinträchtigen können 503
14.3 Zugriffskontrollen für Verzeichnisse über grundlegende
HTTP-Authentifizierung 510
14.3.1 htpasswd 510
14.4 Schwachstellen in der Basis-HTTP-Authentifizierung 516
14.5 HTTP und kryptographische Authentifizierung 517
14.5.1 MD5-Digest-Authentifizierung hinzufügen 518
14.6 Eine chroot-Webumgebung einrichten 519
14.7 WebDAV 521
14.7.1 WebDAV installieren und konfigurieren 521
14.7.2 WebDAV auf Mac OS X benutzen 523
14.7.3 WebDAV auf Windows-Systemen benutzen 524
14.8 Akkreditierung und Zertifizierung 527
14.8.1 PricewaterhouseCoopers, Resource Protection Services (USA) 527
14.8.2 The American Institute of Certified Public Accountants (AICPA) 528
14.8.3 International Computer Security Association (vorher NCSA) 528
14.8.4 Troy Systems 529
14.9 Zusammenfassung 529
Kapitel 15 SSL: Sichere Kommunikation mit Webservern 531
15.1 Das Problem 532
15.2 Das SSL-Protokoll von Netscape 533
15.2.1 SSL: Die Sicherheitsvorgeschichte 534
15.3 Installation von mod_ssl 537
15.3.1 OpenSSL entpacken, kompilieren und installieren 538
15.3.2 mod_ssl entpacken, kompilieren und installieren 539
15.3.3 Zertifikate und Zertifizierungsstellen 554
15.3.4 Weitere Lektüre zu SSL 556
15.4 Fazit 556
Kapitel 16 Sichere Webentwicklung 557
16.1 Risikofaktoren in der Webentwicklung: Eine Übersicht 558
16.2 Shells aufrufen 559
16.2.1 Shell-Befehle mit system() ausführen 559
16.2.2 popen() in C und C++ 563
16.2.3 eval (Perl mit Shell) 568
16.2.4 exec() in Perl 568
16.3 Pufferüberläufe 569
16.3.1 Allgemeine Anmerkungen zu Benutzereingaben 572
16.4 Pfade, Verzeichnisse und Dateien 573
16.4.1 chdir() 575
16.4.2 Dateien 575
16.5 Eingebettete Programmiersprachen 576
16.5.1 PHP installieren 578
16.5.2 Weitere eingebettete Sprachen 582
16.6 Testautomatisierung bei CGI-Skripten 583
16.7 Weitere interessante Tools für die sichere Programmierung 584
16.8 Andere Online-Informationsquellen 586
16.9 Fazit 587
Kapitel 17 Sicherheit bei der Dateifreigabe 589
17.1 Linux als Dateiserver 590
17.2 Samba 591
17.2.1 Globale Anweisungen 593
17.2.2 Anweisungen auf der Freigabeebene 597
17.2.3 SWAT 600
17.2.4 Weitere Informationsquellen 601
17.3 Netatalk 602
17.3.1 Die Grundkonfiguration von Netatalk 603
17.3.2 Weitere Informationen 605
17.4 NFS-Sicherheit 605
17.4.1 Die Datei exports 606
17.4.2 Weitere Informationen 607
17.5 VPNs 608
17.5.1 IPSec 608
17.6 Fazit 609
Kapitel 18 DoS-Angriffe 611
18.1 Was ist ein DoS-Angriff? 613
18.2 Risiken durch DoS-Angriffe 614
18.2.1 Verteilte DoS-Angriffe 616
18.3 Aufbau dieses Kapitels 617
18.4 DoS-Angriffe gegen Hardware 617
18.5 Angriffe auf Linux-Netzwerke 622
18.6 Angriffe auf Linux-Anwendungen 638
18.7 Andere DoS-Angriffe 641
18.8 Verteidigung gegen DoS-Angriffe 645
18.9 Online-Informationsquellen 646
18.10 Fazit 647
Kapitel 19 Linux und Firewalls 649
19.1 Was ist eine Firewall? 650
19.1.1 Paketfilter (Firewalls für die Netzwerkschicht) 652
19.1.2 Anwendungsgateways 653
19.2 Brauchen Sie eine Firewall? 654
19.3 Internet-Gateways und Internet-Firewalls 656
19.4 TCP Wrappers 659
19.4.1 Netzwerkzugriffssteuerung mit TCP Wrappers 662
19.4.2 Zusammenfassung zu TCP Wrappers 666
19.5 ipfwadm 667
19.5.1 Grundlagen zu ipfwadm 667
19.5.2 ipfwadm konfigurieren 670
19.6 ipchains 671
19.6.1 Sicherheitsvorgeschichte von ipchains 673
19.7 iptables 673
19.8 Kostenlose Firewall-Tools und Zusatzprogramme für Linux 675
19.9 Kommerzielle Firewalls 676
19.9.1 CSM Proxy (Enterprise Edition) 676
19.9.2 GNAT Box Firewall 676
19.9.3 NetScreen 677
19.9.4 Sun Cobalt Adaptive Firewall 677
19.9.5 PIX-Firewall 677
19.10 Zusätzliche Informationsquellen 678
19.10.1 Bücher 678
19.10.2 Ressourcen im Internet 678
19.11 Fazit 679
Kapitel 20 Intrusion Detection 681
20.1 Was ist Intrusion Detection? 682
20.2 Grundlegende Konzepte 683
20.3 Einige interessante IDS 686
20.3.1 chkwtmp 686
20.3.2 tcplogd 687
20.3.3 Snort 687
20.3.4 HostSentry 689
20.3.5 Shadow 690
20.3.6 MOM 691
20.3.7 HummingBird 693
20.3.8 AAFID (Autonomous Agents for Intrusion Detection) 694
20.4 Intrusion Detection in der Praxis 695
20.4.1 PortSentry 696
20.4.2 PortSentry installieren und konfigurieren 697
20.4.3 Automatischer Start 700
20.5 Dokumente zur Intrusion Detection 702
20.6 Fazit 703
Kapitel 21 Protokollierung und Auditing 705
21.1 Was genau heißt "Protokollieren"? 706
21.2 Protokollierung bei Linux 707
21.2.1 lastlog 708
21.2.2 last 709
21.2.3 xferlog 713
21.2.4 httpd-Log-Dateien 714
21.2.5 Samba 718
21.2.6 System- und Kernel-Meldungen 720
21.2.7 Von eigenen Programmen aus in syslog schreiben 725
21.2.8 Log-Dateien sichern und verwalten 728
21.3 Weitere interessante Protokollierungs- und Auditing-Tools 731
21.3.1 SWATCH (The System Watcher) 732
21.3.2 Snort 733
21.3.3 Watcher 733
21.3.4 NOCOL/NetConsole V 4.0 734
21.3.5 PingLogger 734
21.3.6 LogSurfer 734
21.3.7 Netlog 735
21.3.8 Analog 735
21.4 Fazit 736
Kapitel 22 Disaster Recovery 737
22.1 Was ist Disaster Recovery? 738
22.1.1 Warum Sie einen Wiederherstellungsplan brauchen 738
22.2 Was Sie vor dem Aufbau Ihres Linux-Netzwerks
beachten sollten 739
22.2.1 Hardwarestandardisierung 739
22.2.2 Softwarestandardisierung: Ihre Basiskonfiguration 740
22.3 Auswahl der Sicherungsprogramme 744
22.4 Einfache Archivierung Ihrer Dateien und Verzeichnisse
mit tar und gzip 745
22.4.1 Archive mit tar erstellen 745
22.4.2 tar-Archive mit gzip komprimieren 747
22.4.3 kArchiver 748
22.4.4 cpio 749
22.4.5 Einrichtung eines Hot-Hosts 750
22.5 Sicherungstypen und -strategien 751
22.5.1 dump: Ein Tool für die Planung von Backups 751
22.6 Sicherungsprogramme 755
22.6.1 KDat 756
22.6.2 KBackup 756
22.6.3 BRU von Enhanced Software Technologies 757
22.6.4 AMANDA 757
22.7 Zum guten Schluss 759
22.8 Fazit 760
Anhang A Sicherheitsrelevante Linux-Befehle 761
Anhang B Linux-Sicherheitsindex 797
B.1 Ältere Sicherheitsprobleme 798
B.1.1 Einführung 798
B.2 Fazit 816
Anhang C Andere nützliche Sicherheits-Tools für Linux 817
Anhang D Weitere Informationsquellen 845
D.1 Ressourcen für Patches, Updates und Advisories 846
D.2 Mailinglisten 846
D.3 Newsgroups 849
D.4 Sichere Programmierung 851
D.5 Allgemeine Websicherheit 854
D.6 Allgemeine Informationsquellen zum Thema Sicherheit 856
D.7 Interessante RFCs 866
Anhang E Glossar 877
Stichwortverzeichnis 939
Kapitel 1 Linux-Sicherheit - eine Einführung 25
1.1 Was ist Linux? 26
1.1.1 Linux ist frei 26
1.1.2 Linux ist UNIX sehr ähnlich 29
1.1.3 Woher kommt Linux? 32
1.1.4 Warum Linux nicht für jedermann geeignet ist 32
1.1.5 Linux als Einzelplatzsystem 34
1.1.6 Linux als Intranet-/Internetserver 35
1.2 Linux-Sicherheit - ein Überblick 36
1.2.1 Benutzer-Accounts 37
1.2.2 Benutzerabhängige Zugriffskontrolle 39
1.2.3 Netzwerkzugriffskontrolle 41
1.2.4 Verschlüsselung 41
1.2.5 Protokollierung, Auditing und Netzwerküberwachung 43
1.2.6 Intrusion Detection - Einbruchserkennung 44
1.3 Zusammenfassung 45
Kapitel 2 Physikalische Sicherheit 47
2.1 Serverstandort und physikalischer Zugriff 49
2.1.1 Network Operations Center (NOC) 50
2.1.2 Öffentliche Computer 51
2.1.3 Richtlinien zur Computerbenutzung 52
2.2 Netzwerktopologie 53
2.2.1 Netzwerktopologie - Typen 53
2.2.2 Zusammenfassung Netzwerktopologie und Sicherheit 59
2.3 Netzwerkhardware 60
2.3.1 Übliche Sicherheitsmaßnahmen für Netzwerkhardware 61
2.3.2 Zusammenfassung Netzwerkhardware 64
2.4 Workstations und Sicherheit 65
2.4.1 BIOS- und Konsolenpasswörter 65
2.4.2 Biometrische Zugriffskontrollen 67
2.4.3 Modems und Sicherheit 73
2.4.4 Maßnahmen gegen Diebstahl 75
2.4.5 Eindeutige Nummerierung, Kennzeichnung und andere Techniken 77
2.5 Zusammenfassung 80
Kapitel 3 Installation 81
3.1 Verschiedene Linux-Distributionen, Sicherheit und Installation 82
3.1.1 Nicht alle Distributionen sind gleich... 86
3.2 Partitionen und Sicherheit 88
3.2.1 Was sind Partitionen eigentlich genau? 88
3.2.2 Linux in einer einzigen Partition 94
3.2.3 Weitere Vorteile mehrerer Partitionen 97
3.2.4 Festlegen der Partitionsgrößen 97
3.2.5 Auslagerungs- und Root-Partitionen erzeugen 100
3.2.6 Die erweitere Partition anlegen 103
3.2.7 Logische Partitionen innerhalb der erweiterten Partition anlegen 104
3.2.8 Andere Partitionierungs-Tools 105
3.2.9 Zusammenfassung Partitionen und Sicherheit 108
3.3 Netzwerkdienste während der Installation auswählen 110
3.3.1 Fünf Minuten für ein sichereres System 113
3.3.2 chkconfig 115
3.4 Bootloader 116
3.4.1 /etc/lilo.conf: die LILO-Konfigurationsdatei 117
3.4.2 Zusammenfassung Bootloader 119
3.5 Zusammenfassung 120
Kapitel 4 Grundlagen der Linux-Systemadministration 121
4.1 Der Grundgedanke 122
4.1.1 Ihr eigener Account 123
4.2 Accounts einrichten und verwalten 124
4.2.1 Account-Richtlinien 124
4.2.2 Account-Struktur 126
4.2.3 Benutzer hinzufügen 130
4.2.4 Benutzer löschen 138
4.3 Administrative Aufgaben mit su durchführen 139
4.3.1 su - der Ersatzbenutzer 139
4.4 Zugriffskontrolle 143
4.5 Berechtigungen und Eigentümer 143
4.5.1 chmod: Dateiberechtigungen ändern 145
4.6 Gruppen aus der Nähe betrachtet 155
4.6.1 Gruppen erzeugen 157
4.6.2 chown: Benutzer-, Eigentümer- und Gruppenberechtigungen zuweisen 161
4.6.3 Gruppen löschen 162
4.7 Ihr System herunterfahren 163
4.7.1 shutdown: Ihr Linux-System herunterfahren 164
4.8 Zusammenfassung 165
Kapitel 5 Passwortangriffe 167
5.1 Was ist ein Passwortangriff? 168
5.2 Wie Linux Passwörter erzeugt und speichert 169
5.2.1 Passwörter im Laufe der Jahrhunderte 170
5.3 Der Data Encryption Standard (DES) 173
5.3.1 Wörterbuchangriffe 175
5.4 Fallstudie: Linux-Passwörter mit Hilfe eines Passwortangriffs knacken 176
5.4.1 Wörterbuchangriffe in der Vergangenheit 185
5.5 Passwort-Shadowing und die shadow-Suite 187
5.5.1 /etc/shadow: Die shadow-Passwortdatenbank 188
5.5.2 Über das Erzeugen und Löschen von Benutzern
und Gruppen hinaus 200
5.5.3 Mögliche Angriffe auf Ihr Shadow-System 203
5.6 Nach der Installation der shadow-Suite 205
5.6.1 Passwortwahl von Seiten der Benutzer und Systemsicherheit 205
5.6.2 Proaktive Prüfung von Passwörtern 210
5.7 Andere Probleme in Bezug auf die Sicherheit von Passwörtern 214
5.7.1 Passwortvermehrung und Sicherheit 214
5.8 Pluggable Authentication Modules 218
5.9 Weitere Lösungen für sichere Passwörter 220
5.9.1 Der Network Information Service und die Passwortsicherheit 220
5.10 Zusammenfassung 221
Kapitel 6 Datenangriffe 225
6.1 Wann ist Datensicherheit notwendig? 226
6.1.1 Angriffe im wahren Leben 227
6.2 Formen der Datensicherheit 228
6.2.1 Private Schlüssel (Private-Key-Verschlüsselung) 229
6.2.2 Öffentliche Schlüssel (Public-Key-Verschlüsselung) 230
6.3 Übliche Verschlüsselungsalgorithmen 232
6.4 mcrypt: Installation und Benutzung 234
6.4.1 mcrypt benutzen 237
6.5 GnuPG: Ein Utility für die Public-Key-Verschlüsselung
installieren und benutzen 240
6.5.1 Ein Schlüsselpaar generieren 242
6.5.2 Ihr Schlüsselbund (keychain) 244
6.5.3 Dokumente verschlüsseln und entschlüsseln 246
6.5.4 GnuPG ein GUI hinzufügen 247
6.6 Steganographie-Etwas völlig anderes 251
6.6.1 JPHIDE/JPSEEK installieren und benutzen 252
6.7 Informationsquellen 255
6.8 Zusammenfassung 255
Kapitel 7 Bösartiger Code 257
7.1 Was ist bösartiger Code? 258
7.1.1 Was ist ein Trojanisches Pferd? 258
7.1.2 Viren 262
7.2 Bösartigen Code erkennen 265
7.2.1 Tripwire 269
7.2.2 Verfügbarkeit von Tripwire 271
7.2.3 Tripwire installieren 271
7.2.4 Tripwire konfigurieren und ausführen 279
7.2.5 Die Integrität Ihrer Dateien mit Tripwire überprüfen 280
7.2.6 Tripwire - Zusammenfassung 283
7.3 Andere Programme zum Überprüfen der Dateiintegrität 284
7.4 Weitere Informationsquellen 286
7.5 Zusammenfassung 288
Kapitel 8 Sniffer und elektronische Abhöreinrichtungen 289
8.1 Die Arbeitsweise von Sniffern 290
8.2 Fallstudien: Durchführung einfach gestrickter Sniffer-Angriffe 292
8.3 Weitere Sniffer und Tools zur Netzwerküberwachung 311
8.4 Welche Gefahr stellen Sniffer dar? 313
8.5 Abwehr von Sniffer-Angriffen 316
8.6 Weitere generelle Methoden zur Abwehr von Sniffern 317
8.6.1 Switches 318
8.7 Weitere Informationsquellen 319
8.8 Fazit 320
Kapitel 9 Scanner 321
9.1 Was ist ein Scanner? 322
9.1.1 Die Anatomie eines Systemscanners 323
9.1.2 Die Anatomie eines Netzwerkscanners 327
9.2 Die Funktionsweise von Scannern und deren Geschichte 331
9.3 Wie Scanner in Ihre Sicherheitsstrategie eingebunden
werden können 341
9.4 Verschiedene Scanner-Tools 342
9.4.1 SAINT (Security Administrators' Integrated Network Tool) 342
9.4.2 Nessus 343
9.4.3 Nmap (Network Mapper) 349
9.4.4 CGI Scanner V1.0 352
9.4.5 Weitere interessante Scanner 354
9.5 Sind Scanner legal? 357
9.6 Abwehr von Scanner-Angriffen 358
9.6.1 courtney 358
9.6.2 IcmpInfo 360
9.6.3 scan-detector 362
9.6.4 klaxon 363
9.6.5 Psionic PortSentry 364
9.7 Weitere Informationsquellen 365
9.8 Fazit 366
Kapitel 10 Spoofing 367
10.1 Was ist Spoofing? 368
10.2 TCP- und IP-Spoofing 368
10.2.1 Fallstudie: Eine einfache Spoofing-Attacke 371
10.2.2 Tools für das TCP- und IP-Spoofing 374
10.2.3 Welche Dienste sind anfällig gegen IP-Spoofing? 375
10.2.4 IP-Spoofing abwehren 378
10.3 ARP-Spoofing 379
10.3.1 ARP-Spoofing-Attacken abwehren 380
10.4 DNS-Spoofing 382
10.4.1 Programme für das DNS-Spoofing 382
10.4.2 DNS-Spoofing entdecken und abwehren 383
10.5 Weitere ungewöhnliche Spoofing-Attacken 384
10.6 Couic 386
10.7 Weitere Informationsquellen 388
10.8 Fazit 389
Kapitel 11 FTP-Sicherheit 391
11.1 Das File Transfer Protocol 392
11.1.1 Die Sicherheitsvorgeschichte von FTP 392
11.2 Standardsicherheitsfunktionen von FTP 396
11.2.1 /etc/ftpusers: eingeschränkter Benutzerzugriff 396
11.2.2 ftphosts 397
11.2.3 /etc/ftpaccess: Die ftpd-Konfigurationsdatei 399
11.2.4 Zusammenfassung zu den Standardsicherheitsfunktionen
von FTP 405
11.3 SSH-Dateiübertragungen 405
11.3.1 scp 405
11.3.2 sftp 406
11.4 Alternative Lösungen: SSLftp und sftp 408
11.5 Sicherheit spezieller FTP-Anwendungen 409
11.5.1 ncftp 409
11.5.2 filerunner 409
11.5.3 ftpwatch 410
11.5.4 wu-ftpd 410
11.6 Zusammenfassung 410
Kapitel 12 Mail-Sicherheit 411
12.1 SMTP-Server und -Clients 412
12.1.1 Ein einfacher SMTP-Client 415
12.2 Sendmail - Sicherheitsgrundlagen 418
12.2.1 Den sendmail-Dienst schützen 426
12.2.2 Weitere Informationsquellen zu sendmail 436
12.3 sendmail durch Qmail ersetzen 438
12.3.1 Qmail installieren 438
12.3.2 Weitere Informationsquellen zu Qmail 442
12.4 Zusammenfassung 443
Kapitel 13 Telnet- und SSH-Sicherheit 445
13.1 Die Sicherheitsvorgeschichte von Telnet 446
13.2 Sichere Telnet-Syteme 448
13.2.1 deslogin 449
13.2.2 STEL (Secure Telnet) 455
13.2.3 SRA Telnet von der Texas A&M University 456
13.2.4 Das Stanford SRP Telnet/FTP-Paket 456
13.2.5 Wichtige Dokumente 457
13.3 Secure Shell (ssh) 458
13.3.1 Die Kern-Utilities von ssh 459
13.3.2 Schnellstart: die ssh-Distribution installieren 460
13.3.3 Den ssh-Server konfigurieren 461
13.3.4 Befehlszeilenoptionen beim Starten von sshd 465
13.3.5 sshd starten 469
13.3.6 Der ssh-Client 470
13.4 scp: Das Programm Secure Copy zum Kopieren
von Remotedateien 472
13.5 ssh-Dienste in einem heterogenen Netzwerk bereitstellen 473
13.5.1 PuTTY 473
13.5.2 Tera Term 474
13.5.3 ssh-Unterstützung für Macintosh 474
13.5.4 ssh in Aktion - Beispiele 474
13.6 Sicherheitsprobleme von ssh 481
13.7 Weitere Informationsquellen 481
Kapitel 14 Sichere Webserver 483
14.1 Unnötige Dienste entfernen 484
14.1.1 File Transfer Protocol (FTP) 485
14.1.2 finger 486
14.1.3 Network File System (NFS) 487
14.1.4 Andere RPC-Dienste 488
14.1.5 Die r-Dienste 490
14.1.6 Andere Dienste 492
14.1.7 Zugriffskontrollen für laufende Dienste 495
14.2 Ihren Webserver sichern 496
14.2.1 httpd 496
14.2.2 Zugriff von außen kontrollieren: httpd.conf 497
14.2.3 Konfigurationsoptionen, die Ihre Sicherheit
beeinträchtigen können 503
14.3 Zugriffskontrollen für Verzeichnisse über grundlegende
HTTP-Authentifizierung 510
14.3.1 htpasswd 510
14.4 Schwachstellen in der Basis-HTTP-Authentifizierung 516
14.5 HTTP und kryptographische Authentifizierung 517
14.5.1 MD5-Digest-Authentifizierung hinzufügen 518
14.6 Eine chroot-Webumgebung einrichten 519
14.7 WebDAV 521
14.7.1 WebDAV installieren und konfigurieren 521
14.7.2 WebDAV auf Mac OS X benutzen 523
14.7.3 WebDAV auf Windows-Systemen benutzen 524
14.8 Akkreditierung und Zertifizierung 527
14.8.1 PricewaterhouseCoopers, Resource Protection Services (USA) 527
14.8.2 The American Institute of Certified Public Accountants (AICPA) 528
14.8.3 International Computer Security Association (vorher NCSA) 528
14.8.4 Troy Systems 529
14.9 Zusammenfassung 529
Kapitel 15 SSL: Sichere Kommunikation mit Webservern 531
15.1 Das Problem 532
15.2 Das SSL-Protokoll von Netscape 533
15.2.1 SSL: Die Sicherheitsvorgeschichte 534
15.3 Installation von mod_ssl 537
15.3.1 OpenSSL entpacken, kompilieren und installieren 538
15.3.2 mod_ssl entpacken, kompilieren und installieren 539
15.3.3 Zertifikate und Zertifizierungsstellen 554
15.3.4 Weitere Lektüre zu SSL 556
15.4 Fazit 556
Kapitel 16 Sichere Webentwicklung 557
16.1 Risikofaktoren in der Webentwicklung: Eine Übersicht 558
16.2 Shells aufrufen 559
16.2.1 Shell-Befehle mit system() ausführen 559
16.2.2 popen() in C und C++ 563
16.2.3 eval (Perl mit Shell) 568
16.2.4 exec() in Perl 568
16.3 Pufferüberläufe 569
16.3.1 Allgemeine Anmerkungen zu Benutzereingaben 572
16.4 Pfade, Verzeichnisse und Dateien 573
16.4.1 chdir() 575
16.4.2 Dateien 575
16.5 Eingebettete Programmiersprachen 576
16.5.1 PHP installieren 578
16.5.2 Weitere eingebettete Sprachen 582
16.6 Testautomatisierung bei CGI-Skripten 583
16.7 Weitere interessante Tools für die sichere Programmierung 584
16.8 Andere Online-Informationsquellen 586
16.9 Fazit 587
Kapitel 17 Sicherheit bei der Dateifreigabe 589
17.1 Linux als Dateiserver 590
17.2 Samba 591
17.2.1 Globale Anweisungen 593
17.2.2 Anweisungen auf der Freigabeebene 597
17.2.3 SWAT 600
17.2.4 Weitere Informationsquellen 601
17.3 Netatalk 602
17.3.1 Die Grundkonfiguration von Netatalk 603
17.3.2 Weitere Informationen 605
17.4 NFS-Sicherheit 605
17.4.1 Die Datei exports 606
17.4.2 Weitere Informationen 607
17.5 VPNs 608
17.5.1 IPSec 608
17.6 Fazit 609
Kapitel 18 DoS-Angriffe 611
18.1 Was ist ein DoS-Angriff? 613
18.2 Risiken durch DoS-Angriffe 614
18.2.1 Verteilte DoS-Angriffe 616
18.3 Aufbau dieses Kapitels 617
18.4 DoS-Angriffe gegen Hardware 617
18.5 Angriffe auf Linux-Netzwerke 622
18.6 Angriffe auf Linux-Anwendungen 638
18.7 Andere DoS-Angriffe 641
18.8 Verteidigung gegen DoS-Angriffe 645
18.9 Online-Informationsquellen 646
18.10 Fazit 647
Kapitel 19 Linux und Firewalls 649
19.1 Was ist eine Firewall? 650
19.1.1 Paketfilter (Firewalls für die Netzwerkschicht) 652
19.1.2 Anwendungsgateways 653
19.2 Brauchen Sie eine Firewall? 654
19.3 Internet-Gateways und Internet-Firewalls 656
19.4 TCP Wrappers 659
19.4.1 Netzwerkzugriffssteuerung mit TCP Wrappers 662
19.4.2 Zusammenfassung zu TCP Wrappers 666
19.5 ipfwadm 667
19.5.1 Grundlagen zu ipfwadm 667
19.5.2 ipfwadm konfigurieren 670
19.6 ipchains 671
19.6.1 Sicherheitsvorgeschichte von ipchains 673
19.7 iptables 673
19.8 Kostenlose Firewall-Tools und Zusatzprogramme für Linux 675
19.9 Kommerzielle Firewalls 676
19.9.1 CSM Proxy (Enterprise Edition) 676
19.9.2 GNAT Box Firewall 676
19.9.3 NetScreen 677
19.9.4 Sun Cobalt Adaptive Firewall 677
19.9.5 PIX-Firewall 677
19.10 Zusätzliche Informationsquellen 678
19.10.1 Bücher 678
19.10.2 Ressourcen im Internet 678
19.11 Fazit 679
Kapitel 20 Intrusion Detection 681
20.1 Was ist Intrusion Detection? 682
20.2 Grundlegende Konzepte 683
20.3 Einige interessante IDS 686
20.3.1 chkwtmp 686
20.3.2 tcplogd 687
20.3.3 Snort 687
20.3.4 HostSentry 689
20.3.5 Shadow 690
20.3.6 MOM 691
20.3.7 HummingBird 693
20.3.8 AAFID (Autonomous Agents for Intrusion Detection) 694
20.4 Intrusion Detection in der Praxis 695
20.4.1 PortSentry 696
20.4.2 PortSentry installieren und konfigurieren 697
20.4.3 Automatischer Start 700
20.5 Dokumente zur Intrusion Detection 702
20.6 Fazit 703
Kapitel 21 Protokollierung und Auditing 705
21.1 Was genau heißt "Protokollieren"? 706
21.2 Protokollierung bei Linux 707
21.2.1 lastlog 708
21.2.2 last 709
21.2.3 xferlog 713
21.2.4 httpd-Log-Dateien 714
21.2.5 Samba 718
21.2.6 System- und Kernel-Meldungen 720
21.2.7 Von eigenen Programmen aus in syslog schreiben 725
21.2.8 Log-Dateien sichern und verwalten 728
21.3 Weitere interessante Protokollierungs- und Auditing-Tools 731
21.3.1 SWATCH (The System Watcher) 732
21.3.2 Snort 733
21.3.3 Watcher 733
21.3.4 NOCOL/NetConsole V 4.0 734
21.3.5 PingLogger 734
21.3.6 LogSurfer 734
21.3.7 Netlog 735
21.3.8 Analog 735
21.4 Fazit 736
Kapitel 22 Disaster Recovery 737
22.1 Was ist Disaster Recovery? 738
22.1.1 Warum Sie einen Wiederherstellungsplan brauchen 738
22.2 Was Sie vor dem Aufbau Ihres Linux-Netzwerks
beachten sollten 739
22.2.1 Hardwarestandardisierung 739
22.2.2 Softwarestandardisierung: Ihre Basiskonfiguration 740
22.3 Auswahl der Sicherungsprogramme 744
22.4 Einfache Archivierung Ihrer Dateien und Verzeichnisse
mit tar und gzip 745
22.4.1 Archive mit tar erstellen 745
22.4.2 tar-Archive mit gzip komprimieren 747
22.4.3 kArchiver 748
22.4.4 cpio 749
22.4.5 Einrichtung eines Hot-Hosts 750
22.5 Sicherungstypen und -strategien 751
22.5.1 dump: Ein Tool für die Planung von Backups 751
22.6 Sicherungsprogramme 755
22.6.1 KDat 756
22.6.2 KBackup 756
22.6.3 BRU von Enhanced Software Technologies 757
22.6.4 AMANDA 757
22.7 Zum guten Schluss 759
22.8 Fazit 760
Anhang A Sicherheitsrelevante Linux-Befehle 761
Anhang B Linux-Sicherheitsindex 797
B.1 Ältere Sicherheitsprobleme 798
B.1.1 Einführung 798
B.2 Fazit 816
Anhang C Andere nützliche Sicherheits-Tools für Linux 817
Anhang D Weitere Informationsquellen 845
D.1 Ressourcen für Patches, Updates und Advisories 846
D.2 Mailinglisten 846
D.3 Newsgroups 849
D.4 Sichere Programmierung 851
D.5 Allgemeine Websicherheit 854
D.6 Allgemeine Informationsquellen zum Thema Sicherheit 856
D.7 Interessante RFCs 866
Anhang E Glossar 877
Stichwortverzeichnis 939
Vorwort 19
Kapitel 1 Linux-Sicherheit - eine Einführung 25
1.1 Was ist Linux? 26
1.1.1 Linux ist frei 26
1.1.2 Linux ist UNIX sehr ähnlich 29
1.1.3 Woher kommt Linux? 32
1.1.4 Warum Linux nicht für jedermann geeignet ist 32
1.1.5 Linux als Einzelplatzsystem 34
1.1.6 Linux als Intranet-/Internetserver 35
1.2 Linux-Sicherheit - ein Überblick 36
1.2.1 Benutzer-Accounts 37
1.2.2 Benutzerabhängige Zugriffskontrolle 39
1.2.3 Netzwerkzugriffskontrolle 41
1.2.4 Verschlüsselung 41
1.2.5 Protokollierung, Auditing und Netzwerküberwachung 43
1.2.6 Intrusion Detection - Einbruchserkennung 44
1.3 Zusammenfassung 45
Kapitel 2 Physikalische Sicherheit 47
2.1 Serverstandort und physikalischer Zugriff 49
2.1.1 Network Operations Center (NOC) 50
2.1.2 Öffentliche Computer 51
2.1.3 Richtlinien zur Computerbenutzung 52
2.2 Netzwerktopologie 53
2.2.1 Netzwerktopologie - Typen 53
2.2.2 Zusammenfassung Netzwerktopologie und Sicherheit 59
2.3 Netzwerkhardware 60
2.3.1 Übliche Sicherheitsmaßnahmen für Netzwerkhardware 61
2.3.2 Zusammenfassung Netzwerkhardware 64
2.4 Workstations und Sicherheit 65
2.4.1 BIOS- und Konsolenpasswörter 65
2.4.2 Biometrische Zugriffskontrollen 67
2.4.3 Modems und Sicherheit 73
2.4.4 Maßnahmen gegen Diebstahl 75
2.4.5 Eindeutige Nummerierung, Kennzeichnung und andere Techniken 77
2.5 Zusammenfassung 80
Kapitel 3 Installation 81
3.1 Verschiedene Linux-Distributionen, Sicherheit und Installation 82
3.1.1 Nicht alle Distributionen sind gleich... 86
3.2 Partitionen und Sicherheit 88
3.2.1 Was sind Partitionen eigentlich genau? 88
3.2.2 Linux in einer einzigen Partition 94
3.2.3 Weitere Vorteile mehrerer Partitionen 97
3.2.4 Festlegen der Partitionsgrößen 97
3.2.5 Auslagerungs- und Root-Partitionen erzeugen 100
3.2.6 Die erweitere Partition anlegen 103
3.2.7 Logische Partitionen innerhalb der erweiterten Partition anlegen 104
3.2.8 Andere Partitionierungs-Tools 105
3.2.9 Zusammenfassung Partitionen und Sicherheit 108
3.3 Netzwerkdienste während der Installation auswählen 110
3.3.1 Fünf Minuten für ein sichereres System 113
3.3.2 chkconfig 115
3.4 Bootloader 116
3.4.1 /etc/lilo.conf: die LILO-Konfigurationsdatei 117
3.4.2 Zusammenfassung Bootloader 119
3.5 Zusammenfassung 120
Kapitel 4 Grundlagen der Linux-Systemadministration 121
4.1 Der Grundgedanke 122
4.1.1 Ihr eigener Account 123
4.2 Accounts einrichten und verwalten 124
4.2.1 Account-Richtlinien 124
4.2.2 Account-Struktur 126
4.2.3 Benutzer hinzufügen 130
4.2.4 Benutzer löschen 138
4.3 Administrative Aufgaben mit su durchführen 139
4.3.1 su - der Ersatzbenutzer 139
4.4 Zugriffskontrolle 143
4.5 Berechtigungen und Eigentümer 143
4.5.1 chmod: Dateiberechtigungen ändern 145
4.6 Gruppen aus der Nähe betrachtet 155
4.6.1 Gruppen erzeugen 157
4.6.2 chown: Benutzer-, Eigentümer- und Gruppenberechtigungen zuweisen 161
4.6.3 Gruppen löschen 162
4.7 Ihr System herunterfahren 163
4.7.1 shutdown: Ihr Linux-System herunterfahren 164
4.8 Zusammenfassung 165
Kapitel 5 Passwortangriffe 167
5.1 Was ist ein Passwortangriff? 168
5.2 Wie Linux Passwörter erzeugt und speichert 169
5.2.1 Passwörter im Laufe der Jahrhunderte 170
5.3 Der Data Encryption Standard (DES) 173
5.3.1 Wörterbuchangriffe 175
5.4 Fallstudie: Linux-Passwörter mit Hilfe eines Passwortangriffs knacken 176
5.4.1 Wörterbuchangriffe in der Vergangenheit 185
5.5 Passwort-Shadowing und die shadow-Suite 187
5.5.1 /etc/shadow: Die shadow-Passwortdatenbank 188
5.5.2 Über das Erzeugen und Löschen von Benutzern
und Gruppen hinaus 200
5.5.3 Mögliche Angriffe auf Ihr Shadow-System 203
5.6 Nach der Installation der shadow-Suite 205
5.6.1 Passwortwahl von Seiten der Benutzer und Systemsicherheit 205
5.6.2 Proaktive Prüfung von Passwörtern 210
5.7 Andere Probleme in Bezug auf die Sicherheit von Passwörtern 214
5.7.1 Passwortvermehrung und Sicherheit 214
5.8 Pluggable Authentication Modules 218
5.9 Weitere Lösungen für sichere Passwörter 220
5.9.1 Der Network Information Service und die Passwortsicherheit 220
5.10 Zusammenfassung 221
Kapitel 6 Datenangriffe 225
6.1 Wann ist Datensicherheit notwendig? 226
6.1.1 Angriffe im wahren Leben 227
6.2 Formen der Datensicherheit 228
6.2.1 Private Schlüssel (Private-Key-Verschlüsselung) 229
6.2.2 Öffentliche Schlüssel (Public-Key-Verschlüsselung) 230
6.3 Übliche Verschlüsselungsalgorithmen 232
6.4 mcrypt: Installation und Benutzung 234
6.4.1 mcrypt benutzen 237
6.5 GnuPG: Ein Utility für die Public-Key-Verschlüsselung
installieren und benutzen 240
6.5.1 Ein Schlüsselpaar generieren 242
6.5.2 Ihr Schlüsselbund (keychain) 244
6.5.3 Dokumente verschlüsseln und entschlüsseln 246
6.5.4 GnuPG ein GUI hinzufügen 247
6.6 Steganographie-Etwas völlig anderes 251
6.6.1 JPHIDE/JPSEEK installieren und benutzen 252
6.7 Informationsquellen 255
6.8 Zusammenfassung 255
Kapitel 7 Bösartiger Code 257
7.1 Was ist bösartiger Code? 258
7.1.1 Was ist ein Trojanisches Pferd? 258
7.1.2 Viren 262
7.2 Bösartigen Code erkennen 265
7.2.1 Tripwire 269
7.2.2 Verfügbarkeit von Tripwire 271
7.2.3 Tripwire installieren 271
7.2.4 Tripwire konfigurieren und ausführen 279
7.2.5 Die Integrität Ihrer Dateien mit Tripwire überprüfen 280
7.2.6 Tripwire - Zusammenfassung 283
7.3 Andere Programme zum Überprüfen der Dateiintegrität 284
7.4 Weitere Informationsquellen 286
7.5 Zusammenfassung 288
Kapitel 8 Sniffer und elektronische Abhöreinrichtungen 289
8.1 Die Arbeitsweise von Sniffern 290
8.2 Fallstudien: Durchführung einfach gestrickter Sniffer-Angriffe 292
8.3 Weitere Sniffer und Tools zur Netzwerküberwachung 311
8.4 Welche Gefahr stellen Sniffer dar? 313
8.5 Abwehr von Sniffer-Angriffen 316
8.6 Weitere generelle Methoden zur Abwehr von Sniffern 317
8.6.1 Switches 318
8.7 Weitere Informationsquellen 319
8.8 Fazit 320
Kapitel 9 Scanner 321
9.1 Was ist ein Scanner? 322
9.1.1 Die Anatomie eines Systemscanners 323
9.1.2 Die Anatomie eines Netzwerkscanners 327
9.2 Die Funktionsweise von Scannern und deren Geschichte 331
9.3 Wie Scanner in Ihre Sicherheitsstrategie eingebunden
werden können 341
9.4 Verschiedene Scanner-Tools 342
9.4.1 SAINT (Security Administrators' Integrated Network Tool) 342
9.4.2 Nessus 343
9.4.3 Nmap (Network Mapper) 349
9.4.4 CGI Scanner V1.0 352
9.4.5 Weitere interessante Scanner 354
9.5 Sind Scanner legal? 357
9.6 Abwehr von Scanner-Angriffen 358
9.6.1 courtney 358
9.6.2 IcmpInfo 360
9.6.3 scan-detector 362
9.6.4 klaxon 363
9.6.5 Psionic PortSentry 364
9.7 Weitere Informationsquellen 365
9.8 Fazit 366
Kapitel 10 Spoofing 367
10.1 Was ist Spoofing? 368
10.2 TCP- und IP-Spoofing 368
10.2.1 Fallstudie: Eine einfache Spoofing-Attacke 371
10.2.2 Tools für das TCP- und IP-Spoofing 374
10.2.3 Welche Dienste sind anfällig gegen IP-Spoofing? 375
10.2.4 IP-Spoofing abwehren 378
10.3 ARP-Spoofing 379
10.3.1 ARP-Spoofing-Attacken abwehren 380
10.4 DNS-Spoofing 382
10.4.1 Programme für das DNS-Spoofing 382
10.4.2 DNS-Spoofing entdecken und abwehren 383
10.5 Weitere ungewöhnliche Spoofing-Attacken 384
10.6 Couic 386
10.7 Weitere Informationsquellen 388
10.8 Fazit 389
Kapitel 11 FTP-Sicherheit 391
11.1 Das File Transfer Protocol 392
11.1.1 Die Sicherheitsvorgeschichte von FTP 392
11.2 Standardsicherheitsfunktionen von FTP 396
11.2.1 /etc/ftpusers: eingeschränkter Benutzerzugriff 396
11.2.2 ftphosts 397
11.2.3 /etc/ftpaccess: Die ftpd-Konfigurationsdatei 399
11.2.4 Zusammenfassung zu den Standardsicherheitsfunktionen
von FTP 405
11.3 SSH-Dateiübertragungen 405
11.3.1 scp 405
11.3.2 sftp 406
11.4 Alternative Lösungen: SSLftp und sftp 408
11.5 Sicherheit spezieller FTP-Anwendungen 409
11.5.1 ncftp 409
11.5.2 filerunner 409
11.5.3 ftpwatch 410
11.5.4 wu-ftpd 410
11.6 Zusammenfassung 410
Kapitel 12 Mail-Sicherheit 411
12.1 SMTP-Server und -Clients 412
12.1.1 Ein einfacher SMTP-Client 415
12.2 Sendmail - Sicherheitsgrundlagen 418
12.2.1 Den sendmail-Dienst schützen 426
12.2.2 Weitere Informationsquellen zu sendmail 436
12.3 sendmail durch Qmail ersetzen 438
12.3.1 Qmail installieren 438
12.3.2 Weitere Informationsquellen zu Qmail 442
12.4 Zusammenfassung 443
Kapitel 13 Telnet- und SSH-Sicherheit 445
13.1 Die Sicherheitsvorgeschichte von Telnet 446
13.2 Sichere Telnet-Syteme 448
13.2.1 deslogin 449
13.2.2 STEL (Secure Telnet) 455
13.2.3 SRA Telnet von der Texas A&M University 456
13.2.4 Das Stanford SRP Telnet/FTP-Paket 456
13.2.5 Wichtige Dokumente 457
13.3 Secure Shell (ssh) 458
13.3.1 Die Kern-Utilities von ssh 459
13.3.2 Schnellstart: die ssh-Distribution installieren 460
13.3.3 Den ssh-Server konfigurieren 461
13.3.4 Befehlszeilenoptionen beim Starten von sshd 465
13.3.5 sshd starten 469
13.3.6 Der ssh-Client 470
13.4 scp: Das Programm Secure Copy zum Kopieren
von Remotedateien 472
13.5 ssh-Dienste in einem heterogenen Netzwerk bereitstellen 473
13.5.1 PuTTY 473
13.5.2 Tera Term 474
13.5.3 ssh-Unterstützung für Macintosh 474
13.5.4 ssh in Aktion - Beispiele 474
13.6 Sicherheitsprobleme von ssh 481
13.7 Weitere Informationsquellen 481
Kapitel 14 Sichere Webserver 483
14.1 Unnötige Dienste entfernen 484
14.1.1 File Transfer Protocol (FTP) 485
14.1.2 finger 486
14.1.3 Network File System (NFS) 487
14.1.4 Andere RPC-Dienste 488
14.1.5 Die r-Dienste 490
14.1.6 Andere Dienste 492
14.1.7 Zugriffskontrollen für laufende Dienste 495
14.2 Ihren Webserver sichern 496
14.2.1 httpd 496
14.2.2 Zugriff von außen kontrollieren: httpd.conf 497
14.2.3 Konfigurationsoptionen, die Ihre Sicherheit
beeinträchtigen können 503
14.3 Zugriffskontrollen für Verzeichnisse über grundlegende
HTTP-Authentifizierung 510
14.3.1 htpasswd 510
14.4 Schwachstellen in der Basis-HTTP-Authentifizierung 516
14.5 HTTP und kryptographische Authentifizierung 517
14.5.1 MD5-Digest-Authentifizierung hinzufügen 518
14.6 Eine chroot-Webumgebung einrichten 519
14.7 WebDAV 521
14.7.1 WebDAV installieren und konfigurieren 521
14.7.2 WebDAV auf Mac OS X benutzen 523
14.7.3 WebDAV auf Windows-Systemen benutzen 524
14.8 Akkreditierung und Zertifizierung 527
14.8.1 PricewaterhouseCoopers, Resource Protection Services (USA) 527
14.8.2 The American Institute of Certified Public Accountants (AICPA) 528
14.8.3 International Computer Security Association (vorher NCSA) 528
14.8.4 Troy Systems 529
14.9 Zusammenfassung 529
Kapitel 15 SSL: Sichere Kommunikation mit Webservern 531
15.1 Das Problem 532
15.2 Das SSL-Protokoll von Netscape 533
15.2.1 SSL: Die Sicherheitsvorgeschichte 534
15.3 Installation von mod_ssl 537
15.3.1 OpenSSL entpacken, kompilieren und installieren 538
15.3.2 mod_ssl entpacken, kompilieren und installieren 539
15.3.3 Zertifikate und Zertifizierungsstellen 554
15.3.4 Weitere Lektüre zu SSL 556
15.4 Fazit 556
Kapitel 16 Sichere Webentwicklung 557
16.1 Risikofaktoren in der Webentwicklung: Eine Übersicht 558
16.2 Shells aufrufen 559
16.2.1 Shell-Befehle mit system() ausführen 559
16.2.2 popen() in C und C++ 563
16.2.3 eval (Perl mit Shell) 568
16.2.4 exec() in Perl 568
16.3 Pufferüberläufe 569
16.3.1 Allgemeine Anmerkungen zu Benutzereingaben 572
16.4 Pfade, Verzeichnisse und Dateien 573
16.4.1 chdir() 575
16.4.2 Dateien 575
16.5 Eingebettete Programmiersprachen 576
16.5.1 PHP installieren 578
16.5.2 Weitere eingebettete Sprachen 582
16.6 Testautomatisierung bei CGI-Skripten 583
16.7 Weitere interessante Tools für die sichere Programmierung 584
16.8 Andere Online-Informationsquellen 586
16.9 Fazit 587
Kapitel 17 Sicherheit bei der Dateifreigabe 589
17.1 Linux als Dateiserver 590
17.2 Samba 591
17.2.1 Globale Anweisungen 593
17.2.2 Anweisungen auf der Freigabeebene 597
17.2.3 SWAT 600
17.2.4 Weitere Informationsquellen 601
17.3 Netatalk 602
17.3.1 Die Grundkonfiguration von Netatalk 603
17.3.2 Weitere Informationen 605
17.4 NFS-Sicherheit 605
17.4.1 Die Datei exports 606
17.4.2 Weitere Informationen 607
17.5 VPNs 608
17.5.1 IPSec 608
17.6 Fazit 609
Kapitel 18 DoS-Angriffe 611
18.1 Was ist ein DoS-Angriff? 613
18.2 Risiken durch DoS-Angriffe 614
18.2.1 Verteilte DoS-Angriffe 616
18.3 Aufbau dieses Kapitels 617
18.4 DoS-Angriffe gegen Hardware 617
18.5 Angriffe auf Linux-Netzwerke 622
18.6 Angriffe auf Linux-Anwendungen 638
18.7 Andere DoS-Angriffe 641
18.8 Verteidigung gegen DoS-Angriffe 645
18.9 Online-Informationsquellen 646
18.10 Fazit 647
Kapitel 19 Linux und Firewalls 649
19.1 Was ist eine Firewall? 650
19.1.1 Paketfilter (Firewalls für die Netzwerkschicht) 652
19.1.2 Anwendungsgateways 653
19.2 Brauchen Sie eine Firewall? 654
19.3 Internet-Gateways und Internet-Firewalls 656
19.4 TCP Wrappers 659
19.4.1 Netzwerkzugriffssteuerung mit TCP Wrappers 662
19.4.2 Zusammenfassung zu TCP Wrappers 666
19.5 ipfwadm 667
19.5.1 Grundlagen zu ipfwadm 667
19.5.2 ipfwadm konfigurieren 670
19.6 ipchains 671
19.6.1 Sicherheitsvorgeschichte von ipchains 673
19.7 iptables 673
19.8 Kostenlose Firewall-Tools und Zusatzprogramme für Linux 675
19.9 Kommerzielle Firewalls 676
19.9.1 CSM Proxy (Enterprise Edition) 676
19.9.2 GNAT Box Firewall 676
19.9.3 NetScreen 677
19.9.4 Sun Cobalt Adaptive Firewall 677
19.9.5 PIX-Firewall 677
19.10 Zusätzliche Informationsquellen 678
19.10.1 Bücher 678
19.10.2 Ressourcen im Internet 678
19.11 Fazit 679
Kapitel 20 Intrusion Detection 681
20.1 Was ist Intrusion Detection? 682
20.2 Grundlegende Konzepte 683
20.3 Einige interessante IDS 686
20.3.1 chkwtmp 686
20.3.2 tcplogd 687
20.3.3 Snort 687
20.3.4 HostSentry 689
20.3.5 Shadow 690
20.3.6 MOM 691
20.3.7 HummingBird 693
20.3.8 AAFID (Autonomous Agents for Intrusion Detection) 694
20.4 Intrusion Detection in der Praxis 695
20.4.1 PortSentry 696
20.4.2 PortSentry installieren und konfigurieren 697
20.4.3 Automatischer Start 700
20.5 Dokumente zur Intrusion Detection 702
20.6 Fazit 703
Kapitel 21 Protokollierung und Auditing 705
21.1 Was genau heißt "Protokollieren"? 706
21.2 Protokollierung bei Linux 707
21.2.1 lastlog 708
21.2.2 last 709
21.2.3 xferlog 713
21.2.4 httpd-Log-Dateien 714
21.2.5 Samba 718
21.2.6 System- und Kernel-Meldungen 720
21.2.7 Von eigenen Programmen aus in syslog schreiben 725
21.2.8 Log-Dateien sichern und verwalten 728
21.3 Weitere interessante Protokollierungs- und Auditing-Tools 731
21.3.1 SWATCH (The System Watcher) 732
21.3.2 Snort 733
21.3.3 Watcher 733
21.3.4 NOCOL/NetConsole V 4.0 734
21.3.5 PingLogger 734
21.3.6 LogSurfer 734
21.3.7 Netlog 735
21.3.8 Analog 735
21.4 Fazit 736
Kapitel 22 Disaster Recovery 737
22.1 Was ist Disaster Recovery? 738
22.1.1 Warum Sie einen Wiederherstellungsplan brauchen 738
22.2 Was Sie vor dem Aufbau Ihres Linux-Netzwerks
beachten sollten 739
22.2.1 Hardwarestandardisierung 739
22.2.2 Softwarestandardisierung: Ihre Basiskonfiguration 740
22.3 Auswahl der Sicherungsprogramme 744
22.4 Einfache Archivierung Ihrer Dateien und Verzeichnisse
mit tar und gzip 745
22.4.1 Archive mit tar erstellen 745
22.4.2 tar-Archive mit gzip komprimieren 747
22.4.3 kArchiver 748
22.4.4 cpio 749
22.4.5 Einrichtung eines Hot-Hosts 750
22.5 Sicherungstypen und -strategien 751
22.5.1 dump: Ein Tool für die Planung von Backups 751
22.6 Sicherungsprogramme 755
22.6.1 KDat 756
22.6.2 KBackup 756
22.6.3 BRU von Enhanced Software Technologies 757
22.6.4 AMANDA 757
22.7 Zum guten Schluss 759
22.8 Fazit 760
Anhang A Sicherheitsrelevante Linux-Befehle 761
Anhang B Linux-Sicherheitsindex 797
B.1 Ältere Sicherheitsprobleme 798
B.1.1 Einführung 798
B.2 Fazit 816
Anhang C Andere nützliche Sicherheits-Tools für Linux 817
Anhang D Weitere Informationsquellen 845
D.1 Ressourcen für Patches, Updates und Advisories 846
D.2 Mailinglisten 846
D.3 Newsgroups 849
D.4 Sichere Programmierung 851
D.5 Allgemeine Websicherheit 854
D.6 Allgemeine Informationsquellen zum Thema Sicherheit 856
D.7 Interessante RFCs 866
Anhang E Glossar 877
Stichwortverzeichnis 939
Kapitel 1 Linux-Sicherheit - eine Einführung 25
1.1 Was ist Linux? 26
1.1.1 Linux ist frei 26
1.1.2 Linux ist UNIX sehr ähnlich 29
1.1.3 Woher kommt Linux? 32
1.1.4 Warum Linux nicht für jedermann geeignet ist 32
1.1.5 Linux als Einzelplatzsystem 34
1.1.6 Linux als Intranet-/Internetserver 35
1.2 Linux-Sicherheit - ein Überblick 36
1.2.1 Benutzer-Accounts 37
1.2.2 Benutzerabhängige Zugriffskontrolle 39
1.2.3 Netzwerkzugriffskontrolle 41
1.2.4 Verschlüsselung 41
1.2.5 Protokollierung, Auditing und Netzwerküberwachung 43
1.2.6 Intrusion Detection - Einbruchserkennung 44
1.3 Zusammenfassung 45
Kapitel 2 Physikalische Sicherheit 47
2.1 Serverstandort und physikalischer Zugriff 49
2.1.1 Network Operations Center (NOC) 50
2.1.2 Öffentliche Computer 51
2.1.3 Richtlinien zur Computerbenutzung 52
2.2 Netzwerktopologie 53
2.2.1 Netzwerktopologie - Typen 53
2.2.2 Zusammenfassung Netzwerktopologie und Sicherheit 59
2.3 Netzwerkhardware 60
2.3.1 Übliche Sicherheitsmaßnahmen für Netzwerkhardware 61
2.3.2 Zusammenfassung Netzwerkhardware 64
2.4 Workstations und Sicherheit 65
2.4.1 BIOS- und Konsolenpasswörter 65
2.4.2 Biometrische Zugriffskontrollen 67
2.4.3 Modems und Sicherheit 73
2.4.4 Maßnahmen gegen Diebstahl 75
2.4.5 Eindeutige Nummerierung, Kennzeichnung und andere Techniken 77
2.5 Zusammenfassung 80
Kapitel 3 Installation 81
3.1 Verschiedene Linux-Distributionen, Sicherheit und Installation 82
3.1.1 Nicht alle Distributionen sind gleich... 86
3.2 Partitionen und Sicherheit 88
3.2.1 Was sind Partitionen eigentlich genau? 88
3.2.2 Linux in einer einzigen Partition 94
3.2.3 Weitere Vorteile mehrerer Partitionen 97
3.2.4 Festlegen der Partitionsgrößen 97
3.2.5 Auslagerungs- und Root-Partitionen erzeugen 100
3.2.6 Die erweitere Partition anlegen 103
3.2.7 Logische Partitionen innerhalb der erweiterten Partition anlegen 104
3.2.8 Andere Partitionierungs-Tools 105
3.2.9 Zusammenfassung Partitionen und Sicherheit 108
3.3 Netzwerkdienste während der Installation auswählen 110
3.3.1 Fünf Minuten für ein sichereres System 113
3.3.2 chkconfig 115
3.4 Bootloader 116
3.4.1 /etc/lilo.conf: die LILO-Konfigurationsdatei 117
3.4.2 Zusammenfassung Bootloader 119
3.5 Zusammenfassung 120
Kapitel 4 Grundlagen der Linux-Systemadministration 121
4.1 Der Grundgedanke 122
4.1.1 Ihr eigener Account 123
4.2 Accounts einrichten und verwalten 124
4.2.1 Account-Richtlinien 124
4.2.2 Account-Struktur 126
4.2.3 Benutzer hinzufügen 130
4.2.4 Benutzer löschen 138
4.3 Administrative Aufgaben mit su durchführen 139
4.3.1 su - der Ersatzbenutzer 139
4.4 Zugriffskontrolle 143
4.5 Berechtigungen und Eigentümer 143
4.5.1 chmod: Dateiberechtigungen ändern 145
4.6 Gruppen aus der Nähe betrachtet 155
4.6.1 Gruppen erzeugen 157
4.6.2 chown: Benutzer-, Eigentümer- und Gruppenberechtigungen zuweisen 161
4.6.3 Gruppen löschen 162
4.7 Ihr System herunterfahren 163
4.7.1 shutdown: Ihr Linux-System herunterfahren 164
4.8 Zusammenfassung 165
Kapitel 5 Passwortangriffe 167
5.1 Was ist ein Passwortangriff? 168
5.2 Wie Linux Passwörter erzeugt und speichert 169
5.2.1 Passwörter im Laufe der Jahrhunderte 170
5.3 Der Data Encryption Standard (DES) 173
5.3.1 Wörterbuchangriffe 175
5.4 Fallstudie: Linux-Passwörter mit Hilfe eines Passwortangriffs knacken 176
5.4.1 Wörterbuchangriffe in der Vergangenheit 185
5.5 Passwort-Shadowing und die shadow-Suite 187
5.5.1 /etc/shadow: Die shadow-Passwortdatenbank 188
5.5.2 Über das Erzeugen und Löschen von Benutzern
und Gruppen hinaus 200
5.5.3 Mögliche Angriffe auf Ihr Shadow-System 203
5.6 Nach der Installation der shadow-Suite 205
5.6.1 Passwortwahl von Seiten der Benutzer und Systemsicherheit 205
5.6.2 Proaktive Prüfung von Passwörtern 210
5.7 Andere Probleme in Bezug auf die Sicherheit von Passwörtern 214
5.7.1 Passwortvermehrung und Sicherheit 214
5.8 Pluggable Authentication Modules 218
5.9 Weitere Lösungen für sichere Passwörter 220
5.9.1 Der Network Information Service und die Passwortsicherheit 220
5.10 Zusammenfassung 221
Kapitel 6 Datenangriffe 225
6.1 Wann ist Datensicherheit notwendig? 226
6.1.1 Angriffe im wahren Leben 227
6.2 Formen der Datensicherheit 228
6.2.1 Private Schlüssel (Private-Key-Verschlüsselung) 229
6.2.2 Öffentliche Schlüssel (Public-Key-Verschlüsselung) 230
6.3 Übliche Verschlüsselungsalgorithmen 232
6.4 mcrypt: Installation und Benutzung 234
6.4.1 mcrypt benutzen 237
6.5 GnuPG: Ein Utility für die Public-Key-Verschlüsselung
installieren und benutzen 240
6.5.1 Ein Schlüsselpaar generieren 242
6.5.2 Ihr Schlüsselbund (keychain) 244
6.5.3 Dokumente verschlüsseln und entschlüsseln 246
6.5.4 GnuPG ein GUI hinzufügen 247
6.6 Steganographie-Etwas völlig anderes 251
6.6.1 JPHIDE/JPSEEK installieren und benutzen 252
6.7 Informationsquellen 255
6.8 Zusammenfassung 255
Kapitel 7 Bösartiger Code 257
7.1 Was ist bösartiger Code? 258
7.1.1 Was ist ein Trojanisches Pferd? 258
7.1.2 Viren 262
7.2 Bösartigen Code erkennen 265
7.2.1 Tripwire 269
7.2.2 Verfügbarkeit von Tripwire 271
7.2.3 Tripwire installieren 271
7.2.4 Tripwire konfigurieren und ausführen 279
7.2.5 Die Integrität Ihrer Dateien mit Tripwire überprüfen 280
7.2.6 Tripwire - Zusammenfassung 283
7.3 Andere Programme zum Überprüfen der Dateiintegrität 284
7.4 Weitere Informationsquellen 286
7.5 Zusammenfassung 288
Kapitel 8 Sniffer und elektronische Abhöreinrichtungen 289
8.1 Die Arbeitsweise von Sniffern 290
8.2 Fallstudien: Durchführung einfach gestrickter Sniffer-Angriffe 292
8.3 Weitere Sniffer und Tools zur Netzwerküberwachung 311
8.4 Welche Gefahr stellen Sniffer dar? 313
8.5 Abwehr von Sniffer-Angriffen 316
8.6 Weitere generelle Methoden zur Abwehr von Sniffern 317
8.6.1 Switches 318
8.7 Weitere Informationsquellen 319
8.8 Fazit 320
Kapitel 9 Scanner 321
9.1 Was ist ein Scanner? 322
9.1.1 Die Anatomie eines Systemscanners 323
9.1.2 Die Anatomie eines Netzwerkscanners 327
9.2 Die Funktionsweise von Scannern und deren Geschichte 331
9.3 Wie Scanner in Ihre Sicherheitsstrategie eingebunden
werden können 341
9.4 Verschiedene Scanner-Tools 342
9.4.1 SAINT (Security Administrators' Integrated Network Tool) 342
9.4.2 Nessus 343
9.4.3 Nmap (Network Mapper) 349
9.4.4 CGI Scanner V1.0 352
9.4.5 Weitere interessante Scanner 354
9.5 Sind Scanner legal? 357
9.6 Abwehr von Scanner-Angriffen 358
9.6.1 courtney 358
9.6.2 IcmpInfo 360
9.6.3 scan-detector 362
9.6.4 klaxon 363
9.6.5 Psionic PortSentry 364
9.7 Weitere Informationsquellen 365
9.8 Fazit 366
Kapitel 10 Spoofing 367
10.1 Was ist Spoofing? 368
10.2 TCP- und IP-Spoofing 368
10.2.1 Fallstudie: Eine einfache Spoofing-Attacke 371
10.2.2 Tools für das TCP- und IP-Spoofing 374
10.2.3 Welche Dienste sind anfällig gegen IP-Spoofing? 375
10.2.4 IP-Spoofing abwehren 378
10.3 ARP-Spoofing 379
10.3.1 ARP-Spoofing-Attacken abwehren 380
10.4 DNS-Spoofing 382
10.4.1 Programme für das DNS-Spoofing 382
10.4.2 DNS-Spoofing entdecken und abwehren 383
10.5 Weitere ungewöhnliche Spoofing-Attacken 384
10.6 Couic 386
10.7 Weitere Informationsquellen 388
10.8 Fazit 389
Kapitel 11 FTP-Sicherheit 391
11.1 Das File Transfer Protocol 392
11.1.1 Die Sicherheitsvorgeschichte von FTP 392
11.2 Standardsicherheitsfunktionen von FTP 396
11.2.1 /etc/ftpusers: eingeschränkter Benutzerzugriff 396
11.2.2 ftphosts 397
11.2.3 /etc/ftpaccess: Die ftpd-Konfigurationsdatei 399
11.2.4 Zusammenfassung zu den Standardsicherheitsfunktionen
von FTP 405
11.3 SSH-Dateiübertragungen 405
11.3.1 scp 405
11.3.2 sftp 406
11.4 Alternative Lösungen: SSLftp und sftp 408
11.5 Sicherheit spezieller FTP-Anwendungen 409
11.5.1 ncftp 409
11.5.2 filerunner 409
11.5.3 ftpwatch 410
11.5.4 wu-ftpd 410
11.6 Zusammenfassung 410
Kapitel 12 Mail-Sicherheit 411
12.1 SMTP-Server und -Clients 412
12.1.1 Ein einfacher SMTP-Client 415
12.2 Sendmail - Sicherheitsgrundlagen 418
12.2.1 Den sendmail-Dienst schützen 426
12.2.2 Weitere Informationsquellen zu sendmail 436
12.3 sendmail durch Qmail ersetzen 438
12.3.1 Qmail installieren 438
12.3.2 Weitere Informationsquellen zu Qmail 442
12.4 Zusammenfassung 443
Kapitel 13 Telnet- und SSH-Sicherheit 445
13.1 Die Sicherheitsvorgeschichte von Telnet 446
13.2 Sichere Telnet-Syteme 448
13.2.1 deslogin 449
13.2.2 STEL (Secure Telnet) 455
13.2.3 SRA Telnet von der Texas A&M University 456
13.2.4 Das Stanford SRP Telnet/FTP-Paket 456
13.2.5 Wichtige Dokumente 457
13.3 Secure Shell (ssh) 458
13.3.1 Die Kern-Utilities von ssh 459
13.3.2 Schnellstart: die ssh-Distribution installieren 460
13.3.3 Den ssh-Server konfigurieren 461
13.3.4 Befehlszeilenoptionen beim Starten von sshd 465
13.3.5 sshd starten 469
13.3.6 Der ssh-Client 470
13.4 scp: Das Programm Secure Copy zum Kopieren
von Remotedateien 472
13.5 ssh-Dienste in einem heterogenen Netzwerk bereitstellen 473
13.5.1 PuTTY 473
13.5.2 Tera Term 474
13.5.3 ssh-Unterstützung für Macintosh 474
13.5.4 ssh in Aktion - Beispiele 474
13.6 Sicherheitsprobleme von ssh 481
13.7 Weitere Informationsquellen 481
Kapitel 14 Sichere Webserver 483
14.1 Unnötige Dienste entfernen 484
14.1.1 File Transfer Protocol (FTP) 485
14.1.2 finger 486
14.1.3 Network File System (NFS) 487
14.1.4 Andere RPC-Dienste 488
14.1.5 Die r-Dienste 490
14.1.6 Andere Dienste 492
14.1.7 Zugriffskontrollen für laufende Dienste 495
14.2 Ihren Webserver sichern 496
14.2.1 httpd 496
14.2.2 Zugriff von außen kontrollieren: httpd.conf 497
14.2.3 Konfigurationsoptionen, die Ihre Sicherheit
beeinträchtigen können 503
14.3 Zugriffskontrollen für Verzeichnisse über grundlegende
HTTP-Authentifizierung 510
14.3.1 htpasswd 510
14.4 Schwachstellen in der Basis-HTTP-Authentifizierung 516
14.5 HTTP und kryptographische Authentifizierung 517
14.5.1 MD5-Digest-Authentifizierung hinzufügen 518
14.6 Eine chroot-Webumgebung einrichten 519
14.7 WebDAV 521
14.7.1 WebDAV installieren und konfigurieren 521
14.7.2 WebDAV auf Mac OS X benutzen 523
14.7.3 WebDAV auf Windows-Systemen benutzen 524
14.8 Akkreditierung und Zertifizierung 527
14.8.1 PricewaterhouseCoopers, Resource Protection Services (USA) 527
14.8.2 The American Institute of Certified Public Accountants (AICPA) 528
14.8.3 International Computer Security Association (vorher NCSA) 528
14.8.4 Troy Systems 529
14.9 Zusammenfassung 529
Kapitel 15 SSL: Sichere Kommunikation mit Webservern 531
15.1 Das Problem 532
15.2 Das SSL-Protokoll von Netscape 533
15.2.1 SSL: Die Sicherheitsvorgeschichte 534
15.3 Installation von mod_ssl 537
15.3.1 OpenSSL entpacken, kompilieren und installieren 538
15.3.2 mod_ssl entpacken, kompilieren und installieren 539
15.3.3 Zertifikate und Zertifizierungsstellen 554
15.3.4 Weitere Lektüre zu SSL 556
15.4 Fazit 556
Kapitel 16 Sichere Webentwicklung 557
16.1 Risikofaktoren in der Webentwicklung: Eine Übersicht 558
16.2 Shells aufrufen 559
16.2.1 Shell-Befehle mit system() ausführen 559
16.2.2 popen() in C und C++ 563
16.2.3 eval (Perl mit Shell) 568
16.2.4 exec() in Perl 568
16.3 Pufferüberläufe 569
16.3.1 Allgemeine Anmerkungen zu Benutzereingaben 572
16.4 Pfade, Verzeichnisse und Dateien 573
16.4.1 chdir() 575
16.4.2 Dateien 575
16.5 Eingebettete Programmiersprachen 576
16.5.1 PHP installieren 578
16.5.2 Weitere eingebettete Sprachen 582
16.6 Testautomatisierung bei CGI-Skripten 583
16.7 Weitere interessante Tools für die sichere Programmierung 584
16.8 Andere Online-Informationsquellen 586
16.9 Fazit 587
Kapitel 17 Sicherheit bei der Dateifreigabe 589
17.1 Linux als Dateiserver 590
17.2 Samba 591
17.2.1 Globale Anweisungen 593
17.2.2 Anweisungen auf der Freigabeebene 597
17.2.3 SWAT 600
17.2.4 Weitere Informationsquellen 601
17.3 Netatalk 602
17.3.1 Die Grundkonfiguration von Netatalk 603
17.3.2 Weitere Informationen 605
17.4 NFS-Sicherheit 605
17.4.1 Die Datei exports 606
17.4.2 Weitere Informationen 607
17.5 VPNs 608
17.5.1 IPSec 608
17.6 Fazit 609
Kapitel 18 DoS-Angriffe 611
18.1 Was ist ein DoS-Angriff? 613
18.2 Risiken durch DoS-Angriffe 614
18.2.1 Verteilte DoS-Angriffe 616
18.3 Aufbau dieses Kapitels 617
18.4 DoS-Angriffe gegen Hardware 617
18.5 Angriffe auf Linux-Netzwerke 622
18.6 Angriffe auf Linux-Anwendungen 638
18.7 Andere DoS-Angriffe 641
18.8 Verteidigung gegen DoS-Angriffe 645
18.9 Online-Informationsquellen 646
18.10 Fazit 647
Kapitel 19 Linux und Firewalls 649
19.1 Was ist eine Firewall? 650
19.1.1 Paketfilter (Firewalls für die Netzwerkschicht) 652
19.1.2 Anwendungsgateways 653
19.2 Brauchen Sie eine Firewall? 654
19.3 Internet-Gateways und Internet-Firewalls 656
19.4 TCP Wrappers 659
19.4.1 Netzwerkzugriffssteuerung mit TCP Wrappers 662
19.4.2 Zusammenfassung zu TCP Wrappers 666
19.5 ipfwadm 667
19.5.1 Grundlagen zu ipfwadm 667
19.5.2 ipfwadm konfigurieren 670
19.6 ipchains 671
19.6.1 Sicherheitsvorgeschichte von ipchains 673
19.7 iptables 673
19.8 Kostenlose Firewall-Tools und Zusatzprogramme für Linux 675
19.9 Kommerzielle Firewalls 676
19.9.1 CSM Proxy (Enterprise Edition) 676
19.9.2 GNAT Box Firewall 676
19.9.3 NetScreen 677
19.9.4 Sun Cobalt Adaptive Firewall 677
19.9.5 PIX-Firewall 677
19.10 Zusätzliche Informationsquellen 678
19.10.1 Bücher 678
19.10.2 Ressourcen im Internet 678
19.11 Fazit 679
Kapitel 20 Intrusion Detection 681
20.1 Was ist Intrusion Detection? 682
20.2 Grundlegende Konzepte 683
20.3 Einige interessante IDS 686
20.3.1 chkwtmp 686
20.3.2 tcplogd 687
20.3.3 Snort 687
20.3.4 HostSentry 689
20.3.5 Shadow 690
20.3.6 MOM 691
20.3.7 HummingBird 693
20.3.8 AAFID (Autonomous Agents for Intrusion Detection) 694
20.4 Intrusion Detection in der Praxis 695
20.4.1 PortSentry 696
20.4.2 PortSentry installieren und konfigurieren 697
20.4.3 Automatischer Start 700
20.5 Dokumente zur Intrusion Detection 702
20.6 Fazit 703
Kapitel 21 Protokollierung und Auditing 705
21.1 Was genau heißt "Protokollieren"? 706
21.2 Protokollierung bei Linux 707
21.2.1 lastlog 708
21.2.2 last 709
21.2.3 xferlog 713
21.2.4 httpd-Log-Dateien 714
21.2.5 Samba 718
21.2.6 System- und Kernel-Meldungen 720
21.2.7 Von eigenen Programmen aus in syslog schreiben 725
21.2.8 Log-Dateien sichern und verwalten 728
21.3 Weitere interessante Protokollierungs- und Auditing-Tools 731
21.3.1 SWATCH (The System Watcher) 732
21.3.2 Snort 733
21.3.3 Watcher 733
21.3.4 NOCOL/NetConsole V 4.0 734
21.3.5 PingLogger 734
21.3.6 LogSurfer 734
21.3.7 Netlog 735
21.3.8 Analog 735
21.4 Fazit 736
Kapitel 22 Disaster Recovery 737
22.1 Was ist Disaster Recovery? 738
22.1.1 Warum Sie einen Wiederherstellungsplan brauchen 738
22.2 Was Sie vor dem Aufbau Ihres Linux-Netzwerks
beachten sollten 739
22.2.1 Hardwarestandardisierung 739
22.2.2 Softwarestandardisierung: Ihre Basiskonfiguration 740
22.3 Auswahl der Sicherungsprogramme 744
22.4 Einfache Archivierung Ihrer Dateien und Verzeichnisse
mit tar und gzip 745
22.4.1 Archive mit tar erstellen 745
22.4.2 tar-Archive mit gzip komprimieren 747
22.4.3 kArchiver 748
22.4.4 cpio 749
22.4.5 Einrichtung eines Hot-Hosts 750
22.5 Sicherungstypen und -strategien 751
22.5.1 dump: Ein Tool für die Planung von Backups 751
22.6 Sicherungsprogramme 755
22.6.1 KDat 756
22.6.2 KBackup 756
22.6.3 BRU von Enhanced Software Technologies 757
22.6.4 AMANDA 757
22.7 Zum guten Schluss 759
22.8 Fazit 760
Anhang A Sicherheitsrelevante Linux-Befehle 761
Anhang B Linux-Sicherheitsindex 797
B.1 Ältere Sicherheitsprobleme 798
B.1.1 Einführung 798
B.2 Fazit 816
Anhang C Andere nützliche Sicherheits-Tools für Linux 817
Anhang D Weitere Informationsquellen 845
D.1 Ressourcen für Patches, Updates und Advisories 846
D.2 Mailinglisten 846
D.3 Newsgroups 849
D.4 Sichere Programmierung 851
D.5 Allgemeine Websicherheit 854
D.6 Allgemeine Informationsquellen zum Thema Sicherheit 856
D.7 Interessante RFCs 866
Anhang E Glossar 877
Stichwortverzeichnis 939