Cómo configurar SSL en el servidor Jenkins

Es muy importante proteger Jenkins habilitando SSL que se ejecuta en un entorno de proyecto. Este artículo lo guía paso a paso para configurar SSL en un servidor Jenkins.

A continuación se indican los pasos necesarios para configurar SSL en el servidor Jenkins.

  1. Obtener certificados SSL
  2. Convertir claves SSL al formato PKCS12
  3. Convertir PKCS12 al formato JKS
  4. Agregar JKS a la ruta de Jenkins
  5. Configurar el inicio de Jenkins para usar el archivo JKS.
  6. Validar SSL de Jenkins

Vamos a empezar con la configuración

Paso 1: Obtener dominio& Certificados SSL

Debe tener un dominio válido que apunte a la IP del servidor Jenkins para configurar SSL. El dominio puede ser interno o externo en función de la infraestructura de su organización.

El certificado SSL se puede obtener utilizando los siguientes métodos.

  1. En la mayoría de los casos, tendrá Jenkins en un entorno privado con un DNS interno y podrá obtener los certificados SSL internos de las respectivas organizaciones.
  2. También puede crear certificados SSL autofirmados mediante OpenSSL. Siga este blog, genere certificados SSL para crear certificados autofirmados con OpenSSL.
  3. Además, puede usar servicios como let’s encrypt para certificados SSL válidos. Pero estos certificados deben renovarse cada tres meses.

Paso 2: Convierta las claves SSL al formato PKCS12

Nota: Si ya tiene el certificado en el formato .p12o .pfx, no tiene que hacer esta conversión.

El comando que se muestra a continuación convierte certificados SSL a formato PKCS12 intermedio llamado jenkins.p12. Asegúrese de tener los siguientes certificados con usted antes de ejecutar el comando.

  1. ca.servidor crt
  2. .servidor de clave
  3. .crt

También

  1. Reemplace jenkins.devopscube.com en el comando con su propio nombre de alias
  2. Reemplace your-strong-password con una contraseña fuerte.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com

Paso 3: Convertir PKCS12 a formato JKS

Utilice el siguiente comando de herramienta clave para convertir el archivo jenkins.p12 a formato JKS.

Reemplace lo siguiente con sus propios valores.

  1. -srcstorepass div – – Contraseña utilizada en el paso 3
  2. -deststorepass div – – Reemplazar con una contraseña segura.
  3. -srcalias nombre de alias utilizado en el paso 2
  4. -destalias Reemplace con un destino nombre de alias.
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

Debería ver un archivo llamado jenkins.jks en su ubicación actual.

Paso 4: Agregue JKS a la ruta de Jenkins

jenkins_keystore.jks el archivo debe guardarse en una ubicación específica donde Jenkins pueda acceder a él.

Vamos a crear una carpeta y mover la tecla jenkins_keystore.jks a esa ubicación.

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

Cambie los permisos de las claves y la carpeta.

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

Paso 5: Modificar la configuración de Jenkins para SSL

Todas las configuraciones de inicio de Jenkins clave están presentes en el archivo /etc/sysconfig/jenkins. Todas las configuraciones basadas en SSL van a este archivo.

Abra el archivo

sudo vi /etc/sysconfig/jenkins

Busque y reemplace los valores en el archivo como se muestra a continuación.

Nota: Reemplace your-keystore-password con la contraseña del Almacén de claves, que estableció en el paso 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"

Guardar la configuración y reiniciar Jenkins.

sudo systemctl restart jenkins

Comprobar el estado de Jenkins.

sudo systemctl status jenkins

Paso 6: Validar SSL

Ahora usted debería ser capaz de acceder a Jenkins a través de https con el puerto 8443

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

también puede usar curl para verificar SSL

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

Configurar SSL para Jenkins

9Shares
  • Twitter
  • LinkedIn
  • Más



Deja una respuesta

Tu dirección de correo electrónico no será publicada.