Si su empresa está adoptando un modelo de DevSecOps, con seguridad busca gestionar las identidades y los secretos que las maquinas generan, para hacerlo de forma eficiente requerirá un enfoque simplificado que le ayude a su equipo a reducir la complejidad.
Recuerde que la gestión de secretos es el proceso de almacenar y gestionar de forma segura la información confidencial, como contraseñas, claves APIs y otras credenciales para acceder a aplicaciones que permiten que pueda hacer uso de ellas de forma segura.
Este proceso debe de tener en cuenta pasos fundamentales, tales como:
- La identificación
No se puede controlar algo que no se sabe que se tiene, así que lo primero que tendrá que hacer es ubicar todos los secretos que se deben de proteger en todos los recursos que cuenta su organización.
- El almacenamiento seguro
Para guardar la información deberá de seleccionar un método seguro con fuentes de controles de acceso y cifrado.
- El cifrado de la información
Lo anterior para que nadie pueda acceder a sus secretos de forma fácil y hacer uso de ellos de forma segura.
- El control de acceso
Se refiere a los permisos que deberá dar a su equipo para ver o modificar esta información, los que deberán de ser muy controlados y se pueden usar funciones de (RBAC) o una autenticación multifactor (MFA). Esto ayuda a garantizar que sólo el personal autorizado pueda acceder a la información sensible.
- La supervisión
En los entornos cambiantes será necesario que audite constantemente el proceso para garantizar que todo se esté cumpliendo de forma cabal.
Asimismo, en la gestión de secretos deberá de considerar la aplicación de políticas que le permitan tener un mejor control, así como registrar su proceso, lo que ayudará a minimizar el riesgo de una violación de seguridad, al mismo tiempo que tendrá una guía de acción que los equipos de desarrollo pueden seguir para incurrir en los menos errores posibles.
En general, la gestión eficaz de secretos es un aspecto crítico de la seguridad de su información y requiere una combinación de almacenamiento seguro, controles de acceso y supervisión continua para garantizar la protección de la información sensible.
El complejo escenario de los equipos de desarrollo
Uno de los principales retos que deberá considerar es que el escenario, que con mucha seguridad, tendrá que lidiar su equipo de desarrollo es diverso y cada vez más se vuelve más complejo. Por ello, a continuación puntualizamos algunas de las cuestiones que deberá de considerar:
- Las constantes actualizaciones que hacen los sistemas de seguridad.
- Las constantes implementaciones de código que se van añadiendo.
- Implementaciones a alta escala velocidad con la que hacen los desarrollos de aplicaciones.
- La gran cantidad de las identidades de máquinas.
- La delimitación adecuada de privilegios en los equipos de desarrollo.
- Un tipo descentralizado del almacenaje de los secretos.
Recomendaciones para la gestión de secretos
Es importante que no pierda de vista que la gestión de secretos es más segura si se gestiona de modo centralizado y la controla la forma en la que se accede a ellos. Asimismo, es importante optimizar y automatizar los procesos para gestionar los secretos.
A continuación, le compartimos las recomendaciones que nos hace la empresa CyberArk, especialista en el tema, referente al proceso de gestión de secretos:
- Autenticar todas las solicitudes de acceso que utilicen credenciales no humanas.
- Implementar el principio del mínimo privilegio.
- Aplicar el control de acceso basado en roles (RBAC) y rotar regularmente los secretos y credenciales.
- Automatizar la gestión de los secretos y aplicar políticas de acceso coherentes.
- Realizar un seguimiento de todos los accesos y mantener una auditoría completa.
- Eliminar los secretos del código, los archivos de configuración y otras áreas desprotegidas.
Los casos de uso
De acuerdo con la CyberArk los casos más comunes para la gestión de secretos son:
- Protección de procesos CI/CD
Cuando haga uso de herramientas tales como, Jenkins, Ansible, que sirven para el aprovisionamiento del ambiente en el que vive una aplicación y el despliegue de la misma, o con el uso de otras para poder ser más eficientes y veloces, las cuales requieren acceso a bases de datos, recursos de la red o servicios HTTP. Al ser herramientas que dentro de su código fuente contiene estos accesos requieren ser asegurados.
- Para la protección de contenedores
Cuando su equipo de desarrolladores haga uso de los contenedores en sus desarrollos será necesario que piensen en la protección de los secretos para acceder a información crítica y sensible. Con la gestión de secretos tendrá mayor control en la autenticación de las solicitudes y gestionará los secretos con políticas RBAC, tal como lo recomienda CyberArk.
- Para administrar entornos elásticos y de escalado automático
En entornos de nube y la escalabilidad automática de sus recursos es necesario que aplique un control e implemente buenas prácticas. De hecho, puede establecer que estás prácticas se generen de forma automatizada.
- Aplicaciones desarrolladas internamente y las aplicaciones COTS
En aquellas aplicaciones que son desarrolladas con diferentes herramientas requerirá que se les apliquen políticas de seguridad para poder implementar altos niveles de acceso con privilegios. Dentro de estas mejores prácticas se debe de eliminar las credenciales del código fuente de las aplicaciones.
Para mayor información consulte a uno de nuestros expertos, ellos podrán asesorarlo en su proceso de gestión de secretos.
Escríbanos a [email protected]