Tunelamento e encaminhamento de portas

Tunelamento e encaminhamento de portas
O processo de redirecionamento de tráfego de rede de uma porta para outra porta é chamado de encaminhamento ou tunelamento de porta. O encaminhamento de portas oferece inúmeras vantagens, eu.e., Pode ser usado para comunicação segura entre dois sistemas. Também pode ser usado para comunicações que não são possíveis nos casos em que uma porta foi bloqueada, mas precisa ser acessada local ou remotamente. Este artigo fornece uma breve visão geral do tunelamento e encaminhamento de porta no tráfego de rede local e remotamente usando técnicas diferentes, i i.e., SSH Tunneling, Rinetd, Ngrok.

Como funciona o tunelamento?

O tunelamento é um mecanismo que protege diferentes serviços, desativando -os a serem acessados ​​diretamente de fora da rede. Envolve receber tráfego em uma porta e encaminhá -lo para outra porta e pode ser feito local ou remotamente. O tunelamento é uma técnica de redirecionamento por porta que usa túneis criptografados no protocolo SSH. O tunelamento é um tipo de comunicação entre dois dispositivos de rede usando uma conexão SSH. SSH pega a solicitação de serviço do cliente para o host e depois cria uma conexão que carrega a solicitação para o outro lado da conexão. Do outro lado da conexão SSH, a solicitação é descriptografada para ser enviada ao servidor de aplicativos no sistema remoto.

Rinetd

Rinetd é um utilitário que permite ao usuário encaminhar o tráfego de rede de uma porta para outra porta. É uma das portas mais comuns que encaminham utilitários por causa de sua natureza fácil de usar.

Por exemplo, considere um cenário em que o servidor RDP (192.168.0.10) na porta 3389 é inacessível devido a um bloqueio em todo o tráfego de saída do sistema de escritório (192.168.0.15) Exceto pela porta 80, e há outro sistema doméstico (192.168.0.20), também.

A situação pode utilizar o sistema doméstico como um proxy com a ajuda de Rinetd, de modo que recebe uma conexão de um endereço IP e a porta e a encaminhará para outro endereço IP e número da porta. No sistema doméstico, configure o arquivo de configuração RineTD da seguinte forma:

#bindaddress #bindport #connectaddress #connectport
192.168.0.20 80 192.168.0.10 3389

Na máquina do escritório (192.168.0.15), tente se conectar ao RDP no IP: Port (192.168.0.20:80). O sistema doméstico receberá a conexão em (192.168.0.20:80), mas devido ao encaminhamento da porta, encaminha a conexão com o servidor RDP (192.168.0.10) na porta 3389. Portanto, o servidor RDP está acessível a partir do sistema de escritório, mesmo que todo o tráfego de saída seja bloqueado.

Ngrok

Ngrok fornece sincronização em tempo real do que está funcionando na localhost de alguém. Ele permite que o site que esteja sendo executado em nossa localhost atrás de Nat e Firewalls seja acessado pelo público pela Internet por túneis seguros. Digamos que estamos desenvolvendo um site e testando -o em nossa localhost na porta 4444. Queremos compartilhar com outra pessoa para fins de demonstração. Podemos compartilhar via github e outros métodos.

Mas levará muito tempo para implantar, e as mudanças não ocorrerão em tempo real em todos os lugares. Com o NGrok, qualquer alteração no host localizador enviará uma atualização no final de todos. NGrok é um serviço de várias plataformas disponível para download em seu site oficial.

Por exemplo, um site em execução no host local: 8080 pode ser tornado publicamente acessível por qualquer pessoa com um link de URL. Use o seguinte comando para gerar um URL público:

ubuntu@ubuntu: ~ $./ngrok http 8080

SSH Tunneling

O SSH Tunneling é a melhor maneira de túneis de portas de um sistema de clientes para um sistema de servidor e vice -versa. Para usar o SSH para túnel as portas, o cliente e o servidor devem ter o SSH configurado. Existem três tipos de tunelamento ssh, eu.e., Encaminhamento de porta local, encaminhamento de porta remota, encaminhamento dinâmico de porta.

Encaminhamento de porta local

O encaminhamento local de portas é uma técnica de disponibilizar recursos remotos localmente. Esses recursos podem ser proibidos ou colocados atrás de um firewall para restringir o acesso local.

Sintaxe:

ubuntu@ubuntu: ~ $ ssh -l :: nome de usuá[email protected]

Considere um cenário em que uma área de trabalho remota precisa ser integrada a um computador doméstico do sistema de escritório. Mas a porta 3389 (RDP) está bloqueada devido a razões de segurança. Para acessar a porta RDP, use o tunelamento SSH para encaminhar portas de bloco para uma desbloqueio diferente de um número de porta. Isso pode ser feito usando o seguinte comando:

ubuntu@ubuntu: ~ $ ssh -l 4444: 192.168.0.2: 3389 [email protected]

Agora, na configuração do RDP, o localhost pode ser escrito no lugar de um nome de IP ou host com a coluna do número de porta 4444 para acessar o RDP doméstico.

Encaminhamento de porta remota:

O encaminhamento de porta remota é uma técnica para acessar recursos locais remotamente. Digamos que uma empresa queira que um funcionário trabalhe no escritório e restringe o acesso remoto do sistema Office bloqueando a porta RDP (3389). Nesse caso, o encaminhamento de porta remota pode ser útil. No sistema do escritório, use o seguinte comando:

ubuntu@ubuntu: ~ $ ssh -r 4444: localhost: 3389 [email protected]

Isso estabelecerá uma conexão. Agora, o computador de trabalho pode ser acessado a partir do sistema doméstico usando o RDP inserindo localhost no lugar de um nome de host ou host com coluna de número de porta 4444 na configuração do RDP.

Encaminhamento de porta dinâmica:

O encaminhamento dinâmico de porta permite que se toce várias portas. Nesse tipo de encaminhamento, o SSH age como um servidor proxy. Digamos que os funcionários possam acessar a Web na porta 80 do sistema de escritório devido a uma restrição de firewall. O encaminhamento dinâmico de portas pode ajudar a navegar na web na porta 80 a partir de casa. Use o seguinte ssh comando:

ubuntu@ubuntu: ~ $ ssh -d 4444 [email protected]

O comando acima cria um proxy de meias, que requer configuração do navegador da web. Para o Firefox, vá para configurações e clique em "Abra as configurações de proxy". Digite localhost na coluna proxy de meias e o número da porta especificada.

Sempre que o endereço for digitado na barra de URL, ele será enviado ao número da porta especificado através do SSH Tunnel e recebido em nosso sistema doméstico.

Conclusão

O tunelamento e o encaminhamento de portas podem ser usados ​​para acessar o tráfego de rede nos firewalls com segurança. Os túneis SSH garantem que os dados em trânsito viajam através de um túnel seguro para que não possam ser escutas ou capturadas. Ele também permite configurar conexões VPN e acessar os dados anonimamente ou de um local seguro ou inacessível devido a um firewall. O artigo discute diferentes cenários que exigem o uso de um mecanismo que ajuda a acessar os recursos desejados local ou remotamente através de Rinetd, NGrok e SSH Tunneling.