Вопрос или проблема
Мы разрабатываем приложение Windows, которое устанавливает сертификат authenticode в хранилище Доверенные издатели в пользовательском контексте. Установка работает на тестовых машинах. Мы знаем, что у наших корпоративных клиентов есть политики, которые могут этому помешать, но мы не можем определить, как это можно сделать.
Мы ищем способы, как администратор может предотвратить добавление пользователем Windows сертификатов в собственное хранилище сертификатов пользователя (а именно в хранилище Доверенные издатели) с использованием либо GPO, либо настроек Intune.
Когда пользователь не может импортировать сертификат, ему показывается следующее диалоговое окно с ошибкой:
Мастер импорта сертификатов
Импорт не выполнен, так как хранилище было доступно только для чтения, было заполнено
или не было правильно открыто.
[ОК]
Мы устанавливаем сертификат, используя эквивалентный код как в этом примере:
HCERTSTORE hCertStore = ::CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_SYSTEM_STORE_CURRENT_USER | CERT_STORE_MAXIMUM_ALLOWED_FLAG, L"trustedpublisher");
HRESULT hr = ::CertAddCertificateContextToStore(hStore, pCertContext, CERT_STORE_ADD_REPLACE_EXISTING, NULL)
// hr = 0x80070005 ERROR_ACCESS_DENIED
Ответ или решение
Теория
В операционной системе Windows пользователи имеют возможность добавлять цифровые сертификаты в различные хранилища сертификатов на своем устройстве. Одним из них является хранилище "Доверенные издатели" в контексте пользователя. Это важно, потому что в корпоративной среде управление сертификатами играет ключевую роль в защите данных и контроля доступа к ресурсам. Администраторы часто устанавливают определенные политики безопасности, чтобы ограничить действия, которые пользователи могут выполнять с сертификатами на своих машинах.
Для предотвращения установки сертификатов в хранилище "Доверенные издатели" можно использовать два основыне подхода: настройку групповой политики и использование средств управления облачными сервисами, таких как Microsoft Intune.
Пример
Предположим, что у нас есть предприятие, обеспечивающее высокий уровень безопасности, и где установили запрет на добавление сертификатов пользователями. Администратор системы может использовать следующую стратегию:
Групповая политика
Групповая политика позволяет администраторам управлять настройками и поведением компьютеров и пользователей в домене Active Directory. Наиболее распространенный и эффективный метод ограничения доступа пользователей к хранилищам сертификатов — это модификация групповой политики для применения на все устройства в сети.
-
Ограничение доступа через редактор групповой политики:
- Откройте редактор групповой политики (
gpedit.msc
). - Перейдите к Computer Configuration > Windows Settings > Security Settings > Public Key Policies.
- Настройте политику таким образом, чтобы пользователи не могли управлять сертификатами.
- Откройте редактор групповой политики (
-
Правила доступа к файловой системе:
- Измените разрешения в файловой системе на каталоги и ключи реестра, которые управляют доступом к хранилищу сертификатов.
Когда пользователь не имеет прав на выполнение определенного действия, например импорт сертификата, ему будет представлено сообщение об ошибке, подобное описанному: "The import failed because the store was read-only, the store was full, or the store did not open correctly."
Microsoft Intune
Инструменты для управления облачными сервисами, такие как Microsoft Intune, предоставляют возможность управления настройками и политиками на устройствах, которые не являются частью домена. Использование Microsoft Intune позволяет:
- Задавать специфичные политики безопасности, которые определяют, какие операции могут выполнять пользователи со своими сертификатами.
Для настройки:
-
Настройте политику конфигурации устройства:
- Создайте новую политику конфигурации для Windows 10 и более поздних.
- Включите ограничения на установку сертификатов в специфичные хранилища или полностью заблокируйте такие функции в пользовательском контексте.
Применение
Указанные методы предоставляют администраторам возможность запретить или ограничить добавление сертификатов в хранилище "Доверенные издатели" пользователями, как это необходимо в корпоративной среде для выполнения требований безопасности. Это не только повышает защиту устройства от неавторизованных установок, но и поддерживает общий стандарт безопасности в организации.
Кроме того, важно понимать, что неправильная настройка этих политик может привести к нежелательным последствиям, таким как невозможность установки легитимных обновлений или приложений, которые требуют сертификатов для своей работы. Поэтому любые изменения в политиках должны быть тщательно протестированы перед их распространением на всю организацию.
Также стоит помнить о важности вовлечения пользователя в процесс изменения политик, путем оповещения или обучения основных принципов работы с сертификатами и системой безопасности в организации, чтобы минимизировать риск возникновения инцидентов безопасности и максимизировать производительность.
В заключение, использование групповых политик и Microsoft Intune в сочетании с правильным управлением правами доступа и обучением пользователей позволяет создавать надежную систему защиты, предотвращая несанкционированное управление и установку сертификатов в пользовательском контексте.