controleren Microsoft SQL Server is van cruciaal belang voor het identificeren van beveiligingsproblemen en inbreuken. Daarnaast is het controleren van SQL Server een vereiste voor naleving van regelgeving zoals PCI DSS en HIPAA.
de eerste stap is om te bepalen wat moet worden gecontroleerd. U kunt bijvoorbeeld gebruikerslogins, serverconfiguratie, schemawijzigingen en gegevenswijzigingen controleren. Vervolgens moet u kiezen welke beveiligingscontrolefuncties u wilt gebruiken. Handige functies zijn onder meer de volgende:
- C2 Auditing
- Common Compliance Criteria
- Login Auditing
- SQL Server Auditing
- SQL Trace
- Extended Events
- Change Data Capture
- DML, DDL, en Logon Triggers
dit artikel is voor databasebeheerders (DBA ‘ s) die kijken naar met behulp van C2 auditing, gemeenschappelijke compliance criteria en SQL server auditing. We zullen niet kijken naar een derde partij auditing tools, hoewel ze van grote hulp kunnen zijn, vooral voor grotere omgevingen en in gereguleerde industrieën.
C2-controle inschakelen en Common Criteria Compliance
Als u momenteel uw SQL-Server niet controleert, kunt u het gemakkelijkst beginnen door C2-controle in te schakelen. C2 auditing is een internationaal aanvaarde standaard die kan worden ingeschakeld in SQL Server. Het controleert gebeurtenissen zoals gebruiker logins, opgeslagen procedures, en het maken en verwijderen van objecten. Maar het is alles of niets — je kunt niet kiezen wat het controleert, en het kan veel gegevens genereren. Bovendien, C2 auditing is in onderhoud modus, dus het zal waarschijnlijk worden verwijderd in een toekomstige versie van SQL Server.
Common Criteria Compliance is een nieuwere standaard die C2 auditing vervangt. Het werd ontwikkeld door de Europese Unie en kan worden ingeschakeld in Enterprise en datacenter edities van SQL Server 2008 R2 en later. Maar het kan leiden tot problemen met de prestaties als uw server is niet voldoende spec ‘ D om te gaan met de extra overhead.
hier ziet u hoe C2 auditing in SQL Server kan worden ingeschakeld 2017:
1. Open de SQL Server Management Studio.
2. Maak verbinding met de databasemotor waarvoor u C2-controle wilt inschakelen. Controleer In het dialoogvenster Verbinding maken met Server of het servertype is ingesteld op Databasemotor en klik vervolgens op Verbinding maken.
3. Klik in het paneel Object Explorer links met de rechtermuisknop op uw SQL Server-exemplaar bovenaan en selecteer Eigenschappen in het menu.
4. Klik in het venster servereigenschappen op Beveiliging onder een pagina selecteren.
5. Op de pagina Beveiliging kunt u login monitoring configureren. Standaard worden alleen mislukte aanmeldingen geregistreerd. U kunt ook alleen succesvolle logins controleren, of zowel mislukte als succesvolle logins.
figuur 1. Toegangscontrole configureren
6. Vink aan C2-audittracering inschakelen onder Opties.
7. Als u controle van de naleving van C2-algemene Criteria wilt inschakelen, vinkt u het selectievakje naleving van algemene Criteria inschakelen aan.
Common Criteria (CC) Compliance is een flexibele norm die kan worden geïmplementeerd met verschillende Evaluation Assurance Levels (eal ‘ s), van 1 tot 7. Hogere EALs hebben een veeleisender verificatieproces. Wanneer u in SQL Server controleert of u voldoet aan algemene Criteria inschakelen, schakelt u CC Compliance EAL1 in. Het is mogelijk om SQL Server handmatig te configureren voor EAL4+.
als CC-naleving wordt ingeschakeld, verandert het gedrag van de SQL-Server. Machtigingen voor het weigeren van tabelniveau hebben bijvoorbeeld voorrang op subsidies op kolomniveau en zowel succesvolle als mislukte aanmeldingen worden gecontroleerd. Daarnaast is Rip (Residual Information Protection) ingeschakeld, waardoor geheugentoewijzingen met een patroon van bits worden overgeschreven voordat ze door een nieuwe bron worden gebruikt.
8. Klik op OK.
9. Op basis van de geselecteerde opties wordt u mogelijk gevraagd SQL Server opnieuw te starten. Als u dit bericht krijgt, klikt u op OK in het waarschuwingsvenster. Als u C2 Common Criteria Compliance hebt ingeschakeld, start u de server opnieuw op. Anders klikt u opnieuw met de rechtermuisknop op uw SQL Server-exemplaar in Object Explorer en selecteert u opnieuw opstarten in het menu. Klik in het waarschuwingsvenster op Ja om te bevestigen dat u SQL Server opnieuw wilt starten.
SQL Server-Audit inschakelen
SQL Server-auditing kan worden ingeschakeld in plaats van C2-auditing; u kunt er ook voor kiezen beide in te schakelen. SQL Server Audit-objecten kunnen worden geconfigureerd om gebeurtenissen op serverniveau of op databaseniveau van SQL Server te verzamelen.
Serverauditobject aanmaken
laten we een SQL Server-auditobject op serverniveau maken:
1. Vouw beveiliging uit in het paneel Objectverkenner aan de linkerkant.
2. Klik met de rechtermuisknop op Audits en selecteer nieuwe Audit… in het menu. Hiermee wordt een nieuw SQL Server-Auditobject gemaakt voor controle op serverniveau.
3. Geef in het venster Audit aanmaken de auditinstellingen een naam in de Auditnaam
4. Geef op wat er moet gebeuren als de controle van SQL Server mislukt met behulp van de fout in het controlelogboek kunt u kiezen voor Doorgaan of ervoor kiezen om de server af te sluiten of databasebewerkingen die worden gecontroleerd te stoppen. Als u Failbewerking selecteert, blijven databasebewerkingen die niet worden gecontroleerd, werken.
op serverniveau aanmaken Figuur 2. Een SQL Server audit object
op serverniveau aanmaken 5. In het vervolgkeuzemenu Bestemming controleren kunt u ervoor kiezen het sql-audittrail naar een bestand te schrijven of gebeurtenissen te controleren in het Windows-beveiligingslogboek of het gebeurtenislogboek van de toepassing. Als u een bestand kiest, moet u een pad voor het bestand opgeven.
merk op dat als u naar het Windows Security event log wilt schrijven, SQL Server toestemming moet krijgen. Voor de eenvoud selecteert u het gebeurtenislogboek van de toepassing. Daarnaast kunt u een filter toevoegen als onderdeel van het auditobject om een smalle reeks resultaten te bieden; filters moeten worden geschreven in Transact-SQL (T-SQL).
6. Klik op OK.
7. U vindt nu de nieuwe audit configuratie in Object Explorer hieronder Audits. Klik met de rechtermuisknop op de nieuwe auditconfiguratie en selecteer Audit inschakelen in het menu.
8. Klik op Sluiten in het dialoogvenster Audit inschakelen.
Databasecontroleobject aanmaken
om een SQL Server-auditobject aan te maken voor controle op databaseniveau, is het proces iets anders en MOET u eerst ten minste één auditobject op serverniveau aanmaken.
1. Vouw Databases uit in Object Explorer en vouw de database uit waarop u controle wilt configureren.
2. Vouw de Beveiligingsmap uit, klik met de rechtermuisknop op Databaseauditspecificaties en selecteer Nieuwe Databaseauditspecificatie… in het menu.
Figuur 3. Een serverauditspecificatie aanmaken voor controle op databaseniveau
3. In het venster Eigenschappen onder Acties kunt u in de vervolgkeuzemenu ‘ s een of meer typen auditacties configureren, de statements selecteren die u wilt controleren (zoals verwijderen of invoegen), de objectklasse waarop de actie wordt uitgevoerd, enzovoort.
4. Als u klaar bent, klikt u op OK en schakelt u het controleobject in door er met de rechtermuisknop op te klikken en Databasecontrolespecificatie Inschakelen te selecteren.
het bekijken van SQL Server Audit Logs
C2 Audit SQL Server audit logs worden opgeslagen in de standaard data directory van het SQL Server exemplaar. Elk logbestand kan maximaal 200 megabyte zijn. Een nieuw bestand wordt automatisch aangemaakt wanneer de limiet is bereikt.
een native oplossing die wordt aanbevolen om SQL Server audit logs te bekijken, genaamd Log File Viewer. Voer de volgende stappen uit om het te gebruiken:
1. Vouw in SQL Server Management Studio in het paneel Object Explorer beveiliging uit en
2. Klik met de rechtermuisknop op het controleobject dat u wilt weergeven en selecteer auditlogboeken weergeven in het menu.
3. In de Log File Viewer worden de logboeken aan de rechterkant weergegeven. Ongeacht of de logboeken naar een bestand of naar het Windows-gebeurtenislogboek zijn geschreven, worden de logboeken weergegeven in Log File Viewer.
4. Bovenaan de Logboekviewer kunt u klikken op Filters om aan te passen welke logboekvermeldingen worden weergegeven. Bestandslogboeken van SQL Server worden opgeslagen in .sqlaudit formaat en zijn niet leesbaar, dus Log File Explorer kunt u klikken exporteren om logs op te slaan naar een komma gescheiden .logbestand formaat.
Figuur 4. Logboekregistratie van SQL Server controleren in de logbestand Viewer