jak skonfigurować SSL na serwerze Jenkins
bardzo ważne jest zabezpieczenie Jenkinsa poprzez włączenie SSL działającego w środowisku projektowym. W tym artykule omówiono przewodnik krok po kroku dotyczący konfigurowania protokołu SSL na serwerze Jenkins.
poniżej przedstawiono kroki związane z konfiguracją SSL na serwerze Jenkins.
- uzyskiwanie certyfikatów SSL
- Konwertuj klucze SSL na format PKCS12
- Konwertuj PKCS12 na format JKS
- Dodaj JKS do ścieżki Jenkinsa
- Skonfiguruj uruchamianie Jenkinsa, aby używał pliku JKS.
- Walidacja Jenkins SSL
Zacznijmy od konfiguracji
Krok 1: uzyskanie domeny& Certyfikaty SSL
aby skonfigurować SSL, powinieneś mieć poprawną domenę wskazującą na adres IP serwera Jenkins. Domena może być wewnętrzna lub zewnętrzna w oparciu o infrastrukturę organizacji.
certyfikat SSL można uzyskać za pomocą następujących metod.
- w większości przypadków będziesz mieć Jenkinsa w prywatnym środowisku z wewnętrznym DNS i możesz uzyskać wewnętrzne certyfikaty SSL od odpowiednich organizacji.
- możesz również tworzyć samodzielnie podpisane certyfikaty SSL za pomocą OpenSSL. Śledź ten blog, Generuj certyfikaty SSL, aby tworzyć certyfikaty podpisane samodzielnie za pomocą OpenSSL.
- możesz również korzystać z usług jako Let ’ s encrypt dla ważnych certyfikatów SSL. Ale te certyfikaty muszą być odnawiane co trzy miesiące.
Krok 2: przekonwertuj klucze SSL do formatu PKCS12
Uwaga: Jeśli posiadasz już certyfikat w formacie
.p12
lub.pfx
, nie musisz wykonywać tej konwersji.
polecenie podane poniżej konwertuje certyfikaty SSL na pośredni format PKCS12 o nazwiejenkins.p12
. Przed wykonaniem polecenia upewnij się, że masz przy sobie następujące certyfikaty.
- ok.serwer crt
- .klucz
- serwer.crt
również,
- Zastąp
jenkins.devopscube.com
w poleceniu z własną nazwą aliasu - Zastąp
your-strong-password
silnym hasłem.
openssl pkcs12 -export -out jenkins.p12 \-passout 'pass:your-strong-password' -inkey server.key \-in server.crt -certfile ca.crt -name jenkins.devopscube.com
Krok 3: Konwertuj PKCS12 do formatu JKS
Użyj następującego polecenia keytool, aby przekonwertować plik jenkins.p12
do formatu JKS.
Zamień poniższe wartości na własne.
-srcstorepass
– hasło użyte w kroku 3-deststorepass
– Zamień na silne hasło.-srcalias
– nazwa aliasu użyta w kroku 2-destalias
– Zastąp nazwą aliasu docelowego.
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
powinieneś zobaczyć plik o nazwiejenkins.jks
w bieżącej lokalizacji.
Krok 4: Dodaj JKS do ścieżki Jenkinsa
jenkins_keystore.jks
plik powinien zostać zapisany w określonym miejscu, w którym Jenkins ma do niego dostęp.
stwórzmy folder i przenieśmyjenkins_keystore.jks
klucz do tej lokalizacji.
mkdir -p /etc/jenkinscp jenkins_keystore.jks /etc/jenkins/
Zmień uprawnienia kluczy i folderu.
chown -R jenkins: /etc/jenkinschmod 700 /etc/jenkinschmod 600 /etc/jenkins/jenkins.jks
Krok 5: zmodyfikuj konfigurację Jenkinsa dla SSL
wszystkie kluczowe konfiguracje uruchamiania Jenkinsa są obecne w pliku/etc/sysconfig/jenkins
. Wszystkie konfiguracje oparte na SSL trafiają do tego pliku.
Otwórz plik
sudo vi /etc/sysconfig/jenkins
znajdź i zamień wartości w pliku, Jak pokazano poniżej.
Uwaga: Zastąp
your-keystore-password
hasłem Keystore, ustawionym w kroku 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"
Zapisz konfigurację i uruchom ponownie Jenkins.
sudo systemctl restart jenkins
Sprawdź status.
sudo systemctl status jenkins
Krok 6: Zweryfikuj SSL
teraz powinieneś mieć dostęp do Jenkinsa przez https z portem 8443
https://<jenkins-dns/ip>:8443
Możesz również użyć curl do weryfikacji SSL
curl -k https://<jenkins-dns/ip>:8443
- więcej