Všechny verze SSL /TLS protokol před TLS 1.2 jsou nyní zastaralé a považovány za nejisté. Mnoho platforem webových serverů stále existuje TLS 1.0 a TLS Ve výchozím nastavení povoleno 1.1. Všechny moderní webové prohlížeče jsou však kompatibilní s TLS 1.2. Z tohoto důvodu je vhodné, aby si vlastníci webových stránek zkontrolovali konfiguraci svého serveru a ujistili se, že pouze aktuální, zabezpečené verze SSL /TLS jsou povoleny a všechny ostatní (včetně TLS 1.0, TLS 1.1 a SSL 3.0) jsou deaktivovány.
Tato příručka obsahuje pokyny pro kontrolu, které verze protokolu SSL /TLS jsou povoleny na webu a deaktivují zastaralé verze SSL /TLS v Apache a Nginx a ukazuje příklady chyb prohlížeče vyplývajících ze serverů, které provozují pouze zastaralé, nezabezpečené verze SSL /TLS.
Zaškrtněte Povoleno SSL /TLS verze
Nástroje online
Můžete rychle zkontrolovat verze SSL /TLS váš web podporuje návštěvou CDN77 TLS kontrolor a zadejte název domény, kterou chcete zkontrolovat. Jak je vidět níže, https://example.com aktuálně zakáže SSL verze 2 a 3, ale povolí všechny verze TLS (včetně zastaralých TLS 1.1 a 1.0):
Nmap
Můžete také zkontrolovat SSL /TLS verze a šifry podporované webem s otevřeným zdrojovým kódem nmap nástroj příkazového řádku:
nmap --script ssl-enum-ciphers -p
Výchozí port pro SSL /TLS is 443
. Následující příkaz vygeneruje zprávu pro example.com
:
$ nmap --script ssl-enum-ciphers -p 443 example.com Počínaje Nmap 7.80 (https://nmap.org) v 2020-08-25 13:10 EDT Zpráva o skenování Nmap pro example.com (93.184.216.34) Hostitel je nahoře (latence 0.031 s). Další adresy pro example.com (nenaskenované): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 PORT STATE SERVICE 443 / tcp otevřít https | šifry ssl-enum: | TLSv1.0: | šifry: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A | TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | kompresory: | NULL | předvolba šifry: server | TLSv1.1: | šifry: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A | TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | kompresory: | NULL | předvolba šifry: server | TLSv1.2: | šifry: | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A | TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A | TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_AES_128_GCM_SHA256 (RSA 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A | TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A | TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | kompresory: | NULL | předvolba šifry: server | _ nejmenší síla: Nmap hotový: 1 IP adresa (1 hostitel nahoru) naskenována za 3.88 sekundy
Konfigurace serveru
Apache
Zakázat TLS 1.0 a 1.1 v Apache, budete muset upravit konfigurační soubor obsahující SSLProtocol
směrnice pro váš web. Tento soubor může být umístěn na různých místech v závislosti na vaší platformě, verzi nebo jiných podrobnostech instalace. Některá možná umístění jsou:
/usr/local/apache2/conf/extra/httpd-ssl.conf
(výchozí instalace Apache)/etc/apache2/mods-enabled/ssl.conf
(Ubuntu / Debian)/private/etc/apache2/extra/httpd-ssl.conf
(Operační Systém Mac)
Když najdete správný konfigurační soubor, hledejte řádek začínající na SSLProtocol
. Tento příklad z výchozí instalace macOS Apache zakáže SSLv3 pomocí -
operátor, ale umožňuje TLS 1.0 a 1.1:
SSL Protokol vše - SSLv3
Můžete deaktivovat všechny zastaralé verze SSL /TLS podporováno Apache jejich specifikací takto:
SSLProtocol vše -SSLv3 -TLSv1 -TLSv1.1
Konfigurace výše umožňuje TLS 1.2, stejně jako TLS 1.3, pokud je ve vašem prostředí k dispozici.
Apache a virtuální hostitelé
Apache může provozovat více než jeden web na jednom serveru. Tyto virtuálních hostitelů může být založeno na čísle IP, portu nebo názvu domény a může zahrnovat nastavení, které přepíše základní konfiguraci pro Apache. Z tohoto důvodu byste měli zkontrolovat nastavení pro každého virtuálního hostitele v konfiguračních souborech, zejména pokud provedete změny základního SSL /TLS Zdá se, že konfigurace nefunguje.
U verzí Apache starších než 2.4.42 (vytvořených / propojených s OpenSSL před 1.1.1) nebylo možné zadat různé SSL /TLS protokoly pro virtuální hostitele založené na jménech, kteří sdílejí stejné základní číslo IP a port - SSLProtocol
prvního virtuálního hostitele byl aplikován na všechny ostatní. Počínaje Apache 2.4.42 / OpenSSL 1.1.1, SSLProtocol
každého virtuálního hostitele založeného na jménu se ctí, když Indikace názvu serveru (SNI) je poskytován klientem během SSL /TLS stisk ruky .
Jakmile provedete změny konfigurace, znovu načtěte Apache, aby se projevily. Pro více informací o SSLProtocol
směrnice, viz Apache dokumentace.
Nginx
SSL /TLS nastavení protokolu může být specifikováno v primárním konfiguračním souboru Nginx (obvykle umístěném na /etc/nginx/nginx.conf
) nebo v konfiguračních souborech vašeho webu. Hledejte řádek začínající na ssl_protocols
. Například následující je výchozí nginx.conf
soubor z nové instalace Nginx na Ubuntu:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Zrušení SSLv3, ref: POODLE
Tento řádek můžete upravit tak, aby pouze aktuální, zabezpečené verze SSL /TLS jsou zahrnuty:
ssl_protocols TLSv1.2 TLSv1.3;
Uvědomte si, že všechna nastavení ve vaší výchozí konfiguraci SSL mohou být přepsána bloky serverů konfigurujícími názvy jednotlivých domén, proto je zkontrolujte, pokud se změny nastavení protokolu neprojeví na vašem webu.
Jakmile provedete změny konfigurace, znovu načtěte Nginx a proveďte je. Další informace naleznete v dokumentaci Nginx na konfigurace serverů HTTPS.
TLS Chyby prohlížeče 1.0 a 1.1
Protože TLS verze 1.0 a 1.1 jsou v současné době považovány za nezabezpečené, většina moderních prohlížečů vydá chybovou zprávu, pokud narazí na web, kde jsou tyto zastaralé TLS verze jsou povoleny, ale TLS 1.2 nebo 1.3 není. Příklady těchto chyb jsou uvedeny níže:
Google Chrome
Google Chrome při připojení k běžícímu webu zobrazí následující chybovou zprávu TLS 1.0 nebo 1.1:
Vaše připojení není plně zabezpečené
Tento web používá zastaralou konfiguraci zabezpečení, která může při odeslání na tento web vystavit vaše informace (například hesla, zprávy nebo kreditní karty).NET::ERR_SSL_OBSOLETE_VERSION
Kliknutím pokročilý Tlačítko zobrazí následující zprávu plus odkaz na pokračování na web, označený nebezpečný:
Připojení použité k načtení tohoto webu bylo použito TLS 1.0 nebo TLS 1.1, které jsou zastaralé a v budoucnu budou deaktivovány. Po deaktivaci bude uživatelům bráněno v načítání tohoto webu. Server by měl povolit TLS 1.2 nebo novější.
Mozilla Firefox
Když se Mozilla Firefox připojí k běžícímu webu, zobrazí se následující chybová zpráva TLS 1.0 nebo 1.1:
Secure Connection Failed
Během připojení k [URL] došlo k chybě. Peer pomocí nepodporované verze bezpečnostního protokolu.
Chybový kód:SSL_ERROR_UNSUPPORTED_VERSION
...
Tento web nemusí podporovat TLS Protokol 1.2, což je minimální verze podporovaná Firefoxem. Povolení TLS Verze 1.0 a 1.1 mohou umožnit úspěšné připojení.
TLS 1.0 a TLS 1.1 bude v budoucím vydání trvale deaktivován.
Apple Safari
Prohlížeč Safari společnosti Apple načte webové stránky HTTPS pomocí TLS 1.0 a 1.1, ale zobrazí v adresním řádku prohlížeče zprávu „Není zabezpečeno“.
Pro více informací
Přečtěte si o problémech se zabezpečením souvisejících s dřívějšími verzemi TLS, přečtěte si náš článek, Předčasné odepisování TLS pro bezpečnější internet. Další informace o důležitých rozdílech mezi TLS 1.2 a TLS 1.3, podívejte se TLS 1.3 je tu k pobytu.
A jako vždy, pokud máte jakékoli dotazy, kontaktujte nás e-mailem na adrese Support@SSL.com, volání 1-877-SSL-SECURE, nebo jednoduše klikněte na odkaz chat v pravé dolní části této stránky. Odpovědi můžete najít také v mnoha častých otázkách podpory Databáze znalostí. Děkujeme vám za návštěvu SSL.com!
SSL.com poskytuje širokou škálu SSL /TLS certifikáty serveru pro weby HTTPS, včetně: