Segurança & Transparência — SuperDMZ

Última atualização: 1 de junho de 2026

Esta página explica em detalhe técnico como o SuperDMZ trata o tráfego que passa pelos túneis, quais dados ficam acessíveis aos nossos servidores e quais são opacos por design. Complementa a Política de Privacidade: a política responde "que dados pessoais coletamos"; esta página responde "o que acontece com o tráfego dos seus túneis".

1. Visão geral da arquitetura

O SuperDMZ é um serviço de túneis reversos: você roda um client leve dentro da sua rede interna, ele abre uma conexão de saída (WebSocket sobre TLS) até um dos nossos nodes públicos, e visitantes externos passam a chegar até o serviço local sem que você precise de IP público ou abrir portas no firewall.

O caminho do tráfego é:

Modo HTTP / HTTPS — TLS termina no nosso edge

O certificado público *.dmzgate.com é negociado no nginx do node. O conteúdo passa em memória RAM, não é gravado em disco nem indexado.

Visitante
browser público
🔒 TLS público
Node SuperDMZ
nginx → Go server
🔒 WebSocket TLS
Seu client
na sua LAN
loopback
Serviço interno
127.0.0.1:3000…
Modo TCP (SSH, RDP, MySQL…) — opaco por design

O nginx repassa bytes brutos. O servidor não decifra o payload — TLS feito pelo seu serviço atravessa de ponta a ponta.

Visitante
SSH / RDP / etc.
🔒 TLS do seu serviço
Node SuperDMZ
passa cifrado
via WS TLS
Seu client
na sua LAN
end-to-end
Serviço interno
sshd, mysqld…

Cada node público é uma máquina dedicada em uma região (atualmente São Paulo, Virgínia, Frankfurt e Tóquio). Toda comunicação cliente-node viaja por TLS 1.2/1.3.

2. Tunnel HTTP / HTTPS — o que o servidor pode ver

Para túneis HTTP, o certificado público (*.dmzgate.com, emitido pela Let's Encrypt) termina no nginx do node. Isso é arquiteturalmente igual ao Cloudflare Tunnel e ao ngrok — não é específico do SuperDMZ. Em consequência:
  • O conteúdo do request (URL, headers, body) existe em memória RAM no node pelo tempo necessário para ser encaminhado ao seu client (tipicamente milissegundos).
  • Esse conteúdo não é gravado em disco, não é indexado, não é logado em texto claro. Os logs de acesso (nginx) registram apenas metadata operacional: timestamp, método HTTP, path, status, bytes de entrada e saída, tempo de resposta, IP de origem.
  • Cookies, headers de autenticação (Authorization, Cookie) e body do POST nunca aparecem nos logs.
  • Tokens internos do SuperDMZ (que o client usa pra autenticar no node) são mascarados automaticamente antes de qualquer log.

Implicação honesta: tecnicamente, um operador malicioso com root no node poderia interceptar o conteúdo em RAM enquanto ele está sendo encaminhado. Isso vale para qualquer serviço de túnel reverso com TLS terminado no edge (ngrok, Cloudflare Tunnel, localtunnel). Para cenários onde isso é inaceitável (PCI-DSS, dados médicos, segredos corporativos sensíveis), recomendamos o modo TCP descrito abaixo.

3. Tunnel TCP (SSH, RDP, MySQL, etc.) — opaco por design

Para túneis TCP, o servidor não enxerga o conteúdo. O nginx repassa bytes brutos para o Go server, que os encaminha pelo WebSocket TLS até o seu client — sem interpretação, sem parsing, sem decifração de payload.
  • SSH, RDP, MySQL e qualquer protocolo TCP que já carregue sua própria criptografia (incluindo TLS feito pelo seu próprio serviço) chega ao destino cifrado de ponta a ponta.
  • O SuperDMZ vê apenas: porta de origem/destino, contagem de bytes, timestamp de início/fim da conexão.
  • É o modo recomendado para qualquer carga regulada (saúde, financeiro, segredos industriais) e para administradores de TI que precisam acessar máquinas internas sem entregar a chave em nenhum ponto da cadeia.

4. HTTPS passthrough (BYO certificate) — roadmap

Para clientes que precisam de HTTPS público sem TLS terminado no nosso edge, está no roadmap a opção de passthrough: o nginx do node faz apenas SNI routing e os bytes TLS criptografados são repassados até o seu serviço interno, que apresenta o próprio certificado. Sem ETA público; pergunte por e-mail se for crítico para o seu caso.

5. O que NÃO logamos (regra explícita)

  • Body de request ou response.
  • Headers Authorization, Cookie, Set-Cookie, X-Auth-Token e variantes conhecidas.
  • Query strings sensíveis (chaves de API passadas via URL — embora desencorajado, são mascaradas antes de log).
  • Tokens internos do SuperDMZ trocados entre client e node (mascarados via filtro de log antes de chegarem a qualquer arquivo).
  • Conteúdo de túneis TCP de qualquer natureza.

Logs de nginx têm retenção de 14 dias. Logs de auditoria do painel (login, criar/editar/deletar túnel) têm retenção de 90 dias. Detalhes na Política de Privacidade.

6. Hardening dos nodes

  • SSH com autenticação por senha apenas para usuário não-privilegiado. Login root via SSH desabilitado em todos os nodes.
  • Firewall (UFW) com whitelist mínima: 22/tcp (SSH), 80/tcp (HTTP→HTTPS redirect + Let's Encrypt), 443/tcp (HTTPS público + WebSocket de clients).
  • fail2ban com banimento progressivo para tentativas de força bruta em SSH e no painel admin.
  • Atualizações de segurança automáticas (unattended-upgrades).
  • Resolver DNS travado em 1.1.1.1 / 1.0.0.1 (Cloudflare) + 9.9.9.9 (Quad9). /etc/resolv.conf com flag chattr +i para resistir a sobrescrita por cloud-init.
  • Painel administrativo em path não-óbvio e protegido por rate-limit, 2FA, CSRF token em todos os POSTs e IP-ban automático em sequência de tentativas falhas.
  • Segredos sensíveis (chave Stripe, senha SMTP, token GoDaddy) cifrados em repouso no banco com chave fora do versionamento.

7. Disponibilidade, redundância e ausência de SLA

Postura honesta sobre infraestrutura: hoje operamos 4 nodes ativos (São Paulo, Virgínia, Frankfurt e Tóquio). Cada tunnel fica fixado em um node escolhido pelo cliente na criação.

Failover hoje é manual. Se um node ficar offline, o procedimento é repointar o A record do node na Cloudflare para outro IP saudável (alteração de DNS com TTL 60s) — os clients reconectam automaticamente quando o DNS atualiza. Tempo típico de detecção + ação: 5 a 30 minutos, dependendo do horário.

Não vendemos SLA contratual. O plano Business inclui suporte prioritário (resposta inicial em até 4h em dia útil) — não inclui crédito de downtime garantido. Promessa de SLA exige histórico medido, e estamos coletando esses dados antes de publicar um número que possamos defender. Falamos sobre isso na seção de auditorias externas: preferimos transparência radical a vender promessa que não temos como cumprir.

Status público em tempo real: superdmz.com/status — mostra o estado de cada node (online/offline) e incidentes recentes, com auto-refresh a cada minuto.

No roadmap de disponibilidade: failover automático via health-check + reescrita de DNS pela API da Cloudflare; histórico de uptime mês a mês na página de status; publicação do SLA assim que tivermos 6 meses de dados consistentes.

8. Senha, 2FA e proteção de conta

  • Senhas armazenadas como hash bcrypt com cost factor recomendado pela indústria. Nunca em texto claro, nem mesmo em log de erro.
  • 2FA atualmente disponível: código de 6 dígitos por e-mail (opcional, por usuário).
  • Roadmap próximo: 2FA via TOTP (Google Authenticator, Authy, Aegis) e Passkeys/WebAuthn — vide seção "Roadmap de segurança" abaixo.
  • Alteração do e-mail principal exige código no novo e-mail + alerta no e-mail antigo com link de "bloquear conta agora" (janela de 7 dias).
  • Exclusão de conta com janela de recuperação de 48h por link de e-mail antes da purga definitiva.

9. Roadmap de segurança

Itens publicamente comprometidos para os próximos ciclos:
  • 2FA por TOTP (RFC 6238): setup com QR code, backup codes, e-mail como fallback de recovery.
  • Passkeys / WebAuthn: autenticação sem senha resistente a phishing, alinhada com FIDO2.
  • HTTPS passthrough (SNI routing): permite TLS sem terminação no edge SuperDMZ (BYO certificate).
  • Cliente open-source: código do client Go publicado para auditoria por quem rodar o binário dentro da própria rede.
  • Changelog público de segurança: CVEs internos e fixes documentados em /changelog.
  • Self-host completo de assets: remover dependências CDN remanescentes (fontes, ícones, Tailwind) servindo tudo do nosso domínio — alinhado com a política de zero rastreamento de terceiros.

Sem SLA público por enquanto. Esta seção será atualizada conforme cada item entrar em produção.

10. Reportar uma vulnerabilidade

Encontrou uma falha de segurança? Agradecemos o report responsável.

O que pedimos: não explore além do necessário para confirmar a vulnerabilidade, não acesse dados de outros usuários, e nos dê uma janela razoável para corrigir antes de divulgação pública. Em troca: resposta inicial em até 5 dias úteis, crédito público (se desejado) e meses gratuitos de plano pago como agradecimento — proporcional à severidade.

11. Sobre auditorias externas

O SuperDMZ ainda não possui certificações como SOC 2 Tipo II, ISO 27001 ou ISAE 3402. Somos um serviço pequeno e independente; certificações desse tipo têm custo e overhead operacional incompatíveis com o estágio atual do produto. Em vez de fingir auditoria que não temos, optamos pela transparência radical: arquitetura documentada nesta página, código do cliente caminhando para open-source e canal aberto para reports de vulnerabilidade. Quem precisa de fornecedor com SOC 2 hoje, sabemos que ainda não somos a melhor opção — e dizemos isso com clareza.