GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un certificat TLS/SSL avec un opérateur Cert-Manager sur OpenShift

cert-manager s'appuie sur Kubernetes, introduisant des autorités de certification et des certificats en tant que types de ressources de première classe dans l'API Kubernetes. Cette fonctionnalité permet de fournir des certificats en tant que service aux développeurs travaillant au sein de votre cluster Kubernetes.

cert-manager est un projet open source basé sur Apache License 2.0 fourni par Jetstack . Depuis cert-manager est une application open source, elle possède sa propre page GitHub.

Ce guide vous montrera comment installer cert-manager dans Red Hat OpenShift avec un opérateur . Après cela, vous délivrerez un certificat auto-signé via le cert-manager installé . Vous pouvez également suivre ce tutoriel en regardant cette vidéo.

[ Vous pourriez également aimer : Mettre les certificats CA à la disposition des outils de ligne de commande Linux ]

ÉTAPE 1 :Lire la documentation de cert-manager

Le site Web du projet fournit de nombreuses informations sur cert-manager , y compris une présentation, une architecture et des guides d'utilisation.

Si vous explorez sa documentation, vous pouvez découvrir une documentation détaillée couvrant les concepts, l'installation, la configuration, l'utilisation, les didacticiels, la FAQ, etc. Sur la page d'accueil, vous voyez un schéma d'architecture de haut niveau de cert-manager .

À partir de ses dépôts GitHub, vous pouvez également trouver de la documentation supplémentaire ou contribuer au projet.

Vous pouvez installer cert-manager pour un environnement Kubernetes vanille ou OpenShift. Dans ce tutoriel, je vais installer cert-manager sur OpenShift.

La documentation d'installation d'OpenShift propose deux options différentes :un fichier manifeste standard ou l'opérateur de cert-manager. disponible dans l'interface de la console Web OpenShift. Je vais installer via Opérateur .

Depuis cert-manager fonctionne par un émetteur pris en charge agissant en tant qu'autorité de signature pour attribuer des certificats d'application, vous devez décider quel émetteur utiliser. Cette décision dépend généralement de votre fournisseur de service de nom de domaine (DNS). Par exemple, si vous utilisez Microsoft Azure pour héberger votre application, vous devez sélectionner ACME et trouvez les instructions appropriées pour AzureDNS . Un autre choix populaire est Let's Encrypt . Dans ce cas, cependant, vous souhaitez choisir l'émetteur le plus simple possible . Ainsi, j'opterai pour SelfSigned Issuer .

Documentation sur l'émetteur est illustré ci-dessous. Émetteur ou ClusterIssuer est une définition de ressource personnalisée (CRD) qui peut être appliqué pour configurer le type d'émetteur . Qu'est-ce qui distingue le type d'émetteur ? vient après spec . Dans cette section, spécifiez selfSigned sous spec . Dans cet exemple, j'utiliserai ClusterIssuer au lieu de Émetteur parce que je veux un seul émetteur pour gérer tous les certificats des espaces de noms.

Une fois que l'émetteur est choisi et configuré, j'émettrai un certificat pour une application particulière. Pour cette étape, créez un certificat ressource définie dans un fichier YAML.

ÉTAPE 2 :Explorer un exemple de fichier ClusterIssuer et un exemple de fichier de certificat

Deux exemples de fichiers sont utilisés dans ce didacticiel. Le premier exemple de fichier définit ClusterIssuer , qui utilise des certificats auto-signés pour gérer les certificats de tous les espaces de noms. Sous spec , ajoutez simplement une ligne indiquant selfSigned :{} .

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

Ensuite, examinez l'exemple de certificat définition.

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

Le certificat Le fichier est un peu plus compliqué et vous devez apporter quelques modifications. Notez que le certificat la valeur est attribuée par une application qui expose Route , vous devez donc disposer d'une application nécessitant un certificat TLS/SSL. Voici quelques modifications que vous devez apporter :

  • Ligne 4 - metadata.name :vous devez donner un nom à ce certificat.
  • Ligne 6 - spec.secretName :Notre certificat sera stocké dans un secret OpenShift, vous avez donc besoin d'un nom pour cela.
  • Ligne 9 - spec.organization :vous devez donner le nom de votre organisation.
  • Ligne 19- spec.dnsNames :Probablement l'un des paramètres les plus importants, cela doit correspondre à votre route OpenShift pour votre application.

Vous pouvez également modifier d'autres champs comme bon vous semble. Assurez-vous de vous référer à la documentation officielle de cert-manager pour ajuster les paramètres en fonction des exigences et de la configuration de votre organisation.

ÉTAPE 3 :Installez cert-manager via Operator dans OpenShift

Vous êtes prêt à déployer le cert-manager . Voici la console Web OpenShift et une belle interface graphique d'une console Web pour installer cert-manager avec un Opérateur . Pour effectuer ce changement, vous devez avoir cluster-admin privilèges.

Cliquez sur OperatorHub sous Opérateurs . Si vous ne voyez pas l'option, vous n'êtes probablement pas un administrateur de cluster . Lorsque OperatorHub s'affiche, recherchez cert-manager . Notez qu'il existe quelques gestionnaires de certificats, mais sélectionnez celui avec la version communautaire.

Une fenêtre en forme de lame s'affiche. Lisez quelques instructions de base et cliquez sur Installer quand vous serez prêt.

Par défaut, votre cert-manager sera installé sur les openshift-operators espace de noms. Pour le moment, c'est une option par défaut et l'interface Web ne vous permet pas de la modifier. Laissez tout tel quel et cliquez sur Installer .

Cela démarrera le cert-manager Opérateur processus d'installation. Si tout se passe bien, votre cert-manager Opérateur doit être installé.

Après cert-manager Opérateur l'installation, cliquez sur CertManager sous l'onglet Opérateur du gestionnaire de certificats .

Opérateur est juste un gestionnaire de cycle de vie pour différents processus d'installation et de gestion de votre application. Pour installer réellement cert-manager , vous devez créer un CertManagers exemple. Passez en revue la configuration, y compris la vue du fichier YAML. Si tout semble bon, cliquez sur Créer bouton.

Cette étape installe une nouvelle instance de CertManager . Une fois que tout semble bon, vous verrez un nouveau cert-manager affiché sous les CertManagers onglet.

Assurez-vous de cliquer sur Pods et surveillez les progrès pour vous assurer que tout se passe bien. Vous êtes enfin prêt pour les étapes d'installation d'un ClusterIssuer puis de générer un certificat.

ÉTAPE 4 :Générer un clusterIssuer pouvant émettre un certificat

Ouvrez une fenêtre de terminal et connectez-vous au cluster OpenShift. N'oubliez pas le ClusterIssuer fichier que vous avez créé ? Accédez au répertoire où se trouve le fichier et tapez la commande suivante.

oc apply -f <name of ClusterIssuer file>

Si tout se passe bien, vous verrez un message indiquant que l'émetteur auto-signé a été créé.

Vous pouvez revenir aux pods de votre gestionnaire de certificats et cliquer sur l'un d'eux pour voir que l'émetteur auto-signé est maintenant installé.

Une autre façon de vérifier est à partir d'une fenêtre de terminal avec la commande suivante.

# 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>

Vous devriez voir quelques détails imprimés sur cet émetteur particulier .

Vous avez terminé l'installation d'un émetteur . Vous pouvez enfin procéder à la génération d'un exemple de certificat pour une application.

ÉTAPE 5 :Émettez un certificat dans un espace de noms

La seule chose que vous devez faire est d'appliquer votre certificat fichier pour une application. Assurez-vous que vous êtes connecté à votre cluster OpenShift, puis basculez vers votre projet. Je vais générer un certificat pour Quay , car j'utilise un espace de noms appelé quay-enterprise , mais cela peut être tout ce que vous voulez appeler pour votre application. Une fois dans un projet, saisissez la commande suivante :

oc apply -f <a Certificate definition file>

Vous devriez voir un message indiquant que le certificat est créé. Vous pouvez vérifier que le certificat est bien là avec cette commande :

oc get certificate

Revenez à la console Web d'OpenShift, cliquez sur votre projet, puis cliquez sur Secrets sous Charges de travail pour découvrir votre nouveau certificat TLS/SSL créé pour votre application.

Récapitulez

Cet article vous aide à comprendre comment installer cert-manager sur Red Hat OpenShift via son Opérateur et générer un certificat auto-signé pour votre application.

[ Besoin d'en savoir plus sur Ansible ? Suivez un cours de présentation technique gratuit de Red Hat. Ansible Essentials :Présentation technique de la simplicité dans l'automatisation. ] 


Linux
  1. Comment sécuriser vos services de messagerie Linux avec SSL/TLS

  2. Comment installer un certificat SSL tiers avec cPanel

  3. Comment gérer les certificats Lets Encrypt SSL/TLS avec certbot

  4. Comment sécuriser le nom d'hôte Plesk sur le port 8443 avec un certificat SSL

  5. Comment sécuriser vsFTPd avec SSL/TLS

Comment sécuriser le socket TCP de Docker avec TLS

Comment vérifier la date d'expiration SSL sur Plesk

Comment surveiller les certificats SSL/TLS avec Checkmk

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt

Comment créer un e-commerce avec Magento

Comment vérifier la date d'expiration d'un certificat TLS/SSL sur Ubuntu