Kapitel 11 SSH-Protokoll

In diesem Kapitel werden der Nutzen des SSH™-Protokolls, die Abfolge der Vorgänge bei der Erstellung einer sicheren Verbindung zu einem fernen Rechner sowie die verschiedenen SSH-Schichten und die Methoden beschrieben, mit denen Sie sich absichern, dass SSH von den Benutzern, die sich mit Ihrem System verbinden, verwendet werden.

Gebräuchliche Methoden für eine Fernanmeldung an ein anderes System über eine Shell wie (telnet, rlogin oder rsh) oder das Kopieren von Dateien zwischen Rechnern (ftp or rcp) sind nicht sicher und sollten vermieden werden. Verbinden Sie sich mit einem fernen Rechner grundsätzlich über eine Secure Shell oder ein verschlüsseltes, virtuelles privates Netzwerk. Auf diese Weise werden Sie das Sicherheitsrisiko für Ihr System und das ferne System reduzieren.

Einführung

SSH (Secure SHell) ist ein Protokoll für die Erstellung einer sicheren Verbindung zwischen zwei Systemen. Anhand von SSH initialisiert der Client-Rechner eine Verbindung mit einem Server-System. SSH gewährleistet dabei Folgendes:

Auch der Server nutzt SSH, insbesondere wenn er mehrere Dienste ausführt. Wenn Sie port forwarding verwenden, können sonst unverschlüsselte und damit unsichere Protokolle (z.B. POP) zwecks einer sicheren Verbindung mit fernen Rechnern verschlüsselt werden. SSH vereinfacht das Verschlüsseln verschiedener Arten von Meldungen, die normalerweise unverschlüsselt durch öffentliche Netzwerke gesendet werden.

Red Hat Linux 7.1 enthält die Pakete für den OpenSSH-Server (openssh-server) und den Client (openssh-clients) sowie das allgemeine OpenSSH-Paket (openssh), das in beiden Fällen installiert werden muss. Weitere Informationen über die Installation und den Gebrauch von OpenSSH in Ihrem Red Hat Linux System finden Sie im Offiziellen Red Hat Linux Handbuch Benutzerdefinierte Konfiguration.

Die OpenSSH-Pakete erfordern das OpenSSL-Paket (openssl). OpenSSL installiert verschiedene wichtige kryptographische Bibliotheken, die OpenSSH bei der Erstellung mit verschlüsselten Meldungen unterstützt. Bevor Sie irgendeines der OpenSSH-Pakete installieren, müssen Sie openssl installieren.

Eine große Anzahl an Client- und Serverprogrammen können das SSH-Protokoll verwenden, einschließlich vieler Open-Source und kostenlos erhältlicher Anwendungen. Für fast alle der heute gebräuchlichsten Betriebssystem stehen verschiedene SSH Client-Versionen zur Verfügung. Selbst wenn die Benutzer, die sich mit Ihrem System verbinden, Red Hat Linux nicht verwenden, können sie doch einen SSH-Ursprungsclient für ihr Betriebssystem benutzen.

Wozu dient SSH?

Gefahren im Rahmen der Netzwerkkommunikation schließen unerlaubte Zugriffe auf Pakete und das "spoofing" [2] von DNS- und IP-Adressen sowie die Verbreitung von falschen Informationen ein. 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.

  • Imitation eines bestimmten Rechners — Diese Strategie bedeutet, dass ein drittes System vorgibt, der Empfänger einer Mitteilung zu sein. Ist sie erfolgreich, so bemerkt der Client die Manipulation nicht und kommuniziert weiterhin mit diesem System, als ob es sich um den ursprünglichen Empfänger handele.

Bei beiden Methoden werden Informationen mit sehr wahrscheinlich unlauteren Absichten abgefangen. Hieraus kann ein enormer Schaden entstehen, unabhängig davon, ob die Pakete auf einem LAN- oder einem DNS-Server abgesucht werden.

Dank der digitalen Unterschrift des Servers können diese Sicherheitsrisiken erheblich gemindert werden, wenn SSH für Fernanmeldungen über eine Shell und für das Kopieren von Dateien verwendet wird. Die Mitteilungen zwischen Client und Server sind, auch wenn sie abgefangen werden, wertlos, da jedes Paket verschlüsselt ist. Dabei nutzen auch Versuche, sich als das eine oder andere System auszugeben, nichts, da der Schlüssel hierfür nur dem Client- und dem Server-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]

"Spoofing" bedeutet, dass sich ein Benutzer als ein bestimmtes System präsentiert, es aber in Wirklichkeit nicht ist.