Ошибка установления связи TLS в PCAP: ClientHello, ServerHello, сертификат, оповещение и сброс доказательств
Как диагностировать сбои установления связи TLS при перехвате пакетов путем чтения ClientHello, ServerHello, сертификата, оповещения и свидетельства сброса TCP.
О сбоях подтверждения TLS часто сообщается как об «ошибке SSL», «проблеме сертификата», «не удалось установить соединение» или «сбросе соединения». Эти сообщения полезны, но PCAP может показать, где прекратилось рукопожатие. Это место имеет значение.
Сбой TLS перед «ServerHello» отличается от предупреждения о проверке сертификата. Сброс TCP после ClientHello отличается от фатального оповещения TLS после обмена сертификатами. Временная шкала захвата пакетов может определить границу.
Начните с TCP-соединения
Перед отладкой TLS подтвердите TCP:
- SYN
- SYN/ACK
- ACK
- данные от клиента
Если TCP так и не устанавливается, это не является ошибкой установления связи TLS. Это маршрутизация, брандмауэр, порт, доступность сервера или политика TCP.
Если TCP устанавливается и клиент отправляет ClientHello, начинается TLS.
ClientHello показывает, что предложил клиент
ClientHello может показать:
- Поддерживаемые версии TLS
- предлагаемые наборы шифров
- Имя хоста SNI
- Протоколы ALPN
- поддерживаемые группы
- алгоритмы подписи
Если SNI отсутствует, сервер может вернуть сертификат по умолчанию или отклонить рукопожатие. Если клиент предлагает только старые протоколы или шифры, сервер может ответить отказом квитирования или сбросом.
Вот почему захваты полезны для старых встроенных клиентов, прокси и пользовательских интеграций.
ServerHello или нет ServerHello
Если клиент отправляет ClientHello, а ServerHello не приходит, проверьте:
- падение брандмауэра или промежуточного ящика
- политика сервера закрывается автоматически
- Проблема MTU/пути для больших сообщений подтверждения
- Сброс TCP с сервера
- поведение балансировщика нагрузки
Если приходит ServerHello, проверьте выбранную версию и зашифруйте. Выбор сервера может объяснить последующий сбой.
Оповещения — это доказательства, а не шум
Оповещения TLS могут быть очень информативными:
- неизвестная Калифорния
- плохой сертификат
- сбой рукопожатия
- версия протокола
- недопустимый параметр
- закрыть уведомление
Фатальное предупреждение от клиента после доставки сертификата часто указывает на цепочку доверия, несоответствие имени хоста, срок действия сертификата или неподдерживаемые свойства сертификата. Фатальное предупреждение от сервера после «ClientHello» может указывать на шифр, протокол, SNI, сертификат клиента или политику.
Не отбрасывайте оповещения при обрезке захвата.
Где подходит операция PCAP
PCAP Surgery должна помочь инженерам изолировать разговор TLS и сохранить доказательства рукопожатия. Полезный производный захват для поддержки TLS включает в себя:
- TCP-квитирование
- ClientHello
- ServerHello, если присутствует
- сообщения сертификата, если они присутствуют
- TLS-оповещения
- TCP сбрасывается
- время между сообщениями
Если поимку необходимо продезинфицировать, будьте осторожны. Удаление сведений о сертификате, SNI или длины полезных данных также может устранить причину сбоя. Решение о санации должно соответствовать цели устранения неполадок.
Для таких поисковых запросов, как «Ошибка установления связи TLS pcap», «ClientHello no ServerHello» или «Оповещение SSL о неизвестном CA Wireshark», ответ находится в границе рукопожатия. Хороший рабочий процесс пакетной хирургии сохраняет эту границу, а не скрывает ее.