Serie de Infraestructura como Código de Coders Conquer Security: Configuración de seguridad incorrecta - Permisos inadecuados

Las amenazas a la ciberseguridad son hoy en día omnipresentes e implacables. La situación es tan grave que intentar hacerles frente una vez que los programas están desplegados se ha vuelto casi imposible. Por ello, las organizaciones inteligentes están adoptando el concepto de infraestructura como código, donde los desarrolladores contribuyen a crear aplicaciones seguras desde su concepción. Esta serie tiene como objetivo prepararle en seguridad para que comprenda los pasos que puede seguir como desarrollador para empezar a desplegar infraestructura como código segura en su propia organización.
Las configuraciones de seguridad incorrectas, especialmente las relacionadas con permisos inadecuados, suelen ocurrir cuando un desarrollador crea un nuevo usuario o concede permisos a una aplicación como herramienta para realizar una tarea. Por ejemplo, esto podría hacerse para recopilar información de una base de datos. Pero si los permisos del nuevo usuario se establecen demasiado altos, o no se configuran de forma predeterminada para la tarea en cuestión, se puede introducir una vulnerabilidad grave en el código.
Antes de empezar, ¿por qué no pone a prueba sus habilidades ahora mismo? Intente encontrar y corregir algunas vulnerabilidades de permisos inadecuados:
¿Cómo le ha ido? Profundicemos un poco más:
Otorgar a un usuario o aplicación permisos totales, o simplemente no molestarse en definir qué debería poder hacer el nuevo usuario y qué comportamientos están restringidos, es sin duda la forma más rápida de implementar código nuevo. Y si todo sale a la perfección, la aplicación utilizará esos permisos para realizar su tarea asignada. El peligro es que un hacker descubra este proceso y comprometa a ese usuario. Aunque el usuario se haya creado para una función específica de una aplicación concreta, si se ve comprometido, puede permitir que un atacante ponga en peligro otras aplicaciones, datos o incluso la red.
¿Cómo se explotan las configuraciones de seguridad incorrectas?
Para visualizar el peligro, veamos cómo se codifica a veces una tarea común dentro del entorno en la nube de Docker. Supongamos que un desarrollador utiliza el servicio Prometheus MySQL Exporter para recopilar información de una base de datos. La forma más sencilla de permitir que esto suceda es conceder al exportador permiso para acceder a la base de datos. Por lo tanto, el código podría ser algo así:
FROM mysql:latest
COPY ./scripts/create_users.sh /docker-entrypoint-initdb.d/
USER 999
CREATE USER exporter@% IDENTIFIED BY $EXPORTER_PASSWORD;
GRANT ALL ON *.* TO exporter@%;
GRANT SELECT ON performance_schema.* TO exporter@%;
Esto permitiría sin duda que el exportador cumpliera su tarea. Sin embargo, como los permisos no están definidos, el exportador tiene en realidad la capacidad de hacer casi cualquier cosa. Obviamente, el exportador nunca actuaría fuera de sus comportamientos programados. Pero, ¿qué pasaría si un atacante lograra comprometer el servicio del exportador? En ese caso, al haber recibido permisos totales, el atacante podría realizar todo tipo de tareas no autorizadas con el servicio SQL.
Asegurar y eliminar permisos inadecuados
Aquí volvemos a recurrir al concepto de infraestructura como código. Si integra la seguridad en sus aplicaciones a medida que se crean, la red siempre estará en una posición mucho mejor en lo que respecta a la ciberseguridad.
En el ejemplo de Docker anterior, si un desarrollador quiere que Prometheus MySQL Exporter pueda consultar una base de datos, puede hacerlo de forma más segura definiendo lo que se le debe permitir realizar. Un buen ejemplo de esto sería:
FROM mysql:latest
COPY ./scripts/create_users.sh /docker-entrypoint-initdb.d/
USER 999
CREATE USER exporter@% IDENTIFIED BY $EXPORTER_PASSWORD;
GRANT PROCESS, REPLICATION CLIENT ON *.* TO exporter@%;
GRANT SELECT ON performance_schema.* TO exporter@%;
En este caso, el usuario de MySQL configurado para el servicio Prometheus MySQL Exporter solo tiene permisos restringidos sobre el servicio MySQL. Específicamente, solo se permiten los privilegios PROCESS y REPLICATION CLIENT. Esto evitaría que un usuario malintencionado se aproveche de un servicio Prometheus MySQL Exporter comprometido.
Restringir los permisos a nivel de código puede garantizar que los usuarios y las aplicaciones solo tengan los permisos necesarios para la tarea en cuestión. Y eso puede contribuir en gran medida a proteger sus redes y adoptar el concepto de infraestructura como código.
Consulte las páginas del blog de Secure Code Warrior para obtener más información sobre esta vulnerabilidad y cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puede probar nuestra demostración de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.
Controle el desarrollo impulsado por IA antes de su lanzamiento
Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).
Explorar más blogs
Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

Una cultura de seguridad: cómo Sage creó su programa de defensores
Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores
La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro
IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial
Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Habilitador 8: Branding de su programa
Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.
.avif)
Cada empleado está ahora en la primera línea de la ciberseguridad de la IA
El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.
Proteja el desarrollo basado en IA antes de su lanzamiento
Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.