GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un certificado TLS/SSL con un operador de administrador de certificados en OpenShift

administrador de certificados se basa en Kubernetes, presentando autoridades de certificación y certificados como tipos de recursos de primera clase en la API de Kubernetes. Esta función permite proporcionar certificados como servicio a los desarrolladores que trabajan dentro de su clúster de Kubernetes.

cert-manager es un proyecto de código abierto basado en Apache License 2.0 proporcionado por Jetstack . Desde cert-manager es una aplicación de código abierto, tiene su propia página de GitHub.

Esta guía le mostrará cómo puede instalar cert-manager en Red Hat OpenShift con un Operador . Después de eso, emitirá un certificado autofirmado a través del cert-manager instalado. . También puede seguir este tutorial viendo este video.

[ También te puede interesar: Hacer que los certificados de CA estén disponibles para las herramientas de línea de comandos de Linux]

PASO 1:Lea la documentación de cert-manager

El sitio web del proyecto proporciona abundante información sobre cert-manager , que incluye una descripción general, arquitectura y guías de uso.

Si explora su documentación, puede descubrir documentación detallada que cubre conceptos, instalación, configuración, uso, tutoriales, preguntas frecuentes, etc. En la página de bienvenida, verá un diagrama de arquitectura de alto nivel de cert-manager .

Desde sus repositorios de GitHub, también encontrará documentación adicional o contribuirá al proyecto.

Puede instalar cert-manager para un entorno Vanilla Kubernetes u OpenShift. En este tutorial, instalaré cert-manager en OpenShift.

La documentación de instalación de OpenShift ofrece dos opciones diferentes:un archivo de manifiesto normal o el Operador del administrador de certificados disponible en la interfaz de la consola web de OpenShift. Lo instalaré a través de Operador .

Desde cert-manager funciona con un Emisor respaldado actuando como autoridad de firma para asignar certificados de aplicación, debe decidir qué Emisor usar. Esta decisión generalmente depende de su proveedor de Servicio de nombres de dominio (DNS). Por ejemplo, si usa Microsoft Azure para alojar su aplicación, debe seleccionar ACME y encuentre las instrucciones adecuadas para AzureDNS . Otra opción popular es Let's Encrypt. . En este caso, sin embargo, desea elegir el Emisor más simple posible. . Por lo tanto, optaré por Emisor autofirmado .

Documentación sobre Emisor se muestra a continuación. Emisor o Emisor de clúster es una Definición de recurso personalizado (CRD) que se pueden aplicar para configurar el tipo de Emisor . Lo que separa el tipo de Emisor viene después de spec . En esa sección, especifique autofirmado bajo especificación . En este ejemplo, usaré ClusterIssuer en lugar de Emisor porque quiero un único Emisor para administrar los certificados de todos los espacios de nombres.

Una vez que el Emisor es elegido y configurado, emitiré un certificado para una aplicación en particular. Para este paso, cree un Certificado recurso que está definido en un archivo YAML.

PASO 2:Explore un archivo ClusterIssuer de muestra y un archivo de certificado de muestra

Hay dos archivos de muestra utilizados en este tutorial. El primer archivo de muestra define ClusterIssuer , que usa certificados autofirmados para administrar certificados para todos los espacios de nombres. Bajo especificación , solo agregue una línea que diga autofirmado:{} .

apiVersion: cert-manager.io/v1alpha3
kind: ClusterIssuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}

A continuación, mire el Certificado de muestra. definición.

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: <certificate name>
spec:
  secretName: <secret name to store>
  duration: 2160h0m0s # 90d
  renewBefore: 360h0m0s # 15d
  organization:
  - "<your organization>"
  keySize: 2048
  keyAlgorithm: rsa
  keyEncoding: pkcs1
  usages:
    - server auth
    - client auth
  # At least one of a DNS Name, URI, or IP address is required.
  dnsNames:
  - '<hostname>.<cluster-url>'
  issuerRef:
    name: selfsigned-issuer
    kind: ClusterIssuer

El Certificado El archivo es un poco más complicado y necesita hacer algunos cambios. Tenga en cuenta que el Certificado el valor se asigna por una aplicación que expone Ruta , por lo que debe tener una aplicación que requiera un certificado TLS/SSL. Estos son algunos cambios que debe realizar:

  • Línea 4 - metadata.name:debe proporcionar algún nombre para este certificado.
  • Línea 6 - spec.secretName:nuestro certificado se almacenará en un secreto de OpenShift, por lo que necesita un nombre para esto.
  • Línea 9 - organización específica:debe proporcionar el nombre de su organización.
  • Línea 19- spec.dnsNames:probablemente una de las configuraciones más importantes, debe coincidir con su ruta OpenShift para su aplicación.

También puede modificar otros campos como mejor le parezca. Asegúrese de consultar la documentación oficial de cert-manager para ajustar la configuración según los requisitos y la configuración de su organización.

PASO 3:Instalar cert-manager a través de Operador en OpenShift

Está listo para implementar el cert-manager . Aquí está la consola web de OpenShift y una buena interfaz gráfica desde una consola web para instalar cert-manager con un Operador . Para realizar este cambio, debe tener cluster-admin privilegios.

Haga clic en OperatorHub en Operadores . Si no ve la opción, lo más probable es que no sea un administrador de clúster . Cuando aparezca OperatorHub, busque cert-manager . Tenga en cuenta que hay algunos administradores de certificados, pero seleccione el que tenga la versión comunitaria.

Se muestra una ventana estilo hoja. Lea algunas instrucciones básicas y haga clic en Instalar cuando estés listo.

De forma predeterminada, su cert-manager se instalará en los operadores de turno abierto espacio de nombres A partir de ahora, esa es una opción predeterminada y la interfaz web no le permite cambiarla. Deje todo como está y haga clic en Instalar .

Esto iniciará el cert-manager Operador proceso de instalación. Si todo va bien, su cert-manager Operador debe instalarse.

Después de cert-manager Operador instalación, haga clic en CertManager pestaña debajo del Operador del administrador de certificados .

Operador es solo un administrador de ciclo de vida para diferentes procesos de instalación y administración para su aplicación. Para instalar realmente cert-manager , debe crear un CertManagers instancia. Revise la configuración, incluida la vista del archivo YAML. Si todo se ve bien, haga clic en Crear botón.

Este paso instala una nueva instancia de CertManager . Una vez que todo se vea bien, verá un nuevo cert-manager se muestra debajo de CertManagers pestaña.

Asegúrate de hacer clic en Pods y monitoree el progreso para asegurarse de que todo salga bien. Finalmente está listo para seguir los pasos para instalar un ClusterIssuer y luego para generar un certificado.

PASO 4:Generar ClusterIssuer que pueda emitir un certificado

Abra una ventana de terminal e inicie sesión en el clúster de OpenShift. Recuerde el ClusterIssuer archivo que creaste? Navegue hasta el directorio donde reside el archivo y escriba el siguiente comando.

oc apply -f <name of ClusterIssuer file>

Si todo va bien, verá un mensaje que indica que se ha creado el emisor autofirmado.

Puede volver a los pods de su administrador de certificados y hacer clic en uno de ellos para ver que el emisor autofirmado ya está instalado.

Otra forma de verificar es desde una ventana de terminal con el siguiente comando.

# First run this command to see our Issuers:
oc get clusterissuers

# Next, run this command to see the structure of the Issuer
oc get - yaml clusterissuers/<an Issuer name from above>

Debería ver algunos detalles impresos sobre este Emisor en particular. .

Ha terminado de instalar un Emisor . Finalmente puede proceder a generar un certificado de muestra para una aplicación.

PASO 5:Emitir un certificado en un espacio de nombres

Lo único que debe hacer es solicitar su Certificado archivo para una aplicación. Asegúrese de haber iniciado sesión en su clúster de OpenShift y luego cambie a su proyecto. Generaré un certificado para Quay , porque estoy usando un espacio de nombres llamado quay-enterprise , pero puede ser cualquier nombre que desee para su aplicación. Una vez que esté en un proyecto, escriba el siguiente comando:

oc apply -f <a Certificate definition file>

Debería ver un mensaje de que se ha creado el certificado. Puede verificar que el certificado está realmente allí con este comando:

oc get certificate

Regrese a la consola web de OpenShift, haga clic en su proyecto y haga clic en Secretos en Cargas de trabajo para descubrir su nuevo certificado TLS/SSL creado para su aplicación.

Resumir

Este artículo lo ayuda a comprender cómo instalar cert-manager en Red Hat OpenShift a través de su Operador y genere un certificado autofirmado para su aplicación.

[ ¿Necesita más información sobre Ansible? Realice un curso gratuito de descripción técnica de Red Hat. Ansible Essentials:descripción técnica de la simplicidad en la automatización. ] 


Linux
  1. Cómo proteger sus servicios de correo electrónico de Linux con SSL/TLS

  2. Cómo administrar los certificados Lets Encrypt SSL/TLS con certbot

  3. Cómo proteger el nombre de host de Plesk en el puerto 8443 con certificado SSL

  4. Cómo asegurar conexiones con certificados SSL/TLS

  5. Cómo proteger vsFTPd con SSL/TLS

Cómo proteger el socket TCP de Docker con TLS

Cómo comprobar la fecha de caducidad de SSL en Plesk

Cómo monitorear certificados SSL/TLS con Checkmk

Cómo proteger Nginx con el certificado SSL de Let's Encrypt

Cómo crear un comercio electrónico con Magento

Cómo comprobar la fecha de caducidad de un certificado TLS/SSL en Ubuntu