Application \ CAPI2 Evento 513 - Serviços criptográficos falharam durante o processamento da chamada OnIdentity () no objeto System Writer

4

Um membro da equipe me informou que um dos nossos servidores MSSQL baseados no Windows Server 2008 (não 2008 R2) tinha começado a gerar erros de identificação de evento CAPI2 513 no log de eventos do aplicativo:

Application\CAPI2

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

Details:
AddCoreCsiFiles: BeginFileEnumeration() failed.

System Error: Access is denied.



Um pequeno PowerShell revela que o problema começou em 06/08/14 e parece ocorrer principalmente depois das 22:00, diariamente:

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



Curioso não? Gostaria de saber para que serve o objeto System Writer? Cópia de sombra ! Oh duh! Eu comecei a fazer backups de Application Aware baseados em VSS dessa máquina virtual usando a Veeam este mês. Naturalmente, o processo de backup começa às 22:00, o que explica a frequência repetida em vez do erro que ocorre apenas em horários "aleatórios".

Curiosamente, a Veeam não registrou isso como uma tentativa de backup com falha, o que me faz pensar se os Pontos de Restauração são realmente consistentes na transação. Independentemente disso, eu fiz uma pesquisa rápida através do Veeam Backup Logs e não encontrei nada obviamente errado, mas provavelmente vale a pena analisá-los mais de perto e confirmando que a recuperação desses Pontos de Restauração é consistente com a transação.

A referência do TechNet do ID 513 recomendada indica resolução um problema de permissão NTFS pode estar com defeito, no entanto, a pasta de registro C:\Windows\Registration COM + tem as permissões apropriadas.

Idéias?

    
por kce 19.08.2014 / 03:03

1 resposta

6

Mathias R. Jessen me apontou na direção certa, a sempre famosa pasta WinSxS. No entanto, eu não vi nenhum dos erros VSS no log de eventos que me fez um pouco hesitante apenas nuke todas as permissões NTFS para que eu não quebrar outra coisa.

Lição 1: ler

Voltei e li Referência do TechNet de ID de evento 513 novamente e notou que na seção Verify foi recomendado verificar se o System Writer estava disponível como gravador VSS usando vssadmin list writers e com certeza NÃO era. Lição aprendida # 1: leia todo o KB / TechNet / Blog

Lição 2: reproduzir

Pesquisando um pouco mais, deparei-me com Caso ausente do gravador do sistema explicado que parecia indicar que o problema estava sendo originado com Serviços de criptografia . Descobri que eu poderia reproduzir por CAPI2 erro à vontade parando e iniciando o serviço CryptSVC . Lição aprendida # 2: tente descobrir uma maneira de reproduzir seu erro à vontade.

Usando o ProcMon

Nesse ponto, eu praticamente segui o postar as instruções . Localizei o PID de qual instância de svchost estava agrupando CryptSVC usando Gerenciador de Tarefas . Você poderia alternativamente forçar o CryptSVC a ser executado como seu próprio processo usando sc config se você puder reinicializar o servidor em questão. Dependendo de quão profundo você entra no ProcMon, vale a pena isolar os serviços sob um único PID apenas para reduzir a quantidade de eventos que você precisa classificar.

A partir daqui, está de volta ao bom e velho ProcMon. Configure um filtro para excluir todos os PIDs que não são usados pelo processo svchost que está agrupando CryptSVC :

Lição3:LoveProcMon

Euapliqueimeufielfiltrodeprimeirapassagem,queéexcluirtodososeventosquepossuemosresultadosdeSUCCESS.Issoreduziuoseventosde31.118paraum139muitomaisgerenciávele,naparteinferior,encontreioeventoACCESSDENIEDqueestavaprocurando,nãosurpreendentementenapastaWinSxS(C:\Windows\winsxs\FileMaps\$$.cdf-ms).Liçãoaprendida#3:AprendaausareaamaroProcMon

Lição 4: verificar

Agora o que? KB2009272 que Mathias vinculado tem a solução, mas agora sei por que . Lição aprendida # 4: não adivinhe, saiba!

Lição 5: Comece pequeno

A resolução é exatamente como explicada em KB2009272 . Apropriar-se e redefinir as permissões da pasta FileMaps e, em seguida, reiniciar 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



e ... temos decolar! O System Writer está agora disponível como um gravador VSS. Não há necessidade de alterar as permissões para a pasta PendingRename . Lição aprendida # 5: comece com as pequenas alterações e trabalhe para mudanças que afetam mais coisas.

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


Reiniciar CryptSVC at não produzirá mais o erro CAPI2 e, após um dia ou dois de monitoramento, ele parece resolvido.

    
por 20.08.2014 / 20:29