Veeam Immutable Repository con Red Hat Enterprise Linux

En este post, revisaremos la instalación de un repositorio Inmutable de Veeam con Red Hat Enterprise Linux, anteriormente revisamos una aplicación para Ubuntu llamada VeeamHubRepo, el cual nos permite fácilmente configurar un repositorio inmutable en Ubuntu Linux. Ahora revisaremos como realizar la configuración en Red Hat Enterprise Linux, con un pequeño script para la configuración del repositorio de manera automática y de fácil uso.

Introducción

Como vimos anteriormente en otro post, tenemos la guía paso a paso de la configuración del repositorio inmutable de Veeam para Ubuntu con un utilitario, puedes revisarlo en:

https://24xsiempre.com/veeam-hardened-immutable-repository/

Ahora si lo que buscas es una forma fácil de configurar pero en Red Hat Enterprise Linux para proveer la inmutabilidad de respaldos en tu ambiente local, este post es para ti.

Buenas Prácticas Veeam Immutable Repository

A continuación revisaremos alguna buenas practicas para este tipo de repositorio que nos permite almacenar nuestros respaldos de forma inmutable sobre Linux:

  • No agregar mas roles de Veeam u otros servicios, es decir, este repositorio debe ser únicamente para respaldos inmutables
  • De preferencia que sea un Servidor Físico con discos locales (JBOD)
  • Bloquear o deshabilitar cualquier aplicación o servicio de administración remota, es decir, SSH (después de configurar el repositorio), ILO, IDRAC, etc.

Por que no se recomienda agregar mas roles de veeam o otros servicios de Linux?, como por ejemplo nginx, la respuesta es simple, la idea es mantener lo mas aislado posible tratando de bajar el riesgo en caso de alguna vulnerabilidad o acceso no autorizado al servidor. Ya que como sabemos, últimamente, tenemos múltiples vulnerabilidades 0day que afectan a servicios y sistemas operativos Linux.

Por que la preferencia un Servidor Físico con discos locales?. Si es una maquina virtual y en caso de ataque lamentablemente se comprometió la seguridad del ambiente virtual, por supuesto el o los atacantes tendrán la posibilidad, inclusive, de eliminar la maquina virtual con todo su contenido o cifrar el ambiente virtual completo. Con respecto a la recomendación de discos locales, apunta exclusivamente a evitar que en el caso de que se haya comprometido la seguridad del almacenamiento o Storage no sea posible eliminar los datos que se almacenan en el repositorio.

Y por ultimo, bloquear o deshabilitar cualquier tipo de acceso de administración remota, para que en caso de el compromiso de credenciales de administración centralizadas o vulnerabilidades en los sistemas de administración remota no sea posible conectarse al sistema operativo.

Lo único que debe tener conexión es Veeam Backup & Replication para enviar Respaldos Inmutables al servidor.

Configurar Red Hat Enterprise Linux como Veeam Immutable Repository

En este caso realice la instalación de RHEL 8.3 como servidor con la opción mínima o por defecto sin interfaz gráfica. Y nos conectamos vía SSH con root:

Si es un servidor físico que ya tiene los discos instalados, procederemos a realizar la ejecución de un script que lo puedes descargar desde:

https://github.com/mescobarcl/rhelimmutable

Seleccionamos el archivo “rhelimm.sh” para ver el contenido y lo copiamos:

Luego de copiar el contenido del archivo, volveremos a la sesión SSH que tenemos abierta. Crearemos un archivo nuevo con el editor “vi”, por tanto en la sesión de ssh ejecutaremos:

vi rhelimm.sh

Presionamos “i” para permitir ingresar texto o pegar texto en el archivo:

Y salimos del archivo presionando “ESC :” ingresamos “wq!” presionamos enter y volveremos a la linea de comandos

Ahora asignaremos permisos de ejecución al archivo con el siguiente comando:

chmod +x rhelimm.sh

Y ahora ejecutaremos el script con el comando:

./rhelimm.sh

Y presionamos “Enter” para la ejecución del script que nos solicitará información.

Ejecución Script

Ahora ya hemos ejecutado el script con el paso anterior, lo primero que realiza es un scan de discos nuevos existentes en el servidor. Luego nos lista los discos que encontró para consultarnos si deseamos utilizar solo un disco o varios que existen en el servidor.

En este caso para la demostración agregue 4 discos de 50 TB, cabe señalar, que es posible utilizar múltiples discos o solo uno, dependiendo de tu configuración de hardware. por tanto el script nos solicitara que ingresemos los discos en formato “/dev/sdb” y si utilizaras múltiples discos solo agrega un espacio después de cada disco al ingresarlo:

Como se visualiza en la imagen anterior, aparecen los discos “/dev/sdb /dev/sdc /dev/sdd /dev/sde“. Los ingreso en el formato deseado y presiono “Enter” para la ejecucion:

Al ingresar los discos se crea los volúmenes físicos, el grupo de volumen, el grupo lógico para administrar vía LVM y por ultimo se formatea con XFS el volumen lógico “repoveeam”, en el formateo se incluye la habilitación de “Reflink” para el soporte de “Fast Clone” en este tipo de repositorio.

Luego del formateo el script nos solicita la contraseña o password para el usuario de conexión, el script crea un usuario de nombre “repouser“, ingresamos la contraseña:

Configuración Repositorio Immutable Veeam Backup & Replication

Y ahora el script nos indica que debemos agregar el nuevo repositorio en Veeam Backup & Replication con las credenciales de “repouser” nos conectamos a VBR y agregamos el servidor RHEL dentro de “Managed Servers”, seleccionaremos “Linux Server” para ingresar la dirección IP o dns del servidor:

Después de hacer clic en “Next” nos solicitara como será la autenticación con el nuevo servidor RHEL:

Y seleccionaremos “Single-use credentials for hardened repository….” para ingresar las credenciales, utilizaremos el usuario creado por el script “repouser” con sui respectiva contraseña que se ingresó en los pasos del script y también muy importante, seleccionaremos “Elevate account privileges automatically” y “Use su if sudo fails” e ingresamos la contraseña de “root” presionamos “OK” y luego “Next”:

Los usuarios y contraseñas que estamos ingresando solo serán usados en esta conexión, después las credenciales no quedan almacenadas en la base de datos de Veeam Backup & Replication. Ahora seleccionamos “YES”

Y podremos ver la instalación del componente necesario para Veeam Backup & Replication:

Seleccionamos “Apply” y veremos la instalación finalizada:

Clic en “Finish” y volveremos a la sesión de SSH. El script estaba esperando la instalación del componente de Veeam necesario chequeando si aparece el proceso para luego preguntarnos si deseamos deshabilitar SSH por completo:

Ingresamos 1 para deshabilitar y detener el servicio SSH y luego nos desconectamos con el comando “exit”. Luego podremos comprobar que no sera posible conectarnos nuevamente vía SSH inclusive luego de un reinicio. Cabe señalar que el script agregar el volumen en “/etc/fstab” para que en caso de reinicio los discos se monten automáticamente.

Ahora volvemos a Veeam Backup & Replication para terminar la configuración del Repositorio Inmutable.

Creación Veeam Immutable Repository

En la consola de VBR, ingresaremos a “Backup Repositories”, luego botón derecho del mouse y seleccionamos “Add Backup Repository”, luego “Direct Attached Storage”, después “Linux” para ingresar los datos que nos solicitara Veeam:

Clic en “Next” y seleccionaremos nuestro nuevo servidor Linux RHEL. donde ademas haremos clic en “Populate” para ver el disco o punto de montaje para almacenar los respaldos:

Seleccionamos “/repoveeam” y hacemos clic en “Next”

Donde habilitaremos “Use fast cloning on XFS volumes…” y “Make recent backup immutable for”, aquí puedes dejar por defecto la inmutabilidad de los respaldos por 7 días o ingresar la configuración que sea necesaria en días. Luego “Next”

Seleccionaremos el “Mount Server” luego “Next”, después “Apply” para ver el estatus de configuración:

Luego nos preguntara si deseamos cambiar la ubicación del respaldo de la configuración y seleccionamos “No”.

Validación de Configuración

Ahora crearemos un Job de respaldo de alguna maquina virtual y seleccionaremos nuestro nuevo repositorio inmutable:

Y lo ejecutamos, esperamos la finalización:

Y por ultimo intentaremos la eliminación del respaldo desde la consola de Veeam Backup & Replication, donde nos indicará:

El respaldo no es posible eliminarlo hasta el día 08-08-2021.