Quelloffene Verschlüsselung

OpenSSH effizient nutzen

20.03.2009
Von Andreas Kroschel
Kaum ein Systemverwalter kann sich die Administration seiner Server ohne OpenSSH vorstellen und das nicht ohne Grund. Dennoch hinkt der Einsatz in der Praxis oft unnötigerweise hinter den Möglichkeiten von OpenSSH hinterher.

Im Linux-Bereich ist eine Systemadministration ohne das SECURE-SHELL-POTOKOLL nicht mehr denkbar. So sorgt SSH für das nötige Maß an Sicherheit bei der Datenübertragung im Internet. SSH (Version 2) greift dabei auf moderne Verschlüsselungsstandards, wie AES-192 (Advanced Encryption Standard, 192 Bit) zurück. Darüber hinaus erreicht man mittels SSH eine überaus stabile Verbindung. Dies ist im Wesentlichen darauf zurückzuführen, dass das Protokoll die Benutzdaten mittels Prüfsummen in den jeweiligen Kopfzeilen gegen eventuelle Verluste von Daten absichert.

SSH-Client an Bord

Erste Anlaufstelle: Das Open-SSHProjekt
Erste Anlaufstelle: Das Open-SSHProjekt

OpenSSH ist der bekannteste Client für Secure-Shell-Anwendungen. Bei aktuellen Linux-Distributionen kommen 4.x-Versionen von OpenSSH zum Einsatz. Da OpenSSH im Umfeld der auf Sicherheit getrimmten BSD-Distribution OpenBSD entwickelt wird, unterliegt OpenSSH den harten Sicherheitsanforderungen dieses Projekts. Um sich über den aktuellen Stand der Sicherheit von OpenSSH zu informieren, empfehlen sie die Webseiten www.se cunia.com oder www.security-focus.com. Für Windows gibt es ebenfalls einige SSH-Implementierungen – der Favorit unter den freien Lösungen ist PuTTY (www.chiark.greenend.org.uk/~sgtatham/putty). Interessant ist auch WinSCP (www.winscp.net), eine grafische Erweiterung von PuTTY um die Dienste Secure Copy (SCP) und Secure File Transfer Protocol (SFTP).

Einmalig: Serverschlüssel

Jeder Secure-Shell-Server erhält einen individuellen Schlu¨ssel
Jeder Secure-Shell-Server erhält einen individuellen Schlu¨ssel

Jeder SSH-Server besitzt einen individuellen Serverschlüssel, der vor dem Erststart des SSHD erstellt wird. Die drei notwendigen Schlüssel finden Sie im Verzeichnis /etc/ssh:
ssh_host_dsa_key[.pub]
ssh_host_key[.pub]
ssh_host_rsa_key[.pub]
Wenn Sie zum ersten Mal eine Verbindung mit einem SSH-Client zum SSH-Server aufbauen, erscheint eine Warnmeldung, die Sie mit y[es] bestätigen, um den Localhost (RSA) in die Liste der bekannten Hosts einzutragen. Der Public Key (RSA) wird in der Datei ~/.ssh/known_hosts abgelegt. Ändert sich der Server-Schlüssel, so werden Sie mit einer Meldung alarmiert. Die Änderung könnte auf einer Man-in-the-Middle-Attacke basieren, bei der ein Hacker versucht, sich zwischen SSH-Client und -Server einzuklinken, um Kennwörter auszuspähen. Abhilfe gegen diese Spionage schafft der Einsatz von öffentlichen Schlüsseln zur Authentifizierung.