Deixar o log do kernel só para administradores

Risco baixo Marcada por padrão no IbexWall Catálogo revisado em: 2026-11-05

O log do kernel pode revelar endereços e detalhes do hardware. Só um administrador pode lê-lo.

Por que importa

O registro do kernel guarda mensagens de drivers, detalhes de hardware e às vezes endereços de memória. Qualquer usuário ou programa local normalmente pode lê-lo com o dmesg, então um aplicativo comprometido pode descobrir coisas que ajudam a atacar o kernel. Restringir mantém esses detalhes com os administradores.

Como funciona

Define kernel.dmesg_restrict como 1. Ler o buffer circular do kernel com o dmesg passa a exigir a capacidade CAP_SYSLOG, que o root tem. As mesmas mensagens ainda chegam a quem pode ler o journal do sistema, por exemplo membros do grupo adm.

Quem deve usar

Bom para computadores compartilhados e para quem quer limitar o que um programa sequestrado pode descobrir. Deixe desligado se usuários comuns numa máquina de desenvolvimento dependem de rodar dmesg sem sudo.

O que você pode notar

Rodar dmesg como usuário comum falha com Operation not permitted. Use sudo dmesg, ou journalctl -k se sua conta pode ler o journal.

Verifique no seu computador

Leia o valor atual:

sysctl kernel.dmesg_restrict

Aplique à mão

Defina agora (até a próxima reinicialização):

sudo sysctl -w kernel.dmesg_restrict=1

Mantenha após reinicializações, em um arquivo seu:

sudo tee /etc/sysctl.d/90-kernel-dmesg-restrict.conf <<'EOF'
kernel.dmesg_restrict = 1
EOF
sudo sysctl --system

Desfaça

Remova o arquivo e reinicie, ou volte ao valor antigo com sysctl -w.

Configurações relacionadas

Fontes

Linux Hardening Guide (madaidans)
2.2.1
Linux kernel documentation
kernel.dmesg_restrict