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 MyDevil konfiguracja SSL odbywa się za pomocą panelu administracyjnego DevilWEB oraz polecenia devil ssl
.
Spis treści
- 1 SNI
- 2 Generowanie darmowych certyfikatów Let's Encrypt
- 2.1 DevilWEB
- 2.2 Devil
- 2.3 Komunikaty błędów
- 2.3.1 devil/error/ssl/www/add/too_many_certificates_already_issued_for_domain
- 2.3.2 devil/error/ssl/www/add/rate_limited
- 2.3.3 devil/error/ssl/www/add/more_than_one_A_record
- 2.3.4 devil/error/ssl/www/add/invalid_A_record
- 2.3.5 devil/error/ssl/www/add/no_A_record
- 2.3.6 devil/error/ssl/www/add/no_domain
- 2.3.7 devil/error/ssl/www/add/has_AAAA_record
- 2.3.8 devil/error/ssl/www/add/broken_domain_caa
- 3 CSR
- 4 Certyfikaty pośrednie
- 5 DevilWEB
- 6 Devil
- 7 Pobieranie certyfikatów SSL
- 8 Konwersja certyfikatu z formatu DER do PEM
SNI
Na serwerach MyDevil jest możliwość skorzystania z własnego certyfikatu w sposób tradycyjny na własnym uprzednio wykupionym prywatnym adresie IP lub bez niego za pomocą technologi SNI. Przy czym nie jest ona kompatybilna 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ą DevilWEB jak i Devil.
Podczas generowania sprawdzane są przez organizację Let's Encrypt wpisy A domeny na zewnętrznych serwerach dns. Domena musi wskazywać na adres IP webowe (domyślny adres) lub dodatkowy 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 wydać polecenie:
devil ssl www add adres_ip le le nazwa_domeny
gdzie adres_ip to adres IP pod którym dostępna jest strona a nazwa_domeny to domena naszej witryny.
Komunikaty błędów
W czasie dodawania za pośrednictwem panelu DevilWEB lu devil można napotkać na następujące komunikaty:
devil/error/ssl/www/add/too_many_certificates_already_issued_for_domain
Wykorzystano tygodniowy limit certyfikatów dla danej domeny. Limit resetowany jest po stronie organizacji Let's Encrypt co poniedziałek.
devil/error/ssl/www/add/rate_limited
Przekroczenie limitu żądań do Let's Encrypt dla domeny/subdomeny lub przekroczenie tygodniowego limitu certyfikatów w domenie. Więcej o limitach Let's Encrypt: https://letsencrypt.org/docs/rate-limits/
devil/error/ssl/www/add/more_than_one_A_record
Wpisy DNS dla danej domeny zawierają więcej niż jeden wpis A.
devil/error/ssl/www/add/invalid_A_record
Wpis DNS A domeny jest nieprawidłowy.
devil/error/ssl/www/add/no_A_record
Dana domena nie posiada wpisu DNS A.
devil/error/ssl/www/add/no_domain
devil/error/ssl/www/add/has_AAAA_record
Gdy domena posiada wpis DNS AAAA Let's Encrypt podejmuje próbę połączenia za pomocą protokołu IPv6, co nie jest możliwe w wypadku MyDevil. Jeśli dana domena ma otrzymać certyfikat Let's encrypt w ramach hostingu MyDevil.net należy usunąć wpis AAAA.
devil/error/ssl/www/add/broken_domain_caa
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 łączony należy połączyć z domeną.
- 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 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 Poczta. 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,
- certfikat - ś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.
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 mailowego
Dodawanie certyfikatu mailowego odbywa się za pomocą polecenia devil ssl mail add adres_ip certyfikat klucz
, gdzie argumentami są:
- adres_ip - prywatny adres IP użytkownika lub serwera WWW
- certfikat - ścieżka do pliku z certyfikatem
- klucz -ścieżka do pliku z kluczem SSL nie chronionego hasłem
Usuwanie certyfikatu mail odbywa się za pomocą polecenia devil ssl mail del adres_ip
Lista certyfikatów mailowych
Lista certyfikatów mailowych 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:
SSL ➡ Strony WWW (WWW Websites) ➡ Zarządzaj (Manage) ➡ Pobierz (Download)
SSL ➡ Poczta (E-mail) ➡ Zarządzaj (Manage) ➡ Pobierz (Download)
Devil
Składania poleceń umożlwiaijących pobranie certyfikatów
devil ssl www get "adres_ip" "DOMENA"
devil ssl mail get "adres_ip"
Konwersja certyfikatu z formatu DER do PEM
Konwersji certyfikatu z formatu binarnego DER do obsługiwanego przez nasze panele formatu PEM można dokonać za pośrednictwem polecenia 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.crt -pubkey -noout -outform pem | sha256sum
oraz
openssl pkey -in privateKey.pem -pubout -outform pem | sha256sum