SSL: Różnice pomiędzy wersjami

m (Certyfikaty pośrednie)
(Komunikaty błędów)
 
(Nie pokazano 33 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
''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 <code>devil ssl</code>.
+
''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 <code>devil ssl</code>.  
  
 
=== SNI ===
 
=== SNI ===
  
Na serwerach ''MyDevil'' jest możliwość skorzystania z własnego certyfikatu bez prywatnego adresu IP za pomocą technologi SNI. Niestety nie jest ona [http://en.wikipedia.org/wiki/Server_Name_Indication#Web_browsers.5B6.5D. kompatybilna] ze wszystkimi starszymi przeglądarkami.
+
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 [http://en.wikipedia.org/wiki/Server_Name_Indication#Web_browsers.5B6.5D. 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]].
 +
 
 +
{{Warning|1=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:
 +
<code>devil ssl www add ''adres_ip'' le le ''nazwa_domeny''</code>
 +
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 ===
 
=== CSR ===
 +
 
Plik CSR (Certificate signing request) jest niezbędny do złożenia zamówienia i wystawienia certyfikatu SSL.
 
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 <code>openssl req -new -nodes -newkey rsa:2048 -out req.pem -keyout cert.key</code>. Wygenerowany w ten sposób plik <code class="directory">req.pem</code> należy przesłać do firmy, która udostępni certyfikat. Plik <code class="directory">cert.key</code> jest potrzebny po stronie serwera. Należy go bezpiecznie przechowywać i nie udostępniać osobom trzecim. Jego zgubienie uniemożliwi instalację certyfikatu.
+
Aby wygenerować plik CSR należy zalogować się na konto, a następnie użyć polecenia <code>openssl req -new -nodes -sha256 -newkey rsa:2048 -out req.pem -keyout cert.key</code>. Wygenerowany w ten sposób plik <code class="directory">req.pem</code> należy przesłać do firmy, która udostępni certyfikat. Plik <code class="directory">cert.key</code> 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 ===
 
=== Certyfikaty pośrednie ===
Linia 20: Linia 62:
 
* Windows
 
* Windows
  
Aby połączyć certyfikaty pośrednie należy wykorzystać program Notepad++ [https://notepad-plus-plus.org/ (link)], bądź jakikolwiek inny (oprócz Notatnika) edytor tekstu obsługujący różne kodowania znaków. Tworzymy nowy plik tekstowy, następnie otwieramy certyfikaty i kolejno (najpierw certyfikat domeny, a później certyfikaty pośrednie w kolejności przedstawionej przez dostawcę) przekopiowujemy zawartość plików certyfikatów do nowo utworzonego pliku. Ostatecznie zapisujemy nowy plik - możemy nadawać mu nazwę domena.chained o rozszerzeniu crt, czyli domena.chained.crt.
+
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.
 
 
=== Wymagania ===
 
Aby móc korzystać z SSL należy posiadać:
 
* wykupiony prywatny adres IP (tylko w przypadku nie korzystania z SNI),
 
* aktualny certyfikatu SSL oraz niechroniony hasłem klucz.
 
  
 
=== DevilWEB ===
 
=== DevilWEB ===
  
Po zalogowaniu się do [[DevilWEB|panelu administracyjnego]] zarządzanie SSL znajduje się w zakładce ''SSL''. Zarządzenie certyfikatami WWW znajduje się w zakładce ''WWW''. W przypadku braku własnego adresu IP można skorzystać z [[SSL#SNI|SNI]]. Zarządzenie 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.  
+
Po zalogowaniu się do [[DevilWEB|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 [[SSL#SNI|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.  
  
[[Plik:www sni add.png]]
+
[[Plik:Zarzadzanie certyfikatami ssl.png|1135px|class=mydevilscreen]]
  
 
=== Devil ===
 
=== Devil ===
Linia 37: Linia 74:
  
 
Dodawanie certyfikatu do strony www odbywa się za pomocą polecenia <code>devil ssl www add ''adres_ip certyfikat klucz [Nazwa domeny]''</code>, gdzie argumentami są:
 
Dodawanie certyfikatu do strony www odbywa się za pomocą polecenia <code>devil ssl www add ''adres_ip certyfikat klucz [Nazwa domeny]''</code>, gdzie argumentami są:
* ''adres_ip'' - prywatny adres IP użytkownika lub serwera WWW,
+
* ''adres_ip'' - prywatny adres IP użytkownika lub serwera WWW w przypadku korzystania z SNI,
 
* ''certfikat'' - ścieżka do pliku z certyfikatem,
 
* ''certfikat'' - ścieżka do pliku z certyfikatem,
 
* ''klucz'' -ścieżka do pliku z kluczem SSL nie chronionego hasłem,
 
* ''klucz'' -ścieżka do pliku z kluczem SSL nie chronionego hasłem,
Linia 45: Linia 82:
 
====Lista certyfikatów www====
 
====Lista certyfikatów www====
  
Lista certyfikatów jest dostępna po wykonaniu polecenia <code>devil ssl list</code>.
+
Lista certyfikatów jest dostępna po wykonaniu polecenia <code>devil ssl www list</code>.
  
 
==== Dodawanie i usuwanie certyfikatu mailowego ====
 
==== Dodawanie i usuwanie certyfikatu mailowego ====
Linia 53: Linia 90:
 
* ''certfikat'' - ścieżka do pliku z certyfikatem
 
* ''certfikat'' - ścieżka do pliku z certyfikatem
 
* ''klucz'' -ścieżka do pliku z kluczem SSL nie chronionego hasłem
 
* ''klucz'' -ścieżka do pliku z kluczem SSL nie chronionego hasłem
Usuwanie certyfikatu mail odbywa się za pomocą polecenia <code>devil ssl www mail ''adres_ip''</code>
+
Usuwanie certyfikatu mail odbywa się za pomocą polecenia <code>devil ssl mail del ''adres_ip''</code>
  
 
==== Lista certyfikatów mailowych ====
 
==== Lista certyfikatów mailowych ====
  
Lista certyfikatów mailowych  jest dostępna po wykonaniu polecenia <code>devil ssl mail</code>.
+
Lista certyfikatów mailowych  jest dostępna po wykonaniu polecenia <code>devil ssl mail list</code>.
 +
 
 +
=== 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
 +
 
 +
<code>devil ssl www get "adres_ip" "DOMENA"</code>
 +
 
 +
<code>devil ssl mail get "adres_ip"</code>
 +
 
 +
=== 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
 +
 
 +
<syntaxhighlight lang="bash">
 +
openssl x509 -inform der -in nazwa_pliku_w_formacie_der.cer -out wynikowy_plik_pem.crt
 +
</syntaxhighlight>
 +
 
 +
Sprawdzić czy wyniki poniższych poleceń są identyczne:
 +
<syntaxhighlight lang="bash">
 +
openssl x509 -in wynikowy_plik_pem.crt.crt -pubkey -noout -outform pem | sha256sum
 +
</syntaxhighlight>
 +
oraz
 +
<syntaxhighlight lang="bash">
 +
openssl pkey -in privateKey.pem -pubout -outform pem | sha256sum
 +
</syntaxhighlight>
 +
 
  
 
[[Category:WWW]]
 
[[Category:WWW]]
 
[[Kategoria:Poczta]]
 
[[Kategoria:Poczta]]

Aktualna wersja na dzień 15:36, 22 wrz 2021

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

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.

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