Scrittura di eventi di controllo di SQL Server nel registro di sicurezzaWrite SQL Server Audit Events to the Security Log

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In un ambiente con sicurezza elevata il registro di sicurezza di Windows rappresenta la posizione appropriata per la scrittura di eventi che registrano l'accesso agli oggetti.In a high security environment, the Windows Security log is the appropriate location to write events that record object access. Sono supportati altre posizioni di controllo che tuttavia sono più soggette alla manomissione.Other audit locations are supported but are more subject to tampering.

La scrittura dei controlli del server SQL ServerSQL Server nel registro di sicurezza di Windows prevede due requisiti fondamentali:There are two key requirements for writing SQL ServerSQL Server server audits to the Windows Security log:

  • È necessario configurare l'impostazione di controllo dell'accesso agli oggetti per l'acquisizione degli eventi.The audit object access setting must be configured to capture the events. Lo strumento dei criteri di controllo (auditpol.exe) espone varie impostazioni di criteri secondari nella categoria controllo dell'accesso agli oggetti .The audit policy tool (auditpol.exe) exposes a variety of sub-policies settings in the audit object access category. Per consentire il controllo dell'accesso agli oggetti in SQL ServerSQL Server , configurare l'impostazione generata dall'applicazione .To allow SQL ServerSQL Server to audit object access, configure the application generated setting.
  • L'account in cui viene eseguito il servizio di SQL ServerSQL Server deve disporre dell'autorizzazione generazione controlli di sicurezza per scrivere nel registro di sicurezza di 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. Per impostazione predefinita, gli account LOCAL SERVICE e NETWORK SERVICE dispongono di questa autorizzazione.By default, the LOCAL SERVICE and the NETWORK SERVICE accounts have this permission. Questo passaggio non è obbligatorio se SQL ServerSQL Server viene eseguito in uno di questi account.This step is not required if SQL ServerSQL Server is running under one of those accounts.
  • Concedere l'autorizzazione completa per l'account del servizio SQL ServerSQL Serverall'hive del Registro di sistema 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

    Se il Registro di sistema viene modificato in modo non appropriato, il sistema potrebbe venire gravemente danneggiato.Incorrectly editing the registry can severely damage your system. Prima di modificare il Registro di sistema, è consigliabile eseguire il backup di tutti i dati importanti disponibili nel computer.Before making changes to the registry, we recommend that you back up any valued data on the computer.

I criteri di controllo di Windows possono influire sul controllo di SQL ServerSQL Server se sono configurati per scrivere nel registro di sicurezza di Windows. Se i criteri di controllo non sono configurati in modo corretto, potrebbe verificarsi la perdita di eventi.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. In genere il registro di sicurezza di Windows è impostato in modo che gli eventi meno recenti vengano sovrascrittiTypically, the Windows Security log is set to overwrite the older events. e vengano mantenuti quelli più recenti.This preserves the most recent events. Tuttavia, se il registro di sicurezza di Windows è impostato in modo diverso e il registro di sicurezza è pieno, verrà generato l'evento di Windows 1104 che indica che il registro è pieno.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). A questo punto si verificano le situazioni seguenti:At that point:

  • Non verranno registrati ulteriori eventi di sicurezzaNo further security events will be recorded
  • SQL ServerSQL Server non potrà rilevare che il sistema non è in grado di registrare gli eventi nel registro di sicurezza, causando una perdita potenziale di eventi di controllo will 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
  • Dopo che l'amministratore ha apportato correzioni al registro di sicurezza, il comportamento relativo alla registrazione tornerà normale.After the box administrator fixes the Security log, the logging behavior will return to normal.

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

Gli amministratori del computer in cui è in esecuzione SQL ServerSQL Server devono comprendere che le impostazioni locali relative al registro di sicurezza possono essere sovrascritte da criteri del dominio.Administrators of the SQL ServerSQL Server computer should understand that local settings for the Security log can be overwritten by a domain policy. In questo caso i criteri del dominio potrebbero sovrascrivere l'impostazione della sottocategoria (auditpol/get/subcategory:"application generated").In this case, the domain policy might overwrite the subcategory setting (auditpol /get /subcategory:"application generated"). Questa condizione può influire sulla possibilità di SQL ServerSQL Server di registrare eventi senza disporre di alcuna modalità per rilevare che gli eventi che SQL ServerSQL Server sta tentando di controllare non verranno registrati.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.

Sicurezza Security

Autorizzazioni Permissions

È necessario essere amministratore di Windows per configurare queste impostazioni.You must be a Windows administrator to configure these settings.

Per configurare l'impostazione di controllo dell'accesso agli oggetti in Windows mediante auditpol To configure the audit object access setting in Windows using auditpol

  1. Aprire un prompt dei comandi con autorizzazioni amministrative.Open a command prompt with administrative permissions.

    1. Nel menu Start scegliere Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi, quindi fare clic su Esegui come amministratore.On the Start menu, point to All Programs, point to Accessories, right-click Command Prompt, and then click Run as administrator.

    2. Se viene visualizzata la finestra di dialogo Controllo account utente , fare clic su Continua.If the User Account Control dialog box opens, click Continue.

  2. Eseguire l'istruzione seguente per abilitare il controllo da SQL ServerSQL Server.Execute the following statement to enable auditing from SQL ServerSQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable  
    
  3. Chiudere la finestra del prompt dei comandi.Close the command prompt window.

Per concedere l'autorizzazione di generazione dei controlli di sicurezza a un account mediante secpol To grant the generate security audits permission to an account using secpol

  1. Per qualsiasi sistema operativo Windows, scegliere Esegui dal menu Start.For any Windows operating system, on the Start menu, click Run.

  2. Digitare secpol.msc , quindi fare clic su OK.Type secpol.msc and then click OK. Se viene visualizzata la finestra di dialogo Controllo account utente , fare clic su Continua.If the User Access Control dialog box appears, click Continue.

  3. Nello strumento Criteri di sicurezza locale espandere Impostazioni di sicurezza, Criteri locali, quindi fare clic su Assegnazione diritti utente.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click User Rights Assignment.

  4. Nel riquadro dei risultati fare doppio clic su Generazione di controlli di sicurezza.In the results pane, double-click Generate security audits.

  5. Nella scheda Impostazioni di sicurezza locali fare clic su Aggiungi utente o gruppo.On the Local Security Setting tab, click Add User or Group.

  6. Nella finestra di dialogo Seleziona utenti, computer o gruppi digitare il nome dell'account utente, ad esempio dominio1\utente1 , quindi fare clic su OKoppure su Avanzate e cercare l'account.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. Fare clic su OK.Click OK.

  8. Chiudere lo strumento Criteri di sicurezza.Close the Security Policy tool.

  9. Riavviare SQL ServerSQL Server per abilitare questa impostazione.Restart SQL ServerSQL Server to enable this setting.

Per configurare l'impostazione di controllo dell'accesso agli oggetti in Windows mediante secpol To configure the audit object access setting in Windows using secpol

  1. Se si utilizza un sistema operativo precedente a Windows VistaWindows Vista o Windows Server 2008, scegliere Esegui dal menu Start.If the operating system is earlier than Windows VistaWindows Vista or Windows Server 2008, on the Start menu, click Run.

  2. Digitare secpol.msc , quindi fare clic su OK.Type secpol.msc and then click OK. Se viene visualizzata la finestra di dialogo Controllo account utente , fare clic su Continua.If the User Access Control dialog box appears, click Continue.

  3. Nello strumento Criteri di sicurezza locale espandere Impostazioni di sicurezza, Criteri locali, quindi fare clic su Criteri di controllo.In the Local Security Policy tool, expand Security Settings, expand Local Policies, and then click Audit Policy.

  4. Nel riquadro dei risultati fare doppio clic su Controlla accesso agli oggetti.In the results pane, double-click Audit object access.

  5. Nella scheda Impostazioni di sicurezza locali , nell'area Controlla i seguenti tentativi selezionare sia Esito positivo sia Esito negativo.On the Local Security Setting tab, in the Audit these attempts area, select both Success and Failure.

  6. Fare clic su OK.Click OK.

  7. Chiudere lo strumento Criteri di sicurezza.Close the Security Policy tool.

Vedere ancheSee Also

SQL Server Audit (Motore di database)SQL Server Audit (Database Engine)