Sin volcados de memoria de programas con privilegios
Un programa que falla y se ejecuta con derechos adicionales ya no escribe su memoria, que puede contener secretos, en un archivo.
Por qué importa
Cuando un programa que corre con derechos extra, como sudo o passwd, cae, el kernel puede guardar su memoria en un archivo. Esa memoria puede contener contraseñas, claves o hashes, y un archivo dejado en un sitio legible se lo entrega a quien lo encuentre. No escribir el volcado elimina esa fuga.
Cómo funciona
Fija fs.suid_dumpable en 0, el comportamiento tradicional: los procesos que cambiaron de nivel de privilegio o son de solo ejecución no generan volcado. Los otros modos (1 y 2) permiten volcados a propósito para depurar, y el modo 1 es inseguro según la documentación del kernel.
Quién debería usarlo
Bueno para cualquier máquina que no depure programas setuid. Los desarrolladores tras un fallo en una herramienta setuid pueden activarlo temporalmente.
Qué puedes notar
Nada en el uso normal. La caída de un programa privilegiado no deja archivo core ni informe, lo que solo importa si quieres investigar esa caída.
Compruébalo en tu equipo
Lee el valor actual:
sysctl fs.suid_dumpable Aplícalo a mano
Establécelo ahora (hasta el próximo reinicio):
sudo sysctl -w fs.suid_dumpable=0 Consérvalo tras los reinicios, en un archivo tuyo:
sudo tee /etc/sysctl.d/90-fs-suid-dumpable.conf <<'EOF'
fs.suid_dumpable = 0
EOF
sudo sysctl --system Deshazlo
Elimina el archivo y reinicia, o vuelve a poner el valor anterior con sysctl -w.
Ajustes relacionados
Fuentes
- Linux Hardening Guide (madaidans)
- 2.2.3
- Linux kernel documentation
- fs.suid_dumpable