Apps – VEEAM Backup & Réplication
Sauvegarde, nom fénimin (de sauf et garde) : Garantie, protection accordée par une autorité : Se mettre sous la sauvegarde de la justice ou au sens informatique du terme, Procédure de protection des informations contenues dans un système informatique, par copie de ces informations sur disque ou bande magnétique.
Vous l’avez compris, je vais parler de sauvegarde et mon autorité à moi, c’est VEEAM. (Je vous rassure je n’ai pas de part, ni d’action dans cette société).
Déjà pourquoi VEEAM et pas un autre ? Je n’ai absolument rien contre les autres solutions. J’ai juste commencé avec cette solution et j’ai continué avec cette dernière ainsi que toutes la suite de produits qui gravite autour 🙂 Alors pourquoi changer une équipe qui gagne ?
Avant de rentrer dans le vif du sujet, la question que nous devons nous poser, c’est pourquoi la sauvegarder un système informatique d’un simple poste utilisateur à la totalité d’un système d’information.
Jusqu’à présent, les données étaient stockées sur des supports physiques (papier, photo, etc). Aujourd’hui la majorité de nos données sont stockées sur des supports logiques numériques dans des supports physiques (téléphone, disque dur, USB, Serveurs etc) à un endroit, voir plusieurs. Or, comment s’assurer que ces données non physiques à base de 0 et de 1 soient protégées de toutes suppressions accidentelles ? Nous allons faire une copie de ces données et les stockées autre part. Ainsi en cas de suppression ou d’avarie nous serons en capacité de les « retrouver ».
La solution VEEAM Backup et Réplication répond à ce besoin pour les systèmes d’informations. C’est pourquoi je vous propose dans ce billet de déployer un serveur de sauvegarde. (Attention et comme d’habitude, je vais suivre le guide officiel fournit par le fournisseur. Je ne compte pas réinventer la roue, mais m’attarder sur des points importants qui sont bien malheureusement négligés par certains SysAdmin).
Prérequis
- SE : Windows 2016 à 2022
- Apps : VEEAM B&R 12.1, 12.2
- Autres :
- Média externe
- Stockage Object
- Stockage Hardened
Théorie
Architecture & Best Pratices
Il est compliqué de donner un mode empirique d’une infrastructure VEEAM pour la bonne et simple raison qu’en fonction des autres produits et solution VEEAM qui peuvent graviter autour (VEEAMOne, VSPC, VCC etc). Toutefois, nous retrouvons sur l’infrastructure plusieurs rôles majeurs :
- Backup Server
- Proxy Backup
- WAN Accelerator (Optionnel)
- Mount Server
- Backup Repository
Le rôle qui nous intéresse le plus est Backup Server. Ce dernier est le cœur de l’ensemble de la solution et va venir piloter les autres différents rôles selon les tâches qui seront exécutées. Si nous devons décomposer le rôle, nous aurions le schéma suivant :
Attardons nous rapidement sur chacun des 5 rôles présents pour bien comprendre comment fonctionne un Ordonnanceur VEEAM.
Naturellement et pour chacun des rôles la liste des ports à autoriser sont disponible avec la description sur la page de l’éditeur.
Dans tous les cas, les différentes machines (pour ne pas dire serveurs de préférence) doivent être hors domaine et isolé dans une bulle réseau à part ou dans le pire des cas uniquement dans la réseau d’administration.
VEEAM pour le coup assure une nouvelle fois en facilitant la mise en place et la sécurisation de son architecture auprès des SysAdmin en fournissant la matrice des flux réseau à implémenter (différent subnet ou micro segmentation).
Avant de définir l’infrastructure cible, il convient de se poser les questions :
- Qu’elle est la taille de l’infrastructure à sauvegarder ? Si l’infrastructure est conséquentes, l’ajout d’un Proxy Backup n’est pas du luxe.
- Qu’elle est la nature de mon infrastructure virtuelle ? Cas d’une infrastructure virtuelle, architecture HA (Baie de stockage et N Hyperviseurs) ou un seul hyperviseur, que choisir ? Nous étudierons les deux scénarios.
- Qu’elle va être la nature du stockage de destination qui va accueillir les sauvegardes ? NAS, Tape, Serveur, Média amovible ?
- Dans le cas d’externalisation, ai-je besoin d’un WAN Accelerator ?
- Plutôt du stockage block ou objet ?
Ca nous fait déjà un petit paquet de question. Mais pas de quoi s’affoler. Le plus difficile n’est pas l’implémentation mais la construction et sécurisation de notre infrastructure de sauvegarde.
La première vrai question est comment assurer la règle des 3-2-1-1-0.
Objectifs | Réponses/Observations | |
3 | Avoir 3 copies différentes des données de production | Il faut prendre en compte 1 pour les données de production, 1 pour les données sauvegardées et 1 pour les données externalisées et optionnellement 1 pour les données déconnectées ou immuables. Soit un total minimum de 3 copies, 4 en incluant les données de production. |
2 | Avoir 2 médias/supports différents pour le stockage des sauvegardes | Dissocier le stockage de la sauvegarde sur 1 média et 1 média différent pour la copie de cette sauvegarde et optionnellement 1 média supplémentaire pour les données déconnectées ou immuables. Soit un total minimum de 2 médias, 3 en incluant les médias déconnectées ou immuable. |
1 | Avoir 1 copie hors site de production | Il est indispensable de réaliser la copie de la sauvegarde sur un autre site que le site de production. Il est possible de passer par un fournisseur pour stocker une copie de sa sauvegarde ou de réaliser un copie dans un Cloud Public (avec les avantages et inconvénients que cela peut entrainer). |
1 | Avoir 1 copie déconnecté ou immuable | Cette mesure vise à se prémunir des attaques visant à corrompre ou altérer les données sauvegardées. Si ces dernières sont sur un médias déconnectés, il est peu probable sauf s’il n’est pas déconnecté du SI d’être altéré… Quant à l’immuable qu’il soit hardened ou objet, le nom parle de lui-même. Les TAPES ou Bandes sont également une alternatives avec le Cloud. |
0 | Avoir 0 erreur dans les chaines de sauvegarde | Le dernier point consiste à vérifier la cohérence des chaines de sauvegardes et des différents points et d’affirmer que l’intégrité des ces derniers ne comportent pas d’erreur. |
Personnellement, j’arrive toujours à 3-2-1-1. Le 0 je n’ai jamais pu l’atteindre, par manque de temps. Cependant, grâce à ce billet, je vais enfin faire un grand pas en avant pour sortir du gouffre intellectuel dans lequel je commençais à me complaire.
Ensuite, il serait hypocrite de ma part de réinventer la roue. Puisqu’il suffit de RTFM1 le site de l’éditeur et de s’inspirer des différentes architectures (et des exemples mis en avant). Comme je l’ai dit plus haut il n’y a pas d’architecture empirique et cela dépend, fortement des équipements et ressources qui seront utilisés, des locaux, des contraintes de l’organisation et du PAS2 défini par la direction.
Alors pourquoi parler/écrire pour ne rien dire ? Tout simplement pour avertir sur le fait qu’on installe pas un composant VEEAM comme nous installerions NotePad++. Et qu’il faut bien penser à tout. Ce n’est pas quand la partie de Dungeon Keeper et lancée qu’on change les pièges, fallait y penser avant.
En gros pour moi avec une infrastructure classique, j’opterai pour l’architecture suivante à moindre cout.
Ainsi en respectant les bonnes pratiques VEEAM, j’ai considérablement restreint le risque de mon système d’information. Certes, je considéré que sur un seul site, j’ai trois bâtiments interconnecté et que les bâtiments B et C sont suffisamment loin du bâtiment A. Avec les recommandations, nous constatons avec les deux schémas ci-dessous qu’il est possible de continuer ou de reprendre les données en cas de sinistre.
Sinistre Site principal | Sinistre Sites Secondaires |
Quelque chose m’embête. Imaginons le cas où le sinistre concerne l’ensemble du site et donc les trois bâtiments ? Une externalisation de la sauvegarde (ou copie de la sauvegarde) sur un autre site ou un cloud privé, public assurerai une reprise d’activité MAIS nécessiterai un cout mensuel récurrent (entre nous largement acceptable).
Niveau sécurité, il convient de suivre les recommandations de l’éditeur et de durcir au préalable les environnements Windows. J’enfonce une porte ouverte, mais chaque mot de passe doit être unique et ne doit pas être réutilisé et TOUTES les sauvegardes doivent être chiffrées. Pour mieux comprendre la criticité de la chose j’oserai même à dire cryptées !
Vous avez tiré une carte lynchage. Les gars de la branche sécurité des systèmes d’informations vous jettent des clés FIDO et des dictionnaires Gros Larousse et Petit Robert pour votre hérésie !
Rien ne justifie de ne pas chiffrer ces sauvegardes, surtout quand ces dernières sont sur des médias qui peuvent être facilement perdu. D’ailleurs, un point et cas qui m’a marqué dans mes études lors d’un partiel portait justement sur le stockage des données amovibles. Le coffre fort. Ce dernier doit être assez robuste en terme de sécurité, mais doit être ignifuge et réfractaire.
Access & Less Privileged
Je traiterai et completerai au fur et à mesure cette partie car cela va dépendre des systèmes à lequel VEEAM va s’interconnecter (VMWare (vCSA, ESXi) ou Microsoft (HyperV)).
Cette partie (peut importe la solution à mettre en place) est un véritable casse tête. La simplicité voudrait que nous attribuons les permissions root ou system pour avoir la paix. L’objectif est de définir un compte dédié à VEEAMBR sur les plateformes de gestion de socle de virtualisation avec uniquement les permissions nécessaires.
Je pense avoir fait le tour. Pour le reste, je vous invite à vous perdre dans le guide de VEEAM. C’est difficile de tout aborder et de ne pas tomber dans la paraphrase.
Pratiques
Nous considérons que le serveur Windows a été durci au préalable et que nous possédons un serveur à jour.
Nous avons également télécharger en amont les sources (iso) de Veeam Backup et Réplication.
Installation
Nous partons donc du principe que notre serveur Windows est déjà configuré et non joint à un domaine.
Les prérequis en termes de ressources doivent être les suivantes:
- OS : WIN10, WIN11, WS 2012 à WS 2022
- CPU : 4 cores (minimum)
- RAM : 4 Go + 500 Mo pour chaque job tournant en parallèle
- Disk : 10Go pour l’installation + 10 Go / 100 VMs pour le Guest Catalogue + 10 Go pour les logs
- Network : 1 Gbps minimum
Bon, dans mon cas, je vais être un peu short en CPU, mais on va tenter quand même.
Il est important et c’est ce que je recommande, de dissocier le Guest Catalog et le Cache du disque système et de dédier une troisième partition pour les Logs.
/!\ Attention : Nous installerons VEEAM en tant qu’Administrateur local |
Avant de lancer le setup, nous allons configurer quelques options sur notre SE qui sont de mon point de vu important.
Monter les deux disques de 10 Go chacun.
Sur le premier disque VEEAM, créez les répertoires :
- VBRCatalog : Qui contiendra le Guest Catalogue. Ce dernier a pour but d’assurer l’indexation, des différents SE invités des VMs que nous allons protéger.
- NFSDatastore : Qui va contenir le cache en écriture lors des opérations de restauration ou lors des action de vérification lors de la sauvegarde des VMs.
Sur le second disque Logs, créez le répertoire :
- VBRLogs : Qui contiendra l’ensemble des logs de notre serveur VEEAM (jobs, installation, journaux d’upgrade, etc).
Nous sommes pas mal. Je pense que nous pouvons nous lancer sous les feux des projecteurs
L’installation est terminée. On est pas bien là ? Paisible, à la fraîche, décontractés du guest… Et on backupera quand on aura envie de backuper.
Nous pouvons lancer le raccourcie sur le bureau et nous atteler à la configuration de notre VEEAM.
Configuration
La première chose que j’aime à faire sur un VEEAM qui sent le neuf, c’est de configurer les options ainsi que la sauvegarde de la configuration de ce dernier.
Sécurisation
Bien, nous avons notre serveur VEEAM fonctionnel et configuré. Toutefois, l’éditeur nous fournit un ensemble de bonne pratique de sécurité. Nous avons donc la possibilité de passer outre ou de nous attarder sur la sécurité de l’application.
Pour rappel et pour l’avoir dit précédemment (ou quitte à être gâteux avant l’âge), la sauvegarde représente un enjeu majeur et stratégique des organisations. Les chaines de sauvegarde et le respect des bonnes pratiques relatives à l’infrastructure de backup constituent le dernier bastion, rempart en cas de sinistre naturel ou criminel.
Networking
Databases
Backup Repository
Security & Compliance Analyser
Comme j’ai du déjà le dire précédemment, depuis la version 12, VEEAM à mis à disposition un petit outil dans la console qui permet de vérifier si les bonnes pratiques et recommandations sont appliqués à l’environnement ainsi qu’à l’application. C’est une nouvelle fois super en terme de MCO9. Naturellement, un guide existe et une nouvelle fois, je ne compte pas paraphraser toute la section qui aborde le sujet. Mais il convient de s’y attarder un petit peu. 🙂 Pour le reste => Lien.
L’outil aborde deux sections de sécurité. La première concerne l’environnement de sauvegarde et la seconde la configuration du produit. Pour plus de simplicité nous distinguerons les deux sections dans un module « accordéon« .
Une fois la console VEEAM démarré et que nous sommes authentifiés, dans le bandeau, sélectionnez l’application Security & Compliance Analyser
Ce qui nous donne une jolie petite windows avec le résultat de l’analyse de sécurité de notre système. Si le système n’a pas été durci vous devriez avoir l’affichage suivant.
C’est dans la version 12.2 que le point N°12 et N°13 font leurs apparitions. Toujours plus de sécurité, encore plus !
Bon, on s’y met ? 😀
Backup Infrastructure Security
Normalement, si nous avons bien suivit toutes les étapes, nous devrions avoir le résultat suivant.
Sauf que voila, ça fait tâche de voir un Warning quant aux points de contrôles des protocoles SSL/TLS obsolètes. Il faudrait dans ce cas, que le contrôle ne se porte pas uniquement sur les valeurs de clés de registres mais également sur les clés de registres elles mêmes.
Ainsi, si nous trichons en créant les clés de registres manquantes et ajoutons les valeurs attendus, nous obtenons un 100%.
Est ce pourtant bien de la triche ? Je répondrai que non car aucun point n’a été supprimé ou masqué et que l’ensemble des recommandations de sécurité propres à l’infrastructure de sauvegarde a été implémenté.
De nature feignante et devant dans le cadre de mon activité professionnel déployer fréquemment des environnements VEEAM, j’ai décidé de scripter cette partie. Cette dernière sera disponible plus bas.
Product Configuration
Github
/!\ Attention /!\ : Le script dans sa version 1.0.2 contient deux dysfonctionnements et restent en statu béta, alpha. Il manque les blocks de descriptions des fonctions, et l’optimisation des points 7 et 10. D’autres fonctionnalités viendrons s’ajouter. Comme indiqué, le travail de R&D reste sur mon temps perso et donc ne me permet pas de « livrer »/ »mettre à disposition » une solution propre clé en main. Avant d’appliquer le script, je vous recommande un snapshot à froid de votre serveur VEEAM.
Conclusion
C’est encore un gros billet que tu nous sors là Père GUILLEMARD ! Hé, oui mon gars ! Félicitation si t’as pas décroché entre temps. Je penserai à te donner un succès Gold ou Platinium sur le PlayStation Store 🙂
Plus sérieusement, je n’avais JAMAIS poussé aussi loin la configuration et la sécurisation d’une infrastructure VEEAM B&R. Et encore, par manque de ressource sur ma petite machine, je n’ai pas poussé le vice à déployer un WAN Accelerator et un Proxy VEEAM (m’enfin dans la logique c’est pas super compliqué il faut juste de la rigueur et du bon sens). Comme nous sommes dans la confidence, je dirai même que j’ai le sentiments d’être un imposteur quant aux infrastructures VEEAM que j’ai pu déployer. C’est un peu le fameux « Nan, mais je sais » alors qu’en réalité je ne savais pas.
VEEAM nous offre dans ces versions de nouvelles fonctionnalités toujours plus poussées et orientées sécurité. Il est difficile (par manque de temps peut-être ?) de suivre toutes ces nouvelles fonctionnalités d’une version à une autre et donc de se remettre en question et de modifier en bien nos infrastructures. Pour autant, cela fait il de moi un charlot ? Egalement ce qui doit être souligné, c’est que VEEAM en plus de prodiguer les bonnes pratiques met à disposition des outils pour suivre l’état de santé des services dans ces solutions pour rester le plus performant possible.
La sauvegarde et l’ensemble de son écosystème représente le dernier bastion des systèmes d’informations. La bonne gestion de cet écosystème permet de se prémunir de sinistre matériel, infrastructure ou d’attaques informatiques et de pouvoir repartir dans des délais acceptable selon le RTO établi. Dans le cas contraire, des mots durs et difficiles à entendre peuvent apparaitre « dépôt de bilan », « licenciement », « perte financière », « cessation d’activité »… Welcome to Amish Paradise
Il ne faut pas négliger la sauvegarde.
Et j’inviterai chaque dirigeant ou directeur des systèmes d’informations à demander un rapport d’audit de leur infrastructure de sauvegarde de manière ponctuelle. De plus les KPIs23 de l’ensemble des jobs de sauvegardes devraient être présenté dans des rapports et revues hebdomadaires, mensuelles et annuelles.
Dans les perspectives d’évolutions et le pourquoi de cette article, VEEAM DR (ou Backup & Réplication) va me permettre de poursuivre avec d’autres articles, notamment la VCC, VSPC, Repo Hardened, Repo Stockage S3 ainsi qu’une passerelle entre VEEAM et ITOP concernant le MCO des sauvegardes journalières.
Le mot de la fin :
C’est un coup des russes ? Alerte Générale !!! Ah pardon, mais vous étiez en case mandoline. Vous reculez de 3 GFS et vous restaurez chez LAMELOISE. Pensez à la NDF.
Erwan GUILLEMARD
Sources
- Définition Sauvegarde
- FIPS
- VEEAM B&R 12.1 – ISO
- VEEAM B&R 12.1 – Guide
- VEEAM B&R 12.1 – Ports
- VEEAM B&R 12.1 – Securities Compliants guide
- VEEAM B&R 12.X – VMWare Permissions
- WINDOWS – LSASS
- WINDOWS – WPAD
- WINDOWS – WinUpdate Server
- RTFM : Read The Fucking Manuel ↩︎
- PAS : Plan d’Assurance Qualité ↩︎
- CE : Community Edition ↩︎
- FIPS : Federal Information Processing Standard ↩︎
- UTM : Unified threat management ↩︎
- ACLs : Access Control List ↩︎
- NTLMv2 : Network Lan Manager Version 2 ↩︎
- LUNs : Logical Unit Number ↩︎
- MCO : Maintient en Condition Opérationnelle ↩︎
- VCC : VEEAM CLOUD CONNECT ↩︎
- RDP : Remote Desktop Protocol ↩︎
- WinRM : Windows Remote Management ↩︎
- WPAD : Web Proxy Auto-Discovery ↩︎
- MiTM : Man In The Middle ↩︎
- WSH : Windows Script Host ↩︎
- SMB : Server Message Block ↩︎
- LLMNR : Link-Local Multicast Name Resolution ↩︎
- LSASS : Local Security Authority Subsystem Service ↩︎
- RI : Reverse Incremental ↩︎
- FI : Forward Incremental ↩︎
- FFI : Forward Forever Incremental ↩︎
- GFS : GrandFather – Father – Son ↩︎
- KPIs : Keys Performances Indicators ↩︎