Skip to content

Ejecutas chmod 000 sobre un archivo. ¿Puede root seguir leyéndolo?

Respuesta breve

Sí. Los bits de modo de un archivo son control de acceso discrecional aplicado a procesos sin privilegios. La página de manual capabilities(7) indica que los procesos privilegiados omiten todas las comprobaciones de permisos del kernel, y que CAP_DAC_OVERRIDE omite en concreto las comprobaciones de lectura, escritura y ejecución de archivos. Así, chmod 000 detiene a un usuario normal, pero no a root ni a un proceso con esa capacidad. Para proteger un secreto frente a root hacen falta cifrado o aislamiento, no bits de modo.

Los bits de permisos parecen absolutos: --------- parece una puerta cerrada. Para root, no lo es.

Qué hace el kernel

Los modos de archivo de Linux son comprobaciones de control de acceso discrecional que se aplican a procesos sin privilegios. La página de manual capabilities(7) afirma que los procesos privilegiados omiten todas las comprobaciones de permisos del kernel, mientras que los demás afrontan comprobaciones completas según UID efectivo, GID y grupos suplementarios. Las capacidades dividen ese poder de root en unidades, y CAP_DAC_OVERRIDE está documentada como la que omite las comprobaciones de lectura, escritura y ejecución de archivos. CAP_DAC_READ_SEARCH omite las de lectura de archivos y las de lectura y ejecución de directorios.

Consecuencias de seguridad

  • chmod 000 no protege frente a un atacante con root ni frente a un proceso con esas capacidades.
  • Los secretos que deban resistir a root necesitan cifrado (con las claves en otro sitio) o separación, no bits de modo.
  • Dar CAP_DAC_OVERRIDE a un servicio es casi tan potente como root para acceder a archivos; una revisión de mínimo privilegio debería señalarlo.

Por qué fallan los distractores

El modo 000 no bloquea a root. Apropiarse del archivo con chown es innecesario, pues root ya omite la comprobación. El sticky bit regula el borrado en directorios compartidos y no tiene relación con leer este archivo.

Qué buscan los entrevistadores

«Sí — los permisos frenan a usuarios normales, no a procesos privilegiados», y el nombre de la capacidad como extra.

Posibles preguntas de seguimiento

  • ¿Qué capacidad permitiría a un servicio leer cualquier archivo sin ser root completo?
  • ¿En qué se diferencian los atributos inmutables (chattr +i) de los bits de modo frente a root?
  • ¿Por qué importa esto si se compromete un proceso de servidor web que corre como root?

Fuentes

Certificaciones

Consigue 100 preguntas de entrevista de ciberseguridad + respuestas

Déjanos tu correo y te enviaremos el pack en PDF gratuito y el mazo de flashcards.

Sin spam. Cancela tu suscripción cuando quieras.