lehrerbibliothek.deDatenschutzerklärung
Linux-Sicherheits-Kochbuch  Sicherheits-Tipps und Techniken
Linux-Sicherheits-Kochbuch


Sicherheits-Tipps und Techniken

Daniel J. Barrett, Robert G. Byrnes, Richard Silverman

O'Reilly Verlag GmbH & Co. KG
EAN: 9783897213647 (ISBN: 3-89721-364-8)
343 Seiten, kartoniert, 18 x 23cm, Oktober, 2003, Deutsche Übersetzung von Peter Klicman; Deutsche Ausgabe

EUR 38,00
alle Angaben ohne Gewähr

Umschlagtext
Computersicherheit zu gewährleisten ist ein komplexer Prozess, der einer ständigen Überprüfung und Verbesserung bedarf. Dieses Kochbuch hilft Ihnen, mit leicht nachvollziehbaren Rezepten die Sicherheit Ihres Linux-Systems und Netzwerks schrittweise zu verbessern. Die Rezepte bieten jede Menge praktische Lösungen und Code für die zentralen Sicherheitsaufgaben. Sie enthalten sowohl Anleitungen zum Aufbau eines sicheren Systems als auch Lösungen für täglich auftretende Probleme und zeigen Techniken, wie die Sicherheit eines Systems aufrecht erhalten werden kann.



Die Rezepte in diesem Buch umfassen u.a. folgende Themen:



• Zugriffskontrolle durch Firewalls oder spezielle Dienste wie iptables, ipchains, xinetd oder inetd

• Netzwerk-Überwachung mit ethereal, dsniff, netstat und anderen Tools

• sichere Netzwerkverbindungen mit SSH und SSL

• die Erkennung von Einbrüchen mit tripwire, snort, tcpdump, logwatch

• das Verschlüsseln von Dateien und E-Mails mit GnuPG

• die Untersuchung des Sicherheitssystems mit Passwort-Crackern und nmap



Das Linux-Sicherheits-Kochbuch richtet sich an fortgeschrittene Linux-Systemadministratoren sowohl von großen Firmen-Netzwerken als auch von kleinen Home-Systemen.
Verlagsinfo
Dieses Kochbuch bietet Linux-System- und Netzwerkadministratoren jede Menge praktischer und leicht nachvollziehbarer Rezepte mit Lösungen und Code für alltäglich anfallende Sicherheitsaufgaben. Dabei werden u.a. Themen behandelt wie das Verschlüsseln von E-Mail mit Emacs, Zugangsbeschränkungen für Netzwerkdienste, der Aufbau einer Firewall usw.
Inhaltsverzeichnis
Vorwort

1 System-Schnappschüsse mit Tripwire

1.1 Tripwire einrichten
1.2 Ausgabe der Policy und der Konfiguration
1.3 Policy und Konfiguration ändern
1.4 Grundlegende Integritätsprüfung
1.5 Leseorientierte Integritätsprüfung
1.6 Entfernte Integritätsprüfungen
1.7 Ultra-paranoide Integritätsprüfung
1.8 Teure, ultra-paranoide Integritätsprüfung
1.9 Automatisierte Integritätsprüfungen
1.10 Ausgabe des letzten Tripwire-Berichts
1.11 Aktualisierung der Datenbank
1.12 Dateien zur Datenbank hinzufügen
1.13 Dateien aus der Datenbank ausschließen
1.14 Windows VFAT-Dateisysteme prüfen
1.15 Prüfen RPM-installierter Dateien
1.16 Integritätsprüfung mit rsync
1.17 Manuelle Integritätsprüfung

2 Firewalls mit iptables und ipchains

2.1 Quelladress-Verifikation aktivieren
2.2 Sperren von ausspionierten Adressen
2.3 Den gesamten Netzwerkverkehr sperren
2.4 Eingehenden Netzwerkverkehr sperren
2.5 Ausgehenden Netzwerkverkehr blockieren
2.6 Eingehende Service-Anfragen blockieren
2.7 Zugriffe von einem entfernten Host sperren
2.8 Zugriff auf einen entfernten Port blockieren
2.9 Ausgehenden Zugriff auf alle Webserver eines Netzwerks blockieren
2.10 Entfernten Zugriff blockieren, aber lokalen Zugriff erlauben
2.11 Zugriffskontrolle über die MAC-Adresse
2.12 Nur SSH-Zugriff erlauben
2.13 Ausgehende Telnet-Verbindungen unterbinden
2.14 Einen bestimmten Server schützen
2.15 Pings unterdrücken
2.16 Ausgabe der Firewall-Regeln
2.17 Firewall-Regeln löschen
2.18 Firewall-Regeln einfügen
2.19 Eine Firewall-Konfiguration sichern
2.20 Eine Firewall-Konfiguration laden
2.21 Eine Firewall-Konfiguration testen
2.22 Aufbau komplexer Regel-Bäume
2.23 Das Logging vereinfachen

3 Zugriffskontrolle im Netz

3.1 Ausgabe Ihrer Netzwerkschnittstellen
3.2 Die Netzwerkschnittstelle aktivieren und deaktivieren
3.3 Aktivieren/Deaktivieren eines Dienstes (xinetd)
3.4 Aktivieren/Deaktivieren eines Dienstes (inetd)
3.5 Neue Dienste einbinden (xinetd)
3.6 Neue Dienste einbinden (inetd)
3.7 Den Zugriff auf bestimmte entfernte Benutzer beschränken
3.8 Den Zugriff auf bestimmte entfernte Hosts beschränken (xinetd)
3.9 Den Zugriff auf bestimmte entfernte Hosts beschränken (xinetd mit libwrap)
3.10 Den Zugriff auf bestimmte entfernte Hosts beschränken (xinetd mit tcpd)
3.11 Den Zugriff auf bestimmte entfernte Hosts beschränken (inetd)
3.12 Tageszeit-bezogene Zugriffsbeschränkungen
3.13 Zugriffe auf einen SSH-Server auf bestimmte Hosts beschränken
3.14 Zugriffe auf einen SSH-Server auf bestimmte Accounts beschränken
3.15 Dienste auf bestimmte Verzeichnisse des Dateisystems beschränken
3.16 Denial-of-Service-Angriffe verhindern
3.17 Umleitung an einen anderen Socket
3.18 Protokollieren von Zugriffen auf Ihre Dienste
3.19 Root-Logins über Terminals unterbinden

4 Authentifizierungstechniken und Infrastrukturen

4.1 Entwicklung PAM-fähiger Anwendungen
4.2 Starke Passwörter erzwingen mit PAM
4.3 Zugriffskontrolllisten mit PAM erzeugen
4.4 Validierung eines SSL-Zertifikats
4.5 Dekodierung eines SSL-Zertifikats
4.6 Installation eines neuen SSL-Zertifikats
4.7 Generierung eines SSL-CSRs (Certificate Signing Requests)
4.8 Ein selbst signiertes SSL-Zertifikat erzeugen
4.9 Eine Certifying Authority einrichten
4.10 SSL-Zertifikate von DER in PEM umwandeln
4.11 Einführung in Kerberos
4.12 Benutzer zu einem Kerberos-Bereich hinzufügen
4.13 Hosts zu einem Kerberos-Bereich hinzufügen
4.14 Kerberos mit SSH nutzen
4.15 Kerberos mit Telnet verwenden
4.16 IMAP mit Kerberos absichern
4.17 Kerberos mit PAM zur systemweiten Authentifizierung nutzen

5 Autorisierung

5.1 Eine Root-Login-Shell ausführen
5.2 X-Programme als root ausführen
5.3 Befehle mittels sudo unter einem anderen Benutzer ausführen
5.4 Die Passwort-Authentifizerung bei sudo umgehen
5.5 Passwort-Authentifizierung in sudo erzwingen
5.6 Host-basierte sudo-Autorisierung
5.7 Rechte über sudo an Benutzergruppen vergeben
5.8 Ausführung beliebiger Programme innerhalb eines Verzeichnisses über sudo
5.9 Kommandoargumente mit sudo unterbinden
5.10 Gemeinsame Nutzung von Dateien über Gruppen
5.11 Eine gemeinsam genutzte Datei über sudo auf Leserechte beschränken
5.12 Autorisierung von Passwort-Änderungen mittels sudo
5.13 Daemons über sudo starten und anhalten
5.14 Die root-Fähigkeiten mit sudo einschränken
5.15 Prozesse über sudo beenden
5.16 sudo-Aufrufe ausgeben
5.17 sudo-Aufrufe entfernt protokollieren
5.18 Root-Rechte über SSH teilen
5.19 Root-Befehle über SSH ausführen
5.20 Root-Rechte mit Kerberos-su teilen

6 Ausgehende Netzwerkverbindungen schützen

6.1 Auf einem entfernten Rechner einloggen
6.2 Entfernte Programme ausführen
6.3 Kopieren entfernter Dateien
6.4 Authentifizierung mittels Public Key (OpenSSH)
6.5 Authentifizierung mittels Public Key (OpenSSH-Client, SSH2-Server, OpenSSH-Schlüssel)
6.6 Authentifizierung mittels Public Key (OpenSSH-Client, SSH2-Server, SSH2-Schlüssel)
6.7 Authentifizierung mittels Public Key (SSH2-Client, OpenSSH-Server)
6.8 Authentifizierung über vertrauenswürdigen Host (Trusted Host)
6.9 Authentifizierung ohne Passwort (interaktiv)
6.10 Authentifizierung in cron-Jobs
6.11 Einen SSH-Agenten beim Ausloggen beenden
6.12 Host-orientierte Anpassung von SSH
6.13 Standardvorgaben des SSH-Clients ändern
6.14 Andere TCP-Sessions durch SSH tunneln
6.15 Passwörter nachhalten

7 Dateien schützen

7.1 Datei-Zugriffsrechte verwenden
7.2 Schutz eines gemeinsam genutzten Verzeichnisses
7.3 Verzeichnis-Listing unterdrücken
7.4 Dateien mit einem Passwort verschlüsseln
7.5 Entschlüsselung von Dateien
7.6 Public Key-Verschlüsselung bei GnuPG einrichten
7.7 Ausgabe Ihres Keyrings
7.8 Einen Standard-Schlüssel festlegen
7.9 Gemeinsame Nutzung öffentlicher Schlüssel
7.10 Schlüssel in Ihren Keyring aufnehmen
7.11 Dateien für andere verschlüsseln
7.12 Signieren einer Textdatei
7.13 Signieren und Verschlüsseln von Dateien
7.14 Erzeugen einer separaten Signaturdatei
7.15 Prüfen einer Signatur
7.16 Ausgabe von Public Keys
7.17 Einen privaten Schlüssel sichern
7.18 Verzeichnisse verschlüsseln
7.19 Ihren Schlüssel in einen Keyserver aufnehmen
7.20 Neue Signaturen auf einen Keyserver hochladen
7.21 Schlüssel von einem Keyserver abrufen
7.22 Einen Schlüssel widerrufen
7.23 Verschlüsselte Dateien mit Emacs verwalten
7.24 Verschlüsselte Dateien mit vim verwalten
7.25 Backups verschlüsseln
7.26 PGP-Schlüssel mit GnuPG verwenden

8 E-Mail schützen

8.1 Verschlüsselte Mail mit Emacs
8.2 Verschlüsselte Mail mit vim
8.3 Verschlüsselte Mail mit Pine
8.4 Verschlüsselte Mail mit Mozilla
8.5 Verschlüsselte Mail mit Evolution
8.6 Verschlüsselte Mail mit mutt
8.7 Verschlüsselte Mail mit elm
8.8 Verschlüsselte Mail mit MH
8.9 Einen POP/IMAP-Mailserver mit SSL betreiben
8.10 Eine SSL Mail-Verbindung testen
8.11 POP/IMAP mit SSL und Pine sichern
8.12 POP/IMAP mit SSL und mutt sichern
8.13 POP/IMAP mit SSL und Evolution schützen
8.14 POP/IMAP mit stunnel und SSL sichern
8.15 POP/IMAP mit SSH sichern
8.16 POP/IMAP mit SSH und Pine sichern
8.17 Mail mit einem »unsichtbaren« Server empfangen
8.18 Einen SMTP-Server von beliebigen Clients nutzen

9 Testen und überwachen

9.1 Testen von Login-Passwörtern (John the Ripper)
9.2 Testen von Login-Passwörtern (CrackLib)
9.3 Accounts ohne Passwort ermitteln
9.4 Superuser-Accounts aufspüren
9.5 Accounts auf verdächtige Nutzung untersuchen
9.6 Accounts bei mehreren Systemen auf verdächtige Nutzung untersuchen
9.7 Test Ihres Suchpfads
9.8 Dateisysteme effizient durchsuchen
9.9 setuid- oder setgid-Programme finden
9.10 Gerätedateien schützen
9.11 Schreibbare Dateien aufspüren
9.12 Nach Rootkits suchen
9.13 Nach offenen Ports suchen
9.14 Lokale Netzwerk-Aktivitäten untersuchen
9.15 Tracing von Prozessen
9.16 Netzwerk-Traffic beobachten
9.17 Netzwerk-Traffic beobachten (GUI)
9.18 Netzwerk-Traffic nach Strings durchsuchen
9.19 Unsichere Netzwerk-Protokolle erkennen
9.20 Einstieg in Snort
9.21 Packet-Sniffing mit Snort
9.22 Mit Snort Einbrüche erkennen
9.23 Snort-Alarm-Meldungen verstehen
9.24 Logging mit Snort
9.25 Snort-Logs in separate Dateien aufteilen
9.26 Den Regelsatz von Snort aktualisieren und optimieren
9.27 System-Meldungen in Log-Dateien umleiten (syslog)
9.28 Eine syslog-Konfiguration testen
9.29 Logging auf entfernten Rechnern
9.30 Log-Dateien rotieren
9.31 Meldungen an den System-Logger senden
9.32 Log-Einträge über Shell-Skripten schreiben
9.33 Log-Einträge mit Perl schreiben
9.34 Log-Einträge mit C schreiben
9.35 Log-Dateien kombinieren
9.36 Logs mit logwatch zusammenfassen
9.37 Einen logwatch-Filter definieren
9.38 Überwachung aller ausgeführten Befehle
9.39 Ausgabe aller ausgeführten Befehle
9.40 Parsing des Prozess-Accounting-Logs
9.41 Sich von einem Hack »erholen«
9.42 Einen »Incident Report« ausfüllen

Index