Mitigazione del rischio RA-002 Bus factor = 1. Documento operativo per: (a) la famiglia, se Aldo è temporaneamente o permanentemente indisponibile; (b) Aldo stesso, come checklist scenario-driven quando qualcosa rompe. Pattern 3-layer: letter to family in busta sigillata + DR runbook stampato + persona di fiducia onboarded con know-how minimo.
Status: BOZZA v0.1. Questo documento è il template per generare la versione reale. La versione reale (con password, recovery key, telefoni concreti) NON va in questo HTML pubblico (anche se dietro CF Access): va in busta sigillata fisica, in safe domestico, con copia con persona di fiducia geograficamente separata. Da scrivere a mano da Aldo entro chiusura Fase 1. Questa pagina serve solo a non scordare cosa includere e che struttura dare.
1 — Letter to Family
Documento di 1-2 pagine in italiano semplice. Tono: come parlare a un familiare adulto non-tecnico (moglie, figlio adulto, parente). Niente gergo. Tone calmo e pratico, no allarmismo.
Scopo
"Se non ci sono io, ecco come accedere ai vostri dati e gestire il sistema almeno nei primi giorni." NON è un manuale tecnico; è un punto di partenza per chi non si è mai occupato dello stack ma deve comunque capire come continuare.
Template strutturato
Cara famiglia,
se stai leggendo questa lettera, probabilmente non posso aiutarti
direttamente. Ho preparato questo foglio per renderti facile l'accesso
ai nostri dati e dare continuita' al sistema "st4ck" che ho costruito.
Niente di urgente: dati sono al sicuro, non si perdono. Prendi tempo.
= COSA C'E' E DOVE =
Il computer principale e' un piccolo PC HP EliteDesk 800 G8, posizionato
[INSERIRE: stanza/armadio in cui e' fisicamente]. Si chiama "G8 primary".
E' acceso 24/7 e gestisce tutti i nostri dati di famiglia: foto, documenti,
chat, password manager, Home Assistant.
Un secondo computer identico (G8 replica) e' a casa di [INSERIRE: persona
di riferimento, es. "i miei genitori"]. E' la copia di sicurezza
geografica: se a casa nostra succede qualcosa (incendio, furto), i dati
sono al sicuro la'.
= CHI CHIAMARE PER PRIMA COSA =
Persona di fiducia tecnica: [INSERIRE: nome + telefono]
Ha familiarita' con come funziona il sistema. Puo' dare una mano
per i primi 24-48 ore. Non e' un tecnico professionista ma sa
come spegnere e riaccendere le cose nel modo giusto.
Provider FTTH casa: [INSERIRE: nome + numero supporto]
Provider FTTH genitori: [INSERIRE: nome + numero supporto]
= COME ACCEDERE AI DATI =
Tutti i nostri dati personali sono protetti da una password "master"
che ho memorizzato in un programma chiamato Vaultwarden. Da li' si
accede a tutto.
Master password Vaultwarden mia: [NON METTERE QUI IN PLAINTEXT]
E' nella busta separata firmata "VAULTWARDEN RECOVERY". Apri la
busta solo in caso di vera necessita': prima sentiti con la
persona di fiducia tecnica.
Sito da cui accedere: https://v4ult.d0mus.com
(login: il tuo indirizzo email + master password)
Dopo aver fatto login a Vaultwarden, troverai dentro:
- password Wi-Fi e router
- password account email famiglia
- password servizi (Photos, Drive, Mail, ecc)
= COSA NON FARE =
NON disconnettere il PC G8 a meno che non sia in fiamme/allagato.
Si auto-mantiene. Se va in errore, riavvia: tieni premuto pulsante
power 5 secondi, aspetta, ripremi pulsante power.
NON cancellare niente "per fare ordine". I file potrebbero essere
riferimenti al sistema. In dubbio: chiama persona di fiducia.
NON disabilitare la sicurezza a 2 fattori sui servizi "perche' fa
fastidio". Lo facciamo apposta: un pirata che ruba la password ha
comunque bisogno del telefono.
= IN CASO DI EMERGENZA =
Se il PC G8 si e' rotto fisicamente (cade, prende acqua):
1. Non panicare. I dati sono salvati anche a casa di [riferimento].
2. Chiama persona di fiducia tecnica.
3. Lui sapra' come "promuovere" il PC di backup a primario.
4. Tempo di ripristino atteso: 30-60 minuti se tutto va bene.
Se non riesci ad aprire Vaultwarden:
1. Apri la busta firmata "VAULTWARDEN RECOVERY" (solo in
emergenza, non per curiosita').
2. Segui le 3 righe scritte a mano dentro.
3. Le 3 righe ti dicono come usare il "recovery code" per
entrare anche senza la master password.
Se nessuno risponde al telefono:
Hai 7 giorni di autonomia: il sistema si auto-mantiene. Aspetta.
Buon proseguimento. Tutto e' al sicuro.
Aldo
[DATA: GIORNO/MESE/ANNO della scrittura]
Cosa NON inserire nella letter (regole anti-leak)
Cosa
Perche' no
Dove invece
Master password Vaultwarden in plaintext
Se la busta viene compromessa fisicamente, vai a perdere TUTTO
Idea centrale: nessun secret in plaintext nella letter. La letter spiega come arrivare ai secret, non li contiene. La catena è:
Letter (busta sigillata casa) → istruzioni per arrivare a Vaultwarden
Master password Vaultwarden → in busta SEPARATA "VAULTWARDEN RECOVERY"
Vaultwarden vault → contiene tutti i secret operativi (password servizi, recovery key Restic/Kopia/B2)
Recovery key Vaultwarden → in busta SEPARATA "VAULTWARDEN RECOVERY KEY", da usare solo se master password persa
Copia di sicurezza dell'intero set → con persona di fiducia geograficamente separata (anti-incendio casa)
Compromettere 1 busta = niente. Compromettere TUTTE le buste casa contemporaneamente = serve incendio o furto fisico mirato + fortuna; in quel caso comunque la copia geografica è altrove.
2 — DR Runbook scenari
Procedure step-by-step scenario-driven. Ogni scenario è autonomo: non serve leggere quello prima per capire questo. Tono: come istruzioni IKEA. Stampato in 2 copie (con letter + persona di fiducia).
scenario · S1
S1 — File cancellato per errore
Sintomo: "Mi serviva quel file e l'ho buttato. Lo recupero?"
RTO: < 1 min · RPO: 1 h (snapshot Restic locale orario)
Su Mac: apri KopiaUI desktop (o cartella ~/Library/Application Support/...).
Naviga al volume "Backup endpoints famiglia" → seleziona timestamp recente prima della cancellazione.
Drag-and-drop il file dalla finestra browse temporale al Desktop attuale.
Verifica integrità (apri il file).
Se non lo trovi in Kopia: chiedi a Aldo (o persona di fiducia) di fare restore Restic dal G8 server-side.
scenario · S2
S2 — Internet ISP casa down
Sintomo: "Non si apre il sito ph0t0.d0mus.com / chat / drive". Mobile cellular usa internet 4G/5G normale, anche dal salotto.
RTO: 0 (LAN funziona) · RPO: 0
Verifica internet OK su mobile via 4G/5G (disabilita WiFi).
Se mobile naviga ma WiFi no → ISP down.
Da casa, su WiFi: i servizi continuano a funzionare grazie al DNS interno (split-horizon AdGuard). Apri come sempre ph0t0.d0mus.com da Mac/iPhone in WiFi.
Da fuori casa: aspetta ripristino ISP (chiama provider, vedi numero in letter).
Tempo medio recovery ISP: 1-6 ore. Niente da fare lato sistema.
scenario · S3
S3 — Authentik non risponde / login non funziona
Sintomo: apri qualunque servizio, ti redirige a 1d.d0mus.com ma la pagina non carica o dà errore 502/504.
RTO target: < 30 min · RPO: 0 (Authentik è state-only, no perdita)
SSH su G8 primary (da LAN: ssh aldo@192.168.1.10).
Se uno di questi è "exited" → docker compose restart authentik-server authentik-worker
Aspetta 60s, riprova login dal browser.
Se ancora non funziona: bypass break-glass (vedi S3.1 sotto).
S3.1 — Break-glass se Authentik è morta a lungo
Account locale admin pre-configurato in vault offline (Vaultwarden export su YubiKey). Ogni servizio principale ha un utente admin "non-OIDC" da usare in emergenza:
Synapse: ./tools/synapse-cli.sh create-admin-user con credenziali da Vaultwarden offline
Vaultwarden: già usa account locali, non dipende da Authentik
Paperless: ha utente admin built-in
(Procedura completa scritta da Aldo come ISSUE-001 P0)
scenario · S4
S4 — Master password Vaultwarden dimenticata
Sintomo: "Sono sicuro che fosse X ma non funziona, e ho azzerato i tentativi 5 volte"
RTO: 5-10 min · RPO: 0 (vault non si perde)
Vai al safe fisico in casa.
Apri busta firmata "VAULTWARDEN RECOVERY KEY".
Estrai il foglio con il recovery code (formato 24 parole BIP-39 o equivalente).
Vaultwarden ti chiede di IMPOSTARE una nuova master password. Ne scegli una nuova.
Aggiorna la busta: la vecchia recovery key è bruciata, devi generarne una nuova da Vaultwarden web → "Generate new recovery key" → stampa → metti in busta nuova.
scenario · S5
S5 — G8 primary non si accende
Sintomo: "Il PC nero in [stanza] non si accende, niente luci, niente ventola"
RTO: 15-60 min in base alla causa
Verifica alimentazione: presa elettrica funziona? UPS dietro al PC è acceso?
Premi pulsante power. Se si accende → resta a guardare se completa il boot.
Se ancora niente → SSD/disco potrebbe essere morto. Procedi a S6 (G8 morto interamente).
Se si accende ma boot loop o errore "decryption failed": serve passphrase LUKS (YubiKey + safe fisico). Non rispondere con tentativi a caso, chiama Aldo o persona di fiducia.
scenario · S6
S6 — G8 primary morto interamente (hardware)
Sintomo: hardware fritto, BIOS error fatale, smoke test failed
RTO target: 15-30 min (failover) · RPO: 15 min (btrbk replica)
Disponibile solo da Fase 3+ (richiede G8 replica live a casa genitori).
Notifica famiglia: "downtime stimato 30 min, alcuni servizi tornano via secondo sito".
Da casa genitori: SSH a G8 replica via Site Magic VPN.
Promote replica a primary: ./tools/dr-promote-replica.sh (script tracciato in docs/runbooks/dr-failover.md).
Cloudflare DNS: switch CNAME hostname pubblici al tunnel del G8 replica (gestito automaticamente da named tunnel cloudflared replicato).
Aspetta 5 min DNS propagation. Test: curl -I https://ch4t.d0mus.com deve rispondere 200.
G8 primary: in parallelo, ordinare un nuovo hardware per restoring del primary site.
STOP: spegni il G8 IMMEDIATAMENTE (pulsante power tenuto 10s). Evita propagazione.
Stacca rete LAN (cavo ethernet) per isolare ulteriormente.
Boot da USB stick di rescue (Ubuntu live).
Dal live: monta i dischi LUKS read-only.
Identifica timestamp dell'incidente (quando i file hanno iniziato a cambiare nome).
Restic restore dal snapshot più recente PRIMA dell'incidente: restic -r /srv/restic-local restore [snap-id] --target /srv/data --include "..."
Verifica integrità file restorati prima di riconnettere il G8 alla rete.
Reimaging completo Ubuntu se compromessa l'intera macchina: install fresh + restore /srv/data da B2.
Pattern anti-ransomware st4ck: Restic e Kopia hanno repository immutabili dal source dopo commit. Il malware su un endpoint NON può cancellare gli snapshot già scritti su DS720+ #2 o B2. Quindi i backup sono recuperabili anche se il source è cifrato.
scenario · S8
S8 — Furto / incendio casa
Sintomo: casa inagibile o materiale rubato
RTO: 30 min (failover sito B) · RPO: 15 min
Disponibile solo da Fase 3+.
Procedura identica a S6 (G8 morto interamente): tutti i dati tier-1 sono vivi sul sito B (genitori).
Cloudflare Tunnel ridireziona automaticamente al sito B (già configurato).
Hardware sostitutivo casa: 2-4 settimane procurement + reinstall, ma senza fretta perché sito B è production-grade.
Assicurazione: documenta perdite, claim. Hardware è sostituibile, dati no.
scenario · S9
S9 — Catastrofe entrambi i siti
Sintomo: casa Aldo + casa genitori entrambe inagibili (terremoto, alluvione major)
RTO: 4-12 ore · RPO: 24 ore (B2 last sync)
I dati tier-1 sono cifrati su Backblaze B2 (regione EU).
Procurement nuovo hardware (anche cloud VPS Hetzner come emergenza).
Restic restore da B2: restic -r b2:st4ck-restic-prod restore latest --target /srv/data (può durare ore in base a banda).
Re-deploy stack docker compose.
DNS Cloudflare manualmente verso nuovo IP/host.
3 — Persona di fiducia onboarded
Una persona della famiglia o amico fidato con know-how minimo. Non deve saper amministrare lo stack — solo "what to do in the first 24h" + sapere come contattare aiuto tecnico più avanzato.
Cosa la persona di fiducia DEVE sapere
Dove è fisicamente il G8 in casa (location specifica, non solo "al piano di sotto").
Dove è la busta letter + busta recovery + DR runbook stampato.
Come contattare: Aldo, provider FTTH, professionista IT di fiducia (Davide Pignataro / Jet, vedi Lucia? — TBD se applicabile).
Come riavviare il G8 (pulsante power 5s).
Quale scenario consultare per i primi sintomi (S1-S9 sopra).
Come usare le tools/ scripts del repo (es. ./tools/dr-promote-replica.sh in S6) — basic walk-through.
Cosa la persona di fiducia NON deve sapere
Master password Vaultwarden (è in busta separata, non da memorizzare).
Recovery key (idem).
Tutte le decisioni architetturali (skip).
Come amministrare Authentik / Synapse (deve solo seguire runbook).
Walk-through fisico annuale
Mostrare fisicamente dove è il G8, le buste, i dischi USB-C esterni.
Test: simulare scenario S1 ("ho cancellato un file") — la persona deve essere in grado di seguire i 4 step.
Aggiornare la lettera con date / numeri di telefono / persone di riferimento se cambiate.
Generare nuova recovery key Vaultwarden se quella in busta è vecchia (annuale).
4 — Action items per Aldo
#
Step
Effort
Status
1
Stampa questa pagina come PDF (bottone Stampa toolbar)
2 min
—
2
Compila placeholder [INSERIRE: ...] con info reali (stanza G8, telefoni, persone)
30 min
—
3
Identifica persona di fiducia (moglie? fratello? amico tech-aware?). Confronto onboarding
1 conversazione
—
4
Scrivi a mano la letter su carta (più calda di un PDF, intenzionale)
Position fisica: safe domestico (3 buste casa) + safe persona di fiducia (3 buste copie)
1 ora trasporto
—
8
Walk-through fisico con persona di fiducia (mostra G8, buste, scenario S1)
2 ore
—
9
Refresh annuale: tutti gli step sopra + verifica recovery key non scaduta
1 ora/anno
—
Output atteso entro chiusura Fase 1: 6 buste totali distribuite (3 casa + 3 persona di fiducia), 1 walk-through completato, RA-002 Bus factor mitigato dal 100% (oggi) a ~70%. Il restante 30% si chiude solo quando la persona di fiducia ha effettivamente partecipato a un drill semestrale.