SUSE

10 bonnes pratiques pour rendre efficace votre gestion des correctifs.

Rédigé par Thierry Rangeard | 26 juillet 2022

L'organisation SysAdmin, Audit, Network, and Security (SANS) définit des meilleures pratiques (https://www.sans.org/reading-room/whitepapers/bestprac/paper/1206) pour la gestion des correctifs.

Regroupons ces pratiques dans une synthèse en 10 points

1. Faire un Inventaire de votre environnement système.

C'est la base ! Il est indispensable de constituer un inventaire précis de tous les systèmes par type d'OS, de distribution, de version. Ce premier recensement permet de visualiser la disparité des versions et des systèmes présents sur vos infrastructures et d'entamer une démarche d'évolution, mise à niveau.

2. Attribuez des niveaux de risque à chaque serveur.

Les niveaux de risque indiquent aux administrateurs quels serveurs sont les plus importants et doivent être classés par ordre de priorité. Tous les systèmes doivent être corrigés, mais en ciblant les serveurs les plus importants, on réduit le risque qu'ils soient compromis pendant que les tests et autres correctifs sont en cours.

3. Consolider la gestion des correctifs avec une seule solution.

Les outils d'automatisation sont indispensables. Mais il faut faire attention à leurs multiplications. L'utilisation de différents outils apportant des modifications à l'environnement peut entraîner de nombreuses erreurs et d'éventuels conflits.

4. Suivre régulièrement les publications de correctifs de vos fournisseurs OS.

Les outils d'automatisation téléchargent automatiquement  les mises à jour. Ce qui n’évite pas que les administrateurs doivent se tenir informés de la disponibilité de nouveaux correctifs et en particulier les correctifs critiques.

Même si les tests sont importants, une bonne règle générale consiste à appliquer les correctifs dans les 30 jours suivant leur mise à disposition par les fournisseurs.

5. Réduire les risques d'échec des correctifs

Il n'est pas rare d'interrompre les mises à jour en raison d'un problème survenu lors de l'application d'un correctif. Lorsque cela se produit, les serveurs doivent être verrouillés pour éviter tout risque d'exploitation.

6. Tester les correctifs en premier lieu dans un environnement de test.

En effet, il existe une règle d’or : proscrire toutes modifications sur un serveur en production sans avoir effectué une série de validation et de tests de qualification !!

Un environnement de test doit reproduire l'environnement de production, de sorte que les correctifs puissent être testés. Cela permet de mesurer et réduire le risque de temps d'arrêt.

Attention, ces environnements de test doivent être une réplique parfaite de l'environnement de production afin de garantir une correspondance 1:1 pendant les tests, faute de quoi des incompatibilités, des évolutions de paquets non maîtrisées, des versions de Kernel  pourraient entraîner des interruptions de production.

7. Patcher le plus rapidement que possible.

Plus un serveur reste sans correctif, plus le risque de compromission due à une vulnérabilité connue est élevé.

Pour les correctifs de sécurité, il est essentiel que les administrateurs soient abonnés à des listes de distributions relatives à la sécurité (CVE) pour chaque fournisseur, les testent et les déploient dès que possible. Les vulnérabilités de type "Zero Day” constituent une menace réelle pour les entreprises et leurs données numériques. Lorsque des vulnérabilités de type "Zero Day" sont découvertes, elle donne naissance à une CVE. Il faut aller au plus vite, car les auteurs de la menace créent rapidement des exploits qui tirent parti des systèmes non corrigés. 

8. Mettre à jour les applications

Bien que la gestion des correctifs reste souvent focalisée sur les systèmes d'exploitation. Il est tout aussi important de maintenir les applications à jour avec les derniers correctifs. Les applications ont besoin de permissions pour fonctionner, et si un attaquant parvient à compromettre une application en exploitant une vulnérabilité connue, il sera en mesure de fonctionner avec le même niveau de permissions que celui qui a été attribué à l'application.

Il est donc important d'inclure les applications (commerciale, open source, interne) dans le processus de gestion des correctifs afin de remédier à leurs vulnérabilités en matière de sécurité.

9. Automatiser.

Les outils d'automatisation déchargent les administrateurs d'une grande partie de leurs tâches et déploient automatiquement les correctifs lorsqu'ils sont disponibles. En effet, dans un environnement entreprise, il est courant que de nouvelles mises à jour soient disponibles chaque jour !

Ce qui impliquerait la vérification manuelle chaque jour : de la présence de nouveaux correctifs pour chaque distribution, puis de tester, de valider et enfin de déployer. Il en résulterait des tâches fastidieuses et inutiles. L’automatisation est donc inévitable.

10. Centraliser la gestion

Le pilotage de la gestion des correctifs reste une tâche complexe et fastidieuse, même si l’automatisation apporte de la flexibilité. Une console unique de gestion permet notamment la délégation des tâches par domaine de responsabilité, et la supervision des mises à jour réalisées.

Mais comment mettre en œuvre cette gestion des correctifs ?

Des bonnes pratiques à la réalité du terrain, il peut y avoir des contraintes de ressources, d’équipe ou de budget qui peuvent venir altérer la bonne mise en œuvre. Lors de nos missions, nous avons toujours fait en sorte d’appliquer une stratégie de gestion des correctifs simple, mais efficace.

En effet, contrairement aux systèmes d'exploitation comme Microsoft Windows, Apple OSX, les correctifs Linux peuvent être plus nombreux, imprévisibles et complexes. L'open-source possède de nombreux avantages, mais l'un de ses inconvénients est d'utiliser un système d'exploitation maintenu par de nombreux contributeurs qui apportent chacun des modifications. Une seule modification incompatible peut affecter le fonctionnement du système qui maintient vos applications métiers .

De par notre expérience, nous avons élaboré une méthodologie simple en 5 étapes :

1-  Créer une stratégie de gestion des correctifs.

Cette stratégie doit inclure toutes les étapes : les tests d'assurance qualité avec l’usage des environnements de Test, QA, la fréquence de mise à jour des correctifs, les procédures de retour en arrière, les procédures d’approbation des modifications du système d'exploitation.

2- Utilisez des outils d'analyse qui détectent les vulnérabilités.

Qu'il s'agisse de serveurs accessibles au public ou internes exécutant des applications d'entreprise. L’analyse des vulnérabilités permet d’identifier les systèmes non corrigés et d'éviter les exploitations des failles connues par la remédiation.

3- Utilisez les tableaux de bord pour identifier
l’application des correctifs qui ont échoué
.

Comment savoir si l'installation d'un patch a réussi ?

Une bonne solution de gestion des correctifs doit disposer d'un tableau de bord central qui affiche des rapports sur les installations de correctifs réussies et échouées afin que les administrateurs puissent identifier et corriger les systèmes si nécessaire.

4- Déployez les correctifs dès que les tests sont terminés.

Les phases de tests sont importantes avant chaque déploiement. Dès que les tests sont validés sur l’environnement de Qualification. Les correctifs doivent être installés sur tout l'environnement.

5- Documenter les modifications apportées aux environnements.

Habituellement, la documentation se fait sous la forme d'une gestion des changements où les contributeurs autorisés signifient les mises à jour de l'environnement. Cette étape est importante pour l’analyse des temps d'arrêt, l'analyse de la cause des incidents. Elle est également importante pour des raisons d'audit et de conformité.

 

La gestion des patchs est la première brique essentielle qui pose la fondation de la sécurité opérationnelle informatique. Il ne faut pas la sous-estimer, mais construire une véritable stratégie en fonction de votre infrastructure et des déploiements faits et à venir.

Oui il faut une ou des ressources humaines en charge de cette démarche sous peine de devoir passer plus de temps à résoudre les problèmes aux conséquences potentiellement importantes en cas de négligences.