Fotolia
Use herramientas de gestión de secretos para centralizar el control de seguridad
La gestión incorrecta de los secretos deja a las organizaciones de TI vulnerables a los ataques. Un repositorio de secretos puede ayudar, pero requiere compromiso, junto con la voluntad de cambiar los flujos de trabajo y procesos existentes.
Uno de los mayores desafíos de seguridad para las organizaciones de TI es el almacenamiento y el acceso a secretos, incluidas las contraseñas, los certificados y las claves API. Estos secretos protegen aplicaciones, sistemas y datos empresariales.
En TI, las máquinas dependen cada vez más de secretos para integrar diversos sistemas o admitir la interoperabilidad entre aplicaciones. Esta tendencia ha llevado a la «expansión de secretos», donde las empresas almacenan secretos en ubicaciones variadas, como archivos de texto sin formato, sistemas de gestión de configuración y bases de datos, y acceden a ellos de manera inconsistente. Esto dificulta que los equipos de TI rastreen y administren secretos, lo que, con el tiempo, puede representar serias amenazas de seguridad.
Un nuevo grupo de herramientas, como HashiCorp Vault, GitHub Actions y AWS Secrets Manager, centralizan y organizan secretos para reforzar la postura de seguridad de una organización.
El objetivo de la gestión de secretos
Si los administradores no conocen la ubicación exacta de los secretos o cómo están protegidos, es difícil confiar en el monitoreo y el registro para identificar posibles amenazas.
A la luz de estos desafíos, las organizaciones reexaminan cómo organizan, usan y protegen los secretos. Las herramientas de administración de secretos almacenan y controlan el acceso a una variedad de secretos, incluidas contraseñas, certificados, tokens y claves de cifrado; esto permite a los equipos de TI controlar de forma centralizada los secretos a través de políticas comerciales. Los administradores pueden implementar repositorios de secretos localmente como un servicio para soportar el centro de datos y la infraestructura de la nube pública.
Hay varios usos comunes para las herramientas de gestión de secretos. En su forma más simple, estas herramientas almacenan secretos comerciales en una ubicación designada para evitar la expansión de los secretos y proporcionar un control centralizado. También pueden almacenar credenciales de empleados o usuarios para aplicaciones y servicios, y registrar el uso de secretos, lo que hace posible que los administradores revisen o auditen el acceso a secretos específicos.
Los repositorios de secretos admiten cada vez más el uso de secretos dinámicos o temporales: una clave API para scripts, por ejemplo, que se crea durante la duración de un script y luego se elimina o se revoca. Esto minimiza el riesgo de robo, ya que el secreto se genera sobre la marcha y se elimina después de su uso.
Los repositorios de secretos también admiten cifrado. Por ejemplo, HashiCorp Vault incluye capacidades de cifrado que permiten a las aplicaciones cifrar datos ubicados en el disco. Este cifrado nativo a menudo simplifica la seguridad de los datos, ya que admite una plataforma común para el cifrado en toda la organización.
Mejores prácticas de gestión de secretos: Más allá de la herramienta
Si bien los repositorios de secretos facilitan prácticas de seguridad más sólidas y consistentes, esos resultados no son automáticos. Las herramientas de administración de secretos no ayudarán, por ejemplo, si los desarrolladores o administradores continúan usando scripts o código fuente con credenciales de texto sin formato. La adopción exitosa de estas herramientas exige compromiso, así como cambios en las prácticas y flujos de trabajo en toda la organización. Para comenzar, implemente estas mejores prácticas de gestión de secretos.
Adopte el cambio. Uno de los mayores desafíos de un repositorio de secretos es hacer cumplir su uso. Una vez que el repositorio está disponible, los administradores deben asegurar los secretos a través de la plataforma para controlar y rastrear el acceso a los secretos. La organización debe hacer un esfuerzo concertado para comprender y deshacer cualquier expansión de secretos existente. Esto exige una intervención humana extensa y puede interrumpir procesos y flujos de trabajo de larga data entre administradores, desarrolladores y otros.
Construya sobre integraciones. Una vez que los secretos están en un repositorio, las aplicaciones y los servicios deben usarlos, lo que requiere integración con otras herramientas y plataformas, algunas de las cuales pueden ejecutarse en nubes públicas. Un repositorio de secretos podría integrarse con un servicio de identidad local, como Active Directory; un servicio en la nube en AWS, Azure o Google Cloud Platform; o una plataforma de orquestación de contenedores como Kubernetes. Por ejemplo, un repositorio de secretos podría proporcionar secretos a los grupos de máquinas virtuales que se ejecutan en Kubernetes. Los desarrolladores pueden usar la integración para reducir la cantidad de cambios en la aplicación o actualizaciones necesarias para el uso efectivo del repositorio de secretos.
Use secretos dinámicos. Incluso cuando existen políticas para requerir cambios periódicos, un secreto típico, como una contraseña, sigue siendo estático y puede verse comprometido con suficiente tiempo y esfuerzo. Mejore la seguridad con secretos dinámicos, que, como se mencionó anteriormente, intercambian secretos únicos con cada solicitud.
Involucre encriptación. El cifrado es un servicio esencial para proteger los datos de la aplicación, tanto en reposo, como en vuelo. Pero las empresas con frecuencia omiten el cifrado debido a los desafíos involucrados en la administración de certificados de cifrado y la rotación de claves. Un repositorio de secretos sirve como una interfaz centralizada para la gestión de claves, que puede simplificar y estandarizar el cifrado tanto localmente como dentro de la nube pública.
Considere los métodos de autenticación. Un método de autenticación (auth method ) es un medio para realizar la autenticación y asignar una identidad. Existen varios métodos de autenticación disponibles en la actualidad, y un repositorio de secretos puede admitir la autenticación específica para muchos servicios importantes, como AliCloud, Okta, AWS, Azure, Cloud Foundry, Google Cloud, Kubernetes, GitHub, LDAP, RADIUS y certificados TLS. Por ejemplo, los desarrolladores de software pueden usar algunos sistemas que usan el método de autenticación GitHub, mientras que los contenedores en la nube pueden usar el método de autenticación Kubernetes. Seleccione el método de autenticación, o métodos, que sean más apropiados o eficientes para el caso de uso del repositorio, y desactive métodos de autenticación adicionales no utilizados para minimizar las posibles superficies de ataque.
Use plugins. Las herramientas de administración de secretos brindan extensibilidad y plataformas a prueba de futuro a través del soporte para complementos. Por ejemplo, un complemento puede habilitar nuevos motores de secretos (para almacenar, generar o cifrar secretos) y métodos de autenticación. Para obtener plugins, verifique lo que ofrece el proveedor del repositorio de secretos, o busque crearlos internamente para satisfacer las necesidades específicas del negocio.
Use registros y auditorías. Un repositorio de secretos produce registros detallados de todas las solicitudes y respuestas, incluidos los errores. Los registros son herramientas indispensables para las auditorías de seguridad, ya que permiten a los administradores localizar rápidamente los intentos de acceso no autorizados y garantizar la postura de seguridad de la organización para el cumplimiento de la normativa. Los registros pueden estar compuestos de objetos JSON para análisis y análisis posteriores. La información confidencial, como los tokens y los detalles del contrato de arrendamiento, generalmente se codifican para protegerlos contra el acceso no autorizado a los registros. Habilite y dirija las funciones de registro a una ubicación de almacenamiento segura en la empresa.