Udostępnij za pośrednictwem


Understanding SQL Server Audit

Inspekcja wystąpienieSQL Server lub SQL Server bazy danych polega na śledzenie i rejestrowanie zdarzeń, które występują w systemie. Można użyć kilku metod inspekcji SQL Server, zgodnie z opisem w Auditing (Database Engine). Począwszy od SQL Server 2008 Enterprise, również można zdefiniować automatyczne inspekcji za pomocą SQL Server Inspekcja.

Istnieje kilka poziomów inspekcji SQL Server, w zależności od wymagań rząd lub standardów dla danej instalacji. SQL Server Inspekcji zawiera narzędzia i procesy, należy włączyć, przechowywania i wyświetlania wyników inspekcji na różnych obiektów serwera i bazy danych.

Można zarejestrować inspekcji akcja grup dla wystąpienie serwera, a grupy akcja inspekcji bazy danych lub bazy danych inspekcji operacji na bazie danych.zdarzenie inspekcji zostanie przeprowadzona za każdym razem, po napotkaniu występowaniu zdarzeń objętych akcja.

Składniki programu SQL Server inspekcji

An audit is the combination of several elements into a single pakiet for a specific group of server actions or database actions.Składniki SQL Server Łączenie inspekcji do wyprodukowania danych wyjściowych, który nazywa się inspekcji, podobnie jak w definicja raportu, w połączeniu z elementów graficznych i danych pozwala utworzyć raport.

SQL Server Inspekcja użycia Rozszerzone zdarzenia , aby pomóc w opracowaniu inspekcji.Aby uzyskać więcej informacji na temat rozszerzonego zdarzeń Zobacz Introducing SQL Server Extended Events.

Program SQL Server inspekcji

The SQL Server Audit object collects a single wystąpienie of server or database-poziom actions and groups of actions to monitor.Kontrola znajduje się na SQL Server poziom wystąpienie. Może istnieć wiele inspekcji na SQL Server wystąpienie.

Podczas definiowania inspekcji, można określić lokalizację dla danych wyjściowych wyniki.Jest to obiekt obiekt docelowy inspekcji.Inspekcja jest tworzony w wyłączone stanu, a nie automatycznie dokonywać inspekcji działania.Po włączeniu inspekcji docelowego inspekcji pobierać dane z inspekcji.

Specyfikacja inspekcji serwera

The Server Audit Specification object belongs to an audit.Można utworzyć jeden specyfikacją inspekcji serwera na inspekcji, ponieważ obie są tworzone w SQL Server Zakres wystąpień.

Specyfikacja inspekcji serwera gromadzone są wywoływane przez funkcję Extended zdarzenia wielu grup akcja poziom serwera.Możesz dołączyć Inspekcja grupy akcja specyfikację inspekcji serwera.Grupy akcja inspekcji są wstępnie zdefiniowane grupy akcja, które są niepodzielny zdarzenia występujące w Database Engine. Działania te są wysyłane do inspekcji, który rejestruje je w miejsce docelowe.

Grupy akcja inspekcji poziom serwera są opisane w temacie SQL Server Audit Action Groups and Actions.

Specyfikacja inspekcji bazy danych

The Database Audit Specification object also belongs to a SQL Server audit.Można utworzyć jeden specyfikacji inspekcji bazy danych na SQL Server Baza danych na inspekcji.

Specyfikacja bazy danych inspekcji zbiera inspekcji bazy danych poziom akcje wywoływane przez funkcję Extended zdarzenia.Można dodawać albo grupy akcja inspekcji i inspekcji zdarzeń do inspekcji Specyfikacja bazy danych. Inspekcja zdarzeń to niepodzielny akcje, które mogą podlegać inspekcji przez SQL Server aparat. Grupy akcja inspekcji są wstępnie zdefiniowane grupy akcja.Obie są SQL Server zakres bazy danych. Działania te są wysyłane do inspekcji, który rejestruje je w miejsce docelowe.Obiekty o zakresie serwera, takie jak widoki systemu, nie należy umieszczać w specyfikacji inspekcji użytkownika bazy danych.

Grupy akcja inspekcji poziom bazy danych i akcja inspekcji są opisane w temacie SQL Server Audit Action Groups and Actions.

Element zwracane typy

Wyniki inspekcji są wysyłane do miejsca docelowego, który może być plikiem zabezpieczeń systemu Windows zdarzenie dziennika lub aplikacji systemu Windows zdarzenie dziennika.(Zapisywanie w dzienniku zabezpieczeń nie jest dostępne w systemie Windows XP). Dzienniki musi być przeglądane i archiwizowane co pewien czas, aby upewnić się, że obiekt miejsce docelowe ma wystarczająco dużo miejsca do pisania dodatkowe rekordy.

Important noteImportant Note:

Każdy uwierzytelniony użytkownik może odczytywać i zapisywać aplikacji systemu Windows zdarzenie dziennika.W dzienniku zdarzeń aplikacji wymaga uprawnień niższy niż dziennika zdarzeń zabezpieczeń systemu Windows i jest mniej bezpieczne niż dziennika zdarzeń zabezpieczeń systemu Windows.

Zapisywanie do zabezpieczeń systemu Windows wymaga dziennika SQL Server konto, które mają zostać dodane do usługa Generowanie inspekcji zabezpieczeń zasad.Domyślnie system lokalny, Usługa lokalna i Usługa sieciowa są częścią tej zasady.To ustawienie można skonfigurować przy użyciu zabezpieczeń zasad przystawki (secpol.msc).Ponadto Inspekcja dostępu do obiektów zasad zabezpieczeń musi być włączona dla obu SUKCES and Błąd.To ustawienie można skonfigurować przy użyciu zabezpieczeń zasad przystawki (secpol.msc).In Windows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe).For more information about the steps to enable writing to the Windows Security log, see How to: Write Server Audit Events to the Security Log.Aby uzyskać więcej informacji na temat programu Auditpol.exe Zobacz artykuł bazy wiedza Microsoft wiedza Base 921469, Jak używać zasady grupy Aby skonfigurować inspekcję zabezpieczeń szczegółowe.Okna zdarzenie Dzienniki są globalne systemu operacyjnego.Aby uzyskać więcej informacji na temat dzienników zdarzeń systemu Windows Zobacz Omówienie programu Podgląd zdarzeń.Dokładniejsze uprawnienia dotyczące inspekcji, należy użyć miejsce docelowe plik binarny.

Podczas zapisywania do pliku informacji o inspekcji, aby zapobiec manipulacjom, można ograniczyć dostęp do lokalizacji pliku w następujący sposób:

  • The SQL Server usługa Account must have both Read and Write permission.

  • Inspekcja Administratorzy zazwyczaj wymagają uprawnienia Odczyt i zapis.To zakłada się, że administratorzy inspekcji są konta systemu Windows dla administracji inspekcji plików, takich jak: skopiować je do różnych akcji, tworzenie ich kopii, wysokości itd.

  • Czytelnicy inspekcji, które są autoryzowane do odczytu plików inspekcji muszą mieć Odczyt uprawnień.

Nawet wtedy, gdyDatabase Engine zapisuje w pliku innym użytkownikom systemu Windows może odczytać pliku inspekcji, jeśli mają odpowiednie uprawnienia. The Database Engine does not take an exclusive blokada that prevents read operations.

Ponieważ Database Engine można uzyskać dostępu do pliku, SQL Server można użyć logowania, do których mają uprawnienia CONTROL SERVER Database Engine Aby uzyskać dostęp do plików inspekcji. Aby zarejestrować każdy użytkownik, który odczytuje plik inspekcji, należy zdefiniować inspekcji na master.sys.fn_get_audit_file.To rekordy logowania z uprawnieniami CONTROL SERVER, które mają dostęp do pliku inspekcji za pośrednictwem SQL Server.

Jeśli administrator inspekcji kopiuje plik do innej lokalizacji (dla celów archiwizacji i tak dalej), należy zmniejszyć listy kontroli dostępu w nowej lokalizacji, do następujących uprawnień:

  • Inspekcja administrator — do odczytu / zapisu

  • Inspekcja Reader — Odczyt

Firma Microsoft zaleca, aby wygenerować raporty inspekcji z osobne wystąpienie SQL Server, takie jak wystąpienie SQL Server Express, do którego tylko administratorzy inspekcji lub czytelnicy inspekcji mają dostęp. Za pomocą osobne wystąpienie Database Engine w przypadku raportowania, mogą pomóc zapobiec nieautoryzowanym użytkownikom uzyskanie dostępu do rekordu inspekcji.

Możesz oferować dodatkowej ochrony przed nieautoryzowanym dostępem przez szyfrowanie folderu, w którym przechowywany jest plik inspekcji za pomocą szyfrowania dysków funkcją BitLocker systemu Windows lub systemu szyfrowania plików systemu Windows.

Aby uzyskać więcej informacji na temat rekordy inspekcji, które są zapisywane do miejsce docelowe zobacz SQL Server Audit Records.

Omówienie za pomocą programu SQL Server inspekcji

Można użyć SQL Server Management Studio lub Transact-SQL Aby zdefiniować inspekcji. Po inspekcji są tworzone i włączona, obiekt miejsce docelowe zostanie wyświetlony wpisów.

System Windows można znaleźć zdarzenie dzienników przy użyciu zdarzenie Podgląd narzędzie w systemie Windows.Dla plików miejsce docelowe, można użyć albo Przeglądarka plików dziennika in SQL Server Management Studio lub fn_get_audit_file funkcja do odczytu pliku docelowego.

Ogólny proces tworzenia i używania inspekcji jest w następujący sposób.

  1. Inspekcję należy utworzyć i zdefiniować miejsce docelowe.

  2. Utworzyć specyfikację inspekcji serwera lub specyfikacji inspekcji bazy danych, który jest mapowany do inspekcji.Włączenie inspekcji specyfikacji.

  3. Włączenie inspekcji.

  4. Przeczytaj zdarzenie inspekcji za pomocą systemu Windows Podgląd zdarzeń, Viewe pliku dziennikar lub funkcja fn_get_audit_file.

The Tematy opisy wykonywania określonych zadań dotyczące programu SQL Server inspekcji topic provides SQL Server Management Studio and Transact-SQL examples for using the auditing feature.

Uwagi

przypadek wystąpienia awarii podczas inicjacji inspekcji nie zostanie uruchomiona na serwerze.W takim przypadek można uruchomić serwera za pomocą –f opcja w wierszu polecenia.

Gdy do błędu inspekcji powoduje, że serwer do zamknięcia lub nie, aby uruchomić, ponieważ ON_FAILURE = zamknięcia systemu jest określony dla inspekcji, MSG_AUDIT_FORCED_SHUTDOWN zdarzenie będą zapisywane w dzienniku.Ponieważ zamknięcie systemu nastąpi w pierwszym potyczki tego ustawienia, zdarzenie zostaną zapisane tylko raz.To zdarzenie jest rejestrowane po komunikat o błędzie dla inspekcji, co powoduje zamknięcie systemu.Administrator mogą pomijać wywołanych inspekcji zamknięć systemu przez uruchomienie SQL Server za pomocą tryb pojedynczy użytkownik –m flagi.Po uruchomieniu w trybie pojedynczy użytkownik będzie obniżyć żadnych inspekcji w przypadku gdy ON_FAILURE = zamknięcia systemu jest określona w tej sesja, jak ON_FAILURE = Kontynuuj.Kiedy SQL Server Uruchomiono za pomocą –m Flaga, komunikat MSG_AUDIT_SHUTDOWN_BYPASSED zostaną zapisane do dziennik błędów.

Aby uzyskać więcej informacji na temat opcji uruchamiania usług Zobacz Using the SQL Server Service Startup Options.

Dołączanie bazy danych o Kontrola zdefiniowana

Dołączanie bazy danych, która zawiera specyfikację inspekcji i określa identyfikator GUID, który nie istnieje na serwerze może spowodować, że oddzielony Specyfikacja inspekcji.Ponieważ kontrola z identyfikatorem GUID pasujące nie istnieje na serwerze wystąpienie, są rejestrowane żadne zdarzenia inspekcji.Aby naprawić tę sytuację, należy użyć polecenia ALTER DATABASE inspekcji specyfikacji połączyć specyfikacji oddzielonych inspekcji istniejących inspekcji serwera.Lub użyj polecenia CREATE inspekcji serwera, aby utworzyć nowe inspekcji serwera o określonym identyfikatorze GUID.

Można dołączyć bazy danych, która zawiera specyfikację inspekcji zdefiniowanych go do innej wersji SQL Server który nie obsługuje SQL Server Inspekcja, takich jak SQL Server Express ale nie zostanie nagrany zdarzeń inspekcji.

Dublowanie bazy danych i inspekcja programu SQL Server

Inspekcja specyfikacji, bazy danych, która została zdefiniowana specyfikację inspekcji bazy danych i że zastosowań dublowanie bazy danych będzie zawierać bazę danych.Do poprawnego działania w wystąpieniu programu SQL dublowanego, należy skonfigurować następujące elementy:

  • serwer dublowany musi mieć inspekcji z tego samego identyfikatora GUID umożliwiające specyfikacji inspekcji bazy danych do zapisu rekordy inspekcji.This can be configured by using the command CREATE AUDIT WITH GUID=<GUID from source Server Audit>.

  • Dla celów pliku binarnego konto usługa serwer dublowany musi mieć odpowiednie uprawnienia do lokalizacji, w którym jest zapisywany dziennik inspekcji.

  • Dla celów w dzienniku zdarzeń systemu Windows zasady zabezpieczeń na komputerze, na którym znajduje się serwer dublowany musi umożliwiać dostęp do konta usługa do dziennika zdarzeń zabezpieczeń lub aplikacji.