Tutte le competenze

06

Infrastruttura e sicurezza

Dove vivono i vostri dati, chi può vederli e cosa succede se qualcosa si rompe

La domanda che usiamo come metro è sempre la stessa: se questa macchina sparisse stanotte, quanto ci mettiamo a rifarla identica? Se la risposta è «dipende da cosa ci ricordiamo», l’infrastruttura non è finita.

Dal codice alla produzione
  1. Ricette versionateL’host nasce da un file nel repository, non da una sessione al terminale
  2. Reti separateUn cliente non vede la rete di un altro, e l’ingresso passa da un tunnel
  3. Credenziali in cassaforteGenerate al momento, a scadenza breve, mai copiate in un file
  4. RilascioStaccato dalla sessione remota e verificato subito dopo
  5. MonitoraggioPrima il rimedio automatico leggero, poi quello pesante, poi una persona
  6. Prova di ripristinoPeriodica, su un database usa e getta, con le protezioni ricontrollate

Macchine che si rifanno uguali

Ogni server nasce da ricette versionate, non da una sessione al terminale andata bene. Le procedure stanno nel repository accanto al codice che governano, e ogni scelta strutturale lascia scritto il perché.

Le operazioni distruttive hanno un comportamento dichiarato e ripetibile: rieseguire non deve fare danni, e questo va provato, non sperato.

Il confine è la rete, non la buona fede

Separare i clienti a livello di rete costa più fatica che filtrarli nel codice, ma è l’unico livello che regge quando il codice sbaglia: reti dedicate per ogni cliente e ingresso attraverso un tunnel invece che con porte aperte su internet.

Le credenziali stanno in una cassaforte con certificati a scadenza breve: l’applicazione riceve chiavi generate al momento, non stringhe copiate in un file di configurazione.

Accorgersene prima del cliente

Metriche, controlli che sanno distinguere «acceso» da «funzionante», allarmi che scattano su sintomi utili invece che su ogni sfarfallio. Un allarme che suona sempre è un allarme spento.

Dove ha senso la reazione è automatica e graduale: prima il rimedio leggero, poi quello pesante, e se il problema si ripete si smette di insistere e si chiama una persona. Ogni tentativo resta scritto.

Backup che sappiamo ripristinare, prove che reggono

Un backup non verificato è un file. La prova di ripristino va automatizzata su un database usa e getta e deve controllare anche che le protezioni tornino su davvero — non che esistano, che funzionino.

Gli obiettivi di ripristino (quanto tempo, quanti dati) sono dichiarati per servizio e misurati con esercitazioni periodiche: un numero mai verificato è un desiderio, un numero uscito da una prova è un impegno.

Le stesse cose che tengono in piedi il sistema producono le prove per un audit: registro eventi in sola aggiunta, storico degli incidenti, report periodico. Se per fare una prova serve una persona che esporta a mano, quella prova arriverà tardi.

Portfolio

Cosa abbiamo fatto, progetto per progetto, su questa competenza.

Orbitas

Cloud privato multi-cliente su hardware dedicato

  • Cluster Proxmox a tre nodi con reti separate per ogni cliente e ingresso via tunnel: nessuna porta di gestione aperta su internet.
  • Cassaforte delle credenziali con certificati interni, scoperta dei servizi e DNS interno; ricette Ansible per nodi di calcolo, uscita, cassaforte e aggiornamenti coordinati mensili.
  • Agente di sicurezza su ogni macchina virtuale con isolamento per cliente, rilevamento vulnerabilità e integrità dei file.
  • Riparazione automatica su tre livelli con interruttore di sicurezza, PostgreSQL in alta disponibilità, inventario della rete come fonte di verità.
  • Controlli ISO 27001 e misure NIS2 mappati su componenti reali, matrice degli obiettivi di ripristino, esercitazioni programmate e cruscotto cliente con punteggio, uptime e storico incidenti.
  • Proxmox
  • Ansible
  • PostgreSQL
  • Vault
  • Consul
  • Wazuh
  • Grafana

CocoonServer

Odoo multi-istanza su Kubernetes

  • Istanze isolate su Kubernetes con pacchetto di rilascio dedicato e instradamento gestito.
  • Volumi separati per moduli e template, così un aggiornamento del contenitore non porta via il lavoro fatto.
  • Raccolta periodica delle metriche e cruscotti per consumo e salute delle istanze.
  • Kubernetes
  • Helm
  • Traefik
  • PostgreSQL
  • Grafana

SOS Bollette

Continuità di un CRM multi-azienda

  • Prova di ripristino settimanale automatica: ricostruisce l’ultima copia su un database temporaneo, ne verifica l’impronta prima di toccare qualsiasi cosa e la cancella.
  • La prova non conta le protezioni: si collega come farebbe l’applicazione e verifica che non arrivi nessuna riga — l’unico controllo che smaschera un ripristino andato storto in silenzio.
  • Nessun comando può sovrascrivere il database in uso: il ripristino ne crea uno nuovo.
  • PostgreSQL
  • cron
  • verifica dell’impronta
  • prove di ripristino

BigFishIta

Questo sito, in produzione su server dedicato

  • Contenitori per applicazione, database, proxy con certificati automatici e automazioni sulla stessa macchina.
  • Rilascio staccato dalla sessione remota e verificato subito dopo; backup notturni di database e allegati con conservazione a scadenza.
  • Docker
  • Caddy
  • PostgreSQL
  • cron

Ti serve questo?

Raccontaci il problema e vi diciamo come lo affronteremmo — e se non è il caso di farlo, ve lo diciamo lo stesso.

Parliamone