Quelle est la différence entre 'ssh -Y' (transfert sécurisé X11) et 'ssh -X' (transfert X11 non approuvé)?

100

Quelle est la différence entre ssh -Y (transfert X11 approuvé) et ssh -X (transfert X11 non approuvé)? D'après ce que j'ai compris, cela a quelque chose à voir avec la sécurité, mais je n'ai pas compris la différence et le moment d'utiliser lequel.

    
posée Martin Ueding 16.04.2011 - 21:42
la source

4 réponses

76

Les deux options ont quelque chose à voir avec le transfert X11. Cela signifie que si vous activez cette option, vous pouvez utiliser un client graphique via votre session SSH (c’est-à-dire utiliser Firefox ou autre).

Si vous utilisez ssh -X remotemachine , la machine distante est traitée comme un client non approuvé. Ainsi, votre client local envoie une commande à la machine distante et reçoit la sortie graphique. Si votre commande viole certains paramètres de sécurité, vous recevrez une erreur à la place.

Mais si vous utilisez ssh -Y remotemachine , la machine distante est traitée comme client de confiance. Cette dernière option peut ouvrir des problèmes de sécurité. Parce qu'un autre client graphique (X11) pourrait renifler les données de la machine distante (faire des captures d'écran, faire du keylogging et autres trucs désagréables) et il est même possible de modifier ces données.

Si vous voulez en savoir plus sur ces choses, je vous suggère de lire la page de manuel Xsecurity ou la spécification d'extension de sécurité X . De plus, vous pouvez cocher les options ForwardX11 et ForwardX11Trusted dans votre /etc/ssh/ssh_config .

    
réponse donnée qbi 16.04.2011 - 22:38
la source
20

N'utilisez ni ni lorsque vous n’avez pas besoin d’exécuter des programmes X11 à distance; utilisez -X lorsque vous le faites; et hypothétiquement utiliser -Y si un programme X11 qui vous intéresse fonctionne mieux avec -Y qu'avec -X. Mais actuellement (Ubuntu 15.10), -X est identique à -Y, sauf si vous éditez ssh_config pour dire ForwardX11Trusted no . -X était à l'origine destiné à activer l'extension de sécurité X des années 1990, mais elle est ancienne et rigide, et plante certains programmes. Elle est donc ignorée par défaut.

ssh -Y et -X vous permettent d'exécuter un programme X11 sur un ordinateur distant, ses fenêtres apparaissant sur le moniteur X local. Le problème est ce que le programme est autorisé à faire sur les fenêtres des autres programmes et sur le serveur X lui-même.

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

Trusted est activé par -Y . C'est le comportement historique. Un programme avec accès à l'affichage est autorisé à accéder à l'affichage entier . Il peut capturer, enregistrer et saisir des données dans toutes les fenêtres des autres programmes . Et il peut utiliser toutes les extensions de serveur X, y compris celles comme les graphiques accélérés, qui sont des expositions de sécurité. Ce qui est bon pour le bon fonctionnement, mais mauvais pour la sécurité. Vous faites confiance aux programmes distants pour qu'ils soient aussi sûrs que vos programmes locaux.

La redirection X11 essaie de limiter les programmes distants à accéder uniquement à leurs propres fenêtres, et à utiliser uniquement les parties de X relativement sécurisées. Ce qui semble bien, mais actuellement ne fonctionne pas bien dans la pratique.

La signification de -X dépend actuellement de votre configuration ssh.

Sous Ubuntu 14.04 LTS, sauf si vous modifiez votre ssh_config , il n'y a pas de différence entre -X et -Y . "[B] parce que trop de programmes sont actuellement bloqués en mode [non sécurisé]."

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

Si ForwardX11Trusted no , alors -X active le transfert non fiable . Sinon, -X est traité de la même manière que -Y , en faisant confiance à ce que les programmes distants avec accès à l'affichage sont conviviaux.

    
réponse donnée Mitchell 30.03.2016 - 18:08
la source
1

Oui. -Y est destiné au transfert X11 de confiance tandis que -X est destiné au transfert X11 non sécurisé . Le transfert X11 vous permet simplement d'utiliser des applications X11 (c'est-à-dire graphiques) sur une session SSH.

Je ne suis pas sûr de la différence significative entre les connexions X11 approuvées et non sécurisées, mais je suis sûr que cela concerne la configuration côté serveur (par exemple, ssh-config, sshd-config, etc.). Vérifiez auprès de votre administrateur de serveur ou de réseau quel drapeau utiliser.

    
réponse donnée Tyler K. 16.04.2011 - 22:00
la source
1

L’option -X active le transfert 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'option -Y , correspondant à la directive ForwardX11Trusted dans ssh_config (5), est encore moins sécurisée car elle supprime les contrôles d'extension X11 SECURITY.

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

Il est plus sûr d'utiliser -x

-x   Disables X11 forwarding.
    
réponse donnée Ortomala Lokni 10.01.2016 - 02:57
la source

Lire d'autres questions sur les étiquettes