Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

Event ID 5058 Windows Server, AD и Роли

Event ID 5058: Key file operation — аудит криптографических ключей CNG

Обновлено: 28.08.2026 · Официальная документация ↗

Описание события аудита криптографии Event ID 5058

Событие Event ID 5058 регистрируется подсистемой Windows Cryptography Next Generation (CNG) и службой Protected Storage при выполнении операций с файлами защищенных закрытых криптографических ключей (чтение, создание, удаление или открытие контейнера закрытого ключа сертификата).

Типичные сценарии генерации события

  • Служба IIS обращается к закрытому ключу SSL/TLS-сертификата при установлении HTTPS-соединения.
  • Подписание токенов службой Active Directory Federation Services (AD FS).
  • Попытка несанкционированного экспорта закрытого ключа сертификата CA (Центра сертификации) с помощью утилит типа Mimikatz (DPAPI export).

Анализ операций с ключевыми контейнерами

Внимание: Массовое чтение закрытых ключей непривилегированными процессами указывает на попытку хищения сертификатов веб-сервера или корневого ЦС.

  1. Определение целевого ключа и провайдера:
    В теле события изучите поля:
    - Key Name: Имя ключевого контейнера.
    - Cryptographic Provider: Имя криптопровайдера (например, Microsoft Software Key Storage Provider).
    - Operation: Тип операции (Read, Write, Delete).
  2. Идентификация процесса, запросившего ключ:
    Проверьте поле Process Information -> Process Name. Убедитесь, что процесс является легитимным (например, w3wp.exe или lsass.exe).
  3. Проверка прав доступа (ACL) на закрытый ключ:
    Если легитимное приложение получает ошибку Keyset does not exist или Access Denied, предоставьте учетной записи службы права на чтение ключа через оснастку certlm.msc (Все задачи -> Управление закрытыми ключами).
  4. Проверка физического расположения файлов ключей:
    Системные ключи RSA/CNG хранятся в защищенной директории:
    Get-ChildItem -Path "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys"
💡 Практика специалистов: Ограничьте права на каталог MachineKeys: только SYSTEM и Administrators. Права сервисным учетным записям (например, пулу IIS) назначайте исключительно через оснастку сертификатов на конкретный GUID ключа.

Частые вопросы (FAQ)

Почему событие 5058 генерируется в огромных количествах?

При высокой нагрузке на IIS/ADFS сервер каждое новое TLS-соединение без Session Resumption может обращаться к контейнеру ключа, вызывая сотни событий в секунду.

Как включить или выключить аудит криптографических операций?

В GPO: Advanced Audit Policy Configuration -> System Audit Policies -> Object Access -> Audit Other Object Access Events (или Audit Detailed File Share).

Что делать, если закрытый ключ помечен как non-exportable?

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

Какая ошибка возникает в логах, если у службы нет прав на MachineKeys?

В журнале Application фиксируется ошибка CryptographicException с кодом 0x80090016 (NTE_BAD_KEYSET).

Полезные материалы
Рекомендуем