OpenSSH: X11 forwarding: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
(aggiunto access control su Xorg, e differenza tra ssh -X/-Y)
Riga 1: Riga 1:
{{Stub}}{{Versioni compatibili|Wheezy|Jessie}}{{SSH}}
{{Stub}}{{Versioni compatibili|Wheezy|Jessie}}{{OpenSSH}}


== Introduzione ==
== Introduzione ==
Riga 15: Riga 15:


== Lato client ==
== Lato client ==
=== Access control ===
Per limitare l'esposizione delle applicazioni eseguite sul server X locale, rispetto a possibili attacchi da parte dell'applicazione eseguita su macchina remota (ma a cui è dato accesso allo stesso server X locale per potervi interagire), [[Xorg]] dispone di un primitivo controllo di accesso (''access control''), che consente di marcare alcune applicazioni come non fidate (''untrusted''), in base alla sessione con cui si sono registrate presso il server X.
Ciò non risolve completamente le problematiche di sicurezza, ma limita la possibilità di ascolto alle sole applicazioni ''untrusted''. Come risultato di questa impostazione, un'applicazione remota non avrà gli stessi permessi di una eseguita localmente, per cui alcune operazioni potrebbero essergli precluse: in caso questo interferisca con il suo normale funzionamento, sarà però necessario dargli totale accesso, ossia considerarla fidata (''trusted''), consci però dei possibili rischi di sicurezza per tutte le applicazioni (anche di altri utenti) eseguite sullo stesso server X e per gli input immessi dall'utente.
=== Utilizzo ===
=== Utilizzo ===
Dalla macchina client, è sufficiente lanciare <code>ssh</code> con l'opzione <code>-X</code>:
Dalla macchina client, è sufficiente lanciare <code>ssh</code> con l'opzione <code>-X</code>:
<pre>
<pre>
$ ssh -X username_remoto@host_remoto
$ ssh -X username_remoto@host_remoto
username_remoto@host_remoto:~$      (<-- sessione SSH)
</pre>
</pre>
per avviare una nuova sessione della [[shell]] testuale predefinita.
per avviare una nuova sessione della [[shell]] testuale predefinita.


All'interno di questa sessione sarà possibile avviare applicazioni grafiche sulla macchina remota, che si potrà visualizzare e interagirvi tramite il server X locale come se si trattasse di una qualsiasi altra applicazione.
All'interno di questa sessione sarà possibile avviare applicazioni grafiche sulla macchina remota, che saranno visualizzate e si potrà interagirvi sul server X locale, come se si trattasse di una qualsiasi altra applicazione, ma con ''access control'' attivo per isolare parzialmente questa applicazione (''untrusted'') da quelle locali.
 
Per esempio:
<pre>
username_remoto@host_remoto:~$ evince
</pre>
lancia il programma <code>evince</code> sulla macchina remota, visualizzandolo sul server X locale in esecuzione. Se si apre un documento, si noterà infatti che si sta esplorando il [[File System|file system]] dell'utente remoto sulla macchina remota.
 
Quando si ha terminato, è sufficiente chiudere la connessione, chiudendo il terminale oppure con <code>exit</code>:
<pre>
username_remoto@host_remoto:~$ exit  (<-- sessione SSH)
$                                    (<-- shell locale)
</pre>


Un'altra opzione utile è <code>-C</code>, per abilitare la compressione:
==== Compressione del traffico ====
Un'opzione utile è <code>-C</code>, per abilitare la compressione del traffico, e in particolare quello reindirizzato al server X locale, il che può velocizzare i tempi di risposta delle applicazioni remote:
<pre>
<pre>
$ ssh -X -C username_remoto@host_remoto
$ ssh -X -C username_remoto@host_remoto
</pre>
</pre>


TODO: ssh -Y
==== Senza access control ====
{{Warningbox | Un'applicazione remota, in riferimento alla visualizzazione sul server X locale, avrà gli stessi permessi di una eseguita localmente, rendendo possibile il monitoraggio e la manipolazione delle altre applicazioni grafiche eseguite sullo stesso server (anche da parte di altri utenti) e dell'input immesso dall'utente con mouse e tastiera.
 
Essere certi di avere necessità di una connessione ''trusted'' prima di effettuarla, e soltanto se si può considerare sicura la macchina di destinazione.}}
 
Per disattivare il controllo di accesso, effettuando una connessione fidata (''trusted X11 forwarding''), si deve utilizzare l'opzione <code>-Y</code>:
<pre>
$ ssh -Y username_remoto@host_remoto
username_remoto@host_remoto:~$        (<-- sessione SSH)
</pre>


=== Configurazione ===
=== Configurazione ===
Riga 35: Riga 63:


{{Autori
{{Autori
|Autore = [[Utente:HAL 9000|HAL 9000]] 13:39, 19 nov 2015 (CET)
|Autore = [[Utente:HAL 9000|HAL 9000]] 11:25, 28 nov 2015 (CET)
|Estesa_da =
|Estesa_da =
|Verificata_da =
|Verificata_da =
Riga 42: Riga 70:


[[Categoria:SSH_server_e_amministrazione_remota]]
[[Categoria:SSH_server_e_amministrazione_remota]]
[[Categoria:Xorg]]