Проверка поддержки осуществления подключений с использованием ГОСТ TLS

Способ 1: Используя тестовую страницу КриптоПро

Шаг 1: Проверка работоспособности “анонимного” подключения ГОСТ TLS

  • Откройте браузер с поддержкой ГОСТ TLS

  • Перейдите по ссылке:

    https://www.cryptopro.ru:4444/test

  • Должна отобразится страница:

    Тестовая страница

  • Тот факт, что страница открылась, означает, что первая часть проверки успешно пройдена. Вы успешно соединились по “анонимному” ГОСТ TLS с использованием односторонней аутентификации.

    Свойства безопасности

Возможные ошибки

Шаг 2: Проверка работоспособности подключения ГОСТ TLS с двухсторонней аутентификацией

  • В браузере, после шага 1, перейдите по единственной ссылке на странице

    Подсвеченная ссылка

    Или перейдите по ссылке ниже:

    https://www.cryptopro.ru:4444/test/tls-cli.asp

  • Вам будет предложено выбрать личный сертификат.

    Всплывающее окно выбрать сертификат

  • Выделите личный сертификат для проверки, и нажмите ОК.

    Выбрать сертификат

  • Должна отобразиться страница с информацией о выбранном сертификате.

    Информация о сертификате

Возможные ошибки

Способ 2: Используя ПОИБ СОБИ

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

Шаг 1: Проверка работоспособности “анонимного” подключения ГОСТ TLS

  • Откройте браузер с поддержкой ГОСТ TLS

  • Перейдите по ссылке:

    https://sobi.login.roskazna.ru/

  • Если всё хорошо, откроется страница:

    Страница ПОИБ СОБИ с аутентификацией по логину и паролю

  • Тот факт, что страница открылась, означает, что первая часть проверки успешно пройдена. Вы успешно соединились по “анонимному” ГОСТ TLS с использованием односторонней аутентификации.

    Свойства безопасности

Возможные ошибки

Шаг 2: Проверка работоспособности подключения ГОСТ TLS с двухсторонней аутентификацией

  • В браузере, после шага 1, нажимаем на кнопку Сертификат ниже поля для ввода пероля на сайте.

    Кнопка Сертификат

    Или переходим по ссылке:

    https://sobi.cert.roskazna.ru/

  • Выбираем свой личный сертификат

    Выбор личного сертификата

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

    Страница sobi.cert.roskazna.ru

Возможные ошибки

Способ 3: gost.cryptopro.ru

Шаг 1 (И единственный): Проверка работоспособности “анонимного” подключения ГОСТ TLS

  • Откройте браузер с поддержкой ГОСТ TLS

  • Перейдите по ссылке:

    https://gost.cryptopro.ru/

  • Дальше зависит от того, какую информацию вы на ней увидите.

Сайт открылся по протоколу ГОСТ TLS

Сайт открылся по протоколу RSA/AES (“общепринятое” шифрование, не ГОСТ)

  • Если соединение было установлено с помощью “общепринятого” шифрования, вы увидите следующую картину:

    Скриншот с примером

    В данном случае, в Яндекс.Браузере была специально отключена поддержка ГОСТ, для примера. Такую картину вы будете видеть всегда, если ваш браузер не поддерживает работу с ГОСТ TLS. А если поддерживает, то что-то пошло не так во время согласования соединения, и оно было установлено с помощью “обычного” шифрования.

    Данный ресурс поддерживает установку соединений как с “общепринятым” шифрованием, так и с ГОСТ (но только “анонимным”, без аутентификации по сертификату). Потому вы не увидите ошибку, если не удалось установить соединение по ГОСТ.

    В нормальной ситуации, браузер ГОСТ TLS отправляет во время согласования соединения Cipher Suites, которые указывают на то, что браузер поддерживает ГОСТ. И если сервер вернёт заголовок, содержащий то же значение, то соединение в приоритете будет установлено по ГОСТ.

    Но сервер так же возвращает и значения, свойственные “общепринятым” шифрам. Предоставляя клиенту выбор. Потому данный сайт откроется в том числе и в обычном браузере, без поддержки ГОСТ. Браузер просто выберет подходящий ему шифр.

    В случае же присутствия HTTPS MiTM, вы устанавливаете соединение TLS не с конечным сервером в лице сайта gost.cryptopro.ru, а с посредником. А затем уже посредник инициирует подключение до gost.cryptopro.ru. И выбирает подходящие ему шифры… И ГОСТ этот посредник, с вероятностью 99.99% (автор за годы не слышал о программах, способных в ГОСТ-MiTM), не поддерживает. Потому выберет что-то из “общепринятого” от имени вашего браузера. А вам направит стандартный набор Cipher Suits, не содержащие информацию о поддержке ГОСТ. Браузеру не останется выбора, кроме как использовать “общепринятый” шифр.

  • Пример сертификата сервера в случае, если соединение было установлено напрямую (без посредников). Например, через браузер без поддержки ГОСТ или с отключенной поддержкой.

    Как просмотреть серверный сертификат

    Сертификат сервера 1 Сертификат сервера 2

Примеры посредников (MiTM), которых можно выявить с помощью gost.cryptopro.ru
  • Неназванная DLP-система. Скриншоты были позаимствованы у одного из клиентов.

    Скриншот с примером 1 Скриншот с примером 2

  • Staffcop Enterprise. Скриншот был позаимствован у одного из клиентов.

    Скриншот с примером Staffcop

  • Обратите внимание, что Яндекс.Браузер отображает в адресной строке символ открытого замка.

    Открытый замок

    Так он намекает, что он подозревает MiTM. Когда как если таких подозрений нет, то замок закрыт.

    Закрытый замок

  • В любом из случаев, чтобы это работало так прозрачно, не вызывая тревоги и прочих предупреждений безопасности, на компьютере ДОЛЖЕН быть установлен сертификат в корневые центры сертификации, с помощью которого подписываются выпускаемые подменные сертификаты.

    И этот сертификат был установлен либо какой-то программой, либо был добавлен администратором с помощью групповых политик.

Возможные ошибки

  • ERR_TIMED_OUT (Превышено время ожидания…)

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

Как просмотреть серверный сертификат

Вместо нескольких разных примеров, было принято решение сделать один, для gost.cryptopro.ru. Принцип не отличается.

  • Яндекс.Браузер, если соединение установлено по ГОСТ TLS

    Свойства безопасности 1 Свойства безопасности 2

  • Яндекс.Браузер, если соединение установлено с обычным шифрованием

    Свойства безопасности 1 Свойства безопасности 2

  • Chromium GOST (Одинаково в обоих случаях)

    Свойства безопасности 1 Свойства безопасности 2

Перечисление возможных ошибок при проверке

ERR_SSL_VERSION_OR_CIPHER_MISMATCH до выбора сертификата

Скриншот с примером

Возможные причины:

  • Не установлен КриптоПро CSP или его работе мешает другой криптопровайдер
  • Вы используете браузер без поддержки использования КриптоПро CSP для установки ГОСТ соединений. На данный момент, ГОСТ поддерживают только Яндекс.Браузер, Chromium GOST и браузер Chromium (просто Chromium) поставляемый в составе некоторых российских дистрибутивов Linux, т.к. создатели дистрибутива добавили соответствующие патчи в пакет.
  • Поддержка ГОСТ выключена в настройках Яндекс.Браузера. (В Chromium GOST она не выключается)
  • У вас Windows 11 и установлен КриптоПро CSP 4.0.* или 5.0.11455.0 (R1). Windows 11 поддерживается версией минимум 5.0.12000.0 (R2).
  • Установлению соединения мешает ПО с функциями проверки зашифрованного трафика (включая антивирусы), путём перехвата TLS соединений и выполнений функции прозрачного прокси с подстановкой собственного локального сертификата.

    Например:

    • Касперский
    • Dr. Web
    • PRO32
    • Staffcop Enterprise

    Чаще всего, пока не будут прописаны соответствующие исключения, антивирус продолжит делать то что делал. Даже если вы его “выключите”. Если сомневаетесь, удалите временно антивирус. Проверьте без него и установите заново.

    Основная статья

  • Корпоративный прокси-сервер с функциями внедрения в HTTPS-соединения путём MiTM. Или другие системы, например, контроля трафика сотрудников, DLP, выполняющие схожие функции. В отличии от предыдущего пункта — работает на уровне корпоративной сети.

ERR_SSL_VERSION_OR_CIPHER_MISMATCH после отображения выбора сертификата

Скриншот с примером

Возможные причины:

  • Чаще всего, если Шаг 1 был выполнен успешно, но после выбора сертификата возникла эта ошибка, это из-за “ошибки жадности” 0x8007065B

    Проверьте лицензию КриптоПро CSP. Действительная ли она. Или имеет ли сертификат встроенную лицензию.

    Если отображается выбор сертификата, значит браузер успешно установил соединение по ГОСТ, но сервер запросил сертификат для аутентификации. Запроса сертификата не будет, если не удалось установить ГОСТ TLS-соединение.

    Потому на этом этапе нужно смотреть работоспособность ЭП, а не работоспособность ГОСТ TLS как такового.

ERR_CONNECTION_RESET или ERR_CONNECTION_CLOSED

Скриншот с примером 1

Скриншот с примером 2

Скриншот с примером 3

Скриншот с примером 4

Возможные причины:

  • У вас активен Континент TLS-клиент и он не настроен должным образом. Одним из способов показать невозможность установить соединение с его стороны является разрыв.
  • Это является явным признаком того, что у вас завёлся посредник, который пытается выполнить HTTPS-MiTM. Пусть оно и называется по русски — “атака посредника”, но данное действие могут выполнять и легитимные программы.

    Эта программа сталкивается с тем, что сайт пытается совершить ГОСТ-рукопожатие. Посредник не может обеспечить это соединение и разрывает его “неожиданно”. Ресурсы ГИИС ЭБ так поступать не будут.

    Источником MiTM может быть антивирус (который пытается сканировать зашифрованный трафик), активный блокировщик рекламы (приложение AdGuard для Windows, не расширение), корпоративный прокси-сервер, DLP-система.

    Основная статья

    Пока не найдете источник внедрения и не добавите ресурсы ГИИС ЭБ в исключения, попасть на Портал не сможете.

    Выявить посредника может помочь Способ 3.

ERR_TIMED_OUT

Возможные причины:

  • Если вы пытаетесь зайти на Тестовую страницу КриптоПро по адресу www.cryptopro.ru:4444, то возможно, в вашей корпоративной сети запрещено подключаться по нестандартным портам. Потому вам потребуется использовать другой способ проверки.

  • К предыдущему пункту: Иногда так происходит из-за антивируса. По крайней мере, автор лично видел, что пока не были прописаны исключения в Kaspersky Free, Тестовая страница КриптоПро не открывалась с такой ошибкой.

  • Если вы пытаетесь открыть ресурс sobi.login.roskazna.ru или sobi.cert.roskazna.ru и у вас возникает такая ошибка, сначала убедитесь, что вы используете протокол HTTPS и вы явно указываете его в ссылке, т.е. переходите по HTTPS://sobi.login.roskazna.ru.

    Потому что:

    1. Стандартный порт для протокола HTTP, 80-ый, завёрнут на точке входа в ГИИС ЭБ на чёрную дыру. Т.е. любые соединения на 80-ом порту молча игнорируются, а не отклоняются. Насколько автору известно, это было сделано для защиты от DDoS.
    2. Соединение по протоколу HTTP изначально не подразумевает никакого шифрования, TLS и прочих входов по сертификату. Вам нужен протокол HTTPS.

      Но браузер, если явно не указывать, может пытаться подключиться к ресурсу сначала именно по HTTP. Обычно ресурсы сразу выдают браузеру ответ, который перенаправляет его на нужный протокол. Но в случае с ГИИС ЭБ — этого не происходит (см. предыдущий пункт).

  • Если даже после того, как вы убедились, что используете нужный протокол, у вас не получается зайти с этой ошибкой, вы испытываете сетевые проблемы.

    Не стоит считать, что ресурс всероссийского значения вот просто возьмёт и “ляжет” ни с того, ни с сего, да так, что даже реверсивный прокси не сможет выдать ошибку Bad Gateway. Если он так сделает, то это будет событие огромного масштаба, о котором будут писать в новостях. :)

    Проверьте, разрешается ли имя DNS с помощью nslookup (адрес должен быть 94.25.27.72), проведите трассировку с помощью tracert, проверьте TCP-подключение с помощью tcping на 443 порту. Стандартную сетевую диагностику.

  • Ресурсы ГИИС ЭБ пускают на себя только адреса из белого списка, которые считаются адресами, принадлежащими зоне РФ. Т.е. подключения из-за рубежа не проходят. Это делается с 2022-года, т.к. после известных событий, некоторые “активисты” начали устраивать DDoS.

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

    По трассировке будет видно, что подключение обрывается на broadband-90-154-111-22.ip.moscow.rt.ru [90.154.111.22].

    Чтобы вас добавили в список, создайте заявку, написав на адрес support_eb@roskazna.ru. В письме приложите трассировку и ваш внешний IP-адрес (можно узнать на 2ip.ru). И опишите ситуацию.

  • Если вы пытаетесь получить доступ к Порталу ФК из-за рубежа, то увы. Вам поможет только “VPN в России”.

    VPN должен работать на уровне ОС, а не на уровне браузера, расширением. Иначе КриптоПро CSP не сможет получить доступ к спискам отзыва, по вышеуказанной причине. И будет выдавать соответствующую ошибку. КриптоПро не разделяет контекст браузера и скачивает их “от себя”, отдельно. И ладно бы только ошибка безопасности, всегда можно нажать “всё равно продолжить”! Но при попытке подписать, вы столкнётесь, что список сертификатов “не прогружается”.

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

Циклический выбор сертификата

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

Возможные причины:

  • Ошибка 0x80090010 — Отказано в доступе. Срок действия закрытого ключа истёк раньше, чем срок действия сертификата. Закрытый ключ имеет отдельный срок действия, который устанавливается в 1 год и 3 месяца со времени его создания. Момент создания закрытого ключа обычно сопряжён с моментом подачи запроса на сертификат (файла .req) в Удостоверяющий центр.
  • Повреждение контейнера с закрытым ключом.

«Сертификат пользователя не предоставлен»

Скриншот с примером

Возможные причины:

  • Вы нажали кнопку Отмена на этапе выбора сертификата.

    Скриншот с примером

  • Браузер не смог найти ни одного Личного сертификата, установленного должным образом через КриптоПро CSP.

    Сертификат установлен в хранилище Личное через Мастер импорта сертификатов Windows и не имеет привязки к закрытому ключу.

    Чтобы была привязка к закрытому ключу, нужно устанавливать сертификаты исключительно через КриптоПро CSP.

  • У всех подходящих установленных сертификатов на компьютере истёк срок действия.

    Или, по крайней мере, компьютер думает, что это так, ибо у вас сбилась дата. Проверить не помешает.

  • Установленные в Личное сертификаты не являются квалифицированными и они не подходят для аутентификации на ресурсе. Установите личный квалифицированный сертификат, выданный аккредитованным УЦ.

  • В хранилище Личное вовсе отсутствуют сертификаты… Любые. Там пусто.

ERR_BAD_SSL_CLIENT_AUTH_CERT

Скриншот с примером

Возможные причины:

Обычно эта ошибка возникает, когда какие-то сертификаты в хранилище Личное присутствуют, но они не подходят по критериям, чтобы их можно было отобразить для выбора.

  • Браузер не смог найти ни одного Личного сертификата, установленного должным образом через КриптоПро CSP.

    Сертификат установлен в хранилище Личное через Мастер импорта сертификатов Windows и не имеет привязки к закрытому ключу.

    Чтобы была привязка к закрытому ключу, нужно устанавливать сертификаты исключительно через КриптоПро CSP.

  • У всех подходящих установленных сертификатов на компьютере истёк срок действия.

    Или, по крайней мере, компьютер думает, что это так, ибо у вас сбилась дата. Проверить не помешает.

  • Установленные в Личное сертификаты не являются квалифицированными и они не подходят для аутентификации на ресурсе. Установите личный квалифицированный сертификат, выданный аккредитованным УЦ.

ERR_CERT_UNABLE_TO_CHECK_REVOCATION

Скриншот с примером

Возможные причины:

  • Ошибка при проверки сертификата сервера на отзыв. Отсутствует доступ к Точкам распространения Списков Отзыва Сертификатов (CDP), указанных в сертификате сервера или вышестоящих по цепочке (От ГУЦ).

Ошибка 403 (Forbidden, Отказано в доступе) для тестовой страницы от КриптоПро

Скриншот с примером

Возможные причины:

  • Ошибка при проверки сертификата пользователя на подлинность. Либо не установлен до конца Путь сертификации. Либо отсутствует доступ к Точкам распространения Списков Отзыва Сертификатов (CDP), указанных в личном сертификате или вышестоящих по цепочке.

Ошибка 400 (Ошибка HTTPS-прокси, The SSL certificate error)

Скриншот с примером

Возможные причины:

  • Ошибка при проверки сертификата пользователя на подлинность. Либо не установлен до конца Путь сертификации. Либо отсутствует доступ к Точкам распространения Списков Отзыва Сертификатов (CDP), указанных в личном сертификате или вышестоящих по цепочке.

ERR_FAILED или ERR_SSL_ERROR

Возможные причины:

  • Проблема с подписанием хендшейка с помощью закрытого ключа. Обычно это символизирует о том, что закрытый ключ повреждён или находится в состоянии, недопускающем его использование. Например, если ключ на обычной флешке, а на директорию с ключом был установлен атрибут “Только для чтения”, что КриптоПро CSP не допускается. Или истекло количество попыток ввода пин-кода для токена.
  • Ошибка 0x80090010 — Отказано в доступе.
  • Вы отказались от выбора сертификата на сайте, который не поддерживает альтернативный режим, без выбора сертификата для аутентификации.

    Скриншот с примером

    Из сайтов, которые не поддерживают подключение без выбора сертификата:

    • *.cert.roskazna.ru
    • lk-fzs.roskazna.ru
    • buh2012.budget.gov.ru

    Все ошибки, указанные ниже, верны для данных ресурсов

  • Браузер не смог найти ни одного Личного сертификата, установленного должным образом через КриптоПро CSP.

    Сертификат установлен в хранилище Личное через Мастер импорта сертификатов Windows и не имеет привязки к закрытому ключу.

    Чтобы была привязка к закрытому ключу, нужно устанавливать сертификаты исключительно через КриптоПро CSP.

  • У всех подходящих установленных сертификатов на компьютере истёк срок действия.

    Или, по крайней мере, компьютер думает, что это так, ибо у вас сбилась дата. Проверить не помешает.

  • Установленные в Личное сертификаты не являются квалифицированными и они не подходят для аутентификации на ресурсе. Установите личный квалифицированный сертификат, выданный аккредитованным УЦ.

  • В хранилище Личное вовсе отсутствуют сертификаты… Любые. Там пусто.