|
Protokoll Bisher wurde SSH als eine Software beschrieben, die eine gesicherte Anmeldung auf entfernte Computersysteme möglich macht. Um dies zu gewährleisten, steht SSH ein eigenes Protokoll zur Verfügung über das Client und Server kommunizieren.
Dieses Protokoll existiert mittlerweile in zwei verschiedenen Versionen: SSH-1 und SSH-2. Für den Benutzer
ist das Protokoll transparent. Er selbst merkt nicht, welche Version des Protokolls eingesetzt wird. Es
wird jedoch nicht mehr empfohlen, die ältere Version SSH-1 einzusetzen, da hier veraltete Sicherheitstechniken,
wie Integritätsprüfung mittels CRC32 Checksummen, eingesetzt werden,
die heutzutage als potentiell unsicher eingestuft sind.
Da in der Praxis fast ausschließlich auf die Protokollversion 2 gesetzt wird, wird dieses Protokoll im folgenden näher erläutert. SSH-2 besteht im Grunde aus drei verschiedenen Schichten: Der SSH-Transportschicht (SSH-TRANS), der SSH-Authentifizierungsschicht (SSH-USERAUTH) und der SSH-Verbindungsschicht (SSH-CONN).
Diese Schicht ist für den Verbindungsaufbau zwischen Client und Server verantwortlich. Zunächst einigen sich die beiden Verbindungspartner auf die Protokollversion. Anschließend werden Sitzungsschlüssel und Sitzungs-IDs ausgetauscht. Danach findet eine Integritätsprüfung mit HMAC statt. Nach erfolgreicher Serverauthentifizierung ist nun eine sichere Punkt-zu-Punkt Verbindung zwischen Client und Server aufgebaut. Nachdem eine sichere Verbindung zum Server aufgebaut wurde, muss sich der Benutzer authentifizieren. Dazu prüft diese Schicht, welche Authentifizierungsmöglichkeiten der Server bietet. Dies kann eine Authentifizierung mit Passwort oder eine Authentifizierung mit Hilfe eines Public-Keys sein. Nachdem die Authentifizierungsmethode ausgehandelt wurde, wird die eigentliche Authentifizierung durchgeführt. Es ist sogar möglich, dass der Server beide Authentifizerungsmethoden anbietet. Dabei prüft er zuerst, ob der Benutzer den erforderlichen Schlüssel vorzeigen kann. Ist dies nicht der Fall, gibt der Server dem Benutzer in einer Art Fallback-Modus die Möglichkeit, sich per Passwort anzumelden. Diese Schicht bietet dem Benutzer, nach einer erfolgreichen Anmeldung, die Nutzung der eigentlichen SSH-Funktionen, wie das Öffnen einer Befehlskonsole auf einem entfernten Rechner, das Tunneln von TCP/IP-Verbindungen oder sogar das X-Forwarding, mit dem es möglich ist, graphische Oberflächen sicher auf einem anderen Rechner darzustellen. |
||||||||||||||||||||
Stefan Schweiger, Am Spörkel 41, 44227 Dortmund Email: info@ssh-tutorial.de Verantwortlich für den Inhalt gemäß § 10 MDStV: Stefan Schweiger |