Serwer obsługuje przestarzałe TLS 1.0 / 1.1

Co to jest

Twój serwer wciąż akceptuje połączenia przez TLS 1.0 lub TLS 1.1. Te wersje są od 2020 roku oficjalnie deprecated — wszystkie główne przeglądarki przestały je wspierać. Nowoczesny web powinien mówić tylko TLS 1.2 i TLS 1.3.

Dlaczego to problem

TLS 1.0 i 1.1 są podatne na publicznie znane ataki: BEAST, POODLE, problemy z renegocjacją oraz słabe szyfry. Atakujący w sieci pomiędzy Tobą a serwerem może w niektórych przypadkach czytać lub zmieniać treść.

Wtórnie bywa to znaleziskiem zgodności (compliance). PCI-DSS wymaga od Ciebie TLS 1.2+ od 2018 roku. Audytorzy ZoKB / NIS2 też to sprawdzają.

Jak to naprawić

nginx

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

Apache

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!aNULL:!MD5

Cloudflare

SSL/TLS → Edge Certificates → Minimum TLS Version → TLS 1.2. Restart nie jest potrzebny.

Weryfikacja

Po wdrożeniu zweryfikuj wynik nowym skanem na vulscan.app (kontrola wersji TLS jest częścią bezpłatnego skanu) lub przez nmap --script ssl-enum-ciphers -p 443 example.cz.

Co może pójść nie tak

Bardzo starzy klienci (IE 10, Android < 5, terminale płatnicze ze starym firmware) bez TLS 1.2 stracą dostęp. W zdecydowanej większości witryn B2C nie jest to problem. Jeśli masz konkretny powód (integracja B2B z systemem legacy), pozwól klientowi zaktualizować się — downgrade na Twoim serwerze byłby pułapką dla wszystkich pozostałych.

Odnośniki