Comment résoudre les problèmes liés à un correctif KB manquant après une opération de correction réussie sur des instances Windows EC2 via Patch Manager ?

Lecture de 6 minute(s)
0

Je souhaite résoudre les problèmes liés aux correctifs manquants sur mes instances Windows Amazon Elastic Compute Cloud (Amazon EC2) via Patch Manager, une fonctionnalité d'AWS Systems Manager.

Brève description

Les scénarios suivants sont les raisons les plus courantes de l'absence d'un correctif :

  • Le correctif n'est pas applicable au type de système d'exploitation de l'instance.
  • Les détails du package de la base de connaissances Microsoft (KB) ne correspondent pas à la configuration du référentiel.
  • Un correctif plus récent est déjà publié.
  • Le correctif n'est pas disponible sur le canal de publication de Windows Server Update Services (WSUS).
  • Le correctif est déjà installé sur l'instance.

Résolution

Le correctif n'est pas applicable au type de système d'exploitation de l'instance

Pour vérifier si le correctif est applicable à l'instance, procédez comme suit :

  1. Ouvrez Microsoft Update Catalog.
  2. Utilisez l'ID du correctif pour effectuer une recherche parmi les articles de la base de connaissances Microsoft. Exemple d'ID de correctif : KB3216916.
  3. Sous Product, vérifiez que les valeurs correspondent à celles du nœud géré.
  4. Vous pouvez voir le nom de produit du nœud géré parmi les paramètres system settings (sur le site Web de Microsoft).

Les détails du package KB ne correspondent pas à la configuration du référentiel

Pour vérifier si la classification, la gravité et la date de publication de la base de données correspondent à la configuration du référentiel, procédez comme suit :

  1. Ouvrez la console AWS Systems Manager.
  2. Dans le volet de navigation, sous Gestion des nœuds, sélectionnez Exécuter la commande.
  3. Cliquez sur l’onglet Historique des commandes.
  4. Sélectionnez ID de commande pour appliquer les correctifs, puis le nœud géré.
  5. Sélectionnez Résultat, puis passez en revue la configuration du paramètre Référentiel.

La classification, la gravité et la date du délai d'approbation doivent correspondre aux détails du package figurant dans Microsoft Update Catalog. Si vous utilisez le référentiel de correctifs par défaut et que la classification des correctifs est différente de celle du référentiel, vous devrez créer un référentiel de correctifs personnalisé.

Utilisez l'une des méthodes suivantes pour vérifier si une base de connaissances particulière est approuvée dans le référentiel de correctifs :

Remarque : Pour exécuter les commandes suivantes, installez la dernière interface de la ligne de commande AWS (AWS CLI) et les outils AWS pour PowerShell sur votre ordinateur ou votre instance EC2.

Commande AWS CLI describe-effective-patches-for-patch-baseline

Pour vérifier si une base de connaissances particulière est approuvée dans le référentiel de correctifs, exécutez la commandedescribe-effective-patches-for.patch-baseline.

L'exemple de commande suivant vérifie si l’ID KB2124261 est approuvé dans le référentiel de correctifs pb-abdce123456789fgh :

aws ssm describe-effective-patches-for-patch-baseline --baseline-id pb-abdce123456789fgh --query "EffectivePatches[][Patch][?KbNumber=='KB2124261'][]"

API GetDeployablePatchSnapshotForInstance

Vous pouvez également utiliser l’API GetDeployablePatchSnapshotForInstance pour générer un instantané. Les exemples de commandes PowerShell suivants permettent de télécharger le fichier de l’instantané sur le bureau de l'utilisateur :

Remarque : Exécutez les commandes PowerShell suivantes à partir de l'instance EC2 cible avec les informations d'identification qui sont supposées provenir du profil d'instance IAM associé. Si vous n'exécutez pas les commandes depuis l'instance EC2 cible avec le profil d'instance IAM associé, vous risquez de recevoir des messages d’erreur du type jeton non valide.

$instanceId = Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id
$snap = Get-SSMDeployablePatchSnapshotForInstance -SnapshotId '521c3536-930c-4aa9-950e-01234567abcd' -InstanceId $instanceId -Verbose
(New-Object Net.WebClient).DownloadFile($snap.SnapshotDownloadUrl, "$env:UserProfile\Desktop\01-snapshot.json")

**Remarque :**Vous pouvez remplacer l'ID de l’instantané par n'importe quel GUID. Utilisez la commande Nouveau-GUID pour générer le remplacement de l'ID de l’instantané à partir de PowerShell.

Un correctif plus récent est déjà publié

Pour vérifier si un nouveau correctif a été publié, procédez comme suit.

  1. Ouvrez Microsoft Update Catalog.
  2. Utilisez l'ID du correctif pour effectuer une recherche parmi les articles de la base de connaissances Microsoft. Exemple d'ID de correctif : KB5015808.
  3. Sous Product, vérifiez que la valeur correspond à celle de votre nœud géré. Sélectionnez ensuite le titre Title correspondant pour ouvrir une nouvelle fenêtre Update Details.
  4. Cliquez sur l’onglet Package Details. Ensuite, sous This update has been replaced by the following updates, vérifiez s'il existe un nouveau correctif.

Le correctif n'est pas disponible sur le canal de publication de WSUS

Sur le système d'exploitation Microsoft Windows, Patch Manager extrait la liste des mises à jour disponibles que Microsoft publie sur Microsoft Update Catalog et automatiquement disponibles pour WSUS. Si le correctif n'est pas disponible sur le canal de publication de WSUS, Patch Manager ne le sélectionnera pas.

Pour vérifier la disponibilité du correctif, procédez comme suit :

  1. Ouvrez Microsoft Update Catalog.
  2. Utilisez l'ID du correctif pour effectuer une recherche parmi les articles de la base de connaissances Microsoft. Exemple d'ID de correctif : KB5015808.
  3. Sous ** More Information**, sélectionnez l'article d'aide. Par exemple, voir July 12, 2022 — KB5015808 (OS Build 14393.5246).
  4. Dans l'article d’aide Microsoft, recherchez la section Release Channel. Vérifiez ensuite si le correctif est disponible sur le canal de publication de Windows Server Update Services (WSUS).

Le correctif est déjà installé sur l'instance

Un correctif est peut-être déjà installé sur l'instance, par exemple, par le biais d'un correctif manuel. Pour vérifier si le correctif est déjà installé sur l'instance, appliquez l'une des méthodes suivantes :

Windows Update OS logs

Vous pouvez obtenir la liste des mises à jour installées via la commande PowerShell **Get-Hotfix ** ou à l’aide du module PSWindowsUpdate. L'exemple de commande suivant utilise le module PSWindowsUpdate. La commande permet de télécharger le fichier WindowsUpdates.txt sur votre bureau.

Install-Module PSWindowsUpdate
Get-WUHistory | ForEach-Object { new-object psobject -Property @{Date = $_.Date; KB = $_.KB; Title = ($_ | Select-Object -ExpandProperty Title) } } | Out-File $env:UserProfile\Desktop\WindowsUpdates.txt

Console Fleet Manager

Vous pouvez utiliser Fleet Manager, une fonctionnalité d'AWS Systems Manager, pour vérifier si le correctif est déjà installé sur l'instance. Pour utiliser la console Fleet Manager, procédez comme suit :

  1. Ouvrez la console AWS Systems Manager.
  2. Dans le volet de navigation, sélectionnez Fleet Manager.
  3. Sélectionnez le nœud géré, puis Vue d’ensemble du nœud.
  4. Sous Correctifs, recherchez la base de connaissances manquante.

commande AWS CLI describe-instance-patches

Pour vérifier si le correctif est installé par programmation, exécutez la commande describe-instance-patches.

L'exemple de commande AWS CLI suivant recherche KB4521862 :

aws ssm describe-instance-patches --instance-id "i-0b806abcdef12345" --filters "Key=KBId,Values=KB4521862"
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an