Dela via


Skriva SQL Server-granskningshändelser till säkerhetsloggen

gäller för:SQL Server – endast Windows

I en hög säkerhetsmiljö är Windows-säkerhetsloggen lämplig plats för att skriva händelser som registrerar objektåtkomst. Andra granskningsplatser stöds men är mer föremål för manipulering.

Det finns tre viktiga krav för att skriva SQL Server-servergranskningar till Windows-säkerhetsloggen:

  • Åtkomstinställningen för granskningsobjekt måste konfigureras för att fånga händelserna. Granskningsprincipverktyget (auditpol.exe) visar olika underprinciper i granskningsobjektåtkomst kategori. För att tillåta att SQL Server granskar objektåtkomst, konfigurerar du den programgenererade inställningen .

  • Kontot som SQL Server-tjänsten körs under måste ha generera säkerhetsgranskningar behörighet att skriva till Windows-säkerhetsloggen. Som standard har LOCAL SERVICE- och NETWORK SERVICE-kontona den här behörigheten. Det här steget krävs inte om SQL Server körs under ett av dessa konton.

  • Ange fullständig behörighet för SQL Server-tjänstkontot till registergrenen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.

    Viktig

    Felaktig redigering av registret kan allvarligt skada systemet. Innan du gör ändringar i registret rekommenderar vi att du säkerhetskopierar alla värdefulla data på datorn.

Begränsningar och restriktioner

  • Lokala inställningar för säkerhetslogg kan skrivas över av en domänpolicy. I det här fallet kan domänprincipen skriva över underkategoriinställningen (auditpol /get /subcategory:"application generated"). SQL Server kan inte identifiera att de händelser som den försöker granska inte registreras.

  • Händelser kan gå förlorade om granskningsprincipen är felaktigt konfigurerad. Windows-granskningsprincipen kan påverka SQL Server-granskning om den är konfigurerad för att skriva till Windows-säkerhetsloggen. Normalt är Windows-säkerhetsloggen inställd på att skriva över de äldre händelserna. Detta bevarar de senaste händelserna. Men om Windows-säkerhetsloggen inte är inställd på att skriva över äldre händelser, så om säkerhetsloggen är full utfärdar systemet Windows-händelse 1104 (loggen är full). Då:

    • Inga ytterligare säkerhetshändelser registreras

    • SQL Server kan inte identifiera att systemet inte kan registrera händelserna i säkerhetsloggen, vilket resulterar i potentiell förlust av granskningshändelser

    • När boxadministratören har korrigerat säkerhetsloggen återgår loggningsbeteendet till det normala.

  • SQL Server-granskningsposter innehåller betydligt mer data än vanliga Windows-händelseloggposter. Dessutom kan SQL Server, beroende på konfigurationen av granskningsspecifikationen, generera tusentals granskningsposter på kort tid (tusentals per sekund). Under perioder med hög belastning kan detta leda till negativa villkor om granskningsposterna skrivs till antingen programloggen eller säkerhetsloggen.

    Dessa negativa tillstånd kan omfatta:

    • Snabb cykling av händelseloggen (händelser skrivs över mycket snabbt när loggfilen når sin storleksgräns)

    • Andra program eller tjänster som läser från Windows-händelseloggen kan påverkas negativt

    • Målhändelseloggen kan vara oanvändbar för administratörer på grund av att händelser skrivs över så snabbt

    Steg som administratörer kan vidta för att minimera dessa negativa tillstånd:

    1. Öka storleken på målloggen (4 GB är inte orimligt när granskningsspecifikationen är mycket detaljerad).

    2. Minska antalet händelser som granskas.

    3. Skicka granskningsposterna till en fil i stället för händelseloggarna.

Behörigheter

Du måste vara Windows-administratör för att kunna konfigurera de här inställningarna.

Konfigurera åtkomstinställningen för granskningsobjekt i Windows med hjälp av auditpol

  1. Öppna en kommandotolk med administratörsbehörighet.

    1. På menyn Starta går du till Kommandotolkenoch väljer sedan Kör som administratör.

    2. Om dialogrutan User Account Control öppnas väljer du Fortsätt.

  2. Kör följande instruktion för att aktivera granskning från SQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable
    
  3. Stäng kommandotolkens fönster.

Bevilja behörigheten generera säkerhetsgranskningar till ett konto med hjälp av secpol

  1. För alla Windows-operativsystem, välj Körpå menyn Start.

  2. Skriv secpol.msc och välj sedan OK. Om dialogrutan användaråtkomstkontroll visas väljer du Fortsätt.

  3. I verktyget Lokal säkerhetsprincip navigerar du till Säkerhetsinställningar > lokala principer > tilldelning av användarrättigheter.

  4. I resultatfönstret öppnar du Generera säkerhetsgranskningar.

  5. På fliken lokal säkerhetsinställning väljer du Lägg till användare eller grupp.

  6. I dialogrutan Välj användare, datorer eller grupper skriver du antingen namnet på användarkontot, till exempel domain1\user1 och väljer sedan OKeller väljer Avancerat och söker efter kontot.

  7. Välj OK.

  8. Stäng verktyget Säkerhetspolicy.

  9. Starta om SQL Server för att aktivera den här inställningen.

Konfigurera åtkomstinställningen för granskningsobjekt i Windows med hjälp av secpol

  1. Om operativsystemet är tidigare än Windows Vista eller Windows Server 2008 går du till menyn Starta och väljer Kör.

  2. Skriv secpol.msc och välj sedan OK. Om dialogrutan användaråtkomstkontroll visas väljer du Fortsätt.

  3. I verktyget Lokal säkerhetsprincip navigerar du till Säkerhetsinställningar > lokala principer > granskningsprincip.

  4. I resultatfönstret öppnar du Granskningsobjektåtkomst.

  5. På fliken Lokal säkerhetsinställning i området Granska dessa försök väljer du både Framgång och Misslyckande.

  6. Välj OK.

  7. Stäng verktyget Säkerhetspolicy.

Se även