Cifrar el directorio home en GhostBSD gracias a OpenZFS

La única pega gorda que encuentro a GhostBSD es el hecho de que no se puede cifrar todo el disco duro en el proceso de instalación, lo que es una pega importante de cara a la seguridad. Esto es algo que está en el roadmap, pero no es posible de momento.

Existe una alternativa que se puede hacer tras la instalación, que consiste en crear un usuario con su directorio home cifrado. Como GhostBSD usa OpenZFS como sistema de ficheros por defecto esto es una tarea sencilla que viene integrada "casi" de fábrica. Y digo "casi" porque hay que hacer una configuración previa.

Configuración previa

Para este ejemplo voy a asumir que el pool se llama zroot y que home está por lo tanto en zroot/home

Debemos editar tres ficheros y añadir la siguiente configuración a cada uno de ellos:

/etc/pam.d/login:

# auth
auth		sufficient	pam_self.so		no_warn
auth		optional	pam_zfs_key.so homes=zroot/home # Añadimos esta línea en este sitio
auth		include		system
...

# session
session		optional	pam_zfs_key.so homes=zroot/home # y añadimos esta línea
session		include		system
...

/etc/pam.d/passwd:

password	optional	pam_zfs_key.so homes=zroot/home

/usr/local/etc/pam.d/lightdm: (esto es para que funcione al hacer login desde la pantalla de X11)

# auth
auth		sufficient	pam_self.so		no_warn
auth		optional	pam_zfs_key.so homes=zroot/home # Añadimos esta línea en este sitio
auth		include		system
...

# session
session		optional	pam_zfs_key.so homes=zroot/home # y añadimos esta línea
session		include		system
...

Creación del usuario

A continuación creamos el usuario mediante adduser e indicaremos que queremos introducir nosotros la contraseña y que queremos cifrar el dataset. Es IMPORTANTÍSIMO poner la misma contraseña al usuario y al cifrado del disco porque así funcionará automáticamente al hacer login.

Hay que tener en cuenta que si cambiamos la contraseña al usuario tendremos que cambiarsela también al cifrado del dataset.

Y esto es todo. No tiene nada más que configurar.

Inconvenientes

El mayor que he leído es relativo a la configuración de la WiFi, ya que las contraseñas de las WiFis a las que nos conectamos se guardan en claro en el dataser zroot/ con lo que no estará cifrado en el caso de que "los tipos malos" se hagan con vuestro ordenador. Como alternativas, se puede cifrar con age y tener un script que lo desencripte al hacer login con el usuario correcto.

La menor es que tendréis dos usuarios en vuestro sistema, el que habéis usado en la instalación y el nuevo que habéis dado de alta. En el roadmap también está la posibilidad de cifrar el dataset del usuario durante la instalación.

Y ahora sí, esto es todo.

<< Volver a artículos
<< Inicio