Port forwarding con SSH
Il protocollo SSH ha l'abilità di reindirizzare arbitrariamente
connessioni di rete su una connessione criptata SSH, in modo da evitare
il trasferimento di traffico di rete in chiaro. Per esempio, si
potrebbe usare questa caratteristica per connetttere il tuo computer di
casa ad un server di posta su una macchina remota senza che la password
idi accesso sia visibile agli sniffer di rete.
Tale proprietà viene denominata "port forwarding".
Per poter usare il port forwarding per connettere la propria
macchina ad una porta su un server remoto è necessario:
- scegliere un programma che sia in grado di effettuare connessioni
ssh. In ambiente Windows la scelta più naturale è quella
del programma open source putty; in ambiente Linux openssh.
- scegliere un numero di porta sulla tua macchina locale su cui ssh
si metta in ascolto per le connessioni entranti. Si consiglia di
scegliere una porta sopra il valore di 3000
Il formato generale del comando è:
ssh -L port:host:hostport -p port -R
port:host:hostport user@hostname
Per poter effettuare il port forwarding su una macchina remota, si
dovrà usare l'opzione -L (local), specificando nel nostro
esempio port=3110, host=popserver.example.com e hostport=3110
Se analiziamo il log di una sessione siffatta, potremo osservare
qualcosa di simile:
2001-12-05 17:22:10 Local port 3110 forwarding to
popserver.example.com:110
Ora se ci si connette al numero di porta sorgente sul proprio PC, si
dovrebbe trovare che essa risponde esattamente come se fosse il
servizio attivo sulla macchcina di destinazione. Così, seguendo
l'esempio, potrebbe essere configurato un client di posta per usare localhost:3110
come POP server al posto di popserver.example.com:110.
Le porte possono essere reindirizzate anche nell'altra direzione:
fare in modo che un particolare numero di porta su una macchina server
sia indirizzata all'indietro sul proprio PC come una connessione ad un
serivizio su di esso.
L'opzione da usare sarà -R (remote)
La porta sorgente sarà adesso un numero di porta sul server
(notare che la maggior parte dei server non consentiranno di usare
numeri di porta sotto 1024 per questo scopo).