Image default
How To

How-to: Como fazer um túnel via SSH?

Um profissional que administra servidores Linux ou Windows (ou os dois hehe) ocasionalmente pode se deparar com a seguinte situação:

A necessidade de acessar uma aplicação em um determinado servidor que está localizado em uma rede na qual o administrador não faz parte. Mas ele possui uma VPN com um servidor SSH que está na mesma rede do servidor desejado.

Como fazer?

Eis que surge o protocolo SSH, amigo de todas as horas quando o assunto é administração de servidores Linux. Com o SSH é possível fazer um túnel para um determinado servidor, mas utilizando outro servidor como ponte.

Como pode ver na imagem abaixo, o admin está em uma estação de trabalho com o IP 172.16.4.10 após ter se conectado via VPN ao servidor SSH de IP 172.16.4.200. O IP do servidor de monitoramento é o 192.168.0.10.

topologia1

Após as devidas configurações, tanto no Linux como no Windows, o servidor desejado poderá ser acessado (a partir de sua estação de trabalho) da seguinte maneira:

Servidor de monitoramento (http): http://localhost:portalocal

Outros serviços: localhost:portalocal

O localhost poderá ser substituído pelo IP 127.0.0.1 ou por outro endereço que esteja configurado na sua máquina.

E COMO É A CONFIGURAÇÃO?

No Linux

Digite o seguinte comando no terminal:

$ ssh -L 8090:192.168.0.10:80 [email protected]

Será aberta uma sessão ssh no servidor 172.16.4.200. Deixe minimizada a janela do terminal.

No exemplo escolhemos uma porta local (8090), o endereço do servidor de monitoramento (192.168.0.10), a porta em que o serviço deste servidor está esperando por conexões (80), um usuário e o IP do servidor ssh que será utilizado como ponte (172.16.4.200).

No Windows

Você pode utilizar o Putty, famoso client de ssh que possui versões para Windows e Linux. As telas que mostrarei abaixo são do Linux, mas o procedimento poderá ser executado na versão para Windows sem problemas. A mesma configuração realizada no Linux será realizada no Windows.

Preencha as seguintes informações na tela principal do Putty:

Hostname: 172.16.4.200
Port: 22 (Padrão)

Em Saved Sessions (ou sessões salvas) informe um nome para a sua conexão (coloquei teste) e clique em Save (Salvar).

Tela principal do Putty
Tela principal do Putty

Agora vamos configurar o IP do servidor de monitoramento que queremos acessar. Observando a imagem abaixo, execute os seguintes passos:

  • Clique em Connection > SSH > Tunnels;
  • Já na tela de configuração do túnel, marque as opções Local ports accept connections from others hosts e Remote ports do the same (SSH-2 only);
  • No campo Source port, digite a porta que será utilizada para acesso local. Neste caso é a 8090;
  • Em Destination, informe o IP do servidor de monitoramento, que neste caso é o 192.168.0.10;
  • Em seguida clique em Add;
Tela de configuração do túnel
Tela de configuração do túnel
  • No lado esquerdo da tela acima selecione a opção Session (Tela principal do Putty), e clique em Save, para salvar toda a configuração realizada até o momento;
  • Clique em Open para se conectar ao servidor ssh e realizar o túnel.
Tela principal do Putty
Tela principal do Putty

Conforme dissemos no exemplo do Windows, após ter se conectado no servidor ssh, a maneira que irá acessar o servidor de monitoramento ou qualquer outro é a seguinte:

Servidor de monitoramento (http): http://localhost:portalocal

Outros serviços: localhost:portalocal

O localhost poderá ser substituído pelo IP 127.0.0.1 ou por outro endereço que esteja configurado na sua máquina.

Conclusão

As possibilidades ao realizar um túnel pelo ssh são imensas. Imagine o seguinte caso: você precisa acessar determinada aplicação na Internet, mas o firewall de sua rede bloqueia a porta desta aplicação. Você pode configurar a sua máquina como um servidor ssh, e utilizá-lo como ponte para acessar a aplicação desejada. Pense nisso. Fácil não?

Espero que tenha gostado desta singela dica.

Posts similares

Coletando informações com o theHarvester

O Analista

CoffeeMiner: Hackeando redes wi-fi para minerar criptomoedas

O Analista

nShield: Uma solução Anti-DDoS baseada no iptables

O Analista
O Analista_