Comment configurer SSL sur le serveur Jenkins

Il est très important de sécuriser Jenkins en activant SSL qui s’exécute dans un environnement de projet. Cet article vous guide étape par étape pour configurer SSL sur un serveur Jenkins.

Voici les étapes à suivre pour configurer SSL sur le serveur Jenkins.

  1. Obtenir des certificats SSL
  2. Convertir les clés SSL au format PKCS12
  3. Convertir PKCS12 au format JKS
  4. Ajouter JKS au chemin Jenkins
  5. Configurer le démarrage de Jenkins pour utiliser le fichier JKS.
  6. Validez le SSL Jenkins

Commençons par la configuration

Étape 1 : Obtenir le domaine &Certificats SSL

Vous devez avoir un domaine valide pointant vers l’IP du serveur Jenkins pour configurer SSL. Le domaine peut être interne ou externe en fonction de l’infrastructure de votre organisation.

Le certificat SSL peut être obtenu en utilisant les méthodes suivantes.

  1. Dans la plupart des cas, vous aurez Jenkins dans un environnement privé avec un DNS interne et vous pourrez obtenir les certificats SSL internes des organisations respectives.
  2. Vous pouvez également créer des certificats SSL auto-signés à l’aide d’OpenSSL. Suivez ce blog, générez des certificats SSL pour créer des certificats auto-signés à l’aide d’OpenSSL.
  3. De plus, vous pouvez utiliser des services comme let’s encrypt pour des certificats SSL valides. Mais ces certificats doivent être renouvelés tous les trois mois.

Étape 2: Convertissez les clés SSL au format PKCS12

Remarque: Si vous avez déjà le certificat au format .p12 ou .pfx, vous n’avez pas à effectuer cette conversion.

La commande ci-dessous convertit les certificats SSL au format PKCS12 intermédiaire nommé jenkins.p12. Assurez-vous d’avoir les certificats suivants avec vous avant d’exécuter la commande.

  1. ca.serveur crt
  2. .clé
  3. serveur.crt

Aussi,

  1. Remplacez jenkins.devopscube.comdans la commande avec votre propre nom d’alias
  2. Remplacez your-strong-password par un mot de passe fort.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com

Étape 3: Convertir PKCS12 au format JKS

Utilisez la commande keytool suivante pour convertir le fichier jenkins.p12 au format JKS.

Remplacez ce qui suit par vos propres valeurs.

  1. -srcstorepass – Mot de passe utilisé à l’étape 3
  2. -deststorepass – Remplacer par un mot de passe fort.
  3. -srcalias – nom d’alias utilisé à l’étape 2
  4. -destalias– – Remplacer par un nom d’alias de destination.
keytool -importkeystore -srckeystore jenkins.p12 \-srcstorepass 'your-secret-password' -srcstoretype PKCS12 \-srcalias jenkins.devopscube.com -deststoretype JKS \-destkeystore jenkins.jks -deststorepass 'your-secret-password' \-destalias jenkins.devopscube.com

Vous devriez voir un fichier nommé jenkins.jks dans votre emplacement actuel.

Étape 4: Ajoutez JKS au chemin Jenkins

jenkins_keystore.jksle fichier doit être enregistré à un emplacement spécifique où Jenkins peut y accéder.

Créons un dossier et déplaçons la clé jenkins_keystore.jks à cet emplacement.

mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/

Modifiez les autorisations des clés et du dossier.

chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks

Étape 5: Modifiez la configuration de Jenkins pour SSL

Toutes les configurations de démarrage Jenkins clés sont présentes dans le fichier /etc/sysconfig/jenkins. Toutes les configurations basées sur SSL vont dans ce fichier.

Ouvrez le fichier

sudo vi /etc/sysconfig/jenkins

Recherchez et remplacez les valeurs dans le fichier comme indiqué ci-dessous.

Remarque: Remplacez your-keystore-password par le mot de passe du magasin de clés, que vous avez défini à l’étape 3

JENKINS_PORT="-1"JENKINS_HTTPS_PORT="8443"JENKINS_HTTPS_KEYSTORE="/etc/jenkins/jenkins.jks"JENKINS_HTTPS_KEYSTORE_PASSWORD="<your-keystore-password>"JENKINS_HTTPS_LISTEN_ADDRESS="0.0.0.0"

Enregistrez la configuration et redémarrez Jenkins.

sudo systemctl restart jenkins

Vérifiez l’état de Jenkins.

sudo systemctl status jenkins

Étape 6: Validez SSL

Maintenant, vous devriez pouvoir accéder à Jenkins via https avec le port 8443

https://<jenkins-dns/ip>:8443

Vous pouvez également utiliser curl pour vérifier SSL

curl -k https://<jenkins-dns/ip>:8443

Configurer SSL pour Jenkins

9 aCtions
  • Twitter
  • LinkedIn
  • Plus



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.