Skip to content

POL-011: Política de Respaldo y Recuperación

CampoValor
IDPOL-011
Versión1.0
Fecha de Emisión2026-03-13
Próxima Revisión2027-03-13
PropietarioCISO / Equipo DevOps
PCI DSSRequisitos 3.1, 9.4, 12.10
Preguntas ControlCaseComplemento a Q94 (recuperación)

1. Propósito

Definir los procedimientos de respaldo (backup) y recuperación (recovery) para garantizar la disponibilidad e integridad de los sistemas y datos del CDE ante eventos de pérdida, corrupción o desastre.

2. Alcance

SistemaTipoResponsable de Backup
PostgreSQL (Managed — vault_db, auth_db)Base de datos administradaDigitalOcean (automático) + Fintrixs (verificación)
PostgreSQL (Self-hosted — payments_db, etc.)Base de datosDevOps (pg_dump + PITR)
Configuración KubernetesManifiestos YAMLGit (GitHub) — Infrastructure as Code
Configuración Kongkong.yml / deckGit (GitHub) — Infrastructure as Code
Secretos/ClavesKeys, certsKubernetes Secrets + backup cifrado
Código fuenteRepositorio GitGitHub (remoto)
Logs de auditoríaArchivos de logDigitalOcean Spaces (archivo)

3. Estrategia de Backup

3.1 Bases de Datos Administradas (DigitalOcean Managed PostgreSQL)

ParámetroValor
FrecuenciaAutomática diaria (DO)
Retención7 días de backups automáticos
TipoSnapshots + WAL archiving (PITR)
RPO (Recovery Point Objective)≤ 1 hora
RTO (Recovery Time Objective)≤ 4 horas
CifradoAES-256 (gestionado por DO)
UbicaciónMisma región (NYC) con redundancia

3.2 Bases de Datos Self-Hosted

ParámetroValor
FrecuenciaDiaria (pg_dump) + WAL continuo
Retención30 días
TipoFull dump diario + PITR con WAL
RPO≤ 15 minutos (WAL)
RTO≤ 2 horas
CifradoAES-256-GCM antes de almacenar
AlmacenamientoDigitalOcean Spaces (cifrado at-rest)
VerificaciónRestauración de prueba mensual

3.3 Infraestructura como Código

ComponenteBackup
Kubernetes manifiestosGit (GitHub) — múltiples copias en cada clone
Network policiesGit (GitHub)
Docker ComposeGit (GitHub)
Kong configurationGit (GitHub)
Terraform stateRemote backend cifrado
CI/CD pipelinesGit (GitHub)

3.4 Claves y Secretos

TipoMétodo de BackupRetención
Claves de cifrado (MEK)Export cifrado + almacenamiento offlinePermanente
JWT signing keysKubernetes Secrets + backup cifradoCon rotación
Certificados TLSGit (no privkey) + backup cifrado (privkey)Vigencia del cert
Credenciales de BDKubernetes Secrets + backup cifradoCon rotación

4. Procedimiento de Backup

4.1 Ejecución Diaria (Automatizada)

  1. 02:00 UTC — Trigger automático de pg_dump para BDs self-hosted
  2. Compresión del dump (gzip)
  3. Cifrado AES-256-GCM con clave dedicada
  4. Upload a DigitalOcean Spaces (bucket fintrix-backups)
  5. Verificación de integridad (checksum SHA-256)
  6. Notificación de éxito/fallo al canal de monitoreo
  7. Limpieza de backups locales temporales

4.2 Verificación de Backups

ActividadFrecuenciaResponsable
Verificar que backup se ejecutóDiaria (automática)AlertManager
Verificar integridad del backupSemanalDevOps
Restauración de prueba completaMensualDevOps
Test de recuperación de desastreSemestralDevOps + CISO

5. Procedimiento de Recuperación

5.1 Escenarios de Recuperación

EscenarioProcedimientoRTO
Corrupción de BDRestaurar desde último backup + replay WAL2 horas
Eliminación accidental de datosPITR al punto antes de la eliminación1 hora
Compromiso de seguridadRestaurar desde backup limpio + rotación de claves4 horas
Fallo de nodo KubernetesAuto-healing de DOKS + re-deploy de pods15 minutos
Fallo de región completaRe-deploy en región alternativa desde Git + restore de backup8 horas

5.2 Procedimiento de Restauración de BD

  1. Identificar punto de recuperación (timestamp o backup específico)
  2. Obtener backup cifrado de DigitalOcean Spaces
  3. Descifrar con clave correspondiente
  4. Verificar integridad del backup (checksum)
  5. Restaurar en ambiente de staging para validación
  6. Verificar datos restaurados
  7. Si datos correctos: restaurar en producción
  8. Verificar conectividad de servicios
  9. Documentar el evento de restauración

6. Retención y Destrucción de Backups

Tipo de BackupRetenciónMétodo de Destrucción
Backups diarios de BD30 díasEliminación automática + confirmación
Backups mensuales de BD12 mesesEliminación con verificación
Backup de clavesSegún rotación de claveBorrado criptográfico
Backup de logsSegún POL-010 (12 meses)Eliminación automática

⚠️ Los datos de tarjetas en backups se mantienen cifrados y sujetos a la misma política de retención que los datos en producción.

7. Seguridad de Backups

ControlImplementación
Cifrado en tránsitoTLS 1.2+ para transferencia a Spaces
Cifrado at-restAES-256-GCM (propio) + AES-256 (DO Spaces)
Control de accesoSolo DevOps Lead y CISO tienen acceso al bucket de backups
InmutabilidadObject Lock configurado donde sea posible
MonitoreoAlertas ante acceso no autorizado al bucket
SeparaciónBackups en cuenta/proyecto separado del CDE si es posible

Historial de Revisiones

VersiónFechaAutorCambios
1.02026-03-13DevOps / CISODocumento inicial

Aprobación

RolNombreFirmaFecha
CISO / Oficial de Seguridad__________________________________//____
Gerencia Ejecutiva__________________________________//____

Documentación Confidencial — Solo para uso interno y auditoría PCI DSS