Gravar eventos de auditoria do SQL Server no log de segurançaWrite SQL Server Audit Events to the Security Log

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

em um ambiente de alta segurança, o log de Segurança do Windows é o local apropriado para gravar eventos que registram o acesso a objetos.In a high security environment, the Windows Security log is the appropriate location to write events that record object access. Outros locais de auditoria têm suporte, mas estão mais sujeitos a falsificações.Other audit locations are supported but are more subject to tampering.

Há dois requisitos principais para gravar auditorias do servidor SQL ServerSQL Server no log de Segurança do Windows:There are two key requirements for writing SQL ServerSQL Server server audits to the Windows Security log:

  • É necessário configurar o acesso ao objeto de auditoria para capturar os eventos.The audit object access setting must be configured to capture the events. A ferramenta de política de auditoria (auditpol.exe) expõe uma variedade de configurações de subpolíticas na categoria acesso ao objeto de auditoria .The audit policy tool (auditpol.exe) exposes a variety of sub-policies settings in the audit object access category. Para permitir que o SQL ServerSQL Server audite o acesso a objetos, defina a configuração de aplicativo gerado .To allow SQL ServerSQL Server to audit object access, configure the application generated setting.
  • A conta que o serviço SQL ServerSQL Server está executando deve ter a permissão gerar auditorias de segurança para gravar no log de Segurança do Windows.The account that the SQL ServerSQL Server service is running under must have the generate security audits permission to write to the Windows Security log. Por padrão, as contas LOCAL SERVICE e NETWORK SERVICE têm essa permissão.By default, the LOCAL SERVICE and the NETWORK SERVICE accounts have this permission. Esta etapa não será necessária se o SQL ServerSQL Server estiver sendo executado em uma dessas contas.This step is not required if SQL ServerSQL Server is running under one of those accounts.
  • Fornecer permissão total para a SQL ServerSQL Server conta de serviço para o hive de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.Provide full permission for the SQL ServerSQL Server service account to the registry hive HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.

Importante

A edição incorreta do Registro pode danificar seriamente o sistema.Incorrectly editing the registry can severely damage your system. Antes de fazer alterações no Registro, é recomendável fazer backup dos dados importantes no computador.Before making changes to the registry, we recommend that you back up any valued data on the computer.

A política de auditoria do Windows poderá afetar a auditoria do SQL ServerSQL Server se estiver configurada para gravar no log de segurança do Windows, com a possibilidade de se perder eventos se a política de auditoria não estiver configurada corretamente.The Windows audit policy can affect SQL ServerSQL Server auditing if it is configured to write to the Windows Security log, with the potential of losing events if the audit policy is incorrectly configured. Normalmente, o log de segurança do Windows é definido para substituir os eventos mais antigos.Typically, the Windows Security log is set to overwrite the older events. Isso preserva os eventos mais recentes.This preserves the most recent events. No entanto, se o log de segurança do Windows não estiver definido para substituir eventos mais antigos, quando ele estiver cheio, o sistema emitirá o evento 1104 do Windows (O log está cheio).However, if the Windows Security log is not set to overwrite older events, then if the Security log is full, the system will issue Windows event 1104 (Log is full). Nesse momento:At that point:

  • Nenhum outro evento de segurança será registradoNo further security events will be recorded
  • SQL ServerSQL Server não conseguirá detectar que o sistema não pode registrar os eventos no log de segurança, o que resultará na possível perda de eventos de auditoriawill not be able to detect that the system is not able to record the events in the Security log, resulting in the potential loss of audit events
  • Depois que o administrador do computador corrigir o log de segurança, o comportamento de log voltará ao normal.After the box administrator fixes the Security log, the logging behavior will return to normal.

Antes de começarBefore You Begin

Limitações e restriçõesLimitations and Restrictions

Os administradores do computador com o SQL ServerSQL Server devem entender que as configurações locais do log de segurança podem ser substituídas por uma política de domínio.Administrators of the SQL ServerSQL Server computer should understand that local settings for the Security log can be overwritten by a domain policy. Nesse caso, a política de domínio poderá substituir a configuração de subcategoria (auditpol /get /subcategory:"application generated" ).In this case, the domain policy might overwrite the subcategory setting (auditpol /get /subcategory:"application generated"). Isso pode afetar a capacidade do SQL ServerSQL Server de registrar eventos em log, sem que haja uma maneira de detectar que os eventos que o SQL ServerSQL Server está tentando auditar não serão registrados.This can affect SQL ServerSQL Server ability to log events without having any way to detect that the events that SQL ServerSQL Server is trying to audit are not going to be recorded.

SegurançaSecurity

PermissõesPermissions

Você deve ser um administrador do Windows para definir essas configurações.You must be a Windows administrator to configure these settings.

Para definir a configuração de acesso ao objeto de auditoria no Windows usando auditpolTo configure the audit object access setting in Windows using auditpol

  1. Abra um prompt de comando com permissões administrativas.Open a command prompt with administrative permissions.

    1. No menu Iniciar , aponte para Todos os Programas, para Acessórios, clique com o botão direito do mouse no Prompt de Comandoe clique em Executar como administrador.On the Start menu, point to All Programs, point to Accessories, right-click Command Prompt, and then click Run as administrator.

    2. Se a caixa de diálogo Controle de Conta de Usuário for aberta, clique em Continuar.If the User Account Control dialog box opens, click Continue.

  2. Execute a instrução a seguir para habilitar a auditoria de SQL ServerSQL Server.Execute the following statement to enable auditing from SQL ServerSQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable  
    
  3. Feche a janela do prompt de comando.Close the command prompt window.

Para conceder a permissão gerar auditorias de segurança a uma conta usando secpolTo grant the generate security audits permission to an account using secpol

  1. Para qualquer sistema operacional Windows, no menu Iniciar , clique em Executar.For any Windows operating system, on the Start menu, click Run.

  2. Digite secpol.msc e clique em OK.Type secpol.msc and then click OK. Se a caixa de diálogo Controle de Acesso de Usuário aparecer, clique em Continuar.If the User Access Control dialog box appears, click Continue.

  3. Na ferramenta Política de Segurança Local, expanda Configurações de Segurança, Políticas Locaise clique em Atribuição de Direitos de Usuário.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click User Rights Assignment.

  4. No painel de resultados, clique duas vezes em Gerar auditoria de segurança.In the results pane, double-click Generate security audits.

  5. Na guia Configuração de Segurança Local , clique em Adicionar Usuário ou Grupo.On the Local Security Setting tab, click Add User or Group.

  6. Na caixa de diálogo Selecionar Usuários, Computadores ou Grupos , digite o nome da conta de usuário, como domain1\user1 e clique em OKou em Avançado e procure a conta.In the Select Users, Computers, or Groups dialog box, either type the name of the user account, such as domain1\user1 and then click OK, or click Advanced and search for the account.

  7. Clique em OK.Click OK.

  8. Feche a ferramenta Política de Segurança.Close the Security Policy tool.

  9. Reinicie SQL ServerSQL Server para habilitar essa configuração.Restart SQL ServerSQL Server to enable this setting.

Para definir a configuração de acesso ao objeto de auditoria no Windows usando secpolTo configure the audit object access setting in Windows using secpol

  1. Se o sistema operacional for anterior ao Windows VistaWindows Vista ou Windows Server 2008, no menu Iniciar , clique em Executar.If the operating system is earlier than Windows VistaWindows Vista or Windows Server 2008, on the Start menu, click Run.

  2. Digite secpol.msc e clique em OK.Type secpol.msc and then click OK. Se a caixa de diálogo Controle de Acesso de Usuário aparecer, clique em Continuar.If the User Access Control dialog box appears, click Continue.

  3. Na ferramenta Política de Segurança Local, expanda Configurações de segurança, Políticas Locaise clique em Política de Auditoria.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click Audit Policy.

  4. No painel de resultados, clique duas vezes em Auditar acesso ao objeto.In the results pane, double-click Audit object access.

  5. Na guia Configuração de Segurança Local , na área Fazer a auditoria dessas tentativas , selecione Êxito e Falha.On the Local Security Setting tab, in the Audit these attempts area, select both Success and Failure.

  6. Clique em OK.Click OK.

  7. Feche a ferramenta Política de Segurança.Close the Security Policy tool.

Consulte TambémSee Also

Auditoria do SQL Server (Mecanismo de Banco de Dados)SQL Server Audit (Database Engine)