Как да отстранявате проблеми с TLS ръкостискане [Актуализирано]

В тази публикация ще научите какво представлява грешката TLS Handshake Failed и защо се появява. След това ще научите как да отстранявате проблеми с TLS ръкостискане.
How to troubleshoot TLS handshake issues [Updated]

Ако сте попаднали на съобщение за грешка, което гласи „Неуспешно TSL ръкостискане“ и сте объркани какво да правите, не сте сами. Неуспешното ръкостискане на TLS е често срещана грешка. Въпреки че може да бъде разочароващо изживяване, има начини за отстраняване на проблеми с TLS ръкостискане и тяхното разрешаване.

 

Проблеми с ръкостискането на TLS

 

В тази публикация ще научите какво представлява грешката TLS Handshake Failed и защо се появява. След това ще научите как да отстранявате проблеми с TLS ръкостискане.

Да започваме!

Разбиране на TLS/SSL

Трябва да направите уебсайта си защитен, за да установите сигурни връзки между два сървъра. За да направите това, ще трябва да инсталирате Secure Sockets Layer (SSL) сертификат - SSL криптиране и протокол за сигурност - на вашия сайт. Това ще позволи на вашия сайт да използва HTTPS, за да осигури сигурни връзки.

За съжаление понякога нещата не вървят по план и може да срещнете проблем, когато осъществявате връзка между сървъра на вашия сайт и браузъра на посетителя. Проблемът може да възникне като грешка „TLS Handshake Failed“ или друг проблем.

Защита на транспортния слой (TLS) и слой със защитени сокети (SSL) са протоколи за сигурност, които осигуряват криптиране и идентификация на уебсайтове. Те се използват за удостоверяване на трансфер на данни между сървъри, приложения, системи като браузъри и потребители.

Просто казано, имате нужда от TLS/SSL сертификати, за да защитите уебсайта си чрез HTTPS.

Разбиране на TLS/SSL ръкостискане

TLS ръкостискането е форма на комуникация и споразумение между два сървъра - хоста на вашия сайт и сървъра на клиента. Това е първата стъпка в процеса на установяване на ясна HTTPS връзка.

За удостоверяване и установяване на връзка сървърът на вашия сайт и браузърът на клиента трябва да си стиснат ръцете, т.е. да преминат през поредица от проверки (ръкостискането). Това установява параметрите на HTTPS връзката.

Какво означава това?

Клиентът (обикновено браузър) обикновено изпраща заявка за установяване на защитена връзка към сървъра на сайта. След това сървърът изпраща публичен ключ (протокол) на вашето устройство и осигурява проверка на този ключ спрямо предварително подготвен списък от протоколи/сертификати. След това устройството генерира ключ и използва ключа на сървъра, за да го шифрова.

Ако тази комуникация напред и назад не даде положителен резултат, т.е. ако SSL ръкостискането е неуспешно между сървъра и клиента, HTTPS няма да генерира защитена връзка, което ще доведе до неуспех на TLS/SSL ръкостискане. Тази грешка може да се покаже в две форми;

  • HTTP/1.1 503 Услугата е недостъпна
  • Получен фатален сигнал: handshake_failure (Грешка 525)
TLS грешка 525

 

Забележка: Ще видите тези съобщения за грешка след извикване на API, при което възниква неуспешно ръкостискане на TLS.

Какво причинява проблеми с ръкостискането на TLS

Като цяло, грешка 525 или грешка 503 обикновено означава, че е имало неуспешно TLS ръкостискане. Някои от причините за повредата могат да включват;

От страната на сървъра причините за грешка включват;

  • Несъответствие на протокола: Сървърът не поддържа протокола, използван от клиента.
  • Неправилен сертификат: Името на хоста на URL адреса на клиента не съвпада с името на хоста в сертификата, съхранен в края на сървъра, или сертификатът е непълен или невалиден, или сертификатът е неправилен или изтекъл
  • Несъответствие на пакета за шифроване: Сървърът не поддържа пакета за шифроване, използван от клиента.
  • Сървър с активиран SNI: когато задният SNI (идентификация на името на сървъра) е активиран, но клиент-сървърът не може да комуникира със SNI сървърите.

От страна на клиента, причините могат да включват;

  • Ако връзката е прихваната от трета страна.
  • Ако устройството на клиента има грешна дата или час.
  • Ако клиентът изпитва грешка с конфигурацията на браузъра.

Как да отстранявате проблеми с TLS ръкостискане

Има няколко потенциални причини за „проблемите с ръкостискането на TLS“. Можете да използвате следните решения за отстраняване на тези проблеми;

Метод #1: Актуализирайте датата и часа на вашата система

Грешната настройка на дата или час е една от основните причини за проблеми с TLS ръкостискане. Тъй като системното време помага да се провери дали сертификатът е валиден или изтекъл, несъответствие между часа или датата на вашето устройство и тези на сървъра може да накара сертификатите да изглеждат изтекли.

Коригирайте часа и датата, като ги настроите на автоматични, след което посетете сайта отново и вижте дали проблемът с ръкостискането на TLS е коригиран.

Метод #2: Коригирайте конфигурацията на вашия браузър, за да съответства на най-новата поддръжка на TLS протокол

Вашият браузър е „човекът по средата“ и може да повлияе на това как вашето устройство комуникира със сървъра. Всяка неправилна конфигурация на браузъра може да причини проблеми с TLS.

За да проверите дали вашият браузър е проблемът, опитайте да използвате друг браузър за достъп до сайта и вижте дали срещате същия проблем. Ако проблемът възниква във всички сайтове, това е системен проблем.

Може би на вашето устройство има разширение на браузъра или софтуер за защита, който прихваща TLS връзките и причинява проблемното ръкостискане на TLS. В редица случаи е замесен вирус или зловреден софтуер в системата.

За да коригирате този проблем:

  1. Може да се наложи да деактивирате софтуера за сигурност или разширенията на браузъра на вашето устройство или,
  2. Нулирайте браузъра си.

Метод #3: Проверка и промяна на TLS протоколи [в Windows]

Проблемите, свързани с браузъра, също могат да бъдат причинени от несъответствие на протокола.

Например, ако браузърът е конфигуриран само за конкретна TLS стойност, напр. TLS 1.0 или TLS 1.1, но сървърът поддържа само TLS 1.2, тогава комуникацията между двете няма да има взаимно поддържан протокол. Това неизбежно води до отказ на TLS ръкостискане.

За да проверите този проблем във вашия браузър (Google Chrome):

  1. Отворете браузъра Chrome
  2. Отидете на Настройки > Разширени
  3. Превъртете надолу, отворете Системи > Отворете прокси настройките на вашия компютър
    Коригиране на проблеми с TLS

  4. В новия изскачащ Windows изберете раздела Разширени.
  5. В раздела Разширени, под секцията Сигурност, вижте дали квадратчето до Използване на TLS 1.2 е избрано > проверете го, ако не е отметнато.
    Коригиране на проблеми с TLS в chrome

  6. Вижте дали квадратчетата за SSL 2.0 и SSL 3.0 са отметнати > след това премахнете отметката, ако е така. Направете същото за TLS 1.0 и TLS 1.1.
  7. Щракнете върху OK, след което проверете дали този процес е разрешил грешката при ръкостискане.

Забележка: ако използвате Mac Os или Apple Safari, те не предоставят опция за деактивиране или активиране на TLS/SSL протоколи, тъй като TLS 1.2 е автоматично активиран по подразбиране.

Метод #4: Проверете конфигурацията на вашия сървър [за поддръжка на SNI]

Конфигурацията за индикация на името на сървъра (SNI) е една от основните причини за проблеми с TLS. За да функционира правилно сървърът, SNI му позволява сигурно да хоства няколко TLS сертификата/протокола за един IP адрес.

На сървър всеки уебсайт има собствен сертификат. Така че, ако сървърът не е активиран за SNI, има голяма вероятност от неуспешно ръкостискане на TLS, тъй като сървърът може да не успее да разпознае настоящия сертификат.

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

На страницата с резултати намерете съобщението, което гласи „Този ​​сайт работи само в браузъри с поддръжка на SNI“:

 

проверете SNI


Метод #5: Проверете и се уверете, че Cipher Suites съвпадат

Несъответствието на Cipher Suites също е ключова причина за проблеми с ръкостискането на TLS, особено неуспешно ръкостискане на TLS. Пакетите за шифроване са само набор от алгоритми, включително тези за групово криптиране, обмен на ключове и код за удостоверяване на съобщения, които се използват за защита на TLS/SSL мрежови връзки.

Ако пакетите за шифроване на сървъра не съвпадат или не поддържат тези на Cloudflare, има по-голяма вероятност от грешка „Неуспешно ръкостискане на TLD“.

За да проверите конфигурацията на Cipher Suites, ще използвате отново TLS сървърния тест на Qualys. Отново просто въведете вашия домейн, след това щракнете върху Изпращане и изчакайте отчета.

На страницата с резултати проверете в секцията Cipher Suites, за да намерите информацията за Cipher.

Бъдете запалени по статуса, като например написаното „Слаб“. След това можете да ги коригирате, като ги сравните с поддръжката на вашия браузър.

 

проверете и се уверете, че пакетите за шифри съвпадат

 

Накрая

Вярваме, че тези съвети са лесни за следване и че сте успели да разрешите проблема с ръкостискането на TLS, който срещнахте. TLS е изключително обширна тема и може да има други налични решения.

Ако сте намерили това за полезно, може да харесате нашия имейл списък. Всеки ден споделяме много нови съвети, трикове, отстраняване на неизправности, ръководства с инструкции, сравнения на продукти и много други помощни статии. Кратко, подробно, сладко и практично!

Също така, Прочетете

> Коригирано: открита е потенциална грешка в базата данни за актуализиране на Windows
> Какво е Windows Service Host SuperFetch и как да го коригирате
> Коригирано: Google Chrome чака проблем с кеша в Windows 10
> Решено: Ethernet няма валидна IP конфигурация в Windows 10