Kapitel 18. SSH-Protokoll

SSH™ erlaubt es Benutzern, sich als Remote in Host-Systeme anzumelden. Im Gegensatz zu FTP oder Telnet verschlüsselt SSH die Anmeldung. Auf diese Weise wird das Sicherheitsrisiko für Ihr System und das Remote System reduziert, und Eindringlinge können keine Passwörter im Klartext erkennen.

SSH wurde als Ersatz für ältere, weniger sichere Terminalanwendungen, die zum Anmelden in Remote-Hosts wie telnet oder rsh verwendet werden, entwickelt. Das Programm scp ersetzt ältere Programme, wie rcp, die zum Kopieren von Dateien zwischen Hosts verwendet wurden. Da diese älteren Programme Passwörter zwischen dem Client und dem Server nicht verschlüsseln, sollten Sie möglichst vermeiden, sie zu verwenden. Die Verwendung von sicheren Methoden zum Anmelden verringert das Sicherheitsrisiko Ihres Systems und des Systems, in dem Sie sich anmelden.

18.1. SSH-Merkmale

SSH (oder Secure SHell) ist ein Protokoll für die Erstellung einer sicheren Verbindung zwischen zwei Systemen, die eine Client-Server-Architektur verwenden.

Das SSH-Protokoll liefert folgende Schutzmöglichkeiten:

Das das SSH Protokoll alles verschlüsselt, können damit unsichere Protokolle verschlüsselt werden. Mit port forwarding kann ein SSH Server zum Verschlüsseln unsicherer Protokolle (z.B.POP) verwendet werden und die Sicherheit des Systems und der Daten erhöhen.

Red Hat Linux enthält die allgemeinen OpenSSH Pakete (openssh), den OpenSSH Server (openssh-server) und Client (openssh-clients) Pakete. Weitere Informationen über die Installation und den Gebrauch von OpenSSH finden Sie im Kapitel OpenSSH des Red Hat Linux Handbuchs benutzerdefinierter Konfiguration. Bitte beachten Sie, dass die OpenSSH-Pakete das OpenSSL-Paket (openssl) erfordern. OpenSSL installiert verschiedene wichtige kryptographische Bibliotheken, die OpenSSH bei der Erstellung mit verschlüsselten Meldungen unterstützt.

Eine große Anzahl an Client- und Serverprogrammen können das SSH-Protokoll verwenden, einschließlich vieler Open-Source und kostenlos erhältlicher Anwendungen. Verschiedenste SSH Client-Versionen stehen für fast alle der heute gebräuchlichsten Betriebssysteme zur Verfügung.

18.1.1. Wozu dient SSH?

Skrupellosen Computerbenutzern stehen eine Reihe von Tools zur Verfügung, um die Netzwerkkommunikation zu stören, abzufangen und umzuleiten und um auf diese Weise Zugriff auf Ihr System zu erhalten. Diese Gefahren können generell wie folgt klassifiziert werden:

  • Abfangen von Mitteilungen zwischen zwei Systemen — In diesem Fall gibt es irgendwo im Netzwerk zwischen den miteinander kommunizierenden Systemen einen Dritten, der die Informationen, die zwischen den beiden Systemen ausgetauscht werden, kopiert. Der Dritte kann dabei die Informationen abfangen und aufbewahren oder sie auch ändern und an den eigentlichen Empfänger weiterleiten.

    Dieser mögliche Angriff kann durch die Verwendung eines Packet-Sniffers — einem gewöhnlichen Netzwerk-Dienstprogramm gemountet werden.

  • Imitation eines bestimmten Hosts — Mit dieser Strategie ist ein drittes System so konfiguriert, dass es vorgibt, der eigentliche Empfänger einer Übertragung zu sein. Ist sie erfolgreich, bemerkt das Benutzersystem nicht, dass es mit dem falschen Host kommuniziert.

    Dieser mögliche Angriff kann anhand von Techniken, die unter dem Namen DNS-Poisoning [2] oder IP-Spoofing [3] bekannt sind, gemounted werden.

Bei beiden Methoden werden möglicherweise wichtige Informationen abgefangen. Wenn dies aus unlauteren Gründen erfolgt, können die Ergebnisse katastrophal sein.

Wenn SSH für Fernanmeldungen über eine Shell und für das Kopieren von Dateien verwendet wird, können diese Sicherheitsrisiken erheblich gemindert werden. Das ist darauf zurückzuführen, dass der SSH-Client und Server digitale Unterschriften verwenden, um gegenseitig ihre Identität zu prüfen. Außerdem sind alle Mitteilungen zwischen Client und Server verschlüsselt. Dabei nutzen auch Versuche, sich als das eine oder andere System auszugeben, nichts, da der Schlüssel hierfür nur dem lokalen und dem remote-System bekannt ist.

Fußnoten

[1]

X11 bezieht sich auf das X11R6 Anzeigesystem, das gewöhnlich als X bezeichnet wird. Red Hat Linux enthält XFree86, ein sehr gebräuchliches Open Source X Window System auf der Grundlage von X11R6.

[2]

DNS-Poisoning erfolgt, wenn ein Eindringling einen DNS-Server "knackt" und Client-Systeme auf einen böswillig vervielfältigten Host zu lenken.

[3]

IP-Spoofing erfolgt, wenn ein Eindringling Netzwerk-Pakete versendet, die irrtümlicherweise von einem vertrauenswürdigen Host auf dem Netzwerk erscheinen.