0Pricing
Cryptology Academy · Aula

Tunelamento SSH e Técnicas de Encaminhamento de Portas

Domine o encaminhamento de portas local, remoto e dinâmico e compreenda seus usos legítimos e sensíveis à segurança.

Tunelamento SSH e Técnicas de Encaminhamento de Portas é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Conceito de encaminhamento de porta local

O encaminhamento de porta local (ssh -L local_port:destination_host:destination_port user@ssh_server) associa uma porta à sua máquina local. O tráfego enviado para essa porta local percorre a conexão SSH criptografada até o servidor SSH, que então se conecta ao destino. Seu aplicativo local se comunica com localhost, enquanto o SSH entrega o tráfego com segurança ao destino remoto.

Caso de uso do encaminhamento local: acesso ao banco de dados

Um caso de uso comum do encaminhamento de porta local é acessar um banco de dados interno atrás de um firewall. Com ssh -L 5432:db.internal:5432 user@bastion, seu cliente PostgreSQL local se conecta a localhost:5432. O servidor bastião encaminha esse tráfego para o servidor de banco de dados interno, que de outra forma ficaria inacessível pela internet.

Conceito de encaminhamento de porta remoto

O encaminhamento de porta remoto (ssh -R remote_port:local_host:local_port user@ssh_server) associa uma porta ao servidor SSH remoto. Quando clientes externos se conectam a essa porta remota, o tráfego retorna pelo túnel SSH até sua máquina local. Isso permite expor um serviço em execução localmente ao mundo por meio de um servidor acessível pela internet.

Caso de uso do encaminhamento remoto: atrás de NAT

O encaminhamento remoto é especialmente útil quando sua máquina está atrás de NAT e não pode receber conexões de entrada diretamente. Ao criar um túnel reverso até um servidor público, você permite que clientes externos alcancem seu serviço local por meio desse servidor público. Essa técnica também é usada por algumas ferramentas de acesso remoto e sistemas de gerenciamento de dispositivos de IoT.

Encaminhamento dinâmico de portas: proxy SOCKS5

O encaminhamento dinâmico de portas (ssh -D local_port user@ssh_server) cria um proxy SOCKS5 na sua máquina local. Qualquer aplicativo compatível com SOCKS5 pode encaminhar o tráfego por esse proxy, que fará com que ele pareça ter origem no servidor SSH. Isso encaminha efetivamente sua navegação pela rede remota, sendo útil para acessar recursos com restrição geográfica ou contornar filtros da rede local.

Túneis reversos e implicações de segurança

Os túneis reversos são poderosos, mas introduzem riscos de segurança. Se um servidor permitir GatewayPorts, as portas encaminhadas remotamente ficarão acessíveis pela internet pública, e não apenas por localhost. Um invasor que comprometa uma máquina com um túnel reverso poderá alcançar serviços internos. As organizações devem monitorar túneis reversos não autorizados e restringir GatewayPorts nas configurações do SSH.

Controles de tunelamento do servidor SSH

A configuração do servidor SSH controla os recursos de tunelamento. AllowTcpForwarding controla se o encaminhamento de portas local e remoto é permitido. AllowStreamLocalForwarding controla o encaminhamento de soquetes Unix. Definir essas opções como no desativa o tunelamento para todos os usuários; você também pode restringi-las por usuário ou por grupo. Desativar encaminhamentos desnecessários reduz a superfície de ataque.

SSH como VPN com dispositivos tun

O SSH oferece suporte à criação de interfaces de rede tun para tunelamento completo de IP (ssh -w). Isso transforma o SSH em uma VPN leve na qual pacotes IP inteiros são encaminhados pelo túnel, e não apenas conexões TCP específicas. PermitTunnel deve estar habilitado no servidor. Embora essa abordagem seja menos eficiente que um software de VPN dedicado, ela não exige software adicional e aproveita a infraestrutura SSH existente.

Multiplexação de conexões

A multiplexação de conexões SSH (configurações ControlMaster e ControlPath) reutiliza uma conexão SSH existente para novas sessões. Isso acelera significativamente as conexões subsequentes com o mesmo servidor, o que é especialmente valioso em ambientes com scripts. Os túneis também podem permanecer ativos em várias sessões SSH usando a conexão compartilhada.

Detecção de túneis SSH

Os administradores de rede podem detectar túneis SSH por meio de padrões de tráfego incomuns: conexões TCP duradouras na porta 22, volumes de dados inesperadamente altos para conexões que deveriam transportar apenas tráfego de terminal ou conexões com destinos conhecidos como sensíveis após serem estabelecidas. A inspeção profunda de pacotes não consegue visualizar o conteúdo do SSH, mas a análise de metadados pode sinalizar comportamentos suspeitos de túneis.

Práticas recomendadas para configuração de túneis

Para usos autorizados, documente todos os túneis e suas finalidades. Use -N (nenhum comando) com os túneis para evitar abrir um shell desnecessariamente e -f (em segundo plano) para executá-los sem bloquear o terminal. Para túneis persistentes, use AutoSSH ou a ativação de soquetes do systemd, que reinicia automaticamente o túnel se a conexão cair.

Encaminhamento de portas local e remoto

Você deseja expor seu servidor de desenvolvimento local (em execução na porta 3000) à internet por meio de um servidor SSH público. Qual tipo de encaminhamento deve usar?

Recapitulação do tunelamento SSH

Recapitulação do tunelamento SSH: o encaminhamento local (-L) permite acessar com segurança serviços internos a partir da sua máquina, o encaminhamento remoto (-R) expõe serviços locais por meio de um servidor público, o encaminhamento dinâmico (-D) cria um proxy SOCKS5 para rotear o tráfego no nível da aplicação, o encaminhamento tun habilita uma VPN IP completa e AllowTcpForwarding no servidor controla esses recursos.

Perguntas Frequentes

A aula “Tunelamento SSH e Técnicas de Encaminhamento de Portas” é grátis?

Sim — o texto completo de “Tunelamento SSH e Técnicas de Encaminhamento de Portas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Tunelamento SSH e Técnicas de Encaminhamento de Portas”?

Domine o encaminhamento de portas local, remoto e dinâmico e compreenda seus usos legítimos e sensíveis à segurança. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Tunelamento SSH e Técnicas de Encaminhamento de Portas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Handshake do SSH e Autenticação por Chave do Host
  2. Autenticação por Chave Pública e Encaminhamento de Agente
  3. Tunelamento SSH e Técnicas de Encaminhamento de Portas
  4. Fortalecimento do SSH e Boas Práticas de Auditoria
← Voltar para Cryptology Academy