Questo è un problema nel caso sia necessario da una rete aziendale raggiungere servizi diversi dal web di un'altra rete aziendale: ad esempio, se sono da un cliente, come faccio a collegarmi al mio server di sviluppo?
Il modo c'è, grazie al metodo CONNECT del protocollo HTTP. Questo metodo viene comunemente implementato dai Proxy HTTP. La sua funzionalità è quella di facilitare le comunicazioni cifrate SSL (HTTPS), permettendo a un client di fare una connessione sicura di cui il proxy non sarà in grado di registrare nessuna informazione in chiaro.
In pratica il metodo CONNECT effettua una connessione TCP ad un server remoto. Da quel momento in poi tutto il traffico sulla connessione HTTP è gestito tra il client e il server remoto, ed in pratica il metodo CONNECT permette di utilizzare il Proxy come un semplice tunnel TCP/IP. Quindi è possibile veicolare attraverso un Proxy HTTP qualunque protocollo TCP!
Ovviamente non sono l'unico a sapere questa cosa e chi configura i proxy cerca di arginare il problema. L'unico limite che normalmente viene impostato è che il metodo CONNECT è abilitato solamente sulla porta 443 (porta standard HTTPS). Nessuno vieta però di pubblicare un qualunque servizio sulla porta 443 di un server... ad esempio un server SSH.
SSH poi è un servizio/protocollo fenomenale, che già include nativamente la possibilità di effettuare tunneling verso qualunque altro servizio. Quindi se si pubblica su internet un server SSH sulla porta 443, configurandolo opportunamente può essere utilizzato come testa di ponte per arrivare a qualunque altro servizio, ad esempio un database Oracle.
Tecnicamente le cose da fare sono abbastanza poche.
- Configurare il server ssh per accettare connessioni anche sulla porta 443. Per farlo è sufficiente aggiungere la direttiva Port 443 nel file di configurazione sshd_config. Se si specificano più direttive Port, allora il server rimarrà in ascolto su tutte le porte specificate (è utile ad esempio se si vuole anche mantenere in ascolto SSH sulla porta standard).
- Pubblicare il servizio su internet (es. ssh.miodomain.it:443).
- Scaricare PuTTY. L'ultima versione disponibile (0.58) include la possibilità di effettuare una connessione attraverso un proxy HTTP.
- Aprire PuTTY e configurare una connessione:
- Session:
- Specificare l'host name del server remoto (es. ssh.miodomain.it)
- Specificare la porta (ovviamente la 443!)
- Specificare il protocollo SSH
- Connection->Proxy:
- Specificare il tipo di proxy: HTTP
- Specificare l'hostname e la porta del proxy
- Se necessario, specificare username e password per l'autenticazione sul proxy
Non fate troppi danni, eh!



0 commenti:
Posta un commento