ztna-conexao-ssh
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ztna-conexao-ssh [2025/01/05 22:48] – removed - external edit (Unknown date) 127.0.0.1 | ztna-conexao-ssh [2025/01/15 08:59] (current) – alicino | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Passo-a-Passo Conexão SSH via Cloudflare Zero Trust ====== | ||
| + | |||
| + | |||
| + | by Alicino Moura | ||
| + | |||
| + | Updated on Jan 14th, 2025 | ||
| + | |||
| + | **Considerações Iniciais** | ||
| + | |||
| + | Este passo-a-passo se refere a conexão a um servidor remoto através do protocolo SSH utilizando o recurso da Cloudflare Zero Trust. Os passos são um modelo adaptado da documentação disponível no link abaixo. | ||
| + | |||
| + | Este é um dos modelos disponíveis dentro da solução de Zero Trust que pode ser utilizado. A Cloudflare recomenda outros 3 modelos que podem ser verificados aqui. | ||
| + | |||
| + | Vale lembrar que a Cloudflare não recomenda o acesso via SSH através de usuário/ | ||
| + | |||
| + | Documentação oficial: https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 1. Criação dos pares de chaves SSH ===== | ||
| + | |||
| + | Abra o terminal da máquina cliente Linux e faça a criação do par de chaves SSH | ||
| + | |||
| + | Exemplo: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Não necessita entrar nenhum dado adicional se não desejar, como passphrase e etc. | ||
| + | |||
| + | Verifique a criação das chaves com o comando: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Em seguida veja o conteúdo da chave pública criada (arquivo com extensão .pub) | ||
| + | |||
| + | '' | ||
| + | |||
| + | Guarde este dado. Iremos copiá-lo para o servidor que iremos nos conectar mais adiante. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 2. Criação da Máquina Virtual " | ||
| + | |||
| + | Esta ação é opcional, caso já tenha criado o servidor para esta finalidade. | ||
| + | Caso ainda não tenha, verifique o modelo de criação dentro do ambiente que está hospedando, como por exemplo: | ||
| + | |||
| + | Google Cloud: https:// | ||
| + | |||
| + | Azure: https:// | ||
| + | |||
| + | AWS EC2: https:// | ||
| + | |||
| + | Oracle Cloud: https:// | ||
| + | |||
| + | |||
| + | Observação: | ||
| + | |||
| + | **Importante: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 3. Conectar o servidor a Cloudflare (cloudflared tunnel) ===== | ||
| + | |||
| + | |||
| + | O próximo passo é criar uma conexão via tunnel do servidor criado no seu ambiente cloud ou on-prem com a Cloudflare. Para isso iremos utilizar o cloudflared. | ||
| + | |||
| + | Acesse o seu painel de gerenciamento da Cloudflare em https:// | ||
| + | |||
| + | Em seguida vá no menu lateral esquerdo e clique na sequência: //**Zero Trust > Networks > Tunnels > + Create a Tunnel**// | ||
| + | |||
| + | Defina um nome para o túnel que você está criando. | ||
| + | |||
| + | Selecione a opção do Sistema Operacional Linux (Debian ou Red Hat), em seguida a arquitetura (32 ou 64 bit) e copie o comando disponível no quadrado em cinza, lado esquerdo, conforme abaixo: | ||
| + | Por questão de segurança, todo o comando não será exibido, mas sim copiado. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Execute este comando no terminal do servidor e aguarde o retorno de que foi executado com sucesso. Vide exemplo: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Neste momento você verá dentro do ambiente do túnel uma conexão criada na parte inferior da tela, conforme abaixo. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Clique na aba "// | ||
| + | |||
| + | **Importante: | ||
| + | |||
| + | * O IP deve ser da rede interna do seu ambiente (caso tenha mais que um). | ||
| + | * Para conexão de uma máquina apenas, informe o IP com o CIDR /32 (1 host) | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Clique em "// | ||
| + | |||
| + | Você verá o seu tunnel na listagem (caso tenha mais já criados) | ||
| + | |||
| + | Exemplo: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 4. Conexão da máquina cliente (opcional) ===== | ||
| + | |||
| + | Esta etapa é sobre a criação do WARP dentro da máquina do cliente para acesso ao servidor através do controle da rede da Cloudflare. | ||
| + | |||
| + | Caso não tenha executado ainda, siga os passos abaixo: | ||
| + | |||
| + | Para registrar seu dispositivo usando a GUI WARP (Windows, macOS ou Linux): | ||
| + | |||
| + | * Baixe e instale o cliente WARP. Clique aqui para download. | ||
| + | |||
| + | * Inicie o cliente WARP. | ||
| + | |||
| + | * Selecione o logotipo do Cloudflare na barra de menu. | ||
| + | |||
| + | * Selecione o ícone de engrenagem. | ||
| + | |||
| + | * Vá para Preferences > Account | ||
| + | |||
| + | * Selecione Login com Cloudflare Zero Trust | ||
| + | |||
| + | * Insira o nome da sua equipe | ||
| + | |||
| + | * Conclua as etapas de autenticação exigidas pela sua organização. | ||
| + | |||
| + | Após a autenticação, | ||
| + | |||
| + | * Selecione Abrir Cloudflare WARP.app para concluir o registro. | ||
| + | |||
| + | O dispositivo agora está protegido pelas políticas Zero Trust da sua organização. | ||
| + | |||
| + | Vamos agora adicionar Permissões de registro de dispositivos. | ||
| + | |||
| + | No menu lateral esquerdo, vá em //**Zero Trust > Settings > Warp Client**// | ||
| + | |||
| + | Clique em //" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Na aba de " | ||
| + | Clique em " + Add a rule " | ||
| + | |||
| + | Dê um nome em //" | ||
| + | |||
| + | Em //" | ||
| + | |||
| + | No Include, faça conforme o modelo abaixo: | ||
| + | |||
| + | Selector: //Emails ending in// | ||
| + | |||
| + | Value: '' | ||
| + | |||
| + | Clique em //" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ---- | ||
| + | |||
| + | |||
| + | ===== 5. Rotear IPs da rede privada através do WARP (agente) ===== | ||
| + | |||
| + | |||
| + | Esta etapa é importante, pois habilita ou bloqueia as redes dentro da conexão do ambiente pelo Warp. | ||
| + | |||
| + | Por padrão, o WARP exclui o tráfego destinado aos endereços IPs usados em redes privadas e não acessíveis pela Internet. Para que tenha tráfego dentro de sua rede privada, devemos configurar um modelo de Split Tunnels para que o IP/CIDR de sua rede privada seja roteada por meio do Warp. | ||
| + | |||
| + | Verifique o modo de //Split Tunnels// no seu ambiente de rede. | ||
| + | |||
| + | Vá no menu lateral esquerdo em //**Zero Trust > Settings > Warp Client**// | ||
| + | |||
| + | Vá em //Device Settings//, veja o modelo //Default// criado e clique nos __três pontos__ e em seguida //" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Role a tela até a opção //" | ||
| + | |||
| + | Em seguida clique em //" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Verifique os ranges de IPs listado. | ||
| + | |||
| + | Caso o IP do seu servidor esteja dentro de algum range, clique na opção e delete ele da lista para que o Warp possa trafegar com este endereço. | ||
| + | |||
| + | Neste meu exemplo (vide abaixo), foi necessário deletar o range 10.0.0.0/8, pois o meu servidor possui o IP **10.206.xx.xx** | ||
| + | |||
| + | Clique o item, vá mais acima, escolha //Action// e //Confirm delete// (1 selected) | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 6. Conexão com usuário ===== | ||
| + | |||
| + | |||
| + | Agora iremos realizar a conexão ao servidor através da máquina cliente que instalamos o Warp. | ||
| + | |||
| + | Em resumo, nós realizamos as atividades: | ||
| + | |||
| + | - Criamos uma chave de segurança para estabelecer a conexão segura; | ||
| + | - Criamos a instância (servidor) para qual iremos nos conectar e copiamos a chave pública SSH para ela | ||
| + | - Estabelecemos a conexão do servidor à Cloudflare via cloudflared (tunnel) | ||
| + | - Instalamos e configuramos o Warp na máquina cliente | ||
| + | - Realizamos o split de tunnel para redes privadas no tráfego dentro da Cloudflare | ||
| + | |||
| + | E agora vamos realizar a conexão ao servidor. | ||
| + | Utilizando o PuTTY, um terminal do ambiente (tipo WSL) ou similar, digitamos o comando abaixo: | ||
| + | |||
| + | '' | ||
| + | |||
| + | Lembre-se: o IP do servidor é sempre o IP interno da rede privada. Geralmente começando com 10.x.x.x ou 172.16.x.x ou 192.168.x.x | ||
| + | |||
| + | Realizando todas estas etapas, o servidor receberá a solicitação e irá dar entrada ao ambiente pelo terminal utilizando os pares de chaves SSH gerados na etapa 1. | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | --- // | ||
| + | |||
