Hardening do kernel Linux com sysctl, em palavras simples

Atualizado em: 2026-11-06

Sysctl é a lista de configurações que o kernel Linux em execução deixa você mudar sem recompilar. Endurecer com sysctl é escolher valores mais rígidos para as que afetam segurança. Cada configuração é pequena, e a maioria é segura. Algumas podem quebrar software que você usa, então o caminho sensato é começar pelas inofensivas e testar o resto uma de cada vez.

Como funciona

Leia um valor:

sysctl kernel.kptr_restrict

Mude até a próxima reinicialização:

sudo sysctl -w kernel.kptr_restrict=2

Mantenha entre reinicializações colocando num arquivo dentro de /etc/sysctl.d/, cujos arquivos terminam em .conf e são lidos em ordem de nome:

echo 'kernel.kptr_restrict = 2' | sudo tee /etc/sysctl.d/90-exemplo.conf
sudo sysctl --system

Funciona igual no Fedora, Ubuntu, Debian e Arch. Não edite os arquivos que a sua distribuição entrega; adicione os seus, para uma atualização não sobrescrever seu trabalho e você poder removê-los depois. Como os arquivos são lidos em ordem, um nome mais adiante vence quando dois definem a mesma chave.

Seguros para começar

Estes mudam pouco num desktop e têm benefício claro.

Alguns provavelmente já estão definidos no seu sistema. Ler o valor antes diz isso.

Os que podem quebrar coisas

Um valor mais rígido pode remover algo de que um programa precisa. Casos conhecidos:

A regra é simples: mude uma, use o computador por um dia, e deixe o resto para depois.

Como testar uma mudança

Depois de cada mudança, use a máquina como sempre usa. Abra o navegador, inicie um app Flatpak se usa, conecte à VPN, ligue um dispositivo, compile algo. Se trabalha remoto, mantenha uma segunda sessão aberta. Problemas de sysctl costumam aparecer como um programa falhando com “permission denied” ou “operation not permitted” sem causa óbvia, então, quando isso acontecer logo depois de uma mudança, desconfie dela primeiro. Mudar um valor por vez deixa o culpado óbvio e faz o desfazer ser uma linha só.

Aplicar e desfazer

Anote os valores atuais antes de mudar qualquer coisa:

sysctl kernel.kptr_restrict kernel.dmesg_restrict

Para desfazer uma mudança persistente, remova o arquivo e devolva o valor antigo, pois apagar só o arquivo não muda o kernel em execução:

sudo rm /etc/sysctl.d/90-exemplo.conf
sudo sysctl -w kernel.kptr_restrict=0

Uma reinicialização também devolve ao que os arquivos restantes e o padrão do kernel dizem. Se uma configuração quebrou algo e você não sabe qual, faça bisseção: remova metade do seu arquivo, rode sudo sysctl --system e teste.

Confira com o IbexWall

A tela de Endurecimento lista 26 configurações de kernel, rede, sistema de arquivos e módulos, cada uma com o que pode quebrar, e você marca as que quer. O plugin de hardening do kernel (system.sysctl) lê cada valor, compara com a referência e aplica a sua escolha por um plano. O plano mostra o arquivo exato, que o IbexWall escreve como /etc/sysctl.d/90-ibexwall.conf, e o diff antes de qualquer coisa acontecer. Um instantâneo é tirado antes, e o Histórico desfaz. A versão 1.0 está em preparação.

Configurações citadas neste guia