Meta tiene un plazo para abordar las preocupaciones de la UE sobre el modelo de ‘Pagar o Consentir’
Meta tiene un plazo para abordar las preocupaciones de la UE sobre el modelo...
En el corazón de cada aplicación hay secretos: credenciales que permiten la comunicación entre humanos y máquinas, y entre máquinas. Las identidades de las máquinas superan en número a las identidades humanas en una proporción de 45 a 1 y representan la mayoría de los secretos que debemos proteger. Según una investigación reciente de CyberArk, el 93% de las organizaciones sufrieron dos o más brechas relacionadas con la identidad en el último año. Es evidente que debemos abordar este problema en crecimiento. Además, muchas organizaciones están de acuerdo con usar credenciales en texto plano para estas identidades en repositorios privados, pensando que se mantendrán privadas. Sin embargo, una mala higiene en el código privado conduce a filtraciones públicas, como vemos con demasiada frecuencia en las noticias. Dada la magnitud del problema, ¿qué podemos hacer?
Lo que realmente necesitamos es un cambio en nuestros procesos, especialmente en torno a la creación, almacenamiento y manejo de identidades de máquinas. Afortunadamente, hay un camino claro a seguir, que combina soluciones existentes de gestión de secretos y herramientas de detección y remediación de secretos, todo mientras se adapta a los desarrolladores en su entorno de trabajo.
Cuando pensamos en remediar el problema de la identidad de las máquinas, también conocido como dispersión de secretos, podemos resumir el problema en un par de oraciones.
«Tenemos un número desconocido de secretos válidos en texto plano y de larga duración dispersos en nuestro código, configuraciones, pipelines de CI, sistemas de gestión de proyectos y otras fuentes, que no podemos contabilizar y sin una estrategia coherente de rotación. Mientras tanto, los desarrolladores continúan trabajando con secretos en texto plano ya que es una forma confiable, aunque problemática, de hacer que la aplicación funcione.»
Reflexionando sobre esta definición de trabajo, podemos hacer un plan en varios pasos para abordar cada preocupación.
Puedes abordar este proceso paso a paso, tratándolo como un despliegue gradual. Antes de que te des cuenta, estarás mucho más cerca de eliminar la dispersión de secretos y asegurar todas tus identidades de máquina.
El primer problema que enfrenta cada equipo al intentar controlar la dispersión de secretos es determinar qué secretos tienen en realidad. Un esfuerzo de búsqueda manual para rastrear secretos desconocidos rápidamente abrumaría a cualquier equipo, pero afortunadamente existen herramientas de escaneo de secretos, como la de GitGuardian, que pueden automatizar este proceso y proporcionar información detallada crucial. Desde una plataforma estable, deberías ofrecer un canal de comunicación para colaborar con los desarrolladores en la remedición de estos problemas.
Central para cualquier estrategia efectiva de gestión de secretos es cómo se almacenan y utilizan los secretos. Las bóvedas empresariales permiten contabilizar todos los secretos conocidos de manera transparente, encriptándolos en reposo y en tránsito. Una buena solución de bóveda incluye Conjure de Cyberark y Hashicorp Vault Enterprise. Si toda tu infraestructura proviene del mismo proveedor, como AWS o GCP, también son opciones muy buenas.
La gestión de secretos históricamente ha quedado en manos de los desarrolladores para resolver, lo que ha llevado a una amplia variedad de soluciones como archivos `.env` y, lamentablemente, la inserción de secretos directamente en el código. Utilizar una solución de bóveda centralizada proporciona a los desarrolladores una forma consistente de invocar de manera segura las credenciales desde sus aplicaciones en todos los entornos. Si puedes ofrecer un enfoque estandarizado que sea tan fácil de implementar como lo que están haciendo actualmente, muchos desarrolladores estarán dispuestos a adoptarlo para asegurar que sus despliegues no se vean bloqueados por problemas de seguridad.
También es importante considerar el concepto de «shifting left» (mover hacia la izquierda). Herramientas de línea de comandos, como ggshield, permiten a los desarrolladores agregar ganchos automáticos de Git para escanear credenciales en texto plano antes de realizar cualquier confirmación. Detener un secreto antes de que llegue a un commit significa evitar problemas futuros y resolver el problema en el punto menos costoso del ciclo de vida de desarrollo de software.
También necesitas una forma de contemplar la realidad de que a veces ocurren accidentes. Es necesario un monitoreo continuo para detectar cualquier nuevo problema que surja cuando los desarrolladores existentes cometan un error o cuando nuevos equipos o subcontratistas sean contratados y aún no conozcan tus procesos. Así como al realizar la detección inicial de secretos, utilizar una plataforma que recopile la información en incidentes coherentes te ayudará a responder rápidamente a estos nuevos problemas. Por ejemplo, GitGuardian se integra a nivel del repositorio de código para detectar nuevas credenciales en texto plano en cuestión de segundos, automáticamente en cada push o comentario.
Si un atacante encuentra un secreto válido, eso facilita mucho su trabajo, ya que pueden desbloquear cualquier puerta que encuentren. Si ese mismo atacante encuentra un secreto inválido, no pueden hacer mucho con él. Con una bóveda centralizada en su lugar, puedes implementar planes de rotación automática. La mayoría de las plataformas y servicios modernos tienen una manera de generar nuevas credenciales a través de una llamada API y una manera de invalidar secretos existentes. Con un poco de script, siguiendo una de las muchas guías proporcionadas por plataformas como AWS o CyberArk, es posible automatizar el reemplazo seguro de cualquier credencial en un horario regular, incluso diariamente.
El mejor momento para abordar los problemas relacionados con la seguridad de los secretos de extremo a extremo es ahora mismo. Si aún no tienes un plan de acción establecido, hoy es el mejor momento para comenzar esas conversaciones. Empieza haciendo preguntas como «¿Qué secretos tenemos?» o «¿Tenemos una bóveda en su lugar?» En última instancia, debemos capacitar a los desarrolladores con flujos de trabajo y directrices que les permitan centrarse en su flujo de desarrollo.
Mantenerse vigilante para descubrir nuevos secretos y tratarlos de inmediato es un proceso continuo. Requerirá esfuerzo, incluyendo la concienciación y la adopción de los procesos y tecnologías adecuadas, pero cualquier empresa puede tener un mejor control sobre las identidades de las máquinas y los secretos, de extremo a extremo, en toda la organización.
Meta tiene un plazo para abordar las preocupaciones de la UE sobre el modelo...
Expertos descubren una red de delincuencia cibernética china detrás de actividades de juego y...
Google abandona el plan de eliminar gradualmente las cookies de terceros en Chrome Luis...