GH GambleHub

Disaster Recovery Plan

1) Assegnazione, ambito e principi

Obiettivo: garantire il ripristino tempestivo della piattaforma IT dopo i disastri (quelli cyber, vendor, geopolitici) senza violare i requisiti di regolamentazione, i contratti e le aspettative degli attori.

Area: ambienti produttivi (circuito di gioco, pagamenti, KYC/AML, antifrode, vetrine DWH/BI), integrazione (PSP, KYC, CDN, studi/aggregatori), infrastruttura (cloud/K8s, reti, segreti/chiavi), dati (database, file, logi)

Principi: safety-first, minimizzazione RTO/RPO, automazione e riproduzione (IaC), «prova predefinita», esercizio regolare.


2) Classificazione dei sistemi e obiettivi di ripristino

2. 1 Livelli di criticità

Tier-1 (essenziale): pagamenti/cassauti, core-games, login/autenticazione, CUS/sanzioni.
Tier-2: analisi in tempo reale, marketing/CRM, report DWH.
Tier-3: portali interni, servizi di supporto.

2. 2 Target

RTO (Recovery Time Objective) - Tempo fino al ripristino del servizio.
RPO (Recovery Point Objective) - Perdita di dati in base al tempo consentita.
RTA (Recovery Time Action )/RPA (Recovery Point Actual) - I valori effettivi vengono registrati nei report.
MTO/MBCO: tempo massimo di inattività/livello minimo accettabile del servizio (degraded mode).

Esempio di obiettivi (per riferimento):
  • Tier-1 - RTO 30-60 min, RPO 15 min; Tier-2 — RTO ≤ 4 ч, RPO ≤ 1 ч; Tier-3 — RTO ≤ 24 ч, RPO ≤ 24 ч.

3) Strategie DR e architettura

3. 1 Topologia

Active-Active (regione multi-t) - RTO/RPO minimo, richiede consistenza e conflitto-resola.
Active-Standby (caldo/caldo/freddo) - bilancia costi/velocità.
Separazione geo tra dati e chiavi: KMS/HSM per-region, BYOK, percorsi di replica indipendenti.

3. 2 Dati e bacap

PITR (point-in-time recovery) - Registri transazioni, intervalli di archiviazione 5-15 min per Tier-1.
Snappshot/full-backap: giornaliero/orologio, storage 3-2-1 (3 copie, 2 supporti, 1 off/off).
Immutabilità: WORM/oggetto, firma/hash chain di manufatti.
Catalogo di recupero: inventario dei backup, integrità, data di scadenza, decrittazione dei test.

3. 3 Applicazioni e integrazioni

Servizi Statles: implementazione rapida attraverso il IaC/CI.
Componenti statful: snap coerente, orchestrazione sequenza di avvio.
Integrazioni (PSP/KYC/aggregatori) - Doppi credency, fallback-endpoint, webhoot firmati, controllo di ricambio (idampotenza).


4) Ordine di ripristino (runbook generale)

1. L'annuncio di uno script DR indica l'assegnazione di un DR-IC (DR-IC) alla war-room.
2. Valutazione danni: regioni/sottosistemi colpiti, aggiornamenti RTA/RPA, decisione di attivazione del feelover.
3. Isolamento/contenitore - Blocca le cause originali (ACL di rete, segreti, disattivazione del provider).

4. Inizializzazione DR:
  • rete/segreti/KMS
  • Database/deposito/cache
  • API/servizi fronte/CDN per le integrazioni esterne.
  • 5. Controllo integrità contro. importi, richieste «asciutte», provini health.
  • 6. Ricomposizione finanziaria/giochi: accoppiamento dei pagamenti, delle scommesse, dei bilanci, riassorbimento idipotente delle transazioni.
  • 7. Comunicazioni: status page, giocatori/partner/regolatori; timeline degli aggiornamenti.
  • 8. Osservazione e stabilizzazione: disattivazione del degrado alla normalizzazione.
  • 9. Post mortem: RCA, CAPE, aggiornamento DRP.

5) Runbooks specializzati (sezioni)

5. 1 Perdita della regione principale (Active-Standby → Standby)

yaml trigger: "loss_of_region_primary OR quorum_fail >= 5m"
prechecks:
- "secondary region green"
- "replication_lag <= 15m"
steps:
- DR-IC approves region_failover
- Platform: GSLB switch → secondary
- Data: promote replicas, enable PITR streams
- Apps: redeploy with region vars; warm caches
- QA: smoke tests (login, deposit, bet, payout)
- Comms: status-page + partner notice rollback: "switch-back after 60m stability window"

5. 2 Corruzione database/recupero da PITR

yaml trigger: "data_corruption_detected OR accidental_drop"
steps:
- Freeze writes (feature flag), snapshot evidence
- Restore to timestamp T (<= RPO)
- Reindex/consistency checks
- Replay idempotent events from queue (from T)
- Reopen writes in throttle mode validation: ["checksum_ok", "balance_diff=0", "orders_gap=0"]

5. 3 PSP degrado in modalità DR

yaml trigger: "auth_rate_psp1 < baseline-3σ for 15m"
steps:
- Route X%→psp2, cap payouts, enable manual VIP
- Reconciliation plan T+0, alerts Finance
- Notify players in cashier; vendor escalation

6) Integrità dei dati e recordation

Finanza: controlli di depositi/pagamenti/commissioni, invio ripetuto di notifiche e siti web con deduplicazione (idempotency-keys).
Tracciato di gioco: ripristino degli stati dei round, ripetizione dei calcoli se necessario, protezione da doppi prelievi/addebiti.
Log/verifiche: mappatura dei loghi WORM prima/dopo, firme/hash, report di coerenza.
Rapporto DPO/Compilation: in caso di esposizione al PII, fissa scala, timeline e notifiche.


7) DR per tecnologie chiave (esempi)

DATABASE (relazionale): replica sincrona/asincrona, slot WAL, fast-promote, stand hot.
NoSQL/cache: multiclaster, disabilità TTL, riempimento freddo, abbandono cross-region write senza conflitto-risolte.
Code/striam: mirroring/cluster, controllo degli spostamenti, deduplicazione dei consumatori.
Archivio oggetti: versioning, replica in bunker, inventario degli oggetti e regole di retention.
CI/CD/manufatti - repliche di registri, firma di manufatti, copie off-line di contenitori critici.
Segreti/chiavi: KMS per-region, chiavi radici indipendenti, break-glass con registro e TTL.


8) Sicurezza e privacy in DR

Diritti minimi: Accesso DR da ruoli/profili separati (JIT/PAM).
Backap immutabili: offline/off, test di recupero e decrittazione.
Finestre di regolazione: fissazione degli eventi e risoluzione delle notifiche (regolatore/banca/PSP/utenti) con Legale/DPO.
Tracciabilità: registro completo delle azioni del comando DR, firma timeline.


9) Esercitazioni e tipi di test

Controllo documento/ruoli/contatti (trimestrale)

Tabletop: esegue lo script a secco con la risoluzione dei conflitti.
Technical partial: ripristino di un singolo servizio/database.
Full failover/switch-over - Trasferimento di traffico e dati in una regione di riserva.
Chaos-giorni (controllata): iniezioni di guasti/guasti per la convalida automatica.

Ogni test contiene un rapporto RTA/RPA, un elenco di anomalie, una CAPE e un aggiornamento DRP.


10) Metriche (KPI/KRI)

RTA/RPA vs RTO/RPO (Tier-1): ≥ 95% delle corrispondenze.
DR Test Coverage: 2 test DR completi/anno + parziali regolari.
Time-to-First-Status: 15 minuti dopo l'annuncio del DR.
Ricomposizione Zero-Different - Tutte le scorciatoie in denaro e gioco senza discrepanze.
Backup Integrity: il 100% dei ripristini selettivi hanno successo nel trimestre.
Config Draft: 0 deriva tra primary/secondary (IaC-confronto).
Sicurezza in DR: 100% azioni DR con registro e conferma.


11) RACI (ingrandito)

AttivitàDR-ICPlatform/SREData/DBASecurity/DPOPaymentsRisk/KYCProduct/EngComms/PRLegal/Compliance
Annuncio DRA/RCCCCCCCC
Feelover/sollevamentoCA/RRCCCRII
Convalida/HealthCRA/RCCCRII
ReconciliationIRA/RIRRRII
ComunicazioniIIICCCIA/RC
Regolatori/PSPIIIA/RRRICR
Post mortem/SARAA/RRRRRRRCC

12) Assegno fogli

12. 1 Pronto per DR

  • Aggiornati contatti DR-team/venditori/regolatori
  • Replica verde, PITR abilitato, decrittazione test Becap
  • Accesso JIT/PAM, «break-glass» convalidato
  • I feelover e le variabili dell'ambiente sono validi
  • Doppi crediti/webhoop PSP/KYC, percorsi alternativi
  • Stato pagina/modelli di messaggio pronti

12. 2 Durante il DR

  • Assegnato DR-IC, aperto war-room, timeline eventi
  • Isolamento causa, selezione script, avvio runbooks
  • Test di integrità, health-test, smoke-test
  • Il primo apdate pubblico è di 15 minuti; notifiche SLA ai partner/regolatori
  • Cattura di manufatti per l'indagine

12. 3 Dopo DR

  • Accoppiamento completo di denaro/giochi e riviste
  • Post mortem, RCA, CAPE con date e proprietari
  • Aggiornamento DRP/BIA/contatti/IaC
  • Piano di ripetizione dei record

13) Modelli (sezioni)

13. 1 Scheda di servizio (DR-passaporto)

yaml service: payments-api tier: 1 dependencies: [auth, ledger-db, psp1, psp2, kms-eu]
rto: "45m"
rpo: "15m"
backups: {pitr: true, snapshots: "hourly", immutability: "7d"}
failover: {mode: "active-standby", regions: ["eu1","eu2"]}
runbooks: ["rb_failover_region", "rb_psp_degradation"]
health_checks: ["/healthz","/readyz"]

13. 2 Rapporto di prova DR (estratto)

yaml test_id: DR-2025-10 scope: "Full switch-over eu1→eu2"
rta: "27m"
rpa: "11m"
issues:
- id: CAPA-117, desc: "долгое прогревание кэша", due: 2025-11-20, owner: SRE
- id: CAPA-118, desc: "устаревший webhook PSP#2", due: 2025-11-12, owner: Payments reconciliation: {finance: "ok", games: "ok"}
management_signoff: "2025-11-02"

13. 3 Modello di messaggio di stato


[UTC+02] Идет аварийное переключение в резервный регион. Игры доступны, выводы временно ограничены. Средства игроков в безопасности. Следующее обновление через 15 минут.

14) Road map di implementazione (6-8 settimane)

Settimane 1-2: inventario dei servizi e delle dipendenze, classificazione Tier, obiettivi RTO/RPO, scelta delle topologie, passaporto DR.
Settimane 3-4: implementazione di backup/PITR/immutabilità, replica di segreti/KMS, preparazione di runbooks e stato.
Settimane 5-6: dati di prova parziale (database/cache/code), tavoletop su script PSP/KYC/regione.
Settimane 7-8: full switch-over (se possibile), report con RTA/RPA, CAPE, aggiornamento DRP e piano di test regolari.


15) Integrazione con altre sezioni wiki

Collega a: BCP, Registro dei rischi, Gestione incidenti, Politica dei loghi (WORM), TPRM e SLA, ISO 27001/27701, SOC2, PCI DSS, RBAC/Least Privilege, Parol e MFA, Gestione delle modifiche/Gestione delle modifiche con i comunicati.


TL; DR

Il DRP di lavoro = RTO/RPO chiaro su Tier → l'architettura Active-Active/Standby + backup/PITR → riproducibili runbooks e il feelover → → di denaro/giochi, esercitazioni regolari e CAPE. Qualsiasi guasto importante diventa una procedura gestita con tempi prevedibili di recupero e zero sorprese per i regolatori e gli attori.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.