Création — Nicolas THOREZ 2020/02/14 14:07
auditd est quasiment une référence en terme d'audit de système Linux. Il enregistre toutes les informations, actions, des utilisateurs et des services. L'analyse de ces logs permet alors à un administrateur système se savoir précisément ce qu'il s'est passé sur une machine.
auditd est compatible PCI-DSS.
auditd est livré avec des outils de gestion tels que :
ausearch : permet de chercher des informations dans les logs de auditd.aureport : affiche un rapport (statistique) des données de auditd.
Les logs de auditd dépendent des règles appliquées et ces derniers peuvent être assez difficile à comprendre. C'est pour cela, qu'on traitera les données de auditd au travers de ElasticSearch & Kibana via le plugin auditbeat.
root. Faîtes donc attention à ce que vous faîtes.
apt-get update
apt-get install -y auditd audispd-plugins
systemctl status auditd.service
systemctl start auditd.service
systemctl stop auditd.service
Les règles peuvent être gérées directement via la ligne de commande avec auditctl. Par exemple :
-l, liste les règles existantes :
auditctl -l
-D, supprime toutes les règles existantes :
auditctl -D
auditctl -a exit,always -F path=/etc/passwd -F perm=wa
Je vous laisse vous référer à la documentation de auditd pour connaître l'ensemble des commandes.
Les règles peuvent aussi être inscrites directement dans le fichier de configuration /etc/audit/rules.d/audit.rules. Il existe par ailleurs sur Internet des exemples de fichier de configuration :
auditd après chaque modification de règles afin qu'elles soient prise en compte.
Si vous souhaitez n'utiliser que auditd et ses outils, vous pouvez vous arrêter là. Les données de auditd sont enregistrées dans le fichier /var/log/audit/audit.log.
Sinon, il faut préparer auditd pour qu'il soit piloté par auditbeat et Kibana. Pour cela :
systemctl stop auditd.service
auditd
systemctl disable auditd
On peut désormais installer auditbeat :
apt-get update
apt-get install -y auditbeat
systemctl daemon-reload systemctl enable auditbeat
systemctl status auditbeat.service
systemctl start auditbeat.service
systemctl stop auditbeat.service
systemctl stop auditbeat.service
auditbeat est /etc/auditbeat/auditbeat.yml.Modules configuration, suivie de auditbeat.modules et enfin module: auditd.auditd à savoir /etc/audit/rules.d/audit.rules.
auditbeat show auditd-rules
auditbeat -e test config
CTRL+C et on redémarre le service :
systemctl start auditbeat.service
nano /etc/auditbeat/auditbeat.yml
CTRL+W la section setup.kibanahost et on modifie sa valeur avec l'adresse du serveur Kibana sans oublier le port.CTRL+W la section output.elasticsearchhosts et on modifie sa valeur avec l'adresse du serveur Kibana sans oublier le port.CTRL+O et on quitte CTRL+X
systemctl restart auditbeat.service
SIEM :
SIEM n'a jamais reçu de données, on cliquera sur le gros bouton bleu Add Data au milieu de la page sinon se bouton se trouve en haut à droite de la page :
Auditbeat :
Check data (ça peut demander quelques minutes depuis la configuration de auditbeat avant que Kibana ne reçoive des données) :
SIEM en cliquant sur le bouton SIEM App :
SIEM, on peut voir un graphique statistique des données reçues ainsi que le nombre de données systèmes et réseaux. On pourra alors cliquer sur :View events pour chercher et analyser les données.View hosts pour avoir une analyse par hôte.View network pour avoir une analyse par réseau.
View events pour analyser nos données. La nouvelle page présente quelques graphiques mais surtout une carte Events en bas de page. La barre de recherche et les filtres nous permettent alors de trouver les évènements qui nous intéressent. La recherche se fait au moyen du langage Kibana Query Language (KQL) par défaut mais on peut aussi utiliser le langage Lucene.
L'article suivant donne quelques requête de recherche pour certains cas pratiques (Lien)