Sécurisation d’une connexion WMI distante

Pour vous connecter à un ordinateur distant à l’aide de WMI, vérifiez que les paramètres DCOM corrects et les paramètres de sécurité de l’espace de noms WMI sont activés pour la connexion.

WMI a des paramètres par défaut d’emprunt d’identité, d’authentification et de service d’authentification (NTLM ou Kerberos) requis par l’ordinateur cible dans une connexion à distance. Votre ordinateur local peut utiliser des valeurs par défaut différentes que le système cible n’accepte pas. Vous pouvez modifier ces paramètres dans l’appel de connexion.

Les sections suivantes seront abordées dans cette rubrique :

Paramètres d’emprunt d’identité et d’authentification DCOM pour WMI

WMI a par défaut les paramètres d’emprunt d’identité, d’authentification et de service d’authentification DCOM (NTLM ou Kerberos) requis par le système distant. Votre système local peut utiliser des valeurs par défaut différentes que le système distant cible n’accepte pas. Vous pouvez modifier ces paramètres dans l’appel de connexion. Pour plus d’informations, consultez Définition de la sécurité du processus d’application client. Toutefois, pour le service d’authentification, il est recommandé de spécifier RPC_C_AUTHN_DEFAULT et d’autoriser DCOM à choisir le service approprié pour l’ordinateur cible.

Vous pouvez fournir des paramètres dans les paramètres pour les appels à CoInitializeSecurity ou CoSetProxyBlanket en C++. Dans les scripts, vous pouvez établir des paramètres de sécurité dans les appels à SWbemLocator.ConnectServer, dans un objet SWbemSecurity ou dans la chaîne moniker de script.

Pour obtenir la liste de toutes les constantes d’emprunt d’identité C++, consultez Définition du niveau de sécurité du processus par défaut à l’aide de C++. Pour les constantes Visual Basic et les chaînes de script pour l’utilisation de la connexion moniker, consultez Définition du niveau de sécurité du processus par défaut à l’aide de VBScript.

Le tableau suivant répertorie les paramètres de service d’emprunt d’identité, d’authentification et d’authentification DCOM par défaut requis par l’ordinateur cible (ordinateur B) dans une connexion à distance. Pour plus d’informations, consultez Sécurisation d’une connexion WMI distante.

Système d’exploitation de l’ordinateur B Chaîne de script au niveau de l’emprunt d’identité Chaîne de script au niveau de l’authentification Service d'authentification
Windows Vista ou version ultérieure ; Impersonate pkt Kerberos

 

Les connexions à distance WMI sont affectées par le contrôle de compte d’utilisateur (UAC) et le Pare-feu Windows. Pour plus d’informations, consultez Connexion à WMI à distance à partir de Vista et Connexion via le pare-feu Windows.

N’oubliez pas que la connexion à WMI sur l’ordinateur local a un niveau d’authentification par défaut PktPrivacy.

Définition de la sécurité DCOM pour autoriser un utilisateur à accéder à un ordinateur à distance

La sécurité dans WMI est liée à la connexion à un espace de noms WMI. WMI utilise DCOM pour gérer les appels distants. L’une des raisons de l’échec de la connexion à un ordinateur distant est due à un échec DCOM (erreur « Accès DCOM refusé » décimal -2147024891 ou hexadécimal 0x80070005). Pour plus d’informations sur la sécurité DCOM dans WMI pour les applications C++, consultez Définition de la sécurité du processus d’application cliente.

Vous pouvez configurer les paramètres DCOM pour WMI à l’aide de l’utilitaire de configuration DCOM (DCOMCnfg.exe) disponible dans Outils d’administrationdans Panneau de configuration. Cet utilitaire expose les paramètres qui permettent à certains utilisateurs de se connecter à l’ordinateur à distance via DCOM. Les membres du groupe Administrateurs sont autorisés à se connecter à distance à l’ordinateur par défaut. Avec cet utilitaire, vous pouvez définir la sécurité pour démarrer, accéder et configurer le service WMI.

La procédure suivante explique comment accorder des autorisations de démarrage et d’activation à distance À DCOM pour certains utilisateurs et groupes. Si l’ordinateur A se connecte à distance à l’ordinateur B, vous pouvez définir ces autorisations sur l’ordinateur B pour autoriser un utilisateur ou un groupe qui ne fait pas partie du groupe Administrateurs sur l’ordinateur B à exécuter des appels de démarrage et d’activation DCOM sur l’ordinateur B.

Pour accorder des autorisations de lancement et d’activation à distance DCOM pour un utilisateur ou un groupe

  1. Cliquez sur Démarrer, sur Exécuter, tapez DCOMCNFG, puis cliquez sur OK.

  2. Dans la boîte de dialogue Services de composants , développez Services de composants, développez Ordinateurs, puis cliquez avec le bouton droit sur Poste de travail , puis cliquez sur Propriétés.

  3. Dans la boîte de dialogue Propriétés système , cliquez sur l’onglet Sécurité COM .

  4. Sous Autorisations d'exécution et d'activation, cliquez sur Modifier les limites.

  5. Dans la boîte de dialogue Autorisation de lancement , procédez comme suit si votre nom ou votre groupe n’apparaît pas dans la liste Groupes ou noms d’utilisateur :

    1. Dans la boîte de dialogue Autorisation d'exécution, cliquez sur Ajouter.
    2. Dans la boîte de dialogue Sélectionner des utilisateurs, des ordinateurs ou des groupes, dans la zone Entrez les noms des objets à sélectionner, et cliquez sur OK.
  6. Dans la boîte de dialogue Autorisation de lancement, sélectionnez votre utilisateur et votre groupe dans la zone Noms de groupe ou d’utilisateur . Dans la zone Autorisation pour , dans la colonne Autorisation utilisateur, sélectionnez Exécution à distance et Activation à distance, puis cliquez sur OK.

La procédure suivante décrit comment accorder des autorisations d’accès à distance DCOM pour certains utilisateurs et groupes. Si l’ordinateur A se connecte à distance à l’ordinateur B, vous pouvez définir ces autorisations sur l’ordinateur B pour autoriser un utilisateur ou un groupe qui ne fait pas partie du groupe Administrateurs de l’ordinateur B à se connecter à l’ordinateur B.

Pour accorder des autorisations d’accès à distance DCOM

  1. Cliquez sur Démarrer, sur Exécuter, tapez DCOMCNFG, puis cliquez sur OK.
  2. Dans la boîte de dialogue Services de composants , développez Services de composants, développez Ordinateurs, puis cliquez avec le bouton droit sur Poste de travail , puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés système , cliquez sur l’onglet Sécurité COM .
  4. Sous Autorisations d'accès, cliquez sur Modifier les limites.
  5. Dans la boîte de dialogue Autorisation d’accès , sélectionnez NOM LOGON ANONYME dans la zone Noms de groupe ou d’utilisateur. Dans la colonne Autoriser sous Autorisations pour l’utilisateur, sélectionnez Accès à distance, puis cliquez sur OK.

Autoriser les utilisateurs à accéder à un espace de noms WMI spécifique

Vous pouvez autoriser ou interdire aux utilisateurs l’accès à un espace de noms WMI spécifique en définissant l’autorisation « Activer à distance » dans le contrôle WMI pour un espace de noms. Si un utilisateur tente de se connecter à un espace de noms auquel il n’est pas autorisé à accéder, il reçoit une erreur 0x80041003. Par défaut, cette autorisation est activée uniquement pour les administrateurs. Un administrateur peut activer l’accès à distance à des espaces de noms WMI spécifiques pour un utilisateur non administrateur.

La procédure suivante définit les autorisations d’activation à distance pour un utilisateur non administrateur.

Pour définir les autorisations d’activation à distance

  1. Connectez-vous à l’ordinateur distant à l’aide du contrôle WMI.

    Pour plus d’informations sur le contrôle WMI, consultez Définition de la sécurité de l’espace de noms avec le contrôle WMI.

  2. Ouvrez l’onglet Sécurité, sélectionnez l’espace de noms RootCIMV2, puis cliquez sur Sécurité.

  3. Recherchez le compte approprié et case activée Activer à distance dans la liste Autorisations.

Définition de la sécurité de l’espace de noms sur Exiger le chiffrement des données pour les connexions à distance

Un administrateur ou un fichier MOF peut configurer un espace de noms WMI afin qu’aucune donnée ne soit retournée, sauf si vous utilisez la confidentialité des paquets (RPC_C_AUTHN_LEVEL_PKT_PRIVACY ou PktPrivacy comme moniker dans un script) dans une connexion à cet espace de noms. Cela garantit que les données sont chiffrées au fur et à mesure qu’elles traversent le réseau. Si vous essayez de définir un niveau d’authentification inférieur, vous obtiendrez un message d’accès refusé. Pour plus d’informations, consultez Exiger une connexion chiffrée à un espace de noms.

L’exemple de code VBScript suivant montre comment se connecter à un espace de noms chiffré à l’aide de « pktPrivacy ».

strComputer = "RemoteComputer"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                              & strComputer & "\root\EncryptedNamespace")

Délégation avec WMI

Création de processus à distance avec WMI

Sécurisation des clients et fournisseurs C++

Sécurisation des clients de script