Правя неспособен TLS 1.0 и 1.1 в Apache и Nginx

Всички версии на SSL /TLS протокол преди TLS 1.2 вече са оттеглени и се считат за несигурни. Все още има много уеб сървърни платформи TLS 1.0 и TLS 1.1 активиран по подразбиране. Всички съвременни уеб браузъри обаче са съвместими с TLS 1.2. Поради тази причина е добре собствениците на уебсайтове да проверят конфигурацията на сървъра си, за да се уверят, че само текущите, сигурни версии на SSL /TLS са активирани и всички останали (включително TLS 1.0, TLS 1.1 и SSL 3.0) са деактивирани.

Това ръководство включва инструкции за проверка кои версии на SSL /TLS са активирани на уебсайт, като деактивират остарелите версии на SSL /TLS в Apache и Nginx и показва примери за грешки в браузъра, произтичащи от сървъри, изпълняващи само остарели, несигурни версии на SSL /TLS.

Проверете Enabled SSL /TLS Версии

Онлайн инструменти

Можете бързо да проверите версиите на SSL /TLS вашият уебсайт поддържа, като посетите CDN77 TLS доносчик и въвеждане на името на домейна, което искате да проверите. Както може да се види по-долу, https://example.com в момента деактивира SSL версии 2 и 3, но позволява всички версии на TLS (включително остарелите TLS 1.1 и 1.0):

SSL /TLS версии, поддържани от example.com

Nmap

Можете също така да проверите за SSL /TLS версии и шифри, поддържани от уебсайт с отворен код Nmap инструмент за команден ред:

nmap --script ssl-enum-ciphers -p

Портът по подразбиране за SSL /TLS is 443. Командата по-долу ще генерира отчет за example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Стартиране на Nmap 7.80 (https://nmap.org) в 2020-08-25 13:10 EDT Доклад за сканиране на Nmap за example.com (93.184.216.34) Хостът е нагоре (латентност 0.031s). Други адреси за пример.com (не сканирани): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 ПРИСТАНИЩНА ДЪРЖАВНА УСЛУГА 443 / tcp отворен https | ssl-enum-шифри: |   TLSv1.0: | шифри: |       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 | компресори: | NULL | предпочитание за шифър: сървър |   TLSv1.1: | шифри: |       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 | компресори: | NULL | предпочитание за шифър: сървър |   TLSv1.2: | шифри: |       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 | компресори: | NULL | предпочитание за шифър: сървър | _ най-малко сила: Извършен Nmap: 1 IP адрес (1 хост нагоре) сканиран за 3.88 секунди

Конфигурацията на сървъра

Apache

За да деактивирате TLS 1.0 и 1.1 в Apache, ще трябва да редактирате конфигурационния файл, съдържащ SSLProtocol директива за вашия уебсайт. Този файл може да се намира на различни места в зависимост от вашата платформа, версия или други подробности за инсталиране. Някои възможни местоположения са:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (инсталация по подразбиране на Apache)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (mac OS)

Когато намерите правилния конфигурационен файл, потърсете ред, започващ с SSLProtocol. Този пример от инсталация по подразбиране на macOS Apache деактивира SSLv3 с - оператор, но позволява TLS 1.0 и 1.1:

SSL Протокол всички -SSLv3

Можете да деактивирате всички остарели версии на SSL /TLS поддържа се от Apache, като ги посочва, както следва:

SSL Протокол всички -SSLv3 -TLSv1 -TLSv1.1

Конфигурацията по-горе позволява TLS 1.2, както и TLS 1.3 ако е наличен във вашата среда.

Apache и виртуални хостове

Apache може да изпълнява повече от един уеб сайт на един сървър. Тези виртуални хостове може да се основава на IP номер, порт или име на домейн и може да включва настройки, които заменят основната конфигурация на Apache. Поради тази причина трябва да проверите настройките за всеки виртуален хост във вашите конфигурационни файлове, особено ако промените ви в основния SSL /TLS конфигурацията изглежда не работи.

За версии на Apache преди 2.4.42 (изградени / свързани срещу OpenSSL преди 1.1.1), не беше възможно да се посочат различни SSL /TLS протоколи за базирани на имена виртуални хостове, споделящи един и същ основен IP номер и порт - SSLProtocol на първия виртуален хост е приложен към всички останали. Започвайки с Apache 2.4.42 / OpenSSL 1.1.1, SSLProtocol на всеки базиран на име виртуален хост се почита, когато Индикация на името на сървъра (SNI) се предоставя от клиента по време на SSL /TLS ръкостискане.

След като направите промените в конфигурацията си, презаредете Apache, за да ги приведете в сила. За повече информация относно SSLProtocol директива, моля обърнете се към Apache документация.

Nginx

SSL /TLS настройките на протокола могат да бъдат посочени в основния конфигурационен файл на Nginx (обикновено се намира на /etc/nginx/nginx.conf) или в конфигурационните файлове на вашия сайт. Потърсете ред, започващ с ssl_protocols. Например, следното е от подразбирането nginx.conf файл от нова инсталация на Nginx в Ubuntu:

ssl_протоколи TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Отпадане на SSLv3, ref: POODLE

Можете да редактирате този ред, така че само текущите, сигурни версии на SSL /TLS са включени:

ssl_протоколи TLSv1.2 TLSv1.3;

Имайте предвид, че всички настройки в вашата SSL конфигурация по подразбиране могат да бъдат заменени от сървърни блокове, конфигуриращи отделни имена на домейни, така че не забравяйте да проверите за това дали промените в настройките на вашия протокол не са отразени във вашия уебсайт.

След като направите промените в конфигурацията си, презаредете Nginx, за да ги приведете в сила. За повече информация, моля, вижте документацията на Nginx за конфигуриране на HTTPS сървъри.

TLS 1.0 и 1.1 грешки в браузъра

защото TLS версии 1.0 и 1.1 понастоящем се считат за несигурни, повечето съвременни браузъри ще изведат съобщение за грешка, ако срещнат уебсайт, където тези остарели TLS версиите са активирани, но TLS 1.2 или 1.3 не е. Примери за тези грешки са показани по-долу:

Google Chrome

Тестването на Chrome беше направено с Chrome 84 на Windows 10. Екранните снимки са от Chrome. Имайте предвид, че текущата версия на Microsoft Edge (базирана на Chromium) показва същия код за грешка като Chrome, придружен от малко по-различен текст.

Google Chrome показва следното съобщение за грешка, когато се свързва с работещ уебсайт TLS 1.0 или 1.1:

Връзката ви не е напълно защитена
Този сайт използва остаряла конфигурация за защита, която може да разкрие вашата информация (например пароли, съобщения или кредитни карти), когато бъде изпратена до този сайт.
NET::ERR_SSL_OBSOLETE_VERSION

TLS Съобщение за грешка 1.0 в ChromeЩракването върху Подробно бутон ще покаже следното съобщение, плюс връзка за преминаване към уебсайта, етикетиран опасен:

Използваната връзка за зареждане на този сайт TLS 1.0 или TLS 1.1, които са оттеглени и ще бъдат деактивирани в бъдеще. Веднъж деактивирани, потребителите ще бъдат възпрепятствани да зареждат този сайт. Сървърът трябва да активира TLS 1.2 или по-нова версия.

Разширена информация за TLS 1.0 и 1.1 в Chrome

Mozilla Firefox

Тестването на Firefox е направено с Firefox 79.0 на Windows 10.

Mozilla Firefox издава следното съобщение за грешка, когато се свързва с работещ уебсайт TLS 1.0 или 1.1:

Secure Неуспешно свързване
Възникна грешка по време на връзка с [URL]. Връзка с неподдържана версия на протокола за сигурност.
Код на грешка: SSL_ERROR_UNSUPPORTED_VERSION
...
Този уебсайт може да не поддържа TLS 1.2 протокол, което е минималната версия, поддържана от Firefox. Активиране TLS 1.0 и 1.1 може да позволи тази връзка да успее.
TLS 1.0 и TLS 1.1 ще бъде окончателно деактивиран в бъдещо издание.

Firefox TLS Съобщение за грешка 1.0 и 1.1

Щракването върху Разреши TLS 1.0 и 1.1 бутон може да помогне за зареждането на сайта, но това не е еднократно освобождаване. За да деактивирате отново TLS 1.0 и 1.1, отидете на about:config в Firefox и задайте security.tls.version.enable-deprecated да се false.

задайте сигурност.tls.version.enable-оттеглено до false

Apple Safari

Тестването на Safari беше направено със Safari версия 13.1.2 на macOS 10.15.6 (Catalina)

Браузърът на Safari на Apple ще зарежда HTTPS уебсайтове, използващи TLS 1.0 и 1.1, но ще покаже съобщение “Not Secure” в адресната лента на браузъра.

TLS 1.0 сайт в Apple Safari

За повече информация

За да прочетете за проблемите със сигурността, свързани с по-ранните версии на TLS, моля, прочетете нашата статия, Отричане рано TLS за по-безопасен Интернет. За повече информация относно важните разлики между TLS 1.2 и TLS 1.3, вижте TLS 1.3 е тук, за да остане.

И както винаги, ако имате въпроси, моля свържете се с нас по имейл на Support@SSL.com, обадете се 1-877-SSL-SECUREили просто щракнете върху връзката за чат в долната дясна част на тази страница. Можете също така да намерите отговори на много общи въпроси за поддръжка в нашето знание. Благодарим ви, че посетихте SSL.com!

Twitter
Facebook
LinkedIn
Reddit
Имейл

Бъдете информирани и защитени

SSL.com е глобален лидер в киберсигурността, PKI и цифрови сертификати. Регистрирайте се, за да получавате най-новите новини от индустрията, съвети и съобщения за продукти от SSL.com.

Ще се радваме на вашите отзиви

Попълнете нашата анкета и ни кажете какво мислите за скорошната си покупка.