Назад | Перейти на главную страницу

Привет клиента TLS 1.2 запускает сброс TCP с 2012 R2

Я борюсь с реализацией PKI в своей лаборатории (ADCS 2012 R2) и не могу, хоть убей, понять, где я ошибся.

Дошло до того, что можно было сгенерировать сертификаты SSL / TLS для сервера IIS и выполнить привязку. Также использовался инструмент NARTAC для отключения SSLv2 / 3 + включить TLS 1.0-1.2. Используя testssl.sh, я могу проверить, что SSL отключен и могу получить подтверждение для TLS 1.0 и 1.1, но каждый раз, когда получено приветствие клиента для TLS 1.2, сервер отправляет TCP Reset. Системные журналы показывают пару идентификаторов ошибок SCHANNEL 36874 и 36888, которые соответствуют сбросам. Ошибка 36874 предполагает, что клиент hello представляет наборы шифров, которые не поддерживаются сервером.

Здесь я наткнулся на кирпичную стену, и мои поиски в сети не дали результата. Я могу почти гарантировать, что упустил из виду что-то совершенно очевидное. Однако шоры разочарования не позволяют мне увидеть это.

Мысли?

Детали приветствия клиента:

Фрейм 136: 377 байтов по сети (3016 бит), 377 байтов захвачено (3016 бит) на интерфейсе 0 Ethernet II, Src: CiscoInc_07: be: 7f (fc: 5b: 39: 07: be: 7f), Dst: Vmware_01: 02:14 (00: 50: 56: 01: 02: 14) Интернет-протокол версии 4, Src: 192.168.6.75, Dst: 10.22.163.219 Протокол управления передачей, Src-порт: 35836 (35836), Dst-порт: 443 (443 ), Seq: 1, Ack: 1, Len: 311 Secure Sockets Layer SSL Record Layer: Протокол установления связи: Client Hello Тип содержимого: Handshake (22) Версия: TLS 1.0 (0x0301) Длина: 306 Протокол установления связи: Client Hello Тип подтверждения: Клиент Hello (1) Длина: 302 Версия: TLS 1.2 (0x0303) Случайная ID сессии Длина: 0 Cipher Suites Длина: 176 Cipher Suites (88 номеров) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) Комплект шифров: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024) Комплект шифров: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) Комплект шифров: TL S_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) Cipher Suite: TLS_DH_DSS_WITH_AES_256_GCM_SHA384 (0x00a5) Cipher Suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3) Cipher Suite: TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (0x00a1) Cipher Suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f) Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b) Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a) Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA256 (0x0069) Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA256 (0x0068) Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039) Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038) Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA (0x0037) Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA (0x0036) Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088) Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA ( 0x0087) Комплект шифров: TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0086) Комплект шифров: TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0085) Комплект шифров: TLS_GOSTR3 41001_WITH_28147_CNT_IMIT (0x0081) Cipher Suite: TLS_GOSTR341094_WITH_28147_CNT_IMIT (0x0080) Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0xc032) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02e) Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026) Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005) Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d) Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d) Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035) Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ( 0xc027) Комплект шифров: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023) Комплект шифров: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) Комплект шифров: TLS_ECD HE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) Cipher Suite: TLS_DH_DSS_WITH_AES_128_GCM_SHA256 (0x00a4) Cipher Suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2) Cipher Suite: TLS_DH_RSA_WITH_AES_128_GCM_SHA256 (0x00a0) Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e) Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067) Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040) Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA256 (0x003F) Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA256 (0x003e) Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033) Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032) Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA (0x0031) Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA (0x0030) Cipher Suite: TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x009a) Cipher Suite: TLS_DHE_DSS_WITH_SEED_CBC_SHA ( 0x0099) Комплект шифров: TLS_DH_RSA_WITH_SEED_CBC_SHA (0x0098) Комплект шифров: TLS_DH_DSS_WITH_SEED_CBC_SHA (0x0097) Комплект шифров: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC00_CAMELLIA_128_CBC00_ Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044) Cipher Suite: TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0043) Cipher Suite: TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0042) Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (0xc031) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02d) Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025) Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e) Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004) Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c) Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c) Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002F) Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096) Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041) Cipher Люкс : TLS_RSA_WITH_IDEA_CBC_SHA (0x0007) Комплект шифров: TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011) Комплект шифров: TLS_ECDHE_ECDSA_WITH Suite_RC4_128_SHA (0xc00_SA_WHE_SHA (0xc00_RSA) RC4_128_SHA (0xc00c) Cipher Suite: TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002) Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005) Cipher Suite: TLS_RSA_WITH_RC4_128_MD5 (0x0004) Cipher Suite: TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012) Cipher Suite: TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008) Cipher Suite: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016) Cipher Suite: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013) Шифр ​​Люкс: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA (0x0010) Шифр ​​Люкс: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA (0x000d) Шифр ​​Люкс: TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d) Шифр ​​Люкс: TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003) Шифр ​​Люкс: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000A) Шифр ​​Люкс: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00FF) Методы сжатия Длина: 1 Методы сжатия (1 метод) Длина расширений: 85 Расширение: ec_point_formats Расширение: elliptic_curves Расширение: SessionTicket Расширение TLS: signature_algorithms Тип: signature_algorithms (0x000d) Длина: 32 Signatur e Длина алгоритмов хеширования: 30 алгоритмов хеширования подписи (15 алгоритмов) Расширение: Heartbeat

И сброс TCP:

137 2.086290 10.22.163.219 192.168.6.75 TCP 54 443 → 35836 [RST, ACK] Seq = 1 Ack = 312 Win = 0 Len = 0 Кадр 137: 54 байта на проводе (432 бит), 54 байта захвачено (432 бит) на интерфейс 0 Ethernet II, Src: Vmware_01: 02: 14 (00: 50: 56: 01: 02: 14), Dst: IETF-VRRP-VRID_19 (00: 00: 5e: 00: 01: 19) Интернет-протокол версии 4 , Src: 10.22.163.219, Dst: 192.168.6.75 Протокол управления передачей, Порт Src: 443 (443), Порт Dst: 35836 (35836), Seq: 1, Ack: 312, Len: 0 Порт источника: 443 Порт назначения: 35836 [Индекс потока: 3] [Длина сегмента TCP: 0] Порядковый номер: 1 (относительный порядковый номер) Номер подтверждения: 312 (относительный номер подтверждения) Длина заголовка: 20 байтов Флаги: 0x014 (RST, ACK) Значение размера окна: 0 [Рассчитанный размер окна: 0] [Коэффициент масштабирования размера окна: 256] Контрольная сумма: 0x74ff [проверка отключена] Срочный указатель: 0 [Анализ SEQ / ACK]

SCHANNEL 36874

Имя журнала: Система Источник: Schannel Дата: 5/4/2016 9:48:36 Код события: 36874 Категория задачи: Нет Уровень:
Ключевые слова ошибки: Пользователь: СИСТЕМА Компьютер:
OCSP.corp.contoso.com Описание: запрос на подключение TLS 1.2 был получен от удаленного клиентского приложения, но ни один из наборов шифров, поддерживаемых клиентским приложением, не поддерживается сервером. Запрос на соединение SSL не удался.

SCHANNEL 36888:

Имя журнала: Система Источник: Schannel Дата: 5/4/2016 9:48:36 КОД события: 36888 Категория задачи: Нет Уровень:
Ключевые слова ошибки: Пользователь: СИСТЕМА Компьютер:
OCSP.corp.contoso.com Описание: было создано критическое предупреждение и отправлено на удаленную конечную точку. Это может привести к разрыву соединения. Код фатальной ошибки, определенный протоколом TLS, - 40. Состояние ошибки Windows SChannel - 1205.

ИЗМЕНИТЬ 1

Обнаружено, что я могу успешно заставить сервер IIS 2012 R2, не входящий в домен, отвечать на приветственный пакет TLS 1.2. Итак, моя проблема, похоже, связана с системой, присоединенной к домену. До сих пор не решил эту часть уравнения.

У некоторых шифров есть проблемы с совместимостью. У нас была такая же проблема. Мы обнаружили следующие проблемные шифры:

  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
  • TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
  • TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)

См. Также эти ссылки.

Другой возможной причиной RST может быть отсутствие расширения signature_algorithm (в этом случае по умолчанию SHA1) или отсутствие пары, которая соответствует подписи сертификата сервера. Поэтому, если вы обновляетесь до сертификата, подписанного RSA sha512, а клиент предлагает только SHA1 и SHA256, сервер RST приветствует вашего клиента.

Здесь не так, но если кто-то найдет этот вопрос, это может помочь.

Если проблема заключается в том, что подключенный к домену компьютер не может подключиться (и я предполагаю, что клиент подключения - это сама Windows, IE или другой компонент, который использует собственный канал SChannel в Windows), то я подозреваю, что у вас нет TLS 1.2 включен на клиенте. А если вы компьютер, присоединенный к домену, это будет означать, что у вас есть административные шаблоны GPO, которые настраивают протокол и наборы шифров и отправляют их клиенту.

Пара вещей, которые я бы порекомендовал для отслеживания.

Я предполагаю, что вы упомянули, что «инструмент Nartac» означает IISCrypto. Запустите его как на клиенте, так и на сервере, чтобы увидеть, какие протоколы и шифры включены - убедитесь, что есть перекрытие.

Кроме того, любые изменения этих элементов требуют перезагрузки. Да, это может констатировать очевидное, но это необходимо сказать.

Далее возьмите Fiddler. Этот инструмент - мой лучший друг. Вы можете использовать его для отслеживания трафика http и https от клиента (он вставляет себя в качестве посредника между клиентом и сервером, действует как прокси для клиента, расшифровывает трафик https и т. Д.). Важной частью является то, что он также отслеживает соединение https (и выявляет костюмы шифров и т. Д.). Запустите его на своем клиенте и посмотрите, что там написано.

Моя единственная другая мысль заключается в том, что установленный вами центр сертификации AD, корневой сертификат сертификата не попал в хранилище сертификатов доверенных корневых центров сертификации на клиентских компьютерах. Проверьте это тоже.