Nejnovější verze SQL Serveru přinesla i nové prostředky pro zajištění bezpečnostního auditu. Nastavení sledování přístupu k datům, či serverovým objektům je otázka chvilky. V první části miniseriálu si ukážeme, jak vytvořit nový audit a jaké jsou jeho možnosti.

Objekt server auditu specifikuje kam a jak se budou zapisovat auditní záznamy. Samotný server audit neříká nic o událostech, které se budou zaznamenávat. Od toho jsou objekty Server Audit Specification a Database Audit specification, o kterých se zmíním v dalších částech.

Volby při vytváření auditu

Cíl auditních záznamů:

  • APPLICATION_LOG - Windows Application log
  • SECURITY_LOG - Windows Security log
  • FILE - Binární soubor. Při použití logování do souboru, je třeba uvést další parametry:
    • FILEPATH - Cesta k cílovému adresái pro uložení auditních záznamů
    • MAXSIZE - Maximální velikost auditního logu v MB, GB nebo TB. Druhá možnost je volba UNLIMITED. Minimální zadaná hodnota může být 2 MB a maximální 2.147.483.647 TB. Pokud není tento parametr uveden, je použita možnost UNLIMITED.
    • MAX_ROLLOVER_FILES - Maximální počet souborů pro auditní záznamy. Maximální zadaná hodnota je stanovena na 2.147.483.647. Také zde je možné použít volbu UNLIMITED, která je rovněž použita, pokud není tento parametr uveden. Dosáhne-li vytvořený počet souborů maxima, je automaticky smazán soubor s nejstarším datem.
    • RESERVE_DISK_SPACE - Nastavení, zda se má prostor na disku, potřebný pro auditní záznamy, alokovat předem. Volby jsou ON a OFF, přičemž výchozí hodnota při neuvedení tohoto parametru je OFF. Tento parametr lze uvést pouze v případě, že předchozí parametry nejsou nastaveny na UNLIMITED

Nastavení auditu:

  • QUEUE_DELAY - Doba v milisekundách, do které se mají auditní záznamy zapsat do logu. Pokud je nastavena hodnota 0, jsou záznamy zapisovány synchronně s událostmi, které zápis vyvolaly. Výchozí hodnota je 1000, tedy jedna sekunda. Maximum lze nastavit na 2.147.483.647.
  • ON_FAILURE - Reakce na situaci, kdy nelze zapsat auditní záznamy do logu. Volby jsou CONTINUE, tedy pokračovat dále v činnosti, nebo SHUTDOWN, čili vypnutí dané instance serveru.

Vytvoření auditu

Pomocí SQL Server Management Studio
Možnost vytvořit nový audit najdeme v kontextové nabídce složky Audits ve složce Security na serverové úrovni. Podle našich požadavků vyplníme údaje, které jsou popsány výše.
Nový audit

Audit je po svém vytvoření neaktivní, je tedy potřeba jej povolit.
Povolení auditu

Stejného výsledku lze dosáhnout pomocí Transact-SQL

SQL:
USE master
GO

CREATE SERVER AUDIT [Audit-pokus]
TO FILE (
    FILEPATH = 'C:\weboveaplikace\',
    MAXSIZE = 10MB,
    MAX_ROLLOVER_FILES = 4
)
WITH (
    QUEUE_DELAY = 1000
)
GO

ALTER SERVER AUDIT [Audit-pokus]
WITH (STATE = ON);
GO

V druhé části miniseriálu se podíváme na zaznamenávání údajů o činnostech prováděných v rámci serveru.