Los staging suelen quedar con plugins viejos, administradores copiados y secretos de producción. Si comparten base, usuario del sistema, clave SFTP o despliegue, comprometer staging puede deshacer una reconstrucción limpia.
Inventaría todas las copias no productivas y elimina su camino hacia producción.
Encuentra todas las copias
Busca dominios cPanel/Plesk, DNS, subdirectorios, hosts locales, restauraciones y configuración de despliegue. Incluye nombres staging, dev, test y temporales tipo sslip.
Consulta índices de buscadores y transparencia de certificados para hallar nombres olvidados, sin considerarlos inventario completo. Registra propietario, finalidad y última actualización.
Compara infraestructura compartida
Determina si staging y producción comparten usuario del sistema, directorio padre, servidor o usuario MySQL, Redis, bucket de uploads, SMTP, copias o token CDN.
Un hostname distinto no es aislamiento. Una cuenta con escritura puede modificar ambas raíces. Conserva las relaciones actuales antes de rotarlas.
Evalúa el ataque al staging
Revisa logs web, PHP, SFTP/SSH y panel, además de archivos, usuarios, cron y base. Compara indicadores y horas con la recurrencia en producción.
Un plugin viejo solo es entrada plausible cuando versión, configuración y peticiones coinciden. Documenta incertidumbre. No publiques el staging infectado para reproducirlo.
Separa red y caché
Confirma que no comparte prefijos Redis, sesiones ni claves de caché CDN. Las cachés comunes pueden filtrar datos o alterar el otro entorno.
Utiliza namespaces y credenciales únicos. Vacía solo el espacio afectado tras conservar evidencia; un flush global puede interrumpir otras webs. Impide acceso sin límites a servicios internos de producción.
Retira el acceso público
Desconecta staging en DNS/CDN y hosting o protégelo con controles fuertes y restricciones de red. Basic Auth no siempre protege el origen directo ni PHP compartido.
Impide indexación y callbacks, pero no uses robots.txt como seguridad. Guarda la evidencia aislada y sin ejecución.
Separa credenciales y datos
Crea credenciales únicas para MySQL, SFTP/SSH, WordPress y API de producción. Retira pagos, SMTP y atención al cliente reales del staging.
Anonimiza datos personales y pedidos antes de futuras copias y limita quién puede crearlas. Rota secretos copiados en backups o archivos de entorno. No envíes correos reales desde staging.
Revisa la dirección del despliegue
Comprueba hooks Git, sincronizadores, migradores y restauraciones. Un staging comprometido nunca debe enviar archivos o base a producción.
Protege cuentas de despliegue, exige builds revisadas y haz que producción obtenga desde una fuente fiable cuando sea posible. Elimina sincronizaciones olvidadas y registra su acceso anterior.
Controla futuros staging
Usa un aprovisionamiento aprobado que genere secretos únicos, bloquee indexación, desactive correo y pagos reales y asigne responsable y caducidad. Copia solo datos anonimizados.
Alerta sobre hostnames temporales públicos pasada su fecha. Retira conjuntamente DNS, certificados, almacenamiento y usuarios. No clones producción copiando sin revisar wp-config.php, base y uploads.
Reconstruye o retira
Si aún se necesita, reconstrúyelo con código mantenido en otra cuenta e importa datos anonimizados. Si no, elimínalo tras el periodo de conservación junto con DNS, certificados y cuentas.
No archives la raíz infectada dentro de una carpeta pública de producción. Mantén inventario y fecha de expiración.
Prueba también una restauración controlada de las copias que piensas conservar. Verifica que sus variables de entorno, URL, tareas programadas y destinos externos se sustituyen antes de arrancar; una copia limpia pero conectada a producción puede causar el mismo daño operativo.
Verifica la independencia
Confirma que credenciales de staging no llegan a archivos o base de producción y que allí no quedan secretos reales. Monitoriza rutas antiguas, usuarios compartidos y despliegues.
Prueba login, formularios, checkout, cron y correo de producción tras separar. Revisa copias hermanas. Si comparten usuario o base, solicita recuperación urgente compartiendo mapa y logs censurados, nunca secretos ni archivos infectados.