Installation et exploitation

Stockage, conservation et nettoyage

Le démon garde sur l'appareil local tout ce dont il a besoin, et il tient ce stock sous contrôle lui-même : rien ne grossit sans limite. Une passe de ménage tourne chaque jour, applique la conservation, fait tourner les logs et enregistre l'empreinte sur le disque. Cette page liste ce qui est stocké, combien de temps c'est gardé, et comment régler ou déclencher le nettoyage.

~6 min de lecture · Installation et exploitation

Ce qui est stocké

Tout ce que le démon garde vit sous son répertoire de données local. Chaque stock est nettoyé automatiquement ; aucun ne grossit sans limite.

StockContenuConservation
BaselinesInstantanés de confiance des fichiers protégésRécupération des orphelins : supprimé dès que le fichier disparaît
VerdictsLe résultat de détection par changementRécupéré comme orphelin en même temps que sa baseline
QuarantaineBlobs réversibles des changements annulésGardé pendant la fenêtre de conservation (30 jours par défaut), puis expiré et supprimé
Journal d'auditLe registre forensique de chaque décisionBasculé vers une sauvegarde au plafond de taille (50 Mio par défaut)
TimelineLe flux d'événements de l'appareilBasculé vers une sauvegarde par la taille
LogsLe log du démon, le puits stderr et le spool de notificationBasculés ou tronqués à leurs plafonds de taille
Ressources du modèleLes artefacts du modèle de détection sur l'appareilRemplacés lors d'une mise à jour, non accumulés
Les baselines et verdicts orphelins sont ramassés par le balayage continu de 5 minutes (pas par la passe quotidienne) dès que leur fichier disparaît, mais le marqueur d'adoption d'un répertoire n'est jamais récupéré : tant qu'il existe, un fichier sans baseline est réévalué, jamais approuvé en silence.

La passe de ménage quotidienne

Une passe de ménage tourne peu après le démarrage du démon, puis toutes les 24 heures. Elle est au mieux : un échec sur une étape ne bloque jamais les autres et ne fait jamais planter le démon.

ÉtapeCe qu'elle fait
Conservation de la quarantaineSupprime les blobs au-delà de la fenêtre de conservation ; écrit une entrée d'audit quarantine_expired et bascule le cas sur expired avant de supprimer le blob
Rotation de l'auditFait tourner audit.log vers une sauvegarde au plafond ; en mode Cloud, elle attend tant que des entrées non rapportées restent, pour ne rien perdre pour la console
Rotation des logsFait tourner le spool de notification et tronque le puits stderr à leurs plafonds
EmpreinteMesure chaque stock en lecture seule et l'écrit comme entrée d'audit janitor_footprint
L'empreinte est mesurée après le nettoyage, elle reflète donc l'espace libéré, et elle est écrite dans le journal d'audit lui-même (janitor_footprint). L'historique de stockage est auditable comme n'importe quelle autre décision.

Régler la conservation

Deux valeurs sont réglables. Chacune a pour défaut la valeur propre du janitor et, une fois définie, est bornée dans une plage fixe.

ValeurDéfautPlageCloudPrivé
Conservation quarantaine (jours)301 à 3650ConsoleFlag d'installation ou thresholds.json
Plafond du journal d'audit (Mio)501 à 1024ConsoleFlag d'installation ou thresholds.json
Une conservation à zéro ou négative est refusée, pas obéie : le janitor saute entièrement l'élagage de la quarantaine plutôt que de prendre un 0 égaré pour une fenêtre de zéro jour qui effacerait la quarantaine vivante. Un champ laissé vide garde simplement son défaut.

En mode Cloud, un propriétaire Pro ou Enterprise définit les deux valeurs par appareil dans la console. Un démon privé n'a pas de canal de config Cloud, cela se règle donc à l'installation ou en éditant directement le thresholds.json local.

bashInstaller avec les flags de conservation
curl -fsSL https://poisonzero.com/install.sh | sudo sh -s -- \
  --quarantine-retention-days 60 --audit-max-mb 100

# ou en variables d'environnement :
#   PZ_QUARANTINE_RETENTION_DAYS=60 PZ_AUDIT_MAX_MB=100
powershellInstaller avec les flags de conservation
$env:PZ_QUARANTINE_RETENTION_DAYS='60'; $env:PZ_AUDIT_MAX_MB='100'
irm https://poisonzero.com/install.ps1 | iex
jsonthresholds.json (privé)
{
  "quarantine_retention_days": 60,
  "audit_max_mb": 100
}
Un champ défini n'écrase que lui-même ; un champ non défini garde son défaut. Ce sont les deux mêmes champs snake_case qu'écrivent les flags d'installation.

Nettoyer maintenant

Vous n'avez pas à attendre la passe quotidienne. Un nettoyage ponctuel exécute exactement la même passe de ménage à la demande.

Comment
Cloud (console)Le bouton « Nettoyer maintenant » sur la page de l'appareil. La passe tourne au prochain check-in de l'appareil et son résultat apparaît dans l'historique d'audit. Pro et Enterprise ; le statut de cycle de vie de l'appareil reste inchangé. La commande n'est disponible que sur un appareil actif et enrôlé, et elle est refusée tant qu'une commande de pause ou de désinstallation est en attente.
Privé (appareil)La commande poisonzero cleanup, avec les mêmes droits que quarantine restore.
bashForcer un nettoyage sur un appareil privé
sudo poisonzero cleanup
La commande exécute une passe du janitor et affiche l'empreinte. Si le janitor du démon ou un second nettoyage tourne déjà, elle passe proprement avec cleanup already running, skipped plutôt que de lancer une seconde passe.

À lire ensuite

Ce que chaque décision conservée enregistre, et où expired s'insère dans le cycle de vie : incidents et audit dans la console. Les flags d'installation en contexte : installer PoisonZero.

Est-ce utile ?

Un stock local qui range derrière lui.

Conservation appliquée chaque jour, orphelins ramassés, logs basculés et l'empreinte au dossier. Gratuit pour Linux, macOS et Windows.

Sign me up