Vraag Wat is het verschil tussen `ssh -Y` (trusted X11 forwarding) en` ssh -X` (onbetrouwbare X11-forwarding)?


Wat is het verschil tussen ssh -Y (trusted X11 forwarding) en ssh -X (niet-vertrouwde X11-doorsturen)? Voor zover ik het heb begrepen, heeft het iets met veiligheid te maken, maar ik heb het verschil niet begrepen en wanneer te gebruiken.


101
2018-04-16 19:42


oorsprong




antwoorden:


Beide opties hebben iets te maken met X11-doorsturen. Dit betekent dat als u dit inschakelt, u een grafische client via uw SSH-sessie kunt gebruiken (bijv. Firefox of iets anders gebruiken).

Als je gebruikt ssh -X remotemachine de externe machine wordt behandeld als een niet-vertrouwde client. Dus uw lokale client verzendt een opdracht naar de externe machine en ontvangt de grafische uitvoer. Als uw opdracht bepaalde beveiligingsinstellingen schendt, ontvangt u in plaats daarvan een foutmelding.

Maar als je gebruikt ssh -Y remotemachine de externe machine wordt behandeld als vertrouwde client. Deze laatste optie kan beveiligingsproblemen openen. Omdat andere grafische (X11) clients gegevens van de externe machine kunnen ruiken (schermafbeeldingen maken, keylogging en andere vervelende dingen doen) en het zelfs mogelijk is om die gegevens te wijzigen.

Als je meer over die dingen wilt weten, raad ik aan het te lezen Xsecurity manpage of de X Beveiligingsuitbreidingsspecificatie. Verder kun je de opties bekijken ForwardX11 en ForwardX11Trusted in uw /etc/ssh/ssh_config.


76
2018-04-16 20:38



De ssh manpage gebruikt ongelukkige bewoordingen en suggereert (althans voor mij) dat -X onveilig is om te gebruiken en -Y beter is. Dus bedankt voor dit antwoord. - Torsten Bronger
Dus met -X is het voor andere klanten onmogelijk om gegevens te snuiven of te wijzigen? - musiphil
Dus waarom zou je het willen gebruiken? -Y in plaats van -X in het algemeen? - Wernight
Beide koppelingen zijn nu helaas 404. De site lijkt sinds 2014 dood te zijn. - m00am
Beantwoorden van de "Waarom gebruiken -Y in plaats van -X?" vraag, -X verlaagt de doorsturing na een time-out terwijl -Y dat niet doet. U kunt die configuratie echter overschrijven met ForwardX11Timeout voor de optie -X. - Seb


Gebruik geen van beide wanneer u X11-programma's niet op afstand hoeft uit te voeren; gebruik -X wanneer je dat doet; en hypothetisch gebruik -Y als een X11-programma waar je om geeft beter werkt met -Y dan met -X. Maar momenteel (Ubuntu 15.10), is -X identiek aan -Y, tenzij je bewerkt ssh_config zeggen ForwardX11Trusted no. -X was oorspronkelijk bedoeld om de X Security-extensie van de jaren 1990 in te schakelen, maar dat is oud en inflexibel en crasht sommige programma's en wordt dus standaard genegeerd.

Beide ssh -Y en -X laat u een X11-programma uitvoeren op een externe machine, met de vensters ervan op de lokale X-monitor. Het probleem is wat het programma mag doen met de vensters van andere programma's en met de X-server zelf.

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

vertrouwde X11 doorsturen wordt ingeschakeld door -Y. Dit is het historische gedrag. Een programma met toegang tot het display wordt vertrouwd met toegang tot de geheel display. Het kan screenshot, keylog en injecteerinvoer in alle vensters van anders programma's. En het kan alle X-serverextensies gebruiken, inclusief extensies zoals versnelde grafische afbeeldingen, die beveiligingsrisico's zijn. Dat is goed voor soepel draaien, maar slecht voor de veiligheid. U vertrouwt erop dat de programma's op afstand net zo veilig zijn als uw lokale programma's.

Niet vertrouwd X11-doorsturen probeert externe programma's te beperken tot alleen toegang tot hun eigen vensters en alleen die delen van X te gebruiken die relatief veilig zijn. Dat klinkt goed, maar werkt op dit moment niet goed in de praktijk.

De betekenis van -X hangt momenteel af van je ssh-configuratie.

Op Ubuntu 14.04 LTS, tenzij u uw ssh_config, er is geen verschil tussen -X en -Y. "[B] omdat er te veel programma's momenteel crashen in de [niet-vertrouwde] modus."

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

Als ForwardX11Trusted no, dan -X stelt onbetrouwbare forwarding. Anders, -X wordt hetzelfde behandeld als -Y, erop vertrouwend dat externe programma's met weergavetoegang vriendelijk zijn.


20
2018-03-30 16:08





Ja. -Y is voor vertrouwd X11 doorsturen, terwijl -X voor is onbetrouwbare X11 doorsturen. X11-doorsturen stelt u alleen in staat om X11 (dat wil zeggen grafische) toepassingen te gebruiken in een SSH-sessie.

Ik weet niet zeker wat het betekenisvolle verschil is tussen vertrouwde en niet-vertrouwde X11-verbindingen, maar ik weet zeker dat het te maken heeft met de server-side configuratie (dat wil zeggen ssh-config, sshd-config, etc.). Informeer bij uw server of netwerkbeheerder welke vlag u moet gebruiken.


1
2018-04-16 20:00



Beide computers zijn mijn privé-computers, dus er is een netwerkbeheerder die ik zou kunnen vragen. Maar ik veronderstel dat het dan "vertrouwd" is, daarom zou ik kunnen gebruiken -You denk ik. - Martin Ueding
Ik heb niet voldoende rep om te stemmen, dus ik moet zeggen: dit antwoord draagt ​​helemaal niks bij. - underscore_d


De -X optie schakelt X11 doorsturen in:

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

De optie -Y, overeenkomend met de ForwardX11Trusted-instructie in ssh_config (5), is nog minder veilig omdat het X11 SECURITY-extensiebesturingselementen verwijdert.

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

Het is veiliger om te gebruiken -x

-x   Disables X11 forwarding.

1
2018-01-10 01:57