SSL/TLS (Secure Sockets Layer / Transport Layer Security)

Poczta i bezpieczeństwo
Protokoły kryptograficzne szyfrujące komunikację między serwerami WWW a przeglądarkami, sygnalizowane przez HTTPS i ikonę kłódki.
← Wróć do słownika

Czym jest SSL/TLS?

SSL (Secure Sockets Layer) i TLS (Transport Layer Security) to protokoły kryptograficzne zabezpieczające komunikację w sieciach. TLS jest nowoczesnym następcą SSL, ale określenie „SSL” nadal jest powszechnie używane w odniesieniu do obu protokołów. Protokoły te umożliwiają HTTPS i szyfrują dane przesyłane między przeglądarkami a serwerami.

SSL a TLS: krótka historia

WersjaRokStan
SSL 1.01994Nigdy nieopublikowany (wadliwy)
SSL 2.01995Wycofany (niebezpieczny)
SSL 3.01996Wycofany (podatność POODLE)
TLS 1.01999Wycofany
TLS 1.12006Wycofany
TLS 1.22008Obowiązujący standard
TLS 1.32018Najnowszy, zalecany

Współczesne systemy powinny używać wyłącznie TLS 1.2 lub TLS 1.3.

Jak działa TLS

Uzgadnianie TLS

1. Client Hello: przeglądarka wysyła obsługiwane wersje TLS i zestawy szyfrów

2. Server Hello: serwer wybiera wersję TLS i zestaw szyfrów

3. Certyfikat: serwer wysyła swój certyfikat SSL

4. Wymiana kluczy: następuje bezpieczna wymiana kluczy, zależna od zestawu szyfrów

5. Zakończenie: zostaje ustanowiona szyfrowana sesja

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

TLS 1.3 ogranicza ten proces do jednej podróży w obie strony, poprawiając wydajność.

Certyfikaty SSL/TLS

Co zawiera certyfikat?

Rodzaje certyfikatów

Domain Validated (DV): potwierdza wyłącznie kontrolę nad domeną Organization Validated (OV): weryfikuje tożsamość organizacji Extended Validation (EV): najwyższy poziom weryfikacji

Zakres certyfikatu

Pojedyncza domena: obejmuje jedną domenę (example.com) Wildcard: obejmuje wszystkie subdomeny (*.example.com) Wiele domen (SAN): obejmuje wiele wskazanych domen

Wdrażanie SSL/TLS

Bezpłatne certyfikaty Let's Encrypt

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

Certyfikaty dostawców chmurowych

Większość platform chmurowych oferuje bezpłatne certyfikaty odnawiane automatycznie:

Weryfikacja certyfikatu

Przeglądarki weryfikują certyfikaty przez:

1. Sprawdzenie łańcucha certyfikatów prowadzącego do zaufanego głównego urzędu CA

2. Sprawdzenie, czy certyfikat nie wygasł

3. Potwierdzenie zgodności certyfikatu z domeną

4. Sprawdzenie statusu unieważnienia (CRL/OCSP)

Najlepsze praktyki SSL/TLS

Konfiguracja serwera

Używaj TLS 1.2+: wyłącz SSL 3.0, TLS 1.0 i TLS 1.1
ssl_protocols TLSv1.2 TLSv1.3;
Silne zestawy szyfrów: wybieraj nowoczesne i bezpieczne szyfry
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: wymuszaj HTTPS (zobacz hasło HSTS w glosariuszu)

Zarządzanie certyfikatami

Sprawdzanie SSL/TLS

Za pomocą DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

Za pomocą OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Narzędzia online: SSL Labs (ssllabs.com/ssltest) zapewnia kompleksową analizę.

Typowe problemy z SSL

Zawartość mieszana: strona HTTPS ładuje zasoby HTTP, które przeglądarki blokują Niedopasowanie certyfikatu: certyfikat nie odpowiada domenie Wygasły certyfikat: upłynął okres ważności certyfikatu Niepełny łańcuch: brakuje certyfikatów pośrednich

SSL/TLS nie jest już opcjonalny. Wszystkie witryny powinny używać HTTPS ze względów bezpieczeństwa i SEO.

Wykorzystaj tę wiedzę w praktyce

Użyj API DomScan, aby sprawdzić dostępność domen, ich kondycję i więcej.