Почему тема управления жизненным циклом технологических сертификатов актуальна и важна?
Когда мы говорим с бизнесом о цифровых сертификатах, на ум сразу приходят сертификаты разнообразных электронных подписей, пользовательские токены и шифрование пользовательских данных. И все давно уже привыкли к этому пониманию и задачам, которые решает бизнес с использованием сертификатов. Данная статья посвящена менее известной, но не менее актуальной сегодня теме управления технологическими сертификатами, которые пользователям или бизнесу обычно не видны. Исключением являются случаи, когда вовремя не продлён сертификат одного из публичных веб-сайтов, в результате пользователи при входе на сайт видят в браузере яркое и заметное предупреждение о небезопасном веб-сервере (некоторые такие примеры на слуху – Microsoft, Google, Telegram и другие).
Однако руководителям направлений ИТ и ИБ крупных компаний в своей профессиональной жизни приходится сталкиваться с гораздо более серьёзными проблемами, связанными с технологическими сертификатами, когда виновником сбоев в работе критически важных бизнес-процессов оказывается просроченный сертификат.
Каких-то пять-десять лет назад, когда использование протоколов SSL/TLS в сети Интернет было ещё рекомендательным, самоподписанные сертификаты — нормой, а очень длительные сроки действия SSL-сертификатов не вызывали ни у кого беспокойства, мы вообще не думали о том, что просроченный сертификат может стать какой-то заметной проблемой.
Сейчас же, под действием растущих угроз и числа уязвимостей, всё стремительно меняется, в том числе ужесточаются общепринятые нормы безопасности в сети Интернет. Некоторые крупные корпорации, влияющие на стандарты Интернет, уже предлагают увеличить длину ключей и сократить сроки действия SSL/TLS-сертификатов с одного года до 6 месяцев, а в будущем даже ещё короче – до 3 месяцев. В то же время аварии и нештатные ситуации, вызванные несвоевременным обновлением даже одного сертификата, могут обходиться бизнесу в десятки и сотни миллионов рублей.
Не стоит на месте и внутрикорпоративная инфраструктура: в ней появляются внутренние, ориентированные на сотрудников, подрядчиков и партнёров корпоративные веб-сервисы и приложения, частные облачные платформы, интеграционные сервисы и шины данных, построенные на веб-технологиях, контейнерных средах Kubernetes/OpenShift и других технологиях, нуждающихся в сертификатах. Активно развиваются внутренние и внешние интеграционные шины и шлюзы API, реализованные на базе семейства протоколов HTTP. Вся эта инфраструктура требует непрерывного выпуска и применения технологических сертификатов всё в большем и большем количестве. В одной из организаций, в которых мы некоторое время назад внедрили решение по автоматизации выпуска технологических сертификатов в середине 2010-х годов количество таких сертификатов составляло всего несколько тысяч в год. Сегодня же в этой организации в год выпускается, обновляется и используется несколько миллионов технологических сертификатов.
Отдельно необходимо отметить, что для инфраструктуры современных корпоративных приложений сертификаты используются не только при шифровании трафика, но, прежде всего, как инструмент идентификации и проверки подлинности клиента и сервера друг для друга (mutual TLS – mTLS), что даёт приложениям более безопасный аналог логина и пароля для авторизации.
В связи с тем, что мы исключили из предмета рассмотрения настоящей статьи все другие типы сертификатов, кроме технологических – следует сделать важное уточнение: далее в тексте будут рассматриваться сертификаты x.509 с алгоритмами шифрования RSA. Такое ограничение понятно и объясняется тем, что большинство современных библиотек кода и информационных систем ещё не в полной мере в рамках семейства протоколов SSL/TLS и IPSec поддерживают сертификаты и криптографию ГОСТ. Безусловно, ГОСТ SSL/TLS получает все более широкое распространение, но чаще пока применяется на каналообразующем оборудовании. Нас же в первую очередь интересует взаимодействие микро-сервисов, приложений и интеграционных шин.
Краткий обзор традиционных подходов и технологий
Для общего контекста вспомним, что Инфраструктура Открытых Ключей (ИОК или PKI) – это не только непосредственно Удостоверяющий Центр, а ещё и вся та технологическая инфраструктура сопровождающая УЦ и обеспечивающая взаимодействие с ним. Инструменты и технические решения, которые предлагают нам традиционные Инфраструктуры Открытых Ключей (ИОК, PKI) для решения, описанной в предыдущем разделе задачи, на самом деле весьма ограниченные и, мягко скажем, недостаточно универсальные. Но прежде, чем дать краткий обзор этих средств давайте всё же перечислим сами задачи.
К основным задачам, стоящим перед современной ИОК, предназначенной для выпуска технологических сертификатов, относятся:
Кроме перечисленных выше задач, есть ещё ряд задач ИОК, о которых часто забывают, но они от того не становятся менее значимыми:
В крупных организациях все перечисленные действия требуют автоматизации именно из-за большого количества систем и необходимых им сертификатов. При этом крайне желательно, чтобы эта автоматизация была централизованной и управлялась по общим правилам и стандартам под контролем ролевой модели доступа к функциям управления.
Теперь давайте попробуем оценить как традиционные ИОК и связанные с ними технологии позволяют решать перечисленные выше задачи. Начнем с наиболее очевидной и важной части ИОК – с Удостоверяющих Центров. Тут большинство традиционных решений обеспечивает выполнение основных задач: 3 и 5, частично 9 и 10. Из вспомогательных задач ИОК чаще всего оказываются решёнными 2, частично 3, 4, 6, 7, 8, 10 и 14, обычно решена также задача 15. Теперь посмотрим, какие распространенные технологии позволяют расширить функционал традиционных УЦ:
Объективные ограничения и риски существующих технологий
Если бы эти решения были универсальны, то необходимости в данной статье вероятно бы не было, но перечисленные в предыдущей главе решения не универсальны. Давайте разберём их наиболее существенные ограничения и проблемы.
SCEP – это в первую очередь не сервис или продукт, а протокол, поэтому его должны поддерживать как минимум потребители сертификатов и сам УЦ. Если с точки зрения УЦ проблем с поддержкой этого протокола нет – таких УЦ много, то при пристальном изучении поддержки со стороны клиентов оказывается, что не такое уж и большое разнообразие клиентов поддерживают этот протокол и ещё меньшее количество корректно пользуются всеми его возможностями и делают это безопасно. Например, многие клиенты произведённого в Китае оборудования не поддерживают обновление списка доверенных корневых и выпускающих УЦ по протоколу SCEP. Также очень многие клиенты специфическим образом нацелены именно на проприетарную реализацию SCEP от Microsoft (сервис NDES) в связке с Microsoft Active Directory. Наиболее активно использующими SCEP устройствами являются те, которые недоступны или ограничены в России в рамках стратегии импортозамещения и действующих санкций. К таким устройствам относится сетевое оборудование Cisco и устройства Apple на базе iOS и её деривативов. Также надо отметить, что протокол SCEP не позволяет понять, успешно ли был выпущен и доставлен сертификат до конечного потребителя, у него нет механизмов, позволяющих контролировать своевременное обновление сертификатов, и нет средств для проксирования или применения в сегментированных корпоративных сетях. Наконец, в протоколе SCEP отсутствуют механизмы полноценного контроля доверия клиенту и содержимому его запроса на выпуск сертификата. Если клиент захочет выпустить сертификат с неподходящим для него Common Name или Subject Alternative Name, то только УЦ в режиме ручной проверки запросов и ручного выпуска сертификатов может предотвратить такой сценарий. Поэтому SCEP подходит только для абсолютно доверенных потребителей, самостоятельно проверяющих и формирующих запросы на сертификаты, и потому не позволяет полноценно автоматизировать весь процесс выпуска.
CMP и EST – эти протоколы, к сожалению, реализованы в очень ограниченном наборе проприетарных зарубежных продуктов из недружественных стран, например: EJBCA от шведско-американской компании Keyfactor, Nexus Certificate Manager от европейской Nexus Group, некоторые продукты американской компании Entrust, УЦ от финской INSTA и ряд облачных УЦ. Помимо того, что эти продукты и их производители не могут быть использованы в России, в основном их реализация ограничивается серверным функционалом и поддержкой именно протоколов, а потому полноценного контроля за выпускаемыми сертификатами и их применением на конечных ОС потребителей всё равно не обеспечивается, также нет важных механизмов мониторинга сроков действия сертификатов и ключей. В итоге это требует полноценного проекта по разработке и реализации клиентского функционала в применении к конкретным информационным системам и потребителям.
ACMEv2 – этот протокол ориентирован на один-единственный, хотя и важный сценарий выпуска SSL/TLS-сертификатов, а именно на выпуск сертификатов для классических web-серверов и web-сервисов с уникальным доменным именем, которые представлены в Интернет-пространстве мировой инфраструктуры DNS. При этом право получения сертификата с конкретным Subject Name/Subject Alternative Name имеет только такой клиент, который владеет закрытым ключом (паролем), соответствующим публичной TXT-записи в текущем DNS-пространстве. Из этого сразу вытекают и очевидные ограничения и риски протокола: как лучше передать ключ клиенту и хранить его в безопасности, кто и как контролирует и актуализирует TXT-записи в DNS. Как при этом разделить публичную в сети Интернет и внутреннюю корпоративную инфраструктуру DNS и направить запросы к разным серверам ACME. Как бороться со спуфингом и «отравлением» кеша DNS, особенно в корпоративных сетях (по сути, без внедрения стандарта DNSSEC или его альтернативы Secure Dynamic DNS updates в Microsoft Active Directoryзащититься от получения злоумышленниками «ваших» сертификатов невозможно). ACME – это такой же протокол, и в нем нет специальных механизмов контроля факта установки и гарантии обновления сертификата информационной системы – потребителя.
Microsoft Enterprise PKI – пожалуй, наиболее функционально полное решение из всех описанных выше, однако оно обладает существенным недостатком: оно ориентировано только на стек продуктов корпорации Microsoft. И хотя существуют простые и понятные механизмы интеграции со сторонними решениями (тот же SCEP и поддержка форматов PKCS#), в таких сценариях существенная часть функционала становится недоступной. Например, без работы потребителя сертификатов на ОС Windows и в инфраструктуре Microsoft Active Directory, а также использования Групповых Политик Active Directory (GPO) у вас не получится распространять информацию о доступных УЦ, о корпоративных шаблонах и сертификатах, которые эти УЦ могут по этим шаблонам выпускать, едином корпоративном списке доверенных сертификатов, обеспечить автоматический перевыпуск устаревающих сертификатов (auto enrollment). Все эти механизмы реализованы поверх семейства сетевых протоколов Microsoft RPC, использование которых в сети Интернет, да и в корпоративных сетях, крайне рискованно. Также Microsoft RPC плохо работает в сегментированных межсетевыми экранами сетях, поскольку устанавливает несколько разнонаправленных TCP-соединений. Надо отметить, что в рамках Microsoft Enterprise PKI нет и средств мониторинга и контроля как самой ИОК, так и подтверждения успешных фактов обновления списка доверенных сертификатов и собственно результатов выпуска сертификатов. Нет и автоматизации установки обновлённых сертификатов в конечную систему потребителя – это тоже делается чаще всего вручную.
При выборе решения по автоматизации управления технологическими сертификатами следует, кроме прочего, сформулировать общие вопросы ко всем технологиям и продуктам:
При рассмотрении всех этих вопросов выясняются некоторые очень специфические моменты, особенно для современных контейнерных сред на базе Kubernetes или брокера сообщений Apache Kafka. Перечислять все нюансы обеспечения сертификатами SSL/TLS информационных систем и приложения — занятие долгое и неблагодарное для одной статьи, но давайте хотя бы кратко обозначим наиболее очевидные и заметные проблемы прикладных систем — потребителей сертификатов:
Доступность различных технических решений в условиях санкций и импортозамещения
Наверное, этот раздел будет самым коротким в статье – все известные автору имевшиеся продукты и решения по автоматическому управлению технологическими сертификатами в настоящий момент либо подлежат импортозамещению, либо вовсе недоступны для использования в России. Из чего следует очевидный вывод: такое решение должно быть создано в России и интегрироваться с российскими ОС, СУБД, системами резервного копирования, виртуализации и ПО с открытым исходным кодом. Критически важно в переходный период, пока программные продукты западных вендоров, таких как Microsoft, Cisco, Oracle и прочих, будут сосуществовать в организациях с новыми импортозамещенными продуктами и технологиями, обеспечить работоспособность и совместимость и тех, и других.
Опыт по комплексному импортозамещению ИОК
В завершение статьи перейдём к краткому обзору нашего опыта внедрения системы ЦУГИ (Централизованное Управление Гетерогенными Инфраструктурами – в реестре отечественного ПО №13033), которая в итоге позволяет решить все из перечисленных выше задач технологической ИОК и обеспечить безболезненный переход от инфраструктуры Microsoft Active Directory Certificate Services на технологические УЦ RSA на базе OpenSSL или УЦ российских производителей.
Импортозамещение серверов УЦ RSA Microsoft CA
В этом вопросе выбрано самое очевидное решение – использование встроенного в большинство ОС семейства Linux пакета OpenSSL который при определенных настройках и программной обвязке позволяет реализовать почти все основные функции технологического УЦ. Такое решение дополнено модулем, поддерживающим протокол SCEP и автоматизирующим процесс формирования и публикации списка отзыва сертификатов (CRL, Delta CRL) и точек доверия (AIA). Как показывают испытания, решение достаточно производительное и при этом не требующее заметных вложений. Однако следует отметить, как будет видно дальше, подобный УЦ с лёгкостью может быть заменён на другие промышленные решения без необходимости какой-либо перенастройки ИОК и информационных систем — потребителей сертификатов.
Автоматизация выпуска технологических сертификатов для АРМ, серверов и контейнерных сред
Этот компонент – Единая Система Автоматического Управления Сертификатами (ЕСАУС), пожалуй, наиболее важный во всей архитектуре. Именно он обеспечивает автоматизацию выпуска, доставки и установки сертификатов. Кратко представим из чего такая подсистема состоит (см. схему):
Именно агенты и операторы реализуют все те разнообразные сценарии и шаги по формированию запросов на сертификаты (CSR) и следующие после выпуска и доставки сертификата шаги по его корректной установке и конфигурированию приложения-потребителя. Отметим, что агенты при своей первичной установке требуют авторизации, а при запросе сертификата собирают расширенную информацию об окружении и процессах, которые запрашивают сертификат. Именно эта информация и используется потом на Мостах ЦУГИ для проверки запроса на соответствие корпоративным политикам выпуска сертификатов. Только после успешной проверки запрос (CSR) направляется через кластер драйверов УЦ для выпуска на один из множества УЦ. При этом запросы могут как балансироваться, так и для конкретных политик направляться всегда на один УЦ, если этого требуют особенности приложения потребителя. Все происходящие процессы конечно же журналируются, а сама система имеет два независимых плеча, работающих в режиме Active/Active, в географически разнесённых ЦОД.
Мониторинг Инфраструктуры Открытых Ключей RSA и состояния сертификатов
Эта сопутствующая для ИОК задача для достижения описанных выше целей имеет критически важное значение. Фактически при массовом использовании сертификатов и выпуске их десятками тысяч в день нам необходимо обеспечить очень высокую доступность и надёжность всех компонентов системы. Кроме архитектурных решений, необходимо реализовать автоматический структурированный мониторинг как самих УЦ RSA, так и всех вспомогательных компонентов ИОК. Для этой цели реализована специализированная Система Мониторинга ИОК (СМИОК), в которую встроена индивидуальная «модель здоровья» ИОК, включающая в себя (рис. 2):
Также, помимо классических задач мониторинга, система обеспечивает дополнительные функции мониторинга и сопровождения ИОК, а именно (рис. 3):
Самообслуживание потребителей сертификатов через Личный Кабинет
Этот компонент архитектуры Личный Кабинет Пользователя Сертификатами (ЛКПС) предоставляет интерфейс к Единому Справочнику Сертификатов (ЕСС), используемых в организации, и отвечает за работу пользователей и администраторов информационных систем, которые являются потребителями технологических сертификатов. Для таких пользователей Личный Кабинет является единым окном для решения всех своих основных задач:
Интеграция технических решений в бизнес-процессы
Рассмотрим совместимость архитектуры ЦУГИ с наиболее актуальными отечественными решениями. В первую очередь опишем возможности интеграции с УЦ, выпускающими RSA сертификаты российского производства:
Кратко обозначим и другие средства интеграции:
Вместо заключения
Описанные в статье подходы и программные продукты не просто теория, а зарекомендовавшие себя в реальной эксплуатации (некоторые компоненты успешно работают уже более 2 лет) системы и сервисы построенные на платформе ЦУГИ производства ООО «Клируэй Текнолоджис» (торговая марка Clearway Integration).
Одним из успешно использующих их заказчиков является Банк ВТБ. В частности, на момент написания статьи в Банке ВТБ из намеченных к концу 2024 года 700 информационных систем и приложений уже подключены и обсуживаются в режиме полностью автоматического выпуска сертификатов более 150. При этом разработана методическая и техническая документация, необходимая для ускорения и упрощения процесса подключения информационных систем потребителей сертификатов к ЦУГИ.
Планы развития ЦУГИ на ближайшую перспективу включают (рис. 5):
Реклама. ООО «Клируэй Текнолоджис», ИНН: 7710880240, Erid: 2VfnxwLGv5W
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных
Отправляя данную форму вы соглашаетесь с политикой конфиденциальности персональных данных