SPIFFE el DNI-Cloud

Vamos a comenzar hablando de varios aspectos técnicos que componen este DNI Cloud.

La autenticación mutua, o autenticación bidireccional, que no debe confundirse con 2FA (autenticación de dos factores), se refiere a dos partes que se acreditan entre sí al mismo tiempo en un protocolo de autenticación, de forma predeterminada lo encontramos en IKE, SSH y TLS.

  • TLS es un protocolo criptográfico diseñado para proporcionar seguridad en las comunicaciones a través de una red y garantizar privacidad, integridad y autenticidad de su contenido. Por ejemplo, en el correo electrónico, mensajería sobre voz IP, y el más común de todos, para asegurar HTTPS.

Regresamos a la autenticación mutua.

Se emplea desde IoT hasta la validación de aplicaciones y entornos de trabajo, siendo una característica importantísima en los esquemas de seguridad. Provocando un desafío constante, principalmente cuando queremos que los entornos sean livianos y con costes reducidos. Pero es crucial su utilización ya que nos protege de multitud de ataques que, por el contrario, pueden tener grandes consecuencias en nuestro entorno.

Teniendo frescos estos conceptos, mTLS o mutua TLS, de forma predeterminada comprueba la identidad mediante certificados X.509, es especialmente importante en entornos empresariales, donde un número de programas y aplicaciones heterogéneas basadas en microservicios en tiempos de ejecución, se comunican a través de sistemas como SPIFFE.

Hablemos un poco de la arquitectura moderna referente a entornos con múltiples cargas de trabajo.

Se caracterizan por ser una torre o pila multicapa. Conceptualmente, se tiene una capa de plataforma en la parte inferior, una capa de host en la parte superior y procesos individuales en la parte superior del host.

Los patrones y prácticas de diseño distribuido, como los microservicios, los orquestadores de contenedores y la computación en nube, han dado lugar a entornos de producción cada vez más dinámicos y heterogéneos. Las prácticas de seguridad convencionales (como las políticas de red que solo permiten el tráfico entre determinadas direcciones IP) tienen dificultades para escalar bajo esta complejidad. Por lo tanto, es necesario un marco de identidad de primera clase para las cargas de trabajo en una organización.

Y aquí es donde surge el DNI-Cloud.

Proteger la red ya no es como antes. Cuando surgió Internet, sólo existían 213 servidores. Ahora, el nuevo software se diseña utilizando arquitecturas de microservicios y se despliega en la nube, lo que hace imposible trazar un «perímetro» a su alrededor y protegerlo mediante métodos tradicionales como cortafuegos y segmentación de red.

Además, el número de vulnerabilidades de software es cada día mayor, los propios empleados con sus errores humanos, suplantación de identidad, actividades maliciosas, lo que hace difícil justificar una arquitectura de seguridad expuesta a tantas variables. Además, apenas tiene sentido imponer un perímetro cuando los empleados acceden a recursos desde tantas redes diferentes.

A medida que evolucionamos hacia la era digital, los muros se derrumban y el número de identidades sigue creciendo exponencialmente. La verificación de la identidad física se virtualizó mediante el intercambio y la gestión segura de claves, credenciales y tokens, y el problema se agravó a medida que los recursos migraban a la nube.

Aumentan los procesos, aplicaciones y cargas de trabajo virtuales en la nube, necesitamos determinar qué tienen permiso para acceder a qué.

Los protocolos de seguridad tradicionales no están preparados para proteger entornos que ya no operan dentro de un perímetro. Por consiguiente, las organizaciones siguen avanzando en sus estrategias cloud-first, van a necesitar soluciones para identificar los elementos dentro de un conjunto y elaborar políticas de acceso seguras y precisas.

Creación de SPIFFE

SPIFFE, o Secure Production Identity Framework for Everyone, proporciona una forma de proteger las cargas de trabajo individualmente, sin vincularlas a un host o entorno específico. Esto permite que las cargas de trabajo sean seguras independientemente de dónde se encuentren, haciéndolas agnósticas a la plataforma y al ecosistema.

Esta forma de autenticación «para llevar » es vital para asegurar el número de máquinas que proliferan y sus identidades en un mundo donde el perímetro ya no existe, y las redes se están volviendo casi tan diversas como las propias máquinas.

Pasemos ahora a ver el “core”. ¿Cómo funciona SPIFFE?

«SPIFFE es un conjunto de normas de código abierto para identificar de forma segura sistemas de software en entornos dinámicos y heterogéneos». Adoptar SPIFFE permite autenticar mutuamente los sistemas dondequiera que se ejecuten. Autentica con identificadores criptográficos llamados SVIDS, a través de una API de carga de trabajo, permitiendo que los procesos autorizados utilicen luego estos documentos de identificación al autenticarse ante otras cargas de trabajo. Esto puede hacerse firmando y verificando un token JWT, o a través de una conexión TLS.

SPIFFE funciona identificando las cargas de trabajo a nivel de proceso, saltándose los problemas inherentes a los modelos tradicionales. En lugar de decir «el host 3 puede comunicarse con el host 4», se puede especificar «este proceso concreto puede comunicarse con ese otro». De este modo, la identidad no está ligada a la ubicación, sino al activo.

Este protocolo SPIFEE para identificar cargas de trabajo individuales se divide en tres partes:

  • NAME IT. Proporciona un ID SPIFFE a la carga de trabajo específica, o un «nombre de usuario para cargas de trabajo».
  • PROVE IT. Autentica el ID de SPIFEE con un SVID, o Documento de Identidad Verificable de SPIFEE (como un certificado X.509) que ha sido firmado por una Autoridad de Certificación válida.
  • GET IT. Esta es la API de la carga de trabajo que proporciona los SVID (certificados) a la carga de trabajo en primer lugar.

Así que ahora la identidad está unida al proceso, en lugar de a la capa, lo que le permite:

  • Asegurar automáticamente microservicios con X.509 PKI, Envoy, o JWT
  • Ampliar la malla de servicios a toda la empresa sin compartir claves
  • Autenticar de forma segura en plataformas comunes sin claves de API ni plataformas

Pero SPIFFE no lo hace todo solo, necesitamos SPIRE.

SPIRE es una implementación production-ready que realiza la certificación y autenticación de nodos y workloads con el fin de emitir de forma segura SVIDs y verificar de otras cargas de trabajo, basándose en un conjunto de criterios.

Arquitectura de SPIRE

Un despliegue de SPIRE está compuesto por un Servidor de SPIRE y uno o más Agentes de SPIRE.

Un servidor actúa como autoridad de firma para las identidades emitidas a un conjunto de workloads a través de agentes. También mantiene un registro de identidades y las condiciones que deben verificarse para que dichas identidades sean emitidas. Los agentes exponen la API de SPIFFE localmente, y deben instalarse en cada nodo en el que se ejecute una aplicación.

SPIRE certifica las identidades utilizando para ello propiedades del proveedor de la nube o de los equipos locales.  En ambos casos, mantiene un conjunto de pares de claves que representan el dominio de confianza y sus límites. Mientras que las claves privadas se mantienen seguras, las públicas se publican en archivos denominados «Trust Bundles», necesarios para validar los certificados X.509 o JWT (JSON Web Token) que se utilizan para establecer comunicaciones seguras.

Pero no quiero entrar en demasiados aspectos técnicos que me conozco y no tengo freno.

Veamos qué implementaciones tiene.

SPIFFE y SPIRE surgieron de la necesidad de mejorar la seguridad del actual ecosistema nativo de la nube y resolvieron un problema fundamental: la necesidad de una base de identidad estandarizada, criptográfica e independiente de la plataforma para ayudar a proteger los servicios en entornos heterogéneos de producción en la nube.

Desde el 2020, SPIFFE y SPIRE han crecido significativamente desde entonces, con la contribución de muchas empresas tecnológicas líderes, como VMWare, Uber, ByteDance, Anthem, Transferwise, IBM y Hewlett Packard Enterprise (HPE).

Hewlett Packard Enterprise como empresa líder tecnológica, quiere influir en la innovación de la comunidad de código abierto, ya que proporciona capacidades clave para los clientes y ayudar a diseñar soluciones para satisfacer las necesidades de los clientes.

Apostar por SPIFFE y SPIRE son valores importantes que permiten a las infraestructuras obtener una “confianza cero” sin fisuras, y esta premisa se ha convertido en partes integrales en los proyectos de HPE.

HPE Cray Exascale.

SPIFFE/SPIRE ha demostrado que puede ampliarse y la forma en que lo está utilizando la herramienta Cray System Management (CSM).

Los superordenadores HPE Cray Exascale están compuestos por decenas de miles de nodos de computación y almacenamiento de alto rendimiento. A finales de 2018, comenzaron los trabajos de desarrollo de Cray CSM, una solución que permite a los administradores de sistemas gestionar estos superordenadores a gran escala aprovechando la arquitectura y los avances de los hiperescalares y los proveedores de nube, basada en código abierto.

En 2019, cuando tanto Scytale como Cray fueron adquiridas por HPE, las sinergias encontradas en sus tecnologías hicieron que los grupos de ingeniería empezaran a trabajar juntos. Rápidamente pudieron identificar lo importante y útil que SPIFFE/SPIRE podría ser para el esfuerzo de desarrollo de CSM. Teniendo en cuenta cómo CSM ayuda a los clientes a ir más allá de lo tradicional y habilitar nuevos servicios, desplegar una amplia gama de cargas de trabajo y avanzar hacia una experiencia como servicio, la integración de SPIRE hace que estas implementaciones sean aún más seguras.

TELCO Cloud Infraestructure.

Un servidor certificado es de confianza y se le puede permitir ejecutar cargas de trabajo autorizadas.

Pero ¿cómo pueden las cargas de trabajo de diferentes proveedores y que se ejecutan en plataformas de hardware distintas confían unas en otras?

La certificación de workloads requiere que las entidades de software que interactúan en las arquitecturas complejas basadas en servicios tengan una identidad única y verificable, y que utilicen esta identidad para poder confiar las unas en las otras. El CNCF SPIFFE/SPIRE permite este mecanismo de confianza.

La autenticación de nodos ayuda a mitigar el riesgo de que se introduzcan elementos fraudulentos en la red y las amenazas derivadas de la ejecución de cargas de trabajo obtenidas de muchos proveedores diferentes, importante en entornos CSP

HPE Ezmeral

La solución HPE Ezmeral Unified Analytics moderniza las aplicaciones y los datos heredados para optimizar las cargas de trabajo con uso intensivo de datos desde el borde hasta la nube, para ofrecer la escalabilidad y la elasticidad necesarias para el análisis avanzado. Todo ello, ofrecido por un marco de seguridad en la producción utilizando SPIFFE/SPIRE.

Adicionalmente, HPE Ezmeral Runtime Enterprise implementa este tipo de certificados, proporcionando un plano de control universal que reduce la dependencia de las calves secretas o controles basados en red, aprovechando la acreditación criptográfica para asegurar el software.

HPE GreenLake.

No podemos olvidarnos del buque insignia. A mediad que las empresas realizan la transición a un modelo “as-a-service”, se enfrentan a situaciones donde las aplicaciones abarcar varios data-center, Cloud, proveedores de servicios por terceros, etc.

El mayor de los problemas de esta transformación digital es cómo los sistemas software distribuidos físicamente pueden autenticarse entre sí de forma fiable y comunicarse con seguridad a gran escala, especialmente en redes no securizadas.

HPE GreenLake Edge-to-Cloud se adhiere a las mejores prácticas de seguridad de confianza cero. La plataforma HPE GreenLake Edge-to-Cloud aprovecha SPIFFE y SPIRE para garantizar que todos los microservicios que se ejecutan dentro de la plataforma, y cualquier microservicio externo con el que la plataforma necesite comunicarse, se certifican continuamente y se emiten identidades criptográficas de corta duración (ID de SPIFFE) para establecer una comunicación segura con cifrado TLS mutuo (mTLS). Esto protege la plataforma eliminando las claves de larga duración y minimizando el impacto de los ataques de exfiltración de credenciales.

Cada día nos enfrentamos a nuevos retos de seguridad, en entornos que no dejan de crecer y desarrollarse.

Espero haber conseguido sembrar algo de curiosidad con respecto a estos temas de seguridad, y cómo HPE trabaja para implementar y desarrollar “seguridad en todos los caminos posibles”.

Comparte este artículo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *