PDA

View Full Version : Connessione ssh attraverso il firewall..........


stefanoxjx
19-05-2007, 09:20
Esiste un modo di eseguire una connessione ssh bypassando il firewall.
Cerco di spiegarmi meglio!!!
Come molti di voi sapranno, le connessioni Fastweb non permettono di accedere dall'esterno se non si acquista anche un ip statico.
A me servirebbe connettermi via ssh ad alcune macchine che stanno dietro la rete Fastweb e mi domandavo se è possibile fare una cosa simile all'assistenza remota di Windows richiesta direttamente dall'utente tramite msn.
In poche parole, a me servirebbe che l'utente che necessita di assistenza mi mandi una richiesta che in qualche modo renda disponibile il suo sistema alla connessione ssh.
Spero di essermi spiegato!!!

Devil!
19-05-2007, 10:51
prova con Hamachi (https://secure.logmein.com/products/hamachi/default.asp)

se installato su un pc esterno alla rete Fastweb e su un pc interno ad essa, crea fra i 2 client una VPN UDP based con la quale sei in grado di bypassare il NAT di Fastweb

Pardo
19-05-2007, 17:18
ssh tunnelling..

basta che fai collegare l'utente a te, con un tunnel da $PORTA_A_CASO remota a 22 locale

dopo di che, tu ti colleghi su $PORTA_A_CASO locale e sei sulla 22 sua

stefanoxjx
19-05-2007, 17:42
ssh tunnelling..

basta che fai collegare l'utente a te, con un tunnel da $PORTA_A_CASO remota a 22 locale

dopo di che, tu ti colleghi su $PORTA_A_CASO locale e sei sulla 22 sua

Interessante.
Provo a vedere.
Grazie!!

stefanoxjx
19-05-2007, 17:43
prova con Hamachi (https://secure.logmein.com/products/hamachi/default.asp)

se installato su un pc esterno alla rete Fastweb e su un pc interno ad essa, crea fra i 2 client una VPN UDP based con la quale sei in grado di bypassare il NAT di Fastweb

Verifico anche questo!
Grazie.

HexDEF6
19-05-2007, 19:49
hamachi sicuramente e' una buona soluzione, riesce a mettere in contatto diretto 2 pc entrambi dietro nat senza dover redirigere alcuna porta...
altrimenti basta che chi e' in fastweb faccia quello che ha detto pardo, che tradotto vuol dire:

ssh -R 2000:127.0.0.1:22 login@tuamacchina

(ovviamente devi fargli un'account sulla tua macchina)

cosi in questa maniera se tu fai un:

ssh loginremoto@127.0.0.1 -p 2000

ti colleghi alla macchina remota....

Comunque sia se vuoi velocizzare la cosa e specialmente se la macchina remota e' windows, e nel 99% dei casi vuol dire che l'utente non sa nemmeno cos'e' un ssh, ti riconsiglio hamachi (c'e' sia per win sia per linux che per mac), peccato che non esista un programma simile a sorgente aperto, sarei molto curioso di sapere come funziona il protocollo...

Ciao

stefanoxjx
19-05-2007, 22:14
hamachi sicuramente e' una buona soluzione, riesce a mettere in contatto diretto 2 pc entrambi dietro nat senza dover redirigere alcuna porta...
altrimenti basta che chi e' in fastweb faccia quello che ha detto pardo, che tradotto vuol dire:

ssh -R 2000:127.0.0.1:22 login@tuamacchina

(ovviamente devi fargli un'account sulla tua macchina)

cosi in questa maniera se tu fai un:

ssh loginremoto@127.0.0.1 -p 2000

ti colleghi alla macchina remota....

Comunque sia se vuoi velocizzare la cosa e specialmente se la macchina remota e' windows, e nel 99% dei casi vuol dire che l'utente non sa nemmeno cos'e' un ssh, ti riconsiglio hamachi (c'e' sia per win sia per linux che per mac), peccato che non esista un programma simile a sorgente aperto, sarei molto curioso di sapere come funziona il protocollo...

Ciao

Ti ringrazio, proverò quanto prima!!!
Comunque, stiamo parlando di sole macchine linux..... per fortuna!!!

stefanoxjx
29-05-2007, 13:37
Ho fatto una prova sulla mia rete interna e sembra funzionare, a parte con il server che non capisco il perchè mi chiede in continuazione la password ma con questo meccanismo non mi fa accedere.
Poco importa, approfondirò quando avrò un po' più tempo.
Quello che mi interessava capire ora è se esiste la possibilità di bloccare nella sua cartella home l'utente che si logga alla mia macchina con ssh -R 2000:127.0.0.1:22 login@tuamacchina, in modo che non possa andare a vedere il contenuto della mia macchina linux.
Probabilmente basterà attribuire all'utente un gruppo già esistente nel sistema ma non so quale.
Qualche consiglio?
Grazie.
Ciao.

Pardo
29-05-2007, 19:08
si puo` mettere al posto della shell un programma che non fa niente..

oppure fare una chroot, mi pare che ssh permetta di chrootare gli utenti automaticamente ma non l'ho mai provato

stefanoxjx
29-05-2007, 19:26
si puo` mettere al posto della shell un programma che non fa niente..

oppure fare una chroot, mi pare che ssh permetta di chrootare gli utenti automaticamente ma non l'ho mai provato

Si, ssh permette di chrootare gli utenti, però dalle ricerche che ho fatto, non è una cosa banale mentre vorrei una cosa che sia veloce e semplice da implementare.
L'idea di sostituire la shell con un programma che non fa nulla mi piace!
Faccio delle prove!
Grazie della dritta.
Ciao.

stefanoxjx
29-05-2007, 21:36
Ho fatto le prove e il metodo della shell che non fa nulla funziona molto bene :)

Scopiazzando un po' dall'how-to di HexDEF6, ho creato questo script:

#!/bin/bash

while [ 1 ]; do echo "SSH attivo! Premere CTRL+C per interrompere la connessione!"; sleep 30; done


Quindi quando qualcuno si collega con l'utente specifico, vedrà il messaggio SSH attivo! Premere CTRL+C per interrompere la connessione!" ripetuto ogni 30 secondi.
Questo, generà anche il traffico necessario affinchè la connessione non vada in timeout.
Credo che una soluzione più veloce ed indolore di così :D
Ora sto cercando di capire se questo sistema può presentare delle falle di sicurezza.
Ho dato al file un bel chmod 500 che credo sia cosa buona e giusta, per il resto al momento non mi viene in mente altro che possa fare per la sicurezza!!!