como configurar o SSL no Jenkins Server
é muito importante proteger o Jenkins, permitindo que o SSL seja executado num ambiente de projecto. Este artigo indica-lhe o guia passo a passo para configurar o SSL num servidor Jenkins.
a seguir estão os passos envolvidos na configuração de SSL no servidor Jenkins.
- obtenha certificados SSL
- converta as chaves SSL para o formato pkcs12
- converta o PKCS12 para o formato JKS
- Configure Jenkins startup para usar o ficheiro JKS.
- Validate Jenkins SSL
adicione o JKS ao caminho Jenkins
Lets get started with the setup
Step 1: Obtain Domain SSL Certificates
you should have a valid domain pointing to Jenkins server IP to configure SSL. O domínio pode ser interno ou externo baseado na infraestrutura de suas organizações.o certificado SSL pode ser obtido utilizando os seguintes métodos:
- na maioria dos casos, você terá Jenkins em um ambiente privado com um DNS interno e você pode obter os certificados SSL internos das respectivas organizações.
- Você também pode criar certificados SSL autossignados usando o OpenSSL. Siga este ‘blog’, gere os certificados SSL para criar os certificados auto-assinados com o OpenSSL.
- Também, você pode usar serviços como vamos criptografar para certificados SSL válidos. Mas estes certificados têm de ser renovados de três em três meses.
Passo 2: Converter chaves SSL para o formato PKCS12
Nota: Se você já tiver o certificado em
.p12
ou.pfx
formato, você não precisa fazer esta conversão.
o comando abaixo converte certs SSL para um formato intermediário PKCS12 chamadojenkins.p12
. Certifique-se de que tem as seguintes certs consigo antes de executar o comando.
- ca.servidor crt
- .chave
- servidor.crt
Also,
- Replace
jenkins.devopscube.com
in the command with your own alias name - Replace
your-strong-password
with a strong password.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
Passo 3: Converter o PKCS12 para o formato JKS
Use o seguinte comando keytool para converter jenkins.p12
ficheiro para o formato JKS.
substitua o seguinte pelos seus próprios valores.
-
-srcstorepass
– senha usada no Passo 3 -deststorepass
– substituir por uma senha forte.-
-srcalias
– também conhecido por nome utilizado no Passo 2 -destalias
– substituir por um nome de destino.
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
deve ver um ficheiro chamadojenkins.jks
na sua localização actual.
Passo 4: Adicionar JKS a Jenkins path
jenkins_keystore.jks
o ficheiro deve ser gravado num local específico onde o Jenkins o possa aceder.
vamos criar uma pasta e mover a chave jenkins_keystore.jks
para essa localização.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
altera as permissões das chaves e da pasta.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Step 5: Modify Jenkins Configuration for SSL
Todas as configurações de inicialização chave Jenkins estão presentes em file. Todas as configurações baseadas em SSL vão para este ficheiro.
abra o ficheiro
sudo vi /etc/sysconfig/jenkins
encontre e substitua os valores no ficheiro, como mostrado abaixo.
Nota: Substituir
your-keystore-password
com a senha do armazenamento de chaves, você definiu na etapa 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"
Salve a configuração e reinicie o Jenkins.
sudo systemctl restart jenkins
Check Jenkins status.
sudo systemctl status jenkins
Passo 6: Validar SSL
Agora você deve ser capaz de acessar Jenkins através de https, com a porta 8443
https://<jenkins-dns/ip>:8443
Você também pode usar o curl para verificar SSL
curl -k https://<jenkins-dns/ip>:8443
- Mais