−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS

Como proteger um agente de IA self-hosted num VPS

26 de set. de 2026 · 4 min de leitura · EQVPS Team

Um app web clássico faz o que o código dele diz. Um agente de IA faz o que o código dele diz mais o que quer que o texto que ele lê o convença a fazer. Dê a ele um shell, uma chave de API e um orçamento, aponte-o para a internet aberta, e você construiu algo novo: um processo que pode ser manipulado por engenharia social. A solução não é paranoia, é o velho hábito de sysadmin do privilégio mínimo, aplicado a um programa muito falante.

Conheça as ameaças reais

Tudo o que vem a seguir torna essas coisas menos prováveis ou mais baratas quando acontecem.

1. Dê ao agente a sua própria máquina e o seu próprio usuário

Rode agentes que executam código ou navegam na web num VPS separado, não ao lado do seu banco de dados de produção. Nessa máquina, nunca como root:

adduser --disabled-password --gecos "" agent
mkdir -p /home/agent/work && chown agent:agent /home/agent/work

Nada de sudo, nada de chaves SSH para outros servidores, nenhum acesso ao que ele não precisa.

2. Coloque-o num sandbox com o systemd

O systemd consegue cercar um processo sem containers. O agente pode ler o sistema, mas só grava na sua pasta de trabalho:

# /etc/systemd/system/agent.service
[Unit]
Description=AI agent
After=network-online.target

[Service]
User=agent
WorkingDirectory=/home/agent/work
EnvironmentFile=/home/agent/.agent.env
ExecStart=/home/agent/venv/bin/python run_agent.py
Restart=on-failure
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/agent/work
PrivateTmp=yes
PrivateDevices=yes
MemoryMax=2G

[Install]
WantedBy=multi-user.target

ProtectSystem=strict torna todo o sistema de arquivos somente leitura, exceto ReadWritePaths. MemoryMax impede que uma tarefa descontrolada derrube o servidor. Confira o resultado com systemd-analyze security agent: ele dá uma nota à unidade e lista o que ainda está aberto.

3. Trate as chaves como se fossem vazar

4. Limite o que ele pode comprar

Se o agente pode gastar dinheiro, o limite precisa ficar fora dele. Na EQVPS, um agente contrata e renova servidores a partir do saldo pré-pago da conta via servidor MCP ou API REST, então o saldo é um teto rígido. Recarregue com o valor que você está disposto a perder, não com todo o seu orçamento. Dê ao agente uma conta própria se ele não precisa ver os seus outros servidores.

5. Coloque um humano antes das ações irreversíveis

Apagar dados, enviar dinheiro, fazer push na main, mandar e-mail para clientes: faça essas ações passarem por uma etapa de confirmação; uma mensagem no Telegram com um botão de aprovar já basta. Ferramentas somente leitura podem rodar livremente; ferramentas de escrita conquistam confiança aos poucos.

6. Estreite as saídas (se você conseguir conviver com isso)

Uma lista de permissões de saída torna muito mais difícil exfiltrar segredos:

ufw default deny outgoing
ufw allow out 53          # DNS
ufw allow out 443/tcp     # HTTPS APIs
ufw allow out 80/tcp      # package mirrors
ufw default deny incoming && ufw allow 22/tcp && ufw enable

Sinceramente, é a etapa que a maioria abandona: agentes que navegam precisam de HTTPS arbitrário, e aí uma lista de permissões por porta acrescenta pouco. Vale a pena para agentes que só chamam um conjunto fixo de APIs.

7. Mantenha logs e um caminho de volta

Registre cada chamada de ferramenta com os seus argumentos. Tire um snapshot antes de soltar um agente em algo novo: os Managed Backups dão pontos de restauração diários mais snapshots sob demanda, então uma tarde ruim custa uma restauração, não uma reconstrução.

A conclusão honesta

Nada disso torna um agente seguro para confiar às cegas. Torna barato errar: um agente comprometido na própria máquina, com o próprio usuário, um saldo limitado e chaves restritas, só consegue causar danos pequenos e recuperáveis. Esse é o objetivo realista. Comece pelo básico em proteger um VPS novo e depois adicione as camadas específicas para agentes descritas acima.

FAQ

Qual é o maior risco de rodar um agente de IA num servidor?

Prompt injection: o agente lê um texto que não escreveu (uma página web, um e-mail, um comentário numa issue) e esse texto manda ele fazer algo que você nunca pediu, como imprimir as variáveis de ambiente ou executar um comando. Todo o resto deste guia serve para limitar o estrago quando isso acontecer.

O agente deve rodar como root?

Nunca. Dê a ele um usuário próprio sem privilégios e sem sudo, e restrinja onde ele pode gravar com o sandbox do systemd. Se ele for enganado e executar um comando destrutivo, só consegue danificar a própria pasta de trabalho.

Como evito que um agente gaste demais?

Use limites rígidos que fiquem fora do agente: tetos de gasto nas chaves do seu provedor de modelos e um saldo pré-pago para tudo que ele pode comprar. Na EQVPS, um agente gasta do saldo da conta, então o próprio saldo é o teto: recarregue com o que você aceita perder, não mais.

Dá para bloquear prompt injection por completo?

Não: hoje não existe filtro confiável para isso. O que funciona é reduzir o raio de impacto: ferramentas com privilégio mínimo, confirmação humana para ações destrutivas ou pagas, nenhum segredo no contexto do agente e logs que você possa revisar.

Vale a pena um VPS separado para um agente?

Sim, se o agente executa código ou navega na web. Uma máquina pequena e dedicada o mantém longe dos seus bancos de dados, de outros projetos e de credenciais. Se ele for comprometido, você reconstrói um servidor, não todo o seu setup.

← Voltar ao blogVer planos e preços →

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.