Scrivere gli eventi di controllo di SQL Server nel registro di sicurezza

Si applica a: SQL Server - solo Windows

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. Sono supportati altre posizioni di controllo che tuttavia sono più soggette alla manomissione.

La scrittura dei controlli del server SQL Server nel registro di sicurezza di Windows prevede tre requisiti fondamentali:

  • È necessario configurare l'impostazione di controllo dell'accesso agli oggetti per l'acquisizione degli eventi. Lo strumento dei criteri di controllo (auditpol.exe) espone varie impostazioni di criteri secondari nella categoria controllo dell'accesso agli oggetti. Per consentire il controllo dell'accesso agli oggetti in SQL Server, configura l'impostazione generata dall'applicazione.

  • L'account in cui viene eseguito il servizio SQL Server deve disporre dell'autorizzazione generazione controlli di sicurezza per scrivere nel registro di sicurezza di Windows. Per impostazione predefinita, gli account LOCAL SERVICE e NETWORK SERVICE dispongono di questa autorizzazione. Questo passaggio non è obbligatorio se SQL Server viene eseguito in uno di questi account.

  • Concedi l'autorizzazione completa per l'account del servizio SQL Server all'hive del registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.

    Importante

    È possibile che eventuali modifiche non corrette del Registro di sistema danneggino gravemente il sistema. Prima di modificare il Registro di sistema, è consigliabile eseguire il backup di tutti i dati importanti disponibili nel computer.

Limitazioni e restrizioni

  • Le impostazioni locali per il registro di sicurezza possono essere sovrascritte da un criterio di dominio. In questo caso, i criteri di dominio potrebbero sovrascrivere l'impostazione della sottocategoria (auditpol /get /subcategory:"application generated"). SQL Server non ha modo di rilevare che gli eventi che sta tentando di controllare non verranno registrati.

  • Gli eventi possono essere persi se i criteri di controllo non sono configurati correttamente. I criteri di controllo di Windows possono influire sul controllo di SQL Server se è configurato per scrivere nel registro di sicurezza di Windows. In genere il registro di sicurezza di Windows è impostato in modo che gli eventi meno recenti vengano sovrascritti e vengano mantenuti quelli più recenti. Tuttavia, se il registro di sicurezza di Windows è impostato in modo diverso e il registro di sicurezza è pieno, il sistema genera l'evento di Windows 1104 che indica che il registro è pieno. A questo punto:

    • Non verranno registrati ulteriori eventi di sicurezza

    • SQL 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

    • Dopo che l'amministratore ha apportato correzioni al registro di sicurezza, il comportamento relativo alla registrazione tornerà normale.

  • I record di controllo di SQL Server contengono più dati rispetto alle normali voci del registro eventi di Windows. Inoltre, a seconda della configurazione della specifica di controllo, SQL Server può generare molte migliaia di record di controllo in un breve periodo di tempo (migliaia al secondo). In periodi di carico elevato, questo può causare condizioni avverse se i record di controllo vengono scritti nel registro applicazioni o nel registro di sicurezza.

    Queste condizioni avverse possono includere:

    • Ciclo rapido del registro eventi (gli eventi vengono sovrascritti molto rapidamente quando il file di log raggiunge il limite di dimensioni)

    • Altre applicazioni o servizi che leggono dal registro eventi di Windows possono essere influenzati negativamente

    • Il registro eventi di destinazione potrebbe non essere utilizzabile dagli amministratori a causa di eventi sovrascritti in modo rapido

    Passaggi che gli amministratori possono eseguire per attenuare queste condizioni avverse:

    1. Aumentare le dimensioni del log di destinazione (4 GB non sono irragionevoli se la specifica di controllo è molto dettagliata).

    2. Ridurre il numero di eventi da controllare.

    3. Restituire i record di controllo in un file anziché nei registri eventi.

Autorizzazioni

È necessario essere amministratore di Windows per configurare queste impostazioni.

Configurare l'impostazione di controllo dell'accesso agli oggetti in Windows mediante auditpol

  1. Aprire un prompt dei comandi con autorizzazioni amministrative.

    1. Dal menu Start, vai al prompt dei comandi e quindi seleziona Esegui come amministratore.

    2. Se si apre la finestra di dialogo Controllo account utente, seleziona Continua.

  2. Esegui l'istruzione seguente per abilitare il controllo da SQL Server.

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

Concedi l'autorizzazione di generazione dei controlli di sicurezza a un account mediante secpol

  1. Per qualsiasi sistema operativo Windows, scegli Esegui dal menu Start.

  2. Digitare secpol.msc e selezionare OK. Se viene visualizzata la finestra di dialogo Controllo di accesso utente, fai clic su Continua.

  3. Nello strumento Criteri di sicurezza locali, apri Impostazioni di sicurezza >, Criteri locali > Assegnazione diritti utente.

  4. Nel riquadro dei risultati, apri Generazione di controlli di sicurezza.

  5. Nella scheda Impostazioni di sicurezza locali, seleziona Aggiungi utente o gruppo.

  6. Nella finestra di dialogo Seleziona utenti, computer o gruppi digita il nome dell'account utente, ad esempio dominio1\utente1, quindi fai clic su OK oppure seleziona Avanzate e cerca l'account.

  7. Seleziona OK.

  8. Chiudere lo strumento Criteri di sicurezza.

  9. Riavvia SQL Server per abilitare questa impostazione.

Configurare l'impostazione di controllo dell'accesso agli oggetti in Windows mediante secpol

  1. Se utilizzi un sistema operativo precedente a Windows Vista o Windows Server 2008, nel menu Start seleziona Esegui.

  2. Digitare secpol.msc e selezionare OK. Se viene visualizzata la finestra di dialogo Controllo di accesso utente, fai clic su Continua.

  3. Nello strumento Criteri di sicurezza locali, apri Impostazioni di sicurezza >, Criteri locali > Criteri di controllo.

  4. Nel riquadro dei risultati, apri Controlla accesso agli oggetti.

  5. Nella scheda Impostazioni di sicurezza locali , nell'area Controlla i seguenti tentativi selezionare sia Esito positivo sia Esito negativo.

  6. Seleziona OK.

  7. Chiudere lo strumento Criteri di sicurezza.

Vedi anche