Carpetas inmutables en QTS
#1
Introducción:


Una de las funciones estrella que tienen los nas con QTS Hero es la posibilidad de crear carpetas compartidas WORM que otorgan inmutabilidad a su contenido, no voy a explicar cómo funciona este sistema en QTS Hero pero si voy a explicar para que sirve. Un nas sirve o puede servir para muchas cosas pero a veces se nos olvida que la más importante de ellas es el almacenamiento de nuestros datos importantes a largo plazo sin olvidar que es más que obligatorio tener un sistema de copias de seguridad externas por si alguna vez hay algún problema.

Una de las mayores preocupaciones que podemos tener los usuarios es que se nos cuele en el nas un ramsonware que se dedique a cifrarnos los datos que tengamos, si se tienen buenas copias de seguridad externas es posible que si se diera ese caso no sería tan preocupante pero aún así siempre es mejor prevenir que lamentar y de eso es de lo que va a hablar este tutorial. Lo que voy a pasar a explicar se puede hacer con cualquier carpeta compartida que tengamos en el nas pero segúramente esa implementación será exagerada en la gran mayoría de los casos. Sin embargo puede darse el caso de que entre todos los datos que tengamos alojados en el nas haya algunos que destaquen por su importancia y queramos protegerlos un poco mejor, o al menos intentarlo.

Lo que paso a continuación a explicar es como tener en QTS un sistema WORM de carpetas inmutables similar aunque no igual al que tiene QTS Hero pero que nos puede servir.



Puesta en marcha y funcionamiento:


Nos vamos al Panel de Control del nas apartado Carpetas compartidas y creamos una nueva.



   



Al crearla veremos que nuestro usuario del nas, es decir, nosotros mismos, tenemos permisos RW ( lectura - escritura ) para esa nueva carpeta así que lo que hacemos es cambiarlos a permisos RO ( sólo lectura )



   



Una vez creada esa nueva carpeta compartida llamada Prueba cuando accedemos a ella a través de File Station podemos ver que podemos crear dentro de ella, por ejemplo, una nueva carpeta así que la creamos para la prueba.



   



Podemos crear una nueva carpeta dentro de esa carpeta, podemos descargarla a un ordenador y podemos eliminarla entre otras acciones disponibles.



   



Si quisiéramos crear una segunda carpeta lo podemos hacer.



   



Vamos a suponer que ya tenemos dentro todos las carpetas y archivos que consideremos necesarios. Volvemos entonces a Panel de Control - Carpetas compartidas y editamos los permisos de esa carpeta compartida llamada Prueba que hemos creado antes.



   



Al acceder a esos permisos nos encontramos con esto.



   




Los tenemos que modificar dejándolos así.



   



Para ver lo que ha cambiado volvemos a File Station.



   



Podemos copiar o descargarnos a un ordenador esa carpeta pero NO podemos modificarla ni eliminarla y lo mismo ocurriría si dentro de esa carpeta tuviéramos archivos cómo pueden ser unas fotos, videos o cualquier otra cosa, es decir, esa carpeta ha pasado a ser una carpeta inmutable que lógicamente un ramsonware no puede cifrar. La inmutabilidad llega al extremo de que si quisiéramos crear una segunda carpeta no se puede.



   




Si miramos los permisos de la carpeta que habíamos creado podemos ver que...... no hay permisos.



   



Antes de continuar con la explicación hago un breve resumen de lo que tenemos hasta el momento. Hemos creado una nueva carpeta compartida, le hemos metido las carpetas o archivos importantes que queremos proteger y conservar y a continuación le hemos dado características de inmutabilidad. En el caso de que se nos colara un ramsonware en el nas empezaría instantáneamente y de forma automatizada a cifrar todo el contenido de las carpetas compartidas del nas, lo que no va a hacer ese ramsonware es entrar en el Panel de Control del nas - Carpetas compartidas y empezar a modificar permisos antes de ponerse a cifrar, al menos eso es lo que debería de pasar. Lógicamente al tener esa carpeta compartida características de inmutabilidad consistentes en que no se puede modificar ni eliminar nada el ramsonware no puede cifrar porque eso implica modificación. El sistema WORM de QTS Hero tiene la particularidad de que una vez que se le aplica inmutabilidad a una carpeta compartida se le da por un tiempo determinado sin posibilidad de volver atrás, sin embargo el sistema que estoy explicando en este tutorial es fácilmente reversible cuando se quiera.

En las condiciones de inmutabilidad que tiene actuálmente esa carpeta compartida que hemos creado ¿ que ocurre si queremos meter dentro más carpetas o archivos, eliminarlos o modificar lo existente ? Muy sencillo, volvemos a Panel de Control - Carpetas compartidas y seleccionamos esa carpeta para modificar sus permisos. Nos volveríamos a encontrar con esto.



   



Le volveríamos a dar a nuestro usuario del nas permisos de lectura - escritura y todo arreglado, ya podemos hacer lo que queramos con el contenido de esa carpeta. Una vez hecho esas modificaciones volveríamos a cambiar otra vez los permisos.

Independiéntemente de los permisos que le hayamos dado a esa carpeta compartida inmutable la podemos eliminar cuando nos apetezca sin necesidad de modificarlos. 



   




Marcamos Eliminar también los datos y esa carpeta compartida se eliminará.



   



Acabo de explicar cómo crear una nueva carpeta compartida con características de inmutabilidad, si a dia de hoy ya tuviéramos creada una carpeta compartida " normal y corriente " llena de carpetas y archivos y quisiéramos darle esas mismas características de inmutabilidad que vuelvo a recordar son fácilmente reversibles en cualquier momento lo tenemos muy sencillo. En Panel de Control - Carpetas compartidas seleccionamos la que nos interese y editamos sus permisos, nos encontraríamos con esto.



   



Haríamos lo mismo de antes, es decir, cambiarle los permisos a sólo lectura.
  Reply
#2
Hola

Estaba pensando si es posible revertir los permisos mediante comandos de consola evitando hacerlo por QTS ?
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#3
Gracias por el tutorial, con los respaldos de copias de seguridad no pasa nada hasta que sucede y vienen los sudores fríos
Tecnología al servicio de la agricultura y precesos de transformación ecológica en el sector primario. Actualmente desarrollando naranjaseco.com
  Reply
#4
(19-09-2024, 10:21 AM)Artur Wrote: Gracias por el tutorial, con los respaldos de copias de seguridad no pasa nada hasta que sucede y vienen los sudores fríos
¿Has tenido ya una mala experiencia o una de las buenas?
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#5
Al principio de este tutorial he explicado como configurar una carpeta compartida con características de inmutabilidad mediante un sistema que no será tan perfecto como el que utiliza QTS Hero pero que nos puede valer, lo que voy a explicar a continuación es una manera más avanzada de conseguir lo mismo distinta de la anterior con el añadido de que va a ser una inmutabilidad mucho más segura. El proceso difiere del anterior en algunas cosas y va a tener unos resultados treméndamente curiosos:


En el apartado Carpetas compartidas del Panel de Control del nas vamos a crear una nueva carpeta compartida que para el ejemplo va a tener de nombre prueba:



   




A diferencia de la carpeta de prueba que se creó al principio de este tutorial en este caso la vamos a crear con los permisos por defecto como si creáramos cualquier otra nueva carpeta compartida en el nas:



   



Creada esa carpeta compartida de nombre prueba abrimos File Station y comprobamos que está creada, para el ejemplo le meto dentro de esa carpeta prueba un archivo de texto de nombre prueba.txt



   




A partir de aquí viene la parte tikismikis de la explicación, lo siguiente que vamos a hacer es activar momentáneamente  la cuenta admin del nas y activamos también el acceso por SSH al nas. Hecho esto nos conectamos por SSH al nas con la cuenta admin. Una vez conectado me dirijo al volumen de mi nas en el que está la carpeta compartida de nombre prueba que he creado antes, en mi caso es /share/CACHEDEV3_DATA así que pongo y ejecuto en el terminal el comando:

cd /share/CACHEDEV3_DATA/



   



Para darle inmutabilidad a la carpeta compartida prueba vamos a utilizar el comando chattr y este comando tiene diversos parámetros de utilización, para aprender sobre esto Google es vuestro amigo. En este caso lo vamos a utilizar en modo recursivo para que a la misma vez que le damos inmutabilidad a la carpeta prueba se la demos también al archivo prueba.txt que está dentro. Lo haremos con el siguiente comando:

sudo chattr -R +i prueba/



   



Hecho esto podemos comprobar los permisos de las carpetas compartidas que tengamos en ese volumen incluyendo lógicamente la carpeta compartida prueba que hemos creado antes, lo haremos ejecutando el comando lsattr



   



Como digo en la imagen que acabo de poner se ven las carpetas compartidas que tengo en el volumen de mi nas incluyendo la carpeta prueba y a la izquierda de cada una de ellas se ven unas líneas y cómo se puede también ver la carpeta prueba tiene una i ( inmutabilidad ). 

La carpeta lost+found y la carpeta aquota.user NO LAS HE CREADO YO sino que son carpetas ocultas de QTS y es curioso porque esta última carpeta también tiene una i de inmutabilidad junto al atributo A...... un dia de estos lo investigaré, en fin, seguimos ( a partir de aquí vienen muchas curiosidades ):


Si comprobamos los permisos del archivo prueba.txt que está dentro de la carpeta compartida prueba que creamos al principio podemos ver que son normales:



   



Lo siguiente que vamos a hacer es eliminar ese archivo prueba.txt



   



Y el resultado es que NO LO PODEMOS ELIMINAR, ni lógicamente tampoco MODIFICAR:



   



Hago un breve resumen de lo que tenemos conseguido hasta ahora, hemos creado una nueva carpeta compartida llamada prueba y le hemos metido dentro un archivo de texto de nombre prueba.txt, a continuación a través de terminal con la cuenta admin le hemos dado inmutabilidad de manera recursiva a esa carpeta prueba para que la inmutabilidad no sólo sea efectiva en esa carpeta sino también en el archivo de texto prueba que tiene dentro.

Como acabo de explicar ese archivo prueba.txt no se puede eliminar así que la siguiente comprobación es ver si podemos eliminar la carpeta compartida prueba:



   



Y el resultado es que se puede eliminar sin ningún problema:



   



Después de leer esto muchos os preguntaréis dónde está la diferencia o la ganancia de seguridad del sistema que estoy explicando ahora respecto al que expliqué al inicio de este tutorial. La diferencia consiste en que a pesar de haber eliminado la carpeta compartida prueba y su contenido desde el Panel de Control del nas quedando lógicamente también desaparecida de File Station reálmente NO LA HEMOS ELIMINADO y no se ha eliminado porque es inmutable y no se puede eliminar.

Para comprobarlo vamos a acceder al nas por SSH con Filezilla o similares, en mi caso lo haré con Termius, lo podemos hacer conectándonos con la cuenta " normal " del nas sin embargo para algo que voy a explicar a continuación voy a acceder con la cuenta admin, al hacerlo la carpeta compartida prueba sigue estando dónde estaba:



   



Vuelvo a repetir que he accedido mediante la cuenta admin así que el siguiente paso es comprobar si puedo eliminar esa carpeta compartida prueba con permisos de administrador:



   



El resultado es que NO LA PUEDO ELIMINAR



   



Hago un resumen de la situación actual, una vez dada propiedades de inmutabilidad a la carpeta compartida prueba y a su contenido ese contenido no se puede modificar ni eliminar desde File Station, tampoco se puede eliminar accediendo por SSH con la cuenta normal del nas pero tampoco se puede con la cuenta admin con todo lo que conlleva en términos de seguridad en caso de un ransomware. Por alguna razón extraña QTS permite " eliminar " la carpeta compartida prueba y su contenido desde el apartado correspondiente del Panel de Control del nas pero como acabo de explicar esa eliminación es sólo cosmética y visual ya que la carpeta reálmente NO SE PUEDE ELIMINAR ni lógicamente modificar al igual que el contenido que tenga.

Para poder modificar el contenido de la carpeta compartida prueba o diréctamente eliminarla tenemos que retirarle los permisos de inmutabilidad que le dimos al principio, Desde un terminal accediendo al igual que hicimos al principio con la cuenta admin ejecutaremos el siguiente comando:

sudo chattr -R -i prueba/



   



Como la carpeta compartida prueba ya " estaba eliminada " desde el Panel de Control del nas para poder eliminarla definitívamente tendremos que acceder al nas por SSH con Filezilla o similares:



   



Al haberle quitado los permisos de inmutabilidad en este caso si se nos permite su eliminación:



   
  Reply
#6
Hola

Que bueno  Smile
Este sistema me gusta más que el original.
Crearlo y activarlo con un usuario que luego quedará desactivado. 

Lo que parece curioso es que al eliminarlo en QTS, sólo elimina la compartición, los datos quedan (y no da aviso de error de que no borra).

Con esto queda patente  que la consola es muuuy potente.  Cool
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply




Users browsing this thread: 1 Guest(s)