From b645d357e07884cacd8bdf3569cdeb6a4f218ec0 Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Thu, 17 Aug 2023 13:10:58 +0200 Subject: [PATCH] =?UTF-8?q?revue=20/=20am=C3=A9lioration=20de=20la=20page?= =?UTF-8?q?=20(toujours=20en=20test)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoAuditd.md | 85 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 13 deletions(-) diff --git a/HowtoAuditd.md b/HowtoAuditd.md index 9c4add3e..fe1196f4 100644 --- a/HowtoAuditd.md +++ b/HowtoAuditd.md @@ -1,21 +1,39 @@ --- -categories: web +categories: system security title: Howto Auditd ... -Le Linux Auditing System est un framework d'audit des évènements systèmes intégré au noyau Linux. - -Son composant en userspace est fournit par le paquet Debian `auditd`, qui fournit un service du même nom. - -Il permet, par exemple, de surveiller et loguer l'exécution de processus, la création ou suppression de fichiers... +* Documentation : +* Statut de cette page : test / bullseye +Le Linux Auditing System est un framework d’audit des évènements systèmes intégré au noyau Linux. +Son composant en userspace est fournit par le paquet Debian **auditd** qui fournit un service du même nom. +Il permet, par exemple, de surveiller et loguer l’exécution de processus, la création ou suppression de fichiers… ## Installation ~~~ # apt install auditd -~~~ +# auditctl -v +auditctl version 3.0 + +# systemctl status auditd +● auditd.service - Security Auditing Service + Loaded: loaded (/lib/systemd/system/auditd.service; enabled; vendor preset: enabled) + Active: active (running) since Thu 2023-08-17 12:45:14 CEST; 5min ago + Docs: man:auditd(8) + https://github.com/linux-audit/audit-documentation + Process: 458337 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS) + Process: 458341 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS) + Main PID: 458338 (auditd) + Tasks: 2 (limit: 19002) + Memory: 1.2M + CPU: 267ms + CGroup: /system.slice/auditd.service + └─458338 /sbin/auditd + +~~~ ## Configuration @@ -23,8 +41,37 @@ Auditd se configure avec des règles, qui vont loguer les évènements demandés Les règles doivent se placer dans des fichiers `/etc/audit/rules.d/*.rules`. -**Attention :** Selon des types d'évènement logués, les logs peuvent devenir très volumineux. +> *Attention* : Selon des types d’évènement logués, les logs peuvent devenir très volumineux. +### Loguer les commandes root + +Ajouter dans `/etc/audit/rules.d/audit.rules` : + +~~~ +-a exit,always -F arch=b64 -S execve -k root-commands +-a exit,always -F arch=b32 -S execve -k root-commands +~~~ + +Puis : + +~~~ +# /etc/init.d/auditd restart +# auditctl -l +-a always,exit -F arch=b64 -S execve -F key=root-commands +-a always,exit -F arch=b32 -S execve -F key=root-commands +~~~ + +On a ainsi une trace de (toutes?) les actions effectuées dans `/var/log/audit/audit.log` (exemple pour une commande `uptime` lancée en **root**) : + +~~~ +type=EXECVE msg=audit(1692269576.808:624): argc=1 a0="uptime" +type=CWD msg=audit(1692269576.808:624): cwd="/root" +type=PATH msg=audit(1692269576.808:624): item=0 name="/usr/bin/uptime" inode=14569387 dev=08:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0^]OUID="root" OGID="root" +type=PATH msg=audit(1692269576.808:624): item=1 name="/usr/bin/uptime" inode=14569387 dev=08:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0^]OUID="root" OGID="root" +type=PATH msg=audit(1692269576.808:624): item=2 name="/lib64/ld-linux-x86-64.so.2" inode=13107268 dev=08:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0^]OUID="root" OGID="root" +type=PROCTITLE msg=audit(1692269576.808:624): proctitle="uptime" +type=SYSCALL msg=audit(1692269580.712:625): arch=c000003e syscall=59 success=yes exit=0 a0=5558a0880e00 a1=5558a088bb00 a2=5558a0854d40 a3=fffffffffffffd8e items=3 ppid=458386 pid=460417 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts7 ses=1536 comm="vim" exe="/usr/bin/vim.basic" subj=unconfined key="root-commands"^]ARCH=x86_64 SYSCALL=execve AUID="root" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root" +~~~ ### Surveiller les renommages et suppressions de fichiers @@ -48,11 +95,8 @@ Créer un fichier `/etc/audit/rules.d/rm.rules` contenant : -a always,exit -F dir= -S unlink -S unlinkat -S rename -S renameat -S rmdir -k ~~~ -Et recharger le service : +Puis recharger le service. -~~~ -systemctl status auditd -~~~ ## Visualiser les évènements loggés @@ -61,6 +105,21 @@ Les logs se trouvent dans `/var/log/audit/audit.log`. On peut utiliser `ausearch` qui fournit des options de recherche avancées. Par exemple, si on a définit un mot clé dans la règle : ~~~ -ausearch -k +# ausearch -k +~~~ + +## Envoi avec rsyslog + +Renvoi vers un serveur rsyslog distant via une config type (non testée) : + +~~~ +$InputFileName /var/log/audit/audit.log +$InputFileTag tag_audit_log: +$InputFileStateFile audit_log +$InputFileSeverity info +$InputFileFacility local0 +$InputRunFileMonitor + +local0.* @192.0.2.42:514 ~~~