Bookworm : la vérification périodique de AIDE ne fonctionne pas

Bonjour,

Avez-vous le même problème que moi pour la vérification périodique de AIDE (Advanced Intrusion Detection Environment) ?
En effet, la vérification périodique de AIDE ne fonctionne pas.

Normalement, elle est effectuée par le script : /etc/cron.daily/aide

#!/bin/sh
        
# Skip if systemd is running.
if [ -d /run/systemd/system ]; then
    exit 0
fi

SCRIPT="/usr/share/aide/bin/dailyaidecheck"
if [ -x "${SCRIPT}" ]; then
    if command -v capsh >/dev/null; then
        capsh --caps="cap_dac_read_search,cap_audit_write+eip cap_setpcap,cap_setuid,cap_setgid+ep" --keep=1 --user=_aide --addamb=cap_dac_read_search,cap_audit_write -- -c "${SCRIPT} --crondaily"
    else
        # no capsh present, run with full capabilities
        "${SCRIPT}" --crondaily
    fi
fi

Sauf que comme /run/systemd/system existe, le script se termine directement avant de lancer la vérification.

Ma configuration a été créée par debootstrap sans utiliser l’installateur debian.
C’est un micro-serveur fonctionnant 24h/24h.
Sont installés les paquets suivants : cron, cron-daemon-common.
Ne sont pas installés : anacron, systemd-cron.

Savez-vous d’où vient le problème ou comment avez-vous contourné ce dernier ?

Bonjour,

Le script part du principe que, si systemD est présent sur le système, alors c’est un déclenchement par systemD qui doit être utilisé pour cette tâche.
Si systemD ne la lance pas, il y a deux solutions évidentes : soit tu cherches pourquoi systemD ne lance pas la vérification alors que c’est à lui de le faire, soit tu supprimes le bout de code qui quitte le script si systemD est présent.

Merci @Almtesh ,
Tu as raison, c’est bien Systemd qui a la charge de l’exécution de la vérification périodique de AIDE par l’unité dailyaidecheck.service.
Personnellement, je pensais que c’était toujours cron qui gérait ça…

Et il y a en effet un problème avec l’exécution de l’unité dailyaidecheck.service :

# systemctl status dailyaidecheck.service
○ dailyaidecheck.service - daily AIDE check
     Loaded: loaded (/lib/systemd/system/dailyaidecheck.service; static)
     Active: inactive (dead) since Mon 2023-09-18 02:11:01 CEST; 7h ago
TriggeredBy: ● dailyaidecheck.timer
       Docs: file:/usr/share/doc/aide/README.Debian.gz
    Process: 1217 ExecStart=/usr/share/aide/bin/dailyaidecheck --systemdservice (code=exited, status=0/SUCCESS)
   Main PID: 1217 (code=exited, status=0/SUCCESS)
        CPU: 5.355s

sept. 18 02:10:55 serveur systemd[1]: Starting dailyaidecheck.service - daily AIDE check...
sept. 18 02:10:55 serveur dailyaidecheck[1217]: WARN: it is not possible to use mail(1) unless aide is run as root. See /usr/share/doc/aide-common/README.Debian.gz for more information.
sept. 18 02:11:00 serveur dailyaidecheck[1382]: fold: write error: Broken pipe
sept. 18 02:11:01 serveur systemd[1]: dailyaidecheck.service: Deactivated successfully.
sept. 18 02:11:01 serveur systemd[1]: Finished dailyaidecheck.service - daily AIDE check.
sept. 18 02:11:01 serveur systemd[1]: dailyaidecheck.service: Consumed 5.355s CPU time.

Concernant l’avertissement pour le mail, il semble que AIDE nécessite désormais l’utilisation du paquet s-nail pour pouvoir envoyer des mails de rapports sans être lancé avec l’utilisateur root, sinon pour utiliser un autre programme de mails AIDE doit être lancé en tant que root, ce qui n’est pas souhaitable.

J’ai donc installé le paquet s-nail.

Concernant le deuxième problème, le répertoire /var/lib/aide n’a pas été créé avec les bons uid et gid.
Ils étaient à root tous les deux.
J’ai donc fait un :

# chown _aide:_aide -R /var/lib/aide/

Ensuite, j’ai relancé la vérification de AIDE :

# systemctl start dailyaidecheck.service

et tout a fonctionné comme attendu ! :smiley:

Le problème est donc réglé et il suffisait donc d’installer le paquet s-nail et de donner les bons uid/gid au répertoire /var/lib/aide !

Ceci dit dans bookworm le paquet aide avait un bug dans la gestion des user/group aide

N’a rien à voir avec aide en fait. C’est un mail processing system c’est tout. Aide marche très bien sans.

AIDE marche très bien sans, sauf pour le reporting par mail. À moins que tu n’aies une autre solution sans devoir passer les droits de AIDE à root ?

Je n’utilise pas les envois de mail pour aide. J’utilise les logs, et j’ai une plateforme ELK (en cours de refonte d’ailleurs, qui traine faute de temps disponible).