Objectif
Ce document a pour objectif de décrire les prérequis à mettre en œuvre sur un équipement Microsoft Windows afin de permettre sa supervision par les protocoles SNMP et WMI avec ServiceNav.
Cette procédure est applicable pour les versions de Windows Server à partir de 2003.
SNMP
Cet article décrit étape par étape comment configurer le service SNMP (Simple Network Management Protocol). Il décrit comment configurer les propriétés de l’agent SNMP et la sécurité SNMP.
Installation de la fonctionnalité SNMP
Sur la version 2003, se munir du CD d’installation Windows pour installer SNMP.
A partir de la version Windows 2008, SNMP est une fonctionnalité, qui s’installe comme indiqué ci-dessous :
Sélectionner la fonctionnalité Service SNMP. La fonctionnalité Fournisseur WMI SNMP est inutile. Puis cliquer sur Suivant.
Cliquer ensuite sur Installer. Attendre la fin de l’installation et passer à l’étape suivante.
Configuration SNMP
La configuration du Service SNMP s’effectue à partie de la console des services.
Ouvrir depuis l’accueil (sur serveur Windows 2012) l’application des Outils d’administration.
Sélectionner ensuite l’application Services.
Pour ouvrir cette application, vous pouvez également exécuter services.msc depuis l’invite Démarrer > Exécuter sous Windows 2008.
Effectuer un clic bouton droit dans la liste des services sur Service SNMP puis sélectionner Propriétés :
Sous Service, activez les cases à cocher en regard des services que fournit votre ordinateur. Les options de service sont les suivantes :
- Physique: indique si l’ordinateur gère les périphériques physiques, tels qu’une partition de disque dur.
- Applications: indique si l’ordinateur utilise des programmes qui envoient des données via le protocole TCP/IP.
- Liaison de données et sous-réseau: indique si cet ordinateur gère un sous-réseau ou une liaison de données TCP/IP, par exemple un pont.
- Internet: indique si cet ordinateur tient lieu de passerelle IP (routeur).
- Bout en bout: indique si cet ordinateur tient lieu d’hôte IP.
Cliquer sur Appliquer.
Cliquer sur l’onglet Sécurité.
Dans la zone Noms de communautés acceptés, cliquer sur Ajouter… puis entrer la nom de la communauté et le droit associé. Le droit LECTURE SEULE est suffisant. Le nom de la communauté SNMP est sensible à la casse. Il est conseillé de prendre le même nom de communauté pour tous les serveurs.
Cliquer ensuite sur Ajouter.
Indiquer ensuite l’adresse IP du superviseur autorisé à effectuer des accès SNMP sur le serveur.
Cliquer sur Accepter les paquets SNMP provenant de ces hôtes, sur Ajouter, puis tapez le nom, l’adresse IP ou l’adresse IPX de l’hôte dans la zone Nom d’hôte, adresse IP ou IPX.
- Cliquez sur Ajouter.
- Cliquez sur OK.
Cliquer ensuite sur OK pour valider la configuration.
Redémarrer le service SNMP pour la prise en compte de cette configuration, par clic bouton droit sur Service SNMP dans la liste, puis sélection de Redémarrer.
WMI
Création de l’utilisateur dans Active directory
Seul un utilisateur administrateur de domaine ou faisant partie du groupe Administrateurs local de l’équipement Windows peut interroger l’état des services Windows avec WMI.
Créer un utilisateur de domaine dédié à la supervision (par exemple : domain\servicenav) dans votre domaine Active Directory.
Cet utilisateur doit faire partie du groupe local « Administrateurs ».
Élément de GPO à créer pour empêcher l’utilisateur de se connecter sur l’équipement, en mode console et en mode Bureau A Distance :
Lancer le service WMI
Exécuter services.msc et lancer (en spécifiant un démarrage automatique) le service Infrastructure de gestion Windows (EN : Windows Management Instrumentation).
Ajouter l’utilisateur au groupe local « Performance Monitor Users »
Configurer la sécurité DCOM
Exécuter dcomcnfg.exe
Ouvrir les propriétés DCOM
Clic droit sur « My Computer » et sélectionner « Propriétés »
Accéder à l’onglet COM Security, sélectionner Edit Limits dans la section Launch Activation Permissions
Autoriser l’exécution et l’activation à distance.
Configurer la sécurité WMI
Exécuter wmimgmt.msc
Ouvrir les propriétés WMI
Accéder à l’onglet Sécurité
Développer le noeud Root, sélectionner CIMV2 et cliquer sur Sécurité
Ajouter l’utilisateur précédemment créé et lui affecter les droits Enable Account et Remote enable
Vérification de l’accès
Depuis le terminal de la ServiceNav Box, exécuter cette commande :
wmic --user='login' --password='password' --workgroup='domain' --namespace='root\CIMV2' //server.IP.address "SELECT * FROM Win32_LogicalDisk" ; echo $?
le résultat devrait ressembler à celui ci-dessous
CLASS: Win32_LogicalDisk
Access|Availability|BlockSize|Caption|Compressed|ConfigManagerErrorCode|ConfigManagerUserConfig|CreationClassName|Description|DeviceID|DriveType|ErrorCleared|ErrorDescription|ErrorMethodology|FileSystem|FreeSpace|InstallDate|LastErrorCode|MaximumComponentLength|MediaType|Name|NumberOfBlocks|PNPDeviceID|PowerManagementCapabilities|PowerManagementSupported|ProviderName|Purpose|QuotasDisabled|QuotasIncomplete|QuotasRebuilding|Size|Status|StatusInfo|SupportsDiskQuotas|SupportsFileBasedCompression|SystemCreationClassName|SystemName|VolumeDirty|VolumeName|VolumeSerialNumber
0|0|0|A:|False|0|False|Win32_LogicalDisk|Lecteur de disquettes 3 ¢ pouces|A:|2|False|(null)|(null)|(null)|0|(null)|0|0|5|A:|0|(null)|NULL|False|(null)|(null)|False|False|False|0|(null)|0|False|False|Win32_ComputerSystem|COSVGRE14|False|(null)|(null)
0|0|0|C:|False|0|False|Win32_LogicalDisk|Disque fixe local|C:|3|False|(null)|(null)|NTFS|3661844480|(null)|0|255|12|C:|0|(null)|NULL|False|(null)|(null)|True|False|False|96266612736|(null)|0|True|True|Win32_ComputerSystem|COSVGRE14|False||0AF823EF
0|0|0|D:|False|0|False|Win32_LogicalDisk|Disque CD-ROM|D:|5|False|(null)|(null)|(null)|0|(null)|0|0|11|D:|0|(null)|NULL|False|(null)|(null)|False|False|False|0|(null)|0|False|False|Win32_ComputerSystem|COSVGRE14|False|(null)|(null)
0
Vous pouvez également ffectuer un recensement avec ServiceNav : de ce fait vous pourrez vérifier si l’utilisateur WMI utilisé pour effectuer le recensement dispose bien des droits d’accès à distance à WMI. Le recensement interroge la classe WMI Win32_OperatingSystem avec l’utilisateur fourni.
Erreurs connues
Timeout de la requête WMI
[librpc/rpc/dcerpc_connect.c:790:dcerpc_pipe_connect_b_recv()] failed NT status (c00000b5) in dcerpc_pipe_connect_b_recv [wmi/wmic.c:196:main()] ERROR: Login to remote object. NTSTATUS: NT_STATUS_IO_TIMEOUT - NT_STATUS_IO_TIMEOUT 1
S’assurer que les règles firewall autorisent le protocole WMI sur ce serveur.
Hôte non joignable
[librpc/rpc/dcerpc_connect.c:337:dcerpc_pipe_connect_ncacn_ip_tcp_recv()] failed NT status (c000023d) in dcerpc_pipe_connect_ncacn_ip_tcp_recv [librpc/rpc/dcerpc_connect.c:828:dcerpc_pipe_connect_b_recv()] failed NT status (c000023d) in dcerpc_pipe_connect_b_recv [wmi/wmic.c:196:main()] ERROR: Login to remote object. NTSTATUS: NT_STATUS_HOST_UNREACHABLE - NT_STATUS_HOST_UNREACHABLE 1
S’assurer que l’adresse IP saisie est correcte.
Mot de passe erroné
Vérifie que le mot de passe ne contient pas le caractère ‘@’, mal géré par WMI (constaté sur Windows server 2019).
Serveurs Workgroup – connexion impossible
Si la connexion n’est pas possible avec un compte administrateur local, cela peut être lié au fait que l’UAC (User Account Control) soit activé lors de la supervision d’un noeud qui appartient à un workgroup (hors domaine).
Il est nécessaire de désactiver l’UAC à distance sur ce noeud. Cela ne désactive pas l’UAC local.
Pour se faire :
- Avec un compte administrateur, se connecter à la machine cible
- Start > Accessories > Command Prompt
- Saisir regedit
- Ouvrir la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- Localiser ou créer une entrée DWORD nommée LocalAccountTokenFilterPolicy et lui assigner la valeur 1 (la valeur 0 permet de réactiver l’UAC à distance)