Getty Images/iStockphoto
Les meilleures pratiques en matière de gestion des correctifs
Toutes les entreprises doivent mettre à jour leurs logiciels pour des questions de sécurité. Mais si elles ne procèdent pas à des tests minutieux, de graves dysfonctionnements peuvent alors survenir. Voici comment vous assurer que vous suivez les bonnes étapes.
Pour garantir un déploiement maîtrisé lorsqu’un correctif est déployé sur votre système, il est important de le tester d’abord dans un environnement hors production. Les entreprises installent généralement des correctifs logiciels et micrologiciels pour corriger des bugs, supprimer des vulnérabilités ou ajouter de nouvelles fonctionnalités, mais sans test préalable, les correctifs peuvent mettre les systèmes en danger ou les rendre instables.
Pourquoi les tests de correctifs logiciels sont-ils importants ?
Les logiciels ne seront jamais totalement exempts de bugs, même si les meilleures pratiques de développement sont respectées. C’est la raison pour laquelle nous disposons tous de « vendor patching », une mise à jour postérieure à la publication d’un logiciel, proposée par l’éditeur, et qui corrige les bugs nouvellement découverts, qu’il s’agisse de systèmes d’exploitation, de microprogrammes d’équipements réseau, d’applications ou d’applications mobiles.
Bien que les éditeurs s’emploient généralement à tester rigoureusement les correctifs avant de les diffuser, il leur est impossible d’évaluer l’infinité de configurations et de scénarios possibles dans lesquels chaque correctif sera déployé. La responsabilité de vérifier qu’il n’y aura pas de problèmes lors de l’installation d’un correctif incombe donc à chaque organisation qui le déploie.
Les correctifs peuvent entraîner la défaillance immédiate d’un terminal ou d’une application, l’ampleur de l’impact étant corrélée à leur importance dans votre système. Toutefois, certains problèmes n’apparaissent que lorsqu’une combinaison particulière d’événements déclenche une erreur.
Pour éviter ces pannes et perturbations potentielles, vous devez tester les correctifs de manière exhaustive avant de les installer sur vos systèmes de production. Ce test est peut-être l’étape la plus critique du processus de gestion des correctifs de l’entreprise, afin d’éviter le risque de déstabilisation de l’environnement informatique par les correctifs.
Comment tester un correctif logiciel ?
L’objectif des tests de correctifs est de déterminer si un correctif posera des problèmes pour la combinaison unique de matériel, de logiciels et de paramètres de configuration d’une organisation donnée. La meilleure façon d’y parvenir est de créer un environnement de test qui reflète le plus fidèlement possible l’environnement de production. Cela peut s’avérer coûteux s’il faut maintenir des environnements réels en double. À grande échelle, cela devient impossible, c’est pourquoi on utilise souvent un échantillon représentatif des actifs IT déployés.
Par exemple, un correctif peut être installé uniquement sur un groupe test de postes de travail d’employés, de sorte que s’il ne s’installe pas complètement ou, s’il pose des problèmes, que la plupart des employés ne seront pas affectés. Une autre solution consiste à créer un environnement de test virtuel, comme nous le verrons plus loin. L’idéal est de pouvoir effectuer des tests complets en cas de besoin et à un coût acceptable.
Les tests consistent à comparer les performances des applications avant et après le déploiement des correctifs et à s’assurer que les autres applications fonctionnant dans l’environnement cible ne sont pas affectées négativement. Ils nécessitent de simuler des cycles d’utilisation et des pics de charge saisonniers, car certains problèmes n’apparaissent qu’à partir d’un seuil donné ou lors de l’exécution de fonctions, par exemple la paie mensuelle.
L’automatisation de ce type de tests peut réduire les risques dans les mises à jour de sécurité. Il est également important de confirmer qu’un correctif corrige effectivement le problème identifié, qu’il ne nécessite pas un redémarrage du système pour prendre effet et qu’il peut être supprimé ou annulé sans causer de problèmes.
Enfin, les détails concernant les correctifs individuels, les résultats des tests et les déploiements doivent être documentés dans les journaux de gestion des changements.
Meilleures pratiques en matière de tests de correctifs de sécurité
Le processus d’application des correctifs est un élément clé de la gestion des vulnérabilités, il est donc important de bien faire les choses. L’application des meilleures pratiques suivantes en matière de test des correctifs logiciels permettra de révéler tout conflit avec les configurations existantes propres aux systèmes sur lesquels un correctif sera installé, ce qui évitera de perturber les activités de l’entreprise.
Déterminer ce qui est le plus important
Pour identifier les problèmes de sécurité et les mises à jour logicielles qui concernent votre environnement, vous devez disposer d’un solide inventaire des actifs et des logiciels. Dans les environnements complexes, la meilleure façon de gérer le processus est d’utiliser un outil automatisé de gestion des correctifs.
Attribuer un niveau de criticité à tous les actifs afin d’évaluer leur importance dans les processus opérationnels, les périodes d’indisponibilité optimales et les niveaux de risque de vulnérabilité. Classez les correctifs par ordre de priorité et testez, planifiez et déployez les correctifs critiques avant les correctifs moins essentiels.
La gestion des changements est essentielle et devrait inclure le suivi de chaque mise à jour et de chaque étape du processus de gestion des correctifs. La politique de gestion des changements doit décrire les processus utilisés pour identifier et déployer les correctifs, ainsi que les responsables de chaque étape du workflow mis en œuvre.
Les fournisseurs publient régulièrement des correctifs, et il est important de s’assurer que vous sachiez repérer les plus importants. Le système CVSS (Common Vulnerability Scoring System) est un outil utile qui évalue la gravité des failles de sécurité dans un large éventail de logiciels.
Parce qu’il est neutre par rapport aux applications et aux fournisseurs, les équipes de sécurité peuvent utiliser le CVSS, pour évaluer plus facilement l’impact des vulnérabilités sur leurs systèmes et établir des priorités afin de les corriger en premier. Pour les applications développées en interne, utilisez un outil d’analyse de la composition des logiciels, qui recense tous les composants open source et tiers utilisés par une application. C’est le meilleur moyen de suivre les annonces de mises à jour et de correctifs des fournisseurs concernant ces composants.
Une fois le correctif téléchargé, vérifiez sa source et son intégrité. Une signature numérique est généralement fournie à cet effet. À moins que vous ne soyez confronté à une menace imminente, prenez le temps de voir ce que les sources pertinentes disent du correctif et si quelqu’un signale des problèmes après l’installation. Lorsque l’on suit les meilleures pratiques en matière de tests de correctifs, il n’est pas toujours préférable d’être le premier…
Répliquer les environnements grâce à la virtualisation
La virtualisation est un élément précieux de la stratégie de test des correctifs logiciels, car elle permet de reproduire des environnements de production sur un seul ordinateur, de préférence en utilisant le même matériel. L’exécution virtuelle de plusieurs systèmes d’exploitation permet d’économiser du temps, de l’espace et de l’argent.
La virtualisation vous permet de vérifier que l’application des correctifs n’entraînera pas un comportement inattendu ou indésirable du système. Cependant, les infrastructures sont devenues plus complexes et il est difficile d’exposer un correctif à autant de scénarios et de configurations que possible. Les services de cloud public, tels que Microsoft Azure et AWS, constituent un moyen rentable de créer un environnement dédié aux tests de correctifs, identique à votre système de production. Les services en ligne qui reproduisent tout ou partie de l’environnement de production sont une autre option.
Les tests de correctifs logiciels ne se limitent pas à s’assurer que l’ensemble des terminaux redémarrent correctement. Vous devez également vérifier qu’un correctif a été déployé avec succès et effectuer des tests généraux pour déterminer si toutes les fonctions principales du logiciel semblent fonctionner correctement. Soyez attentif aux changements imprévus dans l’environnement de test, tels que les suivants :
- Échecs de l’application.
- Changements dans les autorisations.
- Services nouvellement désactivés ou activés.
- Perturbation des services.
- Code affecté négativement.
Si les tests donnent un résultat insatisfaisant, identifiez la cause profonde du problème avant d’aller plus loin.
Les mises en production, si elles sont effectuées par étapes, constituent une autre partie des tests. Appliquez le déploiement initial aux systèmes moins critiques et, s’ils fonctionnent comme prévu, poursuivez le déploiement jusqu’à ce que tous les systèmes soient mis à jour. Le processus de test est terminé lorsque le déploiement complet est achevé et qu’aucun problème n’a été signalé en l’espace d’une semaine. Si un système existant ne peut pas être corrigé, il est essentiel de concevoir une stratégie alternative pour atténuer les menaces qui en résultent.
Attention au redémarrage
Au moins 90 % des déploiements de correctifs nécessiteront un redémarrage du système. Prévoyez une fenêtre de maintenance pour appliquer les correctifs au système de production, afin d’éviter un redémarrage inattendu qui pourrait perturber les activités de l’entreprise (ou causer d’autres problèmes). Envisagez diverses stratégies de correctifs, telles que la réalisation de mises à jour selon un calendrier mensuel régulier, l’organisation d’un week-end pour appliquer les patchs à tous les systèmes en même temps ou même le déploiement de petites mises à jour tout au long du mois. L’objectif est toujours d’éviter que des problèmes de correctifs inattendus n’apparaissent d’un seul coup.
Même avec un programme de test complet, il est sage d’avoir un plan d’urgence et de retour en arrière en cas de problème, afin que les systèmes puissent être restaurés dans leur état d’avant l’application des correctifs. Effectuez une sauvegarde ou une capture d’image de chaque système avant de commencer le déploiement des correctifs. Si le personnel est insuffisant, envisagez de faire appel à un fournisseur externe. Certaines entreprises proposent des services de correction, tels que le test des correctifs pour les applications couramment utilisées et la préparation de scripts pour le déploiement des patchs sur les systèmes de production. Méfiez-vous toutefois de l’utilisation d’outils de mise à jour automatique sur les systèmes critiques, car vous aurez beaucoup moins de contrôle sur le moment où les correctifs seront appliqués.
Autres considérations relatives aux tests
La mise à jour des correctifs sur une infrastructure IT de grande taille est une tâche fastidieuse qui, si elle n’est pas gérée correctement, peut entraîner des temps d’arrêt inutiles ou la vulnérabilité des systèmes. Pour faciliter les processus de test et de déploiement des patchs, envisagez de consolider et de normaliser les logiciels utilisés dans l’ensemble de l’organisation. Cela réduira considérablement le nombre d’applications à surveiller, à tester et à corriger.
Toutes les mises à jour de correctifs ne se déroulent pas sans heurts. Tirez donc les leçons de ces situations et documentez ce qui n’a pas fonctionné afin d’éviter que la même erreur ne se reproduise.
Il peut arriver qu’un terminal ou une application ne puisse pas être mis à jour avec un patch de sécurité néanmoins important. Dans ce cas, il est essentiel de tester d’autres méthodes pour atténuer la vulnérabilité et de le déployer dès que possible.
L’application de correctifs joue un rôle clé dans la sécurisation des systèmes. Divers audits, normes et réglementations exigent des rapports sur le déploiement des patchs (par exemple en matière de RGPD). Les amendes et autres coûts consécutifs à une violation peuvent être extrêmement élevés s’il s’avère que les systèmes d’une organisation et les données de ses clients ont été exposés en raison de l’utilisation d’un logiciel non corrigé.