Aller au contenu principal

Tutoriel de configuration de Windows WSMAN

Introduction

WS-Management est une spécification du DMTF définissant un protocole de communication pour l'administration des serveurs, équipements et applications, basé sur les web services (SOAP).

Configuration de WinRM

Configuration de WSMAN

Sur votre serveur Windows, ouvrez PowerShell avec les privilèges d'administrateur et exécutez les commandes suivantes.

Activez WinRM et autorisez l'accès à distance :

winrm quickconfig

Activez la méthode d'authentification "Basic" :

winrm s winrm/config/service/auth '@{Basic="true"}'

Configuration du firewall

  • Ouvrez le Server Manager.

  • Dans le menu Tools, sélectionnez Windows Defender Firewall with Advanced Security.

  • Cliquez sur Inbound Rules.

  • Cliquez sur New Rule.

  • Cliquez sur Port, puis sur Next.

    image

  • Saisissez la valeur 5986 dans le champ Specific local ports et cliquez sur Next.

    image

  • Vérifiez que Allow the connection est sélectionné, puis cliquez sur Next.

    image

  • Sur la page suivante, sélectionnez les profils de pare-feu pour lesquels la règle doit s'appliquer, puis cliquez sur Next.

    image

* Sur la page suivante, donnez un nom à la règle, puis cliquez sur Finish.

image

Créer un certificat auto-signé

Ouvrez PowerShell avec des privilèges d'administrateur et exécutez la commande suivante, en remplaçant @HOSTNAME@ par la valeur correcte.

New-SelfSignedCertificate -Subject 'CN=@HOSTNAME@' -TextExtension '2.5.29.37={text}1.3.6.1.5.5.7.3.1'

Copiez le Thumbprint pour l'étape suivante :

image

Créez le port WinRM HTTPS en remplaçant les valeurs @HOSTNAME@ et @THUMBPRINT@ par les valeurs correctes.

winrm create winrm/config/Listener?Address=*+Transport=HTTPS '@{Hostname="@HOSTNAME@";CertificateThumbprint="@THUMBPRINT@"}'

À partir d'ici, vous pouvez superviser votre serveur Windows en utilisant le compte administrateur local.

Nous déconseillons fortement l'utilisation d'un compte administrateur au sein de Centreon.

Configuration d'un utilisateur dédié

Cette section décrit comment configurer un utilisateur local et les privilèges minimum pour superviser votre serveur.

Créer un utilisateur

Ouvrez un PowerShell avec des privilèges d'administrateur.

Créez votre utilisateur :

net user @USERNAME@ @PASSWORD@ /add

Configuration des groupes

Dans Computer Management, ajoutez votre utilisateur dans les groupes suivants :

  • Distributed COM Users

  • Event Log Readers

  • Performance Log Users

  • Performance Monitor Users

  • Remote Management Users.

    image

Configuration de l'accès WMI

Dans PowerShell, exécutez la commande suivante :

WMImgmt.msc

Faites un clic droit sur WMI Control, puis cliquez sur Properties :

image

Cliquez sur Security :

image

Sélectionnez Root et cliquez sur Security :

![image]image

Cliquez sur Add, sélectionnez le groupe Remote Management Users et définissez les autorisations suivantes :

  • Enable Account
  • Remote Enabled.

image

Cliquez sur Apply, puis sur OK.

Les autorisations ne sont pas appliquées de manière récursive, vous devrez donc répéter le processus précédent sur les répertoires suivants :

  • Root
  • Root/CIMV2
  • Root/DEFAULT
  • Root/RSOP
  • Root/RSOP/Computer
  • Root/WMI
  • Root/CIMv2/Security/MicrosoftTpm.

Cliquez sur Apply, puis sur OK. Fermez la fenêtre WMImgmt.WMI.

Autoriser l'exécution de scripts

Dans PowerShell, exécutez la commande suivante :

winrm configSDDL default

Ajoutez le groupe Remote Management Users.

Définissez les droits suivants :

  • Read(Get,Enumerate,Subscribe)
  • Execute(Invoke)

image

Cliquez sur Apply, puis sur OK.

Accorder des autorisations pour les services

Récupérer le SID de l'utilisateur

Exécutez la commande suivante dans PowerShell, en remplaçant la valeur @USERNAME@ par la valeur correcte.

wmic useraccount where name="@USERNAME@" get name,sid

Output:

Name          SID

@USRNAME@  S-1-5-21-3051596711-3341658857-577043467-1000

Récupérer le SDDL actuel pour Service Control Manager

À partir d'une invite de commandes Windows (cmd), exécutez la commande suivante :

sc sdshow scmanager

Votre SDDL ressemble à ceci :

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-528118966-3876874398-709513571-1907873084-3598227634-3698730060-278077788-3990600205)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Modifier le SDDL

Copiez cette sortie et ajoutez la section suivante dans la section D: juste avant la section S: : (A;;CCLCRPRC;;;@USERSID@).

Dans cet exemple, le SDDL ressemble maintenant à ceci :

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-528118966-3876874398-709513571-1907873084-3598227634-3698730060-278077788-3990600205)(A;;CCLCRPRC;;;S-1-5-21-3051596711-3341658857-577043467-1000)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Définir les informations d'identification de sécurité pour accéder au gestionnaire de contrôle des services

Dans votre invite de commande Windows (cmd), exécutez la commande suivante en remplaçant @NEWSDDL@ par la valeur correcte :

sc sdset scmanager "@NEWSDDL@"

Dans cet exemple :

sc sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-528118966-3876874398-709513571-1907873084-3598227634-3698730060-278077788-3990600205)(A;;CCLCRPRC;;;S-1-5-21-3051596711-3341658857-577043467-1000)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"

À partir de là, votre utilisateur dédié est opérationnel et peut superviser votre serveur Windows sans nécessiter de compte administrateur local.

Remarque : Le SDDL doit donc être configuré pour scmanager et pour tous les services supplémentaires que vous souhaitez superviser.