Je viens de trouver un service sympas: auditd
auditd permet de surveiller (monitorer ) un dossier, un fichier, peu importe.
J'ai donc surveillé le programme nohup car c'est lui qui produit les fichiers nohup.out.
Le service auditd est déjà présent et démarré:
localhost:/etc/audit # systemctl status auditd
● auditd.service - Security Auditing Service
Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-09-04 14:41:38 CEST; 3h 38min ago
Docs: man:auditd(8)
https://github.com/linux-audit/audit-documentation
Process: 597 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS)
Process: 629 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS)
Main PID: 624 (auditd)
Tasks: 2 (limit: 4915)
CPU: 210ms
CGroup: /system.slice/auditd.service
└─624 /sbin/auditd
Sep 04 14:41:38 localhost systemd[1]: Starting Security Auditing Service...
Sep 04 14:41:38 localhost auditd[624]: No plugins found, not dispatching events
Sep 04 14:41:38 localhost auditd[624]: Init complete, auditd 3.0.3 listening for events (startup state enable)
Sep 04 14:41:38 localhost augenrules[700]: cp: reguläre Datei '/etc/audit/audit.rules.prev' kann nicht angelegt werden: Das Dateisystem ist nur lesbar
Sep 04 14:41:38 localhost augenrules[720]: cp: reguläre Datei '/etc/audit/audit.rules' kann nicht angelegt werden: Das Dateisystem ist nur lesbar
Sep 04 14:41:38 localhost augenrules[722]: chmod: Beim Setzen der Zugriffsrechte für '/etc/audit/audit.rules': Das Dateisystem ist nur lesbar
Sep 04 14:41:38 localhost augenrules[727]: No rules
Sep 04 14:41:38 localhost systemd[1]: Started Security Auditing Service.
les commandes intéressantes sont auditctl et ausearch
1) Je supprime le fichier nohup.out de mon dossier personnel (c'est inutile mais je l'ai fait dans le doute)
2) Je lance la surveillance:
# auditctl -w /usr/bin/nohup -p wrxa -k text1_filter
w-> watch…
p-> quelles permissions sont à surveiller (toutes !! r=read, w=write, x=execute, a=attribute change)
k-> inutile, c'est pour rechercher le résultat correspondant à cette surveillance (quand beaucoup de fichiers sont surveillés)
3) Je lance dans YAST par exemple "installer/supprimer des logiciels" (je vois que le fichier nohup.out est créé… => je ferme yast)
4) Je regarde le résultat de la surveillance:
localhost:/etc/audit # ausearch -f /usr/bin/nohup
----
time->Sat Sep 4 18:15:01 2021
type=PROCTITLE msg=audit(1630772101.976:770): proctitle=2F7573722F62696E2F6E6F687570002F7573722F7362696E2F79617374320073775F73696E676C65
type=PATH msg=audit(1630772101.976:770): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=3011133 dev=08:09 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
type=PATH msg=audit(1630772101.976:770): item=0 name="/usr/bin/nohup" inode=3013706 dev=08:09 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
type=CWD msg=audit(1630772101.976:770): cwd="/home/thierry"
type=EXECVE msg=audit(1630772101.976:770): argc=3 a0="/usr/bin/nohup" a1="/usr/sbin/yast2" a2="sw_single"
type=SYSCALL msg=audit(1630772101.976:770): arch=c000003e syscall=59 success=yes exit=0 a0=5571a9caee30 a1=5571a9cac6b0 a2=5571a9cabad0 a3=7f770ef5f8f0 items=2 ppid=1 pid=11876 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="nohup" exe="/usr/bin/nohup" subj==unconfined key="text1_filter"
On peut clairement lire /usr/sbin/yast2 dans le résultat. Je ne suis pas un pro de la lecture de ce genre de résultat, mais YAST2 a l'air de jouer un certain rôle dans cette histoire.
5) Je supprime toutes les surveillances:
localhost:/etc/audit # auditctl -D
No rules
@oh!rocks
En faisant pareil, tu peux déterminer un coupable (il y en a peut-être d'autres ?) -> Attention, je ne dis pas que yast2 est le problème (il faut réfléchir, mais au moins une piste…)
De plus tu n'as pas besoin de supprimer nohup.out : je viens de vérifier, /usr/sbin/yast2 est toujours présent dans le compte rendu de la surveillance…