implant threat-status
Subcomando read-only que coleta 8 seções de métricas vivas (9 com o
audit aplicado) e calcula severity (ok/warn/crit) por seção. Não duplica logs existentes
(fail2ban.log, ufw.log, journald) — só agrega ESTADO VIVO + marca
TRANSIÇÕES.
Comandos
| Comando | Descrição |
|---|---|
implant threat-status |
Snapshot atual + grava JSONL |
implant threat-status --no-record |
Dry-read (sem gravar) |
implant threat-status snapshots [--last N] |
Histórico recente (default 10) |
implant threat-status events [--last N] |
Transition events (default 20) |
implant threat-status clear-history |
Limpa snapshots + events |
Seções coletadas
| Seção | Fonte | Severity threshold |
|---|---|---|
conntrack |
/proc + conntrack tool | ≥70% warn, ≥90% crit |
tcp_sockets |
ss -s |
SYN_RECV ≥1000/≥5000 |
iptables_drops |
iptables -L (INPUT + IMPLANT_GEO_IN; implant_ratelimit soma os DROPs do rate-limit, incluindo IMPLANT_RL_DROP) |
delta ≥100/min, ≥1000/min |
fail2ban |
fail2ban-client | bans ≥10/≥100 |
log_auth |
journalctl -u ssh | failed ≥50/≥500 em 5min |
system_health |
/proc, free, ps | load ≥ncpu×2/×4, mem ≥80%/95% |
services_status |
systemctl | essentials inactive=crit |
hardening_state |
reusa modules existentes | informacional |
audit |
eventos do auditd por chave (só com implant audit aplicado) |
limiares configuráveis |
Storage
/var/lib/implant/threat-snapshots.jsonl(max 500 entries)/var/lib/implant/threat-events.jsonl(max 200 entries)- Auto-truncate, perm 600, sem rotação por tempo.
Filosofia
Implant é AGREGADOR + EVENT-EMITTER, não logger:
- Logs detalhados ficam onde já estão (fail2ban.log, journald, etc.)
- threat-status grava só snapshots (point-in-time) + events (transitions)
- Footprint < 1.2MB total no disco