Home » Home » Informationen » Glossar » SSH

 

SSH

SSH


Secure Shell oder SSH ist sowohl ein Programm als auch ein Netzwerkprotokoll, mit dessen Hilfe man sich über eine verschlüsselte Netzwerkverbindung auf einem entfernten Computer einloggen und dort Programme ausführen kann. Die neuere Version SSH2 bietet weitere Funktionen wie Datenübertragung per SFTP.
Die IANA hat dem Protokoll den TCP-Port 22 zugeordnet.

SSH ermöglicht eine sichere, authentifizierte und verschlüsselte Verbindung zwischen zwei Rechnern über ein unsicheres Netzwerk. Dadurch dient es unter anderem als Ersatz für die Vorgänger rlogin, telnet und rsh; diese übertragen jeglichen Netzverkehr, darunter auch die Passwörter, unverschlüsselt und sollten daher nicht mehr verwendet werden.

Das ursprüngliche Anwendungsgebiet ist das Anmelden an entfernten Rechnern über ein Netzwerk (meistens das Internet), doch insbesondere SSH-2 ist nicht nur auf Terminalfunktionen beschränkt.

  • SFTP und SCP bieten kryptographisch sichere Alternativen zu FTP und rcp.
  • X11 kann über ssh transportiert und somit gesichert werden
  • Über SSH können beliebige TCP/IP-Verbindungen getunnelt werden (Portweiterleitung); dabei wird jeweils ein einzelner Port von einem entfernten Server auf den Client weitergeleitet oder umgekehrt. So kann etwa eine ansonsten unverschlüsselte VNC-Verbindung abgesichert werden.
  • Ein SSH-Client kann sich wie ein SOCKS-Server verhalten und ermöglicht somit einen automatisierten Zugriff auf entfernte Rechner durch den SSH-Tunnel, etwa zum Umgehen einer Firewall.
  • Über SSHFS kann ein entferntes Dateisystem auf dem lokalen Rechner gemountet werden.
  • Wenn der Server A dem Server B ohne interaktive Eingabe des Passworts SSH-Zugriff gestatten soll, trägt man den öffentlichen Schlüssel von B in die SSH-Konfiguration von A ein (authorized_keys). Dann kann B z. B. von der Kommandozeile via SSH auf A Kommandos ausführen oder mit SCP Backupkopien machen.
  • Mit "ssh-keyscan" kann der öffentliche Schlüssel eines entfernten Rechners ausgelesen werden. Damit kann man z. B. feststellen, ob der Rechner, der sich derzeit hinter einem DynDns-Namen verbirgt, wirklich der eigene Server ist.

Wahlweise kann die Verbindung auch komprimiert werden, um die Datenübertragung zu beschleunigen und Bandbreite zu sparen.

Damit lassen sich nun grundsätzlich drei Anwendungsszenarien darstellen:

  • Secure System Administration (Sichere Systemverwaltung)
    zur Absicherung der Fernverwaltung von Servern. Ersetzt Telnet, Rlogin etc.
  • Secure File Transfer (Sicherer Dateitransfer)
    zur Herstellung sicherer, automatisierter und interaktiver Dateitransfers.
  • Secure Application Tunneling (Sicheres Tunneln)
    zum transparenten Schutz TCP/IP-basierender Anwendungen als „End-to-End-Security“.
  • Anmerkung: Natürlich kann SSH auch über mehrere Stationen laufen.

Die Sicherheit von SSH wird durch eine Reihe von kryptographischen Algorithmen zur Verschlüsselung und Authentifizierung gewährleistet.

Authentifizierung

Der Server identifiziert sich dem Client gegenüber mit einem RSA-Zertifikat, wodurch Manipulationen im Netzwerk erkannt werden können (niemand anderes kann sich als ein bekannter Server ausgeben).

Der Client kann sich wahlweise mit einem öffentlichen Schlüssel, der auf dem Server hinterlegt ist, (sogenannte Public-Key-Authentifizierung) oder einem gewöhnlichen Textpasswort authentifizieren.

Verschlüsselung

Nach erfolgreicher Authentifizierung wird für die Dauer der Sitzung ein geheimer Schlüssel erzeugt, mit dem die gesamte nachfolgende Kommunikation verschlüsselt wird. Je nach Protokollversion kommt dabei ein anderer Verschlüsselungsalgorithmus zum Einsatz: SSH2 benutzt standardmäßig den AES mit einer 128-Bit-Schlüssellänge. Des Weiteren werden 3DES, Blowfish, Twofish, CAST, IDEA, Arcfour, SEED und AES mit anderen Schlüssellängen unterstützt. Die neue Generation SSH G3 unterstützt auch den proprietären Snakeoil-Algorithmus CryptiCore, der unter Cryptoexperten als Security-through-obscurity-Algorithmus verpönt ist und außer dem angeblichen Geschwindigkeitsgewinn keinerlei weitere Sicherheitsoptionen bietet. [1]

Schwachstellen

Die von SSH-1 verwendete Integritätsprüfung weist Schwachstellen auf, die es einem Angreifer ermöglichen, eine SSH-1-Sitzung auszuspähen. Daher sollte nur noch die neue Protokollversion ab SSH-2 aufwärts verwendet werden. Diese zeichnet sich durch einen modularen Aufbau der Transport-, Autorisierungs- und Verbindungsschichten aus und ermöglicht im Gegensatz zu SSH-1 die Verwendung von verschiedenen Verschlüsselungsalgorithmen.

 

Zurück