Las copias de seguridad expuestas en WooCommerce ocurren cuando plugins de respaldo o administradores generan archivos comprimidos (.zip, .tar.gz) o volcados de base de datos (.sql) directamente en la carpeta pública del servidor (public_html o wp-content/uploads/) sin restringir el acceso web. Cualquier persona o bot automatizado que conozca o adivine la ruta puede descargar el archivo sin contraseña, obteniendo nombres, direcciones, historiales de compra y contraseñas de todos los clientes de la tienda.
Este es, con diferencia, el fallo de seguridad más grave y habitual que encontramos en tiendas online desarrolladas sobre WordPress. La mayoría de los propietarios invierten en certificados SSL y contraseñas robustas, pero descuidan la higiene perimetral básica del servidor.
A continuación explicamos el funcionamiento de los ataques de extracción masiva de datos, las consecuencias legales ante el RGPD y los pasos exactos para blindar tu servidor Apache o Nginx.

Cómo localizan los atacantes las copias de seguridad
Los ciberdelincuentes no necesitan vulnerar tu panel de administración con fuerza bruta para robar tus datos: utilizan rastreadores automatizados que bombardean miles de tiendas cada hora probando rutas y nombres de archivo habituales.
Los bots buscan combinaciones predecibles basadas en el dominio de tu tienda y la fecha:
https://mitienda.com/backup.ziphttps://mitienda.com/copia_seguridad.sqlhttps://mitienda.com/mitienda_2026.tar.gzhttps://mitienda.com/wp-content/uploads/backup.sqlhttps://mitienda.com/dump.sql.gz
Si tu servidor web responde con un código HTTP 200 OK, el bot inicia la descarga inmediata a máxima velocidad. En menos de dos minutos, el atacante tiene una copia exacta de toda tu base de datos relacional.
Qué contiene un archivo .sql descargado por terceros
Una base de datos de WooCommerce expuesta en internet revela absolutamente toda la operativa de tu negocio:
- Datos personales de clientes (
wp_usersywp_usermeta): Nombres completos, teléfonos móviles, direcciones de envío y facturación, NIFs o documentos de identidad y correos electrónicos. - Hashes de contraseñas de WordPress: Aunque las contraseñas están cifradas con algoritmos de dispersión (phpass o bcrypt), contraseñas comunes de usuarios o empleados pueden ser descifradas en horas mediante ataques de diccionario con tarjetas gráficas dedicadas.
- Claves de API y credenciales de pasarelas (
wp_options): Si almacenas tokens de Stripe, claves de Redsys, credenciales de correo transaccional de Resend o claves de sincronizadores de inventario, quedan a la vista en texto plano dentro de la tabla de opciones de WordPress. - Facturación y métricas comerciales (
wp_wc_order_product_lookup): Volúmenes de facturación diaria, márgenes comerciales y listas de proveedores.
Responsabilidad legal y sanciones del RGPD
Bajo el Reglamento General de Protección de Datos de la Unión Europea (RGPD) y la legislación española de la AEPD, una exposición no autorizada de datos de clientes se califica como una brecha de seguridad grave.
Las empresas tienen la obligación legal de notificar la brecha a la autoridad de control en un plazo máximo de 72 horas y avisar individualmente a todos los clientes afectados si existe riesgo para sus derechos. Las sanciones económicas por negligencia técnica en medidas básicas de protección pueden alcanzar hasta 20 millones de euros o el 4 % del volumen de negocio anual.
Procedimiento técnico para localizar y eliminar archivos expuestos
Si gestionas tu propio hosting o VPS mediante acceso SSH o panel cPanel/Plesk, ejecuta este protocolo de auditoría inmediata.
1. Búsqueda por terminal SSH
Conéctate a tu servidor por línea de comandos y sitúate en el directorio raíz de tu instalación web (por ejemplo, /var/www/html/ o public_html/). Ejecuta el siguiente comando find:
find . -maxdepth 3 -type f \( -name "*.zip" -o -name "*.sql" -o -name "*.tar.gz" -o -name "*.tgz" -o -name "*.bak" \) -ls
Si el resultado devuelve archivos creados por plugins de migración o copias antiguas, trasládalos de inmediato fuera del árbol público o elimínalos si ya no son necesarios.
2. Bloqueo perimetral en servidores Apache y LiteSpeed
Si tu servidor utiliza Apache o LiteSpeed, puedes impedir por completo que cualquier archivo sensible sea servido por HTTP. Añade este bloque de directivas al inicio de tu archivo .htaccess:
# Bloqueo total de extensiones de copia de seguridad y volcados
<FilesMatch "\.(sql|zip|tar|gz|tgz|bak|config|env)$">
Require all denied
</FilesMatch>
# Proteger el archivo de configuración sensible de WordPress
<Files "wp-config.php">
Require all denied
</Files>
Con esta regla activa, aunque un bot solicite mitienda.com/backup.zip, el servidor responderá con un código HTTP 403 Forbidden y cerrará la conexión sin transferir un solo byte.
3. Configuración de seguridad en Nginx
Si utilizas Nginx como servidor web, incluye esta directiva dentro del bloque principal de configuración de tu sitio (/etc/nginx/sites-available/mitienda):
location ~* \.(sql|zip|tar|gz|tgz|bak|log)$ {
deny all;
return 404;
}
Al devolver un error 404 en lugar de 403, el atacante ni siquiera podrá confirmar si el archivo existe o no en el disco.
Dónde deben guardarse las copias de seguridad
La regla de oro de la administración de sistemas es muy sencilla: nunca almacenes copias de seguridad en el mismo directorio accesible por internet (DocumentRoot).
- Ubicación local correcta: Si guardas copias en el propio servidor, deben residir en un directorio superior, por ejemplo:
/home/usuario/backups_privados/, al que el servidor web (www-dataonginx) no tenga permiso de lectura pública. - Almacenamiento externo cifrado: Las copias programadas deben enviarse directamente a un servicio de almacenamiento en la nube seguro con cifrado en reposo (Amazon S3, Google Cloud Storage o Backblaze B2) y eliminarse del servidor local inmediatamente tras completarse.
Cómo lo detecta y resuelve Melopo Radar
No necesitas ser un administrador de sistemas experimentado para saber si tu tienda está expuesta. El paquete Seguridad Pro de Melopo Radar vigila tu comercio desde fuera, exactamente igual que lo haría un atacante:
- Comprobación de copias descargables: Escanea de forma no invasiva las rutas habituales de backups y volcados de base de datos para avisarte al instante si algún archivo responde con código 200 OK.
- Auditoría de cabeceras de seguridad: Verifica que tu servidor web incluya las cabeceras recomendadas (Content-Security-Policy, X-Frame-Options, Strict-Transport-Security) para evitar ataques de inyección y suplantación.
- Vigilancia de administradores nuevos: Detecta si se ha creado un nuevo usuario con privilegios de administrador en tu tienda sin autorización previa.
Para mantener blindada tu tienda y asegurar tus ingresos, te invitamos a consultar también nuestra guía sobre cómo diagnosticar fallos silenciosos en Stripe y Redsys o cómo evitar errores 404 y productos con noindex en WooCommerce.


