:::: MENU ::::

Cómo la IA puede hacer que (casi) te pegues un tiro en el pie y rompas la seguridad de tu servidor 🦶🔫

Café recién tirado en la taza, las diez de la mañana de un día cualquiera y me vibra el móvil. Me escribe un colega desarrollador con la moral por los suelos y un pantallazo que rezuma pura desesperación técnica.

Llevaba tres horas dándose cabezazos contra el teclado intentando hacer una simple llamada REST a la API de un Magento 2. La respuesta de Magento era un bofetón con la mano abierta:

{
  "message": "The consumer isn't authorized to access %resources.",
  "parameters": {
    "resources": "Magento_Catalog::products"
  }
}

Hasta aquí, el pan nuestro de cada día en el maravilloso y a veces masoca mundo de Magento. Lo peligroso no era el error: lo terrorífico era la deducción a la que había llegado tras consultar con su querida Inteligencia Artificial.

(Spoiler: Estuvo a dos minutos de meterle un hachazo a la configuración de Apache y PHP-FPM en producción por culpa de una alucinación teórica).

🕵️‍♂️ El informe de la IA: Matar moscas a cañonazos

El chaval, como cualquiera de nosotros cuando se nos atraganta un endpoint, le tiró el error a la IA. Y la IA —que escribe con una seguridad que ya quisiera cualquier consultor de traje caro— le montó una película de espías digna de Hollywood:

  • «Que si Apache no le pasa la cabecera Authorization a PHP-FPM y hay que meter CGIPassAuth On o directivas SetEnvIf».
  • «Que si las reglas del WAF de Cloudflare están interceptando las cabeceras».
  • «Que si PHP 8.4 se ha levantado con el pie izquierdo y toca reconfigurar el pool de FPM».

Mirad el nivel de convicción. El texto parece impecable, cargado de jerga técnica seria. Si no tienes mucha experiencia, te lo crees. Te vas a tu terminal, abres el httpd.conf o el .htaccess, tocas parámetros del servidor web, reinicias servicios… y acabas de abrir una brecha de seguridad o de tumbar la tienda en un alarde de «resolución de problemas».

¿El problema real?

La IA no tenía ni la más remota idea de cómo gestiona Magento 2 la seguridad de las integraciones.

🤦‍♂️ El interruptor que la IA ignoró

Magento 2, desde hace ya unas cuantas versiones (por pura paranoia de seguridad de Adobe, que a veces parece tu madre obligándote a llevar rebequita en agosto), viene con la autenticación basada en Bearer token desactivada de serie.

Punto. Ni Apache, ni Cloudflare, ni duendes en el kernel de Linux.

Magento simplemente ve llegar la cabecera Authorization: Bearer <token>, mira su configuración interna, ve que esa vía está chapada con candado y dice: «No sé quién eres, chaval. Este token que me pasas no te sirve para entrar aquí. Toma tu 401 y vete a llorar a la esquina».

La solución no requería tocar una sola línea de Nginx, Apache ni reiniciar PHP. Eran literalmente cuatro clics en el admin:

  1. Te vas al Admin de Magento: Stores > Configuration > Services > OAuth.
  2. Despliegas la sección Consumer Settings.
  3. Buscas el campo «Allow OAuth Access Tokens to be used as standalone Bearer tokens».
  4. Desmarcas el «Use system value», lo pones en Yes, guardas y listo.

O si eres de los míos y prefieres tirar de CLI antes que esperar a que el backoffice cargue sus quinientos scripts:

bin/magento config:set oauth/consumer/enable_integration_as_bearer 1
bin/magento cache:clean config

🤘 Menos fuegos artificiales y más conocer tus herramientas

La IA no te va a quitar el trabajo; te lo va a quitar el exceso de fe ciega en respuestas que suenan bonitas pero no pisan el fango de la realidad.

Antes de ponerte a reconfigurar la infraestructura de tu servidor o de jurar en arameo contra el proxy inverso:

  1. Entiende el ciclo de vida de la aplicación que usas. Magento tiene sus mañas, sus rarezas y sus propios cerrojos.
  2. Desconfía de las soluciones complejas para problemas iniciales. Si estás configurando un recurso básico y no conecta, el 95% de las veces es un flag tonto de configuración, no una conspiración entre el kernel y Cloudflare.
  3. Usa la IA para contrastar, no como oráculo divino.

En fin, otra tarde salvada de una catástrofe innecesaria en el servidor. Ahora me voy a terminar el café, que con tanta teoría cuántica de Apache se me ha quedado helado.

¡Mucho código limpio, un par de clics con cabeza y que el Garbage Collector os acompañe! 🤘🔥




Hey! Qué opinas sobre el artículo?