Introducing the 2024 PKI & Digital Trust Report     | Download the Report

  • Inicio
  • Blog
  • DevOps
  • Cómo los equipos DevOps pueden automatizar la implantación de PKI bajo demanda con Keyfactor Ansible y EJBCA

Cómo los equipos DevOps pueden automatizar la implantación de PKI bajo demanda con Keyfactor Ansible y EJBCA

DevOps

Pocas cosas cambian más rápido que la tecnología, y DevOps, en particular, vive a la vanguardia de la innovación y la automatización.

DevOps se refiere a herramientas y mejores prácticas que permiten una entrega más eficiente de software . Surgido de la popular metodología Agile, DevOps se centra en el uso de la automatización, la estandarización y la iteración rápida para agilizar el ciclo de vida de software .

Una parte crucial de DevOps es la infraestructura de clave pública (PKI). Para seguir cumpliendo la normativa, mantener bajo llave la información confidencial y conservar la seguridad, los entornos de trabajo deben construirse sobre una PKI robusta.

Sin embargo, las herramientas PKI no han seguido el ritmo de evolución del espacio DevOps, lo que supone un reto y una oportunidad.  

Los equipos de aplicaciones y operaciones actuales deben moverse con rapidez, funcionar en cualquier plataforma y automatizarlo todo. Pero los desarrolladores no pueden moverse rápido ni ser ágiles cuando se ven constantemente frenados por los procesos de seguridad manuales y arcaicos que implica el uso de las herramientas PKI tradicionales.

Nunca se insistirá lo suficiente en este problema. Si los desarrolladores trabajan habitualmente con herramientas PKI que hacen imposible cumplir plazos ajustados, encontrarán formas más rápidas y no conformes de obtener certificados. Dicho de otro modo: la automatización no es opcional a la hora de implantar y utilizar PKI en DevOps.

El equipo de Keyfactor abordó este tema en un seminario web reciente y analizó las herramientas y las mejores prácticas que los equipos de DevOps pueden utilizar para simplificar y escalar PKI. 

Cómo se utiliza PKI en entornos CI/CD

Cuando se utiliza PKI en contextos de integración continua/despliegue continuo (CI/CD), todo se reduce a la confianza. Si está creando y desplegando aplicaciones, necesita saber que la infraestructura que está ejecutando y el software que entrega son de confianza.

Esto es mucho más fácil de conseguir con PKI bajo demanda. Como cualquier otro servicio bajo demanda, PKI bajo demanda significa que puede escalar dinámicamente la emisión, revocación y gestión de certificados. Cuando se trabaja en entornos avanzados que cambian rápidamente, como los que caracterizan a los DevOps modernos, esta flexibilidad y capacidad de adaptación no pueden ser más importantes. 

Para comprender plenamente la importancia de la PKI a la carta, conviene concretar los casos de uso específicos en los que puede ser necesaria. He aquí algunos de ellos:

  • Emisión de certificaciones de dispositivos para la autenticación 802.1x en una red
  • Certificados WiFi para dispositivos, como en una fábrica o Internet de las Cosas (IoT) aplicación.
  • Firma de código o sellado de tiempo del código

Los certificados digitales son la columna vertebral de la PKI, por lo que este tipo de gestión de certificados es absolutamente vital. Disponer de un modo de gestionar rápida y eficazmente la certificación de dispositivos es una parte fundamental para operar de forma segura, pero también debe ser capaz de mostrar cómo se validan y certifican los dispositivos para demostrar que su seguridad cumple las normas exigidas. Esto es especialmente cierto si desea trabajar con contratos gubernamentales o con datos clasificados.

La importancia de la automatización en DevOps

Ya dijimos al principio que la automatización no es opcional cuando se gestiona PKI para DevOps. DevOps y automatización van de la mano porque, cuando se combinan, crean dos cosas que los equipos necesitan: velocidad y coherencia. 

Fundamentalmente, DevOps se aleja de la configuración estática. Mientras que en el pasado, procesos como la integración de código se gestionaban manualmente y sólo se revisaban si había un problema importante, en el DevOps moderno se definen en secuencias de comandos. Cuando un proceso se define en un script, se automatiza y se repite, y esto, a su vez, lo hace fiable (porque el script siempre se ejecutará de la misma manera) y escalable (porque siempre es posible aumentar los recursos informáticos, mientras que aumentar el tiempo humano es mucho más difícil). Si se hacen correctamente, los scripts son modulares y reutilizables, lo que facilita la comprobación, modificación y mantenimiento del código base. 

Pero para proteger el entorno en el que se escriben y ejecutan estos scripts, DevOps debe confiar en PKI. Esto se convierte en un cuello de botella importante en el flujo de trabajo de DevOps porque el conjunto existente de herramientas PKI es manual, lento y requiere mucha configuración.

La Autoridad de Certificación (CA) de Microsoft es un buen ejemplo. Una CA es responsable de asignar certificados digitales a dispositivos, sitios web, personas y otras entidades.

Microsoft CA tiene desventajas sustanciales, que hacen que no encaje bien en los entornos DevOps modernos: depende en gran medida de la infraestructura de Microsoft, los equipos tienen que aprovisionar un nuevo servidor cada vez que necesitan una nueva CA y las tareas importantes, como el aprovisionamiento de CA, no se automatizan fácilmente. Al igual que la mayoría de las demás soluciones de PKI disponibles, no puede permitir las cosas que DevOps necesita para seguir siendo innovador.

Las empresas de hoy en día necesitan una infraestructura PKI que pueda integrarse sin problemas con sus herramientas actuales y que, al mismo tiempo, incluya funciones básicas como la automatización. A menudo se dan cuenta de que su PKI se les ha quedado pequeña cuando necesitan una API REST enriquecida, quieren utilizar Enrollment over Secure Transport (EST) o Certificate Management Protocol (CMP) para la certificación certificación x.509o cuando quieren utilizar un protocolo de comunicaciones como el Entorno Automatizado de Gestión de Certificados (ACME).

Y esto sin mencionar las dificultades de intentar crear rápidamente una PKI específica de grupo para realizar pruebas o reconstruir antiguas PKI a partir de especificaciones, dos tareas bastante básicas y rutinarias desde la perspectiva de DevOps. 

Dicho todo esto, podemos preguntarnos: ¿qué deben buscar estos equipos en una solución PKI?

Automatización de PKI

PKI para DevOps debe ser capaz de suministrar PKI bajo demanda de forma repetible y escalable sin comprometer los procesos críticos subyacentes que hacen de la PKI la base de la confianza en software.

Para apoyar DevOps en su forma actual, una plataforma PKI debe estar diseñada para desplegarse en cualquier lugar, en cualquier forma que necesite, ya sea como un servicio basado en la nube, como un contenedor Docker o Kubernetes, o como una aplicación llave en mano hardware/software . En otras palabras, debe encajar en el molde de lo que sea que esté tratando de lograr.

Además, debe ser capaz de escalar dinámicamente. En concreto, esto significa poder desplegar varias CA en un único nodo, segmentarlas en distintos nodos y agruparlas en clústeres de alta disponibilidad. Todo esto es imposible con Microsoft CA.  

Y una plataforma PKI debe integrarse en la infraestructura y las herramientas existentes. Debe ser compatible con los protocolos EST, CMP y ACME ya mencionados. Como puede atestiguar cualquiera que haya trabajado en PKI, hay una gran variedad de formatos y casos de uso que deben abordarse. También debe admitir distintos métodos para interactuar con los algoritmos y los módulos de seguridad Hardware (HSM) que están detrás de la PKI. 

Si tiene estas propiedades, su PKI puede desplegarse como y como quiera de una forma automatizada, flexible, escalable, repetible y que encaje con la pila DevOps actual que ya esté utilizando. Esto le permite avanzar con rapidez pero sin comprometer la confianza.  

Para muchos equipos, la combinación de EJBCA y Ansible es la solución que mejor satisface sus necesidades. Al tratar PKI como un conjunto de microservicios en CI/CD y DevOps, la implantación de PKI es rápida, la configuración es coherente y la infraestructura es escalable.

Para obtener más información sobre el uso de herramientas DevOps y mejores prácticas para simplificar y escalar PKI y ver una demostración de EJBCA y Ansible en acción, consulte nuestro seminario web "PKI bajo demanda para DevOps con Ansible y EJBCA."