Asegura WordPress Headless y WPGraphQL

Guía de seguridad para WPGraphQL en WordPress headless: restringe el endpoint, usa contraseñas de aplicación y autenticación, y aplica defensa en profundidad.

7 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Ir a un enfoque headless con WordPress es fantástico. Conservas un CMS de clase mundial en el backend y ganas libertad para usar frameworks modernos como Astro, Next.js, Nuxt o SvelteKit. Sin embargo, esta arquitectura implica nuevas consideraciones de ciberseguridad que no debes pasar por alto.

Uno de los errores más comunes es dejar el endpoint GraphQL público. Un endpoint público en la ruta slash graphql es como dejar los planos de tu casa en el jardín. Cualquiera podría: - Introspectar por completo tu esquema y descubrir estructuras, tipos personalizados y campos. - Ejecutar consultas complejas y costosas que ralenticen o derriben tu servidor, un patrón típico de ataque de denegación de servicio. - Acceder potencialmente a contenido privado o en borrador si los permisos no están perfectamente configurados.

Esta guía te muestra un enfoque por capas para blindar WPGraphQL de modo que solo tu frontend autorizado se comunique con él.

Opciones de seguridad del plugin WPGraphQL

WPGraphQL incluye una opción integrada para restringir el acceso solo a usuarios autenticados. Pasos: 1. En el panel de WordPress, navega a GraphQL y luego a Settings. 2. Activa la opción Restringir endpoint a usuarios autenticados. 3. Guarda los cambios. A partir de ese momento, cualquier petición sin autenticación a https://tudominio.com/graphql será bloqueada. Esta es tu primera línea de defensa.

Contraseñas de aplicación de WordPress

WordPress incorpora Contraseñas de aplicación, credenciales diseñadas para apps externas sin exponer tu contraseña de acceso principal. Cómo crear una: 1. Ve a Usuarios y luego Perfil en el admin. 2. Desplázate hasta Contraseñas de aplicación. 3. Asigna un nombre descriptivo, por ejemplo Astro Frontend, y pulsa Agregar nueva contraseña de aplicación. 4. Copia la contraseña generada de inmediato, no se mostrará de nuevo. Utilizarás esta contraseña para autenticar las peticiones desde tu frontend o desde funciones serverless.

Llamadas API autenticadas

1. Guarda las credenciales en variables de entorno. No incrustes secretos en componentes. Crea un archivo .env.local en tu proyecto frontend con, por ejemplo: WP_GRAPHQL_URL=https://tudominio.com/graphql, WP_USER=tu_usuario_wordpress, WP_APP_PASSWORD=tu_clave_de_aplicacion. Añade .env.local a .gitignore para evitar que llegue al control de versiones. 2. Crea un helper de fetch reutilizable en el servidor que lea las variables de entorno y agregue el encabezado Authorization con el esquema Basic y el valor en base64 de usuario dos puntos contraseña. 3. Usa este helper para realizar consultas seguras, por ejemplo una consulta de posts que recupere título y slug. Importante: las credenciales deben residir en el servidor, nunca en el navegador.

Seguridad avanzada por capas defensa en profundidad

1. Añade una cabecera secreta. Exige que toda petición a slash graphql incluya una cabecera privada, por ejemplo X-Secret-Request-Header con un valor aleatorio largo almacenado en SECRET_HEADER_KEY=valor-muy-largo-aleatorio. En Nginx puedes implementar una regla tipo location igual slash graphql y un condicional if contra la variable http_x_secret_request_header para devolver 403 si el valor no coincide. 2. Reglas en firewall o en tu hosting. Haz whitelist solo de las IPs de tu frontend o de tus funciones serverless. Deniega el resto para slash graphql y, si tu plataforma lo permite, exige además la cabecera secreta. 3. Desactiva la REST API si no la usas. Puedes engancharte a rest_api_init y, si el visitante no está autenticado, denegar el acceso. Así evitas, por ejemplo, la enumeración de usuarios en rutas como slash wp-json slash wp slash v2 slash users.

Buenas prácticas adicionales

- Usa límites de profundidad y coste en consultas, o un plugin de rate limiting, para mitigar abusos de consultas complejas. - Deshabilita la introspección en producción si tu flujo no la requiere. - Segmenta permisos de roles y capacidades para evitar exposición de tipos y campos sensibles. - Registra peticiones y errores del endpoint para detectar patrones anómalos. - Aísla WordPress en una subred privada y publica solo lo necesario mediante un proxy con WAF, idealmente integrado en servicios cloud.

En Q2BSTUDIO somos especialistas en ciberseguridad aplicada a arquitecturas headless, software a medida y aplicaciones a medida, con auditorías de configuración, hardening, pruebas de penetración y despliegues seguros de GraphQL y REST. Si buscas reforzar tu seguridad con pruebas de intrusión, monitorización y respuesta, descubre nuestro servicio de ciberseguridad y pentesting en ciberseguridad para tu negocio.

Además, diseñamos e integramos infraestructuras escalables para WordPress headless y microservicios con servicios cloud aws y azure, balanceadores, WAF y CDNs, para reducir superficie de ataque y latencia. Obtén una arquitectura robusta y preparada para picos de tráfico con nuestras soluciones en servicios cloud aws y azure.

Nuestro equipo también impulsa proyectos con inteligencia artificial, ia para empresas y agentes IA, desde recomendadores hasta asistentes de soporte. Complementamos con servicios inteligencia de negocio y power bi para dotar de analítica avanzada y gobierno del dato a tus productos digitales. Unificamos seguridad, rendimiento y escalabilidad para que te enfoques en el valor del negocio.

Palabras clave para que sepas en qué podemos ayudarte: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Recursos recomendados para ampliar: documentación de seguridad de WPGraphQL, guía de contraseñas de aplicación de WordPress y OWASP API Security Top 10. Con estas capas implantadas, tu endpoint slash graphql quedará protegido contra accesos no autorizados y tu frontend seguirá comunicándose de forma segura y eficiente.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat