Aller au contenu

Journaux

Une borne n'a pas de session et n'accepte aucune connexion : ses journaux sont récupérés avec une clé de maintenance signée, ou envoyés au fil de l'eau à un SIEM par une borne en ligne.

En bref

image/maintenance-key.sh /media/$USER/KEY            # toute borne
image/maintenance-key.sh /media/$USER/KEY kiosk-1    # seulement kiosk.name = kiosk-1

Insérez la clé dans la borne : elle écrit ses journaux dans pandora-box-maintenance/<borne>-<date>/ et éjecte la clé.

Pour un export continu, voir Export vers un SIEM.

Ce que la borne journalise

Journal Chemin sur la borne Contenu
Borne /var/log/pandora-box/pandora-box.log Lignes JSON : clés insérées et retirées, analyses et leurs verdicts, fichiers infectés, quarantaine et nettoyage, mises à jour des signatures et de l'image, clés de maintenance, erreurs
Rapports d'analyse /var/lib/pandora-box/reports/ Un rapport JSON par clé analysée (voir Rapport d'analyse)
Quarantaine /var/lib/pandora-box/quarantine/ Copies des fichiers infectés supprimés des clés
Journal système journalctl Système, services et noyau ; un dossier par démarrage, dans les limites de taille de journald
USBGuard /var/log/usbguard/usbguard-audit.log Périphériques autorisés et bloqués
Audit /var/log/audit/audit.log Modules du noyau chargés, montages, programmes lancés, ptrace, changements de l'horloge, des jeux de signatures et des mises à jour de l'image en attente

Chaque entrée du journal de la borne contient timestamp, level, kiosk (kiosk.name) et event, puis les champs de l'événement. Le niveau est réglé par logging.level (INFO par défaut). logrotate déplace le fichier de journal chaque mois et garde 12 mois, compressés.

Tout se trouve sur la partition de données (/var), conservée lors des redémarrages et des mises à jour de l'image.

Clé de maintenance

Une clé de maintenance récupère les journaux d'une borne sans sortir son disque. Sur l'ordinateur qui détient la clé de mise à jour, avec une clé USB montée :

image/maintenance-key.sh /media/$USER/KEY            # toute borne
image/maintenance-key.sh /media/$USER/KEY kiosk-1    # seulement kiosk.name = kiosk-1

écrit pandora-box-maintenance/ sur la clé : une demande signée avec la clé de mise à jour, valable 7 jours. Insérée dans la borne, même une borne sans signatures, la clé n'est pas analysée : la borne vérifie la demande, écrit ses journaux dans pandora-box-maintenance/<borne>-<date>/ et éjecte la clé (src/pandora_box/maintenance.py).

Fichier Contenu
pandora-box.log Journal de la borne
journal.txt, journal-previous-boot.txt Journal système du démarrage en cours et du précédent
kernel.txt Messages du noyau
boots.txt, boot-entries.txt Démarrages, versions de l'image installées (Mises à jour du système)
services.txt, failed-services.txt Unités systemd, unités en échec
usbguard-audit.log, usb-devices.txt, usb-rules.txt Périphériques USB autorisés et bloqués, règles
disks.txt Disques et partitions
hardware.txt, cpuinfo.txt, meminfo.txt, input-devices.txt Matériel et écrans, périphériques d'entrée
os-release.txt, cmdline.txt Version de l'image, ligne de commande du noyau
signatures.txt Jeu de signatures installé

Rien ne change sur la borne, et l'export ne contient ni clé, ni identifiant, ni rapport d'analyse. Une demande signée par une autre clé, trop ancienne, destinée à une autre borne ou modifiée est refusée (maintenance_refused dans le journal).

Une même clé peut contenir une demande de maintenance, un jeu de signatures (pandora-box-signatures/) et une mise à jour de l'image (pandora-box-image/) : la borne les traite dans cet ordre en une seule insertion, chacun vérifié séparément ; l'export montre la borne avant les mises à jour, et la mise à jour de l'image vient en dernier, puisqu'elle redémarre la borne.

Événements utiles

Événement Signification
device_verdict Verdict d'une clé analysée
infected_files Fichiers dangereux trouvés sur une clé
signatures_installed, signatures_refused, signatures_not_newer Résultat d'une clé de mise à jour des signatures
signatures_changed Nouveau jeu de signatures chargé après une mise à jour en ligne
maintenance_refused Demande de maintenance refusée
display_started, display_resized Taille de l'écran pour laquelle l'interface dessine

Export vers un SIEM

Une borne en ligne peut envoyer chaque entrée de son journal à un SIEM (Wazuh, Elastic, Graylog, Splunk, ou tout serveur syslog), en syslog ou en JSON, sur TLS, TCP ou UDP : voir Export vers un SIEM.