Для чего нужен центр сертификации windows

Привет, Хабр! Мы начинаем новую серию статей. Она будет посвящена развертыванию службы сертификатов на предприятии на базе Windows Server 2016 с практическими примерами. Сегодня обозначим вступительные моменты и поговорим о типовых схемах развёртывания иерархии PKI: двухуровневой и многоуровневой. Обо всем этом читайте под катом.

Вторая часть серии

Третья часть серии

Введение

Целевая аудитория

ИТ-администраторы, ИТ-инженеры и специалисты по безопасности, имеющие основные понятия о цифровых сертификатах.

Словарь терминов

В этой части серии использованы следующие сокращения и аббревиатуры:

  • PKI (Public Key Infrastructure) — инфраструктура открытого ключа (ИОК), набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей. Поскольку аббревиатура ИОК не является распространённой, здесь и далее будет использоваться более знакомая англоязычная аббревиатура PKI.
  • X.509 — стандарт ITU-T для инфраструктуры открытого ключа и инфраструктуры управления привилегиями.
  • ЦС (Центр Сертификации) — служба, выпускающая цифровые сертификаты. Сертификат — это электронный документ, подтверждающий принадлежность открытого ключа владельцу.
  • CRL (Certificate Revocation List) — список отзыва сертификатов. Подписанный электронный документ, публикуемый ЦС и содержащий список отозванных сертификатов, действие которых прекращено по внешним причинам. Для каждого отозванного сертификата указывается его серийный номер, дата и время отзыва, а также причина отзыва (необязательно). Приложения могут использовать CRL для подтверждения того, что предъявленный сертификат является действительным и не отозван издателем.
  • SSL (Secure Sockets Layer) или TLS (Transport Layer Security) — технология, обеспечивающая безопасность передачи данных между клиентом и сервером поверх открытых сетей.
  • HTTPS (HTTP/Secure) — защищённый HTTP, являющийся частным случаем использования SSL.
  • Internet PKI — набор стандартов, соглашений, процедур и практик, которые обеспечивают единый (унифицированный) механизм защиты передачи данных на основе стандарта X.509 по открытым каналам передачи данных.

Зачем нужен частный PKI?

Шифрование, цифровые подписи и сертификаты всё плотнее входят в нашу повседневную интернет-жизнь. Если об этих терминах 10 лет назад говорили мало, и далеко не всем ИТ специалистам был известен смысл этих слов, то сейчас они у многих на слуху. И этот процесс длится не год и не два, а добрый десяток лет. Сейчас мы находимся в активной фазе развития клиент-серверных веб-сервисов (привет мейнфреймам!), и значительная доля коммуникации людей и устройств перекладывается на компьютерные сети и интернет. Как следствие, новые условия диктуют новые требования к защите данных. Крупные производители ПО активно продвигают идеологию «безопасного интернета», требуя поддержки цифровых сертификатов, начиная от серверов с конфиденциальными данными, облачных служб, вплоть до кухонного чайника или бельевого утюга (IoT).

Некоторые компании делают это весьма настойчиво. Так, начиная с 2017 года, компания Google считает все сайты без поддержки HTTPS небезопасными: Moving towards a more secure web. И это весьма ощутимо влияет на интернет-индустрию. Во-первых, предупреждение в браузере (Google Chrome) явно не будет радовать ваших потенциальных клиентов и просто посетителей. Во-вторых, сайты без поддержки HTTPS опускаются в поисковой выдаче. Mozilla и другие крупные вендоры также не отстают от Google: Deprecating Non-Secure HTTP. С одной стороны, компании давят на интернет-индустрию, толкая организации на дополнительные расходы, связанные с цифровыми сертификатами. С другой стороны, это — вынужденный шаг, и всем нужно идти в ногу со временем.

Однако текущее положение Internet PKI не позволяет решать эти вопросы достаточно гибко и удобно, требуя существенных затрат. Например, один сертификат SSL для публичного веб-сервера вам обойдётся в сумму порядка $100, а если хотите сертификат с зелёной полосой, это вам будет стоить ещё дороже. И это только за один сертификат! При этом автоматизация процессов находится в самом зачаточном состоянии.

Для решения этих проблем крупнейшие вендоры ПО объединились и совместными усилиями наводят порядок с цифровыми сертификатами в Internet PKI. Во-первых, создан единый стандартизирующий орган — CAB Forum (CA/Browser Forum), который определяет стандартные практики для коммерческих CA, производителей веб-ПО и потребителей сертификатов. Во-вторых, активное продвижение некоммерческого CA (но глобально доверенного) Let’s Encrypt для обеспечения бесплатными сертификатами с возможностью автоматического продления.

Казалось бы, это решает все проблемы безопасной коммуникации, и частные PKI (разворачиваемые в пределах организации) стали сразу ненужными. В какой-то, да, если частный PKI занимался обслуживанием внешних серверов (веб, VPN и т.д.). Но сервисы наподобие Let’s Encrypt в настоящее время покрывают лишь узкий спектр корпоративных потребностей в сертификатах. Например, не покрываются сертификаты для шифрования документов, почты, цифровых подписей. Часть задач, как аутентификация клиентов не покрывается совсем. Ещё одним ограничением является то, что для использования публичных сертификатов, выданных коммерческими CA вам необходимо иметь публичный домен. Получить сертификат для веб-сервера на имя domain.local от Let’s Encrypt технически невозможно. Именно поэтому актуальность частных PKI остаётся на очень высоком уровне. Пример использования частных PKI в корпоративной среде изображён на следующем рисунке:

Если компания решает использовать частный PKI в пределах организации, встаёт другой насущный вопрос: как же правильно его организовать, чтобы он отвечал современным практикам и стандартам хотя бы в пределах организации. В интернете можно найти многочисленные статьи о том, как развернуть PKI в компании на основе Active Directory Certificate Services (ADCS). Но в большинстве своём они изобилуют ошибками, исходят из неверных предпосылок и нередко являются копированием какого-то исходного (не всегда удачного) материала, а к имеющимся фундаментальным ошибкам привносят ещё и свои. Как следствие, многочисленные провалы в развёртывании PKI. Об этом можно судить по количеству соответствующих тем на форумах (в частности, TechNet Server Security). Качественной документации на английском языке не хватает, а на русском… Этот цикл статей призван восполнить этот пробел и систематизировать современные наработки.

Общие положения

PKI является технологией безопасности, которая основывается на стандарте X.509 и использует цифровые сертификаты. Целью PKI является повышение безопасности ИТ инфраструктуры предприятия за счёт предоставления механизмов по защите данных от несанкционированного доступа и незаконного изменения данных (подделка данных). Это достигается двумя основными криптографическими механизмами:

  • Шифрование – защищает данные от несанкционированного доступа третьих лиц путём шифрования данных криптографическими ключами. Только пользователи, имеющие необходимые ключи, могут получить доступ к данным. Шифрование обеспечивает секретность данных, но не защищает от их подмены.
  • Цифровая подпись – защищает данные от несанкционированного изменения или подделки путём применения к данным специальных алгоритмов, которые образуют цифровую подпись. Любые манипуляции по изменению данных будут немедленно обнаружены при проверке цифровой подписи. Цифровая подпись обеспечивает не конфиденциальность данных, а их целостность. Путём комбинирования шифрования и цифровой подписи можно организовать обеспечение конфиденциальности и защиты данных от несанкционированных изменений.

Типичная инфраструктура PKI состоит из следующих компонентов:

  • Центр Сертификации (ЦС) – служба, предоставляющая цифровые сертификаты потребителям и обеспечивающая функционирование PKI.
  • Сервер отзыва – служба, предоставляющая информацию о списках отозванных (скомпрометированных или недействительных) сертификатов, выпущенных конкретным ЦС.
  • Клиент – получатель заверенного цифрового сертификата от центра сертификации. Клиентами могут выступать люди, устройства, программное обеспечение, а также другие ЦС.

Структура ЦС и сертификатов выстраиваются в древовидную иерархию. Каждый ЦС может выполнять одну или несколько (совмещать) ролей:

  • Корневой ЦС – специальный тип ЦС, который имеет самоподписанный сертификат и является корнем дерева (отсюда и название). Этот тип ЦС является стартовой точкой доверия ко всем сертификатам в данной иерархии (дерева). Иными словами, клиент должен явно доверять конкретному корневому сертификату (а именно, комбинации: издатель и открытый ключ), чтобы доверять сертификатам, находящимся в остальной части дерева. Важно отметить, что доверие транзитивно. Клиент при проверке конечного сертификата будет выстраивать цепочку (путь) от конечного сертификата до вершины иерархии (корневого сертификата). И если клиент доверяет вершине, то будут и основания доверять конечному сертификату на правах транзитивности.
  • ЦС политик – технически, это такой же ЦС, как и все остальные (в разрезе иерархии), с тем отличием, что дополняется внешними политиками и ограничениями по выдаче и использования цифровых сертификатов.
  • Издающий ЦС – это ЦС общего назначения, который выполняет подпись и выдачу цифровых сертификатов потребителям.

Для понимания процесса построения цепочек сертификатов рекомендую прочитать следующую статью: Certificate Chaining Engine — how it works. Данная статья ориентирована на платформу Microsoft CryptoAPI, она также справедлива (за некоторыми исключениями) и для других реализаций криптографических платформ.

Поскольку ЦС выстраиваются в древовидную иерархию, возможно организовать многоуровневую иерархию, где на каждом уровне ЦС будет выполнять как роль издающего ЦС, так и дополнительные функции. В самом простом случае один ЦС может совмещать все роли, т.е. быть корневым, обеспечивать какие-то политики выдачи и выдавать сертификаты конечным потребителям. Более крупные компании и/или с более зрелой организацией ИТ-процессов уже используют разделение ЦС по ролям. Например, в головном офисе держат корневой ЦС, выдающий сертификаты только другим ЦС, которые уже на себе накладывают политики выдачи. Они могут не обслуживать напрямую конечных потребителей, а выдавать сертификаты другим подчинённым ЦС, которые, в свою очередь, и будут обслуживать конечных потребителей. В каждом подходе есть свои плюсы и минусы, которые будут рассмотрены ниже.

Отзыв сертификатов

Помимо задач по выпуску сертификатов, каждый ЦС периодически выпускает списки отзыва (Certificate Revocation List, CRL). Как и сертификаты, целостность списков отзыва обеспечивается цифровой подписью. CRL содержит серийные номера сертификатов, действие которых прекращено по какой-либо причине до официального истечения срока действия сертификата. Таким образом ЦС обеспечивает своевременное изъятие недействительного сертификата из оборота.

Каждый клиент после установки доверия сертификата через цепочку должен убедиться, что ни один сертификат в цепочке не был отозван своим издателем. Для этого клиент перебирает каждый сертификат в цепочке, выбирает CRL предоставленный издателем и проверяет наличие/отсутствие текущего сертификата в списке CRL. Если текущий сертификат находится в CRL, то доверие к сертификату (и всем ветвям дерева под ним) автоматически обрывается.

Фактически, если корневой ЦС отозвал все свои непосредственно изданные сертификаты, то ни один сертификат под этим корнем не будет доверенным вне зависимости от высоты иерархии. Здесь следует отметить один крайне важный и принципиальный момент: невозможно отозвать корневой (самоподписанный) сертификат. Т.е. если по какой-то причине он был скомпрометирован, его можно отозвать только принудительным удалением сертификата из хранилища сертификатов каждого клиента. Дело в том, что ЦС не определяет списки отзывов для самого себя, это делает издатель. В случае самоподписанного сертификата, ЦС является издателем самого себя. И при попытке включить себя в свой же список отзыва получается неопределённость: сертификат ЦС включен в CRL, который подписан ключом этого же ЦС. Если предположить, что сертификат ЦС недействителен, то и цифровая подпись на CRL является недействительной. Как следствие, невозможно достоверно утверждать, что сертификат корневого ЦС отозван. Причём, отзыв корневых сертификатов не предусмотрен и основным регламентирующим стандартом, RFC 5280, параграф §6.1 которого гласит:

When the trust anchor is provided in the form of a self-signed certificate, this self-signed certificate is not included as part of the prospective certification path.

А на отзыв проверяется только проспективная цепочка. Если говорить в контексте Microsoft ADCS, то тут ситуация усугубляется ещё больше. В частности, вы технически можете отозвать корневой сертификат при помощи certutil.exe или CryptoAPI. Но как только вы это сделаете, ЦС не сможет подписать ни один CRL, как следствие, сертификат ЦС никогда не попадёт в CRL. Более того, даже если использовать различные утилиты (тот же certutil.exe), можно насильно включить сертификат ЦС в CRL, но это мало чем поможет. Дело в том, что конфигурация по умолчанию CryptoAPI даже не пытается проверить корневой сертификат на отзыв.

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

Типовые схемы развёртывания иерархии PKI

В этом разделе мы рассмотрим типовые (или классические) схемы развёртывания иерархии PKI в условиях предприятия и проводятся оценки каждой схемы и рекомендации. Следует отметить, что ни одна из них не является универсальной, и каждая может иметь смысл в своих пределах.

Одноуровневая иерархия

Одноуровневая иерархия является самой простой в реализации и имеет следующий вид:

Такая иерархия является самой простой и экономичной как по ресурсам (лицензиям), так и по расходам на обслуживание и управление. Достаточно развернуть один такой ЦС в лесу Active Directory, и он будет обеспечивать сертификатами всех потребителей. Из неочевидных, но немаловажных достоинств можно отметить очень короткую цепочку сертификатов. Т.е. время на проверку доверенности и отзыва сертификата будет тратиться гораздо меньше, чем в любых других иерархиях.

Однако одноуровневая иерархия обладает рядом достаточно существенных недостатков. Самый крупный из них – низкий уровень безопасности. Поскольку ЦС в такой схеме должен быть постоянно включенным в сеть, чтобы клиенты могли запрашивать сертификаты, значительно увеличивается риск его компрометации. Последствия компрометации могут быть чудовищными, вплоть до полной потери контроля над Active Directory и краху ИТ систем. Это может быть вызвано как недостаточными мерами безопасности, наличием не закрытых уязвимостей ОС или компонентах системы, которые позволяют удалённое исполнение кода и т.д. Как отмечалось выше, отозвать нормальным способом такой сертификат уже нельзя, и последствия будут действительно тяжёлыми.

Другой момент связан с гибкостью разделения ЦС на функциональные уровни (делегирование). Например, невозможно организовать несколько различных политик выдачи, разделить на классы (например, один ЦС издаёт сертификаты только машинам и устройствам, другой только для пользователей) и т.д., потому что он всего один.

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

Двухуровневая иерархия

Двухуровневая иерархия уже подразумевает как минимум два ЦС в дереве, в котором один строго корневой, а остальные — подчинённые. Схема такой иерархии представлена ниже:

Примечание: здесь пунктирными линиями отмечен ручной (неавтоматизированный) процесс получения сертификата. Сплошными линиями отмечен автоматизированный процесс получения сертификатов.

В двухуровневой иерархии уже возможно решить недостатки одноуровневой иерархии. Здесь корневой ЦС выпускает сертификаты только для подчинённых ЦС, а уже подчинённый ЦС выдаёт сертификаты конечным потребителям. Поскольку издающие ЦС развёртываются не так часто, и срок их действия достаточного велик, это позволяет изолировать корневой ЦС от сети. Это автоматически сводит к нулю шанс компрометации такого ЦС, поскольку без сети к нему не добраться. Более того, основное время жизни он может (и должен) проводить в выключенном состоянии. Включать его нужно только для обновления собственного сертификата, подчинённого ЦС или для публикации нового CRL. В остальное время он никому не нужен.

Другим достоинством двухуровневой иерархии является улучшенная гибкость в разбиении подчинённых ЦС на какие-то классы. Тот же типичный сценарий, когда два ЦС управляются разными подразделениями ИТ, и каждый ЦС выпускает сертификаты для своих групп потребителей. Например, для машин отдельно, для пользователей отдельно. Можно для корпоративных разработчиков (которые обычно живут в своих средах) выделить свой подчинённый ЦС.

Именно здесь уже можно начинать задумываться о разделении ЦС по политикам выдачи (или классам). Например, можно выделить один ЦС для выдачи сертификатов с повышенными требованиями к сертификатам (например, сертификаты для аутентификации и цифровой подписи) и ЦС общего назначения. Управлять ими могут различные команды ИТ-администраторов. При этом каждый подчинённый ЦС будет совмещать задачи ЦС политики и издающего ЦС. Это вполне допустимо, если предположить, что количество ЦС на каждый класс не более одного.

Из недостатков можно выделить лишь некоторое увеличение как административных, так и финансовых издержек (требуется дополнительная лицензия). К административным издержкам добавятся контроль за сроком действия каждого ЦС и списка отзыва корневого ЦС, а также их своевременное обновление. Кроме того, несколько увеличится время построения и проверки цепочек сертификатов, поскольку добавляется ещё один уровень. На практике это время практически не ощутимо.

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

Трёх- и более уровневые иерархии

В более крупных компаниях со сложной организацией сетей может случиться, что двухуровневая иерархия не может обеспечить необходимый уровень гибкости управления ЦС. Например, когда компания использует географический принцип разделения с относительной автономией ИТ отделов в каждом регионе. Представьте международную компанию с региональными офисами в разных странах. В них может действовать своё законодательство в вопросах безопасности, например, при обработке персональных данных. Для соблюдения подобных юридических формальностей на каждый такой регион выделяется свой собственный ЦС политик (при этом, размещается он, как правило, в головном офисе компании). В в своём сертификате он указывает поддержку (и ссылку на соответствующий документ) тех или иных нормативных документов и выпускает сертификаты для издающих ЦС, действующих в рамках тех политик, которые обозначены в сертификате (грубо говоря, в данном регионе).

В таких иерархиях корневой ЦС и ЦС политик изолируют от сети, а к сети уже подключаются только издающие ЦС:

Здесь также пунктиром отмечен ручной процесс получения сертификата для ЦС и сплошными линиями автоматизированный процесс получения сертификата для клиентов.

К плюсам такой схемы можно отнести гибкость полученной PKI с возможностью адаптации под практически любые условия. Правда, за это придётся платить. Во-первых, многоуровневые иерархии удорожают стоимость развёртывания и сопровождения PKI. Во-вторых, клиентам требуется больше времени на построение и проверки на отзыв полных цепочек сертификатов, что может вызывать отказы из-за превышения таймаутов верхних протоколов передачи данных. И на практике такие схемы зачастую являются избыточными. Поэтому при выборе подходящей иерархии ЦС следует искать баланс между гибкостью и практической целесообразностью с учётом капитальных и операционных затрат на содержание PKI.

В рамках этой серии статей рассматривается наиболее популярная (в большинстве случаев) двухуровневая иерархия.

Об авторе

Вадим Поданс — специалист в области автоматизации PowerShell и Public Key Infrastructure, Microsoft MVP: Cloud and Datacenter Management с 2009 года и автор модуля PowerShell PKI. На протяжении 9 лет в своём блоге освещает различные вопросы эксплуатации и автоматизации PKI на предприятии. Статьи Вадима о PKI и PowerShell можно найти на его сайте.

Привет, Хабр! Мы начинаем новую серию статей. Она будет посвящена развертыванию службы сертификатов на предприятии на базе Windows Server 2016 с практическими примерами. Сегодня обозначим вступительные моменты и поговорим о типовых схемах развёртывания иерархии PKI: двухуровневой и многоуровневой. Обо всем этом читайте под катом.

Вторая часть серии

Третья часть серии

Введение

Целевая аудитория

ИТ-администраторы, ИТ-инженеры и специалисты по безопасности, имеющие основные понятия о цифровых сертификатах.

Словарь терминов

В этой части серии использованы следующие сокращения и аббревиатуры:

  • PKI (Public Key Infrastructure) — инфраструктура открытого ключа (ИОК), набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей. Поскольку аббревиатура ИОК не является распространённой, здесь и далее будет использоваться более знакомая англоязычная аббревиатура PKI.
  • X.509 — стандарт ITU-T для инфраструктуры открытого ключа и инфраструктуры управления привилегиями.
  • ЦС (Центр Сертификации) — служба, выпускающая цифровые сертификаты. Сертификат — это электронный документ, подтверждающий принадлежность открытого ключа владельцу.
  • CRL (Certificate Revocation List) — список отзыва сертификатов. Подписанный электронный документ, публикуемый ЦС и содержащий список отозванных сертификатов, действие которых прекращено по внешним причинам. Для каждого отозванного сертификата указывается его серийный номер, дата и время отзыва, а также причина отзыва (необязательно). Приложения могут использовать CRL для подтверждения того, что предъявленный сертификат является действительным и не отозван издателем.
  • SSL (Secure Sockets Layer) или TLS (Transport Layer Security) — технология, обеспечивающая безопасность передачи данных между клиентом и сервером поверх открытых сетей.
  • HTTPS (HTTP/Secure) — защищённый HTTP, являющийся частным случаем использования SSL.
  • Internet PKI — набор стандартов, соглашений, процедур и практик, которые обеспечивают единый (унифицированный) механизм защиты передачи данных на основе стандарта X.509 по открытым каналам передачи данных.

Зачем нужен частный PKI?

Шифрование, цифровые подписи и сертификаты всё плотнее входят в нашу повседневную интернет-жизнь. Если об этих терминах 10 лет назад говорили мало, и далеко не всем ИТ специалистам был известен смысл этих слов, то сейчас они у многих на слуху. И этот процесс длится не год и не два, а добрый десяток лет. Сейчас мы находимся в активной фазе развития клиент-серверных веб-сервисов (привет мейнфреймам!), и значительная доля коммуникации людей и устройств перекладывается на компьютерные сети и интернет. Как следствие, новые условия диктуют новые требования к защите данных. Крупные производители ПО активно продвигают идеологию «безопасного интернета», требуя поддержки цифровых сертификатов, начиная от серверов с конфиденциальными данными, облачных служб, вплоть до кухонного чайника или бельевого утюга (IoT).

Некоторые компании делают это весьма настойчиво. Так, начиная с 2017 года, компания Google считает все сайты без поддержки HTTPS небезопасными: Moving towards a more secure web. И это весьма ощутимо влияет на интернет-индустрию. Во-первых, предупреждение в браузере (Google Chrome) явно не будет радовать ваших потенциальных клиентов и просто посетителей. Во-вторых, сайты без поддержки HTTPS опускаются в поисковой выдаче. Mozilla и другие крупные вендоры также не отстают от Google: Deprecating Non-Secure HTTP. С одной стороны, компании давят на интернет-индустрию, толкая организации на дополнительные расходы, связанные с цифровыми сертификатами. С другой стороны, это — вынужденный шаг, и всем нужно идти в ногу со временем.

Однако текущее положение Internet PKI не позволяет решать эти вопросы достаточно гибко и удобно, требуя существенных затрат. Например, один сертификат SSL для публичного веб-сервера вам обойдётся в сумму порядка $100, а если хотите сертификат с зелёной полосой, это вам будет стоить ещё дороже. И это только за один сертификат! При этом автоматизация процессов находится в самом зачаточном состоянии.

Для решения этих проблем крупнейшие вендоры ПО объединились и совместными усилиями наводят порядок с цифровыми сертификатами в Internet PKI. Во-первых, создан единый стандартизирующий орган — CAB Forum (CA/Browser Forum), который определяет стандартные практики для коммерческих CA, производителей веб-ПО и потребителей сертификатов. Во-вторых, активное продвижение некоммерческого CA (но глобально доверенного) Let’s Encrypt для обеспечения бесплатными сертификатами с возможностью автоматического продления.

Казалось бы, это решает все проблемы безопасной коммуникации, и частные PKI (разворачиваемые в пределах организации) стали сразу ненужными. В какой-то, да, если частный PKI занимался обслуживанием внешних серверов (веб, VPN и т.д.). Но сервисы наподобие Let’s Encrypt в настоящее время покрывают лишь узкий спектр корпоративных потребностей в сертификатах. Например, не покрываются сертификаты для шифрования документов, почты, цифровых подписей. Часть задач, как аутентификация клиентов не покрывается совсем. Ещё одним ограничением является то, что для использования публичных сертификатов, выданных коммерческими CA вам необходимо иметь публичный домен. Получить сертификат для веб-сервера на имя domain.local от Let’s Encrypt технически невозможно. Именно поэтому актуальность частных PKI остаётся на очень высоком уровне. Пример использования частных PKI в корпоративной среде изображён на следующем рисунке:

Если компания решает использовать частный PKI в пределах организации, встаёт другой насущный вопрос: как же правильно его организовать, чтобы он отвечал современным практикам и стандартам хотя бы в пределах организации. В интернете можно найти многочисленные статьи о том, как развернуть PKI в компании на основе Active Directory Certificate Services (ADCS). Но в большинстве своём они изобилуют ошибками, исходят из неверных предпосылок и нередко являются копированием какого-то исходного (не всегда удачного) материала, а к имеющимся фундаментальным ошибкам привносят ещё и свои. Как следствие, многочисленные провалы в развёртывании PKI. Об этом можно судить по количеству соответствующих тем на форумах (в частности, TechNet Server Security). Качественной документации на английском языке не хватает, а на русском… Этот цикл статей призван восполнить этот пробел и систематизировать современные наработки.

Общие положения

PKI является технологией безопасности, которая основывается на стандарте X.509 и использует цифровые сертификаты. Целью PKI является повышение безопасности ИТ инфраструктуры предприятия за счёт предоставления механизмов по защите данных от несанкционированного доступа и незаконного изменения данных (подделка данных). Это достигается двумя основными криптографическими механизмами:

  • Шифрование – защищает данные от несанкционированного доступа третьих лиц путём шифрования данных криптографическими ключами. Только пользователи, имеющие необходимые ключи, могут получить доступ к данным. Шифрование обеспечивает секретность данных, но не защищает от их подмены.
  • Цифровая подпись – защищает данные от несанкционированного изменения или подделки путём применения к данным специальных алгоритмов, которые образуют цифровую подпись. Любые манипуляции по изменению данных будут немедленно обнаружены при проверке цифровой подписи. Цифровая подпись обеспечивает не конфиденциальность данных, а их целостность. Путём комбинирования шифрования и цифровой подписи можно организовать обеспечение конфиденциальности и защиты данных от несанкционированных изменений.

Типичная инфраструктура PKI состоит из следующих компонентов:

  • Центр Сертификации (ЦС) – служба, предоставляющая цифровые сертификаты потребителям и обеспечивающая функционирование PKI.
  • Сервер отзыва – служба, предоставляющая информацию о списках отозванных (скомпрометированных или недействительных) сертификатов, выпущенных конкретным ЦС.
  • Клиент – получатель заверенного цифрового сертификата от центра сертификации. Клиентами могут выступать люди, устройства, программное обеспечение, а также другие ЦС.

Структура ЦС и сертификатов выстраиваются в древовидную иерархию. Каждый ЦС может выполнять одну или несколько (совмещать) ролей:

  • Корневой ЦС – специальный тип ЦС, который имеет самоподписанный сертификат и является корнем дерева (отсюда и название). Этот тип ЦС является стартовой точкой доверия ко всем сертификатам в данной иерархии (дерева). Иными словами, клиент должен явно доверять конкретному корневому сертификату (а именно, комбинации: издатель и открытый ключ), чтобы доверять сертификатам, находящимся в остальной части дерева. Важно отметить, что доверие транзитивно. Клиент при проверке конечного сертификата будет выстраивать цепочку (путь) от конечного сертификата до вершины иерархии (корневого сертификата). И если клиент доверяет вершине, то будут и основания доверять конечному сертификату на правах транзитивности.
  • ЦС политик – технически, это такой же ЦС, как и все остальные (в разрезе иерархии), с тем отличием, что дополняется внешними политиками и ограничениями по выдаче и использования цифровых сертификатов.
  • Издающий ЦС – это ЦС общего назначения, который выполняет подпись и выдачу цифровых сертификатов потребителям.

Для понимания процесса построения цепочек сертификатов рекомендую прочитать следующую статью: Certificate Chaining Engine — how it works. Данная статья ориентирована на платформу Microsoft CryptoAPI, она также справедлива (за некоторыми исключениями) и для других реализаций криптографических платформ.

Поскольку ЦС выстраиваются в древовидную иерархию, возможно организовать многоуровневую иерархию, где на каждом уровне ЦС будет выполнять как роль издающего ЦС, так и дополнительные функции. В самом простом случае один ЦС может совмещать все роли, т.е. быть корневым, обеспечивать какие-то политики выдачи и выдавать сертификаты конечным потребителям. Более крупные компании и/или с более зрелой организацией ИТ-процессов уже используют разделение ЦС по ролям. Например, в головном офисе держат корневой ЦС, выдающий сертификаты только другим ЦС, которые уже на себе накладывают политики выдачи. Они могут не обслуживать напрямую конечных потребителей, а выдавать сертификаты другим подчинённым ЦС, которые, в свою очередь, и будут обслуживать конечных потребителей. В каждом подходе есть свои плюсы и минусы, которые будут рассмотрены ниже.

Отзыв сертификатов

Помимо задач по выпуску сертификатов, каждый ЦС периодически выпускает списки отзыва (Certificate Revocation List, CRL). Как и сертификаты, целостность списков отзыва обеспечивается цифровой подписью. CRL содержит серийные номера сертификатов, действие которых прекращено по какой-либо причине до официального истечения срока действия сертификата. Таким образом ЦС обеспечивает своевременное изъятие недействительного сертификата из оборота.

Каждый клиент после установки доверия сертификата через цепочку должен убедиться, что ни один сертификат в цепочке не был отозван своим издателем. Для этого клиент перебирает каждый сертификат в цепочке, выбирает CRL предоставленный издателем и проверяет наличие/отсутствие текущего сертификата в списке CRL. Если текущий сертификат находится в CRL, то доверие к сертификату (и всем ветвям дерева под ним) автоматически обрывается.

Фактически, если корневой ЦС отозвал все свои непосредственно изданные сертификаты, то ни один сертификат под этим корнем не будет доверенным вне зависимости от высоты иерархии. Здесь следует отметить один крайне важный и принципиальный момент: невозможно отозвать корневой (самоподписанный) сертификат. Т.е. если по какой-то причине он был скомпрометирован, его можно отозвать только принудительным удалением сертификата из хранилища сертификатов каждого клиента. Дело в том, что ЦС не определяет списки отзывов для самого себя, это делает издатель. В случае самоподписанного сертификата, ЦС является издателем самого себя. И при попытке включить себя в свой же список отзыва получается неопределённость: сертификат ЦС включен в CRL, который подписан ключом этого же ЦС. Если предположить, что сертификат ЦС недействителен, то и цифровая подпись на CRL является недействительной. Как следствие, невозможно достоверно утверждать, что сертификат корневого ЦС отозван. Причём, отзыв корневых сертификатов не предусмотрен и основным регламентирующим стандартом, RFC 5280, параграф §6.1 которого гласит:

When the trust anchor is provided in the form of a self-signed certificate, this self-signed certificate is not included as part of the prospective certification path.

А на отзыв проверяется только проспективная цепочка. Если говорить в контексте Microsoft ADCS, то тут ситуация усугубляется ещё больше. В частности, вы технически можете отозвать корневой сертификат при помощи certutil.exe или CryptoAPI. Но как только вы это сделаете, ЦС не сможет подписать ни один CRL, как следствие, сертификат ЦС никогда не попадёт в CRL. Более того, даже если использовать различные утилиты (тот же certutil.exe), можно насильно включить сертификат ЦС в CRL, но это мало чем поможет. Дело в том, что конфигурация по умолчанию CryptoAPI даже не пытается проверить корневой сертификат на отзыв.

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

Типовые схемы развёртывания иерархии PKI

В этом разделе мы рассмотрим типовые (или классические) схемы развёртывания иерархии PKI в условиях предприятия и проводятся оценки каждой схемы и рекомендации. Следует отметить, что ни одна из них не является универсальной, и каждая может иметь смысл в своих пределах.

Одноуровневая иерархия

Одноуровневая иерархия является самой простой в реализации и имеет следующий вид:

Такая иерархия является самой простой и экономичной как по ресурсам (лицензиям), так и по расходам на обслуживание и управление. Достаточно развернуть один такой ЦС в лесу Active Directory, и он будет обеспечивать сертификатами всех потребителей. Из неочевидных, но немаловажных достоинств можно отметить очень короткую цепочку сертификатов. Т.е. время на проверку доверенности и отзыва сертификата будет тратиться гораздо меньше, чем в любых других иерархиях.

Однако одноуровневая иерархия обладает рядом достаточно существенных недостатков. Самый крупный из них – низкий уровень безопасности. Поскольку ЦС в такой схеме должен быть постоянно включенным в сеть, чтобы клиенты могли запрашивать сертификаты, значительно увеличивается риск его компрометации. Последствия компрометации могут быть чудовищными, вплоть до полной потери контроля над Active Directory и краху ИТ систем. Это может быть вызвано как недостаточными мерами безопасности, наличием не закрытых уязвимостей ОС или компонентах системы, которые позволяют удалённое исполнение кода и т.д. Как отмечалось выше, отозвать нормальным способом такой сертификат уже нельзя, и последствия будут действительно тяжёлыми.

Другой момент связан с гибкостью разделения ЦС на функциональные уровни (делегирование). Например, невозможно организовать несколько различных политик выдачи, разделить на классы (например, один ЦС издаёт сертификаты только машинам и устройствам, другой только для пользователей) и т.д., потому что он всего один.

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

Двухуровневая иерархия

Двухуровневая иерархия уже подразумевает как минимум два ЦС в дереве, в котором один строго корневой, а остальные — подчинённые. Схема такой иерархии представлена ниже:

Примечание: здесь пунктирными линиями отмечен ручной (неавтоматизированный) процесс получения сертификата. Сплошными линиями отмечен автоматизированный процесс получения сертификатов.

В двухуровневой иерархии уже возможно решить недостатки одноуровневой иерархии. Здесь корневой ЦС выпускает сертификаты только для подчинённых ЦС, а уже подчинённый ЦС выдаёт сертификаты конечным потребителям. Поскольку издающие ЦС развёртываются не так часто, и срок их действия достаточного велик, это позволяет изолировать корневой ЦС от сети. Это автоматически сводит к нулю шанс компрометации такого ЦС, поскольку без сети к нему не добраться. Более того, основное время жизни он может (и должен) проводить в выключенном состоянии. Включать его нужно только для обновления собственного сертификата, подчинённого ЦС или для публикации нового CRL. В остальное время он никому не нужен.

Другим достоинством двухуровневой иерархии является улучшенная гибкость в разбиении подчинённых ЦС на какие-то классы. Тот же типичный сценарий, когда два ЦС управляются разными подразделениями ИТ, и каждый ЦС выпускает сертификаты для своих групп потребителей. Например, для машин отдельно, для пользователей отдельно. Можно для корпоративных разработчиков (которые обычно живут в своих средах) выделить свой подчинённый ЦС.

Именно здесь уже можно начинать задумываться о разделении ЦС по политикам выдачи (или классам). Например, можно выделить один ЦС для выдачи сертификатов с повышенными требованиями к сертификатам (например, сертификаты для аутентификации и цифровой подписи) и ЦС общего назначения. Управлять ими могут различные команды ИТ-администраторов. При этом каждый подчинённый ЦС будет совмещать задачи ЦС политики и издающего ЦС. Это вполне допустимо, если предположить, что количество ЦС на каждый класс не более одного.

Из недостатков можно выделить лишь некоторое увеличение как административных, так и финансовых издержек (требуется дополнительная лицензия). К административным издержкам добавятся контроль за сроком действия каждого ЦС и списка отзыва корневого ЦС, а также их своевременное обновление. Кроме того, несколько увеличится время построения и проверки цепочек сертификатов, поскольку добавляется ещё один уровень. На практике это время практически не ощутимо.

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

Трёх- и более уровневые иерархии

В более крупных компаниях со сложной организацией сетей может случиться, что двухуровневая иерархия не может обеспечить необходимый уровень гибкости управления ЦС. Например, когда компания использует географический принцип разделения с относительной автономией ИТ отделов в каждом регионе. Представьте международную компанию с региональными офисами в разных странах. В них может действовать своё законодательство в вопросах безопасности, например, при обработке персональных данных. Для соблюдения подобных юридических формальностей на каждый такой регион выделяется свой собственный ЦС политик (при этом, размещается он, как правило, в головном офисе компании). В в своём сертификате он указывает поддержку (и ссылку на соответствующий документ) тех или иных нормативных документов и выпускает сертификаты для издающих ЦС, действующих в рамках тех политик, которые обозначены в сертификате (грубо говоря, в данном регионе).

В таких иерархиях корневой ЦС и ЦС политик изолируют от сети, а к сети уже подключаются только издающие ЦС:

Здесь также пунктиром отмечен ручной процесс получения сертификата для ЦС и сплошными линиями автоматизированный процесс получения сертификата для клиентов.

К плюсам такой схемы можно отнести гибкость полученной PKI с возможностью адаптации под практически любые условия. Правда, за это придётся платить. Во-первых, многоуровневые иерархии удорожают стоимость развёртывания и сопровождения PKI. Во-вторых, клиентам требуется больше времени на построение и проверки на отзыв полных цепочек сертификатов, что может вызывать отказы из-за превышения таймаутов верхних протоколов передачи данных. И на практике такие схемы зачастую являются избыточными. Поэтому при выборе подходящей иерархии ЦС следует искать баланс между гибкостью и практической целесообразностью с учётом капитальных и операционных затрат на содержание PKI.

В рамках этой серии статей рассматривается наиболее популярная (в большинстве случаев) двухуровневая иерархия.

Об авторе

Вадим Поданс — специалист в области автоматизации PowerShell и Public Key Infrastructure, Microsoft MVP: Cloud and Datacenter Management с 2009 года и автор модуля PowerShell PKI. На протяжении 9 лет в своём блоге освещает различные вопросы эксплуатации и автоматизации PKI на предприятии. Статьи Вадима о PKI и PowerShell можно найти на его сайте.

Содержание

  1. Зачем нужен центр сертификации windows
  2. Записки IT специалиста
  3. Windows Server. Создание автономного центра сертификации.
  4. ЦС предприятия
  5. Изолированный (автономный) ЦС
  6. Windows Server 2003
  7. Windows Server 2008 R2
  8. Проверка работы ЦС
  9. Службы сертификации Active Directory. Базовые знания

Сообщения: 181
Благодарности:

Выяснил, что почта Exchange опубликована в инет по протоколу https, для этого в ИСА указан сертификат, который, видимо, и был создан с помощью СА на этом КД. Я попробовал отключить службу СА на сервере, почта через Интернет не перестала работать. То есть если я правильно понял, то после генерации нужного сертификата эту службу можно остановить или даже удалить безболезненно? Тогда зачем в этой оснастке прописаны сертификаты для серверов-контроллеров домена? Какую роль они выполняют?

По поводу остального из списка — ничего в сети больше не используется.

то после генерации нужного сертификата эту службу можно остановить или даже удалить безболезненно? »

——-
MVP: Exchange Server 2009 — 2018
Microsoft Regional Director 2015 — 2017

По поводу переноса сервера — тут http://support.microsoft.com/kb/298138 написано, что нужно полностью убрать старый сервер и назвать новый сервер как старый. Но я уже назвал новый сервер и имя старого сервера совсем к нему не приемлимо

Получается нужно заново все сертификаты создавать?

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Windows Server. Создание автономного центра сертификации.

Windows Server. Создание автономного центра сертификации.

Перед каждым администратором рано или поздно возникает необходимость обеспечить безопасный обмен информации через интернет, внешние и внутренние сети, а также проверку подлинности каждой из сторон, участвующих в обмене информацией. На помощь здесь приходит инфраструктура открытых ключей (PKI) и службы сертификации Windows.

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

Для чего это может быть нужно на практике? Цифровые сертификаты позволяют использовать шифрование на уровне приложений (SSL/TLS) для защиты веб-страниц, электронной почты, служб терминалов и т.п., регистрацию в домене при помощи смарт-карт, аутентификацию пользователей виртуальных частных сетей (VPN), шифрование данных на жестком диске (EFS), а также в ряде случаев обойтись без использования паролей.

Для создания центра сертификации нам понадобится сервер, работающий под управлением Windows Server, который может быть как выделенным, так и совмещать роль центра сертификации с другими ролями. Однако следует помнить, что после развертывания центра сертификации вы не сможете поменять имя компьютера и его принадлежность к домену (рабочей группе).

Центр сертификации (ЦС) может быть двух типов: ЦС предприятия и изолированный (автономный) ЦС, рассмотрим их отличительные особенности:

ЦС предприятия

  • Требует наличия ActiveDirectory
  • Автоматическое подтверждение сертификатов
  • Автоматическое развертывание сертификатов
  • Возможность запроса сертификатов через Web-интерфейс, мастер запросов и автоматическое развертывание

Изолированный (автономный) ЦС

  • Не требует наличия ActiveDirectory
  • Ручное подтверждение сертификатов
  • Отсутствие возможности автоматического развертывания
  • Запрос сертификатов только через Web-интерфейс

Методика развертывания ЦС для Windows Server 2003 и Windows Server 2008 несколько различаются, поэтому мы решили рассмотреть их в отдельности.

Windows Server 2003

Для возможности использования Web-интерфейса для выдачи сертификатов нам понадобится установленный web-сервер IIS. Установим его через диспетчер сервера: Пуск — Управление данным сервером — Добавить или удалить роль.
В списке ролей выбираем роль Сервера приложений. В следующем окне устанавливаем галочку Включить ASP.NET, если IIS уже установлен данный шаг можно пропустить.

После установки IIS приступим к развертыванию Центра сертификации, это делается через оснастку Установка и удаление программ — Установка компонентов Windows, где выбираем Службы сертификации.

Следующим шагом выберите тип ЦС и его подчиненность. Так как в нашем случае сеть не имеет доменной структуры, то ЦС Предприятия недоступен для выбора. Поскольку это первый (и пока единственный ЦС) следует выбрать корневой сервер, подчиненный тип следует выбирать для развертывания следующих ЦС, например для филиалов.

Далее вводим имя ЦС (должно совпадать с именем сервера) и пути размещения файлов. В процессе установки программа предложит перезапустить IIS и, если не была включена поддержка страниц ASP.NET, предложит ее включить, с чем следует согласиться.

Windows Server 2008 R2

В Windows Server 2008 (2008 R2) все настройки консолидированы в одном месте, что делает установку ЦС более простой и удобной. Выбираем Диспетчер сервера — Роли — Добавить роли, в списке ролей выбираем Службы сертификации Active Directory.

В следующем окне обязательно добавляем компонент Служба регистрации в центре сертификации через интернет. При этом будут автоматически определены необходимые службы ролей и компоненты (такие как IIS) и будет предложено их добавить.

Дальнейшая настройка аналогична Windows Server 2003. Вводим тип ЦС, его имя и место хранения файлов, подтверждаем выбор компонент и завершаем установку.

Проверка работы ЦС

Для первоначальной проверки работоспособности ЦС можете запустить оснастку Центр сертификации (Пуск — Администрирование — Центр Сертификации). Если все сделано правильно вы должны увидеть следующее окно:
Попробуем теперь получить сертификат для клиентского ПК. Запустим браузер, в адресной строке которого укажем адрес http://имя_сервера/certsrv, где имя_сервера — имя сервера ЦС. Вы попадете на главную страницу центра сертификации.
Прежде всего необходимо загрузить сертификат ЦС и поместить его в хранилище доверенных коренных центров сертификации. Если в вашей сети несколько ЦС следует загрузить и установить цепочку сертификатов. Для этого выбираем: Загрузка сертификата ЦС, цепочки сертификатов или CRL, затем Загрузка сертификата ЦС или Загрузка сертификата ЦС и сохраняем сертификат в любое удобное место.

Теперь перейдем к установке, для этого щелкнем правой кнопкой на файле сертификата и выберем Установить сертификат, откроется мастер импорта, в котором откажемся от автоматического выбора хранилища вручную выбрав Доверенные корневые центры сертификации, теперь данный ПК будет доверять всем сертификатам выданным данным ЦС.

Для получения клиентского сертификата снова откроем сайт ЦС и выберем Запрос сертификата — расширенный запрос сертификатаСоздать и выдать запрос к этому ЦС. Заполняем форму запроса, в качестве имени указываем имя ПК или пользователя, в качестве типа сертификата указываем Сертификат проверки подлинности клиента и жмем кнопку Выдать.

При попытке создать запрос сертификата вы можете получить следующее предупреждение:

В этом случае можно добавить данный узел в зону Надежные узлы и установить низкий уровень безопасности для этой зоны. В Windows Server понадобится также разрешить загрузку неподписанных ActiveX.

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

Теперь вернемся на клиентский ПК и еще раз откроем сайт ЦС. На этот раз выберем Просмотр состояния ожидаемого запроса сертификата, вы увидите свой запрос, щелкнув на которой вы попадете на страницу Сертификат выдан и сможете сразу его установить.

Если все сделано правильно, то сертификат успешно установится в хранилище личных сертификатов.

По окончании проверки не забудьте удалить ненужные сертификаты с клиентского ПК и отозвать их в центре сертификации на сервере.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Службы сертификации Active Directory. Базовые знания

Работают в Windows еще с версии 2000. ADCS позволяют выдавать и обслуживать цифровые сертификаты на основе ключей.

Любой сертификат представляет собой пару закрытого и открытого ключа. Закрытый ключ – приватная информация, идентифицирующая владельца, требующая защиты и не подлежащая распространению. Открытый ключ – доступная любому часть, использующаяся для проверки

На практике сертификаты применяются для:

Аутентификации – пользователь подписывает пакет приватным ключом из выданного ему сертификата, а сервер аутентификации проверяет подпись публичным ключом этого же сертификата, который опубликован в доступном серверу месте.

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

Шифрования каналов – клиент шифрует пакеты публичным ключом сервера, таким образом только сервер, обладающий приватным (закрытым) ключом сможет расшифровать информацию от клиента.

Шифрование данных — два сотрудника, обменявшись открытыми (публичными) ключами, могут шифровать с их помощью файлы. Таким образом, расшифровать файл сможет только владелец приватного ключа. Или другой пример: для шифрования диска система использует публичный ключ, в то время как приватный хранится на флешке, без которой невозможно дешифрование.

За 17 лет службы сертификации конечно же модернизировались. Последние серьезные изменения в ADCS были внесены в версиях Windows 2012 и 2012 R2 . Наиболее важные из них:

  • Поддержка модуля политики для службы регистрации сертификатов для сетевых устройств
  • Аттестация ключей доверенного платформенного модуля (TPM)
  • Windows PowerShell для служб сертификатов
  • Поддержка обновления сертификата с прежним ключом
  • Поддержка международных имен доменов

Простейшая архитектура Certificate services состоит из 2х серверов: корневого и выдающего. Помимо этого в инфраструктуре наверняка присутствует домен-контроллер, который может быть использован, как точка распространения сертификатов. Также для этих целей желательно иметь сервер с ролью Web. В прочем этот функционал может быть настроен на сервере с ролью выдающего центра сертификации.

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

Корневой сервер сертификации. Несет функции инстанции, которой мы безоговорочно доверяем. Корневой сервер сертификации выдает сертификат для подписи выдающего сервера сертификации. После генерации доверенного корневого сертификата и CRL этот сервер рекомендуется выключить и (слава богу используется виртуализация) сложить в сейф.

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

Сертификаты, которыми подписаны центры сертификации, а также списки отозванных сертификатов имеют срок жизни, по истечении которого должны быть обновлены. Обновление CRL выдающего сервера происходит автоматически, в то время как обновление CRL корневого центра сертификации нужно проводить вручную (по умолчанию – раз в пол года). Для этого необходимо:

  1. включить корневой центр сертификации
  2. обновить CRL
  3. опубликовать полученный CRL на всех точках проверки отозванных сертификатов.

После этого обычно выполняются другие процедуры обслуживания сервера. Такие как, установка обновлений и резервное копирование. После чего сервер выключается до следующего обновления CRL или другой потребности его запуска.

Все операции по управлению сервисом выполняются из нескольких консолей:

  • Управление сервисом
  • Консоли сертификатов

А также с помощью PowerShell и утилиты certutil, с возможностями которой можно ознакомится, набрав certutil /help в командной строке Windows.

В частности с помощью командной строки можно публиковать сертификаты и списки отозванных сертификатов в базе Active Directory. Также через службы Active Directory Domain Services (а именно через групповые политики) можно настроить распространение сертификатов: например, добавление сертификата корневого центра сертификации в Trusted certificates рабочих станций организации.

Помимо того, что сертификат содержит пару закрытого и открытого ключа, в нем также хранится служебная информация, в том числе о том, кому и когда выдан сертификат, алгоритмах генерации длине ключа и пр. Сертификат генерируется по шаблону, который должен быть опубликован уполномоченным администратором. По умолчанию Active Directory Certificate Services имеют набор заготовок шаблонов для различных сервисов (Web-server, Exchange server, RDP Gateway server и пр ), на базе которых можно также создавать шаблоны под собственные нужды.

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

  • Сертификаты для веб ресурса.
  • Сертификаты для защиты соединения.
  • Сертификаты для цифровой подписи.

Наша компания готова помочь в настройке и администрировании служб сертификации на базе Microsoft Windows 2016 и более ранних версий, а также в выполнении любых работ по защите веб ресурсов, соединений и данных с использованием сертификатов. Обращайтесь, [email protected]

Adblock
detector

Работа с корпоративными и автономными центрами сертификации CA Центр сертификации Certification Authority (CA), называемый компанией Microsoft сервером сертификатов (Certificate Server) или службами сертификатов (Certificate Services), является ключевым компонентом программного обеспечения

Работа с корпоративными и автономными центрами сертификации CA

Центр сертификации Certification Authority (CA), называемый компанией Microsoft сервером сертификатов (Certificate Server) или службами сертификатов (Certificate Services), является ключевым компонентом программного обеспечения инфраструктуры открытых ключей PKI (Public Pey Infrastructure) в среде Windows Server 2003. Центр CA принимает и обрабатывает запросы на получение сертификатов от пользователей PKI, идентифицирует эти запросы и проверяет их правомерность, выдает сертификаты в соответствии с политикой безопасности PKI, обновляет и аннулирует сертификаты, размещает сертификаты на различных узлах хранения, создает и публикует списки аннулированных сертификатов CRL (Сertificate Revocation Lists), а также регистрирует в соответствующей базе данных все транзакции по сертификатам и CRL. Центр сертификации Windows 2003 CA может выполнять в безопасном режиме архивирование и восстановление секретных ключей. Чтобы оценить степень развития возможностей центров CA и PKI в среде Windows 2003, в этой статье мы рассмотрим компоненты архитектуры последней реализации служб Certificate Services, а также различия в процедурах развертывания корпоративного и автономного центра CA в среде Windows 2003.

Архитектура Windows 2003 Certificate Services. Архитектура Windows 2003 Certificate Services почти идентична той, которая использовалась Microsoft при реализации предыдущих версий названных служб. Основное различие состоит в том, что здесь Microsoft изменила структуру базы данных CA для реализации поддержки процедур архивирования и восстановления секретных ключей пользователей. Схема данной архитектуры показана на рисунке. Она включает в себя различные модули, базы данных, инструментальные средства администрирования, посредников и прикладной интерфейс CryptoAPI.


Рисунок. Архитектура CA

Модули. Сердцем Certificate Services является исполнительный механизм CA (certsrv.exe), который генерирует сертификаты и занимается управлением потоками сообщений между CA и другими компонентами служб Certificate Services. Серверный механизм CA взаимодействует с другими компонентами архитектуры через входные модули, модули политики и выходные модули.

Входной модуль принимает запросы на сертификаты, соответствующие формату криптографического стандарта открытых ключей № 10 (Public-Key Cryptography Standards, PKCS #10) или криптографического протокола управления, использующего синтаксис криптографических сообщений (Cryptographic Management protocol using Cryptographic Message Syntax, CMS). После приема запроса входной модуль помещает его в очередь для дальнейшей обработки модулем политики.

Модуль политики реализует правила политики центра CA в соответствии с установками, заданными администратором CA. Данный модуль передает исполнительному механизму CA информацию о структуре сертификата и принимает решение о выдаче сертификата, об отказе в его выдаче или о переводе запроса сертификата в режим ожидания. Для обновления информации о структуре сертификата модуль политики может обращаться к информации, хранящейся в каком-либо каталоге (например, Active Directory) либо в базе данных. Модуль политики, имеющийся в Windows 2003, называется certpdef.dll. Он поддерживает два типа политики: режим корпоративной политики и режим автономной политики. Эти режимы будут подробно рассмотрены ниже. Чтобы убедиться в том, что на данном центре CA установлен модуль политики, следует запустить оснастку Certification Authority консоли MMC, щелкнуть правой кнопкой на объекте CA, выбрать в контекстном меню пункт Properties и перейти к закладке Policy Module, показанной на экране 1.


Экран 1. Вкладка Policy Module в свойствах объекта

Выходные модули занимаются распространением и публикацией сертификатов, цепочек сертификатов, а также полных списков CRL и списков изменений CRL. Выходной модуль может записывать данные PKI в файл или передавать эти данные на удаленный узел, используя в качестве транспорта протокол HTTP или механизм удаленного вызова процедур RPC. Windows 2003 CA может поддерживать несколько выходных модулей, соответственно распространение и публикация сертификатов, цепочек сертификатов, полных cписков CRL и списков изменений CRL может выполняться одновременно в различные пункты назначения, включая каталоги LDAP, файловые ресурсы совместного пользования, каталоги Web и, наконец, ODBC-совместимые базы данных. По умолчанию в Windows 2003 CA входит выходной модуль, называемый certxds.dll, в котором реализована поддержка LDAP, FTP, HTTP и SMTP (в центрах Windows 2000 CA также поддерживаются все эти протоколы, за исключением последнего). Выходной модуль позволяет организовать автоматическую рассылку уведомлений от центра CA пользователям PKI и администраторам. Чтобы убедиться в том, что на данном центре CA установлен модуль политики, нужно запустить оснастку Certification Authority консоли MMC, щелкнуть правой кнопкой на объекте CA, выбрать в контекстном меню пункт Properties и перейти к закладке Exit Module, показанной на экране 2.


Экран 2. Вкладка Exit Module в свойствах объекта

Модули политики и выходные модули являются настраиваемыми и заменяемыми компонентами, поэтому любая организация может разработать на языках C++ или Visual Basic (VB) собственные модули и интегрировать их в архитектуру Certificate Services. Вся необходимая информация о процессах создания и замещения модулей имеется в комплекте документации Software Development Kit (SDK) для платформы Windows 2003.

Настройка модулей политики и выходных модулей осуществляется с помощью оснастки Certification Authority или через утилиту командной строки certutil.exe. Используя окно свойств объекта CA оснастки Certification Authority, можно добавлять выходные модули, настраивать расширения X.509 для сертификатов (например, определять узлы CDP (CRL Distribution Points) и узлы AIA (Authority Information Access)), а также настраивать параметры публикации для полных списков CRL и списков изменений CRL.

Базы данных. Центр CA имеет собственную базу данных, которая называется CAname.edb. В этой базе хранится информация по транзакциям, связанным с сертификатами, и собственно сертификаты. Здесь же хранятся архивированные секретные ключи. По умолчанию эта база данных хранится в каталоге %systemroot%system32certlog. Исполнительный механизм центра CA взаимодействует с базой данных с помощью файла certdb.dll. С появлением службы Windows 2000 Certificate Services изменилась используемая Microsoft технология работы с базами данных. Теперь здесь используется процессор баз данных Jet, что позволило сделать архитектуру Windows 2000 CA масштабируемой. Отметим, что аналогичная технология используется в базах данных AD и Microsoft Exchange Server.

Средства администрирования. В большинстве случаев для администрирования центра сертификации Windows 2003 CA используется оснастка Certification Authority, но это можно делать и с помощью утилиты командной строки certutil.exe. Оба средства взаимодействуют с исполнительным механизмом центра CA через библиотеку certadm.dll.

Посредники (intermediaries). Прикладные программы, помогающие клиенту корректно сформировать запрос сертификата, соответствующий формату PKCS #10 или CMS, называются посредниками или Registration Authorities (RA). Эти программы собирают специальные данные о пользователе и о запросе, которые необходимы для формирования корректного запроса сертификата. Например, любой запрос, направляемый корпоративному центру Windows 2003 CA, должен содержать ссылку на шаблон сертификата. Программы RA могут добавлять к запросу описание шаблона. Следует отметить, что эти программы используют определенные транспортные протоколы (например, HTTP и RPC), соответственно при этом и исполнительный механизм CA не должен использовать для работы другие типы транспорта.

Примерами посредников в Windows 2003 могут служить Web-страницы регистрации сертификатов, которые являются посредниками HTTP, а также оснастка Certificates консоли MMC, вызывающая мастер Certificate Request Wizard, которая играет роль RPC-посредника. При генерации секретных ключей на клиентской машине посредник HTTP обращается к библиотеке xenroll.dll, а при генерации секретных ключей на смарт-картах он использует библиотеку scenroll.dll. Посредник RPC для выполнения данных процедур вызывает библиотеку certcli.dll.

Прикладной интерфейс CryptoAPI. Для реализации всех криптографических функций, включая доступ и использование секретных ключей CA, центр сертификации задействует вызовы интерфейса CryptoAPI. Центр CA может хранить свой секретный ключ на жестком диске или на специальном аппаратном устройстве (например, на аппаратном модуле безопасности Hardware Security Module, HSM).

Установка Windows 2003 Certificate Services

При выполнении установки Windows 2003 Certificate Services может быть развернут корневой CA, подчиненный CA, корпоративный CA (интегрированный в AD) или автономный CA (не интегрированный в AD). Если служба Certificate Services устанавливается в корпоративном режиме, то в этом случае активируется аналогичный режим и для модуля политики центра Windows 2003 CA. Рассмотрим, чем отличаются корпоративный и автономный режимы. В таблице приведены сравнительные характеристики параметров, установленных по умолчанию, для автономного и корпоративного центров Windows 2003 CA.

При установке корпоративного центра CA та учетная запись, от имени которой выполняется установка, должна иметь привилегии Enterprise administrator и Domain administrator в корневом домене леса AD. Кроме того, сервер, на который устанавливается корпоративный CA, должен являться членом домена с функционирующей в нем службой AD. Если эти условия не выполнены, в CA installation Wizard будут недоступны возможности перехода в режим установки enterprise CA, соответственно развернуть центр CA можно будет только в автономном режиме.

Для того чтобы установить автономный центр CA, использовать AD необязательно. CA может устанавливаться как на автономный сервер, так и на сервер, входящий в домен, или на контроллер домена (DC). При такой установке не требуются и полномочия Enterprise administrator и Domain administrator, вполне достаточно прав локального администратора на данном сервере. Если при установке автономного центра CA все-таки использовать привилегии Enterprise administrator, в этом случае данный центр будет обладать некоторой дополнительной функциональностью. В частности, если пользователь с правами Enterprise administrator устанавливает автономный центр CA на сервер, входящий в состав домена, то в этом случае центр CA сможет публиковать выпущенные им сертификаты в AD.

Шаблоны сертификатов

Корпоративный центр CA использует шаблоны сертификатов, которые хранятся в структуре AD в контексте имен конфигурации. Шаблон определяет содержание и характеристики сертификата. Кроме того, с помощью шаблонов можно контролировать типы выпускаемых центром CA сертификатов и определять, какие пользователи могут запрашивать сертификаты у корпоративного центра CA, а также сертификаты какого типа могут им выдаваться. В инфраструктуре PKI среды Windows 2003 поддерживаются шаблоны сертификатов версии 2, которые, в отличие от шаблонов версии 1, являются полностью настраиваемыми. Настройка шаблонов осуществляется с помощью оснастки Certificate Templates консоли MMC.

Автономный центр CA не может использовать шаблоны сертификатов AD, в этом случае нельзя выполнять контроль типов сертификатов и пользователей, их получающих. По умолчанию автономный CA может выдавать только сертификаты, предназначенные для Web-аутентификации (Secure Sockets Layer, SSL; или Transport Layer Security, TLS), защиты электронной почты (Secure MIME, S/MIME), аутентификации сервера, цифровой подписи и для работы с протоколом IP Security (IPSec). Тем не менее можно модифицировать Web-интерфейс автономного центра CA (например, для того чтобы в списке отображались другие типы сертификатов) или запрашивать другие типы сертификатов, используя для этого значения специальных идентификаторов объектов (OID), которые хранятся в X.509-расширении сертификата Extended Key Usage.

Получение дополнительной информации при запросе сертификата

В процессе регистрации сертификата корпоративный центр CA ищет в структуре Active Directory информацию о пользователе, которая потребуется центру для заполнения определенных полей сертификата. Например, в поле X.509 SubjectAltName сертификата, выданного корпоративным центром CA, содержится ссылка на имя пользователя, определяющее его в AD, — User Principal Name (UPN). Если центр CA является автономным, он не имеет доступа к AD, поэтому информация, идентифицирующая пользователя и необходимая для получения сертификата с Web-сайта регистрации, должна вводиться пользователем вручную.

Как в корпоративных, так и в автономных центрах CA можно изменять установленные по умолчанию параметры, добавляемые центром CA к запросу сертификата. Это делается в процессе регистрации сертификатов путем редактирования файла certdat.inc, который находится в каталоге %systemroot%system32certsrv. Допускается изменение значений, установленных по умолчанию, для следующих параметров сертификата: sDefaultCompany, sDefaultOrgUnit, sDefaultLocality, sDefaultState, и sDefaultCountry. Если привести значения этих параметров в соответствие с используемыми в организации наименованиями, можно будет сократить объем вводимой пользователем информации при запросе сертификата.

Автоматическая регистрация сертификатов

Центр CA корпоративного типа поддерживает технологию автоматической регистрации сертификатов, причем в Windows 2003 возможности данной технологии расширены и теперь распространяются как на пользовательские сертификаты, так и на сертификаты компьютеров. Более подробно эти вопросы рассматриваются в статье «Технология регистрации PKI сертификатов в Windows 2003 Server», опубликованной на сайте журнала Windows IT Pro/RE (http://www.osp.ru/win2000/safety/511_29.htm). Отметим, что если пользователь запрашивает сертификат от автономного центра CA, процесс регистрации должен быть запущен вручную, так как в данном случае какие-либо процедуры автоматизации отсутствуют.

Централизованное архивирование ключей

Корпоративный центр CA поддерживает механизмы централизованного архивирования ключей в базе данных CA, а автономный центр — нет. Возможности технологии архивирования и восстановления ключей CA более подробно обсуждаются в статье «Автоматическое архивирование и восстановление ключей в инфраструктуре Windows Server 2003 PKI», опубликованной в № 3 журнала Windows IT Pro/RE за 2006 г.

Утверждение запроса сертификата

В корпоративных центрах CA имеется поддержка механизмов автоматического и ручного утверждения запросов сертификатов. Для того чтобы настроить свойства режима обработки запросов сертификатов, можно воспользоваться либо свойствами корпоративного CA (через свойства модуля политики), либо свойствами шаблона сертификата версии 2 (с помощью вкладки Issuance Requirements окна свойств шаблона сертификата). Если настройка режима обработки запросов выполняется через свойства шаблона сертификата версии 2, то следует иметь в виду, что внесенные при этом изменения будут применены только к сертификатам того типа, который определяется данным шаблоном. Можно задать настройку, обязывающую администратора утверждать все поступающие запросы сертификатов вручную, независимо от установок в шаблоне сертификата. Для этого при настройке режима обработки запросов в свойствах CA нужно выбрать пункт Set the certificate request status to pending. The administrator must explicitly issue the certificate. Эти же пункты доступны и для автономного центра CA, с той лишь разницей, что автономный CA не может использовать шаблоны сертификатов, и, следовательно, не удастся настроить свойства обработки запросов для отдельного шаблона сертификата. В отличие от корпоративного центра, автономный CA при аутентификации поступающих запросов не использует внутренние механизмы аутентификации Windows, соответственно компания Microsoft не рекомендует устанавливать режим автоматического утверждения в свойствах обработки запросов для автономных центров CA. В этих случаях всегда следует оставлять установку, сделанную по умолчанию, в соответствии с которой каждый поступающий запрос сертификата должен утверждаться администратором вручную.

Опубликование сертификатов и списков CRL

Корпоративные центры CA хранят и публикуют сертификаты, а также полные списки CRL и списки изменений CRL в Active Directory. В то же время как корпоративные центры, так и автономные CA могут осуществлять размещение данных в файловой системе. Каждый размещенный в AD сертификат автоматически отображается на учетную запись того, кто его запрашивал. Служба Active Directory добавляет сертификат к многозначному атрибуту UserCertificate пользователя или объекта AD inetOrgPerson. Отметим, что не каждый выданный корпоративным центром CA сертификат автоматически публикуется в AD. Примерами сертификатов, которые не будут публиковаться автоматически, могут служить сертификат агента регистрации или сертификат для подписи списка CTL (certificate trust list).

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

Выбор типа CA, оптимального для решаемых задач

Итак, мы определили различия между корпоративным и автономным центром CA и теперь, на основании полученных знаний, можем выбирать конфигурацию центра CA, оптимальную для конкретной ситуации. Развертывание корпоративного центра Windows 2003 CA будет наилучшим решением для работы с сертификатами пользователей, имеющих учетные записи в AD и использующих протокол Kerberos для их аутентификации в инфраструктуре AD. Для внешних пользователей (например, пользователей из внешней сети, не имеющих учетных записей в инфраструктуре Windows внутренней сет) оптимальным решением будет использование автономного центра Windows 2003 СA.

Жан де Клерк — Член Security Office компании HP. Специализируется на управлении идентификационными параметрами и безопасности в продуктах Microsoft. Автор книги Windows Server 2003 Security Infrastructures (издательство Digital Press). jan.declercq@hp.com


Таблица. Сравнение основных характеристик автономного и корпоративного центров сертификатов Windows2003 CA
Свойство Автономный Windows 2003 CA Корпоративный Windows 2003 CA
Возможность интеграции в AD По умолчанию отсутствует Интегрированный в AD
Протоколы взаимодействия с CA Клиенты взаимодействуют с CA по протоколам HTTP или HTTP Secure (HTTPS) Взаимодействие клиентов с CA может осуществляться через RPC или Distributed COM DCOM), а также по протоколам HTTP или HTTPS
Распространение сертификатов Центр CA загружает CA в пользовательский профиль, когда пользователь получает в ручном режиме сертификат с Web-сайта центра CA. Есть возможность автоматического размещения списков CRL и сертификатов в AD В зависимости от настройки шаблона сертификата центр CA может автоматически загрузить сертификат в пользовательский профиль, поместить сертификат в AD либо выполнить оба действия
Утверждение запросов сертификатов Процедура выдачи разрешений на регистрацию сертификатов может быть автоматической или ручной. Режим работы данной процедуры контролируется в центре CA с помощью одной общей настройки для всех типов сертификатов Процедура выдачи разрешений на регистрацию может быть автоматической или ручной. Есть возможность как глобального контроля данного режима на уровне центра CA, так и задания различных режимов для разных типов сертификатов, что достигается соответствующей настройкой шаблонов сертификатов. В процессе выдачи разрешений на регистрацию сертификатов могут также использоваться имеющиеся в AD механизмы аутентификации и контроля доступа, базирующиеся на списках контроля доступа (ACL), которые могут быть заданы в шаблонах сертификатов
Ограничения по типам пользователей инфраструктуры PKI Ориентируется на работу с инфраструктурой PKI пользователей Internet и внешних сетей Ориентируется на работу с инфраструктурой PKI пользователей корпоративной сети
Требования по платформе Данная версия может устанавливаться на контроллер домена (DC) Windows 2003, на сервер домена или на авто- номный сервер, не являющийся членом какого-либо домена. Данная версия устанавливается только на контроллер домена (DC) Windows 2003 или на сервер домена
Поддерживаемые типы сертификатов Может выдавать ограниченный набор типов сертификатов и сертификаты, требующие наличия специального идентификатора OID в расширении Extended Key Usage. Работа с шаблонами сертификатов не поддерживается Может выпускать для среды Windows 2003 сертификаты любых типов из тех, которые представлены в оснастке Windows 2003 Certificate Templates. Поддерживаются шаблоны сертификатов версии 1 (Windows 2000 PKI) и версии 2 (Windows 2003 PKI)
Идентификация пользователей При запросе сертификата пользователь должен ввести идентифицирующую его информацию вручную Центр CA автоматически получает информацию, идентифицирующую пользователя, из AD
Управление пользователями Пользователь регистрируется через Web-интерфейс. Можно также использовать утилиту командной строки c ertreq.exe Пользователь регистрируется через Web-интерфейс или с помощью оснастки Certificates. Также существуют возможности автоматической регистрации сертификатов и регистрации с помощью утилиты командной строки certreq.exe

Всем привет, с вами Искандер Рустамов, младший системный администратор Cloud4Y. Сегодня мы будем покорять развертывание центра сертификации (ЦС). 

Из-за сложной геополитической обстановки резко усилился процесс импортозамещения, появилась необходимость в выстраивании инфраструктуры на базе государственных требований к решениям в области информационной безопасности. Одним из таких решений является организация доступа клиентов к веб-ресурсам через портал nGate по защищённому TLS соединению с использованием шифрования по ГОСТ криптопровайдера «КриптоПро». Для этого необходим собственный центр сертификации. 

В данной статье мы рассмотрим установку Standalone Center Authority на базе Windows Server 2019. Если вам будет интересно, могу описать процесс привязки нашего центра сертификации к порталу nGate (спойлер: на самом деле там нет ничего сложного). 

Вводные данные

КриптоПро NGateэто универсальное высокопроизводительное средство криптографической защиты сетевого трафика, объединяющее в себе функционал:

  • TLS-сервера доступа к веб-сайтам;

  • Сервера портального доступа;

  • VPN-сервера.

NGate обладает широкими возможностями по управлению доступом удалённых пользователей как с обеспечением строгой многофакторной аутентификации, так и прозрачно, обеспечивая при этом гибкое разграничение прав доступа к ресурсам. КриптоПро NGate реализует российские криптографические алгоритмы, сертифицирован по требованиям к СКЗИ, имеет сертификаты ФСБ России по классам КС1, КС2 и КС3 и может использоваться для криптографической защиты конфиденциальной информации, в том числе персональных данных, в соответствии с требованиями российского законодательства по информационной безопасности.

Кроме того, NGate:

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

  • Исключает необходимость установки на каждом веб-сервере отдельного СКЗИ и проведения исследований по оценке влияния ПО веб-серверов на СКЗИ.

Процесс настройки

Ранее я не сталкивался с центрами сертификациями. Поскольку ОС Windows Server мне ближе, решил развернуть ЦС с использованием Server Manager. Разворачивать контроллер домена не нужно, так как сертификаты будут выдаваться внешним пользователям. Соответственно, можно обойтись «автономным» центром сертификации, подробнее о нём расскажу позже. 

Перед развертыванием центра сертификации необходимо: 

  • Установить СКЗИ КриптоПро CSP 5.0.12330:

  • Установить КриптоПро ЭЦП Browser plug-in;

Инсталляцию производим через «Дополнительные опции»

  1. Выбираем язык установки, уровень защиты КС1 (другие уровни защиты требуют дополнительных аппаратных средств защиты);

  2. В разделе «Установка компонентов» проверяем, что добавлен «Криптопровайдер уровня ядра ОС»; (рис. 1)

Рисунок 1. Установка дополнительных компонентов «КриптоПро CSP»

Рисунок 1. Установка дополнительных компонентов «КриптоПро CSP»

Криптопровайдер уровня ядра ОС необходим для работы криптопровайдера
в службах и ядре Windows.

3.  В следующем окне оставляем пункты:

  • Зарегистрировать считыватель «Реестр» (позволит сохранять контейнеры ключей в реестр);

  • Усиленный контроль использования ключей;

  • Не разрешать интерактивные сервисы Windows;

4. Также «КриптоПро» предложит добавить сертификаты своих центров сертификации;

5. Устанавливаем, перезагружаемся.

Установка центра сертификации (Standalone CA Windows Server 2019)

Непосредственно перед самой установкой коротко объясню особенности Standalone CA:

  • Не интегрирован с Active Directory (а он нам и не нужен);

  • Публикация сертификатов происходит через запрос на WEB-сайте. Путем автоматического или ручного подтверждения администратором ЦС (ЕМНИП, ЦС предприятия было добавлена такая возможность, не проверял её работу);

  • Пользователь сам вводит идентификационную информацию во время запроса сертификата;

  • Не поддерживает шаблоны сертификатов (из-за этого всплывут некоторые моменты, которые раскрою в процессе развертывания).

Начинаем:

1. Измените имя компьютера до установки роли, после это будет сделать невозможно. «Далее (Next)» (рис.2): 

Рисунок 2. Уведомления при установки роли.

Рисунок 2. Уведомления при установки роли.

2. Добавляем роль в «Диспетчере серверов» (Server Manager), «Далее (Next)» (рис. 3):

Рисунок 3. Интерфейс «Диспетчера устройств» (Server Manager) 

Рисунок 3. Интерфейс «Диспетчера устройств» (Server Manager) 

2.1. «Установка ролей и компонентов (Add roles and features wizard)». Нажимаем «Далее (Next)» — «Далее (Next)»;

2.2. «Тип установки: Установка ролей и компонентов (Installation type: Role-based or features-based installation». «Далее (Next)»;

2.3. «Выбор сервера (Server selection)». В нашем случае среди предложенных будет один сервер и имя компьютера. «Далее (Next)» (рис. 4);

Рисунок 4. «Выбор сервера (Server selection)»

Рисунок 4. «Выбор сервера (Server selection)»

2.4. «Роли сервера (Server roles). Здесь необходимо отметить две роли: Служба сертификатов Active Directory (Certificate Services Active Directory), Веб-сервер IIS (Web-server IIS);

Во всплывающем окне перечня нажимаем «Добавить компонент (Add features)» — «Далее (Next)»;

2.5. «Компоненты (Features) оставляем как есть — «Далее (Next)» ;

2.6. «Служба ролей (Role Services)» ЦС, необходимо выбрать:

  • «Центр сертификации (Certification Authority)»,

  • «Служба регистрации в центре сертификации через Интернет (Certification Authority Enrollment)»;

Сетевой автоответчик (Online responder) добавим уже после развертывания ЦА, в противном случае могут возникнуть проблемы. 

2.7. В «Служба ролей (Role Services)» веб-сервера оставляем всё предложенное автоматически — «Далее (Next)»;

2.8. «Подтверждение (Confirmation).

На этом этапе запустится процесс установки роли.

3. После установки роли центра сертификации необходимо его настроить
(рис. 5). Выбираем: 

3.1. «Настроить службы сертификатов Active Directory (Configure Active Directory-Certificate Services)

Рисунок 5. Уведомление о необходимости настройки центра сертификации

Рисунок 5. Уведомление о необходимости настройки центра сертификации

3.2. Указываем учетные данные. Так как мы развертываем Standalone центр сертификации, не нужно состоять в группе «Администраторов предприятия (Enterprise Administrators)» — «Далее (Next)»;

3.3. Выбираем установленные службы ролей для настройки (Select role services to configure) ЦС: «Центр сертификации (Certification Authority)», «Служба регистрации в центре сертификации через Интернет (Certification Authority Enrollment)»;

3.3.1. При выборе центра сертификации появится окно выбора ключевого носителя – КриптоПРО CSP, в качестве носителя для создания контейнера cngWorkAround используем хранилище ключей реестра Windows – Реестр. (рис. 6)

Рисунок 6. Выбор ключевого носителя – КриптоПРО CSP

Рисунок 6. Выбор ключевого носителя – КриптоПРО CSP

3.4. Указываем вариант установки ЦС (Specify the setup type of the CA):
Автономный центр сертификации (Standalone CA). «Далее (Next)»;

3.5. Указываем тип ЦС (Specify the type of CA) – Корневой ЦС (Root CA). «Далее (Next)»;

3.6. Необходимо создать закрытый ключ ЦС, чтобы он мог создавать и выдавать их клиентам. Для этого выбираем «Создать новый закрытый ключ (Create a new private key)».

В качестве поставщика службы шифрования выбираем один из трёх предложенных (не забывайте, что 2001 год уже устарел) Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider с длиной 512 и открытого ключа 1024 бита. (рис.7)

И обязательно подтверждаем: «Разрешить взаимодействие с администратором, если ЦС обращается к закрытому ключу (Allow administrator interaction when the private key is accessed by the CA)»;

Рисунок 7. Выбор криптопровайдера

Рисунок 7. Выбор криптопровайдера

3.7. Укажите имя центра сертификации и суффиксы различающего имени, данные суффиксы будут отображаться в составе сертификата в графе «Издатель (Issuer)».

СN = Certificate Name, O = Organization, L = Locale, S = Street, C = Country, E = E-mail; (рис. 8)

3.8. Указываем необходимый «срок годности (validaty period)» корневого сертификата (в нашем случае было выбрано 15 лет). «Далее (Next)»;

3.9. Указываем расположение баз данных сертификатов (certificate database location). «Далее (Next)»;

3.10. В окне «Подтверждения (Confirmation) сверяем введённую информацию — «Настроить (Configure)»

3.11. Появится окно выбора носителя для создания контейнера нашего ЦС.

Где хранятся сами контейнеры ключей:

1. Реестр: (в качестве хранилища ключей используется реестр Windows), путь хранения контейнеров ключей следующий:

Ключи компьютера: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCryptoProSettingsKeys

Ключи пользователя ОС: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCryptoProSettingsUsersSID-пользователяKeys 

В некоторых случаях (было замечено в виртуальных машинах) сертификат попадает сюда: HKEY_USERSS-1-5-21-{SID}_ClassesVirtualStoreMACHINESOFTWARE[Wow6432Node]

CryptoProSettingsUSERS{SID-пользователя}Keys //

2. Директория: (в качестве хранилища ключей используется директория на жёстком диске), путь хранения контейнеров ключей следующий: C:UsersAll UsersCrypto ProCrypto

3.12. Далее откроется окно генерации начальной последовательности с помощью биологического ДСЧ. Для генерации случайной последовательности перемещайте указатель мыши или нажимайте различные клавиши. 

3.13. После введите пароль на доступ к закрытому ключу.

3.14. Далее появится окно результатов об успешной установке компонентов (рис. 8)

Рис.8. Результаты установки

Рис.8. Результаты установки

Настройка веб-сервера IIS

Теперь необходимо выполнить некоторые настройки веб-сервера: прицепить сертификат (самоподписанный или выпущенный нашим же ЦА). Кстати, он уже работает. В качестве примера выпустим самоподписанный сертификат.

1. Откроем Диспетчер служб IIS (Manager IIS) — Сертификат сервера (Server Certificates) (рис. 9);

1.1. В открывшемся окне в панели «Действия (Actions)» выберем – «Создать самоподписанный сертификат (Create Self-Signed Certificate);

1.2. Выбираем тип «Личный (Personal) и указываем «Имя сертификата (Friendly Name)»

1.3. Теперь необходимо привязать этот сертификат для доступа по https к веб-серверу.

1.3.1. Переходим «Сайты (Sites)» — Default Web Site – Bindings – добавить (Add) — выбрать https – и выбрать самоподписанный SSL-сертификат.

Рисунок 9. Диспетчер служб IIS (IIS Manager)

Рисунок 9. Диспетчер служб IIS (IIS Manager)

Также сертификат вы можете выпустить следующим образом:
На этой же панели создайте запрос (Create certificate request) для выпуска сертификата через наш ЦА и дальнейшей его загрузки в IIS (Complete Certificate Request). Но это по желанию.

Пример запроса (request) для формирования запроса вручную

[NewRequest]
Subject="CN=ИмяСертификата ,O=Организация, L=Город, S=Улица, C=Страна, E=Почта"
ProviderName="Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"
ProviderType=80
KeySpec=1
Exportable = TRUE
KeyUsage=0xf0
MachineKeySet=true
RequestType=Cert
SMIME=FALSE
ValidityPeriod=Years
ValidityPeriodUnits=2
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1

В целом с веб-сервером мы закончили, в default web site вы можете увидеть, что были автоматически созданы virtual directory и applications «CertSrv». При желании можно создать отдельную виртуальную директорию под CRL’ки.

Установка сетевого ответчика (Online responder)

А вот мы и вернулись к установке автоответчика.

1. Добавляем роль в «Диспетчере серверов» (Server Manager) — «Далее (Next)» 

1.1. Установка ролей и компонентов (Add roles and features wizard)» — «Далее (Next)»;

1.2. «Роли сервера (Server roles), раскрываем роль: Служба сертификатов Active Directory (Certificate Services Active Directory); и устанавливаем галочку на «Сетевой ответчик» (Online Responder) 

1.3. Завершаем работу с мастером ролей и компонентов, путём односмысленных нажатий «Далее (Next)».

В IIS была добавлена Applications: ocsp. Только не пугайтесь, что сама по себе директория пустая. Так и должно быть. 

Нам осталось настроить центр сертификации и выпустить сертификат на OCSP.

Настройка центра сертификации

1. В «Диспетчере серверов (Server manager)» — выбираем «Служба сертификации Active Directory (AD CS) – правой клавишей по вашему серверу и открываем: «Центр сертификации (Certification Authority).

1.1. Вы попали в оснастку управления центром сертификации: certsrv.

1.2. Выбираем ваш центр сертификации и открываем свойства (рис. 10):

Рисунок 10. Настройка центра сертификации. Оснастка управления центром сертификации certsrv.

Рисунок 10. Настройка центра сертификации. Оснастка управления центром сертификации certsrv.

1.3. Следующим важным шагом выступает настройка точек распространения CDP и AIA.

Authority Information Access (AIA) — содержит ссылки на корневой сертификат центра сертификации (Certification Authority)

CRL Distribution Point — содержит ссылки на файлы CRL, которые периодически публикует сервер CA, который издал рассматриваемый сертификат. Этот файл содержит серийные номера и прочую информацию о сертификатах, которые были отозваны. (рис. 11)

Мы используем веб-сервер, который доступен как внутри сети, так и из интернета (так как сертификаты могут использоваться пользователями интернета) по одному и тому же URL.

1.4. В разделе свойства переходим в «Расширения (Extensions):

 Удаляем ненужные точки распространения и оставляем локальную и внешнюю ссылку для CDP:

http://<ip_address/dns_name>/CertSrv/CertEnroll/<CaName><CRLNAmeSuffix><DeltaCRLAllowed>.crl

Ставим галочки «Включить в CRL. Включить в CDP (Include in CRL. Include in the CDP)».

AIA:

http://<ip_address/dns_name>/CertSrv/CertEnroll/<ServerDNSName>_<CaName><CertificateName>.crt

Ставим галочку: «Включать в AIA- расширение выданных сертификатов (Include in the AIA extension of issued certificates)»

OCSP:

https://<ip_address/dns_name>/ocsp

Ставим галочку: «Включать в расширение протокола OCSP (Include in the online certificate status protocol (OCSP) extension)»

Рисунок 11. Настройка точек распространения AIA и CRL

Рисунок 11. Настройка точек распространения AIA и CRL

В свойствах центра сертификации можно настроить автоматический выпуск сертификатов при поступившем запросе. Так вы исключаете возможность проверки указанных требуемых полей сертификатов. Для этого перейдите в «Модуль политик (Policy Module)» — «Свойства (Properties)» и выберите соответствующий пункт:

В первом случае сертификату присваивается режим ожидания, а одобрение выпуска сертификата остается за администратором;

Во втором случае из-за отсутствия шаблонов в Standalone CA сертификаты будут выпускаться автоматически. (рис. 12)

Рисунок 12. Дополнительные настройки ЦС для автоматического выпуска сертификатов

Рисунок 12. Дополнительные настройки ЦС для автоматического выпуска сертификатов

Да, центр сертификации уже функционирует и доступен по указанному dns-имени. Не забудьте открыть 80 и 443 порты для функционирования веб-сервера и online-reposnder’a, настройкой которого мы займёмся далее.

Проверить работу ЦС вы можете, перейдя в ChromiumGost или Internet Explorer или Edge (с поддержкой Internet Explorer(IE)): https://localhost/CertSrv.

При переходе по ссылке извне в IE необходимо добавить наш веб-сервер в «Надежные сайты (Trusted Sites)» в настройках в пункте «Безопасность».  Не забудьте, что должен быть установлен КриптоПро CSP, в ином случае при выпуске сертификата вам не будет доступен выбор ГОСТовского криптопровайдера (рис.13). 

Рисунок 13. Веб-интерфейс центра сертификации. Формирование запроса. Правильное отображение

Рисунок 13. Веб-интерфейс центра сертификации. Формирование запроса. Правильное отображение

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

Вернёмся в оснастку certsrv к нашему центру сертификации и настроим выпуск разностных CRL. Для этого необходимо открыть «Свойства (Properties)» раздела «отозванных сертификатов (Revoked Certificates)» (рис. 14).

1. Задаём «Интервал публикации CRL (CRL Publications interval)».

1.1. Включаем публикацию разностных CRL и задаём интервал.

Кажется, что все хорошо. Но есть один момент:

«ЦС будет публиковать Delta CRL, которые содержат символ плюс «+» в имени файла (например, contoso-pica+.crl). По умолчанию IIS будет расценивать этот символ в запросе как метасимвол и не позволит клиентам скачать список отзыва. Необходимо включить двойной эскейпинг в настройках IIS, чтобы расценивать знак плюса в запросе как литерал:»

Выполните следующую команду в power shell:

Import-Module -Name WebAdministration
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter /system.webServer/security/requestFiltering -name allowdoubleescaping -Value 'true'

Рисунок 14. Настройка параметров публикации CRL.

Рисунок 14. Настройка параметров публикации CRL.

Настройка OCSP — сетевого ответчика (Online responder)

Так как у Standalone центра сертификации нет шаблонов, нам необходимо вручную сформировать запрос и выпуск сертификата для конфигурации отзыва (Array configuration) в «Управление сетевым ответчиком (Online responder management). Для это используйте следующую конфигурацию для формирования запроса 

1.1. Создайте: ocsp.txt cо следующим внутренним содержанием:

[NewRequest]
Subject = "CN=Имя"
PrivateKeyArchive = FALSE
Exportable = TRUE
UserProtected = FALSE
MachineKeySet = TRUE
ProviderName = "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"
KeyLength = 512
UseExistingKeySet = FALSE
RequestType = PKCS10
[ApplicationPolicyStatementExtension]
Policies = OCSPSigning
Critical = false
[OCSPSigning]
OID = 1.3.6.1.5.5.7.3.9
[EnhancedKeyUsageExtension]
OID="1.3.6.1.5.5.7.3.9"
[Extensions]
1.3.6.1.5.5.7.48.1.5 = Empty

1.2. Откройте командную строку cmd. Перейдите в директорию с текстовым файлом или в будущем просто укажите полный путь при формировании запроса.

1.3. Узнаем, на какой срок сейчас выпускаются сертификаты. Для этого воспользуемся командой - certutil –getreg cavalidityperiodunits  

Результат — на рис. 15.

Рисунок 15. В текущей конфигурации сертификаты выпускаются на один год

Рисунок 15. В текущей конфигурации сертификаты выпускаются на один год

1.4. Изменим длительность выпуска сертификата:

 #Изменение выпуска сертификатов с текущего состояния на длительность в 5 лет
 certutil -setreg caValidityPeriodUnits 5 
 #Перезапуск сервера
 net stop certsvc 
 net start certsvc 

1.5. Сформируем запрос и выпустим сертификат для сетевого автоответчика (рис 16.):

#Конфигурирование запроса
 certreq -new <имя>.inf <имя>.req 
 
#Формирование запроса в ЦС
 certreq -submit <имя>.req
 
#Одобрение запроса (Можно руками через оснастку управления центром сертификации)
 certutil.exe -Resubmit "Цифра запроса" 

Во время конфигурирования запроса выбираем место хранения контейнера ключа и проходим процедуру ДСЧ.

Рисунок 16. Выпуск сертификата для сетевого автоответчика

Рисунок 16. Выпуск сертификата для сетевого автоответчика

1.6. Экспортируем сертификат из центра сертификации и устанавливаем его в личные сертификаты локального компьютера.

1.6.1. После запроса сертификата открываем оснастку: Certificates (RunMMC – Add or remove Snap-ins – Certificate),

1.6.2. Выбираем сертификат, выданный для сетевого ответчика. Нажимаем правой клавишей и открываем «Все задачи (Управление закрытыми ключами (All Tasks — Manage Private keys)»

1.6.3. В открывшемся окне Permissions необходимо добавить в «Группы и пользователи (Group and Users):   Network Service и выдать право Read для этой учётной записи. (рис.16.1)

Это нужно сделать, так как служба OCSP работает от лица Network Service.

Рисунок 16.1. Настройка сертификата для  работы сетевого ответчика

Рисунок 16.1. Настройка сертификата для  работы сетевого ответчика

1.7. Далее переходим в настройки самого сетевого ответчика. (рис. 17)

1.8. Нам необходимо добавить «Конфигурацию отзыва (Revocation Configuration) – «Добавить»

2. Предстоит небольшой процесс настройки конфигурации отзыва.

2.1. «Далее».

2.2. Введите имя конфигурации – «Далее».

2.3. Выбираем второй пункт: «Выбрать сертификат в локальном хранилище сертификатов (Select a certificate from the local certificate store)» — «Далее».

2.4. В следующем окне нажимаем «Обзор (Browse)» и выбираем корневой сертификат нашего ЦА – «Больше вариантов (More choices)». (рис. 17) – «Далее».

2.5. В следующем окне выбираем «Выбрать сертификат подписи вручную (Manually a signing sertificate)

2.6. В последнем окне нажимаем «Поставщик (Provider)». Здесь необходимо указать источник, из которого будут браться базовые и разностные CRL. В нашем случае: http://localhost/CDP/CA-C4Y-VPN.crl (для базового) и  http://localhost/CDP/CA-C4Y-VPN+.crl (для разностного).

Рисунок 17. Управление сетевым ответчиком. (online responder management)

Рисунок 17. Управление сетевым ответчиком. (online responder management)

Рисунок 18. Прикрепляем конфигурации корневой сертификат ЦА

Рисунок 18. Прикрепляем конфигурации корневой сертификат ЦА

2.7. Осталось прицепить к нашей конфигурации выпускаемый ранее сертификат и проверить некоторые моменты.

2.7.1. Переходим в «Конфигурацию массива(array configuration)», выбираем конфигурацию и нажимаем «Назначить сертификат подписи (Assign Signing Certificate)». В появившемся окне нужно просто нажать «ОК».

2.7.2. Теперь необходимо «Обновить конфигурацию массива». Для этого выбираем «Конфигурация массива (Array configuration) – «Обновить (Refresh)»

2.7.3. После всех этих действий главное окно оснастки ocsp должно выглядеть так, как на рисунке 19.

Рисунок 19. Итоговый результат о работе сетевого ответчика

Рисунок 19. Итоговый результат о работе сетевого ответчика

В процессе самостоятельной настройки «сетевого ответчика» может возникнуть много вопросов, особенно если нет опыта работы с Standalone центром сертификации, в котором отсутствуют шаблоны, без которых можно обойтись, но пути становятся длиннее в исполнение.  Кстати говоря, если после прикрепления сертификата вы не получили заветное Working, то проверьте следующее (рис.20, 20.1):

Рисунок 20. Переходим в редактирование свойств конфигурации отзыва

Рисунок 20. Переходим в редактирование свойств конфигурации отзыва

Рисунок 20.1. Проверяем что в разделе «Подписи» выбран ГОСТ алгоритм шифрования

Рисунок 20.1. Проверяем что в разделе «Подписи» выбран ГОСТ алгоритм шифрования

Чтобы проверить работу центра сертификации и сетевого автоответчика, выпустите сертификат для конечного пользователя, установите его и экспортируйте в какую-нибудь директорию. А после воспользуйтесь утилитой: Certutil –url /patch/test.crt

Для подробного отчёта вы можете воспользоваться: certutil –verify –urlfetch /patch/test.crt

На этом краткое руководство по развертыванию собственного центра сертификации подошло к концу. Я постарался рассказать о большинстве трудностей и нюансов, с которыми можно столкнуться в процессе работы. Надеюсь, это руководство поможет вам.

Дополнительно:


Что ещё интересного есть в блоге Cloud4Y

→ Малоизвестный компьютер SWTPC 6800

→ Сделайте Linux похожим на Windows 95

→ Бесплатные книги, полезные для IT-специалистов и DevOps

→ WD-40: средство, которое может почти всё

→ Игры для MS-DOS с открытым исходным кодом

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

Сегодня рассмотрим как развернуть центр сертификации windows, и поговорим для чего он нужен.
Собственный центр сертификации нужен для создания собственной инфраструктуры PKI – Public Key Infrastructure, то есть инфраструктуры открытых ключей. Если говорить в двух словах, то работает эта система так: 

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

То есть Вы подключаетесь к некому сайту по 443 порту (SSL), сайт показывает Вашему компьютеру сертификат, и если он подписан не доверенным центром сертификации, то браузер покажет предупреждении, и возложит решение на Ваши плечи, стоит ли доверять этому сертификату или нет. В том случае если Вы согласитесь продолжать, произойдет следующее:

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

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

Сертификаты бывают:                                                                                       Самоподписанные (self-signed) – сервер сам выпускает сертификат, он ни кем не удостоверяется, поэтому ему по умолчанию не будут доверять.

Wildcard сертификаты можно выдавать на область имен – например *.domaim.ru будет действовать на все поддомены.

SAN (Subject Alternative Name) – В такой сертификат можно вписать дополнительные имена серверов, например при публикации OWA, нам потребуется несколько имён,что не делать несколько сертификатов, имена можно вписать в один.

Для установки сервера CA устанавливаем следующие роли:

CA1

Выберем сам центр сертифкации, и веб интерфейс:

CA2

Enterprise – установка центра в существующий домен:

CA3

Сделаем наш сервер корневым:

CA4

Сгенерируем новый приватный ключ:

CA5

Внимание! Я при установке выбрал алгоритм подписи sha1. Данный алгоритм устарел, и браузер хром ругается, при заходе на сайт.

sha1_poor

Поэтому при установке выбирайте минимум sha256. Если же Вы уже установили CA с алгоритмом sha1 поменять его можно через командную строку:

certutil -setreg cacspCNGHashAlgorithm SHA256
net stop certsvc
net start certsvc

CA6

Выбираем имя нашего центра сертификации:

CA7

Тут можно выставить время действия корневого сертификата:

CA8

CA9

Дополнительные сервисы – оставим по умолчанию:

CA10

Теперь нам доступен веб интерфейс, по адресу http://dc1/csertsrv

CA12

По ссылке Download a CA сертификат можно скачать корневой сертификат ЦС.

Теперь на серверах мы сможем генерировать запросы на сертификаты, и подписывать их в нашем свежеустановленном центре сертификации. Для этого нужно сгенерировать запрос на сертификат с расширением req, открыть его блокнотом и скопировать запрос в поле, которое находится в веб интерфейсе, под ссылкой Request a certificat. У центра сертификации есть шаблоны, по которым он сможет выпускать сертификаты под разные задачи.

Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.

Работают в Windows еще с версии 2000. ADCS позволяют выдавать и обслуживать цифровые сертификаты на основе ключей.

Любой сертификат представляет собой пару закрытого и открытого ключа. Закрытый ключ – приватная информация, идентифицирующая владельца, требующая защиты и не подлежащая распространению. Открытый ключ – доступная любому часть, использующаяся для проверки

На практике сертификаты применяются для:

Аутентификации – пользователь подписывает пакет приватным ключом из выданного ему сертификата, а сервер аутентификации проверяет подпись публичным ключом этого же сертификата, который опубликован в доступном серверу месте.

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

Шифрования каналов – клиент шифрует пакеты публичным ключом сервера, таким образом только сервер, обладающий приватным (закрытым) ключом сможет расшифровать информацию от клиента.

Шифрование данных  — два сотрудника, обменявшись открытыми (публичными) ключами, могут шифровать с их помощью файлы. Таким образом, расшифровать файл сможет только владелец приватного ключа. Или другой пример: для шифрования диска система использует публичный ключ, в то время как приватный хранится на флешке, без которой невозможно дешифрование.

За 17 лет службы сертификации конечно же модернизировались. Последние серьезные изменения в ADCS были внесены в версиях Windows 2012 и  2012 R2 . Наиболее важные из них:

  • Поддержка модуля политики для службы регистрации сертификатов для сетевых устройств
  • Аттестация ключей доверенного платформенного модуля (TPM)
  • Windows PowerShell для служб сертификатов
  • Поддержка обновления сертификата с прежним ключом
  • Поддержка международных имен доменов

Простейшая архитектура Certificate services состоит из 2х серверов: корневого и выдающего. Помимо этого в инфраструктуре наверняка присутствует домен-контроллер, который может быть использован, как точка распространения сертификатов. Также для этих целей желательно иметь сервер с ролью Web. В прочем этот функционал может быть настроен на сервере с ролью выдающего центра сертификации.внедрение AD

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

Корневой сервер сертификации. Несет функции инстанции, которой мы безоговорочно доверяем. Корневой сервер сертификации выдает сертификат для подписи выдающего сервера сертификации. После генерации доверенного корневого сертификата и CRL этот сервер рекомендуется выключить и (слава богу используется виртуализация) сложить в сейф.

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

Сертификаты, которыми подписаны центры сертификации, а также списки отозванных сертификатов имеют срок жизни, по истечении которого должны быть обновлены. Обновление CRL выдающего сервера происходит автоматически, в то время как обновление CRL корневого центра сертификации нужно проводить вручную (по умолчанию – раз в пол года).  Для этого необходимо:

  1. включить корневой центр сертификации
  2. обновить CRL
  3. опубликовать полученный CRL на всех точках проверки отозванных сертификатов.

После этого обычно выполняются другие процедуры обслуживания сервера. Такие как, установка обновлений и резервное копирование. После чего сервер выключается до следующего обновления CRL или другой потребности его запуска.

Все операции по управлению сервисом выполняются из нескольких консолей:

  • Управление сервисом
  • Консоли сертификатовприменение ad

А также с помощью PowerShell и утилиты certutil,  с возможностями которой можно ознакомится, набрав certutil /help в командной строке Windows.

В частности с помощью командной строки можно публиковать сертификаты и списки отозванных сертификатов  в базе Active Directory. Также через службы Active Directory Domain Services (а именно через групповые политики) можно настроить распространение сертификатов: например, добавление сертификата корневого центра сертификации в Trusted certificates рабочих станций организации.миграция в АД

Помимо того, что сертификат содержит пару закрытого и открытого ключа, в нем также хранится служебная информация, в том числе о том, кому и когда выдан сертификат, алгоритмах генерации длине ключа и пр.  Сертификат генерируется по шаблону, который должен быть опубликован уполномоченным администратором. По умолчанию Active Directory Certificate Services имеют набор заготовок шаблонов для различных сервисов (Web-server, Exchange server, RDP Gateway server и пр ), на базе которых можно также создавать шаблоны под собственные нужды.применен active directory

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

  • Сертификаты для веб ресурса.
  • Сертификаты для защиты соединения.
  • Сертификаты для цифровой подписи.

Наша компания готова помочь в настройке и администрировании служб сертификации на базе Microsoft Windows 2016 и более ранних версий, а также в выполнении любых работ по защите веб ресурсов, соединений и данных с использованием сертификатов. Обращайтесь, [email protected]

Нет похожих статей.

(взято из справки Windows 2008)

Типы центров сертификации

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

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

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

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

Корневые и подчиненные центры сертификации

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

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

Центры сертификации предприятия

Центры сертификации предприятий могут выдавать сертификаты для таких целей, как цифровые подписи, безопасная электронная почта с использованием стандарта S/MIME, проверка подлинности на безопасном веб-сервере с использованием протокола SSL или TLS и вход в домен с помощью смарт-карты.

Центр сертификации предприятия обладает следующими характеристиками:

  • Требует доступа к службе AD DS.
  • Использует групповую политику для распространения своего сертификата в хранилище сертификатов доверенных корневых центров сертификации для всех пользователей и компьютеров в домене.
  • Публикует сертификаты пользователей и списки отзыва сертификатов (CRL) в службе AD DS. Для публикации сертификатов в службе AD DS сервер, на котором установлен центр сертификации, должен быть членом группы “Издатели сертификатов”. Это происходит автоматически для домена, в котором находится сервер, но для публикации сертификатов в других доменах серверу должны быть делегированы соответствующие разрешения безопасности.

Примечание
Для установки корневого центра сертификации предприятия необходимо быть членом группы Администраторы домена или администратором с правом записи в службу AD DS.

Центр сертификации предприятия выдает сертификаты на основе шаблона сертификатов. При использовании шаблонов сертификатов возможны следующие функции:

  • Центры сертификации предприятия принудительно проверяют учетные данные для пользователей во время регистрации сертификатов. У каждого шаблона сертификатов есть набор разрешений безопасности в службе AD DS, определяющий, разрешено ли запрашивающей стороне получать сертификат запрошенного типа.
  • Имя субъекта сертификата может быть создано автоматически из данных, имеющихся в доменных службах Active Directory, или предоставлено явным образом запрашивающей стороной.
  • Модуль политики добавляет предопределенный список расширений сертификата для выданного сертификата. Расширения определяются шаблоном сертификатов. Это уменьшает объем данных, которые должна предоставлять запрашивающая сторона о сертификате и цели его использования.
  • Для выдачи сертификатов может использоваться автоматическая регистрация.

Автономные центры сертификации

Автономные центры сертификации могут выдавать сертификаты специального назначения, например для цифровых подписей, безопасной электронной почты с использованием S/MIME и авторизации на безопасных веб-серверах с помощью протоколов SSL или TLS.

Автономный центр сертификации обладает указанными ниже характеристиками:

  • В отличие от центра сертификации предприятия автономный центр сертификации не нуждается в использовании доменных служб Active Directory. Даже при использовании доменных служб Active Directory автономные центры сертификации могут применяться в качестве автономных корневых доверенных центров сертификации в иерархии центров сертификации или использоваться для выдачи сертификатов клиентам по экстрасети или Интернету.
  • При подаче заявки на сертификат в автономный центр сертификации пользователи должны предоставить сведения для проверки подлинности и указать тип необходимого сертификата. (Этого можно не делать при отправке запроса в центр сертификации предприятия, потому что сведения о пользователе предприятия уже содержатся в доменных службах Active Directory, а тип сертификата описан в шаблоне сертификата). Сведения для проверки подлинности при запросах берутся из базы данных диспетчера учетных записей безопасности на локальном компьютере.
  • По умолчанию все запросы на сертификаты, отправленные на автономный центр сертификации, помещаются в очередь до тех пор, пока администратор автономного центра сертификации не проверит отправленные данные и утвердит запрос. Администратор должен выполнять эти задачи, потому что учетные данные запрашивающей стороны не проверяются автономным центром сертификации.
  • Шаблоны сертификатов не используются.
  • Администратор должен явно передать сертификат автономного центра сертификации в доверенное корневое хранилище пользователя домена, или пользователи должны выполнить эту задачу самостоятельно.
  • Если используется поставщик служб шифрования, поддерживающий шифрование ECC, автономный центр сертификации будет поддерживать любое использование ключа ECC. Дополнительные сведения см. на веб-сайте, посвященном криптографии следующего поколения (http://go.microsoft.com/fwlink/?LinkID=85480) (может быть на английском языке).

При использовании автономным центром сертификации доменных служб Active Directory в центре сертификации появляются следующие функциональные возможности:

  • Если член группы администраторов домена или администратор с правом записи на контроллере домена устанавливает автономный корневой центр сертификации, этот центр автоматически добавляется в хранилище сертификатов доверенных корневых центров сертификации для всех пользователей и компьютеров в домене. По этой причине при установке автономного центра сертификации в домене Active Directory нельзя изменять действие центра сертификации по умолчанию при получении запросов на сертификаты (то есть помещение запросов в очередь). В противном случае этот центр станет доверенным корневым центром сертификации, который будет автоматически выдавать сертификаты без проверки подлинности запрашивающей стороны.
  • Если автономный центр сертификации установлен членом группы администраторов домена родительского домена в организации или администратором, имеющим право на запись в доменных службах Active Directory, автономный центр сертификации будет публиковать свой сертификат центра сертификации и список отзыва сертификатов в доменных службах Active Directory.

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

Промежуточные центры сертификации Windows — это важное звено в цепочке сертификатов, которые обеспечивают безопасность и надежность операционной системы. Они выступают как доверенные центры, которые выпускают сертификаты для цифровой подписи различных компонентов ОС Windows. Использование сертификатов со стороны разработчиков программного обеспечения и партнеров Microsoft обеспечивает процесс установки и обновления программ и драйверов на компьютере с системой Windows.

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

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

Содержание

  1. Что такое промежуточные центры сертификации?
  2. Зачем нужны промежуточные центры сертификации?
  3. Преимущества промежуточных центров сертификации windows
  4. Как проходит процесс сертификации?
  5. Сертификация в промежуточном центре: особенности и требования

Что такое промежуточные центры сертификации?

Они выполняют промежуточную роль между корневым (Root Certification Authority) и конечным пользователем. Промежуточный центр сертификации получает сертификат от корневого центра и использует его для создания своих собственных сертификатов.

Промежуточные центры сертификации выполняют несколько важных задач:

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

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

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

Зачем нужны промежуточные центры сертификации?

Промежуточные центры сертификации (Intermediate Certification Authorities) играют важную роль в процессе проверки и подтверждения аутентичности цифровых сертификатов. Они представляют собой службы, которые принимают запросы на выдачу цифровых сертификатов от конечных пользователей и сертификационных агентств, проводят проверку их личности и удостоверяют их подлинность.

Зачем же нужны эти промежуточные центры сертификации? Они выполняют несколько важных функций:

1. Упрощение процесса проверки сертификатов. Промежуточные центры сертификации являются доверенными организациями, которые получили свой собственный цифровой сертификат от источника доверия (Root Certification Authority). Благодаря этому, их сертификаты узнаваемы и принимаемы всеми основными операционными системами и программами, что упрощает процесс проверки цифровых сертификатов, выданных промежуточными центрами сертификации.

2. Увеличение уровня доверия. Промежуточные центры сертификации, получив свой цифровой сертификат от источника доверия, становятся доверенными третьими сторонами. Это означает, что любой пользователь может доверять сертификатам, выданным промежуточным центром сертификации, так как он сам является частью доверенной цепочки.

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

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

Преимущества промежуточных центров сертификации windows

1. Повышение доверия

Промежуточные центры сертификации Windows предоставляют независимую оценку качества и безопасности программного обеспечения и устройств. Получение сертификата от такого центра позволяет пользователям быть уверенными в отсутствии вредоносного кода и возможности использования программы или устройства.

2. Улучшение безопасности

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

3. Управление репутацией

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

4. Стандартизация

Промежуточные центры сертификации Windows имеют определенные требования и стандарты, которые помогают в разработке программного обеспечения и устройств. Это способствует созданию единого и совместимого программного экосистемы Windows.

5. Простота установки и обновления

Сертифицированное программное обеспечение и устройства проще устанавливать и обновлять. Они автоматически распознаются операционной системой Windows и могут быть установлены с минимальными дополнительными действиями со стороны пользователя.

Промежуточные центры сертификации Windows играют важную роль в обеспечении безопасности и качества программного обеспечения и устройств для пользователей. Получение сертификата от такого центра является гарантией и подтверждением надежности и целостности продукта.

Как проходит процесс сертификации?

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

  1. Подготовка к сертификации:
    • Разработчики приложений должны ознакомиться со стандартами и требованиями Microsoft для Windows и обеспечить их выполнение в своих приложениях.
    • Они также должны пройти регистрацию в центре сертификации, предоставить необходимые документы и подписать необходимые соглашения.
  2. Тестирование:
    • Разработчики должны протестировать свое приложение на совместимость с различными версиями Windows, чтобы убедиться, что оно работает корректно.
    • Тестирование осуществляется с помощью специальных инструментов и тестовых скриптов, которые проверяют функциональность и безопасность приложения.
    • Также проводится проверка на соблюдение предоставленной документации и требований.
  3. Подача заявки:
    • После успешного прохождения тестирования разработчики могут подать заявку на сертификацию Windows.
    • В заявке они предоставляют информацию о своем приложении, включая его описание, функциональность, требования к системе и другую необходимую информацию.
  4. Рассмотрение заявки:
    • Центр сертификации проводит проверку предоставленной информации и заявки разработчика.
    • При необходимости могут быть запрошены дополнительные материалы или обновленные версии приложения.
  5. Выдача сертификата:
    • После положительного рассмотрения заявки центр сертификации выдает разработчику сертификат, подтверждающий совместимость и соответствие его приложения стандартам Microsoft.
    • Сертификат может быть использован при распространении приложения для предоставления дополнительных гарантий пользователю о его безопасности и качестве.

Процесс сертификации Windows помогает обеспечить безопасность и надежность приложений, а также создает доверие у пользователей к разработчикам и их продуктам.

Сертификация в промежуточном центре: особенности и требования

Сертификация в промежуточном центре имеет свои особенности и требования. Во-первых, процесс сертификации проходит в несколько этапов, начиная с подачи заявки и заканчивая получением сертификата. Промежуточные центры проводят проверку устройств и программного обеспечения, включая анализ кода, тестирование на совместимость и проверку безопасности. Отработанный процесс сертификации гарантирует, что продукт отвечает стандартам безопасности и качества, установленным Microsoft.

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

Для облегчения процесса сертификации в промежуточном центре созданы специальные инструменты и ресурсы, предоставленные Microsoft. Это включает в себя различные документы и руководства, примеры кода, инструменты для тестирования и другие полезные материалы. Использование этих ресурсов помогает разработчикам и производителям успешно пройти сертификацию и получить необходимые сертификаты.

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

Преимущества сертификации в промежуточном центре: Требования к сертифицированным продуктам:
1. Доступ к ресурсам и инструментам Microsoft для успешной сертификации. 1. Соответствие требованиям и стандартам Microsoft.
2. Упрощение и ускорение процесса получения сертификата. 2. Предоставление документации и информации о продукте.
3. Гарантия соответствия продукта стандартам безопасности и качества. 3. Прохождение проверки и тестирования продукта в промежуточном центре.

(взято из справки Windows 2008)

Типы центров сертификации

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

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

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

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

Корневые и подчиненные центры сертификации

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

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

Центры сертификации предприятия

Центры сертификации предприятий могут выдавать сертификаты для таких целей, как цифровые подписи, безопасная электронная почта с использованием стандарта S/MIME, проверка подлинности на безопасном веб-сервере с использованием протокола SSL или TLS и вход в домен с помощью смарт-карты.

Центр сертификации предприятия обладает следующими характеристиками:

  • Требует доступа к службе AD DS.
  • Использует групповую политику для распространения своего сертификата в хранилище сертификатов доверенных корневых центров сертификации для всех пользователей и компьютеров в домене.
  • Публикует сертификаты пользователей и списки отзыва сертификатов (CRL) в службе AD DS. Для публикации сертификатов в службе AD DS сервер, на котором установлен центр сертификации, должен быть членом группы “Издатели сертификатов”. Это происходит автоматически для домена, в котором находится сервер, но для публикации сертификатов в других доменах серверу должны быть делегированы соответствующие разрешения безопасности.

Примечание
Для установки корневого центра сертификации предприятия необходимо быть членом группы Администраторы домена или администратором с правом записи в службу AD DS.

Центр сертификации предприятия выдает сертификаты на основе шаблона сертификатов. При использовании шаблонов сертификатов возможны следующие функции:

  • Центры сертификации предприятия принудительно проверяют учетные данные для пользователей во время регистрации сертификатов. У каждого шаблона сертификатов есть набор разрешений безопасности в службе AD DS, определяющий, разрешено ли запрашивающей стороне получать сертификат запрошенного типа.
  • Имя субъекта сертификата может быть создано автоматически из данных, имеющихся в доменных службах Active Directory, или предоставлено явным образом запрашивающей стороной.
  • Модуль политики добавляет предопределенный список расширений сертификата для выданного сертификата. Расширения определяются шаблоном сертификатов. Это уменьшает объем данных, которые должна предоставлять запрашивающая сторона о сертификате и цели его использования.
  • Для выдачи сертификатов может использоваться автоматическая регистрация.

Автономные центры сертификации

Автономные центры сертификации могут выдавать сертификаты специального назначения, например для цифровых подписей, безопасной электронной почты с использованием S/MIME и авторизации на безопасных веб-серверах с помощью протоколов SSL или TLS.

Автономный центр сертификации обладает указанными ниже характеристиками:

  • В отличие от центра сертификации предприятия автономный центр сертификации не нуждается в использовании доменных служб Active Directory. Даже при использовании доменных служб Active Directory автономные центры сертификации могут применяться в качестве автономных корневых доверенных центров сертификации в иерархии центров сертификации или использоваться для выдачи сертификатов клиентам по экстрасети или Интернету.
  • При подаче заявки на сертификат в автономный центр сертификации пользователи должны предоставить сведения для проверки подлинности и указать тип необходимого сертификата. (Этого можно не делать при отправке запроса в центр сертификации предприятия, потому что сведения о пользователе предприятия уже содержатся в доменных службах Active Directory, а тип сертификата описан в шаблоне сертификата). Сведения для проверки подлинности при запросах берутся из базы данных диспетчера учетных записей безопасности на локальном компьютере.
  • По умолчанию все запросы на сертификаты, отправленные на автономный центр сертификации, помещаются в очередь до тех пор, пока администратор автономного центра сертификации не проверит отправленные данные и утвердит запрос. Администратор должен выполнять эти задачи, потому что учетные данные запрашивающей стороны не проверяются автономным центром сертификации.
  • Шаблоны сертификатов не используются.
  • Администратор должен явно передать сертификат автономного центра сертификации в доверенное корневое хранилище пользователя домена, или пользователи должны выполнить эту задачу самостоятельно.
  • Если используется поставщик служб шифрования, поддерживающий шифрование ECC, автономный центр сертификации будет поддерживать любое использование ключа ECC. Дополнительные сведения см. на веб-сайте, посвященном криптографии следующего поколения (http://go.microsoft.com/fwlink/?LinkID=85480) (может быть на английском языке).

При использовании автономным центром сертификации доменных служб Active Directory в центре сертификации появляются следующие функциональные возможности:

  • Если член группы администраторов домена или администратор с правом записи на контроллере домена устанавливает автономный корневой центр сертификации, этот центр автоматически добавляется в хранилище сертификатов доверенных корневых центров сертификации для всех пользователей и компьютеров в домене. По этой причине при установке автономного центра сертификации в домене Active Directory нельзя изменять действие центра сертификации по умолчанию при получении запросов на сертификаты (то есть помещение запросов в очередь). В противном случае этот центр станет доверенным корневым центром сертификации, который будет автоматически выдавать сертификаты без проверки подлинности запрашивающей стороны.
  • Если автономный центр сертификации установлен членом группы администраторов домена родительского домена в организации или администратором, имеющим право на запись в доменных службах Active Directory, автономный центр сертификации будет публиковать свой сертификат центра сертификации и список отзыва сертификатов в доменных службах Active Directory.

Сегодня рассмотрим как развернуть центр сертификации windows, и поговорим для чего он нужен.
Собственный центр сертификации нужен для создания собственной инфраструктуры PKI – Public Key Infrastructure, то есть инфраструктуры открытых ключей. Если говорить в двух словах, то работает эта система так: 

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

То есть Вы подключаетесь к некому сайту по 443 порту (SSL), сайт показывает Вашему компьютеру сертификат, и если он подписан не доверенным центром сертификации, то браузер покажет предупреждении, и возложит решение на Ваши плечи, стоит ли доверять этому сертификату или нет. В том случае если Вы согласитесь продолжать, произойдет следующее:

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

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

Сертификаты бывают:                                                                                       Самоподписанные (self-signed) – сервер сам выпускает сертификат, он ни кем не удостоверяется, поэтому ему по умолчанию не будут доверять.

Wildcard сертификаты можно выдавать на область имен – например *.domaim.ru будет действовать на все поддомены.

SAN (Subject Alternative Name) – В такой сертификат можно вписать дополнительные имена серверов, например при публикации OWA, нам потребуется несколько имён,что не делать несколько сертификатов, имена можно вписать в один.

Для установки сервера CA устанавливаем следующие роли:

CA1

Выберем сам центр сертифкации, и веб интерфейс:

CA2

Enterprise – установка центра в существующий домен:

CA3

Сделаем наш сервер корневым:

CA4

Сгенерируем новый приватный ключ:

CA5

Внимание! Я при установке выбрал алгоритм подписи sha1. Данный алгоритм устарел, и браузер хром ругается, при заходе на сайт.

sha1_poor

Поэтому при установке выбирайте минимум sha256. Если же Вы уже установили CA с алгоритмом sha1 поменять его можно через командную строку:

certutil -setreg ca\csp\CNGHashAlgorithm SHA256
net stop certsvc
net start certsvc

CA6

Выбираем имя нашего центра сертификации:

CA7

Тут можно выставить время действия корневого сертификата:

CA8

CA9

Дополнительные сервисы – оставим по умолчанию:

CA10

Теперь нам доступен веб интерфейс, по адресу http://dc1/csertsrv

CA12

По ссылке Download a CA сертификат можно скачать корневой сертификат ЦС.

Теперь на серверах мы сможем генерировать запросы на сертификаты, и подписывать их в нашем свежеустановленном центре сертификации. Для этого нужно сгенерировать запрос на сертификат с расширением req, открыть его блокнотом и скопировать запрос в поле, которое находится в веб интерфейсе, под ссылкой Request a certificat. У центра сертификации есть шаблоны, по которым он сможет выпускать сертификаты под разные задачи.

Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.

  • Для чего нужен глоссарий windows
  • Для чего нужен update for windows 10 x64 based system
  • Для чего нужен код активации windows
  • Для чего нужен виртуальный рабочий стол в windows 10
  • Для чего нужен windows defender