Dans ce billet, j’explique comment configurer un SIEM au départ pour recevoir vos premiers journaux.
C’est le deuxième billet de la série « SIEM 101 », où j’explique les bases d’un SIEM, de l’installation à l’utilisation simple. Vous pouvez consulter le billet précédent, SIEM 101: introduction.
J’ai décidé d’écrire cette série avec Logz.io, parce que l’entreprise offre une plateforme facile d’usage, un essai gratuit de 1 Go par jour et une courbe d’apprentissage douce. Bien sûr, la version gratuite n’offre pas toutes les fonctions et certaines fonctions essentielles à un SIEM manquent, mais c’est parfait pour débuter! Pour les partisans de Splunk, j’écrirai probablement un billet expliquant pourquoi je le recommande rarement et pourquoi je recommande la plupart du temps un SIEM fondé sur Elasticsearch.
Première étape: ouvrir un compte
La première chose à faire est d’ouvrir un compte sur Logz.io. L’entreprise propose d’ouvrir un compte avec votre compte Google ou de vous inscrire par courriel. Pour cette démonstration, j’utiliserai l’authentification Google. Rendez-vous donc sur Logz.io et inscrivez-vous: https://app.logz.io/#/login
Cliquez ensuite sur « Sign in with Google »:
![]()
Vous serez redirigé vers l’authentification Google. Sélectionnez votre compte existant, connectez-vous ou créez un compte. Je vous laisse cette partie.
De retour sur le site de Logz.io, une page d’inscription s’affiche. Remplissez les champs et cliquez sur « Create Account »:
Note: il est judicieux de choisir une région près de chez vous pour obtenir une meilleure bande passante à l’envoi des journaux.

Voilà, votre compte est prêt à recevoir des journaux! À la connexion, vous pouvez suivre leur tutoriel si vous le souhaitez. L’étape suivante de ce billet revient à peu près au même.
Deuxième étape: commencer à envoyer des journaux
Maintenant que nous avons un compte, nous pouvons enfin commencer à envoyer des journaux. Assurez-vous d’être connecté à votre compte pour les étapes suivantes. J’ai divisé cette section en deux: une pour Windows et une pour Linux (j’utilise Ubuntu).
Une fois connecté, cliquez sur « Send Your Data » dans la barre de navigation du haut:

Les étapes suivantes deviennent intéressantes: nous allons configurer les agents d’expédition de journaux sur Windows et sur Ubuntu.
Windows
Dans la navigation de gauche, fermez « Log Shippers », qui devrait être ouvert, et ouvrez « Operating Systems »:

Sélectionnez « Windows » sous le menu « Operating Systems ». Votre page se rafraîchira vers l’URL https://app.logz.io/#/dashboard/data-sources/Windows
Deux options sont proposées; c’est la première qui nous intéresse: Winlogbeat.
Comme l’explique la page, il faut d’abord installer Winlogbeat. C’est ce que nous allons faire.
Rendez-vous sur https://www.elastic.co/downloads/beats/winlogbeat-oss et téléchargez la bonne version MSI pour votre ordinateur (32 bits ou 64 bits; en cas de doute, prenez la version 32 bits). Pour ma part, c’est le MSI 64 bits:
Note: mon lien diffère légèrement de celui proposé sur leur site, parce que je recommande la version à code source ouvert (oss).

Une fois le téléchargement terminé, cliquez sur le fichier: une fenêtre s’ouvrira.
Cochez « I accept the terms in the License Agreement » et cliquez sur « Install »:

Lorsqu’on vous le demande, acceptez l’exécution en tant qu’administrateur (contrôle de compte d’utilisateur). Une fois l’installation terminée, cliquez sur Finish, en laissant cochée la case « Open winlogbeat data directory in Windows Explorer ».
Dans la fenêtre de l’Explorateur qui s’ouvre à l’emplacement « C:\ProgramData\Elastic\Beats\winlogbeat », renommez le fichier « winlogbeat.example.yml » en « winlogbeat.yml ».
Ouvrez votre éditeur de texte favori (ce peut être Notepad; j’utilise VSCode) en tant qu’administrateur (clic droit, Exécuter en tant qu’administrateur), puis ouvrez le fichier « winlogbeat.yml ».
Remplacez tout le contenu du fichier par celui de ce gist:
https://gist.github.com/tristandostaler/dcd092192409c7a29cb6489eddbca4b7
Vous y trouverez le texte « YOURTOKEN_PLACEHOLDER »; remplacez-le par le jeton fourni dans la page des paramètres de Logz.io, section « Account settings »:

Attention, ce jeton est secret! Si quelqu’un se l’approprie, il peut envoyer de fausses données à votre compte et le surcharger de données inutiles.
Téléchargez maintenant le certificat public de Logz.io et placez-le dans « C:\ProgramData\Winlogbeat\COMODORSADomainValidationSecureServerCA.crt ». Ce certificat est disponible à https://raw.githubusercontent.com/logzio/public-certificates/master/AAACertificateServices.crt. Vous devrez le faire avec votre éditeur de texte lancé en tant qu’administrateur.
Cela fait, exécutez la commande suivante dans une fenêtre PowerShell en tant qu’administrateur: Restart-Service winlogbeat
Voilà, vous devriez maintenant recevoir vos journaux Windows dans Logz.io! Rendez-vous dans « Kibana » pour les voir arriver (cliquez sur « Refresh » si rien n’apparaît tout de suite).
Note: vous avez peut-être remarqué que j’active dans winlogbeat.yml la journalisation de Sysmon. Je prévois écrire un billet pour expliquer ce qu’est Sysmon et comment l’utiliser. Pour l’instant, peu importe si Sysmon n’est pas installé: Winlogbeat ignorera simplement cette ligne de configuration.
Astuce: vous pouvez activer le thème sombre de Kibana dans la page des paramètres de Logz.io.
Ubuntu
Note: une section résumée se trouve à la fin. Pour cette section, je suppose que vous savez utiliser l’interface en ligne de commande. Sous Ubuntu, nous utiliserons Filebeat. Par défaut, si vous envoyez vos journaux par rsyslog, les données ne seront pas chiffrées sur Internet, ce qui n’est pas recommandé. Avec Filebeat, nous pouvons facilement envoyer des données chiffrées. Dans la navigation de gauche, sous « Log Shippers », qui devrait être ouvert (sinon, ouvrez-le), cliquez sur « Filebeat ». Comme l’explique la page, il faut d’abord installer Filebeat. C’est ce que nous allons faire. Exécutez les commandes suivantes. Note: mon lien diffère légèrement de celui proposé sur leur site, parce que je recommande la version à code source ouvert (oss).
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.10.0-amd64.deb sudo dpkg -i filebeat-oss-7.10.0-amd64.deb rm filebeat-oss-7.10.0-amd64.deb
Il nous faut aussi le certificat public de Logz.io. Exécutez la commande suivante:
sudo curl https://raw.githubusercontent.com/logzio/public-certificates/master/AAACertificateServices.crt –create-dirs -o /etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crt
Nous allons ensuite configurer Filebeat pour qu’il expédie les journaux vers Logz.io, à l’aide de mon gabarit par défaut et d’un peu de bash. Lorsque le jeton vous sera demandé, fournissez celui de la page des paramètres de Logz.io, section « Account settings »:

Attention, ce jeton est secret! Si quelqu’un se l’approprie, il peut envoyer de fausses données à votre compte et le surcharger de données inutiles.
Exécutez les commandes suivantes:
sudo curl https://gist.githubusercontent.com/tristandostaler/7a212a0ba23b97c97a5e2c6925bde240/raw/72c90076cf4aa16179c123316b3ef8cec775d576/filebeat.yml –create-dirs -o /etc/filebeat/filebeat.yml echo -n “Please enter your logz.io Token: “ && read -s LOGZ_TOKEN && sudo sed -i “s|YOURTOKEN_PLACEHOLDER|$LOGZ_TOKEN|g” /etc/filebeat/filebeat.yml
Il ne reste plus qu’à démarrer Filebeat et les journaux commenceront à circuler! Exécutez la commande suivante:
sudo systemctl start filebeat || sudo service filebeat start (sudo systemctl enable filebeat) || (sudo update-rc.d filebeat defaults && sudo update-rc.d filebeat enable)
Voilà, vous devriez maintenant recevoir vos journaux Ubuntu dans Logz.io! Rendez-vous dans « Kibana » pour les voir arriver (cliquez sur « Refresh » si rien n’apparaît tout de suite).
Note: vous avez peut-être remarqué que j’active dans filebeat.yml la journalisation de plusieurs systèmes qui ne sont pas installés par défaut, comme auditd. Je prévois écrire un billet pour expliquer ce qu’est auditd et comment l’utiliser. Pour l’instant, peu importe si auditd n’est pas installé: Filebeat ignorera simplement cette ligne de configuration.
Astuce: vous pouvez activer le thème sombre de Kibana dans la page des paramètres de Logz.io.
En résumé, toutes les commandes ensemble:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.10.0-amd64.deb sudo dpkg -i filebeat-oss-7.10.0-amd64.deb rm filebeat-oss-7.10.0-amd64.deb sudo curl https://raw.githubusercontent.com/logzio/public-certificates/master/AAACertificateServices.crt –create-dirs -o /etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crt sudo curl https://gist.githubusercontent.com/tristandostaler/7a212a0ba23b97c97a5e2c6925bde240/raw/72c90076cf4aa16179c123316b3ef8cec775d576/filebeat.yml –create-dirs -o /etc/filebeat/filebeat.yml echo -n “Please enter your logz.io Token: “ && read -s LOGZ_TOKEN && sudo sed -i “s|YOURTOKEN_PLACEHOLDER|$LOGZ_TOKEN|g” /etc/filebeat/filebeat.yml sudo systemctl start filebeat || sudo service filebeat start (sudo systemctl enable filebeat) || (sudo update-rc.d filebeat defaults && sudo update-rc.d filebeat enable)
Conclusion
Voilà, vous avez maintenant votre configuration initiale de SIEM, avec des journaux qui sont envoyés! Bien sûr, il n’y a pour l’instant aucune alerte et la plateforme que nous utilisons n’offre pas toutes les fonctions que l’on souhaiterait d’un SIEM. Mais c’est parfait pour commencer à apprendre. Dans le prochain billet, SIEM 101: utilisation de base, j’explique l’utilisation de base de Logz.io: comment chercher dans les journaux, comment créer une alerte, etc.
Ce billet a d’abord été publié sur https://www.tristandostaler.com/siem-101-initial-setup/ le 24 novembre 2020.
