SSL: Różnice pomiędzy wersjami
(→Wymagania) |
Kacperinjo (dyskusja | edycje) (→Komunikaty błędów) |
||
(Nie pokazano 53 wersji utworzonych przez 6 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. | ||
=== SNI === | === SNI === | ||
− | Na serwerach ''MyDevil'' jest możliwość skorzystania z własnego certyfikatu bez | + | 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 === | ||
+ | |||
+ | 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 -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 === | ||
+ | |||
+ | 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 <code>cat domena.crt bundle1.crt bundle2.crt bundle3.crt (...) > domena.chained.crt</code> (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 === | === DevilWEB === | ||
+ | |||
+ | 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:Zarzadzanie certyfikatami ssl.png|1135px|class=mydevilscreen]] | ||
+ | |||
=== Devil === | === Devil === | ||
==== Dodawanie i usuwanie certyfikatu WWW==== | ==== Dodawanie i usuwanie certyfikatu WWW==== | ||
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 24: | 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 32: | 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 | + | 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]] |
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
.
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