Veeam Hardened (Immutable) Repository

Tremenda noticia con el lanzamiento de la versión 11 de Veeam Availability Suite que contiene más de 200 mejoras, Replicación sin Snapshots CDP, Instant Recovery para NAS / Bases de Datos y también Veeam Hardened Repository. En este post nos centraremos en la instalación, configuración en detalle de este nuevo tipo de repositorio que nos permitirá mantener nuestros respaldos inmutables!

Pasos Iniciales

Como es de costumbre, siempre revisaremos la documentación oficial de Veeam, para este caso del Repositorio Linux Inmutable:

https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository.html?ver=110

Donde podremos ver todos los requerimientos para esta característica donde una de las más importantes es que las tareas de respaldos deben usar Forward Incremental con respaldos Full o Synthetic para el correcto funcionamiento de la inmutabilidad.

Luego de leer la documentación pasamos a la instalación base de un Linux Ubuntu 20.04 LTS y luego de finalizar, nos conectamos por SSH y realizamos la actualización del sistema operativo:

sudo apt-get update -y
sudo apt-get upgrade -y
Actualizacion Ubuntu 20.044 LTS

Luego de la actualización, apagaremos el servidor Linux con el comando:

sudo poweroff

En mi caso, al ser una maquina virtual, agregare un disco del tamaño necesario para utilizarlo como repositorio, por tanto, editamos la configuración de la VM y agregaremos un disco (para este LAB agregaré un disco de 2 TB) y luego encendemos la maquina:

Veeam Repo Manager

Nuevamente nos conectamos vía SSH y en este caso utilizaremos una gran herramienta, Veeam Repo Manager, para facilitar aun mas la configuración del repositorio inmutable de Veeam, que se encuentra en el Github de Timothy Dewin, Arquitecto de Soluciones en Veeam:

https://github.com/tdewin/veeamhubrepo

Esta herramienta nos permite configurar de manera visual todos los requerimientos para conseguir la configuración correcta del repositorio, por tanto, procederemos a instalarla.

Instalación y Configuración

Ya que estamos conectados via SSH al servidor Linux Ubuntu 20.04 LTS y tambien agregamos disco para almacenar los respaldos debemos ejecutar lo siguiente:

sudo wget -O ./veeamhubrepo.deb https://github.com/tdewin/veeamhubrepo/releases/download/v0.3.1/veeamhubrepo_noarch.deb
sudo apt-get install ./veeamhubrepo.deb
sudo veeamhubrepo

Y con el último comando que ejecutamos “sudo veeamhubrepo ” nos mostrará el asistente de esta herramienta:

Donde seleccionaremos “Yes” presionando “Enter” para luego ingresar el nombre de usuario que tendrá los privilegios momentáneos para usar la inmutabilidad, por defecto es “veeamrepo”, si deseas cambiarlo, hazlo de acuerdo a tus nomenclatura de usuarios, si no, déjalo por defecto:

Luego seleccinamos “OK” para que nos indique que no existe el usuario y confirmar la creación de éste:

Seleccionamos “Yes” e ingresamos la contraseña para este usuario:

Luego nos confirmará que el usuario fue creado y seleccionamos “OK” para que pasemos a la configuración de la partición del disco agregado:

En este LAB necesito seleccionar el disco numero “3” el cual agregamos adicionalmente de 2 TB, moviéndonos con las flechas del teclado y luego presionamos “Enter”, en tu caso debes seleccionar el disco que agregaste:

Confirmamos la selección y luego “OK”

Luego de confirmar y aplicar los cambios nos indicara en que ruta o path montará el disco:

Si deseas cambiar el path o ruta es posible editarlo, en nuestro caso lo dejaremos por defecto en /backups/repo001 y seleccionaremos “OK” para que nos confirme la creación y montaje:

Después de la configuración del disco donde se almacenarán los respaldos con características de inmutabilidad, viene una parte muy importante para configurar la hora y zona horaria y seleccionamos “Yes”:

En mi caso seleccionaré:

/usr/share/zoneinfo/Chile/Continental

Al seleccionar y presionar Enter en “OK” nos confirmará la configuración:

Luego al Seleccionar “OK” nos preguntará por nuestro servicio NTP, que puede ser local o vía internet

Luego nos mostrará si deseamos actualizar

Al finalizar perderás conexión con el servidor, por tanto nos conectaremos a través de la consola Web de vCenter y ejecutaremos el comando:

sudo veeamhubrepo

Acceso sin SSH

Y procederemos a Registrar nuestro nuevo repositorio, seleccionando la opción “3” y confirmamos que inicie el servicio SSH:

Y nos indicará que nos conectemos con las credenciales que creamos anteriormente desde Veeam Backup Replication y lo agregamos como repositorio:

Creación Repositorio Veeam Backup & Replication

Desde Veeam Backup & Replication, agregaremos el repositorio:

Y como vemos en la imagen anterior seleccionaremos “Single-use credentials for hardened repository…” en ingresamos las credenciales

Luego hacemos clic en “Next” y confirmamos:

Para terminar viendo el resumen de la configuración:

Mientras se realiza la configuración desde Veeam Backup & Replication la utilidad Repo Manager detecta el proceso de Veeam

Y luego seguimos con la configuración del repositorio seleccionando la partición para alojar los respaldos

Y aquí es la parte mas importante para este tipo de repositorio, esta herramienta realiza la configuración de la partición con XFS habilitando reflink para aprovechar las características cuando realicemos Synthetic Full por ejemplo y ademas habilitar la opción para hacer inmutables los respaldos por los días que sea necesario, por defecto son 7 días:

Aquí es donde la magia aparece, como se observas en la imagen anterior

Luego lanzamos un nuevo respaldo al nuevo Hardened Linux Repository

Pruebas Eliminación Respaldo

Ya que tenemos un respaldo en el repositorio y anteriormente activamos la inmutabilidad en el repositorio, revisaremos si es posible eliminar respaldos, por tanto, en Veeam Backup Server, iremos al respaldo y eliminaremos el archivo:

Luego de confirmar la eliminación, aparece la ventana de estado de la operación donde observaremos que NO es posible eliminar el archivo de respaldo y ademas nos indica el día (03/03/2021 20:02) cuando se desactiva esta inmutabilidad, ya que lo habilitamos por 7 días:

Inclusive si accedes al servidor no podrás eliminar el archivo ya que cuenta con el parámetro avanzado +i que inclusive root no puede eliminar.

Ya se que en este momento estas pensando, y si root le quita el parámetro +i, y eliminar, si es posible, lo importante aquí es que las credenciales de este servidor y los métodos de acceso sean totalmente restringidos para que desde la red no sean alcanzados los archivos de respaldo y sean eliminados por algún agente malicioso.

Ademas, esta solución, mantiene un demonio en el servidor linux para utilizar la logica de inmutabilidad y realizar los cambios de acuerdo a los dias de inmutabilidad que hayas configurado.

Con esto terminamos este post en detalle para la configuracion de inmutabilidad con el nuevo tipo de repositorio para Veeam Backup & Replication llamado Linux Hardened Repository.