Back to blog

Como proteger seu servidor de agente de IA: firewall, SSH e hardening SSL

Um guia de segurança prático para seu VPS com OpenClaw. Abrange autenticação por chave SSH, regras de firewall UFW, Fail2Ban, certificados SSL e práticas de hardening contínuo.

K-Claw Team·05 de novembro de 2025·3 min read

Por que a segurança importa para um agente de IA pessoal

Seu servidor de agente de IA guarda algo excepcionalmente sensível: o histórico completo das suas conversas com uma IA. Perguntas de saúde, decisões de negócios, preocupações pessoais — tudo armazenado em um só lugar. Um VPS comprometido não expõe apenas um site; expõe seu contexto privado.

A boa notícia é que o hardening básico cobre a grande maioria dos vetores de ataque reais. O instalador do k-claw lida com a maior parte disso automaticamente, mas entender o que ele faz — e o que fazer a seguir — tem grande valor.

Passo 1: autenticação SSH por chave

SSH com senha é o ponto de entrada mais comum para servidores comprometidos. Mude para autenticação por chave imediatamente.

Na sua máquina local, gere um par de chaves SSH se ainda não tiver um:

ssh-keygen -t ed25519 -C "your-email@example.com"

Copie sua chave pública para o servidor:

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@YOUR_SERVER_IP

Em seguida, desabilite a autenticação por senha em /etc/ssh/sshd_config:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password

Reinicie o SSH: systemctl restart sshd

Importante: Teste uma nova sessão SSH antes de fechar a atual, para garantir que você não se bloqueou.

Passo 2: configuração do firewall UFW

UFW (Uncomplicated Firewall) é a ferramenta padrão no Ubuntu. O objetivo é permitir apenas o que você precisa explicitamente e bloquear todo o restante.

ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp    # HTTP (para os desafios do Let's Encrypt)
ufw allow 443/tcp   # HTTPS
ufw enable

O instalador do k-claw configura o UFW automaticamente. Verifique se as regras estão ativas:

ufw status verbose

Se você usa um bot do Telegram, note que OpenClaw consulta a API do Telegram (saída) em vez de exigir uma porta de webhook de entrada. Nenhuma porta adicional é necessária para o funcionamento padrão.

Passo 3: Fail2Ban para proteção contra força bruta

Mesmo com SSH baseado em chave, bots ainda tentarão conexões e encherão seus logs. O Fail2Ban bane automaticamente IPs que disparam muitas tentativas falhas.

apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

Crie uma configuração local que sobreviva a atualizações de pacotes:

# /etc/fail2ban/jail.local
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true

O instalador do k-claw configura o Fail2Ban como parte do processo de instalação.

Passo 4: certificados SSL com Let's Encrypt

Se você expõe qualquer parte do seu agente via HTTPS (um painel de administração, endpoint de webhook ou API), use um certificado TLS do Let's Encrypt — nunca certificados autoassinados em produção.

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com

Os certificados do Let's Encrypt se renovam automaticamente via um timer do systemd que o Certbot instala automaticamente. Verifique:

systemctl status certbot.timer

Passo 5: manter o sistema atualizado

Ative as atualizações de segurança automáticas para que patches críticos sejam aplicados sem intervenção manual:

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

Isso aplica atualizações de segurança automaticamente enquanto retém atualizações de pacotes não relacionadas à segurança, reduzindo o risco de mudanças disruptivas.

Passo 6: criar um usuário não-root

O instalador do k-claw cria um usuário de sistema dedicado (openclaw) com permissões restritas para executar o processo do agente. Isso é fundamental: mesmo que alguém explore uma vulnerabilidade no agente, obtém acesso apenas a essa conta restrita — não ao root.

Para seu próprio acesso SSH, crie um usuário sudo sem root e desabilite o login SSH root assim que verificar que funciona:

adduser yourname
usermod -aG sudo yourname

Em seguida, defina PermitRootLogin no no sshd_config.

Monitoramento contínuo

Após o hardening inicial, verificações periódicas mantêm você ciente do estado do servidor:

  • last — Revise o histórico recente de logins
  • fail2ban-client status sshd — Veja bans ativos e atividade recente
  • journalctl -u kclaw-* --since today — Revise os logs do agente
  • apt list --upgradable — Verifique atualizações pendentes

Um VPS devidamente protegido executando OpenClaw é tão seguro quanto qualquer servidor Linux conectado à internet pode ser. A superfície de ataque é pequena por design — nenhuma porta de banco de dados exposta, nenhuma interface web por padrão e todos os dados sensíveis criptografados em repouso.

Pick your VPS — we handle everything else.

k-claw installs OpenClaw on any Ubuntu/Debian server. Security hardening, service setup, and configuration — all automatic.

Set up my server