Estoy buscando un sistema de archivos encriptado para Linux que pueda montarse en un modo de solo escritura, lo que significa que debería poder montarlo sin proporcionar una contraseña, pero aún así podría escribir / agregar archivos, pero tampoco debería poder leer los archivos que ha escrito ni leer los archivos que ya están en el sistema de archivos. El acceso a los archivos solo debe darse cuando el sistema de archivos se monta a través de la contraseña. El propósito de esto es escribir archivos de registro o datos similares que solo se escriben, pero nunca se modifican, sin que los propios archivos estén expuestos. Los permisos de archivo no ayudan aquí, ya que quiero que los datos sean inaccesibles incluso cuando el sistema está totalmente comprometido.
¿Existe tal cosa en Linux? O si no, ¿cuál sería la mejor alternativa para crear archivos de registro cifrados?
Mi solución actual consiste en simplemente canalizar los datos gpg --encrypt
, lo que funciona, pero es muy engorroso, ya que no puede acceder fácilmente al sistema de archivos en su conjunto, debe canalizar cada archivo gpg --decrypt
manualmente.
fuente
syslog
. Eso separa la generación de los mensajes de registro del sistema que los almacena, por lo que las aplicaciones que generan el mensaje no tienen acceso al lugar donde están almacenados. Los registros pueden incluso estar (y con frecuencia lo están) en un servidor separado.Respuestas:
Esto no es posible. Si el sistema está completamente comprometido, entonces "por definición" se puede acceder a cualquier cosa, incluidas las claves de cifrado.
El cifrado es inútil para proteger contra el compromiso del sistema, mientras el sistema se está ejecutando, SI las claves para cifrar / descifrar datos están en el mismo sistema con los datos cifrados. Por ejemplo, si tiene un sistema de archivos LUKS montado y alguien obtiene acceso de root a su sistema, es posible extraer las claves de la RAM, ya que tienen que vivir en la RAM para descifrar el sistema de archivos. En su situación, si está escribiendo su frase de contraseña cada vez que encripta un archivo, está protegido (suponiendo que un keylogger no esté presente en su sistema), si no, está en la misma situación y alguien que compromete su sistema puede encontrar que clave y deshacer todo su cifrado.
Debe enviar los datos que desea proteger fuera del sistema + NO escribirlos en un medio intermediario en ese sistema si absolutamente no desea que la raíz llegue a ellos.
rsyslog
admite explícitamente esto con respecto al registro, y puede cifrar la conexión entre el origen y el receptor con OpenVPNstunnel
, o similar. Estoy seguro de que hay otras opciones de transferencia "unidireccionales".fuente
Me parece que vas en la dirección equivocada. Si desea un archivo en el que pueda escribir, pero no leer, entonces lo que está buscando son permisos de archivo.
Por supuesto, este archivo puede estar en un sistema de archivos cifrado.
fuente
Puede ser útil también. Cualquier archivo creado dentro del proceso actual tendrá el modo 0200.
fuente