Neues in der Kategorie SSH

Wer per Skript zum Beispiel Dateien per SCP verschieben möchte, wird vor das schier unlösbare Problem gestellt, dass er beim Anmelden an einem fremden  Rechner zwingend sein Passwort angeben muss. Lösen lässt sich dieses Problem, in dem man Schlüsseldateien verwendet. Beachten sollte man hierbei allerdings aber, dass das Hinterlegen von Zugangsschlüsseln zur Automatisierung ein erhebliches Risiko darstellt. Denn wurde ein Rechner infiltriert, so kann das andere System sehr schnell ebenfalls zum Ziel einer Attacke werden.

In aller Kürze geht man zur Schlüsselgenerierung auf dem eigenen Server wie folgt vor. Einfach folgende Zeile zur Erzeugung der Schlüssel in der Kommandozeile eingeben:

ssh-keygen -t dsa

oder wahlweise

ssh-keygen -t rsa

Die Abfragen die nun folgen, sollten leer bleiben, damit man später keine Passphrase eingeben muss. Also alle Abfragen mit "Enter" absegnen. Ob man DSA oder RSA nimmt, hängt davon ab, wieviel Vertrauen man in die jeweilige Verschlüsselung hat.

Durch diese beiden Befehle wurden jetzt Schlüssel für den entsprechenden Nutzer, in Kombination mit der IP-Adresse bzw. des Namens unseres Servers generiert. Der öffentliche Schlüssel heißt dann zum Beispiel "id_dsa.pub" und der private Schlüssel "id_dsa". Beide liegen nun im jeweiligen Benutzerverzeichnis im Ordner ".ssh".

Nun wird der öffentliche Schlüssel "id_dsa.pub" auf den fremden Rechner in das Benutzerverzeichnis in den Ordner ".ssh" kopiert (falls der Ordner nicht existiert einfach mit "mkdir .ssh" anlegen):

scp /home/BENUTZER/.ssh/id_dsa.pub  BENUTZER@192.168.0.0:/home/
BENUTZER/.ssh/

Berechtigung der Datei auf dem fremden Rechner ändern:

chmod 700 /home/BENUTZER/.ssh/id_dsa.pub

Und nun muss diese Datei auf dem fremden Rechner noch in die Liste authorisierter Schlüssel kopiert werden:

cat /home/BENUTZER/.ssh/id_dsa.pub >> authorized_keys

Versucht man sich nun per SSH am fremden System anzumelden, so wird man kein Passwort mehr benötigen.

Zwei gute Anleitungen zu dem Thema finden sich auch hier:
http://www.linux-fuer-alle.de/doc_show.php?docid=233&catid=16
http://www.schlittermann.de/doc/ssh.html

Zu den Verschlüsselungsverfahren hier die Wikipedia-Einträge:
http://de.wikipedia.org/wiki/RSA-Kryptosystem
http://de.wikipedia.org/wiki/Digital_Signature_Algorithm

Dass diese Frage momentan zur Zeit von Olympia große Wellen schlägt ist klar. Schließlich munkelt man, dass diverse Firmen mit der großen chinesischen Firewall Millionen verdient haben sollen. Das man heutzutage diese Firewall einfach umgehen kann, ist den wenigsten klar. Dabei ist die Lösung mittlerweile ziemlich simpel wie das Linux-Magazin zeigt...

Dabei wird einfach auf einen VPN-Tunnel mit "openvpn" zurückgegriffen. Dieses Tool steht für Linux, Windows und auch für Mac zur Verfügung. Das Prinzip ist dabei ganz einfach: Von einem Punkt A (z.B. in Peking) wird ein verschlüsselter Tunnel über den Port 443 zu einem Punkt B (z.B. in den U.S.A.) aufgebaut. Da der Traffic der durch den Tunnel geht verschlüsselt ist, kann er ungehindert durch die chinesische Mauer durchsickern und wird nicht gefiltert. Vom Punkt B hingegen, hat man Zugriff auf das gesamte Internet und auf alle Dienste womit man die Zensur erfolgreich ausgehebelt hat.

Falls die chinesiche Staatsführung sich überlegen sollte Port 443 zu sperren, so ist das auch ein kein Problem. Man kann, wenn der Server im Punkt B an einem anderen Port lauscht, auch einen anderen Port verwenden.

Der Original-Artikel im Linux-Magazin:
http://www.linux-magazin.de/online_artikel/openvpn_gegen_zensur

Vor einiger Zeit gab es hier im Undertec-Blog einen Artikel über sicheres VNC per SSH. Dies ist ebenfalls eine Möglichkeit einen Tunnel aufzubauen und zum Beispiel einen Dienst wie VNC über den Tunnel laufen zu lassen:
http://www.undertec.de/blog/2008/02/sicheres_vnc_vom_windowsclient.html

Ebenfalls vor einiger Zeit gab es eine Seite mit der man Testen konnte ob diverse Seiten in China erreicht werden können, leider ist diese Tool zur Zeit nicht verfügbar. Hier aber trotzdem kurz der Link:
http://greatfirewallofchina.org/

Das verschiedene Tricks um die große chinesische Firewall auszutricksen schon älter sind, kann man an einem Heise-Artikel aus dem Juni 2006 sehen:
http://www.heise.de/newsticker/Chinas-Grosse-Firewall-austricksen--/meldung/74908

Und zu guter letzt der passende Wikipedia-Artikel:
http://de.wikipedia.org/wiki/Internetkontrolle_in_China

Um einen sicheren SSH- oder SFTP-Zugang zu einem Server herzustellen, lohnt es sich manchmal den verbindenden Benutzer in eine sogenannte CHROOT-Umgebung einzusperren. Hierfür gibt es eine Vielzahl von Möglichkeiten, die im folgenden einmal aufgelistet sind. Vor allem in Hinsicht als sichere FTP-Alternative sollte man sich überlegen, ob man nicht eine der untenstehenden Möglichkeit in Betracht zieht.

1. ChrootDirectory-Option ab OpenSSH-Version 4.8p1

Ab dieser Version gibt es eine Option "ChrootDirectory" die es einem erlaubt, den Benutzer sauber in seinem chroot-Verzeichnis einzusperren. Allerdings muss man beachten, dass unterhalb dieses Verzeichnisses alle benötigten Dateien für den User vorhanden sein müssen. Also einige Binaries aus "bin", ein paar Devices aus "dev", etc.

Hierzu auch die Man-Page von OpenSSH:
http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config
Changelog zu OpenSSH 4.8:
http://www.openssh.com/txt/release-4.8
Und noch eine Anleitung wie man das Ganze unter Debian umsetzt:
http://www.debian-administration.org/articles/590
Und hier nochmal eine Kurzanleitung:
http://openbsd.maroufi.net/sshchroot.shtml

2. Frühere OpenSSH-Versionen und Patch-Möglichkeiten

Für frühere OpenSSH-Versionen hatte man die Möglichkeit spezielle gepatchte SSH-Server zu verwenden, so dass ein chroot möglich war. Funktioniert hat dieser Patch ab Version 3.1p1. (siehe auch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=139047 und die Debian-Anleitung G.1.2 in http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html). Letztendlich sollte man aber lieber Variante 1 nehmen und sich das neueste Release des OpenSSH-Servers besorgen, auch wenn er momentan noch nicht in Debian Etch als Stable enthalten ist. Die Problematik, dass man eine saubere CHROOT-Umgebung schaffen muss, ist hier natürlich wie bei Variante 1 gegeben.

Projektseite des nun veralteten gepatchten OpenSSH-Servers:
http://chrootssh.sourceforge.net/index.php
Eine Reihe von Anleitungen zu dem gepatchten SSH-Server:
http://hp.kairaven.de/scpsftp/ssh-rssh-sftp.html#a3
http://howtoforge.com/chroot_ssh_sftp_debian_etch
http://www.howtoforge.com/chrooted_ssh_howto_debian

3. libpam-chroot benutzen

Wer versuchen will ein chroot per libpam-chroot durchzuführen, sollte sich unter G.1.1 in folgender Anleitung einmal umsehen: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html

4. Das Projekt MySecureShell

Eine andere alternative ist das Projekt "MySecureShell". Hauptsächliche Verwendung findet dieses Programm als SFTP-Server der leicht zu konfigurieren und einzustellen ist. Unter Debian ist dies tatsächlich sehr leicht und es lässt sich auch recht einfach eine Chroot-Umgebung realisieren, wie man es von einem FTP-Server kennt.

Projektseite von MySecureShell:
http://mysecureshell.sourceforge.net/ (Vorsicht die Deutsche Seite wurde sehr schlecht übersetzt)
Und hier noch eine Anleitung für Debian Etch:
http://www.cplinux.de/debian-chrooted-sftp-server.view.html (Deutsch)
Eine andere Anleitung für Debian Etch:
http://howtoforge.com/mysecureshell_sftp_debian_etch (Englisch)

5. Den SSH-Server in ein CHROOT-Gefängnis sperren

Wenn man natürlich den ganzen SSH-Daemon in ein Chroot-Gefängnis sperrt, dann hat man noch ganz andere Möglichkeiten. Beschrieben wird das Ganze unter G.2 in folgender Anleitung:
http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html

Appendix

Eine Seite mit nützlichen Infos zum Erstellen eine sauberen chroot-Umgebung findet man hier:
http://wiki.ubuntuusers.de/chroot?highlight=%28chroot%29
Natürlich kann man gerne auch "makejail" für manche Möglichkeiten verwenden:
http://www.floc.net/makejail/

Über dieses Archiv

Diese Seite enthält aktuelle Einträge der Kategorie SSH.

Solaris ist die vorherige Kategorie.

Step-by-Step ist die nächste Kategorie.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Dezember 2011

So Mo Di Mi Do Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Etter EDV- und IT-Dienstleistungen
Powered by Movable Type 5.04