Este important să aveți un mediu securizat, aplicând principiul celui mai mic privilegiu în serverele și bazele de date, dar acest lucru poate fi dificil de realizat în mediile mari, în care multe persoane au privilegii ridicate sau mai multe persoane au permisiuni de a efectua sarcini asupra datelor sau schemelor dvs. de date.

Ca măsură suplimentară, ar trebui implementat un jurnal de audit în aceste scenarii și să le revizuiți des.

SQL Server oferă funcționalitatea de a implementa jurnale de audit la nivel de server și bază de date. Începând cu SQL Server 2008, toate edițiile SQL Server acceptă audituri la nivel de server. Auditurile la nivelul bazelor de date sunt acceptate începând cu SQL Server 2016 (13.x) SP1. Înainte de aceasta, auditul la nivel de bază de date era limitat la edițiile Enterprise, Developer și Evaluation.

În această postare vă voi arăta cum să configurați și să vizualizați jurnalele de audit:

Implementarea jurnalului de audit

În securitate, mergeți la Audits și selectați New audit…

Specificați un nume pentru audit și selectați o destinație pentru audit (eu personal prefer o locație de fișier).
Selectați parametrii doriți și faceți clic pe OK.

Auditul este acum creat, pentru ca acesta să funcționeze trebuie doar să activați auditul.
NOTA: înainte de a face orice modificare în configurația auditului, va trebui să îl dezactivați mai întâi.

Implementați auditul la nivel de server

Am creat locația noastră de audit, acum vom trece la crearea acțiunilor pe care dorim să le auditam la nivel de server.

În folderul Security, localizați Server Audit Specifications, faceți clic dreapta și selectați New Server Audit Specification…

În fereastra următoare, specificați un nume pentru audit (puteți avea mai multe) și selectați auditul creat în pasul anterior.

Alegeți acțiunea sau acțiunile care vor fi auditate. Pentru a verifica ce este inclus pe fiecare acțiune, citiți aici din documentația Microsoft.

După ce ați terminat, faceți clic pe OK pentru a crea specificația de audit.
Pentru acest exemplu am inclus doar acțiunea DBCC pentru a fi auditată (așa cum vom vedea mai târziu în acest post)

Specificația de audit este creată și dezactivată, pentru a o face să funcționeze, activați-o așa cum se arată în imagine.

NOTA: înainte de a face orice modificare a specificației de audit, va trebui să o dezactivați mai întâi.

Implementarea auditului la nivel de bază de date

Procesul este relativ același pentru a crea o specificație de audit la nivel de bază de date, principala diferență este că opțiunea este localizată sub folderul Security (Securitate) pe fiecare bază de date.

Clic dreapta pe folderul Database Audit Specification (Specificație de audit al bazei de date) și apoi New Database Audit Specification (Specificație nouă de audit al bazei de date)…

Selectați numele auditului bazei de date și destinația auditului (aceeași creată în primul pas pentru acest exemplu).
O altă diferență esențială pentru Auditurile de baze de date este că trebuie să selectăm obiectul sau schema pe care dorim să o verificăm.
Selectați acțiunile de auditat (puteți vedea descrierea pentru fiecare dintre ele aici), apoi faceți clic pe Ok.

Pentru acest exemplu voi audita comanda SELECT peste o tabelă numită Course într-o bază de date School de exemplu.

După crearea specificației de audit, trebuie să o activați pentru a se executa.

NOTA: înainte de a face orice modificare a configurației de audit, va trebui să o dezactivați mai întâi.

Revizuiți jurnalele de audit

Având auditurile configurate și rulând este doar jumătate din muncă, nu va valora nimic dacă nu revizuiți proactiv jurnalele des.
Există 2 opțiuni pentru a revizui jurnalele, folosind SSMS și T-SQL

Pentru acest exemplu am executat câteva propoziții pentru a declanșa auditurile serverului și bazei de date configurate mai sus, astfel încât să putem vedea unele date.

SSMS

Pentru a verifica jurnalele de evenimente folosind Management Studio, trebuie doar să selectați auditul creat, să faceți clic dreapta pe el și să selectați opțiunea View Audit Logs

Jurnalul de audit se va afișa într-un tip de jurnal SQL Server, și puteți vedea câteva dintre exemplele pe care le-am declanșat

T-SQL

Pentru utilizarea acestei opțiuni, se folosește DMF sys.fn_get_audit_file, specificând locația fișierului, iar pentru numele fișierului folosiți *.sqlaudit pentru a include toate fișierele.

Aceasta este interogarea pe care o folosesc pentru acest exemplu:

SELECT event_time,action_id,statement,database_name,server_principal_name 
FROM sys.fn_get_audit_file ('C:\temp\TestAudit_*.sqlaudit',default,default);

Lovitura interogării arată astfel:

Am marcat cu galben acțiunile care au fost capturate în specificația bazei de date.

Cu aceste informații sunteți gata să vă configurați propriile audituri pentru serverele critice de misiune și să le revizuiți des, de asemenea, ați putea implementa o alertă sau o logică de raportare automată pentru a fi notificați în cazul unei activități suspecte.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.