On tärkeää, että ympäristö on turvallinen ja että palvelimissa ja tietokannoissa noudatetaan vähimpien oikeuksien periaatetta, mutta tätä voi olla vaikea saavuttaa suurissa ympäristöissä, joissa monilla henkilöillä on korkeammat oikeudet tai joissa useilla henkilöillä on oikeuksia suorittaa tietoja tai skeemaa koskevia tehtäviä.

Lisätoimenpiteenä näissä skenaarioissa olisi otettava käyttöön tarkistusloki ja tarkasteltava niitä usein.

SQL Server tarjoaa toiminnallisuuden, jonka avulla voidaan ottaa käyttöön tarkistuslokeja palvelimen ja tietokannan tasolla. SQL Server 2008:sta alkaen kaikki SQL Server -versiot tukevat palvelintason tarkastuksia. Tietokantatason tarkastuksia tuetaan SQL Server 2016 (13.x) SP1:stä alkaen. Sitä ennen tietokantatason auditointi oli rajoitettu Enterprise-, Developer- ja Evaluation-versioihin.

Tässä postauksessa näytän, miten audit-lokeja määritetään ja tarkastellaan:

Auditointilokin käyttöönotto

Vaihda Tietoturva-kohdassa kohtaan Auditoinnit ja valitse Uusi auditointi…

Valitse auditoinnille nimi ja valitse auditoinnin kohdepiste (itse suosin mieluiten tiedostosijaintia).
Valitse halutut parametrit ja napsauta OK.

Auditointi on nyt luotu, jotta se toimisi, ota auditointi vain käyttöön.
Huomautus: ennen kuin teet muutoksia auditointikonfiguraatioon, sinun on ensin poistettava se käytöstä.

Palvelintason auditoinnin käyttöönotto

Olemme luoneet auditointipaikkamme, nyt siirrymme luomaan toiminnot, jotka haluamme auditoida palvelintasolla.

Security-kansion alta etsitään palvelintason auditointimääritykset, napsautetaan hiiren kakkospainikkeella hiiren kakkospainiketta ja valitaan Uusi palvelintason auditointimääritys….

Seuraavassa ikkunassa määritä auditoinnille nimi (niitä voi olla useampia) ja valitse edellisessä vaiheessa luotu auditointi.

Valitse auditoitava toiminto tai toiminnot. Jos haluat tarkistaa, mitä kuhunkin toimintoon sisältyy, lue täältä Microsoftin dokumentaatiosta.

Kun olet valmis, napsauta OK luodaksesi tarkastusmäärittelyn.
Tässä esimerkissä olen sisällyttänyt vain DBCC-toiminnon tarkastettavaksi (kuten näemme myöhemmin tässä postauksessa)

Auditointi-määrittely luodaan myös pois päältä, jotta se toimisi, ota se käyttöön kuvan osoittamalla tavalla.

Huomautus: ennen kuin teet muutoksia audit-määritykseen, sinun on ensin poistettava se käytöstä.

Tietokantatason tarkastuksen käyttöönotto

Prosessi on suhteellisen sama tietokantatason tarkastusmäärittelyn luomiseksi, suurin ero on siinä, että vaihtoehto sijaitsee kunkin tietokannan Security-kansion alla.

Klikkaa oikealla tietokannan tarkastusmäärittelyn kansiota ja valitse New Database Audit Specification…

Valitse tietokantatason tarkastuksen nimi ja tarkastuskohde (sama, joka luotiin ensimmäisessä vaiheessa tässä esimerkissä).
Toinen keskeinen ero tietokantatarkastuksissa on se, että meidän on valittava kohde tai skeema, jonka haluamme tarkastaa.
Valitse tarkastettavat toiminnot (näet kunkin toiminnon kuvauksen täältä) ja napsauta sitten Ok.

Tässä esimerkissä tarkastan SELECT-komennon esimerkin School-tietokannassa olevan Course-nimisen taulun yli.

Valvontamäärityksen luomisen jälkeen sinun on otettava se käyttöön.

Huomautus: ennen kuin teet muutoksia valvontamääritykseen, sinun on ensin poistettava se käytöstä.

Auditointilokien tarkastelu

Auditointien määrittäminen ja suorittaminen on vain puolet työstä, se ei ole minkään arvoista, jos et tarkastele lokeja ennakoivasti usein.
Lokeja voi tarkastella kahdella tavalla, SSMS:llä ja T-SQL:llä

Tässä esimerkissä olen suorittanut joitakin lauseita, jotka käynnistävät edellä määritetyt palvelin- ja tietokanta-auditoinnit niin, että näemme joitain tietoja.

SSMS

Tapahtumalokien tarkastelemiseksi Management Studion avulla valitse vain luotu Audit, napsauta sitä hiiren kakkospainikkeella ja valitse View Audit Logs (Näytä Audit-lokit) -vaihtoehto

Auditointilokit näkyvät SQL Server -lokin lajityypissä, ja näet joitakin esimerkkejä, jotka olen käynnistänyt

T-SQL

Tämän vaihtoehdon käyttämiseen käytetään DMF sys.fn_get_audit_file, jossa määritetään tiedoston sijainti ja tiedoston nimeksi käytetään *.sqlaudit, jotta kaikki tiedostot saadaan mukaan.

Tämä on kysely, jota käytän tässä esimerkissä:

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

Kyselyn tuloste näyttää tältä:

Olen merkinnyt keltaisella ne toiminnot, jotka on kirjattu tietokantamäärittelyyn.

Tämän tiedon avulla voit lähteä konfiguroimaan omia auditointejasi Mission-kriittisille palvelimillesi ja tarkistamaan niitä usein, voit myös toteuttaa hälytys- tai automaattisen raportointilogiikan saadaksesi ilmoituksen epäilyttävästä toiminnasta.

Vastaa

Sähköpostiosoitettasi ei julkaista.