Server podporuje zastaraný TLS 1.0 / 1.1

Čo to je

Váš server stále akceptuje spojenia cez TLS 1.0 alebo TLS 1.1. Tieto verzie sú od roku 2020 oficiálne deprecated — všetky hlavné prehliadače ich prestali podporovať. Moderný web by mal hovoriť len TLS 1.2 a TLS 1.3.

Prečo je to problém

TLS 1.0 a 1.1 obsahujú verejne známe útoky: BEAST, POODLE, problémy s renegociáciou a slabé šifry. Útočník na sieti medzi vami a serverom môže v niektorých prípadoch čítať alebo meniť obsah.

Druhotne to býva nález z hľadiska compliance. PCI-DSS od vás vyžaduje TLS 1.2+ od roku 2018. Audítori ZoKB / NIS2 to tiež kontrolujú.

Ako to opraviť

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. Reštart nie je potrebný.

Overenie

Po nasadení si výsledok overte novým skenom na vulscan.app (kontrola TLS verzií je súčasťou bezplatného skenu) alebo cez nmap --script ssl-enum-ciphers -p 443 example.cz.

Čo sa môže pokaziť

Veľmi starí klienti (IE 10, Android < 5, pokladnice so starým firmware) bez TLS 1.2 stratia prístup. V drvivej väčšine B2C webov to nie je problém. Ak máte špecifický dôvod (B2B integrácia na legacy systém), nechajte klienta upgradovať — downgrade na vašom serveri by bol pasca pre všetkých ostatných.

Referencie