Llegamos a ustedes gracias a:



Reportajes y análisis

Guía rápida para la gestión de secretos en la empresa

[26/08/2022] El escenario TI empresarial de hoy se caracteriza por la continua transformación digital y la generación de datos en proporciones épicas. Dado que el trabajo remoto y móvil es la nueva norma en el mundo postpandemia, la movilidad y la agilidad se han convertido en impulsores esenciales de la continuidad del negocio en la empresa.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

En un esfuerzo por automatizar e integrar todas las funciones de negocio posibles, centralizar y acelerar el flujo de datos e información, mejorar la productividad y proporcionar una mejor experiencia al cliente, las organizaciones están creando entornos de DevOps ágiles con complejos modelos operativos híbridos y multinube.

Sin embargo, con una gran movilidad y datos oportunos viene una gran responsabilidad. Las empresas se enfrentan a desafíos cada vez mayores para mantener seguros los datos, los servicios y la información de identificación personal (PII). A pesar de los avances en tecnología, seguimos viendo un número récord de robo de datos año tras año.

¿Cómo evolucionan las empresas sus métodos de almacenamiento, gestión y protección de datos para garantizar que los empleados tengan una forma sencilla de acceder a los recursos digitales al tiempo que refuerzan la seguridad de toda la infraestructura de TI?

La respuesta está en la gestión eficaz de secretos.

¿Qué es la gestión de secretos y por qué es necesaria?

La gestión de secretos es el conjunto apropiado de herramientas y mejores prácticas utilizadas para almacenar, acceder y administrar de forma segura las credenciales de autenticación digital (o "secretos) durante todo su ciclo de vida. Los secretos son elementos de los datos utilizados en la autenticación y autorización, que incluyen contraseñas, claves de cifrado públicas y privadas, claves SSH, API, tokens y certificados. Tanto las máquinas como los humanos usan secretos para autenticarse y comunicarse.

Pero ¿por qué necesita usted una gestión de los secretos en primer lugar?

"Ahora que todos han cambiado a una infraestructura multinube híbrida y dependen de la contenedorización de las aplicaciones, la necesidad de que tanto las máquinas como las personas accedan continuamente a los sistemas y datos ha crecido sustancialmente. Por ejemplo, cada vez más aplicaciones deben acceder continuamente a diferentes fuentes de datos, servicios de nube y servidores, a menudo con diferentes tipos de credenciales necesarias para cada recurso. Esto ha creado una necesidad exponencial de secretos durante todo el proceso de DevOps, explica Oded Hareven, CEO y cofundador de Akeyless, una herramienta de gestión de secretos basada en SaaS.

Lo que lo hace complicado es que los desarrolladores frecuentemente codifican varios secretos en códigos de aplicación o microservicios, scripts, herramientas de automatización y repositorios de código, todos en distintas infraestructuras. Peor aún, estos códigos se encuentran en diferentes etapas de desarrollo, con lo cual existe el riesgo de que no sean bien gestionados y protegidos. El resultado es una ausencia general de control e integración de los secretos, lo que conduce a lo que en los círculos de seguridad se conoce como una "dispersión de secretos.

El problema no acaba allí. Por su naturaleza, se requiere de los secretos guardados en plataformas en la nube que realizan integración continua/entrega continua (CI/CD), para gestionar y permitir el acceso a otras máquinas y software. Para ello, necesitan almacenar secretos y claves de firma (utilizados para sellar el código y las actualizaciones de software), que con frecuencia se almacenan en lugares no seguros, como la computadora portátil de un desarrollador o un servidor de compilación.

La dispersión de secretos no solo dificulta el seguimiento y la gestión de las credenciales, sino que también las hace vulnerables al hacking. De hecho, las credenciales robadas representan casi la mitad de todos los robos de datos, según un informe de Verizon.

Muchos hacks recientes, incluyendo los hacks en la cadena de abastecimiento de software, aprovechan los secretos que se han colocado en el código, que nuevamente se almacena en repositorios de fácil acceso como GitHub. De hecho, GitHub detectó recientemente más de 700 mil posibles robos de credenciales en miles de repositorios privados, listos para que alguien se los lleve.

Los ejemplos siguen llegando. Un ataque a la cadena de abastecimiento de software recientemente expuesto secuestró conocidas bibliotecas de PHP y Python para robar las claves de AWS. En otro caso, se descubrió que un servicio de uso común que ayuda a los desarrolladores de código abierto a escribir y probar software está filtrando miles de tokens de autenticación y otros secretos, lo que permite a los hackers acceder a las cuentas privadas de los desarrolladores en Docker, GitHub, AWS y otros repositorios de código.

Pero ¿no hay un millón de métodos ya disponibles para proteger contraseñas, claves y otras credenciales, se pregunta?

Sí hay. Y eso es parte del problema.

Los desafíos en la gestión de los secretos

Hay una considerable ineficiencia y duplicación en las soluciones de seguridad actuales cuando se trata de gestionar secretos. Algunos de estos desafíos son:

Dispersión de los secretos: El mundo se está moviendo del on premises a la nube, al igual que los secretos. Los tres grandes proveedores de servicios en la nube (y otros) ofrecen sus propias soluciones de gestión de secretos, que la mayoría de las empresas aceptan por defecto, simplemente por falta de una solución mejor: ¿qué podría ser más seguro que la propia plataforma del proveedor?

Pero ahora que la arquitectura híbrida multinube toma protagonismo (es el único modelo operativo de TI cuya adopción está creciendo), la mayoría de los equipos de DevOps se encuentran lidiando con múltiples entornos repletos de microservicios y contenedores para diferentes cargas de trabajo. Estos a su vez tienen miles de componentes de máquina a máquina que se comunican entre sí, lo que conduce a un número impresionante de claves, fichas y otros secretos en circulación.

La explosión y descentralización de los secretos es una enorme carga operativa para los administradores y los profesionales de DevOps. Las innumerables soluciones de nube y virtualización disponibles hoy en día permiten a los usuarios crear y destruir máquinas virtuales y aplicaciones a gran escala. Vale decir que cada una de estas instancias de máquinas virtuales viene con su propio conjunto de secretos que necesitan ser administrados. Además, las claves SSH por sí solas pueden sumar millones en las organizaciones empresariales. Aparte de eso, los trabajos de Ansible, los contenedores de Kubernetes y las rutinas diarias de lotes tienden a tener contraseñas que necesitan rotación.

Todos estos sistemas no pueden acceder a recursos de seguridad externos a su entorno. No hay un plano de control unificado que pueda ayudarle a gestionar múltiples repositorios de secretos almacenados en diferentes plataformas.

Visibilidad insuficiente: Los secretos estáticos localizados en diferentes entornos (como la nube, on premises, el borde o híbridos) son gestionados por diferentes individuos, equipos y administradores, creando "islas de secretos. Esto conduce inevitablemente a desafíos de auditoría y brechas de seguridad.

Complejidad de las soluciones de bóveda: Debido a la gran cantidad de herramientas y plataformas tradicionales y legadas (tanto DevOps como no DevOps) y la gran cantidad de extensiones para cada una de ellas, las soluciones de bóveda on premises no funcionan bien en muchos casos. Además, es difícil configurar bóvedas de acuerdo con la infraestructura de red, almacenamiento y cómputo subyacentes en un entorno híbrido. La necesidad de actualizaciones frecuentes solo aumenta la complejidad de las bóvedas on premise.

Las bóvedas basadas en la nube no son mejores. Una gran señal de alarma es que estos productos son propietarios del proveedor, y solo admiten cargas de trabajo que se ejecutan dentro de su propio entorno y ecosistema, por lo que, de nuevo, no son adecuadas para arquitecturas de nube híbrida. Incluso si utiliza solo un proveedor de nube principal, un entorno multinube, solo conduce a la dispersión de bóvedas. Otra preocupación es que sus claves maestras se compartan con su proveedor de nube. Esto significa que un administrador corrupto, un hacker o una agencia gubernamental podría acceder a ellos y estaría indefenso.

La solución perfecta para la gestión de secretos...

Podría no existir. Pero eso no significa que no pueda crear políticas infalibles de administración de identidad y acceso (IAM) que mantengan a su empresa a salvo de cada amenaza conocida y de cada tipo de amenaza conocido.

IAM es el nuevo perímetro, es fundamental para una estrategia de seguridad moderna. Debido al aumento en la automatización y el número de cargas de trabajo dinámicas que fluctúan con la demanda, cada día se vuelve más complejo validar la identidad (autenticación) de los usuarios humanos y de la máquina, y justificar su necesidad de acceder al recurso (autorización).

Además, la naturaleza de la autenticación está cambiando constantemente. Los módulos de aplicación y base de datos ya no se limitan a un gran bloque de código como solían ser. Más bien, son una integración compleja y dinámica de microservicios y subcomponentes, cada uno de los cuales tiene su propio proceso de autenticación.

A continuación, lo que las empresas que operan en un entorno multinube o tienen una mezcla híbrida de sistemas de nube locales, privados y públicos deben buscar en una plataforma o solución de gestión de secretos:

Funciona en configuraciones híbridas, multinube y multilocales: Este es quizás el factor más esencial para las empresas. Siempre que sea posible, elija una plataforma que se integre perfectamente con flujos de trabajo interplataformas e interentornos utilizando tecnología nativa de la nube. Su solución de gestión de secretos debe ser compatible con la autenticación y verificación de máquina a máquina habilitada para IAM y de persona a máquina para diferentes tipos de secretos, como certificados SSH, claves API, certificados x.509, claves de cifrado, etcétera, para ejecutar el compliance continuo de seguridad.

Funciona con diferentes protocolos, lenguajes y dispositivos de autenticación: Es importante que su herramienta de gestión de secretos admita la autenticación humana, de hardware y de software a través de proveedores de identidad externos a través de todas las interfaces principales, (ciertamente) incluyendo una línea de comandos, GUI, REST API y SDK para los lenguajes principales. Vale decir que debería facilitar los secretos dinámicos, e integrarse con plataformas comunes basadas en la nube como Docker, Kubernetes, Terraform, Ansible y Jenkins para lograr operaciones de DevOps sin interrupciones.

Luego está la cuestión de la escala. Si desea crecer a "escala de nube y expandir su infraestructura geográfica o tecnológica, debe poder escalar sus capacidades de gestión de secretos para admitir todas las herramientas y plugins existentes y futuros.

Se puede gestionar a través de una plataforma SaaS unificada: Los equipos de seguridad de hoy necesitan visibilidad y control centralizados de la autenticación para todos los usuarios, aplicaciones y dispositivos en todos los entornos utilizados por la organización. "Lo que se necesita ahora es una herramienta intuitiva de gestión de secretos basada en SaaS con visibilidad en tiempo real de cada caso de uso de un secreto, registro de auditoría y análisis robusto, de acuerdo con todos los jefes de seguridad con los que he hablado, afirma Hareven.

Resuelve el problema del secreto cero y aplica el modelo de confianza cero: La gestión de contraseñas es una función común en estos días. Una persona puede tener una hoja de cálculo o un documento en el que almacena todas las contraseñas de las diversas aplicaciones o paneles de control que utiliza. Sin embargo, para abrir esta hoja de cálculo, probablemente tendrían otra contraseña. Y también necesitarían credenciales de usuario para iniciar sesión en el sistema operativo y acceder a la hoja de cálculo. Multiplique este escenario por los interminables tipos de secretos que tiene hoy en día, y obtendrá el problema del "cero secretos.

Su solución de gestión de secretos debe proporcionarle un conjunto de credenciales iniciales con un token o clave temporal para la autenticación continua en la máquina principal para que el "cero secretos nunca se vea comprometido.

Esto cae dentro de la premisa de la arquitectura de confianza cero (ZTA), que sigue el principio de privilegio mínimo (PoLP), bajo el cual a los usuarios y aplicaciones se les otorga acceso "justo a tiempo, y detallado a un número específico de recursos por un período de tiempo específico, solo después de "justificar su solicitud al administrador. Estos privilegios se otorgan dinámicamente y caducan automáticamente después del período de tiempo preestablecido.

Guarde sus secretos

La plataforma de gestión de secretos ideal fortalece la DevOps, la migración a la nube y la transformación digital en la empresa al permitir que diferentes equipos accedan a los recursos que necesitan y gestionen sus secretos de forma autónoma. Con una solución entregada "como servicio desde la nube, puede reducir los gastos generales de mantenimiento, mejorar la disponibilidad y escalar sus operaciones para cumplir sus objetivos de crecimiento organizacional.

Puede ver también: