Como rodar OpenClaw com segurança em VPS
Evite riscos de execução de shell no OpenClaw. Aprenda a configurar unprivileged user, firewall e systemd para mitigar falhas como a CVE-2026-32922 no seu VPS.
O que é o OpenClaw e por que endurecê-lo primeiro
O OpenClaw é um agente de IA self-hosted. Você o executa em seu próprio servidor, conecta-o a um modelo de linguagem de grande escala (LLM) e ele pode executar comandos de shell, controlar um navegador, ler e escrever seus arquivos e agir sobre as mensagens que você envia por aplicativos de chat. Esse alcance é o objetivo principal da ferramenta, e é também o seu maior risco. Um agente que pode executar qualquer comando é tão seguro quanto a máquina onde ele roda e os limites que você impõe a ele.
Dois fatos definem o tom deste guia. Primeiro, o OpenClaw foi projetado para ser endurecido por você. Seu modelo de segurança transfere a responsabilidade por políticas de ferramentas restritas, sandboxing e permissões cuidadosas para o operador, não para um padrão seguro. Segundo, o projeto já teve um incidente de segurança grave: em março de 2026, nove vulnerabilidades de segurança foram divulgadas em quatro dias, incluindo uma falha crítica de escalonamento de privilégios, CVE-2026-32922, com nota 9.9 de 10. Nenhum dos fatos significa que você deve evitar o OpenClaw. Significa que você não deve executá-lo de forma negligente, e este guia é o método cuidadoso.
Há boas notícias também. O OpenClaw já faz uma escolha segura por padrão: seu gateway, o processo único que controla tudo, escuta no endereço de loopback por padrão, portanto não é acessível pela internet, a menos que você se esforce para expô-lo. A maior parte do trabalho abaixo consiste em mantê-lo assim e limitar o raio de explosão caso algo dê errado.
Dê ao OpenClaw seu próprio usuário sem privilégios
Nunca execute um agente como root. Se o OpenClaw rodar como root e algo der errado, seja um bug, uma instrução incorreta ou uma CVE como a mencionada acima, o dano não terá limite. Crie um usuário de sistema dedicado, sem shell de login e sem sudo, e execute o agente com esse usuário:
sudo useradd --system --home /opt/openclaw --shell /usr/sbin/nologin openclawTudo o que o OpenClaw possui reside em /opt/openclaw, pertencente a essa conta. Este é o passo mais importante, e é o mesmo princípio abordado em executar serviços como um usuário sem privilégios: a conta na qual um agente é executado é o limite do que ele pode quebrar.
Instalar o OpenClaw
O OpenClaw é distribuído como um pacote npm, portanto instale o Node.js primeiro se o servidor não o tiver. Instale o pacote globalmente, o que coloca o binário openclaw no PATH para todos os usuários, e então execute a etapa de onboarding única:
sudo npm install -g openclaw@latest
sudo -u openclaw openclaw onboardExecutar o onboarding como o usuário openclaw significa que a configuração do agente ficará em seu diretório home, /opt/openclaw, e não no do root. O projeto também oferece um instalador curl -fsSL https://openclaw.ai/install.sh | bash que faz a mesma instalação em uma linha. Pule a flag --install-daemon durante o onboarding: ela registraria o próprio serviço do OpenClaw, e a unidade systemd endurecida que você construirá abaixo é mais restrita.
Mantenha o gateway no loopback, atrás de um firewall
O gateway faz o bind em 127.0.0.1 por padrão. Deixe-o lá. Quase nunca há razão para publicar essa porta na internet, e fazer isso entrega a qualquer pessoa que a encontre um ponto de entrada remoto em um processo que executa comandos constantemente.
Coloque um firewall de negação padrão (default-deny) na frente da máquina para que nada seja exposto acidentalmente:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableDuas armadilhas para evitar aqui. Um firewall que cobre apenas IPv4 pode deixar o mesmo serviço totalmente aberto no IPv6, que é exatamente a lacuna de firewall IPv6 que pega tantas pessoas. E se você precisar acessar o gateway do seu laptop, não abra a porta. Acesse via VPN ou um túnel SSH, para que o agente nunca esteja ouvindo a internet aberta.
Isole seus segredos
O OpenClaw precisa de uma chave de API para o modelo de linguagem ao qual você o conectar. Essa chave pode gastar seu dinheiro e, através do agente, agir em seu nome, portanto trate-a como uma senha. Mantenha-a fora do arquivo de unidade e fora de qualquer repositório. Coloque-a em um arquivo que apenas o usuário OpenClaw possa ler:
sudo install -o openclaw -g openclaw -m 600 /dev/null /opt/openclaw/openclaw.env
sudoedit /opt/openclaw/openclaw.env # add ANTHROPIC_API_KEY=... or your model provider's keyA unidade systemd carrega esse arquivo com EnvironmentFile, de modo que a chave chega ao processo sem nunca estar em uma linha de comando, em um log ou no histórico do seu shell.
Execute-o como um serviço systemd endurecido
Executar o agente sob o systemd oferece reinicializações automáticas, logs limpos via journalctl e, o mais importante, um conjunto de opções de sandboxing ao nível do kernel que reduzem o que o processo pode tocar, mesmo se for comprometido. As que mais importam para um agente são NoNewPrivileges para que ele nunca ganhe novos poderes, ProtectSystem=strict para que o sistema de arquivos seja apenas leitura, exceto onde você permitir escritas, PrivateTmp para seu próprio diretório temporário isolado, e ProtectHome para que ele não possa ler diretórios home.
Gere uma unidade completa e endurecida aqui, e então copie-a para /etc/systemd/system/openclaw.service:
A unidade inicia o openclaw gateway, o processo de longa duração que controla o agente; se o which openclaw mostrar um caminho diferente no seu servidor, ajuste o ExecStart para corresponder. O guia completo dessas diretivas, e de daemon-reload e enable --now, está em executar um programa como um serviço systemd. A versão curta após você colar a unidade:
sudo systemctl daemon-reload
sudo systemctl enable --now openclawEndureça a porta de entrada também
Uma máquina de agente é tão segura quanto o servidor ao redor dela. Mais duas camadas finalizam o trabalho. Mude o SSH para autenticação apenas por chave e desative o login root, como em endurecimento de SSH em um VPS, para que a conta pela qual você administra a máquina não possa sofrer brute-force. Em seguida, adicione o Fail2ban para expulsar os scanners que atacam cada porta pública. Nenhum deles toca o OpenClaw diretamente, mas ambos cortam as rotas que um atacante usaria para alcançá-lo.
Mantenha-o atualizado, de propósito
As divulgações de março de 2026 são o argumento mais claro possível para manter-se atualizado. Um bug de escalonamento de privilégios em um agente é muito mais sério do que em um app web comum, porque o agente já executa comandos. Monitore os lançamentos do projeto, aplique atualizações de segurança rapidamente e trate uma atualização do OpenClaw como manutenção de rotina, não como algo para ser adiado.
Para entender o que você está realmente endurecendo, a arquitetura de um agente estilo OpenClaw detalha as partes móveis, e construindo seu próprio agente de IA em um VPS cobre o formato geral que qualquer agente assume.
FAQ
É seguro executar o OpenClaw em um VPS público?
Pode ser, se você o endurecer. O OpenClaw é poderoso por design: ele executa comandos de shell e controla um navegador, portanto uma configuração descuidada é genuinamente perigosa, e o projeto já teve uma CVE crítica (CVE-2026-32922 em março de 2026). Seu modelo de segurança espera que você, o operador, adicione os limites. Execute-o como um usuário sem privilégios, mantenha seu gateway no loopback atrás de um firewall de negação padrão, isole suas chaves de API e execute-o como um serviço systemd endurecido.
Devo expor o gateway do OpenClaw para a internet?
Não. O gateway faz o bind no loopback por padrão, e você deve deixá-lo lá. Ele é o processo único que controla o agente, portanto um gateway exposto é um caminho remoto para algo que executa comandos constantemente. Se precisar acessá-lo remotamente, use uma VPN ou um túnel SSH em vez de abrir a porta.
Qual usuário deve executar o OpenClaw?
Um usuário de sistema dedicado, sem shell de login e sem sudo, nunca root. Se o agente for comprometido, a conta do usuário é o limite do dano, portanto essa conta deve possuir apenas seus próprios arquivos sob um diretório como /opt/openclaw e nada mais.
Como mantenho as chaves de API do OpenClaw seguras?
Armazene-as em um arquivo legível apenas pelo usuário OpenClaw (modo 600) e carregue-o no serviço com o EnvironmentFile do systemd. Mantenha a chave fora do arquivo de unidade, fora do seu histórico de shell e fora de qualquer repositório git. Rotacione-a se suspeitar que ela vazou.