SSL¶
SSL (ang. Secure Socket Layer) zapewnia poufność i integralność transmisji danych, a także uwierzytelnienie serwera, a niekiedy również klienta. Opiera się na szyfrowaniu asymetrycznym oraz certyfikatach X.509. Na serwerach SMALL.PL konfiguracja SSL odbywa się za pomocą panelu administracyjnego DevilWEB oraz polecenia devil ssl
.
SNI¶
Na serwerach SMALL.PL jest możliwość skorzystania z własnego certyfikatu w tradycyjny sposób na własnym uprzednio wykupionym prywatnym adresie IP lub bez niego za pomocą technologii SNI. Należy jednak mieć na uwadze, że SNI nie jest kompatybilne ze wszystkimi starszymi przeglądarkami.
Generowanie darmowych certyfikatów Let's Encrypt¶
Udostępniamy pełną, automatyczną obsługę darmowych certyfikatów Let's Encrypt
łącznie z ich odnowieniami. Generowanie certyfikatów Let's Encrypt
jest możliwe zarówno za pomocą panelu DevilWEB i polecenia devil.
Uwaga
Podczas generowania sprawdzane są przez organizację Let's Encrypt
wpisy A
domeny na zewnętrznych serwerach DNS. Domena musi wskazywać na adres IP web (domyślny adres) lub prywatny adres zakupiony przez użytkownika.
DevilWEB¶
W celu wygenerowania i dodania certyfikatu Let's Encrypt
poprzez panel DevilWEB należy po zalogowaniu się do panelu przejść do SSL
➡ Strony WWW
➡ Zarządzaj
(przy wybranym adresie IP) ➡ + Dodaj certyfikat
➡ z listy wybrać Wygeneruj certyfikat Let's Encrypt
.
Devil¶
Aby wygenerować i dodać certyfikat Let's Encrypt
za pomocą narzędzia Devil należy wykonać polecenie: devil ssl www add ADRES_IP le le NAZWA_DOMENY
gdzie:
- ADRES_IP - to adres IP, pod którym dostępna jest strona
- NAZWA_DOMENY - to domena naszej witryny
CSR¶
Plik CSR (Certificate Signing Request) jest niezbędny do złożenia zamówienia i wystawienia certyfikatu SSL.
Aby wygenerować plik CSR należy zalogować się na konto, a następnie użyć polecenia: openssl req -new -nodes -sha256 -newkey rsa:2048 -out req.pem -keyout cert.key
. Wygenerowany w ten sposób plik req.pem
należy przesłać do firmy, która udostępni certyfikat. Plik cert.key
jest potrzebny po stronie serwera. Należy go bezpiecznie przechowywać i nie udostępniać osobom trzecim. Jego zgubienie uniemożliwi instalację certyfikatu.
Certyfikaty pośrednie¶
Każda z przeglądarek ma swoją bazę zaufanych wystawców certyfikatów. Nowy wystawca zamiast czekać na aktualizację takiej bazy generuje certyfikat pośredni. Aby tak wydany certyfikat zadziałał należy je połączyć w jeden plik (SSL certificate chains). O kolejności ich połączenia powinien poinformować dostawca. Certyfikat pośredni należy połączyć z certyfikatem dla domeny.
Linux
Aby połączyć certyfikaty pośrednie należy wykonać polecenie cat domena.crt bundle1.crt bundle2.crt bundle3.crt (...) > domena.chained.crt
(domena.chained.crt
jest efektem naszych działań - łączonym certyfikatem).
Windows
Aby połączyć certyfikat z certyfikatami pośrednimi należy utworzyć nowy plik tekstowy oraz wkleić do niego zawartość pliku z certyfikatem oraz certyfikatami pośrednimi (kolejność certyfikatów pośrednich według informacji od wystawcy certyfikatu). Nowy plik tekstowy zapisujemy pod dowolną nazwą, najlepiej dodając mu na na końcu rozszerzenie .crt
.
DevilWEB¶
Po zalogowaniu się do panelu administracyjnego zarządzanie certyfikatami SSL
znajduje się w zakładce SSL
. Zarządzanie certyfikatami WWW
znajduje się w zakładce WWW
. W przypadku braku własnego adresu IP można skorzystać z SNI
. Zarządzanie certyfikatami pocztowymi znajduje się w zakładce Pocztai
. Po kliknięciu przycisku Zarządzaj
przy adresie IP wyświetli się lista certyfikatów dla tego adresu. Aby dodać certyfikat należy przejść do zakładki + Dodaj certyfikat
. Należy wybrać plik certyfikatu, plik z kluczem oraz nazwę domeny, na którą został wydany certyfikat.
Devil¶
Dodawanie i usuwanie certyfikatu WWW¶
Dodawanie certyfikatu do strony WWW odbywa się za pomocą polecenia devil ssl www add ADRES_IP CERTYFIKAT KLUCZ [NAZWA_DOMENY]
, gdzie argumentami są:
- ADRES_IP - prywatny adres IP użytkownika lub serwera WWW w przypadku korzystania z SNI
- CERTYFIKAT - ścieżka do pliku z certyfikatem
- KLUCZ - ścieżka do pliku z kluczem SSL nie chronionego hasłem
- [NAZWA_DOMENY] - nazwa domeny do konfiguracji SNI (opcjonalnie)
Usuwanie certyfikatu WWW odbywa się za pomocą polecenia devil ssl www del ADRES_IP [NAZWA_DOMENY]
Lista certyfikatów WWW¶
Lista certyfikatów jest dostępna po wykonaniu polecenia devil ssl www list
.
Dodawanie i usuwanie certyfikatu dla poczty¶
Dodawanie certyfikatu dla poczty odbywa się za pomocą polecenia devil ssl mail add ADRES_IP CERTYFIKAT KLUCZ
, gdzie argumentami są:
- ADRES_IP - prywatny adres IP użytkownika
- CERTYFIKAT - ścieżka do pliku z certyfikatem
- KLUCZ - ścieżka do pliku z kluczem SSL nie chronionego hasłem
Usuwanie certyfikatu dla poczty odbywa się za pomocą polecenia devil ssl mail del ADRES_IP
Lista certyfikatów dla poczty¶
Lista certyfikatów dla poczty jest dostępna po wykonaniu polecenia devil ssl mail list
.
Pobieranie certyfikatów SSL¶
Istnieje możliwość pobrania certyfikatów SSL wraz z kluczami z naszej konfiguracji w tym również wygenerowanych za pomocą naszego systemu certyfikatów Let's Encrypt
.
DevilWEB¶
Opcja pobrania certyfikatu dostępna jest w:
- Dla certyfikatów WWW:
SSL
➡Strony WWW
➡Zarządzaj
➡Pobierz
- Dla certyfikatów poczty:
SSL
➡Poczta
➡Zarządzaj
➡Pobierz
Devil¶
Składania poleceń umożliwiających pobranie certyfikatów:
- Dla certyfikatów WWW:
devil ssl www get ADRES_IP DOMENA
- Dla certyfikatów poczty:
devil ssl mail get ADRES_IP
Konwersja certyfikatu z formatu DER do PEM¶
Konwersji certyfikatu z formatu binarnego DER
do obsługiwanego przez nasz system formatu PEM
można dokonać za pośrednictwem polecenia:
openssl x509 -inform der -in NAZWA_PLIKU_W_FORMACIE_DER.cer -out WYNIKOWY_PLIK_PEM.crt
Sprawdzić czy wyniki poniższych poleceń są identyczne:
openssl x509 -in WYNIKOWY_PLIK_PEM.crt -pubkey -noout -outform pem | sha256sum
oraz
openssl pkey -in KLUCZ_PRYWATNY.pem -pubout -outform pem | sha256sum