Sem dumps de memória de programas privilegiados
Um programa que roda com direitos extras e trava deixa de gravar a memória, que pode ter segredos, em um arquivo.
Por que importa
Quando um programa que roda com direitos extras, como sudo ou passwd, cai, o kernel pode salvar a memória dele num arquivo. Essa memória pode conter senhas, chaves ou hashes, e um arquivo deixado num lugar legível entrega tudo a quem o encontrar. Não escrever o dump remove esse vazamento.
Como funciona
Define fs.suid_dumpable como 0, o comportamento tradicional: processos que mudaram de nível de privilégio ou são execute-only não geram dump. Os outros modos (1 e 2) permitem dumps de propósito para depuração, e o modo 1 é inseguro segundo a documentação do kernel.
Quem deve usar
Bom para qualquer máquina que não depure programas setuid. Desenvolvedores atrás de um crash numa ferramenta setuid podem religar por um tempo.
O que você pode notar
Nada no uso normal. A queda de um programa privilegiado não deixa core nem relatório, o que só importa se você quiser investigar essa queda.
Verifique no seu computador
Leia o valor atual:
sysctl fs.suid_dumpable Aplique à mão
Defina agora (até a próxima reinicialização):
sudo sysctl -w fs.suid_dumpable=0 Mantenha após reinicializações, em um arquivo seu:
sudo tee /etc/sysctl.d/90-fs-suid-dumpable.conf <<'EOF'
fs.suid_dumpable = 0
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.3
- Linux kernel documentation
- fs.suid_dumpable