Importer des logs Windows “.evtx” dans ELK avec un script Python3 efficient
Dans cet article, nous allons voir comment importer des logs au format “.evtx” dans un SIEM ELK en utilisant un script Python3 sur un système Linux. L’objectif est de faciliter l’analyse des logs Windows dans un environnement ELK pour une meilleure efficacité. Nous présenterons également des rappels sur les fichiers .evtx et l’utilité d’un SIEM comme ELK dans la sécurité du système d’information. Enfin, nous détaillerons le fonctionnement du script d’import des .evtx vers ELK et les étapes pour visualiser les données dans Kibana.
Présentation
Dans cet article, nous allons apprendre à importer des logs au format “.evtx” dans un SIEM ELK par l’intermédiaire d’un système Linux, nous utiliserons pour cela un script écrit en Python3.À plusieurs reprises ces derniers mois, nous avons eu le besoin d’importer des logs Windows que nous avions à analyser “à froid” dans un SIEM ELK, c’est-à-dire sans accès direct au système les ayant produits. Il est vrai que les outils natifs de Windows se prêtent assez peu au rôle qui est le leur, à savoir rechercher efficacement des informations dans les milliers ou millions d’évènements qui peuvent se produire sur un système. C’est pourquoi nous préférons généralement utiliser ELK plutôt que de réimporter nos fichiers .evtx dans un autre système Windows.
EVTX et ELK : quelques rappels
Commençons par faire un bref rappel de ce que sont les logs EVTX. Les fichiers qui disposent d’une extension “.evtx” sous Windows sont tout simplement les journaux d’évènements produits par le système. Nous pouvons les parcourir les journaux d’un système à l’aide de l’Observateur d’évènements natif de Windows, mais aussi les transporter et importer (ou simplement sauvegarder) dans d’autres outils grâce à ce format de fichier. Il ne s’agit pas de fichier “texte”, ils disposent d’un format bien spécifique qui nécessite des outils sachant les traiter. Un SIEM (Security Information and Event Management) est une plateforme (ensemble d’outils) qui permet d’agréger, traiter, analyser et filtrer en temps réel les journaux d’évènements et de sécurité, mais aussi recevoir des alertes de sécurité. Son rôle est de centraliser les journaux d’évènements de plusieurs systèmes pour en simplifier le traitement.
Script d’import des .evtx vers ELK
Passons à présent à la procédure d’import des fichiers “.evtx”. En prérequis pour effectuer cette opération, il vous faut :
- Un accès réseau au port TCP/9200 de votre instance ElasticSearch.
- Les identifiants d’accès si nécessaire (peut aussi être un Bearer ou clé API, mais nécessitera une modification du script).
- Votre fichier avec l’extension “.evtx”.
- Un OS Linux avec Python3.
- Un ELK en version 8 ou plus, sinon le script indiqué dans le paragraphe suivant pourra être utilisé tel quel.
Comme indiqué en introduction, nous avons repris un script venant d’un dépôt qui présente quelques limitations et instructions obsolètes. Vous pourrez retrouver notre script mis à jour et amélioré sur notre GitHub.
Visualisation des données dans le Discover ELK
Une fois que l’import a été réalisé grâce à ce script, il est nécessaire de se rendre au niveau de l’interface Kibana dans “Management > Index Management” et de vérifier que vous avez bien un index nommé “hostlog”. Pour information, le nom de l’index qui sera ajouté dans ELK peut-être modifié lors de l’import avec l’option “-i”. Vous pourrez ensuite vous rendre dans le menu “Analytics > Discover” et sélectionner votre vue pour visualiser et rechercher dans les données importées.
Conclusion
J’espère que la remise au goût du jour de ce script pourra vous aider. Pour ma part, elle suffit aux besoins que j’ai dans la plupart des cas, mais peut nécessiter des adaptations en fonction des contextes, notamment pour des instances ELK d’entreprise parfois plus complexes. Vous pouvez récupérer notre script pour y ajouter vos propres modifications en fonction de votre contexte.
Source : www.it-connect.fr