hoe SSL te configureren op Jenkins Server
Het is erg belangrijk om Jenkins te beveiligen door SSL aan te zetten die draait in een project omgeving. Dit artikel leidt je door de stap voor stap handleiding voor het configureren van SSL op een Jenkins server.
Hieronder volgen de stappen die betrokken zijn bij het configureren van SSL op Jenkins server.
- SSL-certificaten verkrijgen
- SSL-sleutels converteren naar PKCS12-indeling
- PKCS12 converteren naar JKS-indeling
- voeg JKS toe aan Jenkins path
- configureer Jenkins startup om het JKS-bestand te gebruiken.
- Valideer Jenkins SSL
laten we beginnen met de setup
Stap 1: verkrijg domein & SSL certificaten
u moet een geldig domein hebben dat naar Jenkins server IP wijst om SSL te configureren. Het domein kan intern of extern zijn op basis van uw organisatie-infrastructuur.
SSL certificaat kan worden verkregen met behulp van de volgende methoden.
- in de meeste gevallen zult u Jenkins in een privé-omgeving met een interne DNS hebben en kunt u de interne SSL-certificaten van de respectievelijke organisaties verkrijgen.
- u kunt ook zelfondertekende SSL-certificaten maken met OpenSSL. Volg deze blog en genereer SSL-certificaten om zelfondertekende certificaten te maken met OpenSSL.
- ook kunt u services gebruiken om geldige SSL-certificaten te versleutelen. Maar deze certificaten moeten om de drie maanden worden vernieuwd.
Stap 2: converteer SSL-sleutels naar PKCS12-formaat
Opmerking: Als u het certificaat al in
.p12
of.pfx
formaat hebt, hoeft u deze conversie niet te doen.
het onderstaande commando converteert SSL-certs naar een tussenliggende PKCS12-indeling met de naam jenkins.p12
. Zorg ervoor dat je de volgende certs bij je hebt voordat je het commando uitvoert.
- ca.crt
- server.sleutel
- server.crt
ook,
- vervang
jenkins.devopscube.com
in het commando met uw eigen alias naam - vervang
your-strong-password
met een sterk wachtwoord.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
Stap 3: Converteer PKCS12 naar JKS formaat
gebruik het volgende keytool commando om jenkins.p12
bestand naar JKS formaat te converteren.
vervang het volgende door uw eigen waarden.
-
-srcstorepass
– wachtwoord gebruikt in Stap 3 -
-deststorepass
– vervangen door een sterk wachtwoord. -
-srcalias
– alias naam gebruikt in Stap 2 -
-destalias
– vervangen door een bestemmingsalias naam.
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
u ziet een bestand met de naam jenkins.jks
op uw huidige locatie.
Stap 4: Voeg JKS toe aan Jenkins path
jenkins_keystore.jks
bestand moet worden opgeslagen op een specifieke locatie waar Jenkins toegang tot heeft.
laten we een map aanmaken en de jenkins_keystore.jks
sleutel naar die locatie verplaatsen.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
Wijzig de rechten van de sleutels en de map.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Stap 5: Wijzig Jenkins configuratie voor SSL
alle Key Jenkins startup configuraties zijn aanwezig in /etc/sysconfig/jenkins
bestand. Alle op SSL gebaseerde configuraties gaan in dit bestand.
Open het bestand
sudo vi /etc/sysconfig/jenkins
Zoek en vervang de waarden in het bestand zoals hieronder weergegeven.
opmerking: vervang
your-keystore-password
met het Keystore wachtwoord, U stelt in Stap 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"
De configuratie opslaan en Jenkins herstarten.
sudo systemctl restart jenkins
Controleer Jenkins status.
sudo systemctl status jenkins
Stap 6: Valideer SSL
nu zou u toegang moeten kunnen krijgen tot Jenkins via HTTPS met poort 8443
https://<jenkins-dns/ip>:8443
u kunt ook curl gebruiken om SSL
curl -k https://<jenkins-dns/ip>:8443
- more