lehrerbibliothek.deDatenschutzerklärung
Linux-Sicherheit Security mit Open-Source-Software  Grundlagen und Praxis
Linux-Sicherheit
Security mit Open-Source-Software


Grundlagen und Praxis

Tobias Klein

dpunkt.verlag
EAN: 9783932588044 (ISBN: 3-932588-04-5)
832 Seiten, kartoniert, 18 x 25cm, 2001

EUR 52,00
alle Angaben ohne Gewähr

Umschlagtext
Linux Sicherheit



Dieses Buch bietet einen umfangreichen Überblick über die sicherheitsrelevanten Aspekte des Linux-Betriebssystems und zeigt, wie man Sicherheit im praktischen Einsatz gewährleisten kann.

Zunächst wird Schritt für Schritt vermittelt, wie man unter Security-Gesichtspunkten eine minimale Grundinstallation eines Linux-Systems anfertigt. Dieses System kann dann beispielsweise als vertrauenswürdige Basis für entsprechende Netzwerkdienste (WWW, FTP, Mail) oder als Ausgangspunkt für eine Firewall- oder Gateway-Installation verwendet werden.



Im Anschluss daran wird eine systematische und umfangreiche Übersicht über potenzielle Bedrohungen sowie über die Möglichkeiten zu derer Abwendung gegeben. Themen sind u.a.:



- Buffer Overflows

- Linux und Viren

- Spoofing

- Trojanische Pferde

- (Distributed) Denial of Service

- Netzwerk-Scan-Techniken

- Sniffing

- Verschlüsselung

- Härtung des Linux-Systems

- Access Control Lists

- Authentifikationsmechanismen

- Firewalls

- Intrusion Detection



Alle Bereiche werden detailliert und durch Beispiele nachvollziehbar erläutert. Leser sind dadurch in der Lage, ihr jeweiliges System oder Netzwerk in Hinblick auf sicherheitsrelevante Aspekte vertrauenswürdig zu konzipieren und zu gestalten.
Rezension
Das Buch bietet auf seinen fast 900 Seiten eine umfassende Einführung in Fragen zur Sicherheit von Linux-basierten Systemen." (Berlin Online)


"Das beste Buch, das in diesem Bereich zu finden ist! ... gut nachzuvollziehen, komplizierte Vorgänge verständlich erklärt, trotzdem geht nichts an technischem und wissenschaftlichem Wissen verloren!" (Kundenrezension auf amazon.de)
Inhaltsverzeichnis
1 Einleitung
1.1 Systemsicherheit
1.2 Linux
1.3 Linux und Sicherheit

2 Über dieses Buch
2.1 Umfang und Grenzen
2.2 Voraussetzungen der Leser
2.3 Verwendete Distribution und Rechnerarchitektur
2.4 Darstellungskonventionen
2.5 Der Vi-Editor

3 Installation
3.1 Auswahl der Distributionsversion
3.2 Noch vor der Installation
3.3 Installationsvarianten
3.4 Erstellen der Bootdisketten
3.5 Minimale Grundinstallation
3.6 Auswahl der Pakete
3.7 Installation über Netzwerk
3.8 Mögliche Komplikationen

4 Authentifikation
4.1 Was versteht man unter Authentifikation
4.2 Der Anmeldevorgang
4.3 Sichere Passwörter
4.4 Sicherheitsrisiko Zugangsberechtigungen
4.5 One-Time-Passwords
4.6 PAM
4.6.1 Konfiguration von PAM
4.6.2 PAM im Einsatz: Login und PAM
4.6.3 PAM im Einsatz: Zugriffszeiten beschränken
4.6.4 PAM im Einsatz: su einschränken
4.6.5 PAM im Einsatz: zusätzliche PAM-Module
4.6.6 Fazit

5 Sicherheitsrelevante Systemadministration
5.1 Multi-User-System
5.2 root
5.3 Benutzerverwaltung
5.3.1 Anlegen eines Benutzers
5.3.2 Setzen eines Passwortes
5.3.3 Löschen eines Benutzers
5.3.4 Erstellung, Verwaltung und Löschen von Gruppen
5.3.5 Weitere Funktionen der Shadow Suite
5.4 Dateisystem und Dateisicherheit
5.4.1 Besitzverhältnisse und Zugriffsrechte
5.4.2 Syntax der Zugriffsrechte
5.4.3 t-Bit, SGID und SUID
5.5 Werkzeug für das Dateisystem
5.5.1 chmod
5.5.2 chown
5.5.3 chgrp
5.6 Erweiterte Funktionen des ext2-Dateisystems
5.6.1 Konfigurationsprogramme
5.6.2 Vorteile
5.6.3 lcap
5.6.4 Konkreter Einsatz
5.6.5 Fazit
5.7 Administrationswerkzeuge
5.7.1 ps
5.7.2 netstat
5.7.3 lsof
5.7.4 top
5.8 Installationswerkzeug
5.8.1 RPM
5.8.2 Tarballs

6 Härtung des Linux-Systems
6.1 Konfiguration
6.2 Installation der Kompilerkomponenten
6.3 Updates und Patches
6.4 Hashfunktionen
6.4.1 Sicherheitsrisiko Geburtstagsangriff
6.4.2 MD5
6.4.3 SHS
6.4.4 Beispiel einer Paketverifizierung anhand von MD5
6.5 SUID/SGID
6.6 Partitionen und SUID/SGID
6.7 Allgemeine Hinweise zur Restriktion von Filesystemen
6.8 Konfiguration der angebotenen Dienste
6.9 TCP_Wrapper
6.10 xinetd
6.10.1 inetd und TCP_Wrapper
6.10.2 xinetd
6.10.3 Fazit
6.11 System-V-Init-Prozess
6.12 Anpassen der Passwortdatei
6.13 Physikalische Sicherheit und Absicherung
des Bootvorgangs
6.14 shutdown
6.15 su
6.16 /etc/host.conf
6.17 /etc/service
6.18 Das Auffinden von worldwriteable Dateien
und Verzeichnisse
6.19 Verwaiste Dateien
6.20 .rhosts
6.21 Schutz der Systemlogfiles
6.22 Bastille Linux
6.23 Fazit


7 Kernel
7.1 Bezugsquellen
7.2 Kernelversionen
7.3 Sicherheitsprobleme
7.4 Kernelerstellung
7.4.1 Rettungsdiskette
7.4.2 Kerneloptimierung
7.4.3 Maximale Prozesse
7.4.4 Konfiguration
7.4.5 Kompilierung
7.4.6 Installation
7.4.7 Anpassung an einen monolithischen Kernel
7.5 Kernelparameter

8 Sudo
8.1 Bezugsquelle
8.2 Kompilierung und Installation
8.3 Konfiguration
8.4 Fazit

9 Buffer Overflows
9.1 Ausnutzung von Buffer-Overflow-Fehlern
9.2 Erläuterung des Buffer-Overflow-Beispiels
9.3 Gegenmaßnahmen I: Sichere Programmierung
9.3.1 ITS4
9.3.2 Slint
9.3.3 Weitere Quellen
9.4 Gegenmaßnahmen II: Openwall-Patch-
Non-executable Stack
9.5 Gegenmaßnahmen III: Array-Grenzüberwachung
9.6 Gegenmaßnahmen IV: Immunix StackGuard-Compiler
9.7 Gegenmaßnahmen V: Libsafe
9.8 Fazit

10 Systemanomalien
10.1 Systemanomalien der ersten Art
10.2 Systemanomalien der zweiten Art
10.3 Systemanomalien der dritten Art

11 Computer-Würmer
11.1 Geschichte der Computer-Würmer
11.2 Der Morris-Wurm
11.3 Fazit

12 Viren
12.1 Was sind Computer-Viren?
12.2 Viren unter Linux
12.3 Skript-Virus
12.4 Gegenmaßnahmen Teil 1
12.5 Beispiel eines Linux-Virus: Der Bliss-Virus
12.6 Gegenmaßnahmen Teil 2
12.7 Fazit
12.8 Weiterführende Links
12.9 Linux als Virenfalle
12.10 Anti-Viren-Software für Linux

13 Trojanische Pferde
13.1 Infektion durch Trojanische Pferde
13.2 Wirkungsweise
13.3 Beispiele für Trojaner-Attacken
13.4 Rootkits
13.5 Schutz und Gegenmaßnahmen
13.6 Loadable Kernel Modules
13.6.1 Funktionsweise
13.6.2 Systemcalls
13.6.3 Kernel- und Systemcall-Hintertüren
13.6.4 Schutzmaßnahmen

14 Spoofing
14.1 IP-Spoofing
14.1.1 Einsatzgebiete
14.1.2 TCP-Sequenznummern-Angriff
14.1.3 Die Mitnick-Attacke
14.1.4 Fazit
14.1.5 Gegenmaßnahmen
14.2 DNS-Spoofing
14.2.1 Wie funktioniert DNS-Spoofing?
14.2.2 Gegenmaßnahmen
14.3 ARP-Spoofing
14.3.1 Gegenmaßnahmen
14.4 RIP-Spoofing
14.4.1 Gegenmaßnahmen
14.5 WWW-Spoofing
14.5.1 Konsequenzen
14.5.2 Wie funktioniert eine Man-in-the-Middle-Attacke?
14.5.3 Aufspüren des Angreifers
14.5.4 Gegenmaßnahmen

15 Netzwerk-Scan-Techniken
15.1 Scanning
15.1.1 Online Chek
15.1.2 Port-Scanning
15.1.3 Port-Scan-Detectoren I: Scanlogd
15.1.4 Port-Scan-Detectoren II: PortSentry
15.1.5 Grundsätzliche Probleme mit Port-Scan-Detectoren
15.1.6 Erweiterte Port-Scan-Methoden
15.2 Inverse Mapping
15.3 Betriebssystemerkennung
15.3.1 Klassische Methoden
15.3.2 Verfügbare OS-Bestimmungen
15.3.3 Spezielle Techniken der OS-Bestimmung
15.3.4 Möglichkeiten gegen OS-Bestimmungssoftware
15.4 Nmap
15.5 Firewalking
15.6 Security Scanner
15.6.1 Hostbasierte Security Scanner
15.6.2 Netzwerkbasierte Security Scanner
15.7 Fazit

16 Sniffer
16.1 Was ist überhaupt ein Sniffer?
16.2 Anwendungsgebiete von Sniffern
16.3 Funktionsweise von Sniffern
16.4 Ethernet
16.5 Die Media-Access-Contol-Adresse
16.6 Bezugsquellen
16.7 Konkretes Beispiel
16.8 Anzeichen einer Sniffer-Attacke
16.9 AntiSniff
16.10 Wie kann man sich vor einem Sniffer-Angriff schützen?
16.11 Fazit

17 Linux und Verschlüsselung
17.1 Grundlagen der Verschlüsselung
17.2 Symmetrische Verschlüsselungsverfahren
17.2.1 Historische Beispiele symmetrischer
Verschlüsselungsverfahren
17.3 Asymmetrische Verschlüsselungsverfahren
17.3.1 Beispiele für asymetrische
Verschlüsselungsverfahren
17,3,2 Fazit
17.4 Angriffe gegen kryptographische Verfahren
17.5 Weiterführende Literatur
17.6 Verschlüsselungsimplementation
17.7 Secure Shell (SSH)
17.7.1 SSH im Überblick
17.7.2 Installation von SSH
17.7.3 Konfiguration
17.7.4 Benutzerdefinierte Client-Anpassung
17.7.5 Funktion und Gebrauch
17.7.6 Fazit
17.8 OpenSSH
17.8.1 Vorbereitung der Installation
17.8.2 Installation
17.8.3 Konfiguration
17.8.4 Benutzerdefinierte Client-Anpassung
17.8.5 Funktion und Gebrauch
17.8.6 Kompatibilität
17.8.7 Fazit: SSH und OpenSSH
17.9 OpenSSL
17.10 IPSec – Internet Protocol Security
17.10.1 IPSec-Imlementierung
17.10.2 Key Management
17.10.3 Netzwerksicherheit durch IPSec
17.10.4 Anwendungsgebiete von IPSec
17.10.5 Freie IPSec-Implementierung für Linux
17.11 Kryptographie auf Anwendungsebene: GnuPG
17.12 Lokale Verschlüsselung
17.12.1 Das Loopback Device
17.12.2 Der International Kernel Patch
17.12.3 Weitere lokale Verschlüsselungsmechanismen
für Linux-Dateisysteme

18 Denial-of-Service-Attacken
18.1 Hostbasierte DoS-Angriffe gegen das Linux-System
18.1.1 Plattenplatz aufbrauchen
18.1.2 CPU/RAM verbrauchen
18.1.3 Prozessor-Fehler
18.2 Netzwerkbasierte DoS-Angriffe gegen das Linux-System
18.2.1 E-Mail-Bombing
18.2.2 Broadcast-Angriff
18.2.3 Anfällige Kernelstrukturen
18.2.4 Large-Packet-Attacks
18.2.5 Der „Slashdot-Effekt“
18.3 DoS-Attacken gegen Hardware

19 Distributed-Denial-of-Service-Attacken
19.1 Analyse bereits bekannter DDoS-Angriffstools
19.1.1 trinoo
19.1.2 TFN – Tribe Flood Network
19.1.3 Stacheldraht
19.1.4 Weitere DDoS-Angriffstools
19.2 Anti-DDoS-Maßnahmen
19.2.1 Netzwerkfilter und ISPs
19.2.2 Weitere hostbasierte Anti-DDoS-Maßnahmen
19.2.3 Weitere netzwerkbasierte Anti-DDoS-Maßnahmen
19.2.4 Fazit

20 Audit-Mechanismus, Logfiles und Accounting
20.1 System und Kernel
20.1.1 syslogd
20.1.2 klogd
20.1.3 Systemlogile-Einträge auswerten
20.1.4 logrotate
20.1.5 Angriffe gegen Logfiles
20.1.6 Schutz der Logfiles
20.2 System Accounting
20.2.1 Connection Accounting
20.2.2 Process Accounting
20.3 Fazit

21 Firewalls
21.1 Theoretische Grundlagen
21.1.1 Allgemeine Firewall-Mechanismen
21.1.2 Schutzniveau
21.1.3 Firewall-Topologien
21.1.4 Firewall-Architekturen
21.1.5 Zugriffskontrolle
21.2 Praktischer Einsatz
21.2.1 Kommerzielle Firewall-Produkte
21.2.2 Verwirklichung einer Firewall unter Linux
21.2.3 Linux-Firewall mit ipchains
21.2.4 IP-Masquerading
21.2.5 Beispiel für eine Paketfilterimplementation
21.2.6 Übersicht über die Gateway-
Paketfilterimplementation
21.2.7 Paketfilterskript
21.2.8 Installation des Paketfilterskriptes
21.2.9 Proxy-Software
21.2.10 Freie Firewall-Toolkits
21.3 Fazit
21.4 Firewall Design Tools
21.5 Weiterführende Literatur

22 Intrusion Detection
22.1 Was ist Intrusion Detection?
22.2 Intrusion – Unerlaubtes Eindringen
22.3 IDS-Komponeneten
22.3.1 Datensammlung
22.3.2 Dantenanalyse
22.3.3 Anomaly-Detection-Intrusion-Detection-Systeme
(AD-IDS)
22.3.4 Misuse-Detection-Intrusion-Detection-Systeme
(MD-IDS)
22.3.5 Ergebnisdarstellung
22.4 Angriffstechniken und Anzeichen
22.5 Elemente der Systemsicherheit
22.6 Aspekte eines guten Intrusion-Detection-Systems
22.7 Fehleranfälligkeit
22.8 Sicherheitspolitik
22.9 Erkennen der Angriffsmuster
22.9.1 Misuse-Detection-Intrusion-Detection-Systeme
22.9.2 Arten von Misuse-Detection-Intrusion-Detection-
Systeme
22.10 Burglar Alarms
22.11 Nutzwert eines Intrusion-Detection-Systems

22.12 Intrusion Response (IR) – Automatische Gegenmaßnahmen
22.12.1 Schäden verhindern mittels Gegenangriff
22.12.2 (Weitere) Schäden verhindern mittels Abschottung
22.12.3 Identifizierung des Angreifers
22.13 Arten der Misuse Detection Intrusion Detection

23 Hostbasierte Intrusion Detection
23.1 System Integrity Verifier (SIV)
23.1.1 sXid
23.1.2 Tripwire
23.2 Logfile-Analyse
23.2.1 logcheck
23.2.2 swatch
23.3 LIDS
23.3.1 Funktionsumfang
23.3.2 Funktionsweise
23.3.3 Installation
23.3.4 Konfiguration
23.3.5 Beispiel für eine konkrete Implementation
23.3.6 Beispiel einer Systemanpassung für den Einsatz
von LIDS
23.3.7 Fazit
23.4 HostSentry
23.5 Deception-Systeme – Honeypots


24 Netzwerkbasierte Intrusion Detection
24.1 Snort
24.1.1 Funktionsweise
24.1.2 Konfiguration und Installation
24.1.3 Snort-Optionen
24.1.4 Angriffsmuster und Datenbanken –
Erstellung neuer Filterregeln
24.2 Konkrete Snort-Implementation
24.2.1 Vorbereitung
24.2.2 Konfiguration
24.2.3 Starten von Snort
24.2.4 Testen von Snort
24.2.5 Snort als ADS
24.2.6 Auswertung
24.2.7 Weiterführende Snort-Links
24.3 Fazit
24.4 Weiterführende Links
24.5 Weiterführende Literatur

25 Sicherheitsstandards
25.1 Sicherheitsbewertung
25.2 Kriterienkataloge
25.2.1 TCSEC
25.2.2 Der ITSEC-Kriterienkatalog
25.2.3 Common Criteria
25.2.4 Internationale Sicherheitsinstitute und
Kriterienkataloge in der Übersicht
25.3 Sicherheitsbewertung eines Standard-Linux-Systems
25.3.1 Vertraulichkeit von Daten
25.3.2 Vertraulichkeit der Datenübermittlung
25.3.3 Authentifikationsmechanismen und
Zugangskontrolle
25.3.4 Integrität
25.3.5 Nachvollziehbarkeit, Logging
25.3.6 Fazit
25.4 Implementation von erweiterten Sicherheitsmodellen
unter Linux
25.4.1 Access Control Lists
25.4.2 POSIX Access Control Lists für Linux
25.4.3 Fazit
25.5 Weitere Projekte
25.5.1 RSBAC
25.5.2 SGI
25.5.3 NSA

26 Notfallplan – Mögliche Reaktionen
auf eine Systemkompromittierung
26.1 Maßnahmen – Teil 1
26.2 Vertrauenswürdige Rekonstruktion
26.3 Maßnahmen – Teil 2
26.4 Praktische Rekonstruktionsmehtoden
26.5 Nach der Rekonstruktion
26.6 Warum sollte man Angriffe melden?
26.7 Wen sollte man benachrichtigen?
26.8 Wie und was soll berichtet werden?
26.9 Fazit
26.10 Backup

A Kernelparameter
A.1 Der icmp_echo_ignore_all-Parameter
A.2 Der tcp_syncookies-Parameter
A.3 Der icmp_echo_ignore_broadcasts-Parameter
A.4 Der accept_source_route-Parameter
A.5 Der rp_filter-Parameter
A.6 Der always_defrag-Parameter
A.7 Der log_martians-Parameter
A.8 Der accept_redirects-Parameter

B Angriff- und Verteidigungsmatrix

C Organisationen

D Sicherheitsrelevante Request for Comments (RFC)

E Sichheitsneuigkeiten
E.1 Securityportal
E.2 LinuxSecurity
E.3 Securityfocus

F Die wichtigsten sicherheitsrelevanten Mailinglisten und Newsgoups

G Glossar

H Literatur

Index