¿Qué es un secreto?
- Glosario IAM
- ¿Qué es un secreto?
Un secreto es una credencial privilegiada no humana, como claves API, contraseñas, tokens o certificados, que los sistemas y aplicaciones utilizan para la autenticación y autorización. Los secretos permiten una comunicación segura entre aplicaciones, servicios y recursos al verificar identidades y otorgar acceso adecuado a datos confidenciales. La gestión adecuada de los secretos garantiza interacciones seguras entre sistemas mientras protege los datos privilegiados del acceso no autorizado.
¿Qué es la gestión de secretos?
La gestión de secretos se refiere al manejo, almacenamiento y gobernanza de credenciales privilegiadas, de manera segura, dentro de la infraestructura de TI de una organización. Permite a las organizaciones administrar, almacenar y auditar, de manera centralizada, los secretos mientras minimizan el riesgo de acceso no autorizado. El objetivo de la gestión de secretos es mantener operaciones seguras del sistema, reducir los riesgos de seguridad y mejorar la eficiencia operativa.
Tipos de secretos
Hay varios tipos de secretos que las organizaciones utilizan para proteger información privilegiada, incluidas contraseñas, claves criptográficas, tokens, claves API, claves SSH, certificados y credenciales de usuarios privilegiados.
Contraseñas
Al ser el tipo de secreto más común, las contraseñas se utilizan ampliamente para autenticar usuarios y otorgar acceso a sistemas, datos o aplicaciones. Las contraseñas consisten en una combinación de letras mayúsculas y minúsculas, números y símbolos conocidos tanto por el usuario como por el sistema. Una contraseña verifica la identidad de un usuario y protege los datos confidenciales del acceso no autorizado. Para que una contraseña se considere segura debe ser larga y compleja; de lo contrario, corre el riesgo de volverse más vulnerable a los ataques basados en contraseñas, como la fuerza bruta.
Credenciales de usuario privilegiado
Las credenciales de usuario con privilegios otorgan acceso elevado o control administrativo sobre sistemas, redes o aplicaciones. Estas credenciales pertenecen a usuarios que pueden realizar tareas importantes como configurar los ajustes del sistema, acceder a información confidencial o gestionar cuentas privilegiadas. Dado que proporcionan acceso a datos críticos, las credenciales de usuario con privilegios deben ser monitoreadas y protegidas de cerca para evitar acciones no autorizadas.
Claves Secure Shell (SSH)
Las claves Secure Shell (SSH) permiten una autenticación segura y sin contraseñas a través de redes. Comúnmente utilizadas por los administradores de sistemas para la automatización y el inicio de sesión único (SSO), las claves SSH constan de una clave pública, almacenada en el servidor, y una clave privada, mantenida en secreto por el usuario. Cuando se inicia una conexión, el servidor verifica la clave pública y concede acceso si coincide con la clave privada.
Claves de la Interfaz de Programación de Aplicaciones (API)
Las claves API son identificadores únicos utilizados para autenticar y autorizar aplicaciones o usuarios cuando acceden a las API. Ayudan a garantizar interacciones seguras entre sistemas de software al verificar la identidad de la aplicación que inicia la llamada. Las claves API se emplean a menudo para controlar el acceso, automatizar los flujos de trabajo y gestionar los límites de uso. Dado que pueden otorgar acceso a información confidencial, las claves API deben estar protegidas para evitar su uso no autorizado.
Claves criptográficas
Las claves criptográficas se utilizan en los procesos de cifrado y descifrado para mantener la confidencialidad e integridad de los datos. Estas claves son esenciales para proteger los datos en tránsito y en reposo. Hay dos tipos principales:
- Claves simétricas, donde se utiliza la misma clave tanto para el cifrado como para el descifrado
- Claves asimétricas, que implican una clave pública (para el cifrado) y una clave privada (para el descifrado)
Las claves criptográficas son fundamentales para asegurar las comunicaciones, las firmas digitales y la protección de datos en los sistemas informáticos modernos.
Tokens
Los tokens se utilizan para la autenticación y autorización, generalmente en aplicaciones web modernas y API. Son temporales y se generan para otorgar acceso a recursos específicos después de un proceso exitoso de inicio de sesión o autorización. Los tokens contienen información codificada que verifica la identidad de un usuario sin necesidad de transmitir una contraseña con cada solicitud. Dado que los tokens pueden otorgar acceso a recursos confidenciales, deben ser almacenados y compartidos de forma segura.
Certificados
Los certificados digitales se utilizan para proteger las conexiones a Internet y las comunicaciones a través de una red. Estos certificados a menudo se denominan certificados SSL/TLS, siendo Transport Layer Security (TLS) una versión más moderna y segura del ahora obsoleto protocolo Secure Sockets Layer (SSL). Los certificados TLS autentican la identidad de un sitio web y crean una conexión cifrada entre el servidor y un cliente. Los certificados contienen una clave pública y otra información, incluido el nombre de dominio y el emisor, que permiten a los clientes verificar la credibilidad del servidor. Los certificados son importantes para garantizar la privacidad de los datos, prevenir ataques Man-in-the-Middle (MITM) y generar confianza en los usuarios.
Desafíos de la gestión de secretos
Sin una gestión adecuada de secretos, cada equipo en una organización puede manejar los secretos de forma independiente. Esto puede llevar a la divulgación de secretos y al intercambio no seguro de secretos.
Divulgación de secretos
La divulgación de secretos es la distribución caótica de secretos en una organización. A medida que las organizaciones crecen, los secretos pueden dispersarse en entornos de nube y diversas herramientas, lo que aumenta el riesgo de acceso no autorizado. Sin una gestión centralizada de secretos, esto puede generar vulnerabilidades de seguridad y desafíos de cumplimiento.
Secretos codificados
Los secretos codificados se refieren a credenciales confidenciales, como contraseñas o claves API, incrustadas directamente en el código fuente o los archivos de configuración. Esto puede suceder si los desarrolladores almacenan secretos en el código para simplificar el desarrollo o las pruebas. Sin embargo, almacenar credenciales directamente en el código fuente presenta riesgos de seguridad, lo que dificulta la actualización de secretos y el control de una posible exposición.
Intercambio manual de secretos
El intercambio manual de secretos es la práctica de enviar o distribuir información confidencial a través de procesos manuales, incluidos los sistemas de correo electrónico o mensajería. Confiar en el correo electrónico, aplicaciones de mensajería u hojas de cálculo para distribuir secretos aumenta el riesgo de error humano y acceso no autorizado. Si un usuario comparte secretos a través de un correo electrónico no cifrado, esos datos confidenciales son vulnerables a la interceptación por parte de un usuario no autorizado.
Privilegios de computación en la nube
Los privilegios de la computación en la nube determinan el acceso de los usuarios a los recursos en la nube, como servidores y bases de datos. Si una organización otorga privilegios excesivos a un usuario, puede aumentar los riesgos de seguridad, ya que los errores humanos o los ataques cibernéticos pueden provocar violaciones de datos. Las organizaciones a menudo tienen dificultades para rastrear el acceso a las aplicaciones en la nube, lo que puede resultar en un aumento de privilegios y credenciales no gestionadas.
Cuentas de terceros y acceso remoto
Si no se gestionan adecuadamente, las cuentas de terceros y aquellas con acceso remoto pueden introducir vulnerabilidades de seguridad, especialmente si los proveedores o contratistas tienen privilegios excesivos o credenciales obsoletas. El acceso no autorizado puede provocar violaciones de datos o comprometer el sistema a través de proveedores externos o empleados remotos que se conectan a sistemas críticos con datos confidenciales.
Mejores prácticas de gestión de secretos
Para mitigar los desafíos comunes de gestión de secretos, las organizaciones pueden protegerlos mediante la gestión de privilegios y usuarios autorizados, la rotación automática de secretos y la actualización periódica de las políticas de gestión de secretos.
Gestionar privilegios y usuarios autorizados
Las organizaciones deben gestionar privilegios y usuarios autorizados siguiendo el Principio de mínimo privilegio (PoLP), que otorga a los usuarios y sistemas acceso solo a lo que necesitan para realizar sus tareas. <a href=/resources/glossary/what-is-role-based-access-control/"">El control de acceso basado en roles (RBAC) ayuda a aplicar el PoLP asignando permisos basados en roles en lugar de usuarios individuales, lo cual minimiza el riesgo de privilegios excesivos. La autenticación multifactor (MFA) también debe habilitarse para todas las cuentas privilegiadas para agregar así una capa de seguridad y evitar accesos innecesarios o no autorizados con el tiempo.
Rotar secretos
La rotación automatizada de secretos es una práctica que las organizaciones deben seguir para reducir el riesgo de acceso no autorizado a información confidencial. La actualización frecuente de secretos limita la exposición si un secreto se ve comprometido. Con un sistema centralizado de gestión de secretos, las organizaciones pueden rastrear y actualizar credenciales automáticamente según un cronograma predeterminado. Esto ahorra tiempo y reduce las posibilidades de error humano.
Diferenciar entre secretos e identificadores
Para proteger los secretos y mejorar la seguridad, las organizaciones deben diferenciar entre secretos (contraseñas, claves de cifrado y tokens) e identificadores, como nombres de usuario, ID de dispositivo y direcciones de correo electrónico. Los secretos deben ser confidenciales y monitoreados de cerca, ya que otorgan acceso directo a información confidencial, mientras que los identificadores deben administrarse cuidadosamente para evitar el uso indebido, pero pueden permanecer públicos. Las organizaciones necesitan almacenar secretos de forma segura y aplicar estrictos controles de acceso para evitar el uso no autorizado y minimizar el riesgo de exposición.
Revisar y actualizar periódicamente las directivas de administración de secretos
Las organizaciones deben revisar y actualizar periódicamente sus políticas de gestión de secretos para prepararse ante amenazas cibernéticas más avanzadas y en evolución. La actualización de estas políticas debe incluir determinar quién tiene acceso a credenciales confidenciales, revocar secretos obsoletos o innecesarios y hacer cumplir los estándares regulatorios. Con un sistema centralizado de gestión de secretos, las organizaciones pueden automatizar la aplicación de políticas para mantener la coherencia y minimizar los errores humanos.