VPS sem logs: configure um servidor VPN que nada registra

Dificuldade: Intermédio 8 min de leitura Atualizado: 18.07.2026 9
VPS sem logs: configure um servidor VPN que nada registra
Quando voce roda sua propria VPN, o ganho de privacidade e que nenhuma empresa registra seu trafego. Mas um servidor Linux padrao ainda guarda registros proprios - logs do sistema, historico de login SSH, historico do shell. Este guia reduz um VPS a uma configuracao genuinamente sem logs, passo a passo, e e honesto sobre os limites.

O que de facto fica registado num servidor

O apelo de ter o seu proprio VPN e simples: nenhuma empresa fica entre voce e a internet a anotar o que voce faz. Mas um servidor Linux comum continua a manter os seus proprios registos e, se quer uma configuracao genuinamente sem logs, precisa de saber quais sao:

  • O proprio WireGuard nao mantem nenhum log de trafego. Por padrao, nao escreve nada sobre as suas ligacoes no disco. Mantem apenas na memoria a hora do ultimo handshake e o seu endpoint atual, que voce ve com wg show - e isso e apagado ao reiniciar. Portanto, a camada VPN ja esta limpa.
  • O sistema operativo e a parte barulhenta. O journal do systemd (journald) regista eventos de servicos. Se o rsyslog estiver instalado, tambem escreve ficheiros em texto simples como /var/log/syslog e /var/log/auth.log - e o auth.log regista cada login SSH. Ficheiros separados (wtmp, btmp, lastlog) rastreiam quem fez login e quando, e a sua shell mantem um ~/.bash_history.
  • E alguns caminhos mais silenciosos ate ao disco. Se o servidor tiver swap ligado, o kernel pode despejar paginas de RAM - incluindo chaves - para o disco. Um programa que rebenta pode deixar um core dump da sua memoria. E o gestor de pacotes escreve logs de atualizacao em /var/log/apt. Uma configuracao cuidadosa tambem fecha estes.
Este guia assume um servidor Ubuntu 22.04 ou 24.04 novo, e que voce ja configurou o WireGuard (veja o nosso guia Como configurar o seu proprio VPN WireGuard num VPS). Execute tudo o que se segue como root.

O limite honesto: o que o sem-logs pode e nao pode fazer

Antes de tocar em nada, seja claro sobre o que esta realmente a comprar. Desligar os logs impede o seu proprio servidor de manter registos - portanto, se o disco alguma vez for apreendido, copiado ou lido por alguem que entre, ha muito menos para encontrar. Isso e um ganho real e valioso.

O que ele nao faz e esconde-lo da empresa que lhe aluga o servidor. O seu fornecedor de VPS sempre sabe que existe uma maquina naquele IP, pode ver quanta largura de banda ela movimenta e poderia, em principio, observar o trafego ao nivel da rede ou do hypervisor - nenhuma definicao dentro do seu servidor muda isso. O sem-logs trata de minimizar a sua propria pegada, nao de se tornar invisivel para o anfitriao. Escolha um fornecedor com o qual se sinta confortavel e trate os passos abaixo como uma reducao de risco, nao como uma eliminacao dele.

Sem-logs nao e uma garantia de anonimato. Dois limites que nenhuma definicao do servidor pode mudar:

  • O seu fornecedor ve os IPs que se ligam. O conteudo esta encriptado, mas eles conseguem ver que o IP da sua casa alcancou a porta do WireGuard, e quando.
  • O seu fornecedor pode capturar a RAM. Um VPS e uma maquina virtual; o anfitriao controla o hypervisor e pode capturar a memoria em tempo real (as chaves ativas do WireGuard e os peers ligados) e pode ser obrigado a entrega-la a policia mediante um pedido legal valido.

Conclusao: voce e dono do software, nao da maquina. O sem-logs reduz o seu risco, nao o elimina.

E um servidor dedicado (bare-metal)? Ele remove o hypervisor, portanto nao ha um despejo de memoria silencioso com um so comando - uma melhoria genuina. Mas ainda assim nao e uma garantia: o fornecedor e dono da maquina fisica e da rede. Ele continua a ver os IPs que se ligam e, porque tem acesso fisico mais gestao out-of-band (IPMI / BMC, um controlador separado com a sua propria ligacao de rede), a RAM em execucao ainda pode ser alcancada - por exemplo, atraves de um ataque cold-boot ou DMA. Um servidor dedicado aumenta o esforco necessario, nao remove a necessidade de confiar no seu anfitriao.

Passo 1: Mover o journal do systemd para a RAM

Primeiro, diga ao journald para manter o seu journal apenas na memoria, para que nunca chegue ao disco e desapareca a cada reinicio. Abra a sua configuracao:

nano /etc/systemd/journald.conf

Na seccao [Journal], defina estas duas linhas (remova o # inicial se estiver presente):

[Journal]
Storage=volatile
RuntimeMaxUse=16M

Aplique e o journal passa a viver em /run (RAM), limitado a 16 MB e apagado ao reiniciar:

systemctl restart systemd-journald

Passo 2: Colocar todo o /var/log na RAM

O journal ja esta na memoria, mas varias ferramentas continuam a largar ficheiros em texto simples em /var/log - o rsyslog, o auth.log que regista os logins SSH, os logs de atualizacao do apt e os registos de login wtmp/btmp/lastlog (que continuam a ser reescritos a cada login, por isso simplesmente apaga-los nao adianta nada). A solucao limpa e abrangente e montar todo o diretorio /var/log como um tmpfs - um sistema de ficheiros assente em RAM que e apagado a cada reinicio. Adicione uma linha ao /etc/fstab:

echo "tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,mode=0755,size=50M 0 0" >> /etc/fstab

Agora tudo em /var/log vive na memoria e esvazia-se a cada reinicio. Reinicie uma vez para que os servicos em execucao reabram os seus ficheiros de log dentro do novo disco em RAM:

reboot
Uma ressalva: como /var/log e apagado ao reiniciar, qualquer software que voce adicione depois e que espere a sua propria subpasta de logs (um servidor web, por exemplo) pode precisar que essa pasta seja recriada. Para uma maquina que so corre o seu VPN, isto nao e um problema.

Passo 3: Desligar o swap

Se o servidor tiver o swap ativado, o kernel pode empurrar paginas de RAM - possivelmente incluindo chaves ativas - para o disco quando a memoria fica escassa. Numa maquina sem-logs, voce quer que a memoria fique na memoria. Desligue o swap agora e mantenha-o desligado entre reinicios:

swapoff -a
sed -i.bak '/\sswap\s/s/^/#/' /etc/fstab

Muitos VPS pequenos vem sem nenhum swap - nesse caso, o swapoff -a simplesmente nao faz nada, o que esta bem.

Passo 4: Desligar os core dumps

Se um programa rebentar, o systemd-coredump pode escrever um core dump - um instantaneo da memoria desse programa - no disco, em /var/lib/systemd/coredump/. Desligue-o:

mkdir -p /etc/systemd/coredump.conf.d
printf '[Coredump]Storage=none' > /etc/systemd/coredump.conf.d/99-nolog.conf
systemctl daemon-reload

Passo 5: Desligar o historico da shell e do editor

A sua shell guarda cada comando em ~/.bash_history, e os editores deixam os seus proprios rastos (~/.viminfo, ~/.lesshst). Aponte-os todos para /dev/null para que nada seja escrito. Para o utilizador atual:

ln -sf /dev/null ~/.bash_history
ln -sf /dev/null ~/.viminfo
ln -sf /dev/null ~/.lesshst

Depois, impeca o bash de manter um ficheiro de historico para cada login shell no sistema, de modo que outras contas fiquem tambem cobertas:

printf 'unset HISTFILEexport HISTSIZE=0' > /etc/profile.d/00-nohistory.sh

Se tiver outras contas de utilizador, repita as tres linhas ln -sf tambem para cada uma das suas pastas pessoais.

Passo 6: Manter a protecao contra intrusoes - voce nao esta cego

Um mito comum e que desligar os logs o deixa indefeso. Nao tem de ser assim. O fail2ban - a ferramenta que bane um IP apos varias tentativas de login falhadas - pode ler diretamente do journal do systemd, que agora vive na RAM. Assim, voce mantem a protecao automatica contra forca bruta sem escrever nada no disco. Instale-o:

apt install fail2ban -y

Aponte-o para o journal criando o /etc/fail2ban/jail.local com:

[DEFAULT]
backend = systemd

Depois, reinicie-o e, para alem disso, feche as portas obvias:

systemctl restart fail2ban
  • Apenas chaves SSH. Desative o login por password em /etc/ssh/sshd_config (PasswordAuthentication no) e reinicie o ssh. Uma chave nao pode ser adivinhada como uma password.
  • Firewall fechada por padrao. Mantenha o ufw a permitir apenas o SSH e a sua porta do WireGuard (51820/udp), com todo o resto negado.
  • Atualizacoes de seguranca automaticas. Instale o unattended-upgrades; os seus logs vivem agora no /var/log assente em RAM, portanto tambem desaparecem ao reiniciar.
A ordem importa: ponha o SSH baseado em chaves a funcionar e testado num segundo terminal antes de apertar seja o que for. Se se bloquear a si mesmo do lado de fora, tem agora muito poucos logs para depurar.

Passo 7: Verificar que nada persiste

Reinicie mais uma vez, faca login de novo e verifique as quatro coisas que alterou:

mount | grep /var/log
swapon --show
journalctl --no-pager | wc -l
ls -lh /var/log

Deve ver /var/log montado como tmpfs, nenhum swap ativo, um journal quase vazio e um /var/log novo e quase vazio. A partir daqui, o servidor nao mantem essencialmente nada no disco sobre o que passa por ele.

Quando pode querer manter alguns logs

O sem-logs nao e automaticamente o certo para toda a gente. Se o servidor fizer mais do que correr o seu VPN pessoal - alojar um site, tratar do trafego de outras pessoas - pode querer um pouco de historico para detetar problemas. Boa noticia: a configuracao acima ja mantem logs de curto prazo na RAM (no journal e no tmpfs /var/log), portanto voce tem visibilidade dentro da mesma sessao sem escrever nada permanente no disco. Se precisar de mais, aumente o RuntimeMaxUse no Passo 1 ou o size do tmpfs no Passo 2. Ajuste a agressividade a forma como realmente usa a maquina.

Etiquetas: vps no logs privacy hardening self-hosted wireguard linux anonymity