`Ssh -Y` (güvenilir X11 yönlendirme) ve` ssh -X` (güvenilmeyen X11 yönlendirme) arasındaki fark nedir?


114

ssh -Y(Güvenilir X11 iletme) ve ssh -X(güvenilmeyen X11 iletme) arasındaki fark nedir ? Anladığım kadarıyla güvenlikle bir ilgisi var, ama ne zaman ve ne zaman kullanılacağı arasındaki farkı anlamadım.

Yanıtlar:


89

Her iki seçeneğin de X11 iletme ile ilgisi var. Bu, eğer bunu etkinleştirirseniz, SSH oturumunuz aracılığıyla bir grafiksel istemci kullanabilirsiniz (örneğin, Firefox veya başka bir şey kullanın).

ssh -X remotemachineUzak makineyi kullanırsanız , güvenilmeyen bir istemci olarak kabul edilir. Böylece yerel istemciniz uzaktaki makineye bir komut gönderir ve grafik çıktısını alır. Komutunuz bazı güvenlik ayarlarını ihlal ederse bunun yerine bir hata alırsınız.

Ancak ssh -Y remotemachineuzak makineyi kullanırsanız güvenilir bir istemci olarak kabul edilir. Bu son seçenek güvenlik sorunlarını açabilir. Çünkü diğer grafiksel (X11) istemciler uzaktaki makineden veri alabilir (ekran görüntüleri yapar, keylogging ve diğer kötü şeyler yapar) ve bu verileri değiştirmek bile mümkündür.

Bu şeyler hakkında daha fazla bilgi edinmek istiyorsanız, Xsecurity kılavuz sayfasını veya X Security eklentisini okuyun . Ayrıca, seçenekleri ForwardX11ve ForwardX11Trustedsizin kontrol edebilirsiniz /etc/ssh/ssh_config.


6
Ssh manpage talihsiz ifadeler kullanır, (en azından benim için) -X'in güvenli olmadığını ve -Y'nin daha iyi olduğunu öne sürdü. Yani bu cevap için teşekkür ederim.
Torsten Bronger

Öyleyse, -Xdiğer müşterilerin verileri koklaması veya değiştirmesi mümkün değil mi?
musiphil

6
Peki neden kimse kullanmak isteyeyim -Yyerine -Xgenel olarak?
Wernight

Aynı sorum var (neden kullanmalıyım -Y) ve bunu anladığım tek vaka, sunucu tarafındaki güvenlik kontrolünün bir şekilde uygulanmadığı / uyumlu olmadığı zaman olabilir. Ayrıca, X11'i yönlendirmenin genellikle böyle davranılması gereken güçlü ve tehlikeli bir araç olduğunu da okudum.
MakisH

5
"Neden -X yerine -Y kullanıyorsunuz?" soru, -X olmadığında -X bir zaman aşımından sonra iletimi keser. Olsa da, -X seçeneği için ForwardX11Timeout kullanarak bu yapılandırmayı geçersiz kılabilirsiniz.
Seb

23

Kullanım ne uzaktan X11 programları çalıştırmak için gerekmediğinde; -Xyaptığınız zaman kullanın ; ve -Yönemsediğiniz bir X11 programının -Y ile -X ile daha iyi çalıştığını varsayarsak kullanın. Fakat şu anda (Ubuntu 15.10), -X, -Y ile aynıdır, ssh_configsöylemediğiniz sürece ForwardX11Trusted no. -X aslında 1990'ların X Güvenlik genişletmesini mümkün kılmak için tasarlanmıştı, ancak bu eski ve esnek değil ve bazı programları çökertiyor ve bu nedenle varsayılan olarak yoksayılıyor.

Hem SSH -Yve -Xonun pencereleri yerel X monitörde görünen ile, uzak bir makinedeki bir X11 programı çalıştırın. Sorun, programın diğer programların pencerelerine ve X sunucusunun kendisine yapmasına izin verilen şeydir.

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

Güvenilir X11 iletme özelliği etkindir -Y. Bu tarihsel davranış. Ekrana erişimi olan bir program, tüm ekrana erişim ile güvenilirdir . Ekran görüntüsü, keylog ve diğer programların tüm pencerelerine girdi enjekte edebilir . Güvenlik riskleri olan hızlandırılmış grafikler de dahil olmak üzere tüm X sunucu uzantılarını kullanabilir. Sorunsuz çalıştırmak için iyi, ancak güvenlik için kötü. Uzak programlara, yerel programlarınız kadar güvenli olduğuna güveniyorsunuz.

Güvenilmeyen X11 iletme, uzak programları yalnızca kendi pencerelerine erişmeye ve yalnızca X'in nispeten güvenli olan bölümlerini kullanmaya kısıtlamaya çalışır . Kulağa hoş geliyor, ancak şu anda pratikte iyi çalışmıyor.

-XŞu anki anlamı ssh yapılandırmanıza bağlıdır.

Ubuntu 14.04 LTS'de, siz düzenleme yapmazsanız ssh_config, -Xve arasında bir fark yoktur -Y. "[B] çünkü şu anda [güvenilmeyen] modunda çok fazla program çöküyor."

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

Eğer ForwardX11Trusted noöyleyse -X, güvenilir olmayan iletimi etkinleştirir . Aksi takdirde, ekran erişimine sahip uzak programların dostça olduğuna güvenmekle -Xaynı şekilde davranılır -Y.


1

Bu -Xseçenek, X11 iletmeyi etkinleştirir:

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

-YSsh_config (5) içindeki ForwardX11Trusted yönergesine karşılık gelen seçenek , X11 SECURITY genişletme denetimlerini kaldırdığı için daha az güvenlidir.

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

Kullanımı daha güvenli -x

-x   Disables X11 forwarding.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.