Product SiteDocumentation Site

Debian Sicherheitshandbuch 3.19

Debian Sicherheitshandbuch

Javier Fernández-Sanguino Peña

Rechtlicher Hinweis

Copyright © 2012 The Debian Project
GNU General Public License Notice:
This work is free documentation: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Zusammenfassung

Dieses Dokument handelt von der Sicherheit im Debian-Projekt und im Betriebssystem Debian. Es beginnt mit dem Prozess, eine Standardinstallation der Debian GNU/Linux-Distribution abzusichern und zu härten. Es behandelt auch die normalen Aufgaben, um eine sichere Netzwerkumgebung mit Debian GNU/Linux zu schaffen, und liefert zusätzliche Informationen über die verfügbaren Sicherheitswerkzeuge. Es befasst sich auch damit, wie die Sicherheit in Debian vom Sicherheits- und Auditteam gewährleistet wird.
1. Einleitung
1.1. Autoren
1.2. Wo Sie diese Anleitung bekommen (und verfügbare Formate)
1.3. Organisatorisches / Feedback
1.4. Vorwissen
1.5. Dinge, die noch geschrieben werden müssen (FIXME/TODO)
1.6. Danksagungen
2. Bevor Sie beginnen
2.1. Wofür möchten Sie dieses System benutzen?
2.2. Seien Sie wachsam gegenüber generellen Sicherheitsproblemen!
2.3. Wie geht Debian mit der Sicherheit um?
3. Vor und während der Installation
3.1. Setzen Sie ein Passwort im BIOS
3.2. Partitionieren des Systems
3.2.1. Wählen Sie eine intelligente Partitionierung
3.2.2. Auswahl der passenden Dateisysteme
3.3. Gehen Sie nicht ins Internet, bevor Sie nicht bereit sind
3.4. Setzen Sie ein Passwort für Root
3.5. Lassen Sie so wenige Dienste wie möglich laufen
3.5.1. Daemons abschalten
3.5.2. Abschalten von Inetd oder seinen Diensten
3.6. Installieren Sie möglichst wenig Software
3.6.1. Entfernen von Perl
3.7. Lesen Sie Debians Sicherheits-Mailinglisten
4. Nach der Installation
4.1. Abonnement der Security-Announce-Mailingliste von Debian
4.2. Ausführen von Sicherheitsaktualisierungen
4.2.1. Sicherheitsaktualisierungen für Bibliotheken
4.2.2. Sicherheitsaktualisierung des Kernels
4.3. Änderen Sie das BIOS (noch einmal)
4.4. Ein Passwort für LILO oder GRUB einstellen
4.5. Entfernen des Root-Prompts von Initramfs
4.6. Entfernen des Root-Promptes aus dem Kernel
4.7. Einschränkung der Anmeldemöglichkeiten an der Konsole
4.8. Einschränkung des System-Neustarts von der Konsole aus
4.9. Einschränkung der Tastenkombination Magische S-Abf
4.10. Partitionen auf die richtige Art einhängen
4.10.1. /tmp noexec setzen
4.10.2. /usr auf nur-lesend setzen
4.11. Den Benutzerzugang absichern
4.11.1. Benutzerauthentifizierung: PAM
4.11.2. Passwortsicherheit in PAM
4.11.3. Steuerung des Benutzerzugangs in PAM
4.11.4. Höchstgrenzen für Benutzer in PAM
4.11.5. Steuerung von su in PAM
4.11.6. Temporäre Verzeichnisse in PAM
4.11.7. Konfiguration für nicht definierte PAM-Anwendungen
4.11.8. Ressourcen-Nutzung begrenzen: Die Datei limits.conf
4.11.9. Aktionen bei der Benutzeranmeldung: Bearbeiten von /etc/login.defs
4.11.10. Aktionen bei der Benutzeranmeldung: /etc/pam.d/login bearbeiten
4.11.11. Ftp einschränken: bearbeiten von /etc/ftpusers
4.11.12. Verwendung von Su
4.11.13. Verwendung von Sudo
4.11.14. Administrativen Fernzugriff verweigern
4.11.15. Den Benutzerzugang einschränken
4.11.16. Überprüfen der Benutzer
4.11.17. Nachprüfung der Benutzerprofile
4.11.18. Umasks der Benutzer einstellen
4.11.19. Beschränken, was Benutzer sehen und worauf sie zugreifen können
4.11.20. Erstellen von Benutzerpasswörtern
4.11.21. Überprüfung der Benutzerpasswörter
4.11.22. Abmelden von untätigen Benutzern
4.12. Die Nutzung von Tcpwrappers STOPP
4.13. Die Wichtigkeit von Protokollen und Alarmen
4.13.1. Nutzung und Anpassung von logcheck
4.13.2. Konfiguration, wohin Alarmmeldungen geschickt werden
4.13.3. Nutzen eines Loghosts
4.13.4. Zugriffsrechte auf Protokolldateien
4.14. Den Kernel patchen
4.15. Schutz vor Pufferüberläufen
4.15.1. Kernelpatch zum Schutz vor Pufferüberläufen
4.15.2. Prüfprogramme für Pufferüberläufe
4.16. Sichere Übertragung von Dateien
4.17. Einschränkung und Kontrolle des Dateisystems
4.17.1. Benutzung von Quotas
4.17.2. Die für das ext2-Dateisystem spezifischen Attribute (chattr/lsattr)
4.17.3. Prüfung der Integrität des Dateisystems
4.17.4. Aufsetzen einer Überprüfung von setuid
4.18. Absicherung des Netzwerkzugangs
4.18.1. Konfiguration der Netzwerkfähigkeiten des Kernels
4.18.2. Konfiguration von Syncookies
4.18.3. Absicherung des Netzwerks beim Hochfahren
4.18.4. Konfiguration der Firewall
4.18.5. Lösung des Problems der Weak-End-Hosts
4.18.6. Schutz vor ARP-Angriffen
4.19. Einen Schnappschuss des Systems erstellen
4.20. Andere Empfehlungen
4.20.1. Benutzen Sie keine Software, die von svgalib abhängt
5. Absichern von Diensten, die auf Ihrem System laufen
5.1. Absichern von ssh
5.1.1. SSH in ein Chroot-Gefngnis einsperren
5.1.2. Ssh-Clients
5.1.3. Verbieten der bertragung von Dateien
5.1.4. Beschrnkung des Zugangs auf Dateientransfers
5.2. Absichern von Squid
5.3. Absichern von FTP
5.4. Zugriff auf das X-Window-System absichern
5.4.1. berprfen Ihres Display-Managers
5.5. Absichern des Druckerzugriffs (die lpd- und lprng-Problematik)
5.6. Absichern des Mail-Dienstes
5.6.1. Konfiguration eines Nullmailers
5.6.2. Anbieten eines sicheren Zugangs zu Mailboxen
5.6.3. Sicherer Empfang von Mails
5.7. Absichern von BIND
5.7.1. Bind-Konfiguration um Missbrauch zu verhindern
5.7.2. ndern des BIND-Benutzers
5.7.3. Chroot-Gefngnis fr den Name-Server
5.8. Absichern von Apache
5.8.1. Verhindern, dass Benutzer Web-Inhalte verffentlichen
5.8.2. Rechte der Protokolldateien
5.8.3. Verffentlichte Web-Dateien
5.9. Absichern von Finger
5.10. Allgemeine chroot- und suid-Paranoia
5.10.1. Automatisches Erstellen von Chroot-Umgebungen
5.11. Allgemeine Klartextpasswort-Paranoia
5.12. NIS deaktivieren
5.13. Absichern von RPC-Diensten
5.13.1. Vollstndiges Deaktivieren von RPC-Diensten
5.13.2. Einschrnken des Zugriffs auf RPC-Dienste
5.14. Hinzufgen von Firewall-Fhigkeiten
5.14.1. Firewallen des lokalen Systems
5.14.2. Schtzen anderer Systeme durch eine Firewall
5.14.3. Aufsetzen einer Firewall
6. Automatisches Abhärten von Debian-Systemen
6.1. Harden
6.2. Bastille Linux
7. Die Infrastruktur für Sicherheit in Debian
7.1. Das Sicherheitsteam von Debian
7.2. Debian-Sicherheits-Ankündigungen
7.2.1. Querverweise der Verwundbarkeiten
7.2.2. CVE-Kompatibilität
7.3. Sicherheitsdatenbank
7.4. Die Infrastruktur des Sicherheitsprozesses in Debian
7.4.1. Leitfaden über Sicherheitsaktualisierungen für Entwickler
7.5. Paketsignierung in Debian
7.5.1. Die aktuelle Methode zur Prüfung von Paketsignaturen
7.5.2. Secure Apt
7.5.3. Überprüfung der Distribution mit der Release-Datei
7.5.4. Prüfung der Release-Datei von Debian-fremden Quellen
7.5.5. Alternativer Entwurf zur Einzelsignierung von Paketen
8. Sicherheitswerkzeuge in Debian
8.1. Programme zur Fernprüfung der Verwundbarkeit
8.2. Werkzeuge zum Scannen von Netzwerken
8.3. Interne Prüfungen
8.4. Testen des Quellcodes
8.5. Virtual Private Networks (virtuelle private Netzwerke)
8.5.1. Point-to-Point-Tunneling
8.6. Infrastruktur für öffentliche Schlüssel (Public Key Infrastructure, PKI)
8.7. SSL-Infrastruktur
8.8. Antiviren-Werkzeuge
8.9. GPG-Agent
9. Der gute Umgang von Entwicklern mit der Sicherheit des OS
9.1. Das richtige Vorgehen für die Nachprüfung der Sicherheit und deren Gestaltung
9.2. Benutzer und Gruppen für Software-Daemons erstellen
10. Vor der Kompromittierung
10.1. Halten Sie Ihr System sicher
10.1.1. Beobachtung von Sicherheitslücken
10.1.2. Fortlaufende Aktualisierung des Systems
10.1.3. Vermeiden Sie den Unstable-Zweig
10.1.4. Sicherheitsunterstützung für den Testing-Zweig
10.1.5. Automatische Aktualisierungen in einem Debian GNU/Linux System
10.2. Regelmäßiges Überprüfung der Integrität
10.3. Aufsetzen einer Eindringlingserkennung
10.3.1. Netzwerkbasierte Eindringlingserkennung
10.3.2. Hostbasierte Eindringlingserkennung
10.4. Vermeiden von Root-Kits
10.4.1. Ladbare Kernel-Module (LKM)
10.4.2. Erkennen von Root-Kits
10.5. Geniale/paranoide Ideen — was Sie tun können
10.5.1. Einrichten eines Honigtopfes (honeypot)
11. Nach einer Kompromittierung (Reaktion auf einem Vorfall)
11.1. Allgemeines Verhalten
11.2. Anlegen von Sicherheitskopien Ihres Systems
11.3. Setzen Sie sich mit dem lokal CERT in Verbindung
11.4. Forensische Analyse
11.5. Analyse von Schadprogrammen
12. Häufig gestellte Fragen / Frequently asked Questions (FAQ)
12.1. Sicherheit im Debian-Betriebssystem
12.1.1. Ist Debian sicherer als X?
12.1.2. Mein System ist angreifbar! (Sind Sie sich sicher?)
12.2. Bestimmte Software
12.2.1. Proftpd ist für einen Denial-of-Service-Angriff anfällig.
12.2.2. Nach der Installation von portsentry sind viele Ports offen.
12.3. Fragen zu Debians Sicherheitsteam
A. Versionsgeschichte
B. Anhang
B.1. Der Abhärtungsprozess Schritt für Schritt
B.2. Prüfliste der Konfiguration
B.3. Aufsetzen eines eigenständigen IDS
B.4. Aufsetzenden einer Bridge-Firewall
B.4.1. Eine Bridge mit NAT- und Firewall-Fähigkeiten
B.4.2. Eine Bridge mit Firewall-Fähigkeiten
B.4.3. Grundlegende Iptables-Regeln
B.5. Beispielskript, um die Standard-Installation von Bind zu ändern
B.6. Schutz der Sicherheitsaktualisierung durch eine Firewall
B.7. Chroot-Umgebung für SSH
B.7.1. SSH-Benutzer in ein Chroot-Gefängnis einsperren
B.7.2. Einsperren des SSH-Servers in einem Chroot-Gefängnis
B.7.3. Chroot-Umgebung für Apache
B.7.4. Weiterführende Informationen