Reservar el registro del kernel para los administradores

Riesgo bajo Marcado por defecto en IbexWall Catálogo revisado: 2026-11-05

El registro del kernel puede revelar direcciones y detalles del hardware. Solo un administrador puede leerlo.

Por qué importa

El registro del kernel guarda mensajes de controladores, detalles de hardware y a veces direcciones de memoria. Cualquier usuario o programa local normalmente puede leerlo con dmesg, así que una aplicación comprometida puede enterarse de cosas que ayudan a atacar al kernel. Restringirlo deja esos detalles en manos de los administradores.

Cómo funciona

Fija kernel.dmesg_restrict en 1. Leer el búfer del kernel con dmesg pasa a exigir la capacidad CAP_SYSLOG, que root tiene. Los mismos mensajes aún llegan a quien puede leer el diario del sistema, por ejemplo los miembros del grupo adm.

Quién debería usarlo

Bueno para equipos compartidos y para quien quiera limitar lo que un programa secuestrado puede averiguar. Déjalo apagado si usuarios normales de una máquina de desarrollo dependen de ejecutar dmesg sin sudo.

Qué puedes notar

Ejecutar dmesg como usuario normal falla con Operation not permitted. Usa sudo dmesg, o journalctl -k si tu cuenta puede leer el diario.

Compruébalo en tu equipo

Lee el valor actual:

sysctl kernel.dmesg_restrict

Aplícalo a mano

Establécelo ahora (hasta el próximo reinicio):

sudo sysctl -w kernel.dmesg_restrict=1

Consérvalo tras los reinicios, en un archivo tuyo:

sudo tee /etc/sysctl.d/90-kernel-dmesg-restrict.conf <<'EOF'
kernel.dmesg_restrict = 1
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
kernel.dmesg_restrict