onbruikbaar maken TLS 1.0 en 1.1 in Apache en Nginx

Alle versies van de SSL /TLS protocol voorafgaand aan TLS 1.2 zijn nu verouderd en als onveilig beschouwd. Veel webserverplatforms hebben nog steeds TLS 1.0 en TLS 1.1 standaard ingeschakeld. Alle moderne webbrowsers zijn echter compatibel met TLS 1.2. Om deze reden is het een goed idee voor website-eigenaren om hun serverconfiguratie te controleren om er zeker van te zijn dat alleen de huidige, veilige versies van SSL /TLS zijn ingeschakeld en alle andere (inclusief TLS 1.0, TLS 1.1 en SSL 3.0) zijn uitgeschakeld.

Deze handleiding bevat instructies om te controleren welke versies van SSL /TLS zijn ingeschakeld op een website, waardoor verouderde versies van SSL /TLS in Apache en Nginx, en toont voorbeelden van browserfouten die het gevolg zijn van servers waarop alleen verouderde, onveilige versies van SSL /TLS.

Schakel Ingeschakelde SSL / inTLS versies

Online Tools

U kunt snel de versies van SSL /TLS uw website ondersteunt door CDN77's te bezoeken TLS controleur en voer de domeinnaam in die u wilt controleren. Zoals hieronder te zien is, https://example.com schakelt momenteel SSL-versie 2 en 3 uit, maar alle versies van TLS (inclusief de verouderde TLS 1.1 en 1.0):

SSL /TLS versies ondersteund door example.com

Nmap

U kunt ook controleren of er SSL /TLS versies en cijfers ondersteund door een website met de open-source nmap opdrachtregelprogramma:

nmap --script ssl-enum-ciphers -p

De standaardpoort voor SSL /TLS is 443. De onderstaande opdracht genereert een rapport voor example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Nmap 7.80 (https://nmap.org) starten op 2020-08-25 13:10 EDT Nmap-scanrapport voor example.com (93.184.216.34) Host is up (vertraging van 0.031 s). Andere adressen voor example.com (niet gescand): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 HAVENSTAATSERVICE 443 / tcp open https | ssl-enum-cijfers: |   TLSv1.0: | cijfers: |       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 | compressoren: | NULL | coderingsvoorkeur: server |   TLSv1.1: | cijfers: |       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 | compressoren: | NULL | coderingsvoorkeur: server |   TLSv1.2: | cijfers: |       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 | compressoren: | NULL | coderingsvoorkeur: server | _ minste sterkte: A Nmap gedaan: 1 IP-adres (1 host omhoog) gescand in 3.88 seconden

Server Configuration

apache

Uitschakelen TLS 1.0 en 1.1 in Apache, moet u het configuratiebestand met de extensie SSLProtocol richtlijn voor uw website. Dit bestand kan zich op verschillende plaatsen bevinden, afhankelijk van uw platform, versie of andere installatiedetails. Enkele mogelijke locaties zijn:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (standaard Apache-installatie)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (MacOS)

Als je het juiste configuratiebestand hebt gevonden, zoek dan naar een regel die begint met SSLProtocol. In dit voorbeeld, van een standaard macOS Apache-installatie, wordt SSLv3 uitgeschakeld met de - operator maar maakt het mogelijk TLS 1.0 en 1.1:

SSL-protocol alle -SSLv3

U kunt alle verouderde versies van SSL /TLS ondersteund door Apache door ze als volgt te specificeren:

SSL-protocol alle -SSLv3 -TLSv1 -TLSv1.1

De bovenstaande configuratie maakt TLS 1.2, evenals TLS 1.3 als het beschikbaar is in uw omgeving.

Apache en virtuele hosts

Apache kan meer dan één website op één server draaien. Deze virtuele hosts kan gebaseerd zijn op IP-nummer, poort of domeinnaam, en kan instellingen bevatten die de basisconfiguratie voor Apache overschrijven. Om deze reden moet u de instellingen voor elke virtuele host in uw configuratiebestanden controleren, vooral als uw wijzigingen aan de basis SSL /TLS configuratie lijkt niet te werken.

Voor versies van Apache vóór 2.4.42 (gebouwd / gekoppeld tegen OpenSSL vóór 1.1.1) was het niet mogelijk om verschillende SSL /TLS protocollen voor op naam gebaseerde virtuele hosts die hetzelfde basis-IP-nummer en dezelfde poort delen - de SSLProtocol van de eerste virtuele host werd toegepast op alle andere. Te beginnen met Apache 2.4.42 / OpenSSL 1.1.1, het SSLProtocol van elke op naam gebaseerde virtuele host wordt gehonoreerd wanneer de Servernaamindicatie (SNI) wordt verstrekt door de klant tijdens de SSL /TLS handdruk.

Zodra u uw configuratiewijzigingen heeft aangebracht, laadt u Apache opnieuw om ze door te voeren. Voor meer informatie over de SSLProtocol richtlijn, verwijzen wij u naar Apache's documentatie.

Nginx

SSL /TLS protocolinstellingen kunnen worden gespecificeerd in het primaire Nginx-configuratiebestand (meestal te vinden op /etc/nginx/nginx.conf), of in de configuratiebestanden van uw site. Zoek een regel die begint met ssl_protocols. Het volgende is bijvoorbeeld standaard nginx.conf bestand van een nieuwe Nginx-installatie op Ubuntu:

ssl_protocollen TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # SSLv3 laten vallen, ref: POODLE

U kunt deze regel bewerken zodat alleen de huidige, veilige versies van SSL /TLS zijn inbegrepen:

ssl_protocollen TLSv1.2 TLSv1.3;

Houd er rekening mee dat alle instellingen in uw standaard SSL-configuratie kunnen worden overschreven door serverblokkades die individuele domeinnamen configureren, dus zorg ervoor dat u deze controleert als wijzigingen in uw protocolinstellingen niet worden weergegeven op uw website.

Zodra je je configuratiewijzigingen hebt aangebracht, laad je Nginx opnieuw om ze van kracht te laten worden. Raadpleeg voor meer informatie de documentatie van Nginx op HTTPS-servers configureren.

TLS 1.0 en 1.1 Browserfouten

Omdat TLS versies 1.0 en 1.1 worden momenteel als onveilig beschouwd, de meeste moderne browsers zullen een foutmelding geven als ze een website tegenkomen waar deze verouderd is TLS versies zijn ingeschakeld maar TLS 1.2 of 1.3 is dat niet. Voorbeelden van deze fouten worden hieronder weergegeven:

Google Chrome

Chrome-tests zijn uitgevoerd met Chrome 84 op Windows 10. Schermafbeeldingen zijn afkomstig van Chrome. Merk op dat de huidige versie van Microsoft Edge (gebaseerd op Chromium) dezelfde foutcode weergeeft als Chrome, vergezeld van een iets andere tekst.

Google Chrome geeft het volgende foutbericht weer wanneer het verbinding maakt met een actieve website TLS 1.0 of 1.1:

Uw verbinding is niet volledig beveiligd
Deze site maakt gebruik van een verouderde beveiligingsconfiguratie, die uw informatie (bijvoorbeeld wachtwoorden, berichten of creditcards) kan blootleggen wanneer deze naar deze site wordt verzonden.
NET::ERR_SSL_OBSOLETE_VERSION

TLS 1.0 foutmelding in ChromeAls u op de Geavanceerd knop zal het volgende bericht weergeven, plus een link om door te gaan naar de website, gelabeld onveilig:

De verbinding die is gebruikt om deze site te laden, is gebruikt TLS 1.0 of TLS 1.1, die verouderd zijn en in de toekomst zullen worden uitgeschakeld. Eenmaal uitgeschakeld, kunnen gebruikers deze site niet laden. De server moet inschakelen TLS 1.2 of hoger.

Geavanceerde informatie over TLS 1.0 en 1.1 in Chrome

Mozilla Firefox

Firefox-tests zijn uitgevoerd met Firefox 79.0 op Windows 10.

Mozilla Firefox geeft het volgende foutbericht weer wanneer het verbinding maakt met een actieve website TLS 1.0 of 1.1:

Beveiligde verbinding mislukt
Er is een fout opgetreden tijdens het verbinden met [URL]. Peer met een niet-ondersteunde versie van het beveiligingsprotocol.
Foutcode: SSL_ERROR_UNSUPPORTED_VERSION
...
Deze website ondersteunt mogelijk de TLS 1.2-protocol, de minimale versie die door Firefox wordt ondersteund. Inschakelen TLS 1.0 en 1.1 kunnen deze verbinding mogelijk maken.
TLS 1.0 en TLS 1.1 zal permanent worden uitgeschakeld in een toekomstige release.

Firefox TLS 1.0 en 1.1 foutmelding

Als u op de Enable TLS 1.0 en 1.1 knop kan helpen om de site te laden, maar het is geen eenmalige uitzondering. Om opnieuw uit te schakelen TLS 1.0 en 1.1, ga naar about:config in Firefox en ingesteld security.tls.version.enable-deprecated naar false.

stel security.tls.version.enable-deprecated in op false

Apple Safari

Safari-tests zijn uitgevoerd met Safari-versie 13.1.2 op macOS 10.15.6 (Catalina)

Apple's Safari-browser laadt HTTPS-websites met TLS 1.0 en 1.1, maar zal een bericht "Niet beveiligd" weergeven in de adresbalk van de browser.

TLS 1.0-site in Apple Safari

Voor meer informatie

Om meer te lezen over de beveiligingsproblemen in eerdere versies van TLS, lees ons artikel, Vroeg afschrijven TLS voor een veiliger internet. Voor meer informatie over de belangrijke verschillen tussen TLS 1.2 en TLS 1.3, uitchecken TLS 1.3 is een blijvertje.

En, zoals altijd, als u vragen heeft, neem dan contact met ons op via e-mail op Support@SSL.com, bel 1-877-SSL-SECURE, of klik gewoon op de chatlink rechtsonder op deze pagina. U kunt ook antwoorden op veel voorkomende ondersteuningsvragen vinden in onze kennis basis. Bedankt voor het bezoeken van SSL.com!

Twitter
Facebook
LinkedIn
Reddit
E-mail

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.