Cloudflare Tunnel

O Cloudflare Tunnel permite um acesso remoto seguro a serviços locais via Internet, sem necessidade de forward de porta ou endereço IP público. A conexão é estabelecida pelo sistema local ao Cloudflare. Assim, redes atrás de CG-NAT ou conexões restritas podem ser acessadas com segurança.

Observações: O Cloudflare Tunnel está disponível apenas a partir do Core 2 ou superior.

Observação: O Antcas Control suporta a conexão via um próprio Tunnel e pode fornecer a visualização publicamente sem configuração.

Pré-Requisitos

Para usar o serviço, é necessário uma conta Cloudflare com um domínio gerenciado. A administração é feita automaticamente via API do Cloudflare. O token de API usado precisa ter as permissões apropriadas. Veja mais abaixo na seção Configuração.

Se o servidor estiver atrás de um firewall restritivo, deve-se garantir que conexões de saída para o Cloudflare sejam possíveis. Em particular, o acesso à porta 7844 deve ser permitido. Mais informações podem ser encontradas no link:
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/

Funcionamento

O Cloudflare Tunnel estabelece uma conexão de saída criptografada com o Cloudflare. Usuários externos acessam, em seguida, a visualização ou outra aplicação via domínio configurado. A conexão é intermediada pela infraestrutura do Cloudflare, sem necessidade de abrir portas de entrada no roteador.

A porta da aplicação é atribuída à interface de rede virtual local e publicada com segurança através do túnel.

Configuração

Existem várias opções de configuração disponíveis. Os capítulos seguintes explicam o procedimento para as diferentes configurações e casos de uso.

Configuração Gerenciada Localmente

Nesta configuração, a configuração do túnel é armazenada no Antcas Control e sincronizada com a nuvem em seguida. A vantagem desta variante é que o túnel pode ser configurado e gerenciado facilmente. No entanto, deve-se observar que todos os usuários com permissão para configurar o servidor também podem fazer alterações na configuração do túnel na nuvem.

Crie um novo token de API no perfil do usuário em sua conta Cloudflare. Este precisa ter as seguintes permissões:

Tipo Objeto Permissão
Conta Cloudflare Tunnel Editar
Zona DNS Editar

Observação: Uma zona DNS deve estar atribuída à conta para que a conta possa ser identificada.

Em seguida, um novo Cloudflare Tunnel é adicionado na Infraestrutura sob Servidor Rede VPN e Túnel. Cada túnel cria uma interface de rede virtual, como por exemplo, cf-tunnel0. Recomenda-se concluir a configuração do túnel primeiro e depois configurar as aplicações.

Atenção: Se um túnel existente for selecionado, a autenticação do túnel pode ser sobrescrita para estabelecer uma conexão. O Antcas Control suporta apenas um túnel com uma conexão simultânea ao Cloudflare.

Para a configuração automática, é necessário um token de API do Cloudflare. Com este, o Antcas Control pode recuperar, criar e gerenciar automaticamente as entradas DNS e configurações de túnel necessárias. A descrição de como criar um token de API pode ser encontrada na ajuda do Cloudflare em:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

Após o token da API ser validado, a conta e o túnel podem ser selecionados. É possível criar um novo túnel, que então receberá o nome do servidor mais o nome da interface. Por exemplo, Edifício de Escritórios - cf-tunnel0.

Observação: A configuração do túnel é feita completamente automaticamente via API. Certifique-se de que o servidor possa estabelecer uma conexão com o Cloudflare durante a configuração.

Após criar o túnel, todas as visualizações que devem ter acesso via túnel devem ser atribuídas à interface de rede. Em seguida, essas podem ser adicionadas como Aplicações ao túnel. As Aplicações estão localizadas um nível acima do Túnel configurado.

Na configuração, selecione o domínio e atribua um nome para o subdomínio. Em seguida, selecione o endpoint.

Observação: Se o nome já foi usado para outro túnel, ele não será atribuído e a conexão será estabelecida como antes. Se o nome for alterado, o Antcas Control excluirá o subdomínio, caso o ID do túnel tenha sido gerenciado pelo Antcas.

Configuração Zero Trust

Uma alternativa à configuração gerenciada localmente é a configuração Zero Trust. Nesta, a configuração é feita no console do Cloudflare e sincronizada com o Antcas Control em seguida. A vantagem desta variante é que não há acesso à configuração do Cloudflare via Antcas Control.

Para esta configuração, não é obrigatório atribuir uma porta à interface. Qualquer endereço na rede pode ser usado como endpoint. Assim, por exemplo, a porta da interface principal ou outro serviço na rede podem ser liberados. Diferentemente da configuração usual, no entanto, localhost não pode ser usado como endpoint.

Se a conexão for estabelecida sem criptografia, a opção noTLSVerify deve ser definida como TRUE no console do Cloudflare. No entanto, uma conexão não criptografada para um serviço fora do servidor não é recomendada por razões de segurança.

Para a configuração, um novo Cloudflare Tunnel é adicionado na Infraestrutura sob Servidor Rede VPN e Túnel. Cada túnel cria uma interface de rede virtual, como por exemplo, cf-tunnel0. Para a configuração, apenas o token do Zero Trust Tunnel é necessário. Este pode ser copiado diretamente do console do Cloudflare e inserido. Se o texto inserido contiver adicionalmente o comando de instalação completo, este será removido automaticamente para que apenas o token seja armazenado.