Alla versioner av SSL /TLS protokollet före TLS 1.2 är nu avskrivna och anses vara osäkra. Många webbserverplattformar har fortfarande TLS 1.0 och TLS 1.1 aktiverad som standard. Men alla moderna webbläsare är kompatibla med TLS 1.2. Av denna anledning är det en bra idé för webbplatsägare att kontrollera deras serverkonfiguration för att se till att endast aktuella, säkra versioner av SSL /TLS är aktiverade och alla andra (inklusive TLS 1.0 TLS 1.1 och SSL 3.0) är inaktiverade.
Den här guiden innehåller instruktioner för att kontrollera vilka versioner av SSL /TLS är aktiverade på en webbplats och inaktiverar föråldrade versioner av SSL /TLS i Apache och Nginx, och visar exempel på webbläsarfel som härrör från servrar som kör enbart föråldrade, osäkra versioner av SSL /TLS.
Markera Aktiverad SSL /TLS versioner
Online-verktyg
Du kan snabbt kontrollera versionerna av SSL /TLS din webbplats stöder genom att besöka CDN77 TLS checker och ange det domännamn du vill kontrollera. Som kan ses nedan, https://example.com inaktiverar för närvarande SSL-version 2 och 3, men aktiverar alla versioner av TLS (inklusive föråldrad TLS 1.1 och 1.0):
Nmap
Du kan också söka efter SSL /TLS versioner och chiffer som stöds av en webbplats med öppen källkod nmap kommandoradsverktyg:
nmap --script ssl-enum-ciphers -p
Standardporten för SSL /TLS is 443
. Kommandot nedan genererar en rapport för example.com
:
$ nmap --script ssl-enum-ciphers -p 443 example.com Från och med Nmap 7.80 (https://nmap.org) vid 2020-08-25 13:10 EDT Nmap scan-rapport till exempel.com (93.184.216.34) Värd är uppe (0.031s latens). Andra adresser till exempel.com (ej skannade): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 PORT STATE SERVICE 443 / tcp öppen https | ssl-enum-chiffer: | TLSv1.0: | chiffer: | 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 | kompressorer: | NULL | chifferinställning: server | TLSv1.1: | chiffer: | 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 | kompressorer: | NULL | chifferinställning: server | TLSv1.2: | chiffer: | 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 | kompressorer: | NULL | chifferinställning: server | _ minsta styrka: En Nmap gjort: 1 IP-adress (1 värd upp) skannad på 3.88 sekunder
Server Configuration
Apache
Att inaktivera TLS 1.0 och 1.1 i Apache, måste du redigera konfigurationsfilen som innehåller SSLProtocol
direktiv för din webbplats. Den här filen kan finnas på olika platser beroende på din plattform, version eller annan installationsinformation. Några möjliga platser är:
/usr/local/apache2/conf/extra/httpd-ssl.conf
(standard Apache-installation)/etc/apache2/mods-enabled/ssl.conf
(Ubuntu / Debian)/private/etc/apache2/extra/httpd-ssl.conf
(Mac OS)
När du har hittat rätt konfigurationsfil letar du efter en rad som börjar med SSLProtocol
. Detta exempel, från en standardinstallation av macOS Apache, inaktiverar SSLv3 med -
operatör men möjliggör TLS 1.0 och 1.1:
SSLProtocol all -SSLv3
Du kan inaktivera alla föråldrade versioner av SSL /TLS stöds av Apache genom att specificera dem enligt följande:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Konfigurationen ovan möjliggör TLS 1.2, liksom TLS 1.3 om den är tillgänglig i din miljö.
Apache och virtuella värdar
Apache kan köra mer än en webbplats på en enda server. Dessa virtuella värdar kan baseras på IP-nummer, port eller domännamn och kan innehålla inställningar som åsidosätter baskonfigurationen för Apache. Av den anledningen bör du kontrollera inställningarna för varje virtuell värd i dina konfigurationsfiler, särskilt om dina ändringar av bas SSL /TLS konfigurationen verkar inte fungera.
För versioner av Apache före 2.4.42 (byggd / länkad mot OpenSSL före 1.1.1) var det inte möjligt att ange olika SSL /TLS protokoll för namnbaserade virtuella värdar som delar samma bas IP-nummer och port - SSLProtocol
av den första virtuella värden tillämpades på alla andra. Från och med Apache 2.4.42 / OpenSSL 1.1.1, den SSLProtocol
av varje namnbaserad virtuell värd hedras när Servernamnindikering (SNI) tillhandahålls av klienten under SSL /TLS handskakning.
När du har gjort dina konfigurationsändringar, ladda om Apache för att sätta dem i kraft. För mer information om SSLProtocol
direktiv, se Apache's dokumentation.
nginx
SSL /TLS protokollinställningar kan anges i den primära Nginx-konfigurationsfilen (vanligtvis på /etc/nginx/nginx.conf
), eller i konfigurationsfilerna för din webbplats. Leta efter en rad som börjar med ssl_protocols
. Till exempel är följande från standard nginx.conf
fil från en ny Nginx-installation på Ubuntu:
ssl_protokoll TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Tappar SSLv3, ref: POODLE
Du kan redigera den här raden så att endast nuvarande, säkra versioner av SSL /TLS ingår:
ssl_protokoll TLSv1.2 TLSv1.3;
Observera att eventuella inställningar i din standard SSL-konfiguration kan åsidosättas av serverblock som konfigurerar enskilda domännamn, så se till att kontrollera om det finns ändringar i dina protokollinställningar på din webbplats.
När du har gjort dina konfigurationsändringar laddar du om Nginx för att sätta dem i kraft. Mer information finns i Nginx dokumentation på konfigurera HTTPS-servrar.
TLS 1.0 och 1.1 Webbläsarfel
Därför att TLS version 1.0 och 1.1 betraktas för närvarande som osäkra, de flesta moderna webbläsare ger ett felmeddelande om de stöter på en webbplats där dessa är föråldrade TLS versioner är aktiverade men TLS 1.2 eller 1.3 är inte. Exempel på dessa fel visas nedan:
Google Chrome
Google Chrome visar följande felmeddelande när den ansluter till en webbplats som körs TLS 1.0 eller 1.1:
Din anslutning är inte helt säker
Denna webbplats använder en föråldrad säkerhetskonfiguration, som kan avslöja din information (till exempel lösenord, meddelanden eller kreditkort) när den skickas till den här webbplatsen.NET::ERR_SSL_OBSOLETE_VERSION
Genom att klicka på Advanced Open water -knappen visar följande meddelande, plus en länk för att gå vidare till webbplatsen, märkt osäker:
Den anslutning som används för att ladda den här webbplatsen används TLS 1.0 eller TLS 1.1, som är utfasade och kommer att inaktiveras i framtiden. När inaktiverat kommer användarna att hindras från att ladda den här webbplatsen. Servern bör aktiveras TLS 1.2 eller senare.
Mozilla Firefox
Mozilla Firefox ger följande felmeddelande när den ansluter till en webbplats som körs TLS 1.0 eller 1.1:
Säker anslutning misslyckades
Ett fel inträffade under en anslutning till [URL]. Peer med hjälp av version som inte stöds av säkerhetsprotokollet.
Felkod:SSL_ERROR_UNSUPPORTED_VERSION
.
Denna webbplats stöder kanske inte TLS 1.2-protokollet, vilket är den minsta version som stöds av Firefox. Möjliggör TLS 1.0 och 1.1 kan tillåta att denna anslutning lyckas.
TLS 1.0 och TLS 1.1 kommer att inaktiveras permanent i en framtida version.
Apple Safari
Apples Safari-webbläsare laddar HTTPS-webbplatser med TLS 1.0 och 1.1, men kommer att visa ett meddelande "Inte säker" i webbläsarens adressfält.
För mer information
För att läsa om säkerhetsproblemen i samband med tidigare versioner av TLS, läs vår artikel, Avskrivning tidigt TLS för ett säkrare internet. För mer information om de viktiga skillnaderna mellan TLS 1.2 och TLS 1.3, kolla in TLS 1.3 är här för att stanna.
Och som alltid, om du har några frågor, vänligen kontakta oss via e-post på Support@SSL.com, ring upp 1-877-SSL-SECUREeller klicka bara på chattlänken längst ned till höger på den här sidan. Du kan också hitta svar på många vanliga supportfrågor i vår kunskapsbas. Tack för att du besöker SSL.com!
SSL.com erbjuder ett brett utbud av SSL /TLS servercertifikat för HTTPS-webbplatser, inklusive: