SSL

(Przekierowano z Let's Encrypt)

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.

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.

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/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 jdomeny 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.

Zarzadzanie certyfikatami ssl.png

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.

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