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


Quelle est la différence entre ssh -Y (transfert X11 de confiance) et ssh -X (transfert X11 non fiable)? 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 qui.


101
2018-04-16 19:42


origine




Réponses:


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 tu utilises 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é. Comme un autre client graphique (X11) peut renifler les données de la machine distante (faire des captures d'écran, faire du keylogging et autres trucs désagréables), il est même possible de modifier ces données.

Si vous voulez en savoir plus sur ces choses, je suggère de lire le Page de manuel Xsecurity ou la X extension de sécurité. De plus, vous pouvez vérifier les options ForwardX11 et ForwardX11Trusted dans ton /etc/ssh/ssh_config.


76
2018-04-16 20:38



La page de manuel de ssh utilise une formulation malheureuse, suggérant (du moins pour moi) que -X est dangereux à utiliser et que -Y est meilleur. Alors merci pour cette réponse. - Torsten Bronger
Donc avec -X Est-il impossible pour d'autres clients de renifler ou de modifier des données? - musiphil
Alors, pourquoi voudrait-on utiliser -Y au lieu de -X en général? - Wernight
Malheureusement, les deux liens sont 404. Le site semble être mort depuis 2014. - m00am
Répondre au "Pourquoi utiliser -Y au lieu de -X?" question, -X supprime le transfert après un délai d'attente pendant que -Y ne le fait pas. Vous pouvez remplacer cette configuration en utilisant ForwardX11Timeout pour l'option -X. - Seb


Utilisation ni lorsque vous n'avez pas besoin d'exécuter des programmes X11 à distance; utilisation -X quand tu le fais 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 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.

Les deux ssh -Y et -X vous permet d'exécuter un programme X11 sur une machine distante, avec 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.

De confiance Le transfert X11 est activé par -Y. C'est le comportement historique. Un programme avec accès à l’écran est autorisé à accéder au tout afficher. Il peut capture d'écran, keylog et injecter une entrée dans toutes les fenêtres de autre 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 être aussi sûrs que vos programmes locaux.

Non fiable Le transfert X11 essaie de limiter les programmes distants à accéder uniquement à leurs programmes. posséder Windows, et à n'utiliser que les parties de X relativement sécurisées. Ce qui semble bien, mais actuellement ne fonctionne pas bien dans la pratique.

Le sens de -X dépend actuellement de votre configuration ssh.

Sur 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, puis -X permet non approuvé expéditeur. Autrement, -X est traité de la même manière que -Y, confiant que les programmes distants avec accès à l’écran sont conviviaux.


20
2018-03-30 16:08





Oui. -Y est pour de confiance X11 forwarding, tandis que -X est pour non approuvé X11 transfert. 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 sécurisé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 serveur ou réseau quel drapeau utiliser.


1
2018-04-16 20:00



Les deux ordinateurs sont mes propres, donc je peux demander un administrateur réseau. Mais je suppose que c'est "confiance" alors, donc je pourrais utiliser -Y je suppose. - Martin Ueding
Je n’ai pas assez de représentants pour prendre des décisions, alors je dois dire: cette réponse n’apporte rien du tout. - underscore_d


le -X L'option permet 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é car il 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.

C'est plus sûr à utiliser -x

-x   Disables X11 forwarding.

1
2018-01-10 01:57