Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les fichiers de configuration Sysmon définissent les données de télémétrie que Sysmon enregistre et ce qu’il ignore. Étant donné que Sysmon capture une activité système détaillée et de bas niveau, la conception de configuration détermine directement l’utilité, les performances et la valeur d’investigation des données obtenues.
Cet article explique la structure des fichiers de configuration Sysmon, comment les règles de filtrage sont évaluées et comment raisonner la conception de la configuration lors du déploiement de Sysmon en tant que fonctionnalité Windows intégrée.
Fichiers de configuration
Les fichiers de configuration définissent le comportement de Sysmon en spécifiant des paramètres globaux et des règles de filtrage d’événements. Ils facilitent le déploiement d’une configuration prédéfinie et le filtrage des événements capturés.
Dans Sysmon intégré, la configuration est appliquée via des mécanismes de configuration Windows et évaluée au moment de l’exécution. Les mises à jour de configuration prennent effet immédiatement et persistent entre les redémarrages.
Structure de configuration de base
Un fichier XML de configuration Sysmon simple ressemble à ceci :
<Sysmon schemaversion="4.82">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<!-- Do not log process termination -->
<ProcessTerminate onmatch="include" />
<!-- Log network connection if the destination port equals 443 -->
<!-- or 80, and process isn't InternetExplorer -->
<NetworkConnect onmatch="include">
<DestinationPort>443</DestinationPort>
<DestinationPort>80</DestinationPort>
</NetworkConnect> <NetworkConnect onmatch="exclude">
<Image condition="end with">iexplore.exe</Image>
</NetworkConnect>
</EventFiltering>
</Sysmon>
Cet exemple illustre les points suivants :
Entrées de configuration globale
Filtrage spécifique à l’événement
Règles d’inclusion et d’exclusion combinées pour équilibrer la visibilité et le bruit
Version de schéma
Le fichier de configuration contient un attribut schemaversion sur la <Sysmon> balise . Cette version est indépendante de la version binaire sysmon et permet à Sysmon d’analyser correctement les fichiers de configuration plus anciens.
Contrôle de version du schéma :
Préserve la compatibilité entre les mises à jour Sysmon
Permet d’ajouter de nouvelles fonctionnalités en toute sécurité
Garantit que les anciennes configurations continuent de fonctionner
Entrées de configuration
Les entrées de configuration définissent le comportement global de Sysmon. Ils influencent la façon dont les événements sont enrichis ou gérés plutôt que les types d’événements générés.
| Entrée | Valeur | Par défaut | Description |
|---|---|---|---|
| ArchiveDirectory | Chaîne | Sysmon | Répertoire à la racine de chaque volume où les fichiers supprimés sont archivés lorsque l’archivage ile-delete est activé. Le répertoire est protégé par une liste de contrôle d’accès système. |
| CheckRevocation | Booléen | Vrai | Contrôle si des vérifications de révocation de signature numérique sont effectuées lors de la validation des fichiers binaires signés. |
| CopyOnDeletePE | Booléen | Faux | Conserve les fichiers exécutables supprimés (PE) en les copiant dans le répertoire d’archive. |
| CopyOnDeleteSIDs | Cordes | Aucun(e) | Liste séparée par des virgules des SID de compte pour lesquels les fichiers supprimés sont conservés. |
| CopyOnDeleteExtensions | Cordes | Aucun(e) | Noms de processus pour lesquels les fichiers supprimés sont conservés. |
| DnsLookup | Booléen | Vrai | Active la recherche DNS inversée pour les événements réseau afin de résoudre les adresses IP en noms d’hôtes. |
| DriverName | Chaîne | Généré automatiquement | Spécifie le nom utilisé pour le pilote Sysmon et les images de service. |
| HachageAlgorithms | Cordes | Aucun(e) | Algorithmes de hachage appliqués aux fichiers. Les valeurs prises en charge sont MD5, SHA1, SHA256, IMPHASH ou * (tous). |
Les entrées de configuration contrôlent l’enrichissement et la gestion des événements, et non la sélection des événements.
Schéma de configuration et définition d’événement
La configuration sysmon est basée sur un schéma bien défini qui décrit :
Types d’événements pris en charge
Champs disponibles pour le filtrage
Types de données de champ
Ce schéma définit ce que les fichiers de configuration peuvent exprimer et garantit une analyse cohérente entre les versions de Sysmon.
Certaines entrées de configuration activent des fonctionnalités (telles que le hachage ou l’enrichissement), mais les événements doivent toujours être explicitement activés et filtrés sous <EventFiltering>.
L’exemple suivant montre la définition de schéma pour le type d’événement RawAccessRead :
<event name="SYSMON_RAWACCESS_READ" value="9" level="Informational" template="RawAccessRead detected" rulename="RawAccessRead" version="2">
<data name="UtcTime" inType="win:UnicodeString" outType="xs:string"/>
<data name="ProcessGuid" inType="win:GUID"/>
<data name="ProcessId" inType="win:UInt32" outType="win:PID"/>
<data name="Image" inType="win:UnicodeString" outType="xs:string"/>
<data name="Device" inType="win:UnicodeString" outType="xs:string"/>
</event>
Cela illustre les points suivants :
Chaque événement expose un ensemble fixe de champs
Seuls les champs définis par le schéma peuvent être utilisés dans les règles de filtrage
Les types de champs limitent les conditions de filtrage valides
Filtrage d’événements
Le filtrage d’événements contrôle les événements Sysmon qui sont enregistrés. Chaque type d’événement a sa propre balise de filtre sous <EventFiltering>.
| Étiquette d’ID | Événement | Description |
|---|---|---|
| 1 | ProcessCreate | Créer un processus |
| 2 | FileCreateTime | Heure de création du fichier |
| 3 | NetworkConnect | Connexion réseau |
| 4 | Non applicable | Changement d’état du service Sysmon (non filtrable) |
| 5 | ProcessTerminate | Processus terminé |
| 6 | DriverLoad | Pilote chargé |
| 7 | ImageLoad | Image chargée |
| 8 | CreateRemoteThread | Création de threads distants |
| 9 | RawAccessRead | Accès au disque brut |
| 10 | ProcessAccess | Processus consulté |
| 11 | FileCreate | Fichier créé |
| 12–14 | RegistryEvent | Modifications du Registre |
| 15 | FileCreateStreamHash | Flux de fichier créé |
| 16 | Non applicable | Modification de la configuration Sysmon (non filtrable) |
| 17–18 | PipeEvent | Activité de canal nommé |
| 19–21 | WmiEvent | Activité WMI |
| 22 | DNSQuery | Requête DNS |
| 23 | FileDelete | Suppression de fichier (archivé) |
| 24 | Presse-papiersChange | Modification du contenu du Presse-papiers |
| 25 | ProcessTampering | Traiter la modification de l’image |
| 26 | FileDeleteDetected | Suppression de fichier (journalisée) |
| 27–29 | FileBlock / FileExecutable | Événements de fichier exécutable |
Inclure et exclure des règles
Chaque filtre d’événement spécifie un attribut onmatch :
include : seuls les événements correspondants sont enregistrés
exclude : tous les événements sont enregistrés, à l’exception des événements correspondants
Les règles d’exclusion sont toujours prioritaires sur les règles include.
Logique de règle et conditions
Les règles référencent des champs d’événement et leur appliquent des conditions.
Les règles de même champ se comportent comme OR
Les règles de champ différent se comportent comme ET
| Condition | Description |
|---|---|
| is | Correspondance exacte |
| Contient | Correspondance de sous-chaîne |
| commencer par / terminer par | Préfixe ou suffixe |
| image | Correspondance d’image prenant en compte le chemin d’accès |
| contient tout / contient tout | Correspondance à plusieurs valeurs |
| Exclut* | Correspondance négative |
| inférieur à / supérieur à | Comparaison lexicographique |
Règles nommées
Les règles peuvent être nommées pour fournir le contexte d’audit :
<NetworkConnect onmatch="exclude">
<Image name="network iexplore" condition="contains">iexplore.exe</Image>
</NetworkConnect>
Les règles nommées améliorent la clarté de l’examen et la facilité de maintenance.
Groupes de règles
Les groupes de règles permettent un contrôle explicite sur la combinaison de règles logiques :
<EventFiltering>
<RuleGroup name="group 1" groupRelation="and">
<ProcessCreate onmatch="include">
<Image condition="contains">timeout.exe</Image>
<CommandLine condition="contains">100</CommandLine>
</ProcessCreate>
</RuleGroup>
<RuleGroup groupRelation="or">
<ProcessTerminate onmatch="include">
<Image condition="contains">timeout.exe</Image>
<Image condition="contains">ping.exe</Image>
</ProcessTerminate>
</RuleGroup>
<ImageLoad onmatch="include"/>
</EventFiltering>
Les groupes de règles autorisent :
Correspondance comportementale précise
Logique différente par type d’événement
Réduction de la duplication des règles
Visibilité des modifications de configuration
Chaque fois que la configuration Sysmon est mise à jour, Sysmon génère un événement de modification de configuration, ce qui permet l’auditabilité et le suivi des modifications.
Principes de conception
Configurations Sysmon effectives :
Démarrer en général et affiner au fil du temps
Exclure une activité bénigne connue
Conserver le contexte d’investigation
Éviter les règles trop spécifiques
Une fois les données de télémétrie exclues, elles ne peuvent pas être récupérées rétroactivement.
Ce que les fichiers de configuration ne font pas
Fichiers de configuration :
Ne pas détecter les menaces
Ne pas générer d’alertes
Ne pas classifier le comportement
Ne pas remplacer la logique SIEM ou EDR
Ils définissent quelles preuves existent, et non comment elles sont interprétées.
Résumé
Les fichiers de configuration Sysmon constituent la base de déploiements Sysmon efficaces. La compréhension de la structure de schéma, de la sémantique de filtrage, de la logique de règle et des modèles réels est essentielle pour créer des configurations qui mettez à l’échelle et conservent une valeur d’investigation à long terme.