SSH: 05 – Criando túneis para tráfego de dados com o SSH

Um dos melhores recursos do SSH é a criação de túneis. Eles permitem acessar serviços localmente de outra máquina ou servidor. O que permite ultrapassar filtros de DNS, ou até mesmo acessar um servidor de bate-papo com retransmissão na Internet (IRC) que é segregado dentro de sua empresa, ou casa.


Ao ultrapassar bloqueio de recursos por algum administrador apenas garanta que tenha permissão para tal e que não irá sofrer penalidades.


Se você for capaz de iniciar uma conexão SSH em uma rede contendo o serviço, as possibilidades de que você abrirá com sucesso as conexões serão altas.


Ao criar um túnel, o comando muda muito. Ao invés de somente executar o comando sshhá algumas flags adicionais a serem utilizadas. Em primeiro lugar, adiciona-se a flag -L. Ela é um endereço de ligação, que basicamente significa que uma porta local estará sendo utilizada e sendo redirecionada para uma porta específica na outra ponta.


A sintaxe do comando deve ser conforme o exemplo abaixo:


ssh -L <porta-local>:localhost:<porta-remota> <usuário>@10.1.1.110


A flag -L é usada porque se pretende redirecionar uma porta local para uma outra porta remota. O comando é encaixado com dois pontos em cada lado. No lado esquerdo a porta, no lado direito o IP da máquina, dois pontos e então a porta remota. E o comando é finalizado com a sintaxe usual, que é, o nome do usuário e então o IP do gateway usado na conexão. 


Para ficar mais simples de entender, será mostrado um exemplo abaixo. Por padrão, o VNC, um programa gráfico de acesso remoto, utiliza as portas 5900-5902. Se deseja obter acesso a um ambiente de área de trabalho em uma máquina remota com um IP 10.1.1.110, use o seguinte comando:


ssh -L 5900:localhost:5901 diegohtg@10.1.1.110


Nesse caso estará sendo redirecionado a porta 5900 para uma 5901 em 10.1.1.110. Assim que a sessão conectar e ser estabelecida, o VNC poderá ser utilizado na máquina local para conectar ao serviço VNC na máquina remota:


localhost:5900


No VNC é necessário especificar qual sessão será usada, e nesse caso ela será aberta no IP 10.10.10.110, e para isso, executa-se o seguinte comando:


vncviewer localhost:1


No entanto, qual máquina ou serviço com o qual deseja-se conectar e que está por trás de um outro gateway? O exemplo anterior somente funciona com o IP 10.1.1.110, que é roteável através da Internet, ou através da mesma rede que deseja-se conectar. Esse não é sempre o caso, e de uma forma geral serviços úteis não são expostos diretamente na Internet. Por exemplo, se você está em casa e deseja conectar-se a um protocolo de uma área de trabalho remota em uma máquina na rede da sua empresa, o exemplo anterior não irá funcionar. 


Nesse exmplo, no escritório, tem-se uma máquina com acesso remoto disponível com um endereço IP 10.10.10.40. Não podemos conectar-se á ela diretamente de casa, porque ela não está roteável pela Internet. No entanto, o que acontece é que tem-se um servidor na empresa que atualmente, está disponível na Internet com um endereço IP externo 66.215.110.40. Pode-se conectar diretamente a essa máquina de casa, mas a máquina 10.1.1.40 está em uma camada mais distante do interior daquela rede. 


Nesse exemplo, será usada a máquina 66.215.110.40 para facilitar a conexão com 10.1.1.40 dentro da rede da empresa. Veja o comando abaixo:


ssh -L 3186:10.1.1.80:3187 diegohtg@66.215.110.40


Nesse exemplo, diegohtg tem uma conta de usuário na máquina 66.215.110.40 e deseja conectar à máquina 10.1.1.80, que está dentro da rede da empresa. Nesse exemplo, a porta 3186 na máquina local está sendo redirecionada para a porta 3187 na máquina remota 10.1.1.60, mas estabelecendo a conexão através do gateway 66.215.110.40. Agora, diegohtg está habilitado a abrir uma área de trabalho remota no cliente e usar o seguinte comando para a conexão com aquele endereço:


localhost:3186


Enquanto a conexão permanecer aberta, diegohtg poderá então utilizar uma área de trabalho no servidor do computador local. Se o terminal for fechado, a conexão será finalizada. 


Fique à vontade e utilize os túneis para redirecionar os serviços que bem quiser.


O próximo tutorial ensinará como gerar chaves públicas, avance clicando aqu

Leave a comment

Design a site like this with WordPress.com
Get started