This is not an officially supported Google product. This code creates PoC demo environment for CSA Certificate Authority Service demo. This demo code is not built for production workload.
Это руководство по архитектуре обеспечивает упрощенное и безопасное развертывание службы центра сертификации (CAS). Он создает корневой центр сертификации вместе с двумя подчиненными центрами сертификации и одним конечным сертификатом. Эти центры сертификации отличаются высокой доступностью, масштабируемостью и простотой обслуживания, что позволяет вам создать инфраструктуру частных ключей (PKI) для подтверждения личности с помощью сертификатов и создания корня доверия между вашими рабочими нагрузками.
Хотя в этом руководстве по архитектуре основное внимание уделяется полному развертыванию CAS, обозначенному как архитектура 1 на рисунке ниже (т. е. архитектуре, в которой все центры сертификации размещаются в Google Cloud), CAS чрезвычайно гибок и дает вашей организации возможность создавать частную PKI в различных разными способами, как показано на схеме ниже.
Мы также предоставим подробную информацию о том, как использовать CSR (запрос на подпись сертификата) для реализации гибридной архитектуры, в которой центры сертификации могут находиться за пределами GCP (архитектуры № 2–3).
Служба центра сертификации (CAS) — Служба центра сертификации — это высокодоступная масштабируемая служба Google Cloud, которая позволяет упростить, автоматизировать и настроить развертывание, управление и безопасность частных центров сертификации (CA).
Служба управления ключами (KMS) — облачная служба управления ключами позволяет создавать, импортировать и управлять криптографическими ключами, а также выполнять криптографические операции в единой централизованной облачной службе. Вы можете использовать эти ключи и выполнять эти операции, используя Cloud KMS напрямую, используя Cloud HSM или Cloud external Key Manager, или используя интеграцию ключей шифрования, управляемых клиентом (CMEK), с другими службами Google Cloud.
Google Cloud Storage (GCS) — Cloud Storage — это управляемый сервис для хранения неструктурированных данных. Храните любой объем данных и извлекайте их так часто, как захотите.
При разработке PKI с помощью GCP CAS следует учитывать следующие ограничения, а также квоты, лимиты и известные ограничения:
Ресурс | Единица | Ценить |
---|---|---|
Ожидающие центры сертификации 1 | за местоположение за проект | 100 |
Центры сертификации | за местоположение за проект | 1000 |
Неистёкшие отозванные сертификаты 2 | для каждого центра сертификации или списка отзыва сертификатов (CRL) | 500 000 |
1 ожидающий центр сертификации (CA) — это подчиненный центр сертификации, который был создан, но еще не активирован и, следовательно, находится в состоянии AWAITING_USER_ACTIVATION.
2 CRL может содержать не более 500 000 отозванных сертификатов с неистёкшим сроком действия. Если вы попытаетесь отозвать больше, чем этот лимит, запрос на отзыв не будет выполнен. Если вам необходимо отозвать более 500 000 сертификатов, мы рекомендуем дождаться истечения срока действия существующих отозванных сертификатов или отозвать выдавший сертификат ЦС.
##Инструкции по терраформированию:
Войдите в свою организацию и назначьте себе роль администратора службы CA и администратора Cloud KMS в проекте, который будет использоваться для развертывания.
Если новый проект необходимо создать и включить биллинг. Следуйте инструкциям в этом руководстве.
Откройте оболочку Cloud и клонируйте следующий репозиторий git, используя команду ниже:
git clone https://github.com/GCP-Architecture-Guides/csa-certificate-authority-service.git
Перейдите в папку csa-certificate-authority-service.
cd csa-certificate-authority-service</th>
Экспортируйте идентификатор проекта в переменную Terraform.
export TF_VAR_demo_project_id=[YOUR_PROJECT_ID]
Находясь в папке csa-certificate-authority-service, выполните по порядку приведенные ниже команды.
terraform init terraform plan terraform apply
если будет предложено, авторизуйте вызов API.
После завершения развертывания будет опубликована сводная информация об организованных ресурсах. Он развертывает ресурсы в течение пяти минут.
После завершения демонстрации перейдите в папку службы сертификации и выполните приведенную ниже команду, чтобы уничтожить все демонстрационные ресурсы.
terraform destroy
##Терраформирование Краткое описание:
Бассейн | Калифорния | Срок действия | Состояние | Имя субъекта | Область | Уровень |
---|---|---|---|---|---|---|
Демо-корневой пул | Корневой центр сертификации | 10 лет | Включено | Организация: Демо Калифорния, Китай: демо Идентификатор ресурса: [по умолчанию] | США-Централ1 (Айова) | Предприятие |
Демо-подпул | Подчиненный центр сертификации с корневым центром сертификации в Google Cloud | 3 года | Включено | Организация: Демо Калифорния, Китай: демо Идентификатор ресурса: [по умолчанию] | США-Централ1 (Айова) | Предприятие |
Демо-подпул-2 | Подчиненный ЦС с корневым ЦС в Google Cloud | 3 года | Включено | Организация: Демо Калифорния, Китай: демо Идентификатор ресурса: [по умолчанию] | США-Восток1 | Предприятие |
Бассейн | Принятые методы КСО | Разрешенные ключи и алгоритмы | Размер ключа и алгоритм | Варианты публикации | Настроенные базовые значения | Настроенные ограничения расширения | Настроенные ограничения идентификации |
---|---|---|---|---|---|---|---|
Демо-корневой пул | Разрешить все | Никаких ограничений | RSA_PKCS1_4096_SHA256 | В сегмент GCS в формате PEM | Никто | Скопируйте все расширения из запросов сертификатов. | Копирование субъекта и SAN(ов) из запросов сертификатов. |
Демо-подпул | Разрешить все | Никаких ограничений | RSA_PKCS1_4096_SHA256 | В сегмент GCS в формате PEM | Никто | Скопируйте все расширения из запросов сертификатов. | Копирование субъекта и SAN(ов) из запросов сертификатов. |
Демо-подпул-2 | Разрешить все | Никаких ограничений | RSA_PKCS1_4096_SHA256 | В сегмент GCS в формате PEM | Никто | Скопируйте все расширения из запросов сертификатов. | Копирование субъекта и SAN(ов) из запросов сертификатов. |
Лучшие практики для службы центра сертификации
Служба центра сертификации Google Cloud предъявляет ряд требований к ведению журнала и мониторингу для обеспечения безопасности и целостности службы. Эти требования включают следующее:
Ведение журнала аудита. Операции журнала, выполняемые в службе, такие как выдача, продление и отзыв сертификатов, протоколируются и могут быть проверены клиентами.
Уведомления о событиях. Клиенты могут получать уведомления о важных событиях, таких как истечение срока действия сертификата, по электронной почте или через веб-перехватчик.
Прозрачность сертификатов. Все выданные сертификаты записываются в журналы прозрачности, что позволяет проводить аудит выдачи и отзыва сертификатов.
Мониторинг безопасности и доступности. Группы безопасности и эксплуатации постоянно отслеживают сервис на предмет потенциальных угроз безопасности и проблем с доступностью.
Соответствие. Служба центров сертификации Google Cloud соответствует различным стандартам, определяющим требования к безопасности и эксплуатации для центров сертификации.
В целом, эти требования к ведению журналов и мониторингу направлены на то, чтобы предоставить клиентам прозрачность и наглядность услуги, а также обеспечить ее безопасность и доступность.
Службы Google Cloud записывают журналы аудита, которые помогут вам ответить на вопросы: «Кто, где и когда что сделал?» в ваших ресурсах Google Cloud.
Для службы CA доступны следующие типы журналов аудита:
Журналы аудита активности администратора
Включает операции «административной записи», которые записывают метаданные или информацию о конфигурации.
Вы не можете отключить журналы аудита активности администратора.
Журналы аудита доступа к данным
Включает операции «административного чтения», которые читают метаданные или информацию о конфигурации. Также включает операции «чтение данных» и «запись данных», которые считывают или записывают данные, предоставленные пользователем.
Чтобы получать журналы аудита доступа к данным, необходимо явно включить их.
Конкретные журналы аудита, созданные службой центра сертификации, см.
Журналы аудита активности администратора всегда включены; вы не можете их отключить.
Журналы аудита доступа к данным отключены по умолчанию и не записываются, если это явно не включено.
Информацию о включении некоторых или всех журналов аудита доступа к данным см. в разделе Включение журналов аудита доступа к данным.
В консоли Google Cloud вы можете использовать обозреватель журналов для получения записей журнала аудита для вашего облачного проекта, папки или организации:
В консоли Google Cloud перейдите на страницу «Ведение журналов» > «Обозреватель журналов».
Выберите существующий облачный проект, папку или организацию.
На панели «Конструктор запросов» выполните следующие действия:
protoPayload.serviceName="privateca.googleapis.com"
Облачный мониторинг можно использовать для мониторинга операций, выполняемых с ресурсами в службе центра сертификации.
Используйте следующие инструкции, чтобы включить рекомендуемые оповещения.
Перейдите на страницу обзора службы CA в консоли Google Cloud.
В правом верхнем углу страницы «Обзор» нажмите + 5 рекомендуемых оповещений .
Включите или отключите каждое оповещение, прочитав его описание.
Некоторые оповещения поддерживают пользовательские пороговые значения. Например, вы можете указать, когда вы хотите получать оповещения об истечении срока действия сертификата ЦС или частоту ошибок из-за большого количества неудачных попыток создания сертификата.
Все оповещения поддерживают каналы уведомлений.
Нажмите «Отправить», как только вы включили все нужные оповещения.
Политики и шаблоны сертификатов документов
Ограничения идентичности
Ограничения расширения
Ключевые условия использования
Идентификаторы политики
Расширения
Чтобы снизить риск злоупотреблений, следует пересмотреть политики сертификатов, чтобы убедиться, что шаблоны одобрены и определены функциональные возможности.
Создайте план реагирования на компрометацию центра сертификации
Обучайте все заинтересованные стороны
Пересматривайте политику безопасности и связи CA не реже одного раза в год.
Создание резервных планов CA
Центры сертификации инвентаря
Убедитесь, что используются только утвержденные центры сертификации.
Убедитесь, что доверяют только утвержденным корням
Инвентаризация корневых центров сертификации, которым доверяют системы проверяющей стороны.
Просмотрите и проверьте разрешения для существующих шаблонов сертификатов.
Принудительная проверка отзыва в системах проверяющей стороны
Включить журналы аудита и оповещения
Определите компромисс на основе системы оповещений и отчетов.
Установить четкое понимание того, что произошло
Кто обнаружил инцидент.
Если имеется, то кто совершил инцидент.
Когда CA был скомпрометирован.
Где произошел инцидент.
Какие корни, субцентры сертификации и количество сертификатов конечных пользователей пострадали в результате инцидента.
Предполагаемая основная причина инцидента.
Какие меры по исправлению положения были приняты или будут приняты для устранения основной причины инцидента.
Список сертификатов и доменов, вовлеченных в нарушение.
Как был обнаружен инцидент?
Подробное описание эксплойта.
Подробная информация о том, какая инфраструктура была скомпрометирована.
Подробности о том, как была скомпрометирована инфраструктура.
Подробная хронология событий.
Была ли уязвимость обнаружена в ходе обычных операций? Если не было, то почему?
Была ли уязвимость обнаружена в ходе последнего аудита? Если да, была ли устранена уязвимость? Если уязвимость не была устранена, то почему бы и нет?
Была ли эта уязвимость обнаружена в ходе последнего аудита? Если нет, объясните, почему.
Какие изменения в политике необходимо внести?
Любая другая информация.
Активируйте группу реагирования на инциденты
Сдержать и изолировать затронутую среду ЦС a. Чтобы запретить ЦС выдавать сертификаты, см.
Разработать план информирования о воздействии и последующих шагах по смягчению последствий для затронутых заинтересованных сторон (внутренних/внешних).
После завершения расследования и проверки условий содержания выполните следующее:
Отозвать и сбросить учетные данные для всех скомпрометированных удостоверений, которые были сопоставлены с ролью, предоставляющей повышенные разрешения для центров сертификации и связанных с ними политик/шаблонов.reference-1 и reference-2.
Отозвать скомпрометированные центры сертификации и связанные с ними сертификаты и создать ссылку на новые центры сертификации.
Добавьте в CRL/статус обновления в ответчике OCSP (если не автоматизировано) для уведомления субъектов, проверяющих сторон и поставщиков.
Отозвать существующие сертификаты и перевыпустить сертификаты из ссылки на новые центры сертификации.
Удалить/заменить корневые сертификаты
Убедитесь, что проверка отзыва включена в системах проверяющей стороны.
Проверка замены сертификата и корня
Отслеживайте и сообщайте о прогрессе
Ниже приведена примерная ежемесячная стоимость запуска этой демонстрационной среды. Обратите внимание, что эта оценка была рассчитана на момент создания шаблона. Оценка может меняться со временем и может различаться в зависимости от региона. Просмотрите стоимость каждого ресурса с помощью калькулятора цен Google Cloud.
Артикул DevOps | Артикул предприятия | |
---|---|---|
Ежемесячная плата за CA | 20 долларов | 200 долларов США |
Стоимость сертификата | 0–50 тыс. @ 0,3 доллара США 50 000–100 000 по цене 0,03 доллара США 100 тыс.+ @ 0,0009 доллара США Многоуровневое распределение по всем центрам сертификации | 0–50 тыс. @ 0,5 доллара США 50 000–100 000 по цене 0,05 доллара США 100 тыс.+ по цене 0,001 доллара США Многоуровневое распределение по всем центрам сертификации |
Поддержка HSM для ключа CA | ||
BYO CA ключ | Х | |
Отслеживание и отзыв сертификатов | Х | |
количество запросов в секунду | 25 | 7 |
Оптимизирован для... | Большой объем, недолговечность | Низкий объем, длительный срок службы |
Обзор CAS
Представляем блог CAS
Обучающие видео CAS
Репозиторий CAS на GitHub