PDA

Visualizza Versione Completa : VNC e SSH: controllo remoto del mac gratuito e 'sicuro'



notorious
11-02-06, 22:07
Premessa: ho messo le virgolette a sicuro poiché, non essendo un esperto di sicurezza, non posso assicurare nulla, ho seguito solo una guida su internet (però, sembra funzionare alla grande) :P

1) Procuratevi un server VNC (per esempio OSXvnc, che è gratuito); SSH ce l'avete già integrato 8)

2) Attivate l'utente root: Gestione NetInfo, poi menu Sicurezza:
2-a) Autentica
2-b) Abilita utente root

3) Aprite OSXvnc (che è il server vnc) e impostatelo; attenzione a configurare:
* una password non banale, DIVERSA da quella degli utenti del mac;
* su Sharing: Only allow local connection. In questo modo accetterà solamente le connessioni dall'indirizzo di loopback, cioè da se stesso (ci penserà SSH ad "incanalare" le connessioni dei client VNC);
* se volete che parta all'avvio in maniera invisibile: Restart Server if it terminates unexpectedly (così se si blocca il vnc server, verrà riavviato) e poi fate click su Configure Startup Item (in questo modo viene caricato un demone all'avvio, che non è visualizzato sul dock, e appartiene al sistema e non al singolo utente in questione).

4) Configurare SSH: aprite il terminale e loggatevi come root (su, invio e digitate la password). Da root, aprite il file /etc/sshd_config con un editor di testo, per esempio lanciando il comando:

root# /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/sshd_config
Qui inserite la riga:

AllowTCPForwarding yes
e decommentate (togliendo #) e modificate la seguente riga (magari con mela+f per trovarla) come:

PasswordAuthentication yes
(se la riga commentata riporta yes, non decommentarla, in quanto è il valore di default)

5) Attivare SSH: Preferenze di sistema / Condivisione / Servizi e attivate Login remoto

Fatto, il mac è pronto per accettare connessioni criptate con SSH e VNC! 8). (ricordatevi di forwardare la porta 22/tcp del router - o magari un'altra, questa può essere un'ulteriore protezione nel caso qualcuno da internet tenti di accedere via SSH al vostro mac - se ne avete uno e il mac non fa da router, alla porta 22/tcp del mac).

Per accedere da remoto, il computer "client" deve disporre di un client VNC (esempio: VNCviewer per mac) e un client SSH. Se il client è un mac oppure un pc con unix, probabilmente già lo avete; se avete un pc con windows, vi consiglio PuTTY, che consiste in un solo piccolo eseguibile che parte comodamente da chiavetta USB (anche molti client VNC possono partire direttamente dalla chiavetta). Predisposto il client (oppure inserita la chiavetta 8) ) dovete:

1) collegarvi con il client SSH al vostro mac (che è in una posizione remota), facendo un "tunnel" tra la porta del pc 5901 alla porta 5900 del vostro mac, figurando come se la vostra connessione partisse dall'ip 127.0.0.1:

ssh [ip pubblico del mac] -L 5901:127.0.0.1:5900
con PuTTY non c'è bisogno della riga di comando, basta andare sotto Connection / SSH / tunnels.
Poi fate login con uno user del vostro mac remoto
NOTA: l'ip pubblico del mac potrebbe cambiare; in questo caso vi consiglio gratuiti servizi di dns dinamici, come ad esempio www.no-ip.org

2) collegarvi con il client VNC alla porta 5901 (che è stata tunnelata precedentemente) del computer stesso (localhost o 127.0.0.1, è uguale):
127.0.0.1:5901

Ora dovreste controllare il vostro mac 8)
Se avete suggerimenti su come migliorare il tutorial, specialmente dal punto di vista della sicurezza, o critiche, fatemelo notare.
Per chi è più curioso, e questo tutorial (che è solo un riassunto) non gli basta, questo è il tutorial da cui ho preso le informazioni (http://clbianco.altervista.org/vnc/vncfaq_2.html).

EDIT: funziona anche in locale anche se SSH rallenta la connessione. La cosa non si avverte in remoto (e con connessioni lente), soprattutto se sul client SSH attivate la compressione dei dati.

doc54
13-02-06, 22:34
Perdona anzitutto la mia ignoranza in materia... Tutta questa procedura, in vero un po' farraginosa, a che cosa serve in concreto? Grazie e scusa. :roll:

simo2409
13-02-06, 22:37
Unico appunto che si può fare (oltre al consiglio di farlo solo se NECESSARIO) è verificare che sia forzato l'utilizzo della versione 2 di ssh e che non sia permessa la 1 (si presta ad attacchi man in the middle).

Magari usa la 2 di default ... non ho mai guardato :)

notorious
13-02-06, 22:56
Perdona anzitutto la mia ignoranza in materia... Tutta questa procedura, in vero un po' farraginosa, a che cosa serve in concreto? Grazie e scusa. :roll:
Non ti preoccupare ;) sono ignorante anche io :P
Comunque, VNC non cripta la connessione (tranne che nella fase iniziale di autenticazione), quindi virtualmente è possibile, per un "intruso", vedere quello che fai. Anche l'autore di quel tutorial comunque non sa se effettivamente qualcuno sia riuscito a farlo...
Un altro vantaggio, è che SSH comprime i pacchetti, cosa che OSXvnc non fa, quindi in teoria la connessione dovrebbe essere più veloce...

Unico appunto che si può fare (oltre al consiglio di farlo solo se NECESSARIO) è verificare che sia forzato l'utilizzo della versione 2 di ssh e che non sia permessa la 1 (si presta ad attacchi man in the middle).

Magari usa la 2 di default ... non ho mai guardato Smile
Grazie della segnalazione! ;) Io l'ho fatto sulle impostazioni del client ssh, è sufficiente?

doc54
13-02-06, 23:52
Riguardo a velocizzare la connessione, viaggio via cavo a 10 Mega... forse per questo non mi occorre. Comunque grazie.

simo2409
13-02-06, 23:52
No devi farlo a livello di demone (server), è da specificare nel file sshd_config (mi pare si chiami così).

notorious
14-02-06, 00:33
Riguardo a velocizzare la connessione, viaggio via cavo a 10 Mega... forse per questo non mi occorre. Comunque grazie.
Di niente :wink:
Forse ti ridurrebbe anche la velocità, visto che dal passaggio a VNC liscio a VNC criptato, in rete locale passo da 20 Mbps a circa 6 Mpbs, quindi se non ti interessa la "sicurezza", lascia stare ;)

No devi farlo a livello di demone (server), è da specificare nel file sshd_config (mi pare si chiami così).
Proprio quello... domani guardo che opzione gli devo dare e poi posto le modifiche da fare al file :wink:

simo2409
15-02-06, 12:08
Dato il tempo disponibile (causa malattia) ho sbirciato il file, confermo che è


/etc/ssh/sshd_config

per forzare la versione 2 devi cambiare la riga

Protocol 2,1

con

Protocol 2

:)

notorious
15-02-06, 12:38
Dato il tempo disponibile (causa malattia) ho sbirciato il file, confermo che è


/etc/ssh/sshd_config

per forzare la versione 2 devi cambiare la riga

Protocol 2,1

con

Protocol 2

:)
Grazie... io me ne ero completamente dimenticato... :sbadato: :arrossisco:

Proprio quello... domani guardo che opzione gli devo dare e poi posto le modifiche da fare al file
:sbadato: :sbadato: :sbadato: :sbadato: