Vous êtes sur la page 1sur 39

Collecte et centralisation des

évènements Windows
(WEF/WEC) (v4.00)

Tutorial conçu et rédigé par Michel de CREVOISIER – 12/12/2017

1
SOURCES

Configuration WEF avancée :


https://technet.microsoft.com/en-us/itpro/windows/keep-secure/use-windows-event-forwarding-to-assist-
in-instrusion-detection
https://blogs.msdn.microsoft.com/canberrapfe/2015/09/21/diy-client-monitoring-setting-up-tiered-event-
forwarding/
https://blogs.technet.microsoft.com/jepayne/2015/11/23/monitoring-what-matters-windows-event-
forwarding-for-everyone-even-if-you-already-have-a-siem/
http://joshuadlewis.blogspot.co.at/2014/10/advanced-threat-detection-with-sysmon_74.html
https://blogs.technet.microsoft.com/russellt/2017/05/09/project-sauron-introduction/
http://www.aspirantinfotech.com/sg/download/avecto/brochure/EventCentralization.pdf
https://www.iad.gov/iad/library/reports/spotting-the-adversary-with-windows-event-log-monitoring.cfm
https://community.saas.hpe.com/dcvta86296/attachments/dcvta86296/arcsight-qa/31451/1/Protect2015-
WindowsEventForwarding.pdf
https://medium.com/@palantir/windows-event-forwarding-for-network-defense-cb208d5ff86f
https://blogs.technet.microsoft.com/jepayne/2017/12/08/weffles/

Guidance :
https://github.com/palantir/windows-event-forwarding
https://github.com/iadgov/Event-Forwarding-Guidance/
https://github.com/AustralianCyberSecurityCentre/windows_event_logging

Evènements à collecter :
https://github.com/iadgov/Event-Forwarding-Guidance/tree/master/Events
https://github.com/AustralianCyberSecurityCentre/windows_event_logging/tree/mas ter/events
https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/appendix-l--events-to-monitor
https://github.com/palantir/windows-event-forwarding/tree/master/wef-subscriptions

Enregistrements des évènements dans une base de données SQL :


https://4sysops.com/archives/windows-event-forwarding-to-a-sql-
database/?utm_source=dlvr.it&utm_medium=twitter&utm_campaign=sunnyhoi
https://blog.netnerds.net/2013/03/importing-windows-forwarded-events-into-sql-server-using-powershell/

PKI :
https://blogs.technet.microsoft.com/thedutchguy/2017/01/24/windows-event-forwarding-to-a-workgroup-
collector-server/

WinRM, PowerShell et Wecutil :


https://msdn.microsoft.com/en-us/library/aa384372(v=vs.85).aspx
http://labs.supinfochina.com/en/powershell-configure-winrm-and-enable-psremoting/
https://www.simple-talk.com/sysadmin/powershell/powershell-day-to-day-sysadmin-tasks-events-and-
monitoring/
https://blogs.technet.microsoft.com/jonjor/2009/01/09/winrm-windows-remote-management-
troubleshooting/
https://digital-forensics.sans.org/blog/2013/09/03/the-power-of-powershell-remoting

2
INDEX

SOURCES ................................................................................................................................................. 2
INDEX ...................................................................................................................................................... 3
1. Configuration en mode « Collector » (pull) ........................................................................................ 5
1.1 Serveur « collecteur d’évènements » .......................................................................................... 5
1.2 Serveurs sources........................................................................................................................ 5
1.3 Création d’un abonnement......................................................................................................... 7
1.4 Vérifications .............................................................................................................................. 9
2. Configuration en mode « Source » (push)........................................................................................ 10
2.1 Serveur « collecteur d’évènements » ........................................................................................ 10
2.2 Serveurs « sources » ................................................................................................................ 11
2.3 Création d’un abonnement....................................................................................................... 14
2.4 Vérifications ............................................................................................................................ 15
3. Collecte des évènements de sécurité ............................................................................................... 16
3.1 Configuration via GPO et droit d’accès SDDL (recommandé)....................................................... 16
3.2 Configuration via GPO et groupe local ....................................................................................... 17
3.3 Configuration manuelle via groupe local ................................................................................... 17
3.4 Configuration manuelle via droit d’accès SDDL .......................................................................... 18
3.5 Configuration pour les contrôleurs de domaine ......................................................................... 18
4. Gestion des abonnements............................................................................................................... 19
4.1 Afficher l’état de la configuration d’un abonnement .................................................................. 19
4.2 Importation et exportation d’un abonnement ........................................................................... 19
5. Gestion des fichiers de logs ............................................................................................................. 20
5.1 Création d’un fichier de log personnalisé................................................................................... 20
5.2 Création d’un « channel » personnalisé ..................................................................................... 20
5.3 Création d’évènements ............................................................................................................ 22
6. Performance et optimisation........................................................................................................... 23
6.1 Contrôle de la collecte d’évènements ....................................................................................... 23
6.2 Contrôle des EPS...................................................................................................................... 23
6.3 Temps de rafraîchissement des souscriptions ............................................................................ 23
6.4 Changement d’emplacement d’un fichier de logs....................................................................... 24
6.5 Réduction de la taille des évènements ...................................................................................... 24
3
6.6 Augmentation du buffer........................................................................................................... 25
6.7 Mesure des EPS ....................................................................................................................... 25
7. Limitations ..................................................................................................................................... 26
7.1 Nombre de clients source ......................................................................................................... 26
7.2 Taille des journaux d’évènements ............................................................................................. 27
8. Sécurité .......................................................................................................................................... 28
8.1 Transport et authentification.................................................................................................... 28
8.2 Configuration des méthodes d’authentification ......................................................................... 28
9. Outils ............................................................................................................................................. 30
9.1 Log Parser ............................................................................................................................... 30
9.2 Log Parser Studio (LPS) ............................................................................................................. 30
9.3 Manifest generator .................................................................................................................. 30
9.4 Log Parser Lizard...................................................................................................................... 31
9.5 Wecutil « wrapper »................................................................................................................. 31
10. Troubleshooting.......................................................................................................................... 32
10.1 Journaux d’évènements ........................................................................................................... 32
10.2 Service WinRM ........................................................................................................................ 32
10.3 Réinitialisation de la configuration ............................................................................................ 33
10.4 [ERROR] No additionnal status.................................................................................................. 33
10.5 [ERROR] The WS Management service cannot process the request because the XML is invalid..... 34
10.6 [ERROR] WinRM client could not create a push subscription ...................................................... 34
10.7 [ERROR] Event Collect service must be running.......................................................................... 35
10.8 [ERROR] Access is denied ......................................................................................................... 35
10.9 [ERROR] An event from [host] is lost and could not be delivered ................................................ 35
10.10 Affichage avec des logs avec des « % » .................................................................................. 36
10.11 [ERROR] Subscription cannot be created................................................................................ 36
11. Monitoring ................................................................................................................................. 37
11.1 Statuts des serveurs sources..................................................................................................... 37
12. Processus global de vérification................................................................................................... 38

4
1. Configuration en mode « Collector » (pull)
Dans ce mode de fonctionnement, le serveur « collecteur d’évènements » va se connecter auprès de
chacun des serveurs afin de récupérer les journaux d’évènements souhaités.

1.1Serveur « collecteur d’évènements »

1.1.1 Activation du service « collecteur »

Activez le service « Windows Event Collector » via la commande wecutil qc ou via la console MMC :

1.2Serveurs sources

1.2.1 Configuration du pare-feu


Complétez la GPO précédente en créant une règle de pare-feu autorisant le serveur de logs à se
connecter à chacun des serveurs distants : « Windows Remote Management (HTTP-In) » (TCP 5985)

1.2.2 Configuration du service WinRM

Complétez cette même GPO afin de démarrer automatiquement le service « Windows Remote
Management » (alias WinRM) sur l’ensemble de vos serveurs distants :

5
1.2.3 Autorisation d‘accès distante aux logs

Autorisez votre serveur « collecteur » à se connecter au journal d’évènements de tous vos serveurs
en créant une GPO du type « Restricted groups » :
 Créez un groupe AD nommé « SG_Logs_Access »
 Ajoutez dans ce groupe le compte ordinateur du serveur en charge de collecter les logs :

 Créez la GPO et ajoutez créez un « Restricted group » :

 Ajoutez « SG_Logs_Access » dans le groupe local « Event logs readers » :

 Redémarrez le serveur « collecteur » pour prendre en compte son appartenance au groupe


 Exécutez un gpupdate /force sur vos serveurs cibles pour appliquer la GPO
 Vérifiez sur vos serveurs cibles que le groupe a bien été rajouté :

6
1.3Création d’un abonnement

Veuillez maintenant procéder à la création d’une souscription à partir de votre serveur de logs :

 Indiquez un nom et sélectionnez le mode Collector initiated :

 Dans Select Computers, sélectionnez le serveur dont vous souhaitez collecter les logs (il
n’est pas possible de sélectionner des groupes dans ce mode) :

7
 Testez la connectivité du serveur de log vers votre serveur distant :

 Dans Select Events, sélectionnez le type d’évènement que vous souhaitez collecter :

 Dans Advanced, assurez-vous de bien sélectionner l’option Machine account puis définissez
la fréquence de collecte des logs (source). Vous avez le choix entre les options suivantes :
o Normal : les logs sont rapatriés par groupe de 5 chaque 15 minutes
o Minimize bandwidth : les logs sont envoyés chaque 6 heures
o Minimize latency : les logs sont envoyés chaque 30 secondes
o Custom : cf. point 6.1

8
1.4Vérifications

Vérifier que le statut de la « Souscription » est Active :

Vérifiez également que le dossier Forwarded events contient bien les évènements collectés :

Vérifiez l’état des connexions sur le serveur « collecteur » (192.168.56.101) :

Vérifiez l’état des connexions sur un serveur distant (192.168.56.150) :

9
2. Configuration en mode « Source » (push)
Dans ce mode nous indiquons aux serveurs « sources » le serveur « collecteur d’évènements » qu’ils
doivent contacter pour la transmission des logs (source).

2.1Serveur « collecteur d’évènements »

2.1.1 Activation du service « collecteur »

Activez le service « Windows Event Collector » via la commande wecutil qc ou via la console MMC :

2.1.2 Configuration du service WinRM

Activez le service WinRM via la commande winrm qc :

Vérifiez ensuite que la règle de pare-feu par défaut ci-dessous a bien été activée (au risque de vous
retrouver avec l’erreur du point 10.6) :

10
2.2Serveurs « sources »

2.2.1 Configuration du service WinRM

Créez une GPO afin de démarrer automatiquement le service « Windows Remote Management »
(alias WinRM) sur l’ensemble de vos serveurs sources :
Computer Configuration > Policies > Windows settings > Security settings > System services

2.2.2 Configuration de la cible de souscription

Complétez la GPO afin d’indiquer la cible de la souscription et appliquez-la aux serveurs concernés.
Pour cela naviguez dans : Computer Configuration > Policies > Administrative Templates > Windows
Components > Event Forwarding > Configure target subscription manager

IMPORTANT : veuillez ne pas appliquer la GPO aux serveurs collecteurs au risque de générer les
problèmes présentés au point 10.4.

Renseignez le chemin d’accès au serveur de logs :


server=http://<Event Collector FQDN>:5985/wsman/SubscriptionManager/WEC

A titre d’information, vous pouvez vérifier que la GPO a bien été appliquée en consultant la clef de
registre ci-dessous :

11
2.2.3 Configuration du client WinRM

Définissez ensuite les hôtes de confiance (« Trusted hosts ») auprès desquels sont autorisés à se
connecter les clients sources. Pour cela allez dans : Computer Configuration > Policies >
Administrative Templates > Windows Components > Windows Remote management > WinRM
Client et renseignez le ou les FQDNs des serveurs collecteurs de logs.

12
2.2.4 Configuration du service WinRM

Configurerez ensuite le « WinRM Service » via la GPO existante afin :


 D’autoriser le service WinRM à recevoir des requêtes
 De créer une exception dans le pare-feu Windows sur l’IP indiquée et sur le port WnRM/http
par défaut (5985)

Pour cela allez dans Computer Configuration > Policies > Administrative Templates > Windows
Components > Windows Remote management > WinRM Service

13
2.3Création d’un abonnement

Sur votre serveur de logs :


 Ouvrez la console « Event Viewer » et créez une nouvelle souscription de type « Source
computer initiated »

 Ajoutez les serveurs ou les groupes de serveurs dont vous souhaitez collecter les évènements
via « Select computers groups » puis « Add domain computers » :

 Dans Select Events, sélectionnez le type d’évènement que vous souhaitez collecter. Pour
des requêtes plus précises, utilisez l’onglet XML et le langage de requête XPath (source) :

 Dans Advanced, définissez la fréquence de collecte des logs (source). Vous avez le choix entre
les options suivantes :
o Normal : les logs sont rapatriés par groupe de 5 chaque 15 minutes
o Minimize bandwidth : les logs sont envoyés chaque 6 heures
o Minimize latency : les logs sont envoyés chaque 30 secondes
o Custom : cf. point 6.1
14
2.4Vérifications

Vérifier que le statut de la « Souscription » est Active :

Constatez l’état des connexions sur le serveur de logs (172.24.4.17) :

Vérifiez l’état des connexions sur un client distant (172.24.4.18) :

15
3. Collecte des évènements de sécurité
Par défaut les évènements de sécurité ne peuvent pas être collectés en raison de droits d’accès
restreints dont dispose le journal d’évènements Security. Pour pouvoir les collecter vous devez
appliquer une des méthodes proposées à la suite.

3.1Configuration via GPO et droit d’accès SDDL (recommandé)

Commencez par lister les propriétés d’accès au journal d’évènements Security :


wevtutil.exe get-log security

Modifiez ensuite les droits en allant dans : Computer > Policies > Admin Templates > Windows
Components > Event Log Service > Security et Configure log access.

Insérez ensuite l’un des paramètres suivants afin d’autoriser le compte « Network Service » :
O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-20)
ou
O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS)

16
Si la configuration a bien été appliquée, vous devriez obtenir le résultat suivant :

3.2Configuration via GPO et groupe local

Editez la GPO depuis un ordinateur qui ne soit pas un contrôleur de domaine (autrement les groupes
et utilisateurs concernés n’apparaitront pas). Allez dans : Preferences > Control Panel > Local Users
and Groups puis New Local Group. Dans la fenêtre de recherche des utilisateurs, veuillez sélectionner
dans Locations le nom de la machine locale et non le nom de domaine.

Note : les « Restricted groups » ne peuvent pas être utilisés dans cette situation étant donné que le
compte « Network service » est propre à chaque machine et qu’il ne fait pas partie du domaine.

3.3 Configuration manuelle via groupe local

Ajoutez le compte « Network Service » dans le groupe « Event Readers » :


net localgroup "Event Log Readers" "NT Authority\Network Service" /add

17
3.4Configuration manuelle via droit d’accès SDDL

Il est également possible de définir manuellement les droits SDDL sur le journal Security :
wevtutil set-log security /ca:’O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-
573)(A;;0x1;;;S-1-5-20)’

3.5Configuration pour les contrôleurs de domaine

Si vous avez appliqué les recommandations du point 3.1, il n’est pas nécessaire d’appliquer ce point
du moment que les changements s’appliquent à l’intégralité des serveurs. Si vous avez utilisé les
méthodes des points 3.2 et 3.3, veuillez suivre la procédure ci-dessous spécifique aux contrôleurs
de domaine :

A contrario des serveurs membres, les contrôleurs de domaine ne disposent pas de groupes locaux.
En effet ces derniers ont été « migrés » dans l’OU Builtin lors de leur promotion en contrôleur de
domaine. Etant donné que le contenu de ces groupes est répliqué sur l’ensemble des contrôleurs de
domaine, il suffit simplement d’ajouter le compte « Network Service » dans le groupe Event Log
Readers et d’attendre que la configuration soit répliquée.

18
4. Gestion des abonnements
4.1Afficher l’état de la configuration d’un abonnement

Pour afficher la configuration de votre abonnement :


wecutil gs "subscription_name"

4.2Importation et exportation d’un abonnement

Pour exporter une souscription :


wecutil gs "subscription_name" /f:xml >>"C:\export.xml"

Pour importer une souscription :


wecutil cs file.xml

19
5. Gestion des fichiers de logs
5.1Création d’un fichier de log personnalisé

Vous pouvez créer un fichier de logs personnalisé pour y stocker des évènements provenant par
exemple d’une application maison ou d’un logiciel tiers (source). Par défaut, ce fichier ne pourra pas
être utilisé pour stocker les évènements provenant d’autres serveurs . Une procédure est néanmoins
présentée au point suivant pour répondre à ce problème.
New-EventLog -LogName <log file name> -Source <source>

Pour supprimer ce fichier :


Remove-EventLog -LogName <MyLog>

5.2Création d’un « channel » personnalisé

5.2.1 Problématique

Par défaut il n’est pas possible d’utiliser un fichier de log personnalisé (cf. point précédent) pour
stocker les logs collectés. Cette idée a pourtant du sens quand on veut séparer différents
abonnements dans différents fichiers de logs pour y appliquer différentes stratégies.
Ce constat est confirmé par la capture ci-dessous où on peut voir sur la gauche un fichier de logs
personnalisés, sans pour autant qu’il apparaisse dans la liste Destination Log. Pour parer à ce
problème, il est nécessaire de créer un « channel » afin d’y insérer les événements souhaités.

5.2.2 Etapes

Il existe une solution que vous trouverez plus en détails sur ce lien. A noter qu’il faudra pour cela
compiler une DLL et l’importer dans votre système :
1. Télécharger le SDK du système concerné, ici Windows 8.1 / Server 2012 (lien)
2. Procédez à son téléchargement et à son installation (seul le Windows SDK est nécessaire) :

20
3. Téléchargez le template proposé sur le site
4. Ouvrez le fichier C:\Program Files (x86)\Windows Kits\8.1\bin\x64\ecmangen.exe
5. Personnalisez les « channels » à votre guise :

6. Sauvegardez la configuration sous l’extension *.man


7. Exécutez les commandes suivantes dans une console CMD (et non PowerShell) :
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\mc.exe" "C:\ECMan\CustomEventChannels.man"
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\mc.exe" -css CustomEventChannels.DummyEvent
C:\ECMan\CustomEventChannels.man
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\rc.exe" C:\ECMan\CustomEventChannels.rc
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /win32res:C:\ECMan\CustomEven tChannels.res
/unsafe /target:library /out:C:\ECMan\CustomEventChannels.dll C:\ECMan\CustomEventChannels.cs

21
8. Copiez ensuite les fichiers *.DLL et *.MAN dans C:\Windows\System32
9. Chargez le fichier *.MAN :
wevtutil im c:\Windows\system32\CustomEventChannels.man
10. Si tout s’est déroulé comme prévu, vous devriez obtenir ceci :

5.2.3 Résultat

Il ne vous reste plus ensuite qu’à créer une Souscription et d’indiquer en destination les « channels »
souhaités :

5.3 Création d’évènements

Vous pouvez générer à tout moment un évènement personnalisé à des fins de test :
eventcreate /id 999 /t error /l system /d “Test purpose event”

22
6. Performance et optimisation
6.1Contrôle de la collecte d’évènements
Vous pouvez optimiser la collecte d’évènements par souscription via la commande wecutil (source):
wecutil ss <subscription_name> /cm:custom /hi:10000 /dmlt:5000 /dmi:15
/hi:<HeartbeatInterval> : heartbeat interval from source clients (ms)
/dmlt:<DeliveryMaxLatencyTime> : maximum time (ms) that can elapse before event logs are
forwarded, provided the MaxItems value is not exceeded
/dmi:<DeliveryMaxItems> : maximum number of items that should be batched before being sent

6.2Contrôle des EPS

Vous pouvez contrôler le nombre maximum d’éléments envoyés par seconde (EPS) par client source
via la GPO ci-dessous. Pour une mesure précise des EPS, rendez-vous au point 6.7.
Computer Configuration/Administrative Templates/Windows Components/Event Forwarding puis
Configure Forwarder Resource Usage.

6.3Temps de rafraîchissement des souscriptions

Vous pouvez modifiez le temps de vérification d’une nouvelle souscription via l’option « Refresh » :
server=http://<Event Collector FQDN>:5985/wsman/SubscriptionManager/WEC,Refresh=60

23
6.4Changement d’emplacement d’un fichier de logs

Vous pouvez déplacer un fichier de logs vers un emplacement diffèrent via la commande ci -dessous
(source). Attention, quand le fichier de logs est déplacé, son contenu est vidé.
wevtutil sl <Event log name> /lfn:D:\LOGS\<log file name>.evtx

6.5Réduction de la taille des évènements

6.5.1 Comparaison

Par défaut les évènements transmis au serveur de logs sont au format RenderedText. A contrario du
format Events, ce format contient deux blocs d’informations : « EventData » et « RenderingInfo » (cf.
extraits ci-dessous) :

Quand le mode Events est activé, la partie « RenderingInfo » est tronquée et seul « EventData » est
conservée (cf. image ci-dessous) :

24
6.5.2 Changement de mode

Pour changer la souscription au mode Events, exécutez la commande suivante :


wecutil ss "<subscription_name>" /cf:events

6.6Augmentation du buffer
Dans le cas de l’utilisation de journaux de type « ETW » (Event Tracing for Windows), il peut s’avérer
nécessaire d’augmenter la taille du « buffer » afin de ne pas se retrouver avec l’erreur du point 10.9.
Pour cela il convient d’éditer la clef de registre ci-dessous et de procéder aux changements indiqués
dans ce lien : HKLM\System\CurrentControlSet\Control\WMI\Autologger\Eventlog-ForwardedEvents

6.7Mesure des EPS

Le script PowerShell suivant (source « IBM security intelligence ») permet de scanner les journaux
d’évènements afin de déterminer le nombre d’EPS par serveur. Exemple de rapport généré :

25
7. Limitations
7.1Nombre de clients source

Comme l’indique Microsoft (lien), un serveur collecteur est soumis aux limitations suivantes :
 Disque I/O : les évènements reçus sont directement écrits dans le fichier de logs au format
*.evtx. Il convient donc de disposer d’un stockage performant afin de ne pas freiner l’écriture
 Nombre de connexions : chaque serveur source maintient une connexion permanente avec
le serveur central. De ce fait, le nombre total de connexions est limité au nombre de
connexion TCP disponibles
 Bande passante : en fonction du nombre et du volume d’évènements transférés, il convient
de s’assurer que la bande passante disponible est suffisante afin de ne pas saturer les liens et
de ne pas impacter de ce fait la qualité des applications et des services délivrés
 Taille du registre : chaque serveur source créé sa propre entrée dans le registre. De ce fait il
convient de noter les limitations suivantes concernant le nombre de client source par serveur
collecteur :
Source clients
Event Console GUI Command line Register
Min Max
0 1000 Accessible Accessible Accessible
1000 50.000 Event subscription loading time may increase Accessible Accessible
50.000 100.000 Cannot be used Accessible Accessible
100.000 higher Cannot be used Cannot be used Unreadable

Chemin :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\EventCollector\Subscripti
ons\RS_Server_Logs\EventSources\

26
7.2Taille des journaux d’évènements

Microsoft fournit les recommandations suivantes pour Windows Server 2003 et 2008 (source) :
 La taille maximale d’un fichier de logs ne doit pas excéder 4Gb
 La taille maximale de tous les fichiers de logs ne doit pas excéder 16 Gb
 Le nombre d’évènements par seconde (EPS) moyen supporté est de 5000 pour Server 2008

On soulignera toutefois qu’il est tout à fait possible d’aller au-dessus de ces seuils (10 Gb par
exemple) au détriment d’un temps de chargement de console plus long (source).

27
8. Sécurité
8.1Transport et authentification

Les méthodes d’authentification suivantes sont disponibles pour l’authentification via WinRM :
 Kerberos (requiert un domaine Active Directory)
 Negotiate (NTLM ou Kerberos)
 CredSSP (non recommandé en raison de la délégation des identifiants)
 Digest (non recommandé / MD5 hash)
 Basic (non recommandé / base 64 plaintext)
 Unencrypted (non recommandé)

Ces méthodes de transports peuvent être utilisées pour acheminer les échanges WinRM :
 HTTP (TCP 5985)
 HTTPS (TCP 5896) : requiert une infrastructure PKI et l’utilisation de certificats

Concernant le chiffrement des données, sachez que dans le cas d’une authentification par certificats
les échanges seront chiffrés par la couche SSL/TLS. Dans le cas de l’authentification par Kerberos, les
données (à l’exception des en-têtes http) seront chiffrées via “http-kerberos-session-encrypted”
(source). Une capture des données échangées via ce biais est présentée ci-dessous :

8.2Configuration des méthodes d’authentification

8.2.1 Méthodes d’authentification client

Il est recommandé de limiter les méthodes d’authentification suivantes via GPO :


Computer Configuration > Policies > Administrative Templates > Windows Components > Windows
Remote management > WinRM Client

28
8.2.2 Méthodes d’authentification serveur

Il est recommandé de limiter les méthodes d’authentification suivantes :


Computer Configuration > Policies > Administrative Templates > Windows Components > Windows
Remote management > WinRM Service

8.2.3 Par certificat

La configuration de l’authentification par certificat n’est pas détaillée ici. En revanche vous pouvez
trouver plus d’informations concernant sa mise en place ici.

29
9. Outils
9.1Log Parser

Log Parser est un outil de traitement des logs en ligne de commande, prenant en compte de
nombreux formats d’entrée (lien).

9.2Log Parser Studio (LPS)

Log Parser Studio se présente comme une surcouche à Log Parser en proposant nativement de
nombreuses requêtes optimisées, notamment pour IIS ou OWA (lien).

9.3Manifest generator

Manifest Generator permet de créer des DLL personnalisées afin de créer des journaux
d’évènements avancés. Plus d’informations au point 5.2 (source).

30
9.4 Log Parser Lizard

Log Parser Lizard est un « parser » de log en tout genre, capable également de générer des rapports
(source).

9.5Wecutil « wrapper »

Ce « wrapper » fourni une alternative en PowerShell à la commande « Wecutil » (source).

31
10. Troubleshooting
10.1 Journaux d’évènements

Il existe deux journaux d’évènements disponibles pour vous aider à diagnostiquer les problèmes :
 EventCollector : contient les logs du serveur collecteur d’évènements (WEC)
 Event-ForwardingPlugin : contient les logs des serveurs clients (WEF)

10.2 Service WinRM

Les exemples de commandes ci-dessous permettent de diagnostiquer les problèmes liés à WinRM :

 Affichage des « listeners » WinRM côté serveur :


winrm enumerate winrm/config/listener
Get-ChildItem WSMan:\Localhost\listener

 Détails de la configuration WinRM côté client :


winrm get winrm/config

 Test de connectivité du service WinRM :


winrm id -r:<computer>

32
Test-WSMan -ComputerName <computer>

 Détail des ACL (SDDL) associés aux différents « listeners » WinRM :


Netsh http show urlacl

10.3 Réinitialisation de la configuration

Il peut dans certains cas être nécessaire d’effacer et de réinitialiser la configuration. Pour cela :
 Désactiver le service WinRM
Disable PS-Remoting
 Supprimer les « listener » présents (attention à ceux poussés par GPO) :
winrm delete winrm/config/Listener?Address=*+Transport=HTTP

10.4 [ERROR] No additionnal status

Si le triangle jaune apparaît dans la section Status d’une machine, essayez de :


 Consultez les journaux d’évènements présentés point 10.1
 Vérifier la configuration WinRM et WinRS (point 2.2.3 et 2.2.4)
 Vérifiez que la GPO est bien appliquée aux serveurs sources
 Effectuez un test de connectivité WinRM via Test-WSMan
 Redémarrez le service WinRM sur la machine source
 Redémarrez le serveur de logs et/ou la machine source

33
10.5 [ERROR] The WS Management service cannot process the request
because the XML is invalid

En mode « collector », il m’a été impossible de sélectionner l’option Minimize latency en raison du
message ci-dessous :

Solution : utilisez les commandes du point 6.1

10.6 [ERROR] WinRM client could not create a push subscription

L’erreur ci-dessous m’est apparue car la règle de firewall par défaut pour le service WinRM avait
été désactivée :

Solution : activez la règle par défaut en suivant les indications du point 2.1.2

34
10.7 [ERROR] Event Collect service must be running

Le message ci-dessous m’est apparu en me connectant à la console de gestion des abonnements


après avoir configuré un abonnement et après redémarré le serveur :

Solution : passez le service Windows Event Collector du mode Automatic Differed à Automatic :

10.8 [ERROR] Access is denied

En mode « collector », les serveurs indiquent un « access denied » :

Solution : vérifiez que vous avez bien appliqué la GPO du point 1.1.2 et que vous avez redémarré le
serveur de logs pour la prise en compte du nouveau groupe d’appartenance.

10.9 [ERROR] An event from [host] is lost and could not be delivered

Ce message (ID 501) est généralement lié à un problème de performances (lien). On constate en effet
que la souscription est bien opérationnelle, que les évènements sont bien reçus mais qu’ils ne sont
pas inscrits à l’emplacement souhaité. Cette erreur peut généralement être due à un problème de
« buffer » (cf. point 6.6) ou un problème de ressources sur le serveur collecteur (espace disque,
CPU…).

35
10.10 Affichage avec des logs avec des « % »

Cet affichage avec des « % » peut être rencontré sur votre serveur collecteur si le format
d’évènements Event présenté au point 6.5 est utilisé :

10.11 [ERROR] Subscription cannot be created


Ce problème peut apparaitre si la requête XML associée à la souscription est erronée ou excède un certain
nombre de caractères (source). Pour corriger le problème revoyez la souscription ou recréez-la.

36
11. Monitoring
11.1 Statuts des serveurs sources

Il est possible de consulter le statut des serveurs sources sur le serveur de logs via la commande :
wecutil gr "<abonnement>".

Ces informations ne sont toutefois que très peu structurées et il est difficile de les extraire pour en
faire des rapports. Heureusement un script PowerShell a été mis à disposition afin de rendre ces
informations plus accessibles et manipulables (source). Vous pouvez également utiliser le wrapper
présenté au point 9.5 qui propose des commandes PowerShell « natives ».

37
12. Processus global de vérification
Type Applied to Action Command / Console
Performance Collector Limit events ID to collect to few ones (4771, 4624) Subscription settings in Events MMC
Performance Collector Optimize events delivery wecutil ss <subscription_name> /cm:custom /hi:XX /dmlt:XX /dmi:XX
Performance Collector Enable compression on events sent wecutil ss "<subscription_name>" /cf:events
Performance Collector Increase buffer used by ETL for the event collector Registry key : \WMI\Autologger\Eventlog-ForwardedEvents
Performance Source server Limit events sent per second on sources Configure Forwarder Resource Usage (GPO)
Performance Source server Decrease refreshing time for subscription updates Configure target subscription > Refresh=60 (GPO)
Settings Collector Enable Event collector service wecutil qc
Settings Collector Enable WinRM service winrm qc
Settings Collector Configure WinRM service Configure Window Remote Mgmt service to "Auto start"
Settings Source server Configure trusted hosts Configure WinRM > Client > Trusted hosts (GPO)
Settings Source server Configure WinRM settings Configure WinRM > Service > Allow remote server Mgmt (GPO)
Settings Source server Configure target subscription Configure Event Fwd > Configure target subscription (GPO)
Settings Source server Configure WinRM firewall rule Enable WinRM firewall rule (GPO)
Settings Source server Configure WinRM service Configure Window Remote Mgmt service to "Auto start" (GPO)
Troubleshooting Collector Check if WinRM firewall rule is activated Windows Firewall MMC
Troubleshooting Collector Check established communication Netstat -ano | findstr 5985
Troubleshooting Collector Check Event Collector log folder Windows Event MMC
Troubleshooting Collector Check subscription live status wecutil gr "<subscription>"
Troubleshooting Collector Check subscription settings wecutil gs "<subscription>"
Troubleshooting Source server Check if WinRM firewall rule is activated Windows Firewall MMC (GPO)
Troubleshooting Source server Check if firewall allows WinRM communication Telnet <collector> 5985
Troubleshooting Source server Check if WinRM firewall rule is activated Test-NetConnection <collector> -port 5985
Troubleshooting Source server Check WEF activation and firewall communication Test-WSMan -ComputerName <collector>
Troubleshooting Source server Check Event-ForwardingPlugin log folder Windows Event MMC

38
N’hésitez pas à m’envoyer vos commentaires ou retours à l’adresse suivante :
m.decrevoisier A-R-0-B-A-5 outlook . com

Soyez-en d’ores et déjà remercié

39

Vous aimerez peut-être aussi