Сертификаты VPN и приложений: как установить, проверить и не стать жертвой MITM

Разбираемся, что такое сертификаты VPN и приложений, зачем они нужны, как их устанавливать на Windows, Android, iOS и macOS, и какие риски связаны с доверием к корневым центрам сертификации.

Что такое сертификаты VPN и приложений и зачем они нужны

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

В контексте VPN сертификаты используются для аутентификации сервера и клиента. Например, при подключении к корпоративной сети через VPN ваш компьютер проверяет сертификат VPN-шлюза. Если сертификат выдан доверенным удостоверяющим центром (CA), соединение считается безопасным. Аналогично, приложения (например, почтовые клиенты или мессенджеры) используют сертификаты для шифрования данных и проверки подлинности сервера.

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

Как работают цепочки доверия и почему возникают ошибки сертификатов

Цепочка доверия — это иерархия сертификатов: корневой сертификат CA подписывает промежуточный, а тот, в свою очередь, подписывает сертификат конкретного сервера. Когда вы открываете сайт или подключаетесь к VPN, клиент проверяет, что сертификат сервера подписан доверенным CA, который есть в хранилище системы. Если хотя бы одно звено цепочки отсутствует или недоверенно, возникает ошибка.

Типичные ошибки: NET::ERR_CERT_AUTHORITY_INVALID, SEC_ERROR_UNKNOWN_ISSUER или Your connection isn't private. Они означают, что сертификат сервера выдан центром, которому ваше устройство не доверяет. Это может произойти, если вы используете российские TLS-сертификаты Минцифры, которые не входят в стандартные хранилища Windows, Android или iOS. В таких случаях браузеры, кроме Яндекс.Браузера и Атома, блокируют доступ.

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

Российские TLS-сертификаты Минцифры: особенности и поддержка

В 2022 году российские государственные организации и банки начали переходить на TLS-сертификаты Национального удостоверяющего центра Минцифры. Это связано с санкциями: зарубежные CA отказались продлевать сертификаты для подсанкционных компаний. Минцифры бесплатно выпускает сертификаты для юридических лиц в течение 5 рабочих дней.

Проблема в том, что эти сертификаты не входят в стандартные хранилища доверия большинства операционных систем и браузеров. Поддержка встроена только в российские браузеры — Яндекс.Браузер и Атом. Chrome, Firefox, Edge и Opera выдают ошибку при попытке открыть сайты с такими сертификатами. Чтобы получить доступ, пользователям приходится вручную устанавливать корневые сертификаты.

Для проверки, доверяет ли ваш компьютер российским сертификатам, можно открыть сайт fgiscs.minstroyrf.ru. Если браузер показывает ошибку, значит, сертификаты не установлены. На сайте Госуслуг (gosuslugi.ru/crt) доступны инструкции и файлы для установки. Важно: перед установкой проверьте отпечаток корневого сертификата — он должен быть 8FF915CCAB7BC16F8C5C8099D53E0E115B3AEC2F для Russian Trusted Root CA.

Пошаговая установка сертификатов на Windows и Android

Для Windows и Android нужно скачать два файла: russian_trusted_root_ca.cer (корневой) и russian_trusted_sub_ca.cer (промежуточный). Ссылки доступны на сайте Госуслуг или напрямую: https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer и https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer.

Windows:

  1. Скачайте CER-файлы.
  2. Дважды щелкните по файлу корневого сертификата.
  3. Нажмите «Установить сертификат».
  4. Выберите хранилище «Доверенные корневые центры сертификации».
  5. Повторите для промежуточного сертификата, но выберите «Промежуточные центры сертификации».

Android:

  1. Скачайте CER-файлы на устройство.
  2. Перейдите в «Настройки» → «Безопасность» → «Установить сертификат».
  3. Выберите файл корневого сертификата и подтвердите установку.
  4. Повторите для промежуточного сертификата.

Если файлы открываются как текст в браузере, используйте правый клик → «Сохранить ссылку как» и укажите расширение .cer.

Установка сертификатов на macOS и iOS

Для macOS и iOS предусмотрены специальные форматы файлов. На macOS используется файл russiantrustedca.pem, который содержит и корневой, и промежуточный сертификаты. На iOS — файл russiantrusted.mobileconfig, который автоматически настраивает профиль.

macOS:

  1. Скачайте russiantrustedca.pem.
  2. Дважды щелкните по файлу — откроется «Связка ключей».
  3. Введите пароль администратора.
  4. В списке сертификатов найдите Russian Trusted Root CA и Russian Trusted Sub CA.
  5. Для каждого установите «Доверие» → «Всегда доверять».

iOS:

  1. Скачайте russiantrusted.mobileconfig.
  2. Откройте файл — появится запрос на установку профиля.
  3. Перейдите в «Настройки» → «Основные» → «Профили» и установите профиль.
  4. После установки перейдите в «Настройки» → «Основные» → «О устройстве» → «Настройки доверия сертификатам» и включите доверие для Russian Trusted Root CA.

Важно: на iOS доверие к корневому сертификату нужно включать отдельно, иначе Safari и другие приложения будут игнорировать его.

Особенности Firefox: отдельное хранилище сертификатов

Firefox по умолчанию не использует системное хранилище сертификатов Windows или macOS. У него собственное хранилище, поэтому установка сертификатов через системные настройки не повлияет на Firefox. Чтобы добавить российские сертификаты в Firefox, нужно:

  1. Откройте about:preferences#privacy.
  2. Прокрутите до раздела «Сертификаты» и нажмите «Просмотр сертификатов».
  3. Перейдите на вкладку «Центры сертификации».
  4. Нажмите «Импортировать» и выберите CER-файл корневого сертификата.
  5. Включите опции «Доверять при идентификации веб-сайтов» и «Доверять при идентификации пользователей электронной почты».

Альтернативный способ — включить параметр security.enterprise_roots.enabled в about:config. Тогда Firefox будет использовать системное хранилище, и отдельная установка не потребуется. Однако этот параметр может быть отключен по умолчанию, и его изменение требует осторожности.

Также стоит учитывать, что в режиме инкогнито Firefox может не подгружать импортированные сертификаты — это известная особенность.

VPN-сертификаты в корпоративных средах: пример Kaspersky

В корпоративных средах VPN-сертификаты часто управляются через MDM-решения, такие как Kaspersky Security Center. Например, Kaspersky Endpoint Security для Android позволяет администратору указать почтовые и VPN-сертификаты, которые автоматически устанавливаются на устройства в режиме device owner или рабочем профиле.

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

  1. Откройте Kaspersky Endpoint Security для Android.
  2. Перейдите в «Уведомления».
  3. Нажмите «Установить» рядом с уведомлением о сертификате.
  4. Система покажет пароль сертификата — запишите его.
  5. Введите пароль в соответствующем окне и подтвердите установку.

После установки сертификат попадает в хранилище доверенных сертификатов и может использоваться любым приложением. Это удобно для корпоративных VPN-клиентов, которые требуют аутентификации по сертификату.

Центры сертификации VPN-сетей: пример КРИПТО-ПРО

Для организаций, которым нужны собственные VPN-сертификаты, существуют специализированные удостоверяющие центры. Например, ООО «КРИПТО-ПРО» предоставляет услуги Центра управления сертификатами VPN-сетей (ЦУС VPN). Это актуально для государственных и корпоративных структур, использующих ГОСТ-криптографию.

Процесс получения сертификата включает несколько этапов:

  1. Заполнение заявки на сайте и оплата счета.
  2. Подготовка заявительных документов (заявление о присоединении к регламенту, заявление на регистрацию).
  3. Установка СКЗИ «КриптоПро CSP» версии 5.0 и выше.
  4. Установка браузера Chromium-Gost или настройка расширения для КриптоПро ЭЦП Browser plug-in.
  5. Установка сертификата уполномоченного лица УЦ.
  6. Генерация ключа и формирование запроса на сертификат.
  7. Отправка запроса и получение готового сертификата в течение 3 рабочих дней.

Важно, что субъект в запросе должен полностью соответствовать данным в заявлении, иначе в изготовлении будет отказано. Оригиналы документов отправляются Почтой России.

Риски установки корневых сертификатов и как их минимизировать

Установка корневого сертификата от неизвестного CA создает риск MITM-атак: владелец CA может выпускать сертификаты для любых доменов и перехватывать зашифрованный трафик. Например, в Казахстане в 2019 году государственный CA использовался для перехвата HTTPS-соединений. Поэтому перед установкой российских сертификатов важно взвесить риски.

Рекомендации по минимизации рисков:

  • Устанавливайте только промежуточный сертификат, если это возможно. Это вызовет предупреждение, но не даст полного доверия к CA.
  • Используйте российские браузеры (Яндекс.Браузер, Атом) для доступа к сайтам с российскими сертификатами, не устанавливая корневые сертификаты в систему.
  • Проверяйте отпечатки сертификатов перед установкой.
  • Используйте виртуальные машины для изоляции.
  • Регулярно обновляйте списки доверенных сертификатов.

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

Практические советы по проверке и устранению ошибок сертификатов

Если вы столкнулись с ошибкой сертификата при подключении к VPN или приложению, выполните следующие шаги:

  1. Проверьте, установлен ли корневой сертификат CA. Для этого откройте хранилище сертификатов системы и найдите нужный CA.
  2. Убедитесь, что установлены и корневой, и промежуточный сертификаты. Часто пользователи устанавливают только один, и цепочка доверия не выстраивается.
  3. Перезапустите браузер или приложение после установки сертификатов.
  4. Если используете Firefox, проверьте, что сертификаты импортированы в его собственное хранилище.
  5. Для Android проверьте, что сертификаты установлены в разделе «Пользовательские» или «Доверенные».
  6. Если ошибка возникает в приложении, попробуйте обновить приложение или обратиться к администратору.

Также полезно знать, что некоторые браузеры (Chrome, Edge) могут переходить на собственные хранилища сертификатов, игнорируя системные. В этом случае установка сертификатов в систему не поможет — нужно импортировать их непосредственно в браузер.

Вопросы и ответы

Что делать, если браузер не открывает сайт с российским TLS-сертификатом?

Если сайт использует сертификат Минцифры, а браузер выдает ошибку NET::ERR_CERT_AUTHORITY_INVALID, нужно установить корневые сертификаты Russian Trusted Root CA и Russian Trusted Sub CA. Скачайте их с сайта Госуслуг и установите в доверенные хранилища системы или браузера. Альтернатива — использовать Яндекс.Браузер или Атом, которые поддерживают эти сертификаты из коробки.

Безопасно ли устанавливать корневые сертификаты Минцифры?

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

Почему Firefox не видит установленные в Windows сертификаты?

Firefox использует собственное хранилище сертификатов и не обращается к системному. Чтобы добавить сертификаты в Firefox, откройте about:preferences#privacy, перейдите в «Сертификаты» → «Просмотр сертификатов» → «Центры сертификации» и импортируйте CER-файлы. Также можно включить параметр security.enterprise_roots.enabled в about:config.

Как установить VPN-сертификат на Android вручную?

Если VPN-сертификат не установился автоматически, откройте приложение Kaspersky Endpoint Security (или другое MDM-приложение), перейдите в «Уведомления» и нажмите «Установить» рядом с уведомлением о сертификате. Система покажет пароль, который нужно ввести. Либо вручную: «Настройки» → «Безопасность» → «Установить сертификат» и выберите файл сертификата.

Какие браузеры поддерживают российские TLS-сертификаты без установки?

Из коробки российские сертификаты Минцифры поддерживают только Яндекс.Браузер и браузер Атом. Остальные браузеры (Chrome, Firefox, Edge, Opera) требуют ручной установки корневых сертификатов в хранилище системы или браузера.

Что такое отпечаток сертификата и зачем его проверять?

Отпечаток (thumbprint) — это уникальный хеш сертификата, который позволяет убедиться в его подлинности. Например, для Russian Trusted Root CA отпечаток должен быть 8FF915CCAB7BC16F8C5C8099D53E0E115B3AEC2F. Проверка отпечатка помогает избежать установки поддельного сертификата.

Можно ли использовать VPN-сертификаты для аутентификации в приложениях?

Да, VPN-сертификаты часто используются для аутентификации клиента на VPN-сервере. После установки сертификата в доверенное хранилище он может использоваться любым приложением, поддерживающим сертификатную аутентификацию. Например, в корпоративных средах Kaspersky Endpoint Security автоматически устанавливает такие сертификаты.