Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Felügyelt Azure SQL-példány
Egy SQL Server adatbázismotor vagy egy önálló adatbázis példányának ellenőrzése magában foglalja az adatbázismotoron előforduló események nyomon követését és naplózását. Az SQL Server-naplózással kiszolgálói auditokat hozhat létre, amelyek kiszolgálószintű események kiszolgálói naplózási specifikációit és adatbázisszintű események adatbázis-naplózási specifikációit tartalmazhatják. A naplózott események írhatók az eseménynaplókba vagy a naplózási fájlokba.
Fontos
A felügyelt Azure SQL-példány esetében ez a T-SQL-funkció bizonyos viselkedésbeli változásokat tartalmaz. A T-SQL-viselkedés változásainak részleteiért tekintse meg az Azure SQL Felügyelt Példány és az SQL Server közötti T-SQL-eltéréseket .
Az SQL Server naplózásának több szintje is van a telepítés kormányzati vagy szabványkövetelményeitől függően. Az SQL Server Audit biztosítja azokat az eszközöket és folyamatokat, amelyeknek engedélyezniük, tárolniuk és megtekinteniük kell a különböző kiszolgáló- és adatbázis-objektumok naplózását.
A kiszolgáló audit műveletcsoportokat példányonként, valamint adatbázisonként adatbázis audit műveletcsoportokat vagy adatbázis audit műveleteket rögzíthet. A naplózási esemény minden alkalommal megtörténik, amikor a naplózható művelet megtörténik.
Az SQL Server összes kiadása támogatja a kiszolgálószintű naplózásokat. Az SQL Server 2016 (13.x) Service Pack 1 és újabb verzióiban minden kiadás támogatja az adatbázisszintű naplózást. Ezt megelőzően az adatbázisszintű naplózás az Enterprise, Developer és Evaluation kiadásokra korlátozódott. További információ: Az SQL Server 2016 kiadásai és támogatott funkciói.
Jegyzet
Ez a cikk az SQL Serverre vonatkozik. Az SQL Database esetében lásd az Azure SQL Database és az Azure Synapse Analytics naplózását.
SQL Server auditálási összetevők
Az audit a kiszolgálóműveletek vagy adatbázisműveletek egy adott csoportjához több elem egyetlen csomagban való kombinálása. Az SQL Server-naplózás összetevői kombinálva létrehoznak egy auditnak nevezett kimenetet, ahogyan egy jelentésdefiníció grafikus és adatelemekkel kombinálva létrehoz egy jelentést.
Az SQL Server audit bővített eseményeket használ az audit létrehozásához. A kiterjesztett eseményekről további információt a Bővített események áttekintése című témakörben talál.
SQL Server auditálása
Az SQL Server audit objektum egyetlen kiszolgáló- vagy adatbázisszintű műveletpéldányt és figyelendő műveletcsoportot gyűjt. Az ellenőrzés az SQL Server-példány szintű. SQL Server-példányonként több naplózást is végezhet.
Amikor meghatároz egy auditot, meg kell adnia az eredmények kimenetének helyét. Ez az ellenőrzési cél. Az auditálás letiltott állapotban jön létre, és nem auditál automatikusan semmilyen műveletet. A naplózás engedélyezése után az audit célállomása adatokat fogad az naplózásból.
Kiszolgálónaplózás specifikációja
A kiszolgáló naplózási specifikációja objektum egy audithoz tartozik. Naplózásonként egy kiszolgálói naplózási specifikációt is létrehozhat, mivel mindkettő az SQL Server-példány hatókörében jön létre.
A kiszolgáló naplózási specifikációja számos kiszolgálószintű műveletcsoportot gyűjt össze, amelyeket a Kiterjesztett események funkció emelt ki. A auditálási műveletcsoportokat is belefoglalhatja a kiszolgáló auditálási specifikációiba. A naplózási műveletcsoportok előre definiált csoportok, amelyek az adatbázismotorban bekövetkező atomi eseményeket tartalmaznak. Ezeket a műveleteket a rendszer elküldi az auditnak, amely rögzíti őket a célban.
A kiszolgálószintű naplózási műveletcsoportokat az SQL Server naplózási műveletcsoportjai és műveletei című cikk ismerteti.
Jegyzet
A teljesítménykorlátozások miatt nem naplózzuk a tempdb és az ideiglenes táblákat. Bár a kötegelt műveletcsoport ideiglenes táblákon rögzíti az utasításokat, előfordulhat, hogy nem megfelelően tölti ki az objektumneveket. A forrástábla azonban mindig naplózásra kerül, így biztosítva, hogy a forrástáblából az ideiglenes táblákba beszúrt összes beszúrás rögzítve legyen.
Adatbázis-naplózás specifikációja
Az Adatbázis-naplózás specifikációja objektum szintén SQL Server-naplózáshoz tartozik. Egy adatbázis-ellenőrzési specifikációt hozhat létre SQL Server adatbázisonként, ellenőrzésenként.
Az adatbázis-naplózási specifikáció összegyűjti a Kiterjesztett események funkció által létrehozott adatbázisszintű naplózási műveleteket. Naplóműveleti csoportokat vagy naplózási eseményeket is hozzáadhat egy adatbázis-naplózási specifikációhoz. naplózási események az SQL Server-motor által naplózható atomi műveletek. naplózási műveletcsoportok előre definiált műveletcsoportok. Mindkettő az SQL Server adatbázis-hatókörében található. Ezeket a műveleteket a rendszer elküldi az auditnak, amely rögzíti őket a célban. A felhasználói adatbázis naplózási specifikációjában ne szerepeltesse a kiszolgálói hatókörű objektumokat, például a rendszernézeteket.
Az adatbázisszintű naplózási műveletcsoportokat és a naplózási műveleteket az SQL Server naplózási műveletcsoportjai és műveletei című cikk ismerteti.
Cél
A rendszer elküldi az audit eredményeit egy célnak, amely lehet egy fájl, a Windows Biztonsági eseménynapló vagy a Windows Alkalmazás eseménynaplója. A naplókat rendszeres időközönként felül kell vizsgálni és archiválni, hogy a célnak elegendő hely legyen a rekordok írásához.
Fontos
Minden hitelesített felhasználó olvashat és írhat a Windows-alkalmazás eseménynaplójába. Az alkalmazás eseménynaplója alacsonyabb engedélyeket igényel, mint a Windows biztonsági eseménynaplója, és kevésbé biztonságos, mint a Windows biztonsági eseménynaplója.
A Windows biztonsági naplóba való íráshoz hozzá kell adni az SQL Server szolgáltatásfiókot a Biztonsági auditok létrehozása szabályzathoz. Alapértelmezés szerint a helyi rendszer, a helyi szolgáltatás és a hálózati szolgáltatás a szabályzat része. Ez a beállítás a biztonsági szabályzat beépülő modul (secpol.msc) használatával konfigurálható. Emellett engedélyezni kell a Naplózás objektumhoz való hozzáférés biztonsági szabályzatot mind a Sikeres, mind a Hibaesetében. Ez a beállítás a biztonsági szabályzat beépülő modul (secpol.msc) használatával konfigurálható. A Windows Vista vagy a Windows Server 2008 (és újabb) rendszerben a parancssorból létrehozott részletesebb alkalmazásszabályzatot a naplózási szabályzat program ()AuditPol.exe használatával állíthatja be. A Windows biztonsági naplóba való írás engedélyezésének lépéseiről további információt az SQL Server auditeseményeinek írása a biztonsági naplóba című témakörben talál. A Auditpol.exe programról további információt a Tudásbázis 921469 című cikkben talál, A csoportházirend használata a részletes biztonsági naplózásikonfigurálásához. A Windows eseménynaplói globálisak a Windows operációs rendszer számára. A Windows-eseménynaplókról további információt Eseménynapló áttekintésecímű témakörben talál. Ha pontosabb engedélyekre van szüksége az auditáláshoz, használja a bináris fájlcélt.
Ha naplóadatokat ment egy fájlba, a módosítás megakadályozása érdekében a következő módokon korlátozhatja a fájl helyéhez való hozzáférést:
Az SQL Server szolgáltatásfióknak olvasási és írási engedéllyel kell rendelkeznie.
Az audit rendszergazdáknak általában olvasási és írási engedélyre van szükségük. Ez feltételezi, hogy az auditálási rendszergazdák olyan Windows-fiókok, amelyek az audit fájlok kezelését végzik, például a következőkre: azok másolása különböző megosztásokra, biztonsági másolatok készítése stb.
A naplózási fájlok olvasására jogosult naplóolvasóknak olvasási engedéllyel kell rendelkezniük.
Ha az adatbázismotor egy fájlba ír, a többi Windows-felhasználó akkor is elolvashatja az auditfájlt, ha van engedélyük. Az adatbázismotor nem foglal le kizárólagos zárolást, amely megakadályozza az olvasási műveleteket.
Mivel az adatbázismotor hozzáfér a fájlhoz, az engedéllyel rendelkező CONTROL SERVER SQL Server-bejelentkezések az adatbázismotor használatával hozzáférhetnek a naplózási fájlokhoz. A felhasználók rögzítéséhez, akik az auditfájlt olvassák, állítson be egy auditot a master.sys.fn_get_audit_file-n. Ez rögzíti azokat a CONTROL SERVER jogosultsággal rendelkező bejelentkezéseket, amelyek az SQL Serveren keresztül fértek hozzá az ellenőrzési fájlhoz.
Ha egy naplózási rendszergazda más helyre másolja a fájlt (archiválás céljából stb.), az új helyen lévő hozzáférés-vezérlési listákat (ACL-eket) a következő engedélyekre kell csökkenteni:
- Felügyeleti rendszergazda – Olvasás/írás
- Ellenőrzési olvasó – Olvasás
Javasoljuk, hogy hozzon létre naplózási jelentéseket az SQL Server egy külön példányából, például az SQL Server Express egy példányából, amelyhez csak a naplózási rendszergazdák vagy a naplózási olvasók férhetnek hozzá. Ha az adatbázismotor egy külön példányát használja jelentéskészítésre, megakadályozhatja, hogy jogosulatlan felhasználók hozzáférjenek a naplózási rekordhoz.
A jogosulatlan hozzáférés elleni további védelmet a windows bitLocker meghajtótitkosítás vagy a Windows titkosítási fájlrendszer használatával a naplózási fájl tárolására szolgáló mappa titkosításával biztosíthatja.
A célnak írt naplózási rekordokról további információt SQL Server auditrekordjaicímű témakörben talál.
Az SQL Server-naplózás használatának áttekintése
Az SQL Server Management Studio vagy a Transact-SQL használatával definiálhat auditálást. Az audit létrehozása és engedélyezése után a célobjektum bejegyzéseket kap.
A Windows eseménynaplóit az Eseménynapló segédprogrammal olvashatja el a Windowsban. Fájlcélok esetén az SQL Server Management Studióban a Naplófájl-megjelenítő vagy a fn_get_audit_file függvénnyel olvashatja be a célfájlt.
Az auditálás létrehozásának és használatának általános folyamata a következő.
- Hozzon létre egy auditot, és határozza meg a célt.
- Hozzon létre egy kiszolgálónapló-specifikációt vagy adatbázis-naplózási specifikációt, amely megfelel az auditnak. Engedélyezze az ellenőrzési specifikációt.
- Engedélyezze az auditot.
- Olvassa el a naplózási eseményeket a Windows Eseménynapló, a Naplófájl-megjelenítő vagy a
fn_get_audit_filefüggvény használatával.
További információ: Kiszolgálói audit- és kiszolgálónapló-specifikáció létrehozása , valamint kiszolgálónaplózási és adatbázis-naplózási specifikáció létrehozása.
Megfontolások
Ha az auditálás kezdeményezése során hiba lép fel, a kiszolgáló nem indul el. Ebben az esetben a kiszolgáló a parancssorban található beállítással -f indítható el.
Ha egy naplózási hiba miatt a kiszolgáló leáll vagy nem indul el, mert ON_FAILURE = SHUTDOWN meg van adva a naplózáshoz, az MSG_AUDIT_FORCED_SHUTDOWN esemény a naplóba lesz írva. Mivel a leállítás a beállítás első találkozásnál történik, az esemény egyszer kerül rögzítésre. Ez az esemény az audit sikertelenségére vonatkozó üzenet után kerül rögzítésre, ami a leállítást okozza. A rendszergazda megkerülheti a naplózás által kiváltott leállításokat, ha az SQL Servert egyfelhasználós módban indítja el a -m jelölő használatával. Ha egyfelhasználós módban indul el, az adott munkamenetben bármelyik naplózást, ahol ON_FAILURE = SHUTDOWN van megadva, ON_FAILURE = CONTINUE-ként fogja visszaminősíteni. Amikor az SQL Servert a -m jelzővel kezdi, az MSG_AUDIT_SHUTDOWN_BYPASSED üzenet a hibanaplóba lesz írva.
A szolgáltatásindítási lehetőségekről további információt a Database Engine Service indítási beállításai között talál.
Adatbázis csatolása definiált auditálással
Ha olyan adatbázist csatol, amely naplózási specifikációval rendelkezik, és olyan GUID-t határoz meg, amely nem létezik a kiszolgálón, árva naplózási specifikációt eredményez. Mivel egy egyező GUID azonosítóval rendelkező naplózás nem létezik a kiszolgálópéldányon, a rendszer nem rögzít naplózási eseményeket. A helyzet megoldásához használja a ALTER DATABASE AUDIT SPECIFICATION parancsot az árva naplózási specifikáció csatlakoztatásához egy meglévő szerver audithoz. Vagy a CREATE SERVER AUDIT paranccsal hozzon létre egy új kiszolgáló auditot a megadott GUID azonosítóval.
Olyan adatbázist csatolhat az SQL Server egy másik kiadásához, amely rendelkezik a rajta meghatározott naplózási specifikációval, amely nem támogatja az SQL Server-naplózást, például az SQL Server Expresst, de nem rögzíti a naplózási eseményeket.
Adatbázis-tükrözés és SQL Server auditálás
Az adatbázis-naplózási specifikációval rendelkező és adatbázis-tükrözést használó adatbázisok tartalmazzák az adatbázis-naplózás specifikációját. A tükrözött SQL-példány megfelelő működéséhez a következő elemeket kell konfigurálni:
A tükrözési kiszolgálónak ugyanazzal a GUID azonosítóval kell rendelkeznie ahhoz, hogy az adatbázis-ellenőrzési specifikációja naplórekordokat írjon. Ez a parancs
CREATE AUDIT WITH GUID = <guid-from-source-server-audit>használatával konfigurálható.Bináris fájlok esetén a tükrözőkiszolgáló szolgáltatásfiókjának megfelelő engedélyekkel kell rendelkeznie ahhoz a helyhez, ahol az auditnaplót írják.
Windows-eseménynapló-célok esetén a tükrözési kiszolgálót futtató számítógépen a biztonsági szabályzatnak engedélyeznie kell a szolgáltatásfiókok hozzáférését a biztonsági vagy alkalmazásesemény-naplóhoz.
Rendszergazdák ellenőrzése
A sysadmin rögzített kiszolgálói szerepkör tagjai az egyes adatbázisok dbo felhasználójaként vannak azonosítva. A rendszergazdák műveleteinek naplózásához naplózhatja a dbo felhasználó műveleteit.
Auditok létrehozása és kezelése Transact-SQL
DDL-utasítások, dinamikus felügyeleti nézetek és függvények, valamint katalógusnézetek használatával implementálhatja az SQL Server auditálásának minden aspektusát.
Adatdefiníciós nyelvi utasítások
A következő DDL-utasítások használatával hozhat létre, módosíthat és elvethet naplózási specifikációkat:
| DDL-utasítások | Leírás |
|---|---|
| ENGEDÉLY VÁLTOZTATÁSA | Megváltoztatja egy védhető objektum tulajdonjogát. |
| ADATBÁZIS AUDIT SPECIFIKÁCIÓ MÓDOSÍTÁSA | Módosít egy adatbázis-naplózási specifikációs objektumot az SQL Server naplózási funkciójával. |
| ALTER SERVER AUDIT | Módosít egy kiszolgálónapló-objektumot az SQL Server naplózási funkciójával. |
| ALTER SERVER AUDIT SPECIFIKÁCIÓJA | Módosít egy kiszolgáló auditpecifikációs objektumát az SQL Server naplózási funkciójával. |
| ADATBÁZIS AUDITÁLÁSI SPECIFIKÁCIÓ LÉTREHOZÁSA | Létrehoz egy adatbázis-naplózási specifikációs objektumot az SQL Server naplózási funkciójával. |
| KISZOLGÁLÓI NAPLÓZÁS LÉTREHOZÁSA | Létrehoz egy kiszolgálónapló-objektumot az SQL Server Audit használatával. |
| KISZOLGÁLÓ AUDITÁLÁSI SPECIFIKÁCIÓ | Létrehoz egy kiszolgálói auditpecifikációs objektumot az SQL Server naplózási funkciójával. |
| TÖRÖLJE AZ ADATBÁZIS AUDIT SPECIFIKÁCIÓJÁT | Az SQL Server naplózási funkciójával töröl egy adatbázis-naplózási specifikációs objektumot. |
| DROP SERVER AUDIT | Egy audit-objektumot töröl az SQL Server Audit funkciójával. |
| SZERVER AUDIT SPECIFIKÁCIÓ ELTÁVOLÍTÁSA | A kiszolgáló audit specifikációs objektumának törlése az SQL Server audit funkcióval. |
Dinamikus nézetek és függvények
Az alábbi táblázat az SQL Server naplózásához használható dinamikus nézeteket és függvényeket sorolja fel.
| Dinamikus nézetek és függvények | Leírás |
|---|---|
| sys.dm_audit_actions | Egy sort ad vissza minden olyan auditművelethez, amely jelenthető az auditnaplóban, valamint minden audit műveletcsoporthoz, amely részeként konfigurálható az SQL Server Auditban. |
| sys.dm_server_audit_status | Az audit jelenlegi állapotáról nyújt tájékoztatást. |
| sys.dm_audit_class_type_map | Egy táblát ad vissza, amely a naplóban található class_type mezőt a sys.dm_audit_actions-ban található class_desc mezőhöz térképezi. |
| fn_get_audit_file | Egy kiszolgálói naplózás által létrehozott auditfájlból származó információkat ad vissza. |
Katalógusnézetek
Az alábbi táblázat az SQL Server naplózásához használható katalógusnézeteket sorolja fel.
| Katalógusnézetek | Leírás |
|---|---|
| sys.database_audit_specifications | Információt tartalmaz az SQL Server audit során a kiszolgálópéldányon található adatbázis-ellenőrzési specifikációkról. |
| sys.database_audit_specification_details | Információkat tartalmaz az adatbázis-naplózási specifikációkról az SQL Server-naplózásban egy kiszolgálópéldányon az összes adatbázis esetében. |
| sys.server_audits | Egy sor szerepel minden SQL Server-audithoz egy kiszolgálópéldányban. |
| sys.server_audit_specifications | A kiszolgálói naplózási specifikációkkal kapcsolatos információkat tartalmaz egy kiszolgálópéldány SQL Server-naplózásában. |
| sys.server_audit_specifications_details | A kiszolgálói naplózás specifikációjának részleteire (műveleteire) vonatkozó információkat tartalmaz egy kiszolgálópéldány SQL Server-naplózásában. |
| sys.server_fájl_ellenőrzések | A kiszolgálópéldányon futó SQL Server-naplózás fájlnaplózási típusával kapcsolatos kiterjesztett információkat tartalmaz. |
Engedélyek
Az SQL Server-naplózás minden funkciójának és parancsának egyedi engedélykövetelményei vannak.
Kiszolgálónapló vagy kiszolgálónapló-specifikáció létrehozásához, módosításához vagy elvetéséhez a kiszolgáló szerepköröknek szükségük van az engedélyre ALTER ANY SERVER AUDIT vagy CONTROL SERVER. Adatbázis-naplózási specifikáció létrehozásához, módosításához vagy elvetéséhez az adatbázis-tagoknak ALTER ANY DATABASE AUDIT engedélyre vagy a ALTER vagy CONTROL engedélyre van szükségük az adatbázison. Emellett a vezetőknek engedéllyel kell rendelkezniük az adatbázishoz való csatlakozáshoz, vagy ALTER ANY SERVER AUDIT vagy CONTROL SERVER engedéllyel.
Az VIEW ANY DEFINITION engedély hozzáférést biztosít a kiszolgálószintű naplózási nézetek megtekintéséhez, és VIEW DEFINITION hozzáférést biztosít az adatbázisszintű naplózási nézetek megtekintéséhez. Ezeknek az engedélyeknek a megtagadása felülbírálja a katalógusnézetek megtekintésének lehetőségét, még akkor is, ha a szerepkör rendelkezik az ALTER ANY SERVER AUDIT vagy ALTER ANY DATABASE AUDIT engedélyekkel.
További információ a jogosultságok és engedélyek megadásáról: GRANT.
Figyelem
A sysadmin szerepkörben lévő tagok bármilyen naplózási összetevőt módosíthatnak, a db_owner szerepkörben lévő tagok pedig módosíthatják az adatbázis naplózási specifikációit. Az SQL Server naplózása ellenőrzi, hogy egy naplózási specifikációt létrehozó vagy módosító bejelentkezés rendelkezik-e legalább engedéllyel ALTER ANY DATABASE AUDIT . Az adatbázis csatolásakor azonban nem végez ellenőrzést. Feltételezheti, hogy az adatbázis-naplózási specifikációk csak olyan megbízhatóak, mint a sysadmin vagy db_owner szerepkörben szereplő tagok.
Kapcsolódó tevékenységek
- Kiszolgálónaplózás és kiszolgálónaplózási specifikáció létrehozása
- Kiszolgálónaplózási és adatbázis-naplózási specifikáció létrehozása
- SQL Server auditnapló megtekintése
- SQL Server auditesemények írása a biztonsági naplóba
A könyvvizsgálathoz szorosan kapcsolódó cikkek
| Cikk | Leírás |
|---|---|
| Kiszolgáló tulajdonságai – Biztonsági oldal | Ez a cikk bemutatja, hogyan kapcsolhatja be a bejelentkezési naplózást az SQL Serverhez. A naplórekordok a Windows-alkalmazásnaplóban vannak tárolva. |
| Kiszolgálókonfiguráció: c2 naplózási mód | Az SQL Server C2 biztonsági megfelelőségi naplózási módjának ismertetése. |
| biztonsági ellenőrzési eseménykategória (SQL Server Profiler) | Az SQL Server Profilerben használható naplózási események ismertetése. További információ: SQL Server Profiler. |
| SQL nyomkövetés | Ismerteti, hogyan használható az SQL Trace a saját alkalmazásaiból nyomkövetések manuális létrehozására az SQL Server Profiler használata helyett. |
| DDL-es eseményindítók | Ebből a cikkből megtudhatja, hogyan használhatja a Data Definition Language (DDL) eseményindítóit az adatbázisok változásainak nyomon követésére. |
| Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Biztonság és védelem | up-to-date információkat tartalmaz az SQL Server biztonságáról. |