Jaka jest różnica między ssh -Y
(zaufane przekazywanie X11) a ssh -X
(niezaufane przekazywanie X11)? O ile rozumiem, ma to coś wspólnego z bezpieczeństwem, ale nie zrozumiałem różnicy i kiedy z niej korzystać.
źródło
Jaka jest różnica między ssh -Y
(zaufane przekazywanie X11) a ssh -X
(niezaufane przekazywanie X11)? O ile rozumiem, ma to coś wspólnego z bezpieczeństwem, ale nie zrozumiałem różnicy i kiedy z niej korzystać.
Obie opcje mają coś wspólnego z przekazywaniem X11. Oznacza to, że jeśli włączysz tę opcję, możesz używać klienta graficznego za pośrednictwem sesji SSH (np. Używać Firefoksa lub czegoś innego).
Jeśli używasz ssh -X remotemachine
komputera zdalnego, jest on traktowany jako niezaufany klient. Zatem lokalny klient wysyła polecenie do zdalnego komputera i odbiera dane wyjściowe w postaci graficznej. Jeśli Twoje polecenie narusza niektóre ustawienia zabezpieczeń, zamiast tego pojawi się błąd.
Ale jeśli używasz ssh -Y remotemachine
komputera zdalnego, jest traktowany jako zaufany klient. Ta ostatnia opcja może powodować problemy z bezpieczeństwem. Ponieważ inni klienci graficzni (X11) mogą wąchać dane ze zdalnego komputera (robić zrzuty ekranu, rejestrować hasła i inne nieprzyjemne rzeczy), a nawet można je zmieniać.
Jeśli chcesz dowiedzieć się więcej na ten temat, sugeruję przeczytanie strony podręcznika Xsecurity lub specyfikacji rozszerzenia X Security . Ponadto możesz sprawdzić opcje ForwardX11
i ForwardX11Trusted
swoje /etc/ssh/ssh_config
.
-X
tym inni klienci nie mogą wąchać ani zmieniać danych?-Y
zamiast-X
ogólnie?-Y
) i jedyny przypadek, który zrozumiałem, że może być przydatny, to gdy kontrola bezpieczeństwa po stronie serwera nie jest w jakiś sposób zaimplementowana / niezgodna. Czytałem również, że przekazywanie X11 jest ogólnie potężnym i niebezpiecznym narzędziem, które należy traktować jako takie.Użyj ani kiedy nie trzeba uruchamiać programy X11 zdalnie; użyj,
-X
kiedy to zrobisz; i hipotetycznie użyj,-Y
jeśli program X11, na którym Ci zależy, działa lepiej z -Y niż z -X. Ale obecnie (Ubuntu 15.10), -X jest identyczny z -Y, chyba że edytujesz,ssh_config
żeby powiedziećForwardX11Trusted no
. -X pierwotnie miał na celu włączenie rozszerzenia X Security z lat 90., ale jest to stary i nieelastyczny program, który powoduje awarię niektórych programów i dlatego jest domyślnie ignorowany.Zarówno ssh, jak
-Y
i-X
pozwalają uruchomić program X11 na zdalnym komputerze, którego okna pojawiają się na lokalnym monitorze X. Problem polega na tym, co program może zrobić z oknami innych programów i samym serwerem X.Przekazywanie zaufanego X11 jest włączone przez
-Y
. To jest zachowanie historyczne. Program z dostępem do wyświetlacza jest zaufany z dostępem do całego wyświetlacza. Może zrzut ekranu, keylog i wstrzykiwać dane wejściowe do wszystkich okien innych programów. I może używać wszystkich rozszerzeń serwera X, w tym takich jak grafika przyspieszona, które są zagrożeniami bezpieczeństwa. Co jest dobre do płynnego działania, ale złe dla bezpieczeństwa. Ufasz, że programy zdalne będą tak samo bezpieczne jak programy lokalne.Niezaufane przekazywanie X11 próbuje ograniczyć zdalnym programom dostęp do ich własnych okien i używanie tylko tych części X, które są względnie bezpieczne. Co brzmi dobrze, ale obecnie nie działa dobrze w praktyce.
Znaczenie
-X
obecnie zależy od konfiguracji ssh.W Ubuntu 14.04 LTS, chyba że edytujesz swój
ssh_config
, nie ma różnicy między-X
i-Y
. „[B] powoduje, że obecnie zbyt wiele programów ulega awarii w trybie [niezaufanym]”.Jeśli
ForwardX11Trusted no
, to-X
włącza niezaufane przekazywanie. W przeciwnym razie-X
jest traktowany tak samo, jak-Y
ufanie, że programy zdalne z dostępem do ekranu są przyjazne.źródło
-X
Opcja umożliwia przekazywanie X11:Opcja
-Y
odpowiadająca dyrektywie ForwardX11Trusted w ssh_config (5) jest jeszcze mniej bezpieczna, ponieważ usuwa kontrolę rozszerzenia X11 SECURITY.Jest bezpieczniejszy w użyciu
-x
źródło