SabeTudo · Protect · guia técnico do ambiente

Tudo o que o servidor precisa, em linguagem direta.

Para a equipe de TI do cliente. Na maioria dos ambientes tudo isto já está pronto; quando não está, o ajuste é pequeno. Quem quer só o essencial pode ficar no resumo.

Como funciona

Um agente no servidor, conexão só de saída

O SabeTudo lê os dados do sistema de gestão (ERP) direto do banco de dados, monta uma base organizada e a envia para a nuvem PowerDBA, onde as respostas ficam prontas. O Protect usa o mesmo caminho para backup e rotinas de DBA. Quem faz esse trabalho no servidor é o agente PowerDBA, um único programa (processo platom) que roda como serviço do sistema.

O agente é quem inicia todas as conexões. Ele se conecta à nuvem, se identifica com certificado próprio e fica aguardando instruções por esse canal. Por isso não há porta aberta para a internet, não há VPN e não há usuário externo logando no servidor.

Servidor

Onde o agente é instalado

No mesmo servidor onde o banco de dados roda. Precisa de pouco recurso.

ItemRequisito
Sistema operacional (Linux)Debian 11 ou mais novo, Ubuntu 20.04 ou mais novo, RHEL / Rocky / Alma 8 ou mais novo. Arquitetura x86_64 ou arm64. Com systemd.
Sistema operacional (Windows)Windows Server 2016 ou mais novo, para bancos SQL Server. Instalação feita pela nossa equipe junto com o administrador.
Espaço em discoCerca de 50 MB para o agente. Área temporária para a extração dos dados: em geral 2 a 5 GB livres em /var/lib/platom ou no volume de dados.
Memória e CPUSem exigência extra. Em repouso o agente usa alguns MB; durante a extração, o consumo é o de uma consulta comum ao banco.
Pacotes (Linux)curl e sudo. Se faltarem, o instalador pede; por isso o acesso aos repositórios precisa estar funcionando.
Privilégio na instalaçãoUma pessoa com root (ou sudo) executa um único comando. Depois disso o agente roda com um usuário próprio (platom), sem privilégio de root.
RelógioHora sincronizada (NTP). Certificados e agendamentos dependem disso.
Nome do servidorQualquer um. O nome é escolha do cliente e não precisa ser exclusivo: identificamos cada servidor pelo par cliente + host, então nomes repetidos entre clientes não atrapalham.

Rede

Só saída, iniciada pelo servidor

Nenhuma porta de entrada é necessária, nem redirecionamento no roteador.

Para quêDestinoPorta
Instalação, atualizações do agente e envio da basetom.powerdba.com.br (via Cloudflare, IP variável)TCP 443obrigatório
Canal do agente (mensagens, TLS mútuo, conexão permanente)mqtt.powerdba.com.br = 216.238.126.107TCP 41883obrigatório
Armazenamento em nuvem (base e cópias de segurança)*.r2.cloudflarestorage.comTCP 443obrigatório
Suporte remoto (túnel de saída)frp.powerdba.com.br = 216.238.126.107; vps2.powerdba.com.br = 187.60.212.28 / 177.155.125.81TCP 7000obrigatório
Repositórios de atualização do sistemaEx.: deb.debian.org, security.debian.org, archive.ubuntu.com, mirrors Red Hat; Windows UpdateTCP 80 / 443obrigatório

Texto pronto para o pedido de firewall:

Liberar conexões de SAÍDA do servidor de banco de dados para:
  - 216.238.126.107                                    TCP 41883  (agente PowerDBA, TLS mútuo, conexão persistente)
  - tom.powerdba.com.br e *.r2.cloudflarestorage.com   TCP 443
  - 216.238.126.107, 187.60.212.28, 177.155.125.81     TCP 7000   (suporte remoto)
Nenhuma porta de ENTRADA é necessária.

Outros pontos que costumam importar

  • DNS funcionando no servidor (resolver nomes externos).
  • Proxy: se a rede obriga proxy HTTP, ele precisa estar configurado no sistema (http_proxy / https_proxy) e no apt ou yum. Proxies que inspecionam TLS precisam liberar os destinos acima sem interceptação; o canal do agente usa certificado próprio e não funciona atrás de interceptação.
  • Velocidade: o instalador baixa cerca de 20 MB. Links lentos funcionam, só demoram.
  • Filtro por domínio: se o firewall decide por nome de site, e não só por porta, inclua tom.powerdba.com.br na lista de permitidos. Liberar o endereço IP não resolve, porque o serviço fica atrás de Cloudflare e o endereço muda.
  • Nenhuma porta de entrada, nem para o suporte: a porta 7000 é destino, não escuta. Quem abre a conexão é o servidor do cliente, e o suporte trafega por dentro dela.

Sistema operacional

Atualizado, continuamente

Condição permanente, não só do dia da instalação. O agente, o banco de dados e as bibliotecas de segurança dependem de um sistema em dia.

  • Linux: os repositórios oficiais acessíveis e o índice em dia (apt-get update / dnf check-update sem erro). Recomendamos atualizações de segurança automáticas (unattended-upgrades no Debian/Ubuntu, dnf-automatic no RHEL) e uma janela mensal para o restante.
  • Windows: Windows Update ativo, com patches mensais aplicados. O servidor de SQL Server segue o mesmo ritmo.
  • Versões com suporte: sistema dentro do prazo de suporte do fabricante. Fora de suporte não recebe correções, e com o tempo o agente deixa de ser atualizável nele.
  • Reinicializações: quando o kernel ou o Windows pedir, agendar. O agente volta sozinho após o boot.

Na prática: um servidor com o índice do apt parado há meses não conseguiu instalar nem o curl, porque o pacote listado já não existia no repositório. Um apt-get update resolveu. É o tipo de coisa que a atualização contínua evita.

Acesso remoto para suporte

SSH é para emergência, não para o dia a dia

Toda a operação normal passa pelo agente: comandos, rotinas e até um terminal pelo painel PowerDBA, tudo registrado em auditoria.

O SSH entra quando o agente parou e não há como reativá-lo por dentro. Nesse caso chegamos ao servidor por um túnel de saída (o servidor se conecta ao nosso concentrador, nunca o contrário) que encaminha para a porta 22 local. Sem um sshd no servidor, esse caminho de emergência deixa de existir.

Não é preciso abrir a porta 22 para ninguém. O sshd escuta apenas em 127.0.0.1, que é um socket local, não uma regra de firewall. Quem conecta nele é o programa de túnel rodando na mesma máquina, e o tráfego sai pela conexão que ele já mantém aberta com o nosso concentrador. Nenhuma máquina da rede do cliente, e ninguém na internet, alcança essa porta: numa varredura de rede ela não aparece.

Três formas de atender à política do cliente, da mais recomendada para a menos:

recomendada SSH ligado só no endereço local

O sshd escuta apenas em 127.0.0.1, aceita somente chave, nunca senha. Ninguém na rede do cliente, nem na internet, alcança a porta 22. Só o túnel de saída, rodando no próprio servidor, chega nela. Para uma varredura de rede, a porta não existe.

meio-termo SSH desligado, ativado sob demanda

O serviço fica desabilitado. Em emergência, uma rotina auditada do painel sobe um sshd temporário no endereço local, com prazo (por exemplo 2 horas), e ele encerra sozinho. Exposição permanente zero; caminho de emergência preservado.

mínimo Somente o agente

Sem SSH. Funciona enquanto o agente funciona. Se ele parar, alguém do cliente precisa intervir no console. Aceitável, desde que todos saibam dessa limitação.

Trecho de configuração para a opção recomendada (/etc/ssh/sshd_config.d/powerdba.conf):

ListenAddress 127.0.0.1
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password

Para servidores Windows, o acesso de emergência é combinado caso a caso (RDP pela rede do cliente, ou encaminhamento pelo servidor Linux da mesma rede).

Banco de dados

Acesso local, pelo mecanismo nativo de cada produto

Não precisa abrir a porta do banco para fora.

BancoComo o agente acessaO que o SabeTudo precisa
IBM Db2Como o usuário da instância (ex.: db2inst1), via sudo restrito instalado pelo instalador.Leitura nas tabelas do ERP.
PostgreSQLComo o usuário postgres do sistema.Leitura nas tabelas do ERP.
SQL ServerConexão local com um login dedicado, definido junto com o administrador.Leitura nas tabelas do ERP.
MySQL / MariaDBConexão local com usuário dedicado.Leitura nas tabelas do ERP.

Com o Protect (backup e rotinas de DBA), o agente usa as ferramentas nativas de backup de cada banco e precisa de espaço em disco para as cópias locais, definido na implantação.

Instalação

Um comando, como root

A PowerDBA envia o comando com um código de instalação de uso único, válido por alguns dias.

curl -fsSL https://tom.powerdba.com.br/releases/latest/install.sh | bash -s -- \
  --client-slug=NOME-DO-CLIENTE --bootstrap-token=CODIGO --server-url=https://tom.powerdba.com.br

O que o comando faz, em ordem: baixa o agente, cria o usuário platom, instala uma regra de sudo restrita aos usuários dos bancos, registra o servidor na nuvem PowerDBA (recebe seu certificado) e ativa o serviço. Leva de 1 a 5 minutos, conforme o link. Ao final aparece ✓ platom instalado e rodando!

Depois disso a PowerDBA conclui o restante pelo painel: reconhece os bancos, configura a extração e valida os primeiros dados. O cliente não precisa fazer mais nada no servidor.

Para conferir a qualquer momento:

systemctl status platom
journalctl -u platom -n 20 --no-pager

Situações comuns

O que já vimos, e como resolver

SintomaCausa provávelSolução
curl: comando não encontradoServidor mínimo, sem o pacote.apt-get update && apt-get install -y curl sudo (ou dnf install curl sudo).
404 Not Found ao instalar pacoteÍndice do apt desatualizado ou proxy de apt antigo.apt-get update. Se persistir, verificar /etc/apt/apt.conf.d/ por proxy e trocar o mirror.
Serviço reinicia a cada 25 s com mqtt connect timeoutSaída TCP 41883 bloqueada no firewall.Liberar 216.238.126.107:41883. O agente conecta sozinho assim que liberar.
Registro falha com bootstrap_token expiradoCódigo de instalação venceu.Pedir um novo código à PowerDBA e repetir o comando.
Console do Proxmox / VMware não aceita colarConsole gráfico não compartilha área de transferência.Entrar por SSH a partir de outra máquina da rede, ou digitar em duas linhas curtas.
Teclado troca caracteres no consoleLayout de teclado diferente entre console e servidor.loadkeys us ou loadkeys br-abnt2 no servidor; ou usar SSH.
Downloads do tom.powerdba.com.br travam sem erro, mas o restante da internet funcionaFirewall filtra HTTPS por domínio: a conexão abre e o handshake é descartado.Incluir o domínio na lista de sites permitidos. Teste: curl -sS --max-time 20 https://tom.powerdba.com.br/releases/latest/install.sh devolve tempo esgotado com zero bytes.
Download muito lentoLink ou rota lenta.Deixar completar, ou baixar com retomada: curl -C - -o /tmp/p URL.

Checklist

Antes da instalação

  • Sistema operacional em versão suportada e atualizado; apt-get update (ou equivalente) roda sem erro.
  • Saída TCP 443 para tom.powerdba.com.br e *.r2.cloudflarestorage.com.
  • Saída TCP 41883 para 216.238.126.107.
  • Saída TCP 7000 para os concentradores de suporte (se a política de acesso remoto for adotada).
  • DNS e hora (NTP) funcionando no servidor.
  • curl e sudo instalados, ou repositório acessível para instalar.
  • Pessoa com root disponível para rodar um comando (5 minutos).
  • Política de SSH definida (recomendada: escuta só em 127.0.0.1, só chave).
  • Se o firewall filtra por domínio, tom.powerdba.com.br está na lista de permitidos.

Voltar ao resumo