Seguridad

Cuidado: copias automáticas mal configuradas rompen GDPR

Ejemplo visual de cuidado copias automaticas

¿Cuántas copias de seguridad contienen datos personales sin cifrar, accesibles desde un bucket público o un Google Drive compartido? Una copia de seguridad mal configurada puede convertir una medida de protección en un incidente sancionable: pérdida de control sobre datos, notificaciones de brecha y multas. Conviene ejecutar comprobaciones prácticas y pasos operativos aplicables de inmediato para reducir el riesgo legal y operativo.

Errores al configurar copias de seguridad automáticas que rompen GDPR: Muchas empresas configuran backups automáticos sin revisar retención, cifrado o acuerdos con el proveedor, lo que puede vulnerar el RGPD. A continuación se indican cómo identificar y corregir errores concretos: cifrado en repositorios, exclusión o anonimización de datos personales, cláusulas DPA, rotación de claves y procedimientos de supresión segura, más tests de restauración y checklist de retención.

Índice

Anuncio

Resumen del proceso

El proceso reduce riesgo legal y operativo aplicando inventario, cifrado, retención y supresión verificable.

  1. Auditar destinos y detener copias inseguras.
  2. Clasificar qué contiene cada backup y localizar PII.
  3. Configurar cifrado con gestión separada de claves.
  4. Aplicar reglas de retención y supresión automatizada.
  5. Probar restores y documentar pruebas.

Ejemplo visual de cuidado copias automaticas

Paso 1: inventario y clasificación

Hacer un inventario rápido localiza riesgos y límites de acción en menos de 2 horas.

Listar destinos y trabajos programados

Identificar todos los destinos remotos y jobs cron activos.

Usar comandos: "wp cron event list" y revisar plugins de backup en el panel.

Registrar destinos típicos: buckets S3, Google Drive, FTP, servidores del hosting.

Ver qué incluye cada backup

Sacar un dump de prueba para ver contenido real.

Comandos claros: "wp db export dump.sql" y "ls -lh wp-content/uploads".

Verificar si el dump contiene correos, nombres o NIFs.

Detectar PII automáticamente

Escanear dumps con expresiones regulares para correos y NIF/CIF.

Ejemplo de pipeline: "rg -n "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}" dump.sql".

Si se detecta PII, marcar backup como "contiene datos personales" y aislarlo.

Plazo legal: la normativa exige notificar una violación en un máximo de 72 horas desde su detección si existe riesgo para los derechos de las personas afectadas.

Anuncio

Paso 2: reconfigurar plugins y repositorios

Reconfigurar el flujo de copia reduce exposición cuando se aplica cifrado y roles mínimos.

Plugins: ajustes seguros por plugin

UpdraftPlus: usar backend S3/GCS con IAM roles.

En la UI activar "Encrypt backups" y evitar cuentas Drive personales.

Jetpack/VaultPress: confirmar cláusula DPA con Automattic y región de almacenaje.

Evitar buckets públicos y keys en código

Comprobar políticas de bucket y ACLs para eliminar acceso público.

Evitar claves en wp-config.php; usar variables de entorno o secretos.

Es habitual encontrar claves AWS en wp-config.php tras migraciones automatizadas.

Configurar S3 con KMS: pasos breves

Crear bucket en región EU (Irlanda o Frankfurt) y activar SSE-KMS.

Asignar key policy limitada a roles necesarios y habilitar rotación anual.

Ejemplo AWS CLI: "aws s3api put-bucket-encryption --bucket mi-bucket --server-side-encryption-configuration file://sse.json".

Además de verificar que el proveedor ofrece un DPA, conviene incorporar cláusulas contractuales concretas que recojan obligaciones operativas: por ejemplo, obligación de actuar como encargado (data processor) solo según instrucciones documentadas del responsable; obligación de permitir auditorías técnicas y de acceso; obligación de entregar prueba de eliminación (logs, request IDs) en un plazo concreto; y compromiso sobre subprocesadores. Un ejemplo sintético de cláusula que puede incluirse en el contrato: "El encargado garantiza que los backups que contengan datos personales serán eliminados, incluidas todas las versiones y réplicas, en un plazo máximo de 30 días tras la solicitud del responsable; facilitará logs de API y un certificado de destrucción resultante de las operaciones efectuadas".

Incluir estas obligaciones en el DPA facilita respuestas a peticiones de supresión y da base contractual para medidas correctoras.

Paso 3: pseudonimización, exclusión y supresión

No incluir PII en backups destinados a terceros es la mejor práctica real y legal.

Excluir tablas y archivos sensibles

Evitar incluir tablas de logs y aquellas con metadatos de usuarios.

Usar WP-CLI para exportar solo tablas necesarias: "wp db export --add-drop-table --tables=wp_posts,wp_options dump.sql".

Pseudonimizar antes del upload

Reemplazar correos por hashes o valores "redacted" antes de subir.

Comando "perl -pe 's/([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,})/[email protected]/g' dump.sql > dump_sanitized.sql".

Procedimiento de supresión verificable

Localizar objetos relacionados y solicitar borrado con logs.

Pedir al proveedor prueba de destrucción o usar versionado de objetos con eliminación completa.

Un caso habitual: backup subido a Drive personal → imposible localizar versiones antiguas sin intervención del usuario que subió el archivo.

Para cumplir el derecho al olvido es imprescindible un procedimiento operativo reproducible: localizar backups que contengan el identificador (por ejemplo, email o ID cliente), identificar objetos y version-IDs en el bucket, marcar los objetos para eliminación y ejecutar la reversión o eliminación con pruebas. En AWS S3 esto puede implicar listar versiones (aws s3api list-object-versions --bucket mi-bucket --prefix ruta/) y eliminar por versión (aws s3api delete-object --bucket mi-bucket --key ruta/archivo.sql --version-id ); además hay que conservar y exportar los logs de la API que muestren los requestId y timestamps como evidencia.

Si el proveedor solo ofrece retención y no eliminación inmediata, documentar la respuesta, exigir cronograma y, como medida técnica, aplicar eliminación cifrada (rotación o destrucción de la clave de cifrado para provocar borrado criptográfico) cuando proceda, siempre complementado con evidencias exportadas del proveedor y entradas en el registro de actividades del tratamiento.

Gestión de cifrado y rotación de claves

Separar la gestión de claves del almacenamiento reduce el riesgo de exposición por co-localización.

Modelos de claves y recomendaciones

Preferir claves gestionadas por el cliente (BYOK) cuando sea posible.

Si se usa KMS, activar rotación anual y limitar permisos por roles.

La mayoría de guías afirma que cifrar basta; lo que omiten es rotar claves y auditar accesos.

Almacenamiento seguro de secretos

No guardar secretos en repositorios públicos ni en wp-config.php.

Usar soluciones como HashiCorp Vault, AWS Secrets Manager o parámetros de entorno con permisos restringidos.

Habilitar registros de acceso a claves con CloudTrail o equivalente.

La rotación de claves en entornos con backups automatizados requiere un flujo claro:

Anuncio

Supresión y retención automatizada

Definir periodos de retención en función del tipo de datos y justificar cada periodo.

Políticas prácticas de retención

Ejemplo de mapeo:

Registrar la justificación documental para cada periodo en el registro de actividades.

Implementar lifecycle rules en cloud

Crear reglas que expiren objetos tras X días y que eliminen versiones antiguas.

Ejemplo JSON de regla de expiración aplicable a S3 y GCS en el artículo final.

Diferencia clave: un backup con PII no puede conservarse indefinidamente. Una política razonable es 90 días para datos personales cuando existe necesidad operativa, con justificación documental.

Flujo de corrección de backups

Flujo: Auditar → Aislar → Corregir → Verificar
1
AUDITAR
Listar destinos y contenido; detectar PII.
2
AISLAR
Pausar jobs inseguros y limitar acceso.
3
CORREGIR
Cifrar con KMS, excluir/anonimizar PII.
4
VERIFICAR
Probar restores y supresión; conservar logs.

Tabla comparativa de proveedores

Proveedor Ubicación de datacenters DPA disponible Cifrado por defecto
Amazon S3 (AWS) Regiones EU (Irlanda, Frankfurt) Sí, DPA estándar AWS SSE-S3 y SSE-KMS
Google Drive / GCS Regiones EU y global Sí, DPA Google Cloud Cifrado en reposo; claves gestionadas
Microsoft Azure Regiones EU Sí, DPA Microsoft SSE y Azure Key Vault
Google Drive personal Indefinido, depende del usuario No aplicable Cifrado en tránsito y en reposo gestionado por Google; el usuario no controla las claves por defecto. Google Drive cifra los datos en reposo y en tránsito, pero en el caso de cuentas personales el control de las claves recae en el proveedor (no BYOK), por lo que no existe gestión de claves por parte del responsable y no se pueden exigir las mismas garantías técnicas que con un KMS gestionado por el cliente.

Para referencias legales, consultar la guía de la AEPD sobre copias de seguridad y transferencias internacionales.

Guía AEPDENISA

Anuncio

Errores que arruinan el resultado

Los errores repetidos son negligencia operativa y contractual con impacto legal inmediato.

Subir backups sin DPA ni cifrado

Subir a un proveedor sin DPA aumenta riesgo de transferencia internacional ilícita.

Si los datos se transfieren fuera del Espacio Económico Europeo debe existir una base jurídica adecuada (decisión de adecuación, cláusulas contractuales tipo/SCCs con medidas complementarias, o, en casos muy concretos y documentados, consentimiento explícito). Además, tras la doctrina Schrems II las SCC pueden requerir medidas suplementarias técnicas u organizativas para garantizar un nivel de protección esencialmente equivalente, por lo que la elección del mecanismo debe ir acompañada de una evaluación de riesgos y de las medidas complementarias aplicadas.

Retención indefinida y versiones

Mantener retenciones largas multiplica la superficie de riesgo.

La política por defecto de muchos plugins guarda copias meses o años.

Esto funciona bien en teoría, pero en la práctica la retención larga impide cumplir el derecho al olvido.

No probar restores ni supresión

Los restores no probados pueden revelar que los procedimientos de supresión no funcionan.

Un proveedor puede tardar semanas en eliminar versiones si no hay cláusula DPA específica.

Cuándo no funciona este método y alternativas

Este método no aplica si el sitio no procesa datos personales reales (páginas estáticas sin formularios), si las copias son solo de entornos locales de desarrollo, o cuando la organización opera fuera del ámbito del RGPD y tiene otra normativa aplicable.

Si la auditoría detectó una brecha, pausar las sincronizaciones y documentar la exposición.

Alternativa: usar backups locales cifrados y replicar solo metadatos a la nube.

Si la auditoría exige correcciones inmediatas, solicitar una revisión técnica y legal urgente y negociar la DPA con el proveedor para acelerar la remediación.

Preguntas frecuentes

¿Me conviene usar backups automáticos en la nube?

Sí, con condiciones contractuales y técnicas claras.

La nube aporta redundancia y recuperación rápida, pero solo si existe un DPA firmado, cifrado en reposo y en tránsito, y control de claves. Se debe justificar la necesidad y limitar la retención. Sin esas garantías, la nube puede convertir copias inofensivas en riesgos legales.

¿Plugins de backup cumplen el RGPD por sí mismos?

No, un plugin no garantiza cumplimiento legal.

El plugin facilita la copia técnica, pero el responsable debe configurar backend seguro, gestión de claves y políticas de retención. Además, se necesita DPA con el proveedor de almacenamiento para que haya garantías contractuales frente a solicitudes de supresión.

¿Qué retención debo aplicar para cumplir el RGPD?

Aplicar retenciones justificadas según el tipo de dato.

Una regla práctica: logs 30 días, datos personales operativos 90 días, entornos de desarrollo 7 días. Registrar la justificación en el registro de actividades. Ajustar los plazos según obligaciones legales o necesidades comerciales concretas.

¿Basta cifrar backups para estar conforme?

No basta si las claves están junto a los datos.

El cifrado exige separación de claves, rotación y registros de acceso. Si la clave se guarda en el mismo bucket o en el servidor sin controles, el cifrado no protege frente a acceso indebido. Usar KMS o soluciones BYOK para mayor control.

¿Cómo demostrar que se ha suprimido un dato de un backup?

Solicitar prueba de eliminación y conservar logs de la acción.

El procedimiento operativo debe localizar identificadores, eliminar objetos/versiones y generar evidencia: logs de API, confirmación del proveedor y captura de estado posterior. Incluir esta prueba en la respuesta al interesado que ejerce el derecho al olvido.

¿Qué hacer si el proveedor se niega a borrar?

Documentar la negativa y activar alternativas legales.

Si el proveedor no ofrece supresión verificable, es necesario buscar remedios contractuales, elevar la reclamación al DPO o AEPD y considerar migrar a un proveedor que acepte DPA con cláusula de supresión. Mantener evidencias y comunicaciones.

¿Cómo probar que el restore no reintroduce datos?

Hacer restores en entorno aislado y verificar datos con scripts.

Programar pruebas periódicas: restaurar backup en entorno de staging, ejecutar búsquedas de identificadores y confirmar que los datos supuestamente eliminados no aparecen. Conservar resultados de la prueba y timestamps.

Anuncio

Fuentes y cierre

La obligación de notificar brechas aparece en el Reglamento (UE) 2016/679 y exige acción en 72 horas.

La AEPD y ENISA han publicado directrices útiles sobre copias de seguridad y gestión de incidentes, respectivamente.

RESUMIR CON IA: Extrae lo importante

Comparte este artículo:

Josu Barrios

Josu Barrios

Somos especialistas en mantenimiento WordPress para empresas, profesionales y tiendas online. Contamos con experiencia en seguridad web, optimización de rendimiento, actualizaciones, copias de seguridad y resolución de incidencias técnicas, ayudando a que cada sitio funcione de forma rápida, estable y protegida. Nuestro enfoque combina soporte técnico profesional, buenas prácticas de seguridad y seguimiento continuo para ofrecer un servicio fiable, transparente y orientado a resultados reales.