Você tem máquinas na sua rede interna que você precisa acessar do mundo exterior? Usando um host bastion como o gatekeeper para sua rede pode ser a solução.
O que é um host bastião?
Bastion traduz literalmente em um lugar que é fortificado. Em termos de computador, é uma máquina em sua rede que pode ser o gatekeeper para conexões de entrada e saída.
Você pode configurar seu host bastion como a única máquina a aceitar conexões de entrada da Internet. Então, por sua vez, defina todas as outras máquinas na sua rede, para receber apenas conexões de entrada do seu host bastião. Quais benefícios isso tem?
Acima de tudo, segurança. O host de bastiões, como o nome indica, pode ter segurança muito rígida. Será a primeira linha de defesa contra qualquer intruso e garantirá que o resto de suas máquinas esteja protegido.
Também torna as outras partes da sua configuração de rede um pouco mais fáceis. Em vez de encaminhar portas no nível do roteador, você só precisa encaminhar uma porta de entrada para o host do bastião. A partir daí, você pode se expandir para outras máquinas às quais precisa acessar em sua rede privada. Não tema, isso será abordado na próxima seção.
O diagrama
Este é um exemplo de uma configuração de rede típica. Se você precisar acessar a sua rede doméstica do lado de fora, você viria pela internet. Seu roteador encaminhará a conexão para o seu bastião. Uma vez conectado ao seu bastião, você poderá acessar qualquer outra máquina na sua rede. Da mesma forma, não haverá acesso a outras máquinas além do host de bastiões diretamente da Internet.
Chega de procrastinação, hora de usar bastião.
1. DNS Dinâmico
O astuto entre vocês pode estar se perguntando como conseguiria acesso ao seu roteador doméstico pela internet. A maioria dos provedores de serviços de Internet (ISP) atribui a você um endereço IP temporário, que muda de vez em quando. ISPs tendem a cobrar extra se você quiser um endereço IP estático. A boa notícia é que os roteadores modernos tendem a ter DNS dinâmico embutido em suas configurações.
O DNS dinâmico atualiza seu nome de host com seu novo endereço IP em intervalos definidos, garantindo que você sempre possa acessar sua rede doméstica. Existem muitos provedores que oferecem esse serviço, um dos quais é o No-IP, que até tem um nível gratuito. Esteja ciente de que o nível gratuito exigirá que você confirme seu nome de host uma vez a cada 30 dias. É apenas um processo de 10 segundos, que eles lembram de fazer de qualquer maneira.
Depois de se inscrever, basta criar um nome de host. Seu nome de host terá que ser único e pronto. Se você possui um roteador Netgear, eles oferecem um DNS dinâmico gratuito que não exige uma confirmação mensal.
Agora faça o login no seu roteador e procure a configuração dinâmica do DNS. Isso será diferente de roteador para roteador, mas se você não encontrá-lo à espreita nas configurações avançadas, verifique o manual do usuário do fabricante. As quatro configurações que você normalmente precisa inserir serão:
- O provedor
- Nome do domínio (o nome do host que você acabou de criar)
- Nome de login (o endereço de e-mail usado para criar seu DNS dinâmico)
- Senha
Se o seu roteador não tiver uma configuração de DNS dinâmico, o No-IP fornece o software que você pode instalar em sua máquina local para obter o mesmo resultado. Esta máquina terá que estar on-line, para manter o DNS dinâmico atualizado.
2. Port Forwarding ou Redirecionamento
O roteador agora precisa saber para onde encaminhar a conexão de entrada. Ele faz isso com base no número da porta que está na conexão de entrada. Uma boa prática aqui é não usar a porta SSH padrão, que é 22, para a porta voltada para o público.
A razão para não usar a porta padrão é porque os hackers têm farejadores de porta dedicados. Essas ferramentas verificam constantemente as portas conhecidas que podem estar abertas na sua rede. Quando descobrem que seu roteador está aceitando conexões em uma porta padrão, eles começam a enviar solicitações de conexão com nomes de usuários e senhas comuns.
Embora a escolha de uma porta aleatória não pare totalmente os sniffers malignos, ela reduzirá drasticamente o número de solicitações que chegam ao seu roteador. Se o seu roteador puder encaminhar apenas a mesma porta, isso não é um problema, pois você deve configurar seu host bastion para usar autenticação de par de chaves SSH e não nomes de usuários e senhas.
As configurações de um roteador devem ser semelhantes a isso:
- O nome do serviço que pode ser SSH
- Protocolo (deve ser definido como TCP)
- Porta pública (deve ser uma porta alta que não seja 22, use 52739)
- IP privado (o IP do seu host bastião)
- Porta privada (a porta SSH padrão, que é 22)
O bastião
A única coisa que seu bastião precisará é o SSH. Se isso não foi selecionado no momento da instalação, basta digitar:
sudo apt install OpenSSH-client sudo apt install OpenSSH-server
Depois que o SSH é instalado, certifique-se de configurar seu servidor SSH para autenticar com chaves em vez de senhas Como autenticar sobre SSH com chaves em vez de senhas Como autenticar sobre SSH com chaves em vez de senhas O SSH é uma ótima maneira de obter acesso remoto ao seu computador. Quando você abre as portas em seu roteador (porta 22 para ser exato) você pode não somente acessar seu servidor SSH de dentro ... Leia mais. Assegure-se de que o IP do host de bastiões seja o mesmo que o definido na regra de encaminhamento de porta acima.
Podemos fazer um teste rápido para garantir que tudo esteja funcionando. Para simular estar fora de sua rede doméstica, você pode usar seu dispositivo inteligente como um hotspot Hotspot Control: Use seu Android como um roteador sem fio Controle Hotspot: Use seu Android como um roteador sem fio Usando seu dispositivo Android como um hotspot é uma ótima maneira de compartilhar seus dados móveis com seus outros dispositivos, como um laptop ou tablet, e é super fácil! Leia mais enquanto estiver nos dados móveis. Abra um terminal e digite, substituindo pelo nome de usuário de uma conta em seu host bastion e com a configuração de endereço na etapa A acima:
ssh -p 52739 @
Se tudo foi configurado corretamente, você deve ver agora a janela do terminal do seu host bastion.
3. Tunelamento
Você pode encapsular praticamente qualquer coisa através do SSH (dentro da razão). Por exemplo, se você deseja obter acesso a um compartilhamento SMB em sua rede doméstica a partir da Internet, conecte-se ao seu host bastião e abra um túnel para o compartilhamento SMB. Realize este feitiço simplesmente executando este comando:
ssh -L 15445::445 -p 52739 @
Um comando real seria algo como:
ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]
Quebrar esse comando é fácil. Isso se conecta à conta em seu servidor através da porta SSH 52739 do seu roteador. Qualquer tráfego local enviado para a porta 15445 (uma porta arbitrária) será enviado através do túnel, então encaminhado para a máquina com o IP de 10.1.2.250 e o SMB. porta 445.
Se você quiser ser realmente inteligente, podemos aliasar o comando inteiro digitando:
alias sss='ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]'
Agora tudo que você tem que digitar no terminal em sss, e Bob é seu tio.
Depois que a conexão é feita, você pode acessar seu compartilhamento SMB com o endereço:
smb://localhost:15445
Isso significa que você poderá navegar por esse compartilhamento local da Internet como se estivesse na rede local. Como mencionado, você pode fazer um túnel em qualquer coisa com SSH. Até mesmo as máquinas Windows que têm a área de trabalho remota habilitada podem ser acessadas por meio de um túnel SSH. Como tunelar o tráfego da Web com SSH Secure Shell Como fazer um túnel para o tráfego da Web com SSH Secure Shell Leia mais.
Recapitular
Este artigo cobriu muito mais do que apenas um bastião, e você fez bem em chegar até aqui. Ter um host de bastiões significa que os outros dispositivos que possuem serviços expostos serão protegidos. Também garante que você possa acessar esses recursos de qualquer lugar do mundo. Não deixe de comemorar com café, chocolate ou ambos. Os passos básicos que cobrimos foram:
- Configurar DNS dinâmico
- Encaminhar uma porta externa para uma porta interna
- Crie um túnel para acessar um recurso local
Você precisa acessar recursos locais da Internet? Você usa atualmente uma VPN para conseguir isso? Você já usou túneis SSH antes?
Crédito de imagem: TopVectors / Depositphotos