1
VPN_Network_Architecture
Antigravity AI Agent edited this page 2026-05-11 06:00:21 +02:00

🛡️ Arquitetura da Rede VPN e Segurança Zero-Trust

Este documento explica o funcionamento da rede privada virtual (VPN) que interconecta as instâncias de VPS do ecossistema Clube67 de forma segura.


🔒 Princípio de Segurança: Isolamento de Movimentação Lateral

Por motivos rígidos de segurança digital e boas práticas de rede corporativa:

  1. Nenhum Servidor de Produção (como a VPS 1) possui portas de bancos de dados ou serviços críticos expostas diretamente para a internet pública.
  2. Isolamento de Credenciais (Zero-Trust): As VPSs não possuem chaves SSH automáticas e irrestritas para acessar umas às outras sem controle. Isso impede que, caso um hacker ou malware consiga comprometer a aplicação na VPS 1, ele obtenha acesso de controle imediato para alterar códigos na VPS 4 (Build) ou ler/deletar o banco de dados principal na VPS 3 (Data).
  3. Orquestrador de Fluxo Assíncrono: Em vez de conexões diretas síncronas entre servidores, o Gitea (VPS 3) e o Servidor de Deploy (VPS 4) atuam como as pontes controladoras de fluxo de estado de forma assíncrona.

🌐 Mapeamento de IPs na Rede VPN (WireGuard)

A VPN funciona em uma faixa de IP isolada, permitindo que as máquinas se comuniquem internamente de forma criptografada por meio de portas UDP seguras configuradas com o protocolo WireGuard:

                       [ VPN WireGuard privada ]
                     Subrede: 10.99.0.0 / 24
                                 │
         ┌───────────────────────┼───────────────────────┐
         ▼                       ▼                       ▼
   [ VPS 1: App ]         [ VPS 3: Data ]         [ VPS 4: Build ]
     10.99.0.1              10.99.0.3               10.99.0.4

📋 Mapeamento de Conexões e Serviços por IP

📶 VPS 1 — Servidor de Aplicação (10.99.0.1)

  • Serviços Ativos na VPN: Porta do Nginx reverso e SSH restrito.
  • Acesso do Backend: O backend do NewWhats (que roda em container Docker nesta máquina) conecta-se de forma direta e segura ao banco de dados PostgreSQL apontando para o IP da VPN: DATABASE_URL=postgresql://deploy:senha@10.99.0.3:5432/newwhats
  • Acesso ao Cache: O backend conecta-se ao DragonflyDB apontando para: REDIS_URL=redis://10.99.0.3:6379

📶 VPS 3 — Servidor de Dados e Repositórios (10.99.0.3)

  • Serviços Ativos na VPN:
    • PostgreSQL (porta 5432 - escutando apenas na interface 10.99.0.3).
    • DragonflyDB (porta 6379 - escutando apenas na interface 10.99.0.3).
    • Gitea (porta 3000 / SSH 22 - gerenciamento Git).
  • Segurança: Portas de dados cruciais (Postgres e Cache/Redis) são totalmente invisíveis e inacessíveis a partir da internet externa, bloqueando qualquer tentativa de força bruta de IPs desconhecidos.

📶 VPS 4 — Servidor de Build / Automação (10.99.0.4)

  • Serviços Ativos na VPN: SSH interno para o builder iniciar comandos locais.
  • Acesso ao Git: O repositório git local aponta para o endereço seguro da VPS 3: ssh://git@10.99.0.3/ruicesar/clube67_newwhats.local.git
  • Despacho de Build: Realiza comandos rsync de alta velocidade e criptografados pela VPN direcionados à pasta local da VPS 1 (10.99.0.1) para implantar as builds geradas.

🛠️ Comandos de Diagnóstico e Rede Úteis

Se você precisar testar se a VPN está ativa e saudável a partir de qualquer uma das máquinas:

# Verificar se as outras VPSs estão respondendo na VPN
ping 10.99.0.1 -c 3
ping 10.99.0.3 -c 3
ping 10.99.0.4 -c 3

# Testar se a porta do banco de dados na VPS 3 está aberta e escutando
nc -zvw3 10.99.0.3 5432

# Testar conexão com o DragonflyDB/Redis na VPS 3
nc -zvw3 10.99.0.3 6379

O isolamento por WireGuard garante alto desempenho de tráfego, baixíssima latência e criptografia robusta a nível de kernel para toda a infraestrutura da plataforma Clube67!