Jenkins & SonarQube on server: SSL (TSL) certification for a server - marcinogo/robot GitHub Wiki

Certyfikacja SSL / TSL serwera

Problem

Do certyfikowania serwera niezbędne jest otrzymanie certyfikatu dla naszej domeny od CA (Certificate Authority). Nasz wybór padł na darmowy, opensource Let’s Encrypt.

Ponieważ mieliśmy dostęp do powłoki serwera, mogliśmy użyć zalecanego przez dokumentację Certbota. Tu napotkaliśmy dwa pierwsze problemy.

Przy pierwszym podejściu na naszym serwerze (maszyna) nie było zainstalowanego serwera HTTP (oprogramowanie). Dlatego też (co wynikało z naszej niewiedzy) byliśmy zmuszeni walczyć z instrukcją dla innego serwera niż wymienione. Problemem było brak zainstalowanego serwera HTTP.

Drugi problem, który napotkaliśmy to wymóg posiadania domeny, którą można certyfikować. Nie można po prostu uzyskać certyfikatu dla <numeru IP serwera> oraz <portu na serwerze>.

Rozwiązanie

  1. Instalacja serwera HTTP Apache2,

  2. Wykupienie domeny usłudze hostingowej home.pl,

  3. Skojarzenie domeny z <numerem IP serwera> i <portu na serwerze>,

  4. Certyfikacja SSL serwera.

Zdecydowaliśmy się na hosting home.pl ponieważ koszt za pierwszy rok wynosił tylko 1,23 PLN. Naszą domeną został http://jenkins-nasz-pan.pl.

Skojarzenie domeny z <numerem IP serwera> i <portu na serwerze> wymagało konfiguracji plików Apache2: /etc/apache2/ports.conf, /etc/apache2/sites-available/000-default.conf oraz /etc/apache2/sites-available/default-ssl.conf, jak również odpowiedniej konfiguracji w panelu użytkownika usługi hostingowej.

Do uzyskania certyfikatu skorzystaliśmy z instrukcji. W pliku default-ssl.conf w deklaracji <VirtualHost *:443> dodane zostały: SSLCertificateFile, SSLCertificateKeyFile oraz Include, a w odpowiedniej lokalizacji dodane zostały klucz prywatny oraz publiczny naszego certyfikatu. Nasz serwer stał się certyfikowany.

Glosariusz

W kontekście sprawdzenia, czy i jak nasz serwer jest certyfikowany, pojawiły się dwa pytania od klienta technicznego. Mianowicie czym są:

  • Signature algorithm: SHA256withRSA - jak zabezpieczony jest nasz certyfikat SSL / TSL: poprzez asymetryczną parę kluczy RSA kodowanych za pomocą algorytmu SHA256,

  • Key: RSA 2048 bits (e 65537) - jaka jest długość klucza RSA oraz kolejność bajtów.

⚠️ **GitHub.com Fallback** ⚠️