|
|
Wenn Sicherheit vorgeht: die ssh und scp
Es gibt boshafte Menschen, die Leitungen abhören. Dabei fällt ihnen
bei SSH hat als freie Software begonnen. Inzwischen hat der Autor Tatu Ylonen eine kommerzielle Version herausgegeben und pflegt die freie Version nicht mehr. Dies hat eine Gruppe von Programmierern übernommen, so dass es eine aktuelle, freie Version gibt, die OpenSSH heißt. SSH basiert auf Verschlüsselungsalgorithmen, die an dieser Stelle nicht behandelt werden. Der Fokus des weiteren Abschnitts wendet sich auf die Konfiguration einer solchen Umgebung.
Als Client gibt es
Der Server heißt
Es gibt verschiedene Arten, Die zweite Variante arbeitet über die gleiche Methode wie die r-Tools, also die Dateien .rhosts oder hosts.equiv. Der Sicherheitsgewinn liegt darin, dass die Datenübertragung nun verschlüsselt ist. Wollen Sie, wie bei den r-Tools den Aufruf ohne die Bestätigung durch die Eingabe von Passwörtern realisieren, verwenden Sie eine Art von Fingerabdruck, den Sie zwischen den Maschinen austauschen. Zu guter Letzt gibt es noch eine Konfiguration, die eine Mischform aus der Authentifizierung per rhosts-Datei und Fingerabdruck darstellt.
Im Folgenden wird eine Konfiguration als
ssh als telnet-Ersatz
Die einfachste Verwendung des
PasswordAuthentication yes
Das Abschalten der Option Für MS Windows gibt es das freie Programm PUTTY, das einen ssh-Client und einen scp beinhaltet. Quelle: http://www.chiark.greenend.org.uk/~sgtatham/putty
RSA-AuthentifizierungRSA ist ein asymmetrisches Kryptoverfahren, das der Schlüsselverwaltung von SSH zugrunde liegt und ist nach den Entwicklern Rivest, Shamir und Adleman benannt.Rivest, Shamir, Adleman: A Method for Optaining Digital Signatures and Public Key Cryptosystems. Communication of the ACM, Feb. 1978.
Soll von einer Maschine eine SSH-Verbindung aufgebaut werden können,
muss sie vom Server eindeutig
identifizierbar sein. Da eine IP-Nummer leicht zu ändern ist, reicht diese
Art der Identifikation nicht aus. Man generiert mit dem Programm
Im Beispiel soll der Rechner gaston per
gaston> ssh-keygen Generating public/private rsa1 key pair. Enter file in which to save the key (/home/arnold/.ssh/identity) Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/arnold/.ssh/identity Your public key has been saved in /home/arnold/.ssh/identity.pub The key fingerprint is: 3b:a2:62:ed:02:ef:30:79:a1:4b:0b:b6:35:21:d8:f1 arnold@gaston gaston> Wie aus den Meldungen zu entnehmen ist, befinden sich die Dateien mit den Informationen im Unterverzeichnis .ssh des Heimatverzeichnisses. Die Datei identity.pub enthält eine Zeile mit dem öffentlichen Schlüssel. In dieser Datei befindet sich nur die eine Zeile, die auf arnold@gaston endet. Diese Zeile wird auf dem Zielrechner an die Datei .ssh/authorized_keys angehängt.
silver> cd silver> rcp gaston:.ssh/identity.pub . silver> cat identity.pub » .ssh/authorized_keys silver> rm identity.pub Wenn die Konfigurationsdateien der ssh-Komponenten nicht verändert wurden, kann sich nun der Benutzer arnold von gaston aus auf dem Rechner silver anmelden, ohne ein Passwort einzugeben.
gaston> ssh silver Last login: Mon Feb 25 00:04:06 2002 from mail.willemer.edu Have a lot of fun... silver>
Das Kopieren erfolgt ähnlich wie beim
gaston> scp silver:/etc/passwd . passwd 100% |*****************************| 2071 00:00 gaston> Nach einer Standardinstallation von ssh finden Sie eine fast vollständig auskommentierte Datei ssh_config. Dabei sind die Defaultwerte hinter den Variablen angegeben. Ihr Inhalt sieht folgendermaßen aus:
Host * # ForwardAgent no # ForwardX11 no # RhostsAuthentication no # RhostsRSAAuthentication yes # RSAAuthentication yes # PasswordAuthentication yes # FallBackToRsh no # UseRsh no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking yes # IdentityFile /.ssh/identity # IdentityFile /.ssh/id_dsa # IdentityFile /.ssh/id_rsa # Port 22 Protocol 1,2 # Cipher blowfish # EscapeChar
In der hier aufgestellten Umgebung würde man
Die Konfiguration für den Server
IgnoreRhosts yes RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes Mit diesen Werten ist das Einloggen ohne Passwort nur erlaubt, wenn eine Schlüsselübergabe stattgefunden hat. Alle rhosts-Varianten der Authentifizierung sind ausgeschlossen. Ein direktes Einloggen mit der Eingabe eines Passwortes ist aber erlaubt.
Tunnelbau: Andere Protokolle sichern
Mit ssh können Sie Netzverbindungen anderer TCP/IP-Dienste sichern. Die
Basis ist eine gewöhnliche Sitzung mit
silver> ssh gaston -L 2002:gaston:110 Last login: Sun Jul 7 11:32:27 2002 from silver.willemer.edu Have a lot of fun... gaston> Sobald diese Sitzung angemeldet ist, kann auf dem Rechner silver ein Mailclient aufgerufen werden. In der Konfiguration des Mailprogramms wird als Server localhost, also silver angegeben. Der Port wird von 110 auf 2002 umgestellt. Sobald Sie nun Ihre Mail abrufen, wird der Mailclient lokal auf silver den Port 2002 anfragen. Der ist aber durch die ssh-Sitzung über eine gesicherte Verbindung mit dem Port 110 von gaston verbunden. Dieser Tunnel bleibt so lange bestehen, wie die ssh-Sitzung besteht. Mit dem Ausloggen ist auch der Tunnel nicht mehr zugreifbar. Da die Verbindung durch SSH getunnelt wird, kann sie überall da aufgebaut werden, wo eine solche Verbindung erlaubt ist. Damit hat die Freigabe des SSH zur Konsequenz, dass die Berechtigten auch beinahe jede andere Verbindung zwischen den Rechnern aufbauen können, für die SSH gestattet ist. Eine Firewall wie auch ein Proxy können die Verbindung zwar als SSH identifizieren. Es bleibt ihnen aber unsichtbar, welcher Protokolltyp darin getunnelt wird.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|