Ceci est une ancienne révision du document !
~~CLOSETOC~~
Auditd - Surveillance système d'un poste linux
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.
<note tip>auditd est compatible PCI-DSS.</note>
auditd est livré avec des outils de gestion tels que :
ausearch: permet de chercher des informations dans les logs deauditd.aureport: affiche un rapport (statistique) des données deauditd.
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.
<note>Cette procédure a été réalisée sur une VM debian 9.</note>
<note warning>Cette procédure nécessite des droits root. Faîtes donc attention à ce que vous faîtes.</note>
Installation auditd
- On met à jour le cache APT :
apt-get update
- On installe les paquets nécessaires :
apt-get install -y auditd audispd-plugins
Gestion du service
- Status :
systemctl status auditd.service
- Démarrage
systemctl start auditd.service
- Arrêt :
systemctl stop auditd.service
Configuration des règles
Les règles peuvent être gérées directement via la ligne de commande avec auditctl. Par exemple :
- L'option
-l, liste les règles existantes :
auditctl -l
- L'option
-D, supprime toutes les règles existantes :
auditctl -D
- Pour surveiller le fichier /etc/passwd :
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 :
- Configuration pour les bonnes pratiques : Neo23x0 sur Github
- Configuration pour PCI-DSS : Linux-audit sur Github
<note tip>N'oubliez pas de redémarrer auditd après chaque modification de règles afin qu'elles soient prise en compte.</note>
Préparation pour l'intégration à auditbeat
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 :
- On arrête le service :
systemctl stop auditd.service
- On désactive le démarrage automatique de
auditd
systemctl disable auditd
Installation de auditbeat
On peut désormais installer auditbeat :
- A partir des sources ajoutées avec ElasticSearch, on met à jour le dépôt APT :
apt-get update
- On installe les paquets nécessaires :
apt-get install -y auditbeat
Démarrage automatique
systemctl daemon-reload systemctl enable auditbeat
Gestion du service
- Status :
systemctl status auditbeat.service
- Démarrage
systemctl start auditbeat.service
- Arrêt :
systemctl stop auditbeat.service
Paramétrage des règles
- On commence par arrêter le service :
systemctl stop auditbeat.service
- Le fichier de configuration de
auditbeatest/etc/auditbeat/auditbeat.yml. - A l'intérieur, on trouve la section
Modules configuration, suivie deauditbeat.moduleset enfinmodule: auditd. - C'est là que l'on peux copier les règles inscrites dans le fichier de configuration de
auditdà savoir/etc/audit/rules.d/audit.rules. - Une fois modifié, on peut vérifier les règles inscrite avec la commande :
auditbeat show auditd-rules
- On peut aussi tester ces règles avec la commande :
auditbeat -e test config
- Si tout va bien, on arrête le test
CTRL+Cet on redémarre le service :
systemctl start auditbeat.service
Configuration pour l'envoi de données à Kibana
- On édite le fichier de configuration :
nano /etc/auditbeat/auditbeat.yml
- On cherche avec
CTRL+Wla sectionsetup.kibana - On décommente le champ
hostet on modifie sa valeur avec l'adresse du serveur Kibana sans oublier le port. - On enregistre
CTRL+Oet on quitteCTRL+X - On redémarre le service :
systemctl restart auditbeat.service
Intégration à Kibana
- On commence par ce rendre sur la page web de Kibana.
- Dans le bandeau de gauche, on clique sur le menu
SIEM:
- Si la page
SIEMn'a jamais reçu de données, on cliquera sur le gros bouton bleuAdd Dataau milieu de la page sinon se bouton se trouve en haut à droite de la page :
- Dans la nouvelle page, on clique sur
Auditbeat:
- Tout en bas de la page on clique sur
Check data(ça peut demander quelques minutes depuis la configuration deauditbeatavant que Kibana ne reçoive des données) :
- Si tout va bien, un message nous confirme la réception des données. On peut alors repartir dans le menu
SIEMen cliquant sur le boutonSIEM App:
- Plus bas dans la page de
SIEM, on peut voir un graphique statistique des données reçu ainsi que le nombre de données systèmes et réseaux. On pourra alors cliquer sur :View eventspour chercher et analyser les données.View hostspour faire une analyse par hôte.View networkpour faire une analyse par réseau.
- On cliquera donc sur
View eventspour analyser nos données. La nouvelle page présente quelques graphiques mais surtout une carteEventsen bas de page. La barre de recherche et les filtres nous permettent alors de trouver les évènements qui nous intéresse. La recherche se fait au moyen du langageKibana Query Language(KQL) par défaut mais on peut aussi utiliser le langageLucene.
L'article suivant donne quelques requête de recherche pour certains cas pratiques (Lien)
<note tip>Félicitation. Vos données d'audit sont désormais intégrer à Kibana.</note>
— Nicolas THOREZ 2020/02/14 14:07







Discussion