Biblioteca / Operaciones

Playbook de Backup y Recuperacion de Desastres

Procedimientos para backup DR y continuidad de negocio con RTO/RPO definidos por sistema.

AWS BackupPostgreSQLRansomwareISO 22301RTORPOS3 Object Lock
PDF · 32 paginasNivel: IntermedioActualizado mayo 2026Descargar PDF

Capitulo 1

Fundamentos y conceptos criticos

Antes de implementar cualquier estrategia de backup es esencial comprender los conceptos que determinan que se respalda con que frecuencia y cuanto tiempo toma recuperarlo.

RTO RPO MTTR y MTBF

MetricaDefinicionEjemplo
RTOTiempo maximo aceptable para restaurar el servicioBase de datos produccion: 2 horas
RPOPerdida maxima de datos aceptable en tiempoTransacciones financieras: 15 minutos
MTTRTiempo promedio historico de recuperacionSi tardas 3h en promedio: MTTR 3h
MTBFTiempo promedio entre fallosFalla cada 6 meses: MTBF 4380 horas

Estrategia 3-2-1-1-0

  • 3 copias del dato: produccion mas 2 backups
  • 2 tipos de almacenamiento diferentes como SSD mas S3
  • 1 copia fuera del sitio principal en otra region cloud
  • 1 copia offline o inmutable con S3 Object Lock o Vault Lock
  • 0 errores en la ultima prueba de restauracion verificada
Principio fundamental

Un backup no verificado no es un backup. Hasta que no hayas restaurado exitosamente solo tienes esperanza de recuperacion no certeza.

Capitulo 2

Inventario y clasificacion de sistemas

No todos los sistemas requieren el mismo nivel de proteccion. Clasificar los activos por criticidad permite optimizar costos garantizando la recuperacion de lo que importa.

Matriz de criticidad

SistemaCriticidadRTO objetivoRPO objetivoEstrategia
Base de datos produccionCritica30 min5 minBackup continuo + replica Multi-AZ
API principal de negocioCritica15 min1 horaSnapshot EC2 cada 6h
Archivos de usuariosAlta2 horas4 horasSync S3 cada 4h con versionado
Logs de aplicacionMedia8 horas24 horasExport diario a S3 Glacier
Entorno stagingBaja24 horas48 horasSnapshot semanal
Consejo

Haz este ejercicio con un representante del negocio. Lo que TI considera critico a veces difiere de lo que el negocio considera critico.

Capitulo 3

Automatizacion de backups en cloud

Los backups manuales fallan. La unica estrategia confiable es la que funciona sin intervencion humana y notifica cuando hay un problema.

AWS Backup con Terraform

terraform - aws backup plan produccion
resource "aws_backup_plan" "produccion" {
  name = "plan-backup-produccion"
  rule {
    rule_name         = "backup-diario"
    target_vault_name = aws_backup_vault.principal.name
    schedule          = "cron(0 2 * * ? *)"
    lifecycle {
      cold_storage_after = 30
      delete_after       = 365
    }
    copy_action {
      destination_vault_arn = aws_backup_vault.secondary.arn
    }
  }
  rule {
    rule_name         = "backup-semanal"
    target_vault_name = aws_backup_vault.principal.name
    schedule          = "cron(0 1 ? * SUN *)"
    lifecycle {
      cold_storage_after = 90
      delete_after       = 2555
    }
  }
}
resource "aws_backup_vault" "principal" {
  name        = "vault-produccion"
  kms_key_arn = aws_kms_key.backup.arn
}

Script de backup PostgreSQL verificado

bash - backup con verificacion SHA256
#!/bin/bash
set -euo pipefail
DB_HOST="prod-db.internal"; DB_NAME="appdb"; DB_USER="backup_user"
BUCKET="s3://prod-backups"; DATE=$(date +%Y%m%d_%H%M%S)
FILE="/tmp/backup_${DB_NAME}_${DATE}.sql.gz"

PGPASSWORD="${DB_PASSWORD}" pg_dump -h "$DB_HOST" -U "$DB_USER" "$DB_NAME" | gzip > "$FILE"
CHECKSUM=$(sha256sum "$FILE" | cut -d' ' -f1)
echo "$CHECKSUM" > "$FILE.sha256"

aws s3 cp "$FILE" "$BUCKET/postgresql/$DATE/" --sse aws:kms
aws s3 cp "$FILE.sha256" "$BUCKET/postgresql/$DATE/"

REMOTE=$(aws s3 cp "$BUCKET/postgresql/$DATE/$(basename $FILE).sha256" -)
if [ "$CHECKSUM" = "$REMOTE" ]; then
  echo "Verificacion OK"
  aws sns publish --topic-arn "$SNS_TOPIC" --message "Backup $DB_NAME OK: $DATE"
else
  echo "ERROR: checksum no coincide"; exit 1
fi
rm -f "$FILE" "$FILE.sha256" 
Seguridad

El usuario de backup solo debe tener permisos de lectura: GRANT SELECT USAGE ON ALL TABLES TO backup_user. Nunca uses el usuario de la aplicacion.

Capitulo 4

Almacenamiento y gestion de retencion

El costo del almacenamiento de backups puede dispararse sin una politica de ciclo de vida clara.

Clases de almacenamiento S3

ClaseCostoRecuperacionCaso de uso
Standard$$$InmediatoBackups ultimos 30 dias
Standard-IA$$InmediatoBackups 30-90 dias
Glacier Instant$MilisegundosBackups 90 dias a 1 ano
Glacier Flexible$3-5 horasBackups 1-5 anos
Deep Archivecentavos12-48 horasCumplimiento 5+ anos

Inmutabilidad anti-ransomware

terraform - S3 Object Lock
resource "aws_s3_bucket_object_lock_configuration" "backups" {
  bucket = aws_s3_bucket.backups.id
  rule {
    default_retention {
      mode = "COMPLIANCE"
      days = 30
    }
  }
}

Capitulo 5

Pruebas de recuperacion y validacion

Las pruebas de recuperacion son el unico indicador real de que tu programa de backup funciona.

Calendario de pruebas

FrecuenciaTipoDuracionQue se verifica
MensualRestore parcial30-60 minEl backup es legible
TrimestralRestore completo de base de datos2-4 horasRTO real vs objetivo
SemestralRestore completo de instancia4-8 horasServicio completo incluyendo DNS
AnualSimulacro de DR fallo de region1-2 diasPlan de desastre extremo a extremo

Procedimiento de restore PostgreSQL

  1. Identificar el punto de recuperacion objetivo
  2. Crear entorno de restore aislado nunca restaurar directamente en produccion
  3. Descargar backup y verificar checksum SHA256 antes de continuar
  4. Descomprimir: gunzip backup_file.sql.gz
  5. Restaurar: psql -h restore-db -U admin nueva_db < backup_file.sql
  6. Verificar integridad con queries de conteo de registros y muestreo
  7. Si es para produccion actualizar DNS o connection strings
  8. Documentar tiempo real de restore para actualizar el RTO
Registro obligatorio

Cada prueba de restore debe quedar documentada con fecha duracion resultado checksum verificado y responsable. Esta documentacion es evidencia requerida en ISO 27001 y SOC 2.

Capitulo 6

Plan de recuperacion ante desastres DRP

Un DRP es el conjunto de procedimientos que activas cuando el fallo es de la infraestructura completa.

Estrategias DR y su costo

EstrategiaRTO tipicoRPO tipicoCostoCuando usarla
Backup and Restore4-8 horas24 horasMinimoSistemas no criticos
Pilot Light1-2 horas1-4 horasBajoImportancia media
Warm Standby15-30 min15 minMedioSistemas criticos
Multi-Site ActiveSegundosSegundosAltoMision critica

Runbook de activacion del DRP

  1. Confirmar que el fallo es real max 5 min
  2. Declarar el incidente: notificar al CTO y al equipo
  3. Registrar el timestamp de inicio de cada accion
  4. Activar el entorno DR en la region secundaria
  5. Actualizar los registros DNS al entorno DR
  6. Notificar a los usuarios del cambio y tiempo estimado
  7. Verificar que todos los servicios criticos funcionan
  8. Iniciar recuperacion del entorno principal en paralelo
  9. Planificar el failback coordinado una vez el principal este listo
  10. Post-mortem dentro de las 48h

Capitulo 7

Recuperacion ante ransomware

El ransomware es hoy la amenaza mas costosa para la continuidad. La unica defensa efectiva es un backup inmutable y aislado.

Anatomia de un ataque

  1. Acceso inicial via credenciales robadas phishing o vulnerabilidad expuesta
  2. Persistencia: el atacante permanece invisible semanas o meses
  3. Reconocimiento: mapeo de la red y localizacion de datos criticos
  4. Cifrado: activacion simultanea en todos los sistemas identificados
  5. Extorsion: demanda de pago con amenaza de publicar datos
Dato critico

El tiempo medio entre la intrusion inicial y la activacion del ransomware es de 11 dias. Tus backups de los ultimos 11 dias pueden estar comprometidos. Los backups inmutables son la unica defensa.

Lista de verificacion de recuperacion

  • NO pagar el rescate sin consultar con un especialista en respuesta a incidentes
  • Aislar inmediatamente todos los sistemas afectados de la red
  • Preservar evidencias: no apagar servidores tomar snapshots del estado actual
  • Identificar el backup limpio mas reciente ANTES del punto de compromiso
  • Verificar que el backup no fue cifrado con checksum y lectura de muestra
  • Restaurar en entorno limpio y aislado no en la infraestructura comprometida
  • Reconstruir la infraestructura comprometida desde cero
  • Cambiar TODAS las credenciales antes de reconectar a produccion

Capitulo 8

Metricas y mejora continua

Lo que no se mide no se mejora. Establece KPIs que den visibilidad real al estado del programa de backup.

KPIs del programa de backup

KPIFormulaObjetivoMedicion
Tasa de exitoBackups exitosos / programados x100>=99.5%Diaria
CoberturaSistemas con backup / totales x100100%Semanal
RTO real vs objetivoTiempo real / RTO objetivo<=1.0Por prueba
Backups verificadosCon prueba exitosa / total x100>=20% mensualMensual
Antiguedad de pruebaDias desde ultimo restore completo<=90 diasMensual
Automatizacion

Automatiza la generacion de estas metricas con un script Python que consulte AWS Backup y publique los resultados en Slack o CloudWatch.

Capitulo 9

Plantillas y apendices operativos

Las plantillas estan listas para completar y adaptar. Son documentos vivos que deben actualizarse cada vez que cambia la infraestructura.

Plantilla registro de prueba de restore

CampoValor ejemplo
Fecha2026-05-15
TipoRestore completo PostgreSQL produccion
Backup utilizadobackup_appdb_20260514_020000.sql.gz
Checksum verificadoSi SHA256 coincide
Entorno de restoreaislado eu-west-1
ResponsableKevin Alpizar
Hora inicio09:00 UTC
Hora fin10:45 UTC
RTO real1h 45min vs objetivo 2h OK
ResultadoEXITOSO
Actualizacion

Este playbook debe revisarse cada trimestre o ante cualquier cambio arquitectural. Un playbook desactualizado es casi tan malo como no tener uno.