Restringir os eventos de desempenho

Risco médio Não marcada por padrão Catálogo revisado em: 2026-11-05

Só administradores podem observar o sistema inteiro. O que a CPU e o kernel fazem continua medível para os seus próprios programas, mas um programa seu não alcança mais a maquinaria de medição do kernel.

Por que importa

A interface de eventos de performance permite que programas meçam o que a CPU e o kernel fazem. Ela coloca muita código do kernel ao alcance de usuários comuns e já teve muitas vulnerabilidades. Apertá-la reduz o que um atacante local pode tocar.

Como funciona

Define kernel.perf_event_paranoid como 2. Pela documentação do kernel, usuários sem CAP_PERFMON não podem mais fazer profiling do kernel nem usar tracepoints brutos ou eventos de toda a CPU, mas continuam medindo seus próprios programas em espaço de usuário. Algumas distribuições têm níveis mais rígidos.

Quem deve usar

Bom para desktops e servidores onde ninguém faz profiling de código. Muitas distribuições já usam 2 ou mais. Desenvolvedores que usam perf no kernel ou no sistema inteiro devem deixar como está, ou usar sudo.

O que você pode notar

perf record para amostras do kernel ou do sistema falha com uma mensagem que cita perf_event_paranoid. Medir seu próprio programa em espaço de usuário normalmente continua funcionando no nível 2.

Verifique no seu computador

Leia o valor atual:

sysctl kernel.perf_event_paranoid

Um valor mais restritivo que este também serve.

Aplique à mão

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

sudo sysctl -w kernel.perf_event_paranoid=2

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

sudo tee /etc/sysctl.d/90-kernel-perf-events.conf <<'EOF'
kernel.perf_event_paranoid = 2
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.perf_event_paranoid