Elastic Stack 8 - Winlogbeat pour monitorer Windows Server

Beats logo

Nous avons vu précédement comment installer Elastic Stack Part I et comment monitorer des commutateurs Cisco (Part II) nous allons voir ici comment monitorer des Serveurs Windows.

Pour se faire nous allons installer le module Winlogbeat sur chacun des serveurs Windows que l'on veut surveiller.

Winlogbeat fonctionne comme un agent qui collecte des éléments du journal des événements Windows puis les envoie sur notre serveur Elasticsearch.

Grâce à ce module, nous pouvons surveiller : l'activité de connexion des utilisateurs, les tentatives de connexions infructueuses, les comptes bloqués, les événements etc…

Winlogbeat Architecture

SIEM | Winlogbeat schema with elasticsearch and kibana
Winlogbeat Architecture.

Installation de Winlogbeat (Windows)

J'installerai Winlogbeat sur chaque serveur que l'on souhaite monitorer dans Elasticsearch.

Télécharger Winlogbeat

  • Se connecter sur le site officiel et télécharger l'archive zip :
https://www.elastic.co/downloads/beats/winlogbeat
  • Une fois téléchargé, dézipper les fichiers dans C:\Program Files\winlogbeat :
Elasticsearch | Windows Explorer, C:\Program Files\winlogbeat
  • Éditer le fichier winlogbeat.yml et remplacer X.X.X.X par l'ip de votre serveur Elasticsearch :
# =================================== Kibana ===================================

# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "https://X.X.X.X:5601"
  ssl.verification_mode: none
  username: "elastic"
  password: "elastic_password;)"

# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["X.X.X.X:9200"]

  # Protocol - either `http` (default) or `https`.
  protocol: "https"
  ssl.verification_mode: none

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "elastic"
  password: "elastic_password;)"

Installer Winlogbeat

  • Ouvrir une console PowerShell avec les droits administrateur :
Windows | Open Windows PowerShell with administrator rights
  • Se déplacer dans le répertoire C:\Program Files\winlogbeat :
PS C:\> cd "C:\Program Files\winlogbeat"
  • Vérifier le fichier winlogbeat.yml :
PS C:\> .\winlogbeat.exe test config -c .\winlogbeat.yml
  • Installer le service Winlogbeat :
PS C:\> powershell -executionpolicy UnRestricted -file .\install-service-winlogbeat.ps1
  • Mettre en place les paramètres prédéfinis pour l'analyse, l'indexation, et la visualisation :
PS C:\> .\winlogbeat.exe setup -e
  • Démarrer le service Winlogbeat :
PS C:\> Start-Service winlogbeat

Kibana

Vérifier les indices

  • Ouvrir Firefox et se connecter à l'adresse https://KIBANA_IP_SERVER:5601/. Depuis le menu principal, aller dans Management > Stack Management :
Kibana | Main menu, Management, Stack Management
  • Depuis Stack Management aller dans Data > Index Management :
Kibana | Main menu, Management, Stack Management, Data, Index Management
  • Des indices devraient être présents :
Kibana | Indices

Dashboard

Il y a pas mal de dashboard prédéfinis pour winlogbeat nous allons voir comment les utiliser.

  • Depuis le menu principal, aller dans Kibana > Dashboard :
Kibana | Main Menu, Dashboard
  • Entrer Winlogbeat et choisir un Dashboard :
Kibana | Winlogbeat Dashboard
  • Exemple ici avec le dashboard Failed and Blocked Account :
Kibana | Winlogbeat Failed and Blocked Account Dashboard
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :