Apa perbedaan antara `ssh -Y` (penerusan X11 tepercaya) dan` ssh -X` (penerusan X11 yang tidak terpercaya)?

114

Apa perbedaan antara ssh -Y(penerusan X11 tepercaya) dan ssh -X(penerusan X11 tak tepercaya)? Sejauh yang saya mengerti, itu ada hubungannya dengan keamanan, tetapi saya tidak memahami perbedaannya dan kapan menggunakannya.

Martin Ueding
sumber

Jawaban:

89

Kedua opsi ada hubungannya dengan penerusan X11. Ini berarti jika Anda mengaktifkan ini, Anda dapat menggunakan klien grafis melalui sesi SSH Anda (misalnya, gunakan Firefox atau yang lainnya).

Jika Anda menggunakan ssh -X remotemachinemesin jarak jauh diperlakukan sebagai klien yang tidak dipercaya. Jadi klien lokal Anda mengirim perintah ke mesin jarak jauh dan menerima output grafis. Jika perintah Anda melanggar beberapa pengaturan keamanan Anda akan menerima kesalahan sebagai gantinya.

Tetapi jika Anda menggunakan ssh -Y remotemachinemesin jarak jauh diperlakukan sebagai klien tepercaya. Opsi terakhir ini dapat membuka masalah keamanan. Karena klien grafis (X11) lainnya dapat mengendus data dari mesin jarak jauh (membuat tangkapan layar, melakukan keylogging dan hal-hal buruk lainnya) dan bahkan dimungkinkan untuk mengubah data tersebut.

Jika Anda ingin tahu lebih banyak tentang hal-hal itu, saya sarankan membaca halaman manual Xsecurity atau spesifikasi ekstensi X Security . Selanjutnya, Anda dapat memeriksa opsi ForwardX11dan ForwardX11Trusteddi /etc/ssh/ssh_config.

qbi
sumber
6
Manual ssh menggunakan kata-kata yang tidak menguntungkan, menunjukkan (setidaknya bagi saya) bahwa -X tidak aman untuk digunakan dan -Y lebih baik. Jadi terima kasih atas jawaban ini.
Torsten Bronger
Jadi, dengan -Xapakah tidak mungkin bagi klien lain untuk mengendus atau mengubah data?
musiphil
6
Jadi mengapa orang ingin menggunakan -Ydaripada -Xsecara umum?
Wernight
Saya memiliki pertanyaan yang sama (mengapa harus menggunakan -Y) dan satu-satunya kasus yang saya pahami ini mungkin berguna adalah ketika kontrol keamanan di sisi server entah bagaimana tidak diterapkan / tidak kompatibel. Saya juga pernah membaca bahwa penerusan X11 pada umumnya adalah alat yang kuat dan berbahaya yang harus diperlakukan seperti itu.
MakisH
5
Menjawab "Mengapa menggunakan -Y bukannya -X?" pertanyaan, -X menjatuhkan penerusan setelah batas waktu sementara -Y tidak. Anda bisa mengesampingkan konfigurasi itu menggunakan ForwardX11Timeout untuk opsi -X.
Seb
23

Gunakan baik ketika Anda tidak perlu menjalankan program X11 dari jarak jauh; gunakan -Xsaat Anda melakukannya; dan secara hipotesis gunakan -Yjika program X11 yang Anda pedulikan berfungsi lebih baik dengan -Y daripada dengan -X. Tetapi saat ini (Ubuntu 15.10), -X identik dengan -Y, kecuali Anda mengedit ssh_configuntuk mengatakan ForwardX11Trusted no. -X pada awalnya dimaksudkan untuk mengaktifkan ekstensi X Security tahun 1990-an, tetapi itu sudah tua dan tidak fleksibel, dan membuat beberapa program macet, sehingga diabaikan secara default.

Baik ssh -Ydan -Xmembiarkan Anda menjalankan program X11 pada mesin jarak jauh, dengan jendelanya muncul di monitor X lokal. Masalahnya adalah apa yang diizinkan untuk dilakukan oleh program pada jendela program lain, dan ke server X itu sendiri.

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

Penerusan X11 tepercaya diaktifkan oleh -Y. Ini adalah perilaku historis. Program dengan akses ke tampilan, dipercaya dengan akses ke seluruh tampilan. Itu dapat screenshot, keylog, dan menyuntikkan input ke semua jendela program lain . Dan itu dapat menggunakan semua ekstensi X server, termasuk yang seperti grafik dipercepat, yang merupakan eksposur keamanan. Yang baik untuk berjalan dengan lancar, tetapi buruk untuk keamanan. Anda memercayai program jarak jauh seaman program lokal Anda.

Penerusan X11 yang tidak terpercaya mencoba membatasi program jarak jauh untuk hanya mengakses jendela mereka sendiri , dan hanya menggunakan bagian-bagian X yang relatif aman. Kedengarannya bagus, tetapi saat ini tidak bekerja dengan baik dalam praktik.

Arti -Xsaat ini tergantung pada konfigurasi ssh Anda.

Di Ubuntu 14.04 LTS, kecuali Anda mengedit ssh_config, tidak ada perbedaan antara -Xdan -Y. "[B] karena terlalu banyak program yang macet dalam mode [tidak dipercaya]."

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

Jika ForwardX11Trusted no, maka -Xmemungkinkan penerusan yang tidak dipercaya . Kalau tidak, -Xdiperlakukan sama seperti -Y, percaya bahwa program jarak jauh dengan akses tampilan ramah.

Mitchell
sumber
1

The -Xpilihan memungkinkan X11 forwarding:

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

Opsi -Y, yang sesuai dengan direktif ForwardX11Trusted di ssh_config (5), bahkan lebih tidak aman karena, menghapus kontrol ekstensi X11 SECURITY.

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

Lebih aman digunakan -x

-x   Disables X11 forwarding.
Ortomala Lokni
sumber