Was ist der Unterschied zwischen 'ssh -Y' (vertrauenswürdige X11-Weiterleitung) und 'ssh -X' (nicht vertrauenswürdige X11-Weiterleitung)?

100

Was ist der Unterschied zwischen ssh -Y (vertrauenswürdige X11-Weiterleitung) und ssh -X (nicht vertrauenswürdige X11-Weiterleitung)? So weit ich es verstanden habe, hat es etwas mit Sicherheit zu tun, aber ich habe den Unterschied nicht begriffen und wann, welches zu verwenden.

    
Martin Ueding 16.04.2011, 21:42

4 Antworten

76

Beide Optionen haben etwas mit der X11-Weiterleitung zu tun. Das heißt, wenn Sie dies aktivieren, können Sie einen grafischen Client über Ihre SSH-Sitzung verwenden (d. H. Firefox oder etwas anderes verwenden).

Wenn Sie ssh -X remotemachine verwenden, wird der Remote-Computer als nicht vertrauenswürdiger Client behandelt. Ihr lokaler Client sendet also einen Befehl an den Remote-Computer und empfängt die grafische Ausgabe. Wenn Ihr Befehl gegen einige Sicherheitseinstellungen verstößt, erhalten Sie stattdessen einen Fehler.

Wenn Sie jedoch ssh -Y remotemachine verwenden, wird der Remote-Computer als vertrauenswürdiger Client behandelt. Diese letzte Option kann Sicherheitsprobleme verursachen. Weil ein anderer grafischer (X11) Client Daten von der entfernten Maschine schnüffeln könnte (Screenshots machen, Keylogging und andere unangenehme Sachen machen) und es ist sogar möglich, diese Daten zu ändern.

Wenn Sie mehr über diese Dinge erfahren möchten, empfehle ich Ihnen, die Hilfeseite Xsecurity oder die Spezifikation der X-Sicherheitserweiterung . Außerdem können Sie in Ihrem ForwardX11 die Optionen ForwardX11Trusted und /etc/ssh/ssh_config überprüfen.

    
qbi 16.04.2011, 22:38
20

Verwenden Sie weder , wenn Sie X11-Programme nicht remote ausführen müssen; Verwenden Sie -X , wenn Sie dies tun; und hypothetisch -Y verwenden, wenn ein X11-Programm, das Ihnen wichtig ist, besser mit -Y als mit -X arbeitet. Aber zur Zeit (Ubuntu 15.10) ist -X identisch mit -Y, außer du redest ssh_config auf ForwardX11Trusted no . -X sollte ursprünglich die X-Sicherheitserweiterung der 1990er Jahre ermöglichen, aber das ist alt und unflexibel und stürzt einige Programme ab und wird daher standardmäßig ignoriert.

Mit ssh -Y und -X können Sie ein X11-Programm auf einem Remote-Computer ausführen, dessen Fenster auf dem lokalen X-Monitor angezeigt werden. Das Problem ist, was das Programm mit den Fenstern anderer Programme und mit dem X-Server selbst machen darf.

local$ ssh -X remote
remote$ xlogo
# Runs xlogo on remote, but the logo pops up on the local screen.

Vertrauenswürdig X11-Weiterleitung wird von -Y aktiviert. Dies ist das historische Verhalten. Ein Programm mit Zugriff auf die Anzeige hat Zugriff auf die gesamte Anzeige. Es kann Screenshot, Keylog und Eingabe in alle Fenster von anderen Programmen injizieren. Und es kann alle X-Server-Erweiterungen verwenden, einschließlich solcher wie beschleunigte Grafiken, die Sicherheitsrisiken darstellen. Das ist gut für den reibungslosen Ablauf, aber schlecht für die Sicherheit. Sie vertrauen darauf, dass die Remote-Programme genauso sicher sind wie Ihre lokalen Programme.

Nicht vertrauenswürdige X11-Weiterleitung versucht, Remote-Programme so einzuschränken, dass sie nur auf ihre eigenen Fenster zugreifen und nur die Teile von X verwenden, die relativ sicher sind. Das hört sich gut an, funktioniert aber derzeit in der Praxis nicht gut.

Die Bedeutung von -X hängt momentan von Ihrer ssh Konfiguration ab.

Bei Ubuntu 14.04 LTS gibt es keinen Unterschied zwischen ssh_config und -X , es sei denn, Sie bearbeiten Ihre -Y . "[B] weil zu viele Programme im [nicht vertrauenswürdigen] Modus abstürzen."

ubuntu1404$ man ssh
...
 -X      Enables X11 forwarding.  This can also be specified on a per-host
         basis in a configuration file.
         ...
         (Debian-specific: X11 forwarding is not subjected to X11 SECURITY
         extension restrictions by default, because too many programs cur‐
         rently crash in this mode.  Set the ForwardX11Trusted option to
         “no” to restore the upstream behavior.  This may change in
         future depending on client-side improvements.)

ubuntu1404$ grep ForwardX11Trusted /etc/ssh/ssh_config
#   ForwardX11Trusted yes

Wenn ForwardX11Trusted no , dann aktiviert -X die nicht vertrauenswürdige Weiterleitung. Andernfalls wird -X genauso behandelt wie -Y , da Remote-Programme mit Anzeigezugriff freundlich sind.

    
Mitchell 30.03.2016 18:08
1

Ja. -Y ist für vertrauenswürdige X11-Weiterleitung, während -X für nicht vertrauenswürdige X11-Weiterleitung ist. Die X11-Weiterleitung ermöglicht Ihnen nur die Verwendung von X11-Anwendungen (d. H. Grafischen Anwendungen) über eine SSH-Sitzung.

Ich bin nicht sicher, was der bedeutungsvolle Unterschied zwischen vertrauenswürdigen und nicht vertrauenswürdigen X11-Verbindungen ist, aber ich bin mir sicher, dass es mit der serverseitigen Konfiguration zu tun hat (d. h. ssh-config, sshd-config usw.). Erkundigen Sie sich bei Ihrem Server oder Netzwerkadministrator, welches Flag verwendet werden soll.

    
Tyler K. 16.04.2011 22:00
1

Die Option -X aktiviert X11-Weiterleitung:

-X   Enables X11 forwarding.  This can also be specified on a per-host
     basis in a configuration file.

     X11 forwarding should be enabled with caution.  Users with the
     ability to bypass file permissions on the remote host (for the
     user's X authorization database) can access the local X11 display
     through the forwarded connection.  An attacker may then be able
     to perform activities such as keystroke monitoring.

     For this reason, X11 forwarding is subjected to X11 SECURITY
     extension restrictions by default.  Please refer to the ssh -Y
     option and the ForwardX11Trusted directive in ssh_config(5) for
     more information.

Die Option -Y , die der ForwardX11Trusted-Direktive in ssh_config (5) entspricht, ist noch weniger sicher, da sie X11 SECURITY-Erweiterungssteuerelemente entfernt.

-Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
        subjected to the X11 SECURITY extension controls.

Es ist sicherer, -x

zu verwenden
-x   Disables X11 forwarding.
    
Ortomala Lokni 10.01.2016 02:57

Tags und Links