TLS

Poczta i bezpieczeństwo
Bezpieczeństwo warstwy transportowej.
← Wróć do słownika

Czym jest TLS?

TLS (Transport Layer Security) to protokół kryptograficzny zapewniający bezpieczną komunikację w sieciach komputerowych. TLS jest następcą SSL (Secure Sockets Layer) i stoi za połączeniami HTTPS, bezpiecznym przesyłaniem poczty (STARTTLS) oraz wieloma innymi szyfrowanymi protokołami internetowymi. Gdy w przeglądarce widzisz ikonę kłódki, TLS szyfruje dane między urządzeniem a serwerem.

Historia wersji TLS

WersjaRokStatus
SSL 2.01995Wycofana, niebezpieczna
SSL 3.01996Wycofana, niebezpieczna
TLS 1.01999Wycofana
TLS 1.12006Wycofana
TLS 1.22008Obowiązujący standard
TLS 1.32018Najnowsza, zalecana

Jak działa TLS

Uzgadnianie TLS (TLS 1.2)

Client                              Server

│ │

├──── ClientHello ─────────────────► │

│ (supported ciphers, random) │

│ │

│ ◄─── ServerHello ──────────────────┤

│ (selected cipher, cert) │

│ │

├──── Key Exchange ────────────────► │

│ (encrypted pre-master secret) │

│ │

│ ◄─── Finished ─────────────────────┤

│ │

└──── Encrypted Data ◄──────────────►┘

Ulepszenia TLS 1.3

Składniki TLS

Certyfikaty

Zestawy szyfrów

Definiują używane algorytmy szyfrowania:

TLS_AES_256_GCM_SHA384 (TLS 1.3)

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)

│ │ │ │

│ │ │ └── Hash algorithm

│ │ └── Encryption algorithm

│ └── Key exchange

└── Protocol

Zastosowania TLS

AplikacjaProtokółPort
Przeglądanie WWWHTTPS443
Poczta (IMAP)IMAPS993
Poczta (SMTP)SMTPS465
Wysyłanie pocztySTARTTLS587
FTPFTPS990

Konfiguracja serwera

Konfiguracja TLS w Nginx

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;

ssl_prefer_server_ciphers off;

ssl_session_cache shared:SSL:10m;

Dobre praktyki

1. Używaj TLS 1.2 lub 1.3: Wyłącz starsze wersje

2. Silne zestawy szyfrów: Preferuj szyfry AEAD

3. Włącz HSTS: Wymuszaj połączenia TLS

4. Zarządzaj certyfikatami: Automatyzuj odnowienia

5. Poufność przekazywana: Używaj wymiany kluczy ECDHE

6. Regularnie testuj: SSL Labs, testssl.sh

Testowanie konfiguracji TLS

# OpenSSL test

openssl s_client -connect example.com:443 -tls1_3

# Check certificate

echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text

TLS jest podstawą bezpiecznej komunikacji internetowej, szyfrując dane podczas przesyłania i chroniąc przed podsłuchiwaniem, manipulacją oraz atakami typu man-in-the-middle.

Wykorzystaj tę wiedzę w praktyce

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