Desactivar los sandboxes sin privilegios (espacios de nombres de usuario)
Los espacios de nombres de usuario ofrecen a los programas normales mucho código del kernel que atacar. Desactivarlos elimina una gran parte de la superficie.
Por qué importa
Los espacios de nombres de usuario permiten que un programa normal actúe como administrador de mentira dentro de un espacio privado. Eso sirve para entornos aislados, pero también expone mucho código privilegiado del kernel a usuarios sin privilegios, y muchas escaladas de privilegios locales empezaron ahí. Apagarlos reduce esa superficie.
Cómo funciona
Fija user.max_user_namespaces en 0, así nadie puede crear espacios de nombres de usuario nuevos. Los programas que ya corren dentro de uno siguen, pero los nuevos no pueden iniciarlos.
Quién debería usarlo
Solo para máquinas cerradas donde no uses Flatpak, contenedores rootless ni navegador aislado. Para la mayoría de escritorios es una renuncia: esos entornos también te protegen, y quitarlos puede dejarte menos seguro.
Qué puedes notar
Las aplicaciones Flatpak fallan con un error de bwrap sobre crear un espacio de nombres. Chromium y Firefox pueden avisar de que su aislamiento no está disponible. Los contenedores rootless y muchos AppImages dejan de arrancar.
Compruébalo en tu equipo
Lee el valor actual:
sysctl user.max_user_namespaces Aplícalo a mano
Establécelo ahora (hasta el próximo reinicio):
sudo sysctl -w user.max_user_namespaces=0 Consérvalo tras los reinicios, en un archivo tuyo:
sudo tee /etc/sysctl.d/90-kernel-user-namespaces.conf <<'EOF'
user.max_user_namespaces = 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.1
- Linux kernel documentation
- user.max_user_namespaces