Приложение \CAPI2, событие 513. Сбой при работе криптографических служб при обработке вызова OnIdentity() в объекте системного модуля записи

Один из членов команды сообщил мне, что один из наших MSSQL-серверов на базе Windows Server 2008 (не 2008 R2) начал генерировать ошибки CAPI2 с кодом 513 в журнале событий приложений:

Application\CAPI2

Cryptographic Services failed while processing the OnIdentity() call in the System Writer Object.

Details:
AddCoreCsiFiles: BeginFileEnumeration() failed.

System Error: Access is denied.



Небольшая PowerShell показывает, что проблема началась еще 08.08.14 и, по-видимому, в основном возникает после 22:00 ежедневно:

PS C:\Users\Administrator> Get-EventLog -LogName Application | ? { $_.EventID -like "513" -and $_.Source -like "Microsoft-Windows-CAPI2" } | Select -Property TimeGenerated

TimeGenerated
-------------
8/18/2014 10:41:32 AM
8/18/2014 10:25:17 AM
8/18/2014 10:15:20 AM
8/17/2014 10:55:41 PM
8/17/2014 10:55:27 PM
8/17/2014 10:55:26 PM
8/16/2014 10:49:44 PM
8/16/2014 10:49:28 PM
8/16/2014 10:49:28 PM
8/15/2014 10:52:11 PM
8/15/2014 10:51:58 PM
8/15/2014 10:51:57 PM
8/15/2014 1:03:06 AM
8/15/2014 1:02:45 AM
8/15/2014 1:02:45 AM
8/13/2014 10:58:49 PM
8/13/2014 10:58:32 PM
8/13/2014 10:58:31 PM
8/12/2014 10:57:09 PM
8/12/2014 10:56:56 PM
8/12/2014 10:56:56 PM
8/11/2014 10:56:13 PM
8/11/2014 10:55:56 PM
8/11/2014 10:55:55 PM
8/10/2014 10:50:15 PM
8/10/2014 10:50:04 PM
8/10/2014 10:50:03 PM
8/10/2014 7:12:09 AM
8/10/2014 7:11:52 AM
8/10/2014 7:11:51 AM
8/8/2014 10:57:00 PM
8/8/2014 10:56:44 PM
8/8/2014 10:56:43 PM
8/6/2014 9:47:26 PM
8/6/2014 9:47:03 PM
8/6/2014 9:47:02 PM
8/6/2014 10:48:33 AM



Любопытно нет? Интересно, для чего используется объект System Writer? Shadow Copy! Ой! В этом месяце я начал делать резервные копии Application Virtualware на основе VSS для этой виртуальной машины с помощью Veeam. Естественно, процесс резервного копирования начинается в 22:00, что объясняет частоту повторения, а не ошибку, просто возникающую в "случайное" время.

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

Код события 513, рекомендуемый ссылкой TechNet. Разрешение указывает на то, что проблема с разрешением NTFS может быть ошибочной, однако C:\Windows\Registration Папка регистрации COM+ имеет соответствующие разрешения.

Идеи?

1 ответ

Mathias R. Jessen указал мне правильное направление, на всю известную папку WinSxS. Однако я не увидел ни одной ошибки VSS в журнале событий, что сделало меня немного нерешительным, чтобы просто уничтожить все разрешения NTFS, чтобы я не сломал что-то еще.

Урок 1: Читать

Я вернулся и прочитал Event ID 513 TechNet reference и снова заметил, что в разделе Verify было рекомендовано проверить, чтобы увидеть System Writer был доступен как VSS писатель с использованием vssadmin list writers и конечно же, это было НЕ. Извлеченный урок № 1: Прочитайте весь KB/TechNet/ Блог

Урок 2. Воспроизведение

Проделав немного больше исследований, я натолкнулся на объяснение пропавшего System Writer Case, которое, казалось, указывало на то, что проблема возникла в Cryptographic Services. Я обнаружил, что могу воспроизвести CAPI2 ошибка по желанию, остановив и запустив CryptSVC оказание услуг. Извлеченный урок № 2: Попытайтесь найти способ воспроизвести вашу ошибку по желанию.

Использование ProcMon

На данный момент я в значительной степени следовал инструкциям поста. Я нашел PID какого экземпляра svchost была упаковка CryptSVC используя диспетчер задач. Вы могли бы альтернативно заставить CryptSVC запускать как собственный процесс, используя sc config, если вы можете перезагрузить рассматриваемый сервер. В зависимости от того, насколько глубоко вы попали в ProcMon, стоит изолировать сервисы под одним PID, чтобы сократить количество событий, которые вы должны отсортировать.

Отсюда это возвращается к старому доброму ProcMon. Настройте фильтр, чтобы исключить все PID, которые не используются svchost процесс, который упаковывает CryptSVC:

ProcMon Исключить фильтр

Урок 3: Любовь ПроКМон

Я применил свой надежный фильтр первого прохода, который должен исключить все события, которые имеют результаты SUCCESS, Это уменьшило количество событий с 31 118 до 139, и в нижней части я нашел ACCESS DENIED событие, которое я искал, что неудивительно в WinSxS папка (C:\Windows\winsxs\FileMaps\$$.cdf-ms). Извлеченный урок № 3: Научитесь пользоваться и любить ProcMon

Доступ к ProcMon закрыт на C: \ Windows \ winsxs \ FileMaps \ $$.  CDF-мс

Урок 4. Проверка

Что теперь? KB2009272, который Матиас связал, имеет решение, но теперь я знаю почему. Извлеченный урок № 4: Не угадай, знай!

Урок 5. Начните с малого

Разрешение точно такое, как описано в KB2009272. Взять на себя ответственность и сбросить разрешения FileMaps папку, а затем перезапустите CryptSVC:

Takeown /f %windir%\winsxs\filemaps\* /a
icacls %windir%\winsxs\filemaps\*.* /grant "NT AUTHORITY\SYSTEM:(RX)"
icacls %windir%\winsxs\filemaps\*.* /grant "NT Service\trustedinstaller:(F)"
icacls %windir%\winsxs\filemaps\*.* /grant BUILTIN\Users:(RX)

net stop cryptsvc
net start cryptsvc



и... мы должны оторваться! System Writer теперь доступен как писатель VSS. Нет необходимости менять разрешения для PendingRename папка. Извлеченный урок № 5. Начните с самых мелких изменений и постарайтесь найти пути к изменениям, которые повлияют на большее.

C:\Users\administrator>vssadmin list writers
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2005 Microsoft Corp.

Writer name: 'System Writer'
   Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
   Writer Instance Id: {98c52075-429a-4487-8b77-e42b18767458}
   State: [1] Stable
   Last error: No error


Перезапуск CryptSVC по желанию больше не производится CAPI2 ошибка и после дня или двух мониторинга это выглядит решенным.

Другие вопросы по тегам