terça-feira, 10 de novembro de 2009

Criando um túnel via SSH

Eventualmente estamos em lugares onde precisamos acessar alguma página e sempre tem aquele proxy chato que não deixa acessar. Com tunelamento via ssh é possível acessar servidores externos sem se preocupar.  Este mecanismo pode ser uma boa quando se precisa de acesso seguro e ter a certeza que ele não será "sniffado" na rede.

O mecanismo funciona da seguinte maneira:
  • Estabelece-se um tunel entre a sua máquina e a máquina servidora
  • Este túnel é feito utilizando algoritmos de chave pública e privada, garantindo total privacidade dos dados que trafegam por ali
O que é necessário:
  • Máquina servidora com SSH instalado e funcionando
  • A máquina cliente com client SSH
Mãos na massa:

Vou partir do principio que você já tenha um servidor SSH instalado e funcionando. Há vários tutoriais na net que explicam como instalar. Eu por exemplo, uso o ubuntu e instalei usando o comando: apt-get install ssh.


Configurando o cliente no linux:
  1. Abra o shell e digite o comando ssh <usuario>@<endereço do servidor> do servidor -D 6000
  2. A primeira vez o linux irá perguntar se deseja salvar o host na lista de hosts conhecidos, informe yes.
  3. Informe o password e pronto nosso túnel já está estabelecido
  4. Agora abre o seu navegador (eu uso o firefox), vá em editar > preferências
  5. Na aba rede, clique no botão configurar.
  6. No campo acesso a internet, selecione a opção: Configuração manual de proxy"
  7. No campo SOCKS, informe localhost e na porta, informe 6000.
  8. Clique em aplicar 
Para quem está do lado negro da força, configurando no windows:
  1. Baixe o aplicativo putty, http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html e o execute
  2. Selecione a opção session
  3. Informe o endereço do servidor no campo Host name (or IP address)
  4. Agora seleciona a opção SSH > Tunnels
  5. Informe 6000 no campo Source port e opção "Dynamic"
  6. Clique no botão add
  7. Clique no botão open
  8. Agora é só configurar o navegador conforme (passos 4,5,6 e 7) da configuração para Linux
  9. Para quem usa o IE, selecione a opção: ferramentas, opções de internet.
  10. Na aba conexões, clique no botão: definições da Lan
  11. Marque a opção: "Utilizar um servidor proxy para a rede local"
  12. Clique no botão: Avançadas
  13. No campo socks, informe: localhost e na porta informe 6000
  14. Clique em OK em seguida OK, depois Aplicar e por último OK.

Pronto agora você já acessar aquela orkut, twitter e o redtube sem ninguém te importunar.
Além de navegar, eu uso essa técnica para acessar o SVN da minha empresa, acessar o servidor de banco de dados interno... Tudo de forma segura.


Com esse artigo os administradores de rede irão contratar pistoleiros para mandar me matar, kkkk.

Um comentário:

Kinucris disse...

Olá Amigo Programador, este tipo de conexão teria compatibilidade com Sock5 ?

Eu conseguiria fazer este Tunnel para "Proxyar" minha internet como se eu estivesse acessando um site/jogo como se estivesse nos EUA?