Qual è la differenza tra `ssh -Y` (inoltro X11 affidabile) e` ssh -X` (inoltro X11 non attendibile)?


114

Qual è la differenza tra ssh -Y(inoltro X11 affidabile) e ssh -X(inoltro X11 non attendibile)? Per quanto ho capito, ha qualcosa a che fare con la sicurezza, ma non ho capito la differenza e quando usare quale.

Risposte:


89

Entrambe le opzioni hanno a che fare con l'inoltro X11. Ciò significa che se lo abiliti, puoi utilizzare un client grafico attraverso la sessione SSH (ad esempio, utilizzare Firefox o qualcos'altro).

Se si utilizza ssh -X remotemachinela macchina remota viene trattata come un client non attendibile. Quindi il client locale invia un comando al computer remoto e riceve l'output grafico. Se il tuo comando viola alcune impostazioni di sicurezza, riceverai invece un errore.

Ma se si utilizza ssh -Y remotemachinela macchina remota viene trattata come un client attendibile. Quest'ultima opzione può aprire problemi di sicurezza. Perché altri client grafici (X11) potrebbero annusare i dati dal computer remoto (fare screenshot, fare keylogging e altre cose cattive) ed è persino possibile alterarli.

Se vuoi saperne di più su queste cose, ti suggerisco di leggere la manpage di Xsecurity o le specifiche dell'estensione di X Security . Inoltre, puoi controllare le opzioni ForwardX11e ForwardX11Trustednel tuo /etc/ssh/ssh_config.


6
La manpage di ssh usa una sfortunata formulazione, suggerendo (almeno per me) che -X non è sicuro da usare e -Y è migliore. Quindi grazie per questa risposta.
Torsten Bronger,

Quindi, con gli -Xaltri clienti è impossibile sniffare o alterare i dati?
musiphil,

6
Quindi perché si dovrebbe voler usare -Yinvece che -Xin generale?
Wernight,

Ho la stessa domanda (perché utilizzarla -Y) e l'unico caso in cui ho capito che ciò può essere utile è quando il controllo di sicurezza sul lato server non è in qualche modo implementato / non compatibile. Ho anche letto che l'inoltro di X11 è generalmente uno strumento potente e pericoloso che dovrebbe essere trattato come tale.
MakisH,

5
Rispondere a "Perché usare -Y invece di -X?" domanda, -X elimina l'inoltro dopo un timeout mentre -Y no. Tuttavia, puoi sovrascrivere quella configurazione usando ForwardX11Timeout per l'opzione -X.
Seb

23

Non utilizzare quando non è necessario eseguire programmi X11 in remoto; usare -Xquando lo fai; e ipoteticamente usare -Yse un programma X11 che ti interessa funziona meglio con -Y che con -X. Ma attualmente (Ubuntu 15.10), -X è identico a -Y, a meno che non modifichi ssh_configper dirlo ForwardX11Trusted no. -X era originariamente progettato per abilitare l'estensione X Security degli anni '90, ma è vecchia e non flessibile e arresta in modo anomalo alcuni programmi, quindi viene ignorata per impostazione predefinita.

Sia ssh -Ye -Xlasciare che si esegue un programma X11 su un computer remoto, con le sue finestre che appaiono sul monitor X locale. Il problema è ciò che il programma è autorizzato a fare alle finestre di altri programmi e allo stesso server X.

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

L' inoltro X11 affidabile è abilitato da -Y. Questo è il comportamento storico. Un programma con accesso al display è considerato affidabile con l'accesso all'intero display. Può fare screenshot, keylog e iniettare input in tutte le finestre di altri programmi. E può usare tutte le estensioni del server X, comprese quelle come la grafica accelerata, che sono esposizioni di sicurezza. Il che è buono per funzionare senza problemi, ma per la sicurezza. Ti fidi che i programmi remoti siano sicuri come i tuoi programmi locali.

L' inoltro X11 non attendibile tenta di limitare i programmi remoti all'accesso solo alle proprie finestre e all'utilizzo delle sole parti di X relativamente sicure. Il che suona bene, ma attualmente non funziona bene in pratica.

Il significato di -Xattualmente dipende dalla configurazione di ssh.

Su Ubuntu 14.04 LTS, a meno che non modifichi il tuo ssh_config, non c'è differenza tra -Xe -Y. "[B] perché troppi programmi attualmente si bloccano in modalità [non attendibile]."

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

Se ForwardX11Trusted no, quindi -Xabilita l' inoltro non attendibile . Altrimenti, -Xviene trattato allo stesso modo -Y, confidando che i programmi remoti con accesso al display siano amichevoli.


1

L' -Xopzione abilita l'inoltro X11:

-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.

L'opzione -Y, corrispondente alla direttiva ForwardX11Trusted in ssh_config (5), è ancora meno sicura perché rimuove i controlli dell'estensione X11 SECURITY.

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

È più sicuro da usare -x

-x   Disables X11 forwarding.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.