Welcher Provider gibt auskunft über IP?

Hallo mabuse,

Ist eigentlich ganz einfach.

Hahaha . . .wenn man weiss wie’s geht, sicher.

Einen SSH-Server installieren, falls nicht schon vorhanden.

Da geht’s schon los.
Was ist das?
Wie stell ich fest, ob schon einer vorhanden?
Wo nehm ich einen her, wenn nicht?
Wie installiere ich das Ding?
Was kann/muss/sollte ich wo einstellen?

Sind diese Fragen ernst gemeint?

Auf dem Client-Rechner benötigt man zusätzlich zum VNC-Client
auch noch einen SSH-Client (für Windows z.B. Putty.

Wo bekomm ich den her?
Was kann/muss ich wo einstellen?

Siehe unten (ausserderm: Es gibt auch Suchmaschinen, welche man mit Wörtern füttern kann).

Eigentlich ist die Sache damit ja schon wieder völlig witzlos,
oder?
Einer der Punkte an VNC ist ja, das ich von beliebigen
Rechnern der Welt auf meinen Server zuhause komme. Ich kann ja
nun schwerlich auf der Mühle im Internetcafee mal eben Putty
installieren.

Putty muss man nicht installieren, man ruft einfach putty.exe auf (zu beziehen z.B. auf http://www.chiark.greenend.org.uk/~sgtatham/putty/do… ).

Mit dem SSH-Client eine Verbindung zum Server aufbauen, dabei
die Portweiterleitung für den VNC-Port konfigurieren. In Putty
geht das in den Einstellungen unter Connection - SSH -
Tunnels. Source Port 5900, Destination 127.0.0.1:5900
eintragen.
Sobald die SSH-Verbindung aufgebaut ist, den VNC-Client
starten und als Zielrechner 127.0.0.1 eingeben.

Ganz so einfach kann es ja eigentlich nicht sein, oder?

Doch.

Denn wenn das alles ist, dann könnte das ja jeder und dann
frag ich mich ernsthaft, wo der Sicherheitsgewinn gegenüber
der direkten Verbindung ist.

Man braucht nur _einen_ Dienst nach aussen anbieten, welchen man gut absichert (am besten mit Key anstatt eines Passwortes). Über diesen Dienst baut man dann die benötigten Tunnels auf, um die gewünschten Dienste zu benutzen. Ausserdem dürfte, wenn man diesen Thread betrachtet, VNC nicht sehr sicher sein. Ach ja, noch was: Dank ssh wird alles verschlüsselt.

Aber mit ssh-Tunnel kann man noch mehr:
Ich hatte 'mal das Problem, 2 Rechner zu verbinden, welche beide hinter einem NAT-Router waren. Also liess ich beide Rechner entsprechende ssh-Tunnel zu einem ssh-Server aufbauen (jeder meiner Hobby-mässig betreuten Server haben einen ssh-Dienst laufen) und schon konnten beide Rechner miteinander kommunizieren.

Just my 2 cents,
Josef

Einen SSH-Server installieren, falls nicht schon vorhanden.

Da geht’s schon los.
Was ist das?

http://de.wikipedia.org/wiki/SSH

Wie stell ich fest, ob schon einer vorhanden?

Himmel, ist doch dein Server… da wirst du doch wissen, welche Software dort installiert ist oder welcher Dienst dort läuft…*kopfkratz*

Wo nehm ich einen her, wenn nicht?

Wenn du nach „ssh windows“ googlest, dann findest du z.B. als 5. Treffer http://sshwindows.sourceforge.net/

Wie installiere ich das Ding?

Das Setup-Programm runterladen, ausführen und ein paar mal auf „Weiter“ drücken?

Was kann/muss/sollte ich wo einstellen?

Die Dienste auf dem Server, welche du über SSH nutzen willst, stellst du so ein, dass sie nur noch Verbindungen von localhost erreichen. Lediglich der SSH-Dienst sollte von außen erreichbar sein.

Auf dem Client-Rechner benötigt man zusätzlich zum VNC-Client
auch noch einen SSH-Client (für Windows z.B. Putty.

Wo bekomm ich den her?

Google nach „putty“ und klicke den ersten Treffer an…
http://www.google.de/search?hl=de&q=putty&btnG=Googl…

Was kann/muss ich wo einstellen?

Siehe die Hilfe von Putty oder eines der zahlreichen Tutorials im Netz, von denen einige auch genau auf die Konstellation VNC/SSH eingehen: http://fli4l.anadex.de/vnc_ssh_howto.html

Eigentlich ist die Sache damit ja schon wieder völlig witzlos,
oder? Einer der Punkte an VNC ist ja, das ich von beliebigen
Rechnern der Welt auf meinen Server zuhause komme. Ich kann ja
nun schwerlich auf der Mühle im Internetcafee mal eben Putty
installieren.

Tolles Argument: Und VNC kannst du dort dann einfach so installieren?
Da VNC wohl auf kaum einem Internet-Cafe-Rechner installiert sein wird, musst du also so oder so auch VNC irgendwie erstmal zum laufen bringen. Die Lösung ist ganz einfach:
Da packst sowohl Putty als auch VNC auf einen USB Stick. Von dem kannst du die Dinger beide ohne Installation starten. Oder du lädst dir von deinem Server z.B. via HTTP einfach ne ZIP runter, die beide Programme enthält.
Wenn der Rechner im Internet-Cafe jedoch lediglich einen kastrierten Browser bietet ohne dass du andere Programme starten kannst, dann kannst du von dort ohnehin nicht auf VNC oder irgendwas anderes zugreifen und die Frage stellt sich gar nicht.

Ganz so einfach kann es ja eigentlich nicht sein, oder?

Doch.

Denn wenn das alles ist, dann könnte das ja jeder

Kann bzw könnte ja auch jeder.

und dann frag ich mich ernsthaft, wo der Sicherheitsgewinn gegenüber
der direkten Verbindung ist.

Der Sicherheitsgewinn ist doch offensichtlich:
1.
VNC nutzt eine sehr schwache Authentifizierung, die z.B. keinen Schutz vor Man-in-the-middle-Attacken bietet. So kann sich ein Angreifer ohne Probleme zwischen dich und den Server schalten und die Kontrolle übernehmen. SSH sorgt hier für Abhilfe.

VNC nutzt eine aus heutiger Sicht schwache Verschlüsselung beim Übertragen des Passwortes. Zusätzlich erhält ein Angreifer auch noch Kenntnis über Klartext/Ciphertext-Paare und kann z.B. den Aufwand via Known-Plain-Text Attacken weiter senken. SSH benutzt wirkungsvolle Verschlüsselungsmechanismen.

VNC hat deutlich mehr Sicherheitslücken als z.B. SSH. Da VNC aber dann nicht mehr von außen erreichbar ist, sondern nur noch SSH ist dies kein Problem mehr. Genauso kannst du auch weitere Dienste über SSH tunneln und erhöhst die Sicherheit immer weiter

VNC verschlüsselt die Übertragung der Bildschirminhalte und Tastatureingaben nicht. Ein Angreifer der deinen Traffic mitsnifft, kann so z.B. alle von dir eingegebenen Texte lesen und sogar das komplette Bild des Monitors sehen. SSH verschlüsselt den gesamten Traffic.

VNC bietet keinen Schutz vor manipulierten Eingabedaten, d.h. ein Angreifer kann selbst z.B. Mausklicks oder Tastatureingaben einfügen und so z.B. eine Backdoor installieren. Solche Attacken sind mit SSH nicht möglich.

Geht’s vieleicht ein bischen ausführlicher, oder alternativ:
kannst du mir eine Webseite zur umfassenden Information
empfehlen?

Wie wärs mit www.google.de? Quasi alle Infos oben lassen sich durch googlen nach „putty“, „ssh windows“, „vnc ssh howto“ oder ähnlichem bereits auf der ersten Trefferseite finden.

Wie stell ich fest, ob schon einer vorhanden?

Himmel, ist doch dein Server… da wirst du doch wissen,
welche Software dort installiert ist oder welcher Dienst dort
läuft…*kopfkratz*

Das war eine mit Absicht etwas bissig formulierte Frage, weil ich hier irgendwie den Eindruck hatte, die meisten Antwortenden hier sind der Meinung, das sowas eh auf jedem Rechner läuft.

Ich weiss, das sowas nicth in der Liste der Dienste auf meiner Windows-Muschel auftaucht, ich da hab ich gedacht, frag mal nach . . . so, das sie verstehen, das es eben nicht selbstverständlich ist. Hat halt nicht jeder Linux.

Ich kann ja nun schwerlich auf der Mühle im
Internetcafee mal eben Putty installieren.

Tolles Argument: Und VNC kannst du dort dann einfach so installieren?

Ja.
Ich hab den Viewer auf einer Homepage online gestellt. Kann ich direkt von dort starten.

Von dem kannst du die Dinger beide ohne Installation starten.

Diese Information (das Putty ohne Installation läuft) solltest du bei solchen Empfehlungen zukünftig von vorneherein mit herausgeben. Da dürften nämlich die meisten (wie ich auch) erst mal drüber stolpern.

Wenn der Rechner im Internet-Cafe jedoch lediglich einen
kastrierten Browser bietet ohne dass du andere Programme
starten kannst, dann kannst du von dort ohnehin nicht auf VNC
oder irgendwas anderes zugreifen und die Frage stellt sich gar
nicht.

Du scheinst noch nie richtig mit VNC gearbeitet zu haben . . . es gibt einen Java-Client. Hat bisher noch immer funktioniert (ist allerdings grottenlahm).
Die SSH-Lösung dürfte in diesem Falle allerdings nicht mehr funtionsfähig sein, oder?

Ganz so einfach kann es ja eigentlich nicht sein, oder?

Doch.

Irgendwie fehlt mir jetzt noch die Nummer mit der Sicherheit.
Passwort. Schlüssel. Authentifizierung.
Wenn irgendjemand mein VNC-Passwort knacken kann, was hält ihn davon ab, mein ssh-Passwort zu knacken?

und dann frag ich mich ernsthaft, wo der Sicherheitsgewinn gegenüber
der direkten Verbindung ist.

Der Sicherheitsgewinn ist doch offensichtlich:

  1. VNC nutzt eine sehr schwache Authentifizierung, die z.B.
    keinen Schutz vor Man-in-the-middle-Attacken bietet.
  2. VNC nutzt eine aus heutiger Sicht schwache Verschlüsselung
    beim Übertragen des Passwortes. Zusätzlich erhält ein
    Angreifer auch noch Kenntnis über Klartext/Ciphertext-Paare
    und kann z.B. den Aufwand via Known-Plain-Text Attacken weiter
    senken. SSH benutzt wirkungsvolle Verschlüsselungsmechanismen.
  3. VNC hat deutlich mehr Sicherheitslücken als z.B. SSH. Da VNC
    aber dann nicht mehr von außen erreichbar ist, sondern nur
    noch SSH ist dies kein Problem mehr. Genauso kannst du auch
    weitere Dienste über SSH tunneln und erhöhst die Sicherheit
    immer weiter
  4. VNC verschlüsselt die Übertragung der Bildschirminhalte und
    Tastatureingaben nicht. Ein Angreifer der deinen Traffic
    mitsnifft, kann so z.B. alle von dir eingegebenen Texte lesen
    und sogar das komplette Bild des Monitors sehen. SSH
    verschlüsselt den gesamten Traffic.
  5. VNC bietet keinen Schutz vor manipulierten Eingabedaten, d.h.
    ein Angreifer kann selbst z.B. Mausklicks oder
    Tastatureingaben einfügen und so z.B. eine Backdoor
    installieren. Solche Attacken sind mit SSH nicht möglich.

Aaaaalso . . .
1.) Wollen wir nicht mal die Kirche im Dorf lassen?
Einen Man-in-the-Middle-Angriff gibt es vieleicht, wenn Vater Staat Terroristen sucht oder High-Tech-Verbrecher in eine Bank wollen - aber nicht, wenn irgendein Script-Kiddie auf deinen oder meinen FTP-Server wollen. Keine Chance.

Wir sollten uns vieleicht nicht ganz so wichtig nehmen . . .

2.) Ich seh mich außerstande, die Verschlüsselungsstärken und Sicherheitsmechanismen von VNC und SSH miteinander zu vergleichen, aber der Spruch „VNC verschlüsselt die Übertragung der Bildschirminhalte und Tastatureingaben nicht“ zeigt, das du dich da auch besser jeglichen Urteils enthalten solltest. UltraVNC kann das sehr wohl . . .

Wie wärs mit www.google.de? Quasi alle Infos oben lassen sich
durch googlen nach „putty“, „ssh windows“, „vnc ssh howto“
oder ähnlichem bereits auf der ersten Trefferseite finden.

Jo, hab ich versucht.
Das meiste ist in Tech-Sprech für Fachleute verfasst und geht noch nicht mal auf Sinn oder Unsinn ein. Da hab ich bei dir in 5 Minuten mehr gelernt.

Denn auch wenn ich jetzt fleissig Contra gegeben habe - anschauen werd ich’s mir auf jeden Fall mal - denn seit ich mir vorgestern einen eBay-Sniper installiert habe, ist mein Sicherheitsbedürfnis doch stark gewachsen (man sollte ja auch immer den Sinn im Auge behalten. Wenn jemand meinen FTP-Server entert . . . naja, was soll’s? Sooo viel Schaden kann er damit ja nun auch nicht anrichten.
Mit dem hinterlegten eBay-Passwort sieht das schon etwas anders aus . . .

Hei Josef,

Sind diese Fragen ernst gemeint?

Ja, absolut.
Siehst du, was mich an diesem Board manchmal mächtig abnervt, ist die Tastache, das man entweder für einen Voll-Dau, der von gar nix Ahnung hat, gehalten wird, oder aber eben für den absoluten Durchblicker, der nur gerade nicht die richtige Zeile in irgendeiner ini-Datei findet.
Was für Leute, die irgendwo dazwischen stehen meist nicht allzu konstruktiv ist.

Was kann/muss ich wo einstellen?

Das ist eigentlich die wesentlich Frage gewesen.
Denn ich kann irgendwo den Sicherheitsgewinn noch nicht so recht sehen. Ist doch eigentlich wurst, ob man nun ein VNC- oder ein SSH-Passwort knacken will, oder?

Man braucht nur _einen_ Dienst nach aussen anbieten, welchen
man gut absichert (am besten mit Key anstatt eines
Passwortes).

Key ist nicht wirklich eine Alternative, wenn’s von überall aus gehen soll. Hat man ja nicht immer dabei.
Das es nur ein Dienst/Port nach außen ist, ist natürlich ein gutes Argument.

Siehe unten (ausserderm: Es gibt auch Suchmaschinen, welche
man mit Wörtern füttern kann).

Wie schon gesagt, meist relativ unverständliches Tech-Sprech.

Putty muss man nicht installieren, man ruft einfach putty.exe
auf (zu beziehen z.B. auf
http://www.chiark.greenend.org.uk/~sgtatham/putty/do… ).

Das hilft mir wirklich weiter.
Das hätte ich mir von voerneherein in einem Beitrag gewünscht.
Vielen Dank dafür!

lg, mabuse

Du scheinst noch nie richtig mit VNC gearbeitet zu haben . . .
es gibt einen Java-Client. Hat bisher noch immer funktioniert
(ist allerdings grottenlahm).
Die SSH-Lösung dürfte in diesem Falle allerdings nicht mehr
funtionsfähig sein, oder?

Ich kenne den Java-Client, nutze ihn jedoch nie. Die SSH Lösung funktioniert, genauso wie VNC via VPN natürlich nicht im Browser alleine.

Ganz so einfach kann es ja eigentlich nicht sein, oder?

Doch.

Irgendwie fehlt mir jetzt noch die Nummer mit der Sicherheit.
Passwort. Schlüssel. Authentifizierung.

Was willst du denn wissen? SSH führt eine Authentifizierung mittels RSA-Zertifikaten durch. Das ist ein nach heutigen Maßstäben absolut sicheres Verfahren und hat eine ganze Reihe von Vorteilen gegenüber dem simplen Authentifizierungsmechanismus von VNC.

Wenn irgendjemand mein VNC-Passwort knacken kann, was hält ihn
davon ab, mein ssh-Passwort zu knacken?

Wenn du für dein SSH einen 2048-bit Key verwendest, dann würde es selbst mit den derzeit noch hypothetischen TWIRL-Maschinen heute etwa 30 Milliarden Jahre dauern, bis man deinen Key errechnet hat. Das dürfte als Hinderungsgrund ausreichen…
http://www.rsa.com/rsalabs/node.asp?id=2004

1.) Wollen wir nicht mal die Kirche im Dorf lassen?
Einen Man-in-the-Middle-Angriff gibt es vieleicht, wenn Vater
Staat Terroristen sucht oder High-Tech-Verbrecher in eine Bank
wollen - aber nicht, wenn irgendein Script-Kiddie auf deinen
oder meinen FTP-Server wollen. Keine Chance.

Keiner hier redet von irgendwelchen Script-Kiddie Angriffen. Gegen diese bist du bereits geschützt, wenn für die von dir verwendeten Dienste keine fertigen Exploits existieren. Von daher bräuchten wir gar keine Verschlüsselung, weil ein Script-Kiddie deinen Internet-Traffic gar nicht scannen wird. Wäre es so einfach, dann wäre auch https überflüssig.
Wir reden also schon von richtigen Angriffen, die Leute durchführen, die mehr können, als einen Exploit runter zu laden und den ausführen. Und wenn du in einem fremden Netzwerk bist, z.B. in einem Internet-Cafe oder einem fremden Firmennetz, dann weißt du eben nicht, wer auf der Leitung sonst noch mit horcht. Dazu muss der Angreifer auch nicht gleich einen Router deines Providers cracken, sondern hier reicht es eventuell den Router des Internet-Cafes zu cracken, was u.U. sehr einfach sein kann.
Und sitzt ein Angreifer zwischen dir und deinem VNC Server, dann ist ein MITM-Angriff verhältnismäßig einfach umsetzbar. Er muss dir ja nur die Nachrichten durchschleifen und sich als Server ausgeben. Du hast bei VNC nunmal gar keine Möglichkeit zu wissen, ob du mit deinem VNC Server redest oder mit dem VNC-Server eines Angreifers.

Wir sollten uns vieleicht nicht ganz so wichtig nehmen . . .

Natürlich nicht. Die Sache ist doch nur die: Wenn ich die Wahl zwischen einer mittelmäßig sicheren Anwendung und einer sehr sicheren Anwendung habe, wieso sollte ich dann die mittelmäßig sichere benutzen? Dafür gibt es doch gar keinen logischen Grund.

2.) Ich seh mich außerstande, die Verschlüsselungsstärken und
Sicherheitsmechanismen von VNC und SSH miteinander zu
vergleichen, aber der Spruch „VNC verschlüsselt die
Übertragung der Bildschirminhalte und Tastatureingaben nicht“
zeigt, das du dich da auch besser jeglichen Urteils enthalten
solltest. UltraVNC kann das sehr wohl . . .

Ja, UltraVNC kann das, aber auch nur mittels Plugins und auch das nur mit einigen Nachteilen.
Ich gebe zu, dass ich mit den Verschlüsselungsplugins schon länger nicht mehr gespielt habe, aber AFAIK musst du den Schlüssel ja auf den Client übertragen. Das ist aber gar nicht so einfach, zumindest remote kriegst du das nicht so ohne weiteres sicher hin.
Und was nützt dir die tolle Verschlüsselung, wenn die Authentifizierung schon geknackt wurde? Die ist nämlich bei UltraVNC genauso anfällig wie bei jedem VNC, was durch das Protokoll eben so bedingt ist.
Und zu guter letzt kann man die Verschlüsselungsmechanismen mit UltraVNC auch nur nutzen, wenn der Client unter Windows läuft. Was aber tun, wenn der Rechner im Internet-Cafe plötzlich ne Linux-Kiste ist?

Was ich insgesamt sagen wollte:
Wieso eine nur halbsichere Krücke nutzen, wenn man auch was wirklich sicheres haben kann?

recht sehen. Ist doch eigentlich wurst, ob man nun ein VNC-
oder ein SSH-Passwort knacken will, oder?

Nein, das ist nicht egal, siehe mein anderes Posting.

Man braucht nur _einen_ Dienst nach aussen anbieten, welchen
man gut absichert (am besten mit Key anstatt eines
Passwortes).

Key ist nicht wirklich eine Alternative, wenn’s von überall
aus gehen soll. Hat man ja nicht immer dabei.

Für die Verschlüsselung mit UltraVNC brauchst du doch auch einen Key, wenn ich das richtig in Erinnerung habe. Wie kriegst du denn den dann remote auf den Client-PC?

Das es nur ein Dienst/Port nach außen ist, ist natürlich ein
gutes Argument.

Es ist eines von vielen guten Argumenten.

Was willst du denn wissen? SSH führt eine Authentifizierung
mittels RSA-Zertifikaten durch. Das ist ein nach heutigen
Maßstäben absolut sicheres Verfahren und hat eine ganze Reihe
von Vorteilen gegenüber dem simplen
Authentifizierungsmechanismus von VNC.

Ah - siehst du, jetzt nähern wir uns der Sache . . .
Definier mal Zertifikat.
Bedeutet doch im Klartext, Authentifizierung ist nur möglich, wenn ich irgendenein Speichermedium mit dem Schlüssel dabei habe, oder?

a) unpraktisch
b) an das vorhandensein entsprechender Laufwerke/Reader/USB-Schnittstelle gebunden
c) nicht immer und überall praktikabel

oder seh ich das falsch?

Für die Verschlüsselung mit UltraVNC brauchst du doch auch
einen Key, wenn ich das richtig in Erinnerung habe. Wie
kriegst du denn den dann remote auf den Client-PC?

Keine Ahnung - ich verschlüssel nicht.
Hab nur gesagt, das es geht.
Ich sicher meine Mühle gegen Viren/Trojaner und Script-Kiddies ab, dann muss aber auch gut sein. Meine Paranoia geht eher in die andere Richtung:

Die Leue, denen ich die Fähigkeit und die technischen Vorraussetzungen für einen Man-in-the-Middle-Angriff einräume, die können sich wahrscheinlich auch einen Hausdurchsuchungsbescheid besorgen.

Ne, dann sollen die lieber online auf meinen Webserver schauen und ne Handvoll kopierter Comics und Musikfiles und den speziell päparierten „Eigene Dateien“-Ordner sehen. Denn bei physikalischer Anwesenheit würden sie ja meinen dritten Rechner sehen . . . den, der niemals mit dem Internet verbunden wird . . . mit 2,5 TB . . . das würde dann teuer werden :wink:

Man in the middle Angriffe

Keine Ahnung - ich verschlüssel nicht.
Hab nur gesagt, das es geht.

Das nützt dir wie gesagt nur nicht viel, weil ein Angreifer trotzdem an dein Passwort kommt, weil die Authentifizierung nicht sicher ist, die der Verschlüsselung nun mal voran gehen muss.

Die Leue, denen ich die Fähigkeit und die technischen
Vorraussetzungen für einen Man-in-the-Middle-Angriff einräume,
die können sich wahrscheinlich auch einen
Hausdurchsuchungsbescheid besorgen.

Ich glaube, das unterschätzt du gewaltig. Es ist im lokalen Netzwerk für einen „normalen“ Angreifer durchaus möglich, deinen Rechner dazu zu bringen, den Traffic an ihn zu schicken. In vielen LANs geht das sogar verhältnismäßig einfach.

Angenommen du willst mit einem Notebook LAN auf deinen Server zugreifen. Das Notebook geht über einen Router im LAN ins Internet. Im selben LAN befindet sich ein Rechner, der sich einen Trojaner eingefangen hat, was ja durchaus nichts seltenes ist. Auf diesem Rechner wurden dann verschiedene andere Tools nachgeladen, wie z.B. Ettercap , mit dem man auf DHCP Requests gefakte Responses zurück schicken kann.
Jetzt kommst du mit deinem Notebook und machst nen DHCP Broadcast. Vom manipulierten PC erhälst du eine Response und dein Rechner schickt fröhlich alle Daten anstatt zum wirklichen Router an den manipulierten Rechner, der sie dann an den Router weiterleitet. Davon bekommst du nichts mit, außer dass der Angreifer nach belieben mitlesen kann und die Daten auch verändern kann.

Der Angreifer befindet sich damit also relativ einfach in einer MITM Position, auch ohne dass er gleich der Geheimdienst sein muss. Passenderweise bietet Ettercap dazu sogar ein VNC Plugin, d.h. es lässt sich damit dann sogar der MITM Angriff auf dein VNC Login gleich mit durchführen, der alle VNC Passwörter mitloggt. Ansonsten kriegst du von dem Angriff gar nichts mit.

Guckst du z.B. hier:
http://www.computerworld.ch/index.cfm?pid=244&pk=129…
http://ettercap.sourceforge.net

oder seh ich das falsch?

Ja, das siehst du falsch. Die Authentifizierung muss nicht beidseitig mit Zertifikaten durchgeführt werden. In der Tat kann die Authentifizierung sogar relativ beliebig sein. Du kannst dich mit Passwort, Public-Key, One-Time Pads, Kerberos, PAM etc authentifzieren. SSH lässt sich daher in nahezu jede beliebige Umgebung integrieren.

Ein Beispiel, wie es meistens gemacht wird in eher einfachen Umgebungen:
Der Server authentifiziert sich bei dir beim Login z.B. mit seinem Public-Key, also z.B. so:

The server's rsa2 key fingerprint is:
ssh-rsa 1024 7b:e5:6f:a7:f4:f9:81:62:5c:e3:1f:bf:8b:57:6c:5a

Den Originalkey brauchst du dir ja nur auf einen Zettel aufschreiben und kannst ihn dann vergleichen, ob er stimmt. Damit kannst du dann sicher sein, dass du wirklich mit deinem Server kommunizierst, und nicht mit einem Angreifer.
Basierend auf dem Public-Key des Servers führt ihr beide dann eine sichere Variante eines Diffie-Hellman Keyexchanges durch und einigt euch auf ein Shared Secret. Ein MITM Angriff ist hierbei nicht möglich, wenn der Key Fingerprint des Servers stimmte.

Erst dann authentifizierst du dich. Dies kann z.B. auch mittels eines Passworts geschehen, so dass du keinen Schlüssel bei dir tragen musst.

Und MITM Angriffe sind eben kein Szenario mehr, das nur bei Angriffen von Geheimdiensten vorkommt. Wenn du in einem fremden Netzwerk, dann besteht immer die Chance, dass z.B. das DNS-System manipuliert wurde oder dein Traffic anderweitig umgeleitet wird. Und dann kann ein Angreifer deinen Login durch sein eigenes System durchschleifen. Hierfür gibt es sogar fertige Tools, die MITM Angriffe zum Kinderspiel werden lassen:
Für SSH2 gibt es z.B. ein fertiges Tool, welches durch einen MITM Angriff das Passwort ausliest. Man startet lediglich das Tool mit der IP und dem Port des Servers, für den man sich ausgeben will und leitet den Traffic auf dieses Programm um. Loggt sich nun ein User mittels SSH ein und verifziert NICHT den Key des Servers, dann erscheint das Passwort des Users im Klartext auf der Konsole des Angreifers. Der Benutzer bekommt nicht mal was davon mit, abgesehen natürlich von dem falschen Key-Fingerprint.
Siehe http://www.david-guembel.de/index.php

Für VNC gibt es sogar was viel bessers: Ettercap. Damit lassen sich sowohl VNC Man-in-the-middle Attacken durchführen als auch gleich DHCP oder DNS Spoofing Attacken um deinen Rechner dazu zu bringen, die Daten über einen manipulierten Rechner zu schicken. Und hiervon bekommst du im Gegensatz zu SSH nichts mit.

So richtig durchgeblickt hab ich jetzt immer noch nicht . . .

Also, das Prinzip schon, aber ich seh noch nicht, wieso damit ein Man-in-the-Middle-Angriff unmöglich gemacht werden soll.

Siehe http://www.david-guembel.de/index.php

Dafür meinen Dank.
Da werd ich mich erst mal durchfräsen. Wird aber ein bischen länger dauern. Darf ich dich anschließend mit Rückfragen belästigen, wenn noch welche auftauchen sollten?
Natürlich per mail, ich denke mal, das würde hier dann vollends den Rahmen sprengen :wink: