Instalación y operación

Almacenamiento, retención y limpieza

El demonio guarda todo lo que necesita en el dispositivo local, y mantiene ese almacén a raya por sí mismo: nada crece sin límite. Una pasada de mantenimiento corre cada día, aplica la retención, rota los logs y registra la huella en disco. Esta página lista qué se almacena, cuánto tiempo se conserva y cómo ajustar o disparar la limpieza.

~6 min de lectura · Instalación y operación

Qué se almacena

Todo lo que el demonio guarda vive bajo su directorio de datos local. Cada almacén se limpia automáticamente; ninguno crece sin límite.

AlmacénContenidoRetención
BaselinesInstantáneas de confianza de los archivos protegidosRecolección de huérfanos: se descarta en cuanto el archivo desaparece
VeredictosEl resultado de detección por cambioRecogido como huérfano junto con su baseline
CuarentenaBlobs reversibles de los cambios revertidosConservado durante la ventana de retención (30 días por defecto), luego caducado y eliminado
Registro de auditoríaEl registro forense de cada decisiónRotado a una copia al llegar al tope de tamaño (50 MiB por defecto)
TimelineEl flujo de eventos del dispositivoRotado a una copia por tamaño
LogsEl log del demonio, el sumidero stderr y el spool de notificaciónRotados o truncados en sus topes de tamaño
Recursos del modeloLos artefactos del modelo de detección en el dispositivoReemplazados al actualizar, no acumulados
Las baselines y veredictos huérfanos los recoge el barrido continuo de 5 minutos (no la pasada diaria) en cuanto su archivo desaparece, pero el marcador de adopción de un directorio nunca se recoge: mientras exista, un archivo sin baseline se reevalúa, nunca se confía en silencio.

La pasada de mantenimiento diaria

Una pasada de mantenimiento corre poco después de que el demonio arranca, y luego cada 24 horas. Es de mejor esfuerzo: un fallo en un paso nunca bloquea los demás y nunca hace caer al demonio.

PasoQué hace
Retención de cuarentenaElimina los blobs más allá de la ventana de retención; escribe una entrada de auditoría quarantine_expired y pasa el caso a expired antes de eliminar el blob
Rotación de auditoríaRota audit.log a una copia en el tope; en modo Cloud espera mientras queden entradas sin reportar, para que la consola no pierda nada
Rotación de logsRota el spool de notificación y trunca el sumidero stderr en sus topes
HuellaMide cada almacén en solo lectura y la escribe como entrada de auditoría janitor_footprint
La huella se mide después de la limpieza, así que refleja el espacio liberado, y se escribe en el propio registro de auditoría (janitor_footprint). El historial de almacenamiento es auditable como cualquier otra decisión.

Ajustar la retención

Dos valores son ajustables. Cada uno tiene por defecto el valor propio del janitor y, una vez fijado, se acota a un rango fijo.

ValorDefectoRangoCloudPrivado
Retención de cuarentena (días)301 a 3650ConsolaFlag de instalación o thresholds.json
Tope del registro de auditoría (MiB)501 a 1024ConsolaFlag de instalación o thresholds.json
Una retención de cero o negativa se rechaza, no se obedece: el janitor omite por completo la poda de la cuarentena en vez de tomar un 0 perdido como una ventana de cero días que borraría la cuarentena viva. Un campo sin fijar simplemente mantiene su valor por defecto.

En modo Cloud, un propietario Pro o Enterprise fija ambos valores por dispositivo en la consola. Un demonio privado no tiene canal de config Cloud, así que se fija en la instalación o editando directamente el thresholds.json local.

bashInstalar con los flags de retención
curl -fsSL https://poisonzero.com/install.sh | sudo sh -s -- \
  --quarantine-retention-days 60 --audit-max-mb 100

# o como variables de entorno:
#   PZ_QUARANTINE_RETENTION_DAYS=60 PZ_AUDIT_MAX_MB=100
powershellInstalar con los flags de retención
$env:PZ_QUARANTINE_RETENTION_DAYS='60'; $env:PZ_AUDIT_MAX_MB='100'
irm https://poisonzero.com/install.ps1 | iex
jsonthresholds.json (privado)
{
  "quarantine_retention_days": 60,
  "audit_max_mb": 100
}
Un campo fijado solo se sobrescribe a sí mismo; uno sin fijar mantiene su valor por defecto. Son los mismos dos campos snake_case que escriben los flags de instalación.

Limpiar ahora

No hace falta esperar a la pasada diaria. Una limpieza puntual ejecuta exactamente la misma pasada de mantenimiento a demanda.

DóndeCómo
Cloud (consola)El botón «Limpiar ahora» en la página del dispositivo. La pasada corre en el próximo check-in del dispositivo y su resultado aparece en el historial de auditoría. Pro y Enterprise; el estado de ciclo de vida del dispositivo queda sin cambios. El comando solo está disponible en un dispositivo activo y enrolado, y se rechaza mientras haya un comando de pausa o desinstalación pendiente.
Privado (dispositivo)El comando poisonzero cleanup, con los mismos permisos que quarantine restore.
bashForzar una limpieza en un dispositivo privado
sudo poisonzero cleanup
El comando ejecuta una pasada del janitor e imprime la huella. Si el janitor del demonio o una segunda limpieza ya están corriendo, se salta limpiamente con cleanup already running, skipped en vez de lanzar una segunda pasada.

Leer a continuación

Qué registra cada decisión conservada, y dónde encaja expired en el ciclo de vida: incidentes y auditoría en la consola. Los flags de instalación en contexto: instalar PoisonZero.

¿Te resultó útil?

Un almacén local que recoge tras de sí.

Retención aplicada a diario, huérfanos recogidos, logs rotados y la huella en el expediente. Gratis para Linux, macOS y Windows.

Sign me up