Copias de seguridad

Protege tus backups en Amazon S3 contra ransomware

Un backup a Amazon S3 guarda copias de WordPress y servidores fuera del hosting con alta durabilidad y automatización. Para que resista un incidente, necesita permisos IAM mínimos, Versioning, cifrado, retención inmutable con Object Lock y restauraciones probadas. Así podrás definir costes reales, elegir la herramienta adecuada y medir cuánto dato puedes perder (RPO) y cuánto tardas en volver a operar (RTO).

Índice

Anuncio

Estrategia segura para un backup a Amazon S3

Una copia externa debe formar parte de un plan de backup completo.

Aplica la regla 3-2-1-1-0

La regla 3-2-1-1-0 incorpora una copia aislada o inmutable. Object Lock añade esa inmutabilidad e impide borrar o alterar objetos protegidos hasta una fecha concreta, incluso cuando se compromete una clave con permisos amplios.

Define RPO y RTO antes de programar

El RPO es la pérdida máxima de datos aceptable, medida en tiempo. Un RPO de 24 horas acepta perder hasta un día de cambios; uno de 1 hora limita esa pérdida a la última hora.

Incluye todo lo necesario

Una restauración de WordPress requiere al menos los archivos web, la base de datos MySQL y el archivo wp-config.php. También pueden ser necesarios certificados, reglas de Nginx o Apache, tareas cron, configuraciones PHP y archivos situados fuera de public_html.

La regla 3-2-1-1-0 puede convertirse en un checklist sencillo:

El cero final exige verificar errores: cada ejecución debe terminar con un registro correcto, comprobación de tamaño o checksum y una restauración de WordPress probada.

Protege tus backups en Amazon S3 contra ransomware

Qué datos proteger en WordPress y servidores

No basta con copiar wp-content.

Una copia válida permite reconstruir el servicio completo, no solo mostrar una portada parecida a la anterior.

Archivos, MySQL y configuraciones

Haz una copia de archivos y otra de base de datos, con fecha y sitio identificados. En un VPS conviene guardar también la versión de PHP, las extensiones activas, la configuración del servidor y una lista de servicios necesarios.

Casos con mayor exigencia

WooCommerce, membresías y reservas necesitan revisar tablas personalizadas, suscripciones y datos de pasarela. Una instalación Multisite requiere confirmar si todos los sitios comparten base de datos, archivos de subida y configuración de red.

Criterio de ubicación y cumplimiento

Las regiones AWS Europa (Madrid), Europa (Irlanda) y Europa (Fráncfort) permiten mantener los datos en la Unión Europea. La región no resuelve por sí sola el cumplimiento, pero ayuda a documentar dónde se aloja la información.

Protege tus backups en Amazon S3 contra ransomware

Elige plugin, CLI o backup de servidor

No hay un método único.

Un plugin es cómodo para una o pocas webs; una tarea de servidor suele encajar mejor con varios sitios o bases de datos pesadas. AWS CLI es la herramienta oficial de terminal de AWS, y rclone sincroniza archivos entre muchos servicios de almacenamiento.

Plugins para sitios WordPress

UpdraftPlus, BackWPup y WPvivid Backup Plugin permiten enviar archivos a S3 desde el panel de WordPress. Son adecuados cuando el responsable necesita programar y restaurar sin entrar por SSH, la consola segura del servidor.

Automatización técnica y servidor

AWS CLI encaja en scripts con registros de actividad y tareas programadas. WP-CLI ayuda a ejecutar acciones de WordPress desde terminal, mientras que mysqldump puede extraer MySQL antes de comprimir y enviar la copia.

MétodoCaso adecuadoCoste de operaciónLímite principal
UpdraftPlus, BackWPup o WPvividUna web y gestión desde panelBajo a medioCarga del hosting y claves en WordPress
AWS CLIVPS o procesos técnicosMedioRequiere scripts y supervisión
rcloneMover archivos entre destinosMedioPuede propagar borrados
Backup del servidorVarios sitios o Linux completoMedio a altoNecesita acceso y control técnico
🛒 Producto recomendado

Un disco externo cifrado puede mantener una copia local adicional antes de enviarla a S3. Resulta útil para restauraciones grandes sin descargar todo desde Internet.

Ver en Amazon →

Para una web WordPress sencilla, un plugin con bucket privado, permisos limitados y prueba trimestral suele ser suficiente. Para una tienda activa o varios clientes, conviene crear copias de MySQL entre cada 1 y 4 horas y subirlas desde el servidor con una identidad separada; si el ransomware es una amenaza relevante, Versioning debe complementarse con Object Lock. La decisión correcta es la que cumple el RPO y RTO definidos sin depender de una clave AWS con acceso total.

Configura el bucket de S3 sin riesgos

El bucket debe nacer privado.

Crea el bucket en la región elegida y activa Bloqueo de acceso público. También conviene activar el cifrado del lado del servidor, que protege los datos guardados en los discos de AWS sin cambiar el funcionamiento del plugin.

Versionado e inmutabilidad

Object Lock no puede añadirse después a un bucket normal: debe habilitarse al crearlo. En modo Governance, una identidad especialmente autorizada puede eludir la retención; en modo Compliance, nadie puede hacerlo hasta que venza el plazo.

Estructura y protección de red

Usa un prefijo por web, entorno y fecha. Por ejemplo, empresa-es/produccion/base-datos/ evita mezclar una copia de pruebas con la de producción.

Activa S3 Versioning en el bucket antes de depender de él como protección frente a sobrescrituras y borrados, ya que conservará versiones no actuales de los objetos que se reemplacen o eliminen. MFA Delete añade una confirmación con un segundo factor para cambios críticos de versionado y borrado permanente de versiones, pero su administración se realiza mediante AWS CLI o API con las credenciales adecuadas, no desde todos los paneles o plugins. No debe plantearse como sustituto de Object Lock: AWS no permite usar MFA Delete y Object Lock simultáneamente en el mismo bucket.

Para una protección contra ransomware robusta, conviene priorizar Object Lock con retención inmutable, permisos IAM separados y una cuenta o identidad administrativa distinta de la que realiza las subidas.

Limita IAM y protege las credenciales

Una clave de backup no debe administrar AWS.

AWS Identity and Access Management (IAM) controla qué puede hacer cada identidad. Para un plugin, crea un usuario o rol exclusivo por sitio y limítalo a un bucket y prefijo concretos.

Política mínima para adaptar

Sustituye MI-BUCKET y mi-sitio/* por tus valores. Si el proceso nunca borra copias, no añadas s3:DeleteObject.

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Effect": "Allow",

      "Action": ["s3:ListBucket"],

      "Resource": "arn:aws:s3:::MI-BUCKET",

      "Condition": {"StringLike": {"s3:prefix": ["mi-sitio/*"]}}

    },

    {

      "Effect": "Allow",

      "Action": ["s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload"],

      "Resource": "arn:aws:s3:::MI-BUCKET/mi-sitio/*"

    }

  ]

}

Esta política permite listar el área asignada, subir y leer objetos. No concede acceso a otros buckets ni permiso para borrar.

Roles y secretos temporales

En Amazon EC2, contenedores o servidores compatibles, es preferible un rol IAM con credenciales temporales. Así no se guarda una clave permanente en WordPress ni en un archivo de configuración.

Anuncio

Retención, object lock y coste real

Guardar más no siempre protege más.

S3 Versioning acumula versiones no actuales, y cada una ocupa espacio. Sin reglas Lifecycle, una web de 10 GB con copias completas diarias puede guardar entre 300 y 3.650 GB al año, según cuánto cambie cada archivo y cómo trabaje el plugin.

Retención útil frente a ransomware

La práctica demuestra que el versionado ayuda ante errores humanos, pero una copia inmutable o aislada es la barrera útil cuando se comprometen las credenciales de backup. No conviene activar Compliance sin acordar el plazo, porque ni el administrador podrá borrar antes de la fecha.

Glacier y factura completa

Amazon S3 Glacier reduce el coste de archivo para copias antiguas, pero recuperarlas puede tardar y generar cargos. No muevas la única copia reciente a una clase lenta si tu RTO es de pocas horas.

Ciclo recomendado de una copia protegida
1. Subir
Archivos y MySQL
2. Versionar
Conservar cambios
3. Bloquear
Object Lock si aplica
4. Verificar
Restauración medida

Antes de fijar una política Lifecycle, estima la factura por cuatro partidas: GB-mes almacenados, solicitudes de subida y listado, recuperación desde clases de archivo y transferencia de salida al restaurar. Por ejemplo, una copia completa diaria de 10 GB retenida durante 30 días puede aproximarse a 300 GB almacenados si cada archivo se guarda como un objeto nuevo; ese volumen crece si se mantienen más generaciones o versiones. Las reglas Lifecycle pueden mover copias mensuales a S3 Glacier y eliminar versiones no actuales tras el plazo aprobado, pero hay que comprobar la duración mínima de almacenamiento y los cargos de recuperación de cada clase.

El cifrado de backups debe decidirse aparte del ahorro: SSE-S3 simplifica la operación, mientras SSE-KMS añade control sobre claves y puede sumar solicitudes de KMS.

Programa copias y prueba restauraciones

Una copia sin prueba es una hipótesis.

Programa MySQL antes o durante la copia de archivos, y etiqueta cada ejecución con fecha, web y entorno. En WooCommerce, una base de datos cada 1 a 4 horas y archivos diarios suele equilibrar recuperación y carga, aunque una tienda con muchas operaciones puede necesitar más frecuencia.

Incluye VPS, EC2 y correo

Un snapshot de VPS o EC2 captura un estado de disco, pero no sustituye una exportación de MySQL ni una copia externa. Puede servir para recuperar el servidor entero, mientras que una copia de WordPress permite restaurar solo un sitio o una tabla con más precisión.

Mide una restauración real

Restaura primero en un subdominio aislado o en un servidor de pruebas. Importa la base de datos, recupera archivos, ajusta credenciales de prueba y revisa acceso, formularios, medios, pedidos recientes y registros de error.

Amazon S3 no es la primera opción para una única copia manual pequeña ni cuando el proveedor ya ofrece backups externos verificables con retención e inmutabilidad suficiente. Tampoco basta por sí solo si un contrato exige soporte inmediato, residencia de datos concreta o restauración gestionada con un RTO que AWS no garantiza por configuración.

Preguntas y respuestas

¿Cómo hago un backup WordPress en Amazon S3?

Crea una copia de archivos y MySQL, y envíala a un bucket privado mediante plugin, AWS CLI o un script de servidor. Activa cifrado, Versioning y permisos IAM limitados al prefijo de esa web.

¿Cuánto cuesta guardar backups en Amazon S3?

El coste depende de GB, solicitudes, versiones antiguas, recuperación y transferencia de salida. Una regla Lifecycle evita pagar durante meses por versiones no actuales que ya no necesitas.

¿Versioning protege contra ransomware?

Versioning recupera versiones anteriores, pero no garantiza inmutabilidad ante credenciales comprometidas. Para ese riesgo, evalúa Object Lock con una retención definida y una identidad distinta para administrar la cuenta.

¿Cómo restauro una web desde S3?

Descarga la copia, restaura archivos y MySQL en un entorno aislado, y valida funciones críticas antes de publicar. Mide el proceso para comprobar que cumple tu RTO de entre 1 y 24 horas, según el servicio.

¿Qué permisos necesita un plugin de WordPress?

Un plugin necesita listar, subir y, solo si procede, leer objetos dentro de su prefijo. No debe recibir acceso total a S3 ni permiso sobre buckets de otros clientes.

¿Puedo guardar la clave AWS en WordPress?

Puedes hacerlo si no hay alternativa, pero aumenta el daño posible ante una intrusión. Es preferible usar roles IAM, variables de entorno o una clave exclusiva que se rote entre 90 y 180 días.

¿Debo usar S3 Glacier para todas las copias?

No, Glacier encaja para archivo de largo plazo cuando aceptas recuperaciones más lentas. Mantén copias recientes en S3 Standard u otra clase compatible con el RTO que hayas fijado.

¿Cada cuánto debo probar una restauración?

Prueba una restauración completa al menos cada tres meses y tras cambios relevantes de hosting o arquitectura. Una tienda activa o varios sitios de clientes se benefician de pruebas mensuales o trimestrales documentadas.

Anuncio

Fuentes de interés

Otros artículos que pueden complementar lo que acabas de leer:

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.