SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Los codificadores conquistan la infraestructura de seguridad como series de códigos: errores de configuración de seguridad: permisos incorrectos

Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020
Zuletzt aktualisiert am 06. März 2026

Las amenazas a la ciberseguridad en estos días son omnipresentes e incesantes. La situación ha empeorado tanto que tratar de mantenerse al día con ellos después de implementar los programas se ha vuelto casi imposible. En cambio, las organizaciones inteligentes están adoptando el concepto de infraestructura como código, mediante el cual los desarrolladores contribuyen a crear aplicaciones seguras mientras aún se están creando. El objetivo de esta serie es prepararlo para la seguridad, de modo que pueda comprender los pasos que debe seguir como desarrollador para empezar a implementar una infraestructura segura como código en su propia organización.

Los errores de configuración de seguridad, especialmente los de permisos inadecuados, ocurren con mayor frecuencia cuando un desarrollador crea un nuevo usuario o concede permiso para una aplicación como herramienta para realizar una tarea. Por ejemplo, esto podría hacerse para recopilar información de una base de datos. Sin embargo, si los permisos del nuevo usuario son demasiado altos o no están configurados 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 pones a prueba tus habilidades ahora mismo? Intente encontrar y corregir algunas vulnerabilidades de permisos incorrectas:

¿Cómo te fue? Profundicemos un poco más:

Otorgar permisos completos a un usuario o aplicación, o simplemente no molestarse en definir lo que el nuevo usuario debería poder lograr y qué comportamientos están restringidos, es sin duda la forma más rápida de implementar un nuevo código. Y si todo va perfectamente bien, la aplicación utilizará esos permisos para llevar a cabo la tarea asignada. El peligro es que un pirata informático descubra este proceso y luego comprometa a ese usuario. Aunque el usuario se creó para realizar una función específica para una aplicación en particular, si se pone en peligro, puede permitir que un atacante ponga en peligro otras aplicaciones, datos o incluso la red.

¿Cómo se aprovechan los errores de configuración de seguridad?

Para visualizar el peligro, veamos cómo a veces se codifica una tarea común en el entorno de nube de Docker. Supongamos que un desarrollador utiliza el servicio MySQL Exporter de Prometheus para recopilar información de una base de datos. La forma más sencilla de permitir que eso suceda es conceder al exportador permiso para acceder a la base de datos. Así que el código podría ser algo así como:

DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
CONCEDE TODO EL *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

Esto sin duda permitiría que el exportador pudiera cumplir su tarea. Sin embargo, debido a que los permisos no están definidos, el exportador en realidad tiene la capacidad de hacer casi cualquier cosa. Obviamente, el propio exportador nunca actuaría fuera de sus comportamientos programados. Pero, ¿qué pasaría si un atacante pudiera comprometer el servicio al exportador? En ese caso, dado que se le concedieron todos los permisos, el atacante podría realizar todo tipo de tareas no autorizadas con el servicio SQL.

Asegurar y eliminar los permisos incorrectos

Una vez más, volvemos al concepto de infraestructura como código. Si codificas la seguridad en tus aplicaciones a medida que se crean, la red siempre tendrá una posición mucho mejor en términos generales en lo que respecta a la ciberseguridad.

En el ejemplo anterior de Docker, si un desarrollador quiere que el 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:


DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
PROCESO DE CONCESIÓN, CLIENTE DE REPLICACIÓN ACTIVADO *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

En este caso, el usuario de MySQL configurado para el servicio MySQL Exporter de Prometheus solo tiene permisos restringidos sobre el servicio MySQL. En concreto, solo se permiten los privilegios PROCESS y REPLICATION CLIENT. Esto evitaría que un usuario malintencionado aprovechara un servicio exportador de Prometheus MySQL comprometido.

Restringir los permisos a nivel de código puede garantizar que los usuarios y las aplicaciones solo tengan los permisos suficientes para la tarea en cuestión. Y eso puede contribuir en gran medida a proteger sus redes y a adoptar el concepto de infraestructura como código.

Eche un vistazo a la Secure Code Warrior páginas de blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otras fallas de seguridad. También puedes prueba nuestro escaparate de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.

Siehe Ressource
Siehe Ressource

Los errores de configuración de seguridad, especialmente los de permisos inadecuados, ocurren con mayor frecuencia cuando un desarrollador crea un nuevo usuario o concede permiso para una aplicación como herramienta para realizar una tarea.

Interessiert an mehr?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Vorführung buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Las amenazas a la ciberseguridad en estos días son omnipresentes e incesantes. La situación ha empeorado tanto que tratar de mantenerse al día con ellos después de implementar los programas se ha vuelto casi imposible. En cambio, las organizaciones inteligentes están adoptando el concepto de infraestructura como código, mediante el cual los desarrolladores contribuyen a crear aplicaciones seguras mientras aún se están creando. El objetivo de esta serie es prepararlo para la seguridad, de modo que pueda comprender los pasos que debe seguir como desarrollador para empezar a implementar una infraestructura segura como código en su propia organización.

Los errores de configuración de seguridad, especialmente los de permisos inadecuados, ocurren con mayor frecuencia cuando un desarrollador crea un nuevo usuario o concede permiso para una aplicación como herramienta para realizar una tarea. Por ejemplo, esto podría hacerse para recopilar información de una base de datos. Sin embargo, si los permisos del nuevo usuario son demasiado altos o no están configurados 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 pones a prueba tus habilidades ahora mismo? Intente encontrar y corregir algunas vulnerabilidades de permisos incorrectas:

¿Cómo te fue? Profundicemos un poco más:

Otorgar permisos completos a un usuario o aplicación, o simplemente no molestarse en definir lo que el nuevo usuario debería poder lograr y qué comportamientos están restringidos, es sin duda la forma más rápida de implementar un nuevo código. Y si todo va perfectamente bien, la aplicación utilizará esos permisos para llevar a cabo la tarea asignada. El peligro es que un pirata informático descubra este proceso y luego comprometa a ese usuario. Aunque el usuario se creó para realizar una función específica para una aplicación en particular, si se pone en peligro, puede permitir que un atacante ponga en peligro otras aplicaciones, datos o incluso la red.

¿Cómo se aprovechan los errores de configuración de seguridad?

Para visualizar el peligro, veamos cómo a veces se codifica una tarea común en el entorno de nube de Docker. Supongamos que un desarrollador utiliza el servicio MySQL Exporter de Prometheus para recopilar información de una base de datos. La forma más sencilla de permitir que eso suceda es conceder al exportador permiso para acceder a la base de datos. Así que el código podría ser algo así como:

DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
CONCEDE TODO EL *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

Esto sin duda permitiría que el exportador pudiera cumplir su tarea. Sin embargo, debido a que los permisos no están definidos, el exportador en realidad tiene la capacidad de hacer casi cualquier cosa. Obviamente, el propio exportador nunca actuaría fuera de sus comportamientos programados. Pero, ¿qué pasaría si un atacante pudiera comprometer el servicio al exportador? En ese caso, dado que se le concedieron todos los permisos, el atacante podría realizar todo tipo de tareas no autorizadas con el servicio SQL.

Asegurar y eliminar los permisos incorrectos

Una vez más, volvemos al concepto de infraestructura como código. Si codificas la seguridad en tus aplicaciones a medida que se crean, la red siempre tendrá una posición mucho mejor en términos generales en lo que respecta a la ciberseguridad.

En el ejemplo anterior de Docker, si un desarrollador quiere que el 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:


DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
PROCESO DE CONCESIÓN, CLIENTE DE REPLICACIÓN ACTIVADO *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

En este caso, el usuario de MySQL configurado para el servicio MySQL Exporter de Prometheus solo tiene permisos restringidos sobre el servicio MySQL. En concreto, solo se permiten los privilegios PROCESS y REPLICATION CLIENT. Esto evitaría que un usuario malintencionado aprovechara un servicio exportador de Prometheus MySQL comprometido.

Restringir los permisos a nivel de código puede garantizar que los usuarios y las aplicaciones solo tengan los permisos suficientes para la tarea en cuestión. Y eso puede contribuir en gran medida a proteger sus redes y a adoptar el concepto de infraestructura como código.

Eche un vistazo a la Secure Code Warrior páginas de blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otras fallas de seguridad. También puedes prueba nuestro escaparate de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.

Siehe Ressource
Siehe Ressource

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte oder Themen im Zusammenhang mit sicherer Verschlüsselung zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Sie können diese nach Abschluss des Vorgangs wieder deaktivieren.

Las amenazas a la ciberseguridad en estos días son omnipresentes e incesantes. La situación ha empeorado tanto que tratar de mantenerse al día con ellos después de implementar los programas se ha vuelto casi imposible. En cambio, las organizaciones inteligentes están adoptando el concepto de infraestructura como código, mediante el cual los desarrolladores contribuyen a crear aplicaciones seguras mientras aún se están creando. El objetivo de esta serie es prepararlo para la seguridad, de modo que pueda comprender los pasos que debe seguir como desarrollador para empezar a implementar una infraestructura segura como código en su propia organización.

Los errores de configuración de seguridad, especialmente los de permisos inadecuados, ocurren con mayor frecuencia cuando un desarrollador crea un nuevo usuario o concede permiso para una aplicación como herramienta para realizar una tarea. Por ejemplo, esto podría hacerse para recopilar información de una base de datos. Sin embargo, si los permisos del nuevo usuario son demasiado altos o no están configurados 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 pones a prueba tus habilidades ahora mismo? Intente encontrar y corregir algunas vulnerabilidades de permisos incorrectas:

¿Cómo te fue? Profundicemos un poco más:

Otorgar permisos completos a un usuario o aplicación, o simplemente no molestarse en definir lo que el nuevo usuario debería poder lograr y qué comportamientos están restringidos, es sin duda la forma más rápida de implementar un nuevo código. Y si todo va perfectamente bien, la aplicación utilizará esos permisos para llevar a cabo la tarea asignada. El peligro es que un pirata informático descubra este proceso y luego comprometa a ese usuario. Aunque el usuario se creó para realizar una función específica para una aplicación en particular, si se pone en peligro, puede permitir que un atacante ponga en peligro otras aplicaciones, datos o incluso la red.

¿Cómo se aprovechan los errores de configuración de seguridad?

Para visualizar el peligro, veamos cómo a veces se codifica una tarea común en el entorno de nube de Docker. Supongamos que un desarrollador utiliza el servicio MySQL Exporter de Prometheus para recopilar información de una base de datos. La forma más sencilla de permitir que eso suceda es conceder al exportador permiso para acceder a la base de datos. Así que el código podría ser algo así como:

DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
CONCEDE TODO EL *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

Esto sin duda permitiría que el exportador pudiera cumplir su tarea. Sin embargo, debido a que los permisos no están definidos, el exportador en realidad tiene la capacidad de hacer casi cualquier cosa. Obviamente, el propio exportador nunca actuaría fuera de sus comportamientos programados. Pero, ¿qué pasaría si un atacante pudiera comprometer el servicio al exportador? En ese caso, dado que se le concedieron todos los permisos, el atacante podría realizar todo tipo de tareas no autorizadas con el servicio SQL.

Asegurar y eliminar los permisos incorrectos

Una vez más, volvemos al concepto de infraestructura como código. Si codificas la seguridad en tus aplicaciones a medida que se crean, la red siempre tendrá una posición mucho mejor en términos generales en lo que respecta a la ciberseguridad.

En el ejemplo anterior de Docker, si un desarrollador quiere que el 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:


DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
PROCESO DE CONCESIÓN, CLIENTE DE REPLICACIÓN ACTIVADO *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

En este caso, el usuario de MySQL configurado para el servicio MySQL Exporter de Prometheus solo tiene permisos restringidos sobre el servicio MySQL. En concreto, solo se permiten los privilegios PROCESS y REPLICATION CLIENT. Esto evitaría que un usuario malintencionado aprovechara un servicio exportador de Prometheus MySQL comprometido.

Restringir los permisos a nivel de código puede garantizar que los usuarios y las aplicaciones solo tengan los permisos suficientes para la tarea en cuestión. Y eso puede contribuir en gran medida a proteger sus redes y a adoptar el concepto de infraestructura como código.

Eche un vistazo a la Secure Code Warrior páginas de blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otras fallas de seguridad. También puedes prueba nuestro escaparate de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den untenstehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht anzeigenEine Vorführung buchen
Siehe Ressource
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Las amenazas a la ciberseguridad en estos días son omnipresentes e incesantes. La situación ha empeorado tanto que tratar de mantenerse al día con ellos después de implementar los programas se ha vuelto casi imposible. En cambio, las organizaciones inteligentes están adoptando el concepto de infraestructura como código, mediante el cual los desarrolladores contribuyen a crear aplicaciones seguras mientras aún se están creando. El objetivo de esta serie es prepararlo para la seguridad, de modo que pueda comprender los pasos que debe seguir como desarrollador para empezar a implementar una infraestructura segura como código en su propia organización.

Los errores de configuración de seguridad, especialmente los de permisos inadecuados, ocurren con mayor frecuencia cuando un desarrollador crea un nuevo usuario o concede permiso para una aplicación como herramienta para realizar una tarea. Por ejemplo, esto podría hacerse para recopilar información de una base de datos. Sin embargo, si los permisos del nuevo usuario son demasiado altos o no están configurados 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 pones a prueba tus habilidades ahora mismo? Intente encontrar y corregir algunas vulnerabilidades de permisos incorrectas:

¿Cómo te fue? Profundicemos un poco más:

Otorgar permisos completos a un usuario o aplicación, o simplemente no molestarse en definir lo que el nuevo usuario debería poder lograr y qué comportamientos están restringidos, es sin duda la forma más rápida de implementar un nuevo código. Y si todo va perfectamente bien, la aplicación utilizará esos permisos para llevar a cabo la tarea asignada. El peligro es que un pirata informático descubra este proceso y luego comprometa a ese usuario. Aunque el usuario se creó para realizar una función específica para una aplicación en particular, si se pone en peligro, puede permitir que un atacante ponga en peligro otras aplicaciones, datos o incluso la red.

¿Cómo se aprovechan los errores de configuración de seguridad?

Para visualizar el peligro, veamos cómo a veces se codifica una tarea común en el entorno de nube de Docker. Supongamos que un desarrollador utiliza el servicio MySQL Exporter de Prometheus para recopilar información de una base de datos. La forma más sencilla de permitir que eso suceda es conceder al exportador permiso para acceder a la base de datos. Así que el código podría ser algo así como:

DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
CONCEDE TODO EL *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

Esto sin duda permitiría que el exportador pudiera cumplir su tarea. Sin embargo, debido a que los permisos no están definidos, el exportador en realidad tiene la capacidad de hacer casi cualquier cosa. Obviamente, el propio exportador nunca actuaría fuera de sus comportamientos programados. Pero, ¿qué pasaría si un atacante pudiera comprometer el servicio al exportador? En ese caso, dado que se le concedieron todos los permisos, el atacante podría realizar todo tipo de tareas no autorizadas con el servicio SQL.

Asegurar y eliminar los permisos incorrectos

Una vez más, volvemos al concepto de infraestructura como código. Si codificas la seguridad en tus aplicaciones a medida que se crean, la red siempre tendrá una posición mucho mejor en términos generales en lo que respecta a la ciberseguridad.

En el ejemplo anterior de Docker, si un desarrollador quiere que el 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:


DE mysql:latest
COPIAR. /scripts/create_users.sh /docker-entrypoint-initdb.d/
USUARIO 999
CREAR USUARIO EXPORTADOR@% IDENTIFICADO POR $EXPORTER_PASSWORD;
PROCESO DE CONCESIÓN, CLIENTE DE REPLICACIÓN ACTIVADO *.* AL EXPORTADOR@%;
OTORGUE SELECT ON performance_schema.* AL EXPORTADOR@%;

En este caso, el usuario de MySQL configurado para el servicio MySQL Exporter de Prometheus solo tiene permisos restringidos sobre el servicio MySQL. En concreto, solo se permiten los privilegios PROCESS y REPLICATION CLIENT. Esto evitaría que un usuario malintencionado aprovechara un servicio exportador de Prometheus MySQL comprometido.

Restringir los permisos a nivel de código puede garantizar que los usuarios y las aplicaciones solo tengan los permisos suficientes para la tarea en cuestión. Y eso puede contribuir en gran medida a proteger sus redes y a adoptar el concepto de infraestructura como código.

Eche un vistazo a la Secure Code Warrior páginas de blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otras fallas de seguridad. También puedes prueba nuestro escaparate de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.

Inhaltsverzeichnis

PDF herunterladen
Siehe Ressource
Interessiert an mehr?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior hier, um Ihrem Unternehmen dabei zu helfen, den Code während des gesamten Lebenszyklus der Softwareentwicklung zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie AppSec-Administrator, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Vorführung buchenHerunterladen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen für den Einstieg

Weitere Veröffentlichungen
Ressourcenzentrum

Ressourcen für den Einstieg

Weitere Veröffentlichungen