Jump-Server (Bastion Host)¶
Ein Jump-Server (Bastion-Host) fungiert als Zwischengateway, um Server in einem privaten Netzwerk zu erreichen. korTTY tunnelt die Verbindung über einen Jump-Server, sodass Sie von Ihrem lokalen Computer aus ein internes System erreichen können, ohne direkten Netzwerkzugriff darauf zu haben.
Verbindungsfluss¶
korTTY authentifiziert sich beim Jump-Server mit den eigenen Anmeldeinformationen des Jump-Servers, öffnet einen Tunnel dadurch und öffnet dann die echte SSH-Sitzung zum Zielhost über diesen Tunnel. Die Anmeldeinformationen des Ziels werden nur für das Ziel verwendet, und die Anmeldeinformationen des Jump-Servers werden nur für den Jump-Server verwendet – keinem Host wird das Kennwort oder der Schlüssel des anderen angeboten.
Sowohl SSH-Terminals als auch SFTP-Verbindungen zum Ziel laufen über den Jump-Server; für SFTP muss nichts zusätzlich konfiguriert werden. Das funktioniert unabhängig von der eigenen Authentifizierung des Ziels – Passwort, keyboard-interactive, SSH-Schlüssel oder ein temporärer SSH-Schlüssel: ein gespeichertes Jump-Server-Passwort wird in jedem Fall mit Ihrem Master-Passwort entschlüsselt.
Warning
Mosh-Verbindungen können nicht über einen Jump-Server laufen: Eine Mosh-Sitzung läuft über UDP, das vom SSH-Tunnel (TCP) des Jump-Servers nicht weitergeleitet wird. korTTY lehnt die Kombination von vornherein ab – die Registerkarte „Jump Server“ warnt, sobald sie konfiguriert ist, und die Verbindung schlägt sofort mit einer eindeutigen Meldung fehl, anstatt nach dem SSH-Bootstrap ins Stocken zu geraten. Verwenden Sie das SSH-Protokoll für Ziele hinter einer Bastion oder deaktivieren Sie den Jump-Server.
Konfiguration¶
So konfigurieren Sie einen Jump-Server für eine Verbindung:
- Öffnen Sie den Connection-Manager und bearbeiten (oder erstellen) Sie eine Verbindung.
- Gehen Sie zur Registerkarte Jump-Server.
- Tick Jump Server / Auto-Hop aktivieren.
- Geben Sie die Details des Jump-Servers ein:
- Jump-Server Host — hostname or IP address of the jump server
- Port – SSH-Port (Standard: 22)
- Benutzername – Anmeldebenutzername für den Jump-Server
- Wählen Sie eine Authentifizierungsmethode:
- Passwort – das Passwort wird verschlüsselt mit Ihrem Master-Passwort gespeichert. Lassen Sie das Feld beim Bearbeiten leer, um das zuvor gespeicherte Passwort beizubehalten.
- SSH-Schlüsseldatei (keine Passphrase) – der Pfad zu einer unverschlüsselten privaten Schlüsseldatei. Passphrase-geschützte Schlüssel werden für den Jump Hop nicht unterstützt.
- Klicken Sie auf Speichern.
Wenn der Jump-Server nicht verwendet werden kann¶
korTTY entschlüsselt ein gespeichertes Jump-Server-Passwort, bevor es den Jump-Server kontaktiert. Falls das gespeicherte Jump-Passwort nicht verwendet werden kann – keines ist gespeichert, der Master-Passwort-Tresor ist gesperrt oder der gespeicherte Wert lässt sich nicht entschlüsseln – stoppt die Verbindung sofort mit einer Meldung, ohne den Jump-Server zu kontaktieren, ohne nach dessen Host-Key zu fragen und ohne die Wiederholungsanzahl durchzugehen. Entsperren Sie den Tresor mit Konfiguration > Sicherheit > Tresor entsperren… (siehe Später den Tresor entsperren) oder speichern Sie das Passwort im Jump-Server-Tab der Verbindung, dann verbinden Sie sich erneut.
Ein unvollständiges Jump-Setup (kein Benutzername, oder Schlüssel-Authentifizierung ohne nutzbaren Schlüsseldatei) und ein von Ihnen abgelehnter Jump-Server-Host-Key werden ebenfalls nur einmal gemeldet, anstatt erneut versucht zu werden, weil ein weiterer Versuch identisch scheitern würde. Ein Jump-Server, der nicht erreichbar ist, oder ein Netzwerkfehler auf dem Weg, wird wie jede andere Verbindungsfehlermeldung erneut versucht.
Host-Schlüsselüberprüfung¶
Der Hostschlüssel des Jump-Servers wird beim ersten Einsatz genau wie bei jedem anderen Host überprüft: korTTY zeigt den SHA-256-Fingerabdruck des Schlüssels an und bittet Sie, ihn zu bestätigen, danach wird er festgeheftet. Bei späteren Verbindungen wird ein geänderter Jump-Server-Schlüssel abgelehnt, die gleiche Trust-on-First-Use-Schutzmaßnahme wie beim Zielhost. Wenn die Verbindung von einem Terminal-Tab oder dem SFTP-Manager aus geöffnet wurde, bietet der geänderte-Schlüssel-Alarm auch Prüfen und ersetzen… für den Jump-Server an, unter denselben Regeln wie für das Ziel (siehe SSH-Hostschlüssel-Verifizierung). Der Bastion wird immer strikt geprüft: Lockern der Hostschlüsselüberprüfung gilt nur für Zielhosts, niemals für den Jump-Hop.
Dies gilt auch dann, wenn die Host-Key-Überprüfung für das Ziel gelockt wurde: Die pro-Verbindung, pro-Gruppe und globale Ausnahmen betreffen den Bastion nie, sodass dessen Schlüssel stets streng überprüft wird. Siehe Entspannung der Host-Key-Überprüfung.
Der Zielhost wird unter seinem eigenen Namen verifiziert, auch wenn der Transport durch den Tunnel erfolgt, sodass eine kompromittierte Bastion nicht unbemerkt einen anderen Zielhostschlüssel ersetzen kann.
Wann es verwendet werden soll¶
- Zielserver befinden sich hinter einer Firewall und sind nur über einen Bastion-Host erreichbar.
- Sicherheitsrichtlinie erfordert Routing über ein Gateway.
- Die interne Infrastruktur verwendet private Adressen und benötigt einen Vermittler für den Zugriff.
Note
Jump-Server-Passwörter werden verschlüsselt mit Ihrem Master-Passwort gespeichert, zusammen mit den eigenen Anmeldeinformationen der Verbindung. Da das gespeicherte Passwort nie wieder angezeigt wird, behält die Bearbeitung einer Verbindung mit einem leeren Jump-Server-Passwortfeld das gespeicherte Passwort bei; geben Sie einen neuen Wert ein, um es zu ändern. Wenn der Master-Passwort-Tresor gesperrt ist, wenn Sie ein neues Jump-Password speichern, bietet korTTY Tresor entsperren… an; bleibt der Tresor gesperrt, sagt korTTY, dass das Jump-Server-Passwort nicht gespeichert werden kann, behält das gespeicherte Passwort wie es war und speichert dennoch die anderen Einstellungen der Verbindung.