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
| Wersja | Rok | Stan |
|---|---|---|
| SSL 1.0 | 1994 | Nigdy nieopublikowany (wadliwy) |
| SSL 2.0 | 1995 | Wycofany (niebezpieczny) |
| SSL 3.0 | 1996 | Wycofany (podatność POODLE) |
| TLS 1.0 | 1999 | Wycofany |
| TLS 1.1 | 2006 | Wycofany |
| TLS 1.2 | 2008 | Obowiązujący standard |
| TLS 1.3 | 2018 | Najnowszy, 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?
- Podmiot: nazwa lub nazwy domen objętych certyfikatem
- Wystawca: urząd certyfikacji (CA), który go wydał
- Okres ważności: daty rozpoczęcia i wygaśnięcia
- Klucz publiczny: służy do ustanawiania szyfrowanych połączeń
- Podpis: podpis kryptograficzny urzędu certyfikacji
Rodzaje certyfikatów
Domain Validated (DV): potwierdza wyłącznie kontrolę nad domeną- Wydawany w ciągu kilku minut
- Bezpłatny (Let's Encrypt) lub niedrogi
- Pokazuje kłódkę, ale nie informacje o organizacji
- Wymaga weryfikacji firmy
- Pokazuje nazwę organizacji w szczegółach certyfikatu
- Zapewnia większe zaufanie przy umiarkowanym koszcie
- Rygorystyczna weryfikacja tożsamości
- Wcześniej pokazywał zielony pasek, który przeglądarki usunęły
- Najwyższy koszt i najwyższy poziom zaufania
Zakres certyfikatu
Pojedyncza domena: obejmuje jedną domenę (example.com) Wildcard: obejmuje wszystkie subdomeny (*.example.com) Wiele domen (SAN): obejmuje wiele wskazanych domenWdraż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:
- Cloudflare: automatycznie dla domen proxy
- AWS: Certificate Manager (ACM)
- Google Cloud: zarządzane certyfikaty SSL
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.1ssl_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
- Automatyzuj odnowienia: certyfikaty wygasają, a Let's Encrypt wydaje je na 90 dni
- Monitoruj wygaśnięcie: ustaw alerty przed końcem ważności certyfikatów
- Używaj rekordów CAA: ogranicz, które urzędy CA mogą wydawać certyfikaty
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średnichSSL/TLS nie jest już opcjonalny. Wszystkie witryny powinny używać HTTPS ze względów bezpieczeństwa i SEO.