Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Виснет интерфейс (при долгой проверке цепочки сертификатов) #71

Closed
Badrus4 opened this issue Jul 19, 2023 · 10 comments

Comments

@Badrus4
Copy link

Badrus4 commented Jul 19, 2023

Добрый день, сталкиваемся с проблемами при работе с https://fzs.roskazna.ru/ через браузер Chromium-Gost.
Терминальный Сервер Windows server 2012r2
КриптоПРО CSP 4.0.9944
КриптоПро ЭЦП Browser plug-in 2.0.14816
Chromium-gost 109.0.5414.139 (пробовали 114.0.5735.198 на winserver 2016 тоже самое)
Браузер установлен в систему с ключами --system-level --install
Суть проблемы - при запуске браузера, все работает корректно, но стоит перейти на сайт https://fzs.roskazna.ru/ и в логе windows появялется ошибка (Произошла неустранимая ошибка при создании учетных данных SSL client. Внутреннее состояние ошибки: 10011.), она кстати возникает и при запуске браузера.
В итоге страница не загружается и появляется ошибка:
Не удается получить доступ к сайту Веб-страница по адресу https://fzs.roskazna.ru/, возможно, временно недоступна или постоянно перемещена по новому адресу.
ERR_CONNECTION_ABORTED

Затем секунду-две ERR_FAILED и только потом сайт корректно загружается. Весь этот процесс занимает около 3-х минут. Во время "прогрузки" казны другие обычные сайты (яндекс и тд) тоже не загружаются, но как только казна загружается все снова начинает корректно работать.
После прогрузки казны, сертификат с шифрованием ГОСТ Р 34.11-2012/34.10-2012 256 бит
Есть подозрение что это связано с msspi или "простукиванием" протоколов.

Пробовали chromium-gost-49.0.2623.112-win32-gold, с ним все быстро загружается, но у пользователей сайт fzs.roskazna.ru не видит ЭЦП с сертификатом. На версиях 109.0.5414.139 и 114.0.5735.198 после трехминутного ожидания прогрузки все корректно работает, но ожидание работу сильно затрудняет.
Пробовали КриптоПро 5 и Windows Server 2016, проблема сохраняется.
При переходе на https://gost.cryptopro.ru/ Алгоритм подписи sha256RSA
Есть ли какое-то решение проблемы или в какую сторону копать? Можно ли включить принудительно протоколы ГОСТ, чтобы не было переключений на Boring SSL для определенных сайтов, т.е сайт отметить поддерживающим алгоритмы ГОСТ вручную? Или настройки КриптоПРО CSP нужно выставить корректные?

Сеть у нас с ограниченным доступом в интернет, может не хватает каких-то доступов для корректной работы механизмов?

Screenshot_4

@deemru
Copy link
Owner

deemru commented Jul 19, 2023

Есть ли какое-то решение проблемы или в какую сторону копать?

Лучший вариант получить проблему на чистой системе и рассказать как её воспроизвести.

Пока что, такие проблемы как правило связаны с установкой сторонних программ и дополнительных защит.

Сеть у нас с ограниченным доступом в интернет, может не хватает каких-то доступов для корректной работы механизмов?

Да, подгрузка CRL возможно зависает.

При переходе на https://gost.cryptopro.ru/ Алгоритм подписи sha256RSA

Это странно, лучше исключить браузер и попробовать утилиту из состава КриптоПро CSP:

  • csptest -tlsc -v -server fzs.roskazna.ru
  • csptest -tlsc -v -server gost.cryptopro.ru

Проверить, что в обоих вариантах: SECPKG_ATTR_CIPHER_INFO: CipherSuite: ff85, TLS_GOSTR341112_256_WITH_28147_CNT_IMIT

А также обратить внимание на результат и время проверки цепочки сертификатов.

Можно ли включить принудительно протоколы ГОСТ, чтобы не было переключений на Boring SSL для определенных сайтов, т.е сайт отметить поддерживающим алгоритмы ГОСТ вручную? Или настройки КриптоПРО CSP нужно выставить корректные?

С релиза 100.0.4896.88 появился ключ --tlsmode=N:

  • Добавлена опция командной строки "tlsmode", которая отвечает за режим работы TLS ГОСТ:
  2 - переключение boringssl <> msspi без разрыва соединения (по умолчанию)
  1 - принудительная работа только msspi
  0 - переключение boringssl <> msspi с разрывом соединения
 -1 - принудительная работа только boringssl

@Badrus4
Copy link
Author

Badrus4 commented Jul 20, 2023

Попробовал на чистой ОС. Установлен только браузер, крипто про и плагин кадесм.
проблема сохраняется.

Доступ до CRL по 80 порту есть прямой
Крипто про
tlsca2012.cryptopro.ru [193.37.157.110]
cdp.cryptopro.ru [193.37.157.43]

Казначейство России
reestr-pki.ru [109.207.1.66]
company.soib.rt.ru [213.59.197.65]
rostelecom.ru [87.226.162.216]
crl.roskazna.ru [95.167.245.118]

Доступ до https://fzs.roskazna.ru/ имеется прямой, но до https://gost.cryptopro.ru/ только через прокси. Если принудительно включить msspi то сайт выдат ошибку NET::ERR_CERT_UNABLE_TO_CHECK_REVOCATION.
Сертификаты установлены КриптоПро.

Такой вопрос, нужен ли прямой доступ до сервисов\сайтов криптопро для работы по ГОСТ TLS? Может в этом проблема, по трафику система делает обращения к ресурсам Криптопро.

csptest -tlsc -v -server fzs.roskazna.ru - соответсвенно успех
csptest -tlsc -v -server gost.cryptopro.ru - а тут нет доступа до ресурса gost.cryptopro.ru без браузера

Скриншоты приложил.

Screenshot_6
Screenshot_7
Screenshot_8

@Badrus4
Copy link
Author

Badrus4 commented Jul 20, 2023

Сейчас ради проверки, открыли полный доступ в интернет. Все отркрылось быстро, https://gost.cryptopro.ru/ по госту без ошибок открылся.
Видимо нехватало доступа. Теперь нужно понять, какой именно требуется доступ для КриптоПро CSP для работы по ГОСТ TLS?

@deemru
Copy link
Owner

deemru commented Jul 20, 2023

Сейчас ради проверки, открыли полный доступ в интернет. Все отркрылось быстро

Ожидаемо. Как сказано выше:

Да, подгрузка CRL возможно зависает.

Никаких дополнительных вызовов и дополнительного доступа требоваться не должно.

--

Сейчас видно только одну проблему -- виснет интерфейс, с этим попробуем разобраться.

То что при отсутствии доступа проверка происходит медленно, крайне странно, так как если доступа нет, то должна возвращаться быстрая ошибка. Видимо у вас в системе блокировка доступа работает по-другому, а именно она создаёт видимость доступа, без реального доступа, из-за чего возникает продолжительный таймаут на попытку актуализации списков отзыва.

@Badrus4
Copy link
Author

Badrus4 commented Jul 20, 2023

Отключили прокси в браузере и с прямым доступом до crl.roskazna.ru [95.167.245.118] и fzs.roskazna.ru [94.25.27.71].
С ключом --tlsmode=1 Казна открывается за 50 секунд.
Сняли трассу (первый раз это скриншот Kazna, второй скриншоты Kazna1 и Kazna2)
Видно, что клиент с сервером общаются идет 40-50 секундная пауза и сайт начинает загружаться.
В первой попытке почему-то трафик с CRL не захватился, но во втором видно.

В принципе минута на запуск терпимо, интересно это из-за сайта или в бразуере дело.

Первый запуск
Kazna

Второй
Kazna1
Kazna2

@deemru
Copy link
Owner

deemru commented Jul 20, 2023

Спасибо, но пока непонятно, попробуем воспроизвести, понять и починить.

@Badrus4
Copy link
Author

Badrus4 commented Jul 20, 2023

Спасибо, но пока непонятно, попробуем воспроизвести, понять и починить.

Спасибо!

@Badrus4
Copy link
Author

Badrus4 commented Jul 25, 2023

Нашли проблему, как вы и говорили был псевдодоступ до списков отзывов промежуточного сертификата, из-за которого все тормозило. Как доступ сделали нормально, все быстро открывается без проблем.
Спасибо больше за советы и помощь!

@Badrus4 Badrus4 closed this as completed Jul 25, 2023
@deemru deemru changed the title Проблемы с сайтом https://fzs.roskazna.ru/ Виснет интерфейс (при долгой проверке цепочки сертификатов) Jul 25, 2023
@deemru
Copy link
Owner

deemru commented Jul 25, 2023

Это очень хорошо, но вот эту проблему всё таки хотелось бы починить в рамках этого тикета:

Сейчас видно только одну проблему -- виснет интерфейс, с этим попробуем разобраться.

@deemru deemru reopened this Jul 25, 2023
@deemru
Copy link
Owner

deemru commented Jul 27, 2023

Исправлено с этого релиза: https://github.com/deemru/Chromium-Gost/releases/tag/115.0.5790.114

@deemru deemru closed this as completed Jul 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants