Alle versioner af SSL /TLS protokol før TLS 1.2 er nu udfaset og betragtes som usikre. Mange webserverplatforme har stadig TLS 1.0 og TLS 1.1 aktiveret som standard. Imidlertid er alle moderne webbrowsere kompatible med TLS 1.2. Af denne grund er det en god ide for webstedsejere at kontrollere deres serverkonfiguration for at sikre, at kun aktuelle, sikre versioner af SSL /TLS er aktiveret, og alle andre (inklusive TLS 1.0, TLS 1.1 og SSL 3.0) er deaktiveret.
Denne vejledning indeholder instruktioner til kontrol af hvilke versioner af SSL /TLS er aktiveret på et websted og deaktiverer forældede versioner af SSL /TLS i Apache og Nginx, og viser eksempler på browserfejl, der skyldes servere, der kun kører forældede, usikre versioner af SSL /TLS.
Marker aktiveret SSL /TLS versioner
Onlineværktøjer
Du kan hurtigt kontrollere versionerne af SSL /TLS dit websted understøtter ved at besøge CDN77 TLS Checker og indtaste det domænenavn, du vil kontrollere. Som det kan ses nedenfor, https://example.com deaktiverer i øjeblikket SSL version 2 og 3, men aktiverer alle versioner af TLS (inklusive forældede TLS 1.1 og 1.0):
Nmap
Du kan også kontrollere SSL /TLS versioner og ciphers understøttet af et websted med open source Nmap kommandolinjeværktøj:
nmap --script ssl-enum-ciphers -p
Standardporten til SSL /TLS is 443
. Kommandoen nedenfor genererer en rapport for example.com
:
$ nmap --script ssl-enum-ciphers -p 443 example.com Starter Nmap 7.80 (https://nmap.org) ved 2020-08-25 13:10 EDT Nmap scanningsrapport for eksempel.com (93.184.216.34) Værten er op (0.031s latenstid). Andre adresser for eksempel.com (ikke scannet): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 PORT STATE SERVICE 443 / tcp åben https | ssl-enum-chiffer: | TLSv1.0: | cifre: | 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 | chifferindstilling: server | TLSv1.1: | cifre: | 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 | chifferindstilling: server | TLSv1.2: | cifre: | 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 | chifferindstilling: server | _ mindste styrke: En Nmap udført: 1 IP-adresse (1 vært op) scannet på 3.88 sekunder
Server Configuration
Apache
At deaktivere TLS 1.0 og 1.1 i Apache, skal du redigere konfigurationsfilen, der indeholder SSLProtocol
direktiv for dit websted. Denne fil kan være placeret forskellige steder afhængigt af din platform, version eller andre installationsoplysninger. Nogle mulige placeringer er:
/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
(MacOS)
Når du har fundet den korrekte konfigurationsfil, skal du kigge efter en linje, der begynder med SSLProtocol
. Dette eksempel, fra en standard macOS Apache-installation, deaktiverer SSLv3 med -
operatør, men muliggør TLS 1.0 og 1.1:
SSLProtocol alle -SSLv3
Du kan deaktivere alle forældede versioner af SSL /TLS understøttet af Apache ved at specificere dem som følger:
SSLProtocol alle -SSLv3 -TLSv1 -TLSv1.1
Ovenstående konfiguration muliggør TLS 1.2 samt TLS 1.3 hvis det er tilgængeligt i dit miljø.
Apache og virtuelle værter
Apache kan køre mere end et websted på en enkelt server. Disse virtuelle værter kan være baseret på IP-nummer, port eller domænenavn og kan omfatte indstillinger, der tilsidesætter basiskonfigurationen for Apache. Af denne grund skal du kontrollere indstillingerne for hver virtuel vært i dine konfigurationsfiler, især hvis dine ændringer til basisen SSL /TLS konfiguration ser ikke ud til at fungere.
For versioner af Apache før 2.4.42 (bygget / linket til OpenSSL før 1.1.1) var det ikke muligt at angive forskellige SSL /TLS protokoller for navnebaserede virtuelle værter, der deler det samme base IP-nummer og port - SSLProtocol
af den første virtuelle vært blev anvendt på alle andre. Begyndende med Apache 2.4.42 / OpenSSL 1.1.1, er SSLProtocol
af hver navnebaseret virtuel vært hædres, når Servernavn indikation (SNI) leveres af klienten under SSL /TLS håndtryk.
Når du har foretaget dine konfigurationsændringer, skal du genindlæse Apache for at sætte dem i kraft. For mere information om SSLProtocol
direktiv, se Apache's dokumentation.
Nginx
SSL /TLS protokolindstillinger kan specificeres i den primære Nginx-konfigurationsfil (normalt placeret på /etc/nginx/nginx.conf
) eller i konfigurationsfilerne til dit websted. Kig efter en linje, der begynder med ssl_protocols
. For eksempel er følgende fra standard nginx.conf
fil fra en ny Nginx-installation på Ubuntu:
ssl_protokoller TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropper SSLv3, ref: POODLE
Du kan redigere denne linje, så kun aktuelle, sikre versioner af SSL /TLS er inkluderet:
ssl_protokoller TLSv1.2 TLSv1.3;
Bemærk, at alle indstillinger i din standard SSL-konfiguration muligvis tilsidesættes af serverblokke, der konfigurerer individuelle domænenavne, så sørg for at kontrollere dem, hvis ændringer i dine protokolindstillinger ikke afspejles på dit websted.
Når du har foretaget dine konfigurationsændringer, skal du genindlæse Nginx for at sætte dem i kraft. For yderligere oplysninger henvises til Nginx's dokumentation om konfiguration af HTTPS-servere.
TLS 1.0 og 1.1 Browserfejl
Fordi TLS version 1.0 og 1.1 betragtes i øjeblikket som usikre, de fleste moderne browsere vil producere en fejlmeddelelse, hvis de støder på et websted, hvor disse er forældede TLS versioner er aktiveret, men TLS 1.2 eller 1.3 er ikke. Eksempler på disse fejl vises nedenfor:
Google Chrome
Google Chrome viser følgende fejlmeddelelse, når den opretter forbindelse til et websted, der kører TLS 1.0 eller 1.1:
Din forbindelse er ikke helt sikker
Dette websted bruger en forældet sikkerhedskonfiguration, som muligvis afslører dine oplysninger (for eksempel adgangskoder, beskeder eller kreditkort), når de sendes til dette websted.NET::ERR_SSL_OBSOLETE_VERSION
Ved at klikke på Avanceret knappen viser følgende meddelelse plus et link til at gå videre til webstedet, mærket usikre:
Den anvendte forbindelse til at indlæse dette websted TLS 1.0 eller TLS 1.1, som er udfaset og deaktiveres i fremtiden. Når det er deaktiveret, forhindres brugerne i at indlæse dette websted. Serveren skal aktiveres TLS 1.2 eller nyere.
Mozilla Firefox
Mozilla Firefox producerer følgende fejlmeddelelse, når den opretter forbindelse til et websted, der kører TLS 1.0 eller 1.1:
Sikker forbindelse mislykkedes
Der opstod en fejl under en forbindelse til [URL]. Peer ved hjælp af ikke-understøttet version af sikkerhedsprotokollen.
Fejlkode:SSL_ERROR_UNSUPPORTED_VERSION
...
Dette websted understøtter muligvis ikke TLS 1.2-protokol, som er den mindste version, der understøttes af Firefox. Aktivering TLS 1.0 og 1.1 muligvis muligvis, at denne forbindelse lykkes.
TLS 1.0 og TLS 1.1 deaktiveres permanent i en fremtidig frigivelse.
Apple Safari
Apples Safari-browser indlæser HTTPS-websteder ved hjælp af TLS 1.0 og 1.1, men viser en meddelelse "Ikke sikker" i browserens adresselinje.
For mere information
For at læse om sikkerhedsproblemer forbundet med tidligere versioner af TLS, skal du læse vores artikel, Afskrivning tidligt TLS til et mere sikkert internet. For mere information om de vigtige forskelle mellem TLS 1.2 og TLS 1.3, tjek ud TLS 1.3 er her for at blive.
Og som altid, hvis du har spørgsmål, bedes du kontakte os via e-mail på Support@SSL.com, opkald 1-877-SSL-SECURE, eller bare klik på chatlinket nederst til højre på denne side. Du kan også finde svar på mange almindelige supportspørgsmål i vores vidensbase. Tak fordi du besøgte SSL.com!
SSL.com tilbyder en bred vifte af SSL /TLS servercertifikater til HTTPS-websteder, herunder: