Cómo auditar los accesos remotos y las claves API de la web de tu empresa

Cómo auditar los accesos remotos y las claves API de la web de tu empresa

Última verificación: 23 de octubre de 2026
13 min de lectura
Guía
Auditor de seguridad

Tu web tiene más puertas que el formulario de acceso. El panel desde el que la agencia actualiza plugins, la app de la tienda con acceso a los pedidos, el token de Cloudflare en un script que purga la caché, la clave de despliegue del servidor: todos entran sin la contraseña de administrador. En octubre de 2026 dos incidentes demostraron lo que pasa cuando una de esas claves acaba en malas manos. Esta guía te sirve tengas WordPress, WooCommerce, Shopify o código propio, y explica cómo hacer el inventario, qué revocar, cuándo rotar y qué pedir por escrito a proveedores y agencias.

#Qué pasó con UpdraftCentral en octubre de 2026

En su aviso de incidente, TeamUpdraft explica que detectó un acceso no autorizado a teamupdraft.com el fin de semana del 17 y 18 de octubre y cree que se leyó su base de datos de clientes. Contenía nombres, correos, contraseñas cifradas con hash, ajustes de verificación en dos pasos y las claves de conexión de UpdraftCentral, UpdraftVault y UpdraftClone. Los datos de tarjeta no se guardaban. El atacante usó la conexión con las webs de los clientes para crear cuentas de administrador e instalar plugins maliciosos, y TeamUpdraft avisó después de un patrón de cuentas inesperadas con el rol de editor. UpdraftPlus 1.26.13 (gratuito) y 2.26.13 (Premium), publicados el 19 de octubre, desconectan todas las conexiones de UpdraftCentral creadas antes de las 13:07 (hora británica) del 18 de octubre.

El análisis de Patchstack explica por qué fallaron las defensas habituales. Los comandos iban firmados con claves auténticas del panel, así que superaban todas las comprobaciones del plugin. Una web conectada ejecuta cualquier comando firmado con los permisos del usuario que creó la conexión, y nadie confirma los comandos uno a uno. Muchos propietarios nunca lo eligieron: al conectar una cuenta de TeamUpdraft.com, la casilla que añadía la web a UpdraftCentral venía marcada por defecto. Las claves tampoco caducaban, y Patchstack vio claves de noviembre de 2025 que seguían funcionando en octubre de 2026. Las cuentas de puerta trasera aparecían como editores, pero tenían las capacidades manage_options e install_plugins, de modo que revisar la lista de administradores no las mostraba.

Días antes, Rank Math informó de que la versión PRO 3.0.123 descargada entre las 20:02 UTC del 15 de octubre y las 07:12 UTC del 16 de octubre contenía malware. La 3.0.124 es la versión limpia y la versión gratuita de WordPress.org no se vio afectada. Si activaste la versión infectada, Rank Math te pide dar por expuestos todos los secretos de la web y cambiar las contraseñas de WordPress, las credenciales de la base de datos, las claves y salts de wp-config.php, las claves de las pasarelas de pago, las credenciales SMTP, el resto de claves API y los accesos al hosting, FTP y SSH, además de revisar la verificación en dos pasos de los administradores. El contexto general lo cubrimos en el artículo sobre ataques a la cadena de suministro en WordPress en 2026.

#Lista de control de accesos a la web y la tienda

Tipo de servicioDónde está la claveCómo revocarlaCuándo rotarla
Panel de gestión (UpdraftCentral, ManageWP, MainWP, Jetpack)Ajustes del plugin de conexión en la web y panel del proveedor o de la agenciaBorrar primero la clave en la web y después la web del panelIncidente en el proveedor, cambio de agencia, panel sin uso
App de ShopifyPermisos de la app en los ajustes de la tiendaExportar datos y desinstalar la appAcceso sin usar, incidente en el proveedor, app innecesaria
Clave REST API de WooCommerceAjustes de WooCommerce, asociada a un usuario de WordPressEnlace de revocar junto a la claveSale el usuario asociado, cambia la integración
Contraseña de aplicación de WordPressPerfil del usuario, guardada con hashRevocar en el perfil o con WP-CLISin uso desde la última auditoría, sale la persona, intrusión
Token de CDN o DNS (Cloudflare)Cuenta de Cloudflare y la herramienta que llama a la APIBorrar el token en el perfil de CloudflareToken visto en logs o repositorio, sale la persona o la herramienta
Clave de despliegue (GitHub)Clave privada en el servidor, pública en los ajustes del repositorioBorrar en la sección de claves de despliegueServidor reconstruido o comprometido, cambio de agencia
Clave de pago (Stripe, Redsys, Bizum)Ajustes del plugin de la tienda o variables de entornoRotar con fecha de caducidad para la clave antiguaIntrusión, fin de la colaboración con el desarrollador
Clave de correo o SMTPPlugin SMTP, wp-config.php, variables de entornoBorrar la clave en el proveedor de correoIntrusión, cambio de plugin o proveedor
Credenciales del almacenamiento de copiasAjustes del plugin de copias y permisos en el proveedor de almacenamientoRevocar en el proveedor y volver a autorizarIncidente en el proveedor, intrusión

#Cómo saber quién tiene acceso a mi web

Las claves van en dos direcciones. Tu web guarda claves de sistemas ajenos (pagos, correo, copias de seguridad) y los sistemas ajenos guardan claves de tu web (paneles, apps, despliegues). La lista de Rank Math corresponde a la primera dirección y el caso UpdraftCentral a la segunda.

El inventario sale de tres fuentes: la propia web (usuarios, plugins o apps, ajustes), las cuentas de la empresa (facturas, gestor de contraseñas, el buzón donde llegan las confirmaciones de alta) y la infraestructura (DNS, CDN, panel del hosting, repositorio de código). Para cada entrada apunta el servicio, qué puede hacer, quién creó la clave, dónde está la clave en los dos extremos, cuándo se usó por última vez y quién responde de ella en la empresa. Una entrada sin responsable es la primera candidata a desaparecer.

#Paneles de gestión de varias webs

UpdraftCentral, ManageWP, MainWP y Jetpack se conectan a la web mediante un componente instalado en WordPress: UpdraftPlus incluye el cliente de UpdraftCentral, ManageWP usa el plugin ManageWP Worker y MainWP el plugin MainWP Child. La otra mitad de las credenciales está en los servidores del proveedor o en un servidor de la agencia. Revisa la lista de plugins, incluida la pestaña de plugins imprescindibles (must-use), y pregunta a tu agencia qué paneles utiliza. La lección de Patchstack vale para cualquier producto de este tipo: quitar la web del panel no basta, porque la clave que cuenta está guardada en la web.

#Apps de la tienda e integraciones con acceso a la API

En Shopify, abre los ajustes, la sección de apps, y entra en cada una. Según la documentación de Shopify, la página de la app muestra las áreas de la tienda que puede ver o editar y la fecha de su última actividad en cada una. Los permisos que no ha usado en los últimos 30 días aparecen en un apartado propio de acceso sin usar. El permiso read_all_orders amplía el acceso más allá de la ventana habitual de pedidos de los últimos 60 días (permisos de acceso), así que pregunta para qué lo necesita la app. Antes de desinstalar, exporta lo que necesites, porque algunas apps guardan datos que después no se pueden recuperar.

En WooCommerce las claves están en los ajustes de WooCommerce, en avanzado, REST API. Cada clave está asociada a un usuario de WordPress y tiene permiso de lectura, escritura o ambos, y el secreto solo se muestra una vez (documentación de WooCommerce). Comprueba a quién pertenece cada clave y si esa persona sigue trabajando contigo. Lo mismo vale para las claves de Redsys o Bizum que hayas metido en los ajustes del plugin de pagos.

#Contraseñas de aplicación y cuentas técnicas

Las contraseñas de aplicación permiten que una herramienta entre en la REST API con Basic Auth. Se crean y se revocan en la pantalla de edición del usuario. El núcleo de WordPress no limita su alcance: la guía de integración menciona esa limitación como desarrollo futuro, así que una contraseña de aplicación puede hacer todo lo que puede su usuario. WordPress registra el último uso (con precisión de un día) y la última dirección IP. Con WP-CLI:

wp user list --role=administrator
wp user list --role=editor
wp user application-password list 1 --fields=name,created,last_used,last_ip

La lista de editores entra en la revisión tras el caso UpdraftCentral, porque las cuentas de puerta trasera tenían justo ese rol.

#Tokens de CDN y DNS

Un token con permiso para editar el DNS basta para desviar tu dominio o tus registros de correo. En Cloudflare, un token API se limita a los permisos y zonas que elijas y se puede restringir además por dirección IP y por tiempo de vida (crear un token). La antigua Global API key accede a todos los recursos del usuario con sus permisos completos, y Cloudflare la desaconseja en configuraciones nuevas (Global API key). Si un plugin, un proceso de CI o un script de purga de caché todavía la usa, cámbiala por un token limitado a una zona.

#Claves de despliegue en GitHub

Una clave de despliegue (deploy key) de GitHub es una clave SSH con acceso a un único repositorio. Por defecto solo lee, y con permiso de escritura puede lo mismo que un miembro de la organización con acceso de administrador. Según la documentación de GitHub, estas claves no caducan, normalmente no tienen frase de contraseña y siguen activas cuando la persona que las añadió sale del repositorio. Revísalas en los ajustes del repositorio, en la sección de claves de despliegue: borra las que no reconozcas y aprueba las válidas.

#Claves de pago, correo y copias de seguridad

Stripe te deja crear claves restringidas con los permisos que elijas, y al rotar una clave en el panel decides cuándo caduca la antigua: en el momento o tras un plazo que da margen a la integración para cambiar (claves API de Stripe). La contraseña SMTP o la clave API del servicio de correo está en un plugin o en wp-config.php; dónde exactamente, lo explicamos en la guía de SMTP.

Una copia de seguridad contiene la base de datos completa, con datos de clientes y todas las claves guardadas en los ajustes. TeamUpdraft desconectó todas las webs de UpdraftVault y emitió credenciales nuevas, y recomendó a las webs a las que se entró por UpdraftCentral volver a autorizar el almacenamiento remoto (Google Drive, Dropbox, Amazon S3) y cambiar sus claves de acceso. Comprueba quién puede leer el almacenamiento de tus copias y si la herramienta de copias puede borrar versiones antiguas.

#Cómo revocar una clave API sin tumbar la web

En una web sana, sigue este orden: averigua qué usa la clave (descripción, último uso, registros de la herramienta), crea una sustituta con permisos más estrechos, ponla en la herramienta y comprueba que funciona, y solo entonces revoca la antigua. Vigila durante unos días los pedidos fallidos, los correos que no llegan y los despliegues rotos. El plazo de caducidad de Stripe existe justo para este cambio.

En una web comprometida, el orden se invierte: revoca primero y vuelve a conectar después las integraciones que se paren. Las instrucciones de TeamUpdraft para usuarios de UpdraftCentral siguen esa lógica: entrar directamente en cada web, actualizar, borrar la clave de conexión, eliminar cuentas y plugins desconocidos, cambiar las contraseñas de administrador y solo al final volver a conectar. Si la clave tiene dos extremos, revócala en los dos. Una clave borrada solo en el panel del proveedor puede seguir siendo aceptada por la web, y una clave borrada solo en la web puede seguir en la base de datos del proveedor.

#Cuándo rotar las claves API

Rota cuando ocurre algo, porque un calendario por sí solo no habría ayudado a nadie en octubre de 2026. Conviene dejar por escrito estos disparadores:

  • un incidente de seguridad en un proveedor que tiene una clave de tu web o recibe una de ella,
  • código malicioso que se ejecutó en la web, es decir, todo lo de la lista de Rank Math de arriba,
  • la salida de un empleado, freelance o agencia con acceso,
  • una clave encontrada donde no debía estar: un repositorio, un ticket de soporte, un hilo de correo, una captura de pantalla,
  • la sustitución de una integración por otra herramienta.

Añade una revisión fija al año y borra todas las claves que nadie sepa explicar. Las claves sin fecha de caducidad, como las de despliegue de GitHub o las de UpdraftCentral que analizó Patchstack, siguen vigentes hasta que alguien las quita.

#Qué exigir a tu agencia y a los proveedores de software

Una agencia que mantiene tu web crea claves en tu nombre. Si tiene acceso a datos de clientes, suele ser encargada del tratamiento, y el artículo 28 del RGPD te obliga a trabajar solo con encargados que ofrezcan garantías suficientes y a firmar un contrato de encargo. Estos puntos deberían figurar en él o en el alcance del mantenimiento:

  • un registro de todas las claves, tokens y cuentas que crea la agencia, con finalidad y responsable, entregado cuando lo pidas y al terminar el contrato,
  • claves creadas en tus propias cuentas cuando la plataforma lo permita, por ejemplo un token de Cloudflare en tu cuenta limitado a tu zona, para que revocarlo no dependa de la agencia,
  • una clave por web y por herramienta, y cuentas nominativas en lugar de un usuario compartido de la agencia,
  • revocación de todos los accesos en un número de días acordado tras el fin del contrato, confirmada por escrito,
  • un plazo de aviso de incidentes. Según el artículo 33 del RGPD, el encargado notifica la brecha al responsable sin dilación indebida, y tú tienes 72 horas, si es posible, para notificarla a la AEPD. Pon un número concreto de horas en el contrato.

Antes de instalar algo con funciones remotas, pregunta al proveedor si la conexión remota viene activada por defecto y si sus claves caducan. En UpdraftCentral, Patchstack encontró la casilla marcada de antemano y claves sin fecha de caducidad.

Hacemos esta revisión dentro de la auditoría de seguridad WordPress y mantenemos el registro de claves al día en el mantenimiento WordPress. En tiendas WooCommerce forma parte del plan de fiabilidad de la tienda, y en tiendas Shopify revisamos los permisos de las apps como desarrollador Shopify. Para entender cómo llegan las actualizaciones de plugins a tu web y por dónde puede colarse una versión manipulada, lee sobre el retraso de actualizaciones en WordPress.org y sobre cuatro backdoors en plugins en un mes.

Siguiente paso

Transforma el artículo en una implementación real

Este bloque refuerza el enlazado interno y lleva al lector al siguiente paso más útil dentro de la arquitectura del sitio.

Cluster relacionado

Explora otros servicios WordPress y base de conocimiento

Refuerza tu negocio con soporte técnico profesional en áreas clave del ecosistema WordPress.

Preguntas frecuentes

Respuestas prácticas para aplicar el tema en la ejecución real.

Basta con quitar la web del panel de UpdraftCentral#
No. Patchstack recuerda que la clave que cuenta está guardada en la propia web. Bórrala en los ajustes de UpdraftPlus de cada web y actualiza a la 1.26.13 (gratuita) o 2.26.13 (Premium), que desconectan las conexiones anteriores a las 13:07 (hora británica) del 18 de octubre de 2026. Después revisa los usuarios, también los editores, y la lista de plugins.
Cada cuánto hay que rotar las claves API en una empresa#
Cuando ocurre algo: un incidente en un proveedor conectado, código malicioso en la web, una persona o agencia que pierde el acceso, o una clave que aparece en un repositorio, un ticket o un correo. Además, una revisión fija al año para borrar las claves que nadie sabe explicar.
Esta auditoría sirve para tiendas Shopify#
Sí. En Shopify las claves las tienen las apps instaladas. La página de cada app en los ajustes muestra qué áreas de la tienda puede ver o editar, cuándo las usó por última vez y qué permisos llevan 30 días sin usarse.
Qué diferencia hay entre rotar y borrar un token de Cloudflare#
Al rotarlo, Cloudflare genera un secreto nuevo para el mismo token e invalida el anterior, con los mismos permisos. Al borrarlo, el token desaparece por completo. Rota cuando el secreto se ha filtrado pero la integración sigue haciendo falta.

¿Necesitas un FAQ adaptado a tu sector y mercado? Preparamos una versión alineada con tus objetivos de negocio.

Hablemos

Artículos Relacionados

Ataques a la cadena de suministro en WordPress en 2026

En una sola semana de junio de 2026 se conocieron la brecha en el CDN de Awesome Motive, el compromiso de la pipeline de compilación de ShapedPlugin y una campaña de backdoor de 13 años. El hilo común: el canal oficial de actualización fue el vector de ataque. Lo que los dueños de tiendas deberían cambiar de verdad.

Plugins desactualizados en WordPress, caso real con CVE

Una auditoría real de un sitio WordPress de una pyme: Elementor fijado en 3.11.1, por debajo de los parches de cinco CVE registradas en el NVD, y Contact Form 7 en 5.8 expuesto a CVE-2023-6449 (subida arbitraria de archivos). Patrón de plugins desactualizados, triaje de CVE, actualizaciones en staging y límites del WAF.