INTRODUCTION
Microsoft a publié le bulletin de sécurité MS14-025. Pour en savoir plus sur ce bulletin de sécurité :
-
Utilisateurs grand public :
http://www.microsoft.com/fr-fr/security/pc-security/updates.aspxIgnorer les détails : Téléchargez les mises à jour pour votre ordinateur privé ou portable à partir du site web Microsoft Update maintenant :
-
Professionnels de l'informatique :
https://technet.microsoft.com/fr-fr/library/security/ms14-025
Procédure pour obtenir de l'aide et un support pour cette mise à jour de sécurité
Support pour Microsoft Update Solutions de sécurité pour les professionnels de l'informatique :Résolution des problèmes de sécurité TechNet et support Protection de votre ordinateur Windows contre les virus et les logiciels malveillants :Centre de sécurité et de solutions antivirus Support local selon votre pays :Support international
Aide à l'installation des mises à jour :Plus d'informations
Problèmes connus et informations supplémentaires concernant cette mise à jour de sécurité
Les articles suivants contiennent des informations supplémentaires sur cette mise à jour de sécurité car elle concerne des versions de produits individuels. Les articles peuvent contenir des informations sur les problèmes connus. Si c'est le cas, le problème connu est répertorié sous chaque lien d'article.
-
2928120 MS14-025 : Description de la mise à jour de sécurité pour les Outils d'administration de serveur distant Windows pour les systèmes sur lesquels la mise à jour 2919355 est installée : 13 mai 2014
-
2961899 MS14-025 : Description de la mise à jour de sécurité pour les Outils d'administration de serveur distant Windows pour les systèmes sur lesquels la mise à jour 2919355 n'est pas installée : 13 mai 2014
Préférences de stratégie de groupe
Présentation
Certaines préférences de stratégie de groupe peuvent enregistrer un mot de passe. Cette fonctionnalité est supprimée car le mot de passe a été enregistré de façon non sécurisée. Cet article décrit les modifications de l'interface utilisateur et les solutions de contournement disponibles. Les préférences de stratégie de groupe suivantes ne permettront plus d'enregistrer les noms d'utilisateur et les mots de passe :
-
Mappages de lecteurs
-
Utilisateurs et groupes locaux
-
Tâches planifiées
-
Services
-
Sources de données
Cela affectera le comportement des objets Stratégie de groupe (GPO) existants dans votre environnement qui reposent sur des mots de passe contenus dans ces préférences. Il empêche également la création de nouvelles préférences de stratégie de groupe à l'aide de cette fonctionnalité.
Pour les mappages de lecteurs, les utilisateurs et groupes locaux, ainsi que les services, vous parviendrez à des objectifs similaires grâce à une fonctionnalité plus sécurisée de Windows. Pour les tâches planifiées et les sources de données, vous ne pourrez pas obtenir les mêmes résultats que ceux possibles via la fonctionnalité non sécurisée de mots de passe de préférences de stratégie de groupe.Scénarios
Les préférences de stratégie de groupe suivantes sont affectées par cette modification. Chaque préférence est présentée brièvement, puis de façon plus détaillée. En outre, les solutions de contournement qui permettent d'effectuer les mêmes tâches sont fournies.
Préférence affectée |
S'applique à l'utilisateur |
S'applique à l'ordinateur |
Gestion d'utilisateur local |
Oui |
Oui |
Lecteurs mappés |
Oui |
Non |
Services |
Non |
Oui |
Tâches planifiées (haut niveau) |
Oui |
Oui |
Tâches planifiées (haut niveau) |
Oui |
Oui |
Tâches immédiates (haut niveau) |
Oui |
Oui |
Tâches immédiates (bas niveau) |
Oui |
Oui |
Sources de données |
Oui |
Oui |
Résumé des modifications
-
Les champs de mot de passe de toutes les préférences concernées sont désactivés. Les administrateurs ne peuvent pas créer de nouvelles préférences à l'aide de ces champs de mot de passe.
-
Le champ nom d'utilisateur est désactivé dans certaines préférences.
-
Les préférences existantes qui contiennent un mot de passe ne peuvent pas être mises à jour. Elles ne peuvent qu'être supprimées ou désactivées, selon le cas pour la préférence spécifique.
-
Le comportement pour les actions de suppression et de désactivation n'a pas changé pour les préférences.
-
Lorsqu'un administrateur ouvre une préférence qui contient l'attribut CPassword, la boîte de dialogue d'avertissement suivante s'affiche pour l'informer de la désapprobation récente. Les tentatives d'enregistrement de modifications apportées aux préférences nouvelles ou existantes qui nécessitent l'attribut CPassword entraîneront l'affichage de la même boîte de dialogue. Seules les actions de suppression et de désactivation ne déclencheront pas de boîtes de dialogue d'avertissement.
Scénario 1 : Gestion d'utilisateur local
La préférence Gestion d'utilisateur local est fréquemment utilisée pour créer des administrateurs locaux qui possèdent un mot de passe connu sur un ordinateur. Cette fonctionnalité n'est pas sécurisée en raison de la manière dont les préférences de stratégie de groupe stockent les mots de passe. Par conséquent, cette fonctionnalité n'est plus disponible. Les raccourcis suivants sont affectés :
-
Configuration ordinateur -> Paramètres du Panneau de configuration -> Utilisateurs et groupes locaux -> Nouveau -> Utilisateur local
-
Configuration utilisateur -> Paramètres du Panneau de configuration -> Utilisateurs et groupes locaux -> Nouveau -> Utilisateur local
Modifications importantes
Action : créer ou remplacer
-
Les champs Nom d'utilisateur, Mot de passe et Confirmer le mot de passe sont désactivés.
-
La boîte de dialogue d'avertissement s'affiche lorsque l'utilisateur ouvre ou essaie d'enregistrer des modifications apportées à une préférence existante qui contient un mot de passe.
Action : mise à jour
-
Les champs Mot de passe et Confirmer le mot de passe sont désactivés.
-
La boîte de dialogue d'avertissement s'affiche lorsque l'utilisateur ouvre ou essaie d'enregistrer des modifications apportées à une préférence existante qui contient un mot de passe.
Action : suppression
-
Aucun changement de comportement
Solutions de contournement
Si vous utilisiez la préférence de stratégie de groupe pour définir des mots de passe d'administrateurs locaux, le script suivant peut servir d'alternative sécurisée à CPassword. Copiez et enregistrez le contenu dans un nouveau fichier Windows PowerShell, puis exécutez le script comme indiqué dans sa section .EXAMPLE. Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissiez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques. function Invoke-PasswordRoll { <# .SYNOPSIS Ce script peut être utilisé pour définir les mots de passe du compte local sur les ordinateurs distants pour les mots de passe aléatoires. La combinaison nom d'utilisateur/mot de passe/serveur est enregistrée dans un fichier CSV. Les mots de passe de compte enregistrés dans le fichier CSV peuvent être chiffrés à l'aide d'un mot de passe choisi par les administrateurs afin que les mots de passe de compte ne soient pas inscrits en texte clair sur le disque. Les mots de passe chiffrés peuvent être déchiffrés à l'aide d'une autre fonction dans ce fichier : ConvertTo-CleartextPassword Fonction : Invoke-PasswordRoll Auteur : Microsoft Version : 1.0 .DESCRIPTION Ce script peut être utilisé pour définir les mots de passe du compte local sur les ordinateurs distants pour les mots de passe aléatoires. La combinaison nom d'utilisateur/mot de passe/serveur est enregistrée dans un fichier CSV. Les mots de passe de compte enregistrés dans le fichier CSV peuvent être chiffrés à l'aide d'un mot de passe choisi par les administrateurs afin que les mots de passe de compte ne soient pas inscrits en texte clair sur le disque. Les mots de passe chiffrés peuvent être déchiffrés à l'aide d'une autre fonction dans ce fichier : ConvertTo-CleartextPassword .PARAMETER ComputerName Groupe d'ordinateurs à utiliser pour exécuter le script à l'aide de l'accès distant PowerShell. .PARAMETER LocalAccounts Groupe de comptes locaux dont le mot de passe doit être modifié. .PARAMETER TsvFileName Fichier dans lequel exporter les combinaisons nom d'utilisateur/mot de passe/serveur. .PARAMETER EncryptionKey Mot de passe avec lequel chiffrer le fichier TSV. Utilise le chiffrement AES. Seuls les mots de passe enregistrés dans le fichier TSV seront chiffrés, le nom d'utilisateur et le nom du serveur seront en texte clair. .PARAMETER PasswordLength Longueur des mots de passe générés aléatoirement pour les comptes locaux. .PARAMETER NoEncryption Ne chiffrez pas les mots de passe de compte enregistrés dans le fichier TSV. Cela a pour effet d'écrire les mots de passe en texte clair sur le disque. .EXAMPLE . .\Invoke-PasswordRoll.ps1 #Charge les fonctions de ce fichier de script Invoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator","CustomLocalAdmin") -TsvFileName "LocalAdminCredentials.tsv" -EncryptionKey "Password1" Connexion à tous les ordinateurs enregistrés dans le fichier « computerlist.txt ». Si le compte local « administrateur » et/ou « CustomLocalAdmin » est présent sur le système, son mot de passe est modifié en un mot de passe généré aléatoirement d'une longueur de 20 caractères (paramètre par défaut). Les combinaisons nom d'utilisateur/mot de passe/serveur sont enregistrées dans LocalAdminCredentials.tsv, et les mots de passe de compte sont chiffrés en AES à l'aide du mot de passe « Password1 ». .EXAMPLE . .\Invoke-PasswordRoll.ps1 #Charge les fonctions de ce fichier de script Invoke-PasswordRoll -ComputerName (Get-Content computerlist.txt) -LocalAccounts @("administrator") -TsvFileName "LocalAdminCredentials.tsv" -NoEncryption -PasswordLength 40 Connexion à tous les ordinateurs enregistrés dans le fichier « computerlist.txt ». Si le compte local « administrateur » est présent sur le système, son mot de passe est modifié pour un mot de passe généré aléatoirement d'une longueur de 40 caractères. Les combinaisons serveur/nom d'utilisateur/mot de passe sont stockées dans LocalAdminCredentials.tsv non chiffré. .NOTES Conditions requises : -PowerShellv2 ou supérieur doit être installé -La communication à distance PowerShell doit être activée sur tous les systèmes sur lesquels le script sera exécuté Comportement de script : -Si un compte local est présent sur le système, mais n'est pas spécifié dans le paramètre LocalAccounts, le script affiche un avertissement à l'écran pour vous avertir de la présence de ce compte local. Le script continue de s'exécuter lorsque cela se produit. -Si un compte local est spécifié dans le paramètre LocalAccounts, mais que le compte n'existe pas sur l'ordinateur, rien ne se passe (AUCUN compte ne sera créé). -La fonction ConvertTo-CleartextPassword, contenue dans ce fichier, peut être utilisée pour déchiffrer les mots de passe enregistrés sous forme chiffrée dans le fichier TSV. -Si la connexion à un serveur spécifié dans ComputerName est impossible, PowerShell renvoie un message d'erreur. -Microsoft conseille aux entreprises de changer régulièrement tous les mots de passe locaux et de domaine. #> [CmdletBinding(DefaultParameterSetName="Encryption")] Param( [Parameter(Mandatory=$true)] [String[]] $ComputerName, [Parameter(Mandatory=$true)] [String[]] $LocalAccounts, [Parameter(Mandatory=$true)] [String] $TsvFileName, [Parameter(ParameterSetName="Encryption", Mandatory=$true)] [String] $EncryptionKey, [Parameter()] [ValidateRange(20,120)] [Int] $PasswordLength = 20, [Parameter(ParameterSetName="NoEncryption", Mandatory=$true)] [Switch] $NoEncryption ) #Chargez toutes les classes .net nécessaires Add-Type -AssemblyName "System.Web" -ErrorAction Stop #Il s'agit du scriptblock qui sera exécuté sur chaque ordinateur spécifié dans ComputerName $RemoteRollScript = { Param( [Parameter(Mandatory=$true, Position=1)] [String[]] $Passwords, [Parameter(Mandatory=$true, Position=2)] [String[]] $LocalAccounts, #Vous pouvez ainsi noter quel était le nom de serveur auquel le script était connecté. Les enregistrements DNS peuvent parfois être désordonnés, cela peut donc se révéler utile. [Parameter(Mandatory=$true, Position=3)] [String] $TargettedServerName ) $LocalUsers = Get-WmiObject Win32_UserAccount -Filter "LocalAccount=true" | Foreach {$_.Name} #Vérifiez si l'ordinateur comprend des comptes utilisateur locaux dont les mots de passe ne seront pas modifiés par ce script foreach ($User in $LocalUsers) { if ($LocalAccounts -inotcontains $User) { Write-Warning "Le serveur '$($TargettedServerName)' a un compte local '$($User)' dont le mot de passe n'est PAS modifié par ce script." } } #Pour chaque compte local spécifié existant sur ce serveur, modifiez le mot de passe $PasswordIndex = 0 foreach ($LocalAdmin in $LocalAccounts) { $Password = $Passwords[$PasswordIndex] if ($LocalUsers -icontains $LocalAdmin) { try { $objUser = [ADSI]"WinNT://localhost/$($LocalAdmin), user" $objUser.psbase.Invoke("SetPassword", $Password) $Properties = @{ TargettedServerName = $TargettedServerName Username = $LocalAdmin Password = $Password RealServerName = $env:computername } $ReturnData = New-Object PSObject -Property $Properties Write-Output $ReturnData } catch { Write-Error "Erreur lors de la modification du mot de passe de l'utilisateur$($LocalAdmin) sur le serveur$($TargettedServerName)" } } $PasswordIndex++ } } #Générez le mot de passe sur le client exécutant ce script, et non sur l'ordinateur distant. System.Web.Security n'est pas disponible dans le profil .NET Client. Cet appel # effectué sur le client qui exécute le script assure que .NET runtime ne doit être installé que sur un seul ordinateur (et non sur tous les systèmes dont le mot de passe doit être modifié). function Create-RandomPassword { Param( [Parameter(Mandatory=$true)] [ValidateRange(20,120)] [Int] $PasswordLength ) $Password = [System.Web.Security.Membership]::GeneratePassword($PasswordLength, $PasswordLength / 4) #Cette opération n'est jamais censée échouer, mais je place toujours un contrôle de validité au cas où if ($Password.Length -ne $PasswordLength) { throw new Exception("Le mot de passe renvoyé par GeneratePassword n'a pas la longueur nécessaire. Longueur requise : $($PasswordLength). Longueur générée : $($Password.Length)") } return $Password } #Principale fonctionnalité - Générez un mot de passe et accédez à distance aux ordinateurs pour modifier le mot de passe des comptes locaux spécifiés if ($PsCmdlet.ParameterSetName -ieq "Encryption") { try { $Sha256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider $SecureStringKey = $Sha256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey)) } catch { Write-Error "Erreur lors de la création de la clé de chiffrement TSV" -ErrorAction Stop } } foreach ($Computer in $ComputerName) { #Vous devez générer 1 mot de passe pour chaque compte qui pourrait être modifié $Passwords = @() for ($i = 0; $i -lt $LocalAccounts.Length; $i++) { $Passwords += Create-RandomPassword -PasswordLength $PasswordLength } Write-Output "Connexion au serveur '$($Computer)' pour revenir aux mots de passe administrateur local spécifiés" $Result = Invoke-Command -ScriptBlock $RemoteRollScript -ArgumentList @($Passwords, $LocalAccounts, $Computer) -ComputerName $Computer #Si le chiffrement est utilisé, chiffrez le mot de passe avec la clé fournie par l'utilisateur avant de l'écrire sur le disque if ($Result -ne $null) { if ($PsCmdlet.ParameterSetName -ieq "NoEncryption") { $Result | Select-Object Username,Password,TargettedServerName,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation } else { #Filters out $null entries returned $Result = $Result | Select-Object Username,Password,TargettedServerName,RealServerName foreach ($Record in $Result) { $PasswordSecureString = ConvertTo-SecureString -AsPlainText -Force -String ($Record.Password) $Record | Add-Member -MemberType NoteProperty -Name EncryptedPassword -Value (ConvertFrom-SecureString -Key $SecureStringKey -SecureString $PasswordSecureString) $Record.PSObject.Properties.Remove("Password") $Record | Select-Object Username,EncryptedPassword,TargettedServerName,RealServerName | Export-Csv -Append -Path $TsvFileName -NoTypeInformation } } } } } function ConvertTo-CleartextPassword { <# .SYNOPSIS Cette fonction peut être utilisée pour déchiffrer les mots de passe qui ont été enregistrés sous forme chiffrée par la fonction Invoke-PasswordRoll. Fonction : ConvertTo-CleartextPassword Auteur : Microsoft Version : 1.0 .DESCRIPTION Cette fonction peut être utilisée pour déchiffrer les mots de passe qui ont été enregistrés sous forme chiffrée par la fonction Invoke-PasswordRoll. .PARAMETER EncryptedPassword Mot de passe chiffré enregistré dans un fichier TSV. .PARAMETER EncryptionKey Mot de passe utilisé pour le chiffrement. .EXAMPLE . .\Invoke-PasswordRoll.ps1 #Charge les fonctions de ce fichier de script ConvertTo-CleartextPassword -EncryptionKey "Password1" -EncryptedPassword 76492d1116743f0423413b16050a5345MgB8AGcAZgBaAHUAaQBwADAAQgB2AGgAcABNADMASwBaAFoAQQBzADEAeABjAEEAPQA9AHwAZgBiAGYAMAA1ADYANgA2ADEANwBkADQAZgAwADMANABjAGUAZQAxAGIAMABiADkANgBiADkAMAA4ADcANwBhADMAYQA3AGYAOABkADcAMQA5ADQAMwBmAGYANQBhADEAYQBjADcANABkADIANgBhADUANwBlADgAMAAyADQANgA1ADIAOQA0AGMAZQA0ADEAMwAzADcANQAyADUANAAzADYAMAA1AGEANgAzADEAMQA5ADAAYwBmADQAZAA2AGQA" Déchiffre le mot de passe chiffré enregistré dans le fichier TSV. #> Param( [Parameter(Mandatory=$true)] [String] $EncryptedPassword, [Parameter(Mandatory=$true)] [String] $EncryptionKey ) $Sha256 = new-object System.Security.Cryptography.SHA256CryptoServiceProvider $SecureStringKey = $Sha256.ComputeHash([System.Text.UnicodeEncoding]::Unicode.GetBytes($EncryptionKey)) [SecureString]$SecureStringPassword = ConvertTo-SecureString -String $EncryptedPassword -Key $SecureStringKey Write-Output ([System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($SecureStringPassword))) } Les administrateurs peuvent ajouter des comptes d'administrateur locaux en créant un groupe Active Directory et en l'ajoutant au groupe des administrateurs locaux via les préférences de stratégie de groupe -> Groupe local. Cette action ne met pas en cache les informations d'identification. La boîte de dialogue est semblable à la suivante. Cette solution de contournement nécessite une connexion aux services de domaine Active Directory lorsque l'utilisateur est connecté à l'aide de ces informations d'identification.
Scénario 2 : Lecteurs mappés
Les administrateurs utilisent des mappages de lecteur pour allouer des emplacements réseau aux utilisateurs. La fonctionnalité de protection de mot de passe est utilisée pour assurer un accès autorisé au lecteur. Les raccourcis suivants sont affectés :
-
Configuration utilisateur -> Paramètres Windows -> Mappages de lecteurs -> Nouveau -> Lecteur mappé
Modifications importantes
Action : Créer, mettre à jour ou remplacer
-
Les champs Nom d'utilisateur, Mot de passe et Confirmer le mot de passe sont désactivés.
Action : supprimer
-
Aucun changement de comportement
Solutions de contournement
Au lieu d'utiliser la méthode des mots de passe pour l'authentification, vous pouvez utiliser l'Explorateur Windows pour gérer les autorisations de partage et attribuer des droits aux utilisateurs. Vous pouvez utiliser des objets Active Directory pour contrôler les autorisations d'accès au dossier.
Scénario 3 : Services
Vous pouvez utiliser la préférence Services pour modifier les propriétés des services de manière à ce qu'ils s'exécutent dans un contexte différent de leur contexte de sécurité original. Les raccourcis suivants sont affectés :
-
Configuration de l'ordinateur -> Paramètres du Panneau de configuration -> Services -> Nouveau -> Service
Modifications importantes
Démarrage : Aucune modification, automatique ou manuelle
-
Les champs Mot de passe et Confirmer le mot de passe sont désactivés.
-
L'administrateur ne peut utiliser que des comptes intégrés.
Démarrage : Désactiver
-
Aucun changement de comportement
Nouvelle boîte de dialogue
-
Les administrateurs qui tentent d'utiliser des utilisateurs non intégrés pour ce compte reçoivent l'avertissement suivant :
Solutions de contournement
Les services peuvent toujours être exécutés en tant que compte système local. Les autorisations de service peuvent être modifiées comme indiqué dans l'article suivant dans la Base de connaissances Microsoft :
256345 Comment configurer les paramètres de stratégie de groupe pour définir la sécurité des services système Remarque Si le service que vous souhaitez configurer n'est pas présent, vous devez configurer les paramètres sur un ordinateur qui exécute ce service.
Scénario 4 : Tâches planifiées et immédiates (haut niveau)
Ceci permet d'exécuter des tâches planifiées dans un contexte de sécurité spécifique. La possibilité d'enregistrer des informations d'identification pour que les tâches planifiées s'exécutent en tant qu'utilisateur arbitraire lorsque cet utilisateur n'est pas connecté n'est plus disponible. Les préférences suivantes sont affectées. (Sachez que sur certaines plates-formes, «Windows 7 au moins » est remplacé par « Windows Vista et les versions ultérieures ».)
-
Configuration ordinateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche planifiée (Windows 7 au moins)
-
Configuration ordinateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche immédiate (Windows 7 au moins)
-
Configuration utilisateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche planifiée (Windows 7 au moins)
-
Configuration utilisateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche immédiate (Windows 7 au moins)
Modifications importantes
Action : créer, mettre à jour ou remplacer
-
Lorsque vous sélectionnez l'option Exécuter la tâche que l'utilisateur soit connecté ou non, une boîte de dialogue n'invite plus l'administrateur à entrer ses informations d'identification.
-
La case à cocher Ne pas enregistrer le mot de passe est désactivée. Par défaut, la case est également activée.
Action : Supprimer Aucun changement de comportement
Solutions de contournement
Pour les tâches « tâche planifiée (Windows 7 au moins) » et « tâche immédiate (Windows 7 au moins) », les administrateurs peuvent utiliser des comptes d'utilisateurs spécifiques lorsque l'utilisateur est connecté. Ils peuvent aussi avoir accès aux ressources locales uniquement en tant que cet utilisateur. Ces tâches peuvent toujours s'exécuter dans le contexte du service local.
Scénario 5 : Tâches planifiées et immédiates (bas niveau) Il s'agit de la version de bas niveau des préférences utilisées pour exécuter les tâches planifiées dans un contexte de sécurité spécifique. La possibilité d'enregistrer des informations d'identification pour que les tâches planifiées s'exécutent en tant qu'utilisateur arbitraire lorsque cet utilisateur n'est pas connecté n'est plus disponible. Les raccourcis suivants sont affectés :
-
Configuration ordinateur -> - Paramètres du Panneau de configuration> Tâches planifiées -> Nouvelle -> Tâche planifiée
-
Configuration ordinateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche immédiate (Windows XP)
-
Configuration utilisateur -> Paramètres du Panneau de configuration> Tâches planifiées -> Nouvelle -> Tâche planifiée
-
Configuration utilisateur -> Paramètres du Panneau de configuration -> Tâches planifiées -> Nouvelle -> Tâche immédiate (Windows XP)
Modifications importantes
Action : Créer, mettre à jour ou remplacer
-
La case à cocher Exécuter en tant que est désactivée. Les champs Nom d'utilisateur, Mot de passe et Confirmer le mot de passe sont tous désactivés.
Action : Supprimer Aucun changement de comportement
Solutions de contournement
Pour les éléments « Tâche planifiée » et « Tâche immédiate (Windows XP) », les tâches planifiées s'exécutent à l'aide des autorisations qui sont actuellement disponibles pour le service local.
Scénario 6 : Sources de données
La préférence Sources de données est utilisée pour associer une source de données à un ordinateur ou un utilisateur. Cette fonctionnalité n'enregistre plus les informations d'identification pour permettre l'accès aux sources de données protégées par un mot de passe. Les raccourcis suivants sont affectés :
-
Configuration ordinateur -> Paramètres du Panneau de configuration -> Sources de données
-
Configuration utilisateur -> Paramètres du Panneau de configuration -> Sources de données
Modifications importantes
Action : créer, mettre à jour ou remplacer
-
Les champs Nom d'utilisateur, Mot de passe et Confirmer le mot de passe sont désactivés.
Action : supprimer
-
Aucun changement de comportement
Solutions de contournement
Aucune solution de contournement n'est disponible. Cette préférence n'enregistre plus les informations d'identification pour permettre l'accès aux sources de données protégées par un mot de passe.
Désapprobation de CPassword
Suppression de CPassword
Le script Windows PowerShell inclus dans cet article de la Base de connaissances Microsoft permet de détecter si un domaine contient des préférences de stratégie de groupe susceptibles d'utiliser CPassword. Si CPassword XML est détecté dans une préférence donnée, il s'affiche dans cette liste.
Détection des préférences CPassword
Ce script doit être exécuté depuis un répertoire local sur le contrôleur de domaine à nettoyer. Copiez et enregistrez le contenu dans un nouveau fichier Windows PowerShell, définissez votre lecteur système, puis exécutez le script comme indiqué ci-dessous. <# .SYNOPSIS Les objets Stratégie de groupe de votre domaine peuvent comporter des préférences qui enregistrent les mots de passe pour différentes tâches, comme les suivantes : 1. Sources de données 2. Mappages de lecteurs 3. Utilisateurs locaux 4. Tâches planifiées (XP et niveau supérieur) 5. Services Ces mots de passe sont enregistrés dans SYSVOL comme préférences de stratégie de groupe et ne sont pas sécurisés en raison du chiffrement faible (AES 32 octets). Par conséquent, nous vous recommandons de ne pas déployer ces préférences dans votre environnement de domaine et de supprimer toute préférence existante de ce type. Ce script vise à aider l'administrateur à rechercher les préférences de stratégie de groupe dans le SYSVOL du domaine qui contient les mots de passe. .DESCRIPTION Ce script doit être exécuté sur un contrôleur de domaine ou un ordinateur client installé avec les Outils d'administration de serveur distant pour imprimer les préférences qui contiennent un mot de passe comprenant des informations, telles que l'objet de stratégie de groupe, le nom de préférence et le chemin GPEdit sous lequel cette préférence est définie. Une fois que vous avez obtenu la liste des préférences affectées, vous pouvez les supprimer à l'aide de l'éditeur de la Console de gestion des stratégies de groupe. .SYNTAX Get-SettingsWithCPassword.ps1 [-Path <String>] .EXAMPLE Get-SettingsWithCPassword.ps1 -Path %WinDir%\SYSVOL\domain Get-SettingsWithCPassword.ps1 -Path <Chemin d'accès du dossier de sauvegarde de l'objet de stratégie de groupe> .NOTES Si le module PS de stratégie de groupe est introuvable, le résultat contiendra les GUID d'objets Stratégie de groupe au lieu des noms d'objets Stratégie de groupe. Vous pouvez exécuter ce script sur un contrôleur de domaine ou réexécuter le script sur le client après avoir installé les Outils d'administration de serveur distant et activé le module de stratégie de groupe. Vous pouvez aussi utiliser les GUID d'objets Stratégie de groupe pour obtenir les noms d'objets Stratégie de groupe à l'aide de l'applet de commande Get-GPO. .LINK http://go.microsoft.com/fwlink/?LinkID=390507 #> #---------------------------------------------------------------------------------------------------------------- # Paramètres d'entrée #-------------------------------------------------------------------------------------------------------------- param( [string]$Path = $(throw "-Path is required.") # Chemin d'accès du répertoire où se trouvent les GPP. ) #--------------------------------------------------------------------------------------------------------------- $isGPModuleAvailable = $false $impactedPrefs = { "Groups.xml", "ScheduledTasks.xml","Services.xml", "DataSources.xml", "Drives.xml" } #---------------------------------------------------------------------------------------------------------------- # importer le module Stratégie de groupe s'il est disponible #---------------------------------------------------------------------------------------------------------------- if (-not (Get-Module -name "GroupPolicy")) { if (Get-Module -ListAvailable | Where-Object { $_.Name -ieq "GroupPolicy" }) { $isGPModuleAvailable = $true Import-Module "GroupPolicy" } else { Write-Warning "Impossible d'importer le module Stratégie de groupe pour PowerShell. Par conséquent, des GUID d'objet de stratégie de groupe sont signalés. Exécutez ce script sur le contrôleur de domaine pour obtenir le nom des objets de stratégie de groupe ou utilisez l'applet de commande Get-GPO (sur le contrôleur de domaine) pour obtenir le nom de l'objet de stratégie de groupe à partir du GUID d'objet de stratégie de groupe." } } else { $isGPModuleAvailable = $true } Function Enum-SettingsWithCpassword ( [string]$sysvolLocation ) { # GPMC tree paths $commonPath = " -> Preferences -> Control Panel Settings -> " $driveMapPath = " -> Preferences -> Windows Settings -> " # Obtenez de manière récursive tous les fichiers xml dans l'emplacement SYSVOL $impactedXmls = Get-ChildItem $sysvolLocation -Recurse -Filter "*.xml" | Where-Object { $impactedPrefs -cmatch $_.Name } # Chaque fichier xml contient plusieurs préférences. Parcourez chaque préférence pour vérifier si elle # contient l'attribut cpassword et l'afficher foreach ( $file in $impactedXmls ) { $fileFullPath = $file.FullName # Définissez la catégorie GPP. Si le fichier est situé dans le dossier Machine dans SYSVOL # le paramètre est défini dans la configuration de l'ordinateur, sinon le # paramètre fait partie de la configuration de l'utilisateur if ( $fileFullPath.Contains("Machine") ) { $category = "Computer Configuration" } elseif ( $fileFullPath.Contains("User") ) { $category = "User Configuration" } else { $category = "Unknown" } # Obtenez le contenu d'un fichier au format XML try { [xml]$xmlFile = get-content $fileFullPath -ErrorAction Continue } catch [Exception]{ Write-Host $_.Exception.Message } if ($xmlFile -eq $null) { continue } switch ( $file.BaseName ) { Groups { $gppWithCpassword = $xmlFile.SelectNodes("Groups/User") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false } $preferenceType = "Local Users" } ScheduledTasks { $gppWithCpassword = $xmlFile.SelectNodes("ScheduledTasks/*") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false } $preferenceType = "Scheduled Tasks" } DataSources { $gppWithCpassword = $xmlFile.SelectNodes("DataSources/DataSource") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false } $preferenceType = "Data sources" } Drives { $gppWithCpassword = $xmlFile.SelectNodes("Drives/Drive") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false } $preferenceType = "Drive Maps" } Services { $gppWithCpassword = $xmlFile.SelectNodes("NTServices/NTService") | where-Object { [String]::IsNullOrEmpty($_.Properties.cpassword) -eq $false } $preferenceType = "Services" } default { # effacer gppWithCpassword et preferenceType pour l'élément suivant. try { Clear-Variable -Name gppWithCpassword -ErrorAction SilentlyContinue Clear-Variable -Name preferenceType -ErrorAction SilentlyContinue } catch [Exception]{} } } if ($gppWithCpassword -ne $null) { # Créez le nom d'objet Stratégie de groupe à partir du GUID extrait du chemin d'accès $guidRegex = [regex]"\{(.*)\}" $match = $guidRegex.match($fileFullPath) if ($match.Success) { $gpoGuid = $match.groups[1].value $gpoName = $gpoGuid } else { $gpoName = "Unknown" } if($isGPModuleAvailable -eq $true) { try { $gpoInfo = Get-GPO -Guid $gpoGuid -ErrorAction Continue $gpoName = $gpoInfo.DisplayName } catch [Exception] { Write-Host $_.Exception.Message } } # affichez les préférences contenant cpassword foreach ( $gpp in $gppWithCpassword ) { if ( $preferenceType -eq "Drive Maps" ) { $prefLocation = $category + $driveMapPath + $preferenceType } else { $prefLocation = $category + $commonPath + $preferenceType } $obj = New-Object -typeName PSObject $obj | Add-Member –membertype NoteProperty –name GPOName –value ($gpoName) –passthru | Add-Member -MemberType NoteProperty -name Preference -value ($gpp.Name) -passthru | Add-Member -MemberType NoteProperty -name Path -value ($prefLocation) Write-Output $obj } } # fin si $gppWithCpassword } # fin foreach $file } # fin fonctions Enum-PoliciesWithCpassword #----------------------------------------------------------------------------------- # Vérifiez que le chemin est valide. Énumérez tous les paramètres qui contiennent cpassword. #----------------------------------------------------------------------------------- if (Test-Path $Path ) { Enum-SettingsWithCpassword $Path } else { Write-Warning "Ce répertoire n'existe pas : $Path" } Exemple d'utilisation (en supposant que le lecteur système est C) .\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | Format-List Remarque Sachez que vous pouvez également cibler n'importe quel objet Stratégie de groupe de sauvegarde pour le chemin au lieu du domaine. Le script de détection génère une liste semblable à la suivante : Pour les listes plus longues, pensez à enregistrer les résultats dans un fichier : .\Get-SettingsWithCPassword.ps1 –path “C:\Windows\SYSVOL\domain” | ConvertTo-Html > gpps.html
Suppression des préférences CPassword
Afin de supprimer les préférences qui contiennent des données CPassword, nous vous suggérons d'utiliser la Console de gestion des stratégies de groupe (GPMC) sur le contrôleur de domaine ou depuis un client sur lequel les Outils d'administration de serveur distant sont installés. Vous pouvez supprimer n'importe quelle préférence en cinq étapes sur ces consoles. Pour ce faire, procédez comme suit :
-
Dans la console GPMC, ouvrez la préférence qui contient des données CPassword.
-
Modifiez l'action en Supprimer ou Désactiver, selon le cas applicable à la préférence.
-
Cliquez sur OK pour enregistrer vos modifications.
-
Attendez un ou deux cycles d'actualisation de stratégie de groupe pour que les modifications se propagent aux clients.
-
Une fois les modifications appliquées à tous les clients, supprimez la préférence.
-
Répétez les étapes 1 à 5 autant de fois que nécessaire pour nettoyer la totalité de votre environnement. Si le script de détection ne renvoie aucun résultat, vous avez terminé.
Nom de fichier |
Hachage SHA1 |
Hachage SHA256 |
---|---|---|
Windows6.0-KB2928120-ia64.msu |
B2A74305CB56191774BFCF9FCDEAA983B26DC9A6 |
DCE8C0F9CEB97DBF1F7B9BAF76458B3770EF01C0EDC581621BC8C3B2C7FD14E7 |
Windows6.0-KB2928120-x64.msu |
386457497682A2FB80BC93346D85A9C1BC38FBF7 |
1AF67EB12614F37F4AC327E7B5767AFA085FE676F6E81F0CED95D20393A1D38D |
Windows6.0-KB2928120-x86.msu |
42FF283781CEC9CE34EBF459CA1EFE011D5132C3 |
016D7E9DBBC5E487E397BE0147B590CFBBB5E83795B997894870EC10171E16D4 |
Windows6.1-KB2928120-ia64.msu |
5C2196832EC94B99AAF9B074D3938525B7219690 |
9958FA58134F55487521243AD9740BEE0AC210AC290D45C8322E424B3E5EBF16 |
Windows6.1-KB2928120-x64.msu |
EA5332F4E289DC799611EAB8E3EE2E86B7880A4B |
417A2BA34F8FD367556812197E2395ED40D8B394F9224CDCBE8AB3939795EC2A |
Windows6.1-KB2928120-x86.msu |
7B7B6EE24CD8BE1AB3479F9E1CF9C98982C8BAB1 |
603206D44815EF2DC262016ED13D6569BE13D06E2C6029FB22621027788B8095 |
Windows8-RT-KB2928120-x64.msu |
E18FC05B4CCA0E195E62FF0AE534BA39511A8593 |
FCAED97BF1D61F60802D397350380FADED71AED64435D3E9EAA4C0468D80141E |
Windows8-RT-KB2928120-x86.msu |
A5DFB34F3B9EAD9FA78C67DFC7ACACFA2FBEAC0B |
7F00A72D8A15EB2CA70F7146A8014E39A71CFF5E39596F379ACD883239DABD41 |
Windows8.1-KB2928120-x64.msu |
A07FF14EED24F3241D508C50E869540915134BB4 |
6641B1A9C95A7E4F0D5A247B9F488887AC94550B7F1D7B1198D5BCBA92F7A753 |
Windows8.1-KB2928120-x86.msu |
DE84667EC79CBA2006892452660EB99580D27306 |
468EE4FA3A22DDE61D85FD3A9D0583F504105DF2F8256539051BC0B1EB713E9C |
Windows8.1-KB2961899-x64.msu |
10BAE807DB158978BCD5D8A7862BC6B3EF20038B |
EC26618E23D9278FC1F02CA1F13BB289E1C6C4E0C8DA5D22E1D9CDA0DA8AFF51 |
Windows8.1-KB2961899-x86.msu |
230C64447CC6E4AB3AD7B4D4655B8D8CEFBFBE98 |
E3FAD567AB6CA616E42873D3623A777185BE061232B952938A8846A974FFA7AF |