Me gustaría saber cómo hacer que los archivos sean completamente inmutables. "Completamente" se refiere en este caso a: inmutable mientras el sistema se está ejecutando. Podría vivir con algo como acceso físico en el que alguien, por ejemplo, use un CD en vivo para cambiar los archivos inmutables en un disco duro. No me preocupa mucho el acceso físico.
Sé que hay chattr -i que hace que un archivo sea inmutable. Por supuesto, algún hacker podría cambiar el atributo de nuevo. De acuerdo con el manual de seguridad de Debian ( enlace en 4.17 .2) puede evitar esto eliminando la capacidad CAP_LINUX_IMMUTABLE y haciendo que lcap sea inmutable. Según este sitio: enlace también tienes que eliminar CAP_SYS_RAWIO porque permite parchear el código del kernel en ejecución. Esto no se menciona en el manual de Debian.
También de la lectura cruzada de algunos otros sitios con respecto al sandboxing en linux, seccomp, etc., obtuve que, en principio, las vulnerabilidades del kernel pueden evitar estos sistemas con capacidades reducidas. Pero no estoy seguro de si esto también es válido para mi caso.
Supongo que el atacante tiene acceso completo (excepto físico) a mi sistema. ¿El enfoque basado en la capacidad anterior evitará que él cambie el archivo inmutable X en mi sistema? Si no, ¿hay algo que pueda hacer para lograr esto?