SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
David Dye
Introduction 
What is Auditing 
Overview of auditing options 
Introduction to SQL Audit 
SQL Audit Objects 
Implementing SQL Audit 
Audit
David Dye 
ddye@capecoral.net 
HTTP://WWW.SQLSAFETY.COM
Tracking and logging of events 
◦Security events 
◦DDL events 
◦DML events 
◦Data access events 
Often required by oversight or governance 
◦HIPPA 
◦SOX 
◦PCI
C2 Auditing 
Common Criteria Compliance 
SQL Trace 
DDL/DML Triggers 
SQL Audit
Introduced in SQL 2000 
Meets Department of Defense C2 security requirements 
Configured at the server level 
Audit logs are stored in the SQL folder structure 
Audit logs viewed through SQL Profiler or fn_trace_gettablefunction
ALL events are defined and non-configurable 
Instance wide auditing 
Logs can ONLY be stored in default instance data directory 
Rollover file size is non-configurable 
Inability to write to log file results in SQL shut down
Introduced in SQL 2005 
◦SQL 05 SP1 Evaluation Assurance Level 1 (EAL1) 
◦SQL 05 SP2/SQL 08 EAL4++ 
Does not include all C2 audit mode functionality 
Includes 
◦Residual Information Protection (RIP) 
◦The ability to view login statistics 
◦Column GRANT should not override table DENY
Requires Enterprise, Evaluation, or Developer edition 
Does not incorporate all C2 audit mode functionality 
Can degrade performance 
EAL4++ requires running additional scripts
Traces can be scripted or created through profiler 
Traces are highly configurable and can be selective 
Results saved to file or table 
Templates can be utilized
Can degrade performance 
Trace scope can not be efficiently limited to object (database) or action 
Programmatic limitations
Capture DDL and most DML events 
Cons 
◦Can be expensive! 
◦Trigger fails-Transaction FAILS 
◦Can’t capture all events
What is SQL Audit 
SQL Audit Background
Introduced in SQL 2008 
Provides the ability to audit server, database, and audit level events 
Internal to the SQL server 
Available in Enterprise, developer, and trial editions
Uses extended events 
Created through T-SQL, PowerShell or SSMS 
Audits can have the following scopes: 
◦Server level 
Include server operations, Logon, Logoff, etc. 
◦Database level 
Database action, DML, or DDL 
◦Audit level 
Alter, Create, Drop, etc. audits 
Audits can be synchronous or asynchronous and logged to 
◦File 
◦Windows application log 
◦Windows security log 
Full management, configuration, and administration available through .NET using SMO
Server Audit 
Server Level Audit Groups 
Database Level Audit Groups 
◦Database Level Audit Actions 
Audit Level Specification Groups
1.Created in the master database 
•First audit object to be created 
•Defines 
How the audit will be stored 
File 
Max file size (2mb is default and 2,147,483,647 TB is max) 
Max number of rollover files (unlimited is default) 
Reserved disk space (reserves the max. file space unless this is unlimited) 
Application log 
Security log 
Synchronous or asynchronous 
State of the SQL service on failure to maintain audit
1.References the server audit defining how audit data is stored 
•Created to record server level audit actions 
1.SUCCESSFUL_LOGIN_GROUP 
2.LOGOUT_GROUP 
3.FAILED_LOGIN_GROUP 
4.LOGIN_CHANGE_PASSWORD_GROUP 
5.APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 
6.SERVER_ROLE_MEMBER_CHANGE_GROUP 
7.DATABASE_ROLE_MEMBER_CHANGE_GROUP 
8.BACKUP_RESTORE_GROUP 
9.DBCC_GROUP 
10.SERVER_OPERATION_GROUP 
11.DATABASE_OPERATION_GROUP 
12.AUDIT_ CHANGE_GROUP 
13.SERVER_STATE_CHANGE_GROUP 
14.SERVER_OBJECT_CHANGE_GROUP 
15.SERVER_PRINCIPAL_CHANGE_GROUP 
16.DATABASE_CHANGE_GROUP 
17.DATABASE_OBJECT_CHANGE_GROUP 
18.DATABASE_PRINCIPAL_CHANGE_GROUP 
19.SCHEMA_OBJECT_CHANGE_GROUP 
20.SERVER_PRINCIPAL_IMPERSONATION_GROUP 
21.DATABASE_PRINCIPAL_IMPERSONATION_GROUP 
22.SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP 
23.DATABASE_OWNERSHIP_CHANGE_GROUP 
24.DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 
25.SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 
26.SERVER_PERMISSION_CHANGE_GROUP 
27.SERVER_OBJECT_PERMISSION_CHANGE_GROUP 
28.DATABASE_PERMISSION_CHANGE_GROUP 
29.DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 
30.SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 
31.DATABASE_OBJECT_ACCESS_GROUP 
32.SCHEMA_OBJECT_ACCESS_GROUP 
33.BROKER_LOGIN_GROUP 
34.DATABASE_MIRRORING_LOGIN_GROUP 
35.TRACE_CHANGE_GROUP
1.References the server audit defining how audit data is stored 
•Created to record database level audit actions 
1.DATABASE_ROLE_MEMBER_CHANGE_GROUP 
2.DATABASE_OPERATION_GROUP 
3.DATABASE_CHANGE_GROUP 
4.DATABASE_OBJECT_CHANGE_GROUP 
5.DATABASE_PRINCIPAL_CHANGE_GROUP 
6.SCHEMA_OBJECT_CHANGE_GROUP 
7.DATABASE_PRINCIPAL_IMPERSONATION_GROUP 
8.DATABASE_OWNERSHIP_CHANGE_GROUP 
9.DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 
10.SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 
11.DATABASE_PERMISSION_CHANGE_GROUP 
12.DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 
13.SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 
14.DATABASE_OBJECT_ACCESS_GROUP 
15.SCHEMA_OBJECT_ACCESS_GROUP
1.References the server audit defining how audit data is stored 
•Created to record database level actions 
1.SELECT 
2.UPDATE 
3.INSERT 
4.DELETE 
5.EXECUTE 
6.RECEIVE 
7.REFERENCES
1.References the server audit defining how audit data is stored 
•Created to record audit level action groups 
1.AUDIT_ CHANGE_GROUP 
•CREATE SERVER AUDIT 
•ALTER SERVER AUDIT 
•DROP SERVER AUDIT 
•CREATE SERVER AUDIT SPECIFICATION 
•ALTER SERVER AUDIT SPECIFICATION 
•DROP SERVER AUDIT SPECIFICATION 
•CREATE DATABASE AUDIT SPECIFICATION 
•ALTER DATABASE AUDIT SPECIFICATION 
•DROP DATABASE AUDIT SPECIFICATION
Creating Server Audit 
◦Demo Using SSMS 
Creating Audit Specification 
◦Demo Using SSMS 
Creating Server Specification 
◦Demo T-SQL 
Creating Database Specification 
◦Demo T-SQL 
Working with Audit Logs
1.Implementing a SQL audit begins with the server audit 
•Defines: 
•How audit is saved 
•Synchronous/Asynchronous 
•What happens on failure
1.Create server audit 
1.Using SSMS 
2.Write to application log 
3.Synchronous 
4.Stop sqlservice on failure
$dbServer= new-Object Microsoft.SqlServer.Management.Smo.Server("(local)") 
$dbAudit= New-Object Microsoft.SqlServer.Management.Smo.Audit($dbServer, "Test Audit") 
$dbAudit.DestinationType= [Microsoft.SqlServer.Management.Smo.AuditDestinationType]'File' 
$dbAudit.FilePath= "C:Audit" 
$dbAudit.Create() 
$dbAudit.Enable()
1.SQL audit specification is created at the server level 
•Audits all audit events 
•Utilizes a server audit
1.Create audit specification 
1.Using SSMS 
2.Using server audit 
3.All Audit_Changeevents
1.Implementing a SQL audit begins with the server audit 
•Defines: 
•What server audit will be used 
•The database level events to be audited
1.Create database audit specification 
1.Using T-SQL 
2.Using server audit 
3.SELECT and INSERT events on Person.Personby dbo 
4.SELECT events on HumanResources.Employeeby public

Weitere ähnliche Inhalte

Was ist angesagt?

Chapter07 Advanced File System Management
Chapter07      Advanced  File  System  ManagementChapter07      Advanced  File  System  Management
Chapter07 Advanced File System Management
Raja Waseem Akhtar
 

Was ist angesagt? (20)

UEFI presentation
UEFI presentationUEFI presentation
UEFI presentation
 
Virtualization.ppt
Virtualization.pptVirtualization.ppt
Virtualization.ppt
 
MeetBSD2014 Performance Analysis
MeetBSD2014 Performance AnalysisMeetBSD2014 Performance Analysis
MeetBSD2014 Performance Analysis
 
Virtualization Uses - Server Consolidation
Virtualization Uses - Server Consolidation Virtualization Uses - Server Consolidation
Virtualization Uses - Server Consolidation
 
11. operating-systems-part-1
11. operating-systems-part-111. operating-systems-part-1
11. operating-systems-part-1
 
Virtualization in Cloud Computing
Virtualization in Cloud ComputingVirtualization in Cloud Computing
Virtualization in Cloud Computing
 
Bottom half in linux kernel
Bottom half in linux kernelBottom half in linux kernel
Bottom half in linux kernel
 
Ndb cluster 80_ycsb_mem
Ndb cluster 80_ycsb_memNdb cluster 80_ycsb_mem
Ndb cluster 80_ycsb_mem
 
Toolchain
ToolchainToolchain
Toolchain
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Installation windows server 2019 standard
Installation windows server 2019 standardInstallation windows server 2019 standard
Installation windows server 2019 standard
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
Chapter07 Advanced File System Management
Chapter07      Advanced  File  System  ManagementChapter07      Advanced  File  System  Management
Chapter07 Advanced File System Management
 
I2C Drivers
I2C DriversI2C Drivers
I2C Drivers
 
Chapter 1 Presentation
Chapter 1 PresentationChapter 1 Presentation
Chapter 1 Presentation
 
WAF 101
WAF 101WAF 101
WAF 101
 
Linux security
Linux securityLinux security
Linux security
 
ITN_Module_2.pptx
ITN_Module_2.pptxITN_Module_2.pptx
ITN_Module_2.pptx
 
[Question Paper] Linux Administration (75:25 Pattern) [November / 2014]
[Question Paper] Linux Administration (75:25 Pattern) [November / 2014][Question Paper] Linux Administration (75:25 Pattern) [November / 2014]
[Question Paper] Linux Administration (75:25 Pattern) [November / 2014]
 
Sql Injection - Vulnerability and Security
Sql Injection - Vulnerability and SecuritySql Injection - Vulnerability and Security
Sql Injection - Vulnerability and Security
 

Ähnlich wie Implementing Auditing in SQL Server

SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
ukdpe
 
Sql server-performance-hafi
Sql server-performance-hafiSql server-performance-hafi
Sql server-performance-hafi
zabi-babi
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
SpanishPASSVC
 

Ähnlich wie Implementing Auditing in SQL Server (20)

Auditing Data Access in SQL Server
Auditing Data Access in SQL ServerAuditing Data Access in SQL Server
Auditing Data Access in SQL Server
 
Database Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab SinghDatabase Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab Singh
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
DB2 LUW Auditing
DB2 LUW AuditingDB2 LUW Auditing
DB2 LUW Auditing
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
 
Under New Management
Under New ManagementUnder New Management
Under New Management
 
Sql server-performance-hafi
Sql server-performance-hafiSql server-performance-hafi
Sql server-performance-hafi
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
 
OER UNIT 5 Audit
OER UNIT  5 AuditOER UNIT  5 Audit
OER UNIT 5 Audit
 
Rock Solid SQL Server Management
Rock Solid SQL Server ManagementRock Solid SQL Server Management
Rock Solid SQL Server Management
 
Chetan.Kumar-SQL_DBA 9115
Chetan.Kumar-SQL_DBA 9115Chetan.Kumar-SQL_DBA 9115
Chetan.Kumar-SQL_DBA 9115
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
 
Presentation database security audit vault & database firewall
Presentation   database security audit vault & database firewallPresentation   database security audit vault & database firewall
Presentation database security audit vault & database firewall
 
Sql server basics
Sql server basicsSql server basics
Sql server basics
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASAuditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
 
Oracle audit and reporting in one hour or less
Oracle audit and reporting in one hour or lessOracle audit and reporting in one hour or less
Oracle audit and reporting in one hour or less
 
Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
 
Vijaya_Lakshmi_Resume1
Vijaya_Lakshmi_Resume1Vijaya_Lakshmi_Resume1
Vijaya_Lakshmi_Resume1
 

Kürzlich hochgeladen

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Kürzlich hochgeladen (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 

Implementing Auditing in SQL Server

  • 2. Introduction What is Auditing Overview of auditing options Introduction to SQL Audit SQL Audit Objects Implementing SQL Audit Audit
  • 3. David Dye ddye@capecoral.net HTTP://WWW.SQLSAFETY.COM
  • 4. Tracking and logging of events ◦Security events ◦DDL events ◦DML events ◦Data access events Often required by oversight or governance ◦HIPPA ◦SOX ◦PCI
  • 5. C2 Auditing Common Criteria Compliance SQL Trace DDL/DML Triggers SQL Audit
  • 6. Introduced in SQL 2000 Meets Department of Defense C2 security requirements Configured at the server level Audit logs are stored in the SQL folder structure Audit logs viewed through SQL Profiler or fn_trace_gettablefunction
  • 7. ALL events are defined and non-configurable Instance wide auditing Logs can ONLY be stored in default instance data directory Rollover file size is non-configurable Inability to write to log file results in SQL shut down
  • 8.
  • 9. Introduced in SQL 2005 ◦SQL 05 SP1 Evaluation Assurance Level 1 (EAL1) ◦SQL 05 SP2/SQL 08 EAL4++ Does not include all C2 audit mode functionality Includes ◦Residual Information Protection (RIP) ◦The ability to view login statistics ◦Column GRANT should not override table DENY
  • 10. Requires Enterprise, Evaluation, or Developer edition Does not incorporate all C2 audit mode functionality Can degrade performance EAL4++ requires running additional scripts
  • 11.
  • 12. Traces can be scripted or created through profiler Traces are highly configurable and can be selective Results saved to file or table Templates can be utilized
  • 13. Can degrade performance Trace scope can not be efficiently limited to object (database) or action Programmatic limitations
  • 14.
  • 15. Capture DDL and most DML events Cons ◦Can be expensive! ◦Trigger fails-Transaction FAILS ◦Can’t capture all events
  • 16.
  • 17. What is SQL Audit SQL Audit Background
  • 18. Introduced in SQL 2008 Provides the ability to audit server, database, and audit level events Internal to the SQL server Available in Enterprise, developer, and trial editions
  • 19. Uses extended events Created through T-SQL, PowerShell or SSMS Audits can have the following scopes: ◦Server level Include server operations, Logon, Logoff, etc. ◦Database level Database action, DML, or DDL ◦Audit level Alter, Create, Drop, etc. audits Audits can be synchronous or asynchronous and logged to ◦File ◦Windows application log ◦Windows security log Full management, configuration, and administration available through .NET using SMO
  • 20. Server Audit Server Level Audit Groups Database Level Audit Groups ◦Database Level Audit Actions Audit Level Specification Groups
  • 21. 1.Created in the master database •First audit object to be created •Defines How the audit will be stored File Max file size (2mb is default and 2,147,483,647 TB is max) Max number of rollover files (unlimited is default) Reserved disk space (reserves the max. file space unless this is unlimited) Application log Security log Synchronous or asynchronous State of the SQL service on failure to maintain audit
  • 22. 1.References the server audit defining how audit data is stored •Created to record server level audit actions 1.SUCCESSFUL_LOGIN_GROUP 2.LOGOUT_GROUP 3.FAILED_LOGIN_GROUP 4.LOGIN_CHANGE_PASSWORD_GROUP 5.APPLICATION_ROLE_CHANGE_PASSWORD_GROUP 6.SERVER_ROLE_MEMBER_CHANGE_GROUP 7.DATABASE_ROLE_MEMBER_CHANGE_GROUP 8.BACKUP_RESTORE_GROUP 9.DBCC_GROUP 10.SERVER_OPERATION_GROUP 11.DATABASE_OPERATION_GROUP 12.AUDIT_ CHANGE_GROUP 13.SERVER_STATE_CHANGE_GROUP 14.SERVER_OBJECT_CHANGE_GROUP 15.SERVER_PRINCIPAL_CHANGE_GROUP 16.DATABASE_CHANGE_GROUP 17.DATABASE_OBJECT_CHANGE_GROUP 18.DATABASE_PRINCIPAL_CHANGE_GROUP 19.SCHEMA_OBJECT_CHANGE_GROUP 20.SERVER_PRINCIPAL_IMPERSONATION_GROUP 21.DATABASE_PRINCIPAL_IMPERSONATION_GROUP 22.SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP 23.DATABASE_OWNERSHIP_CHANGE_GROUP 24.DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 25.SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 26.SERVER_PERMISSION_CHANGE_GROUP 27.SERVER_OBJECT_PERMISSION_CHANGE_GROUP 28.DATABASE_PERMISSION_CHANGE_GROUP 29.DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 30.SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 31.DATABASE_OBJECT_ACCESS_GROUP 32.SCHEMA_OBJECT_ACCESS_GROUP 33.BROKER_LOGIN_GROUP 34.DATABASE_MIRRORING_LOGIN_GROUP 35.TRACE_CHANGE_GROUP
  • 23. 1.References the server audit defining how audit data is stored •Created to record database level audit actions 1.DATABASE_ROLE_MEMBER_CHANGE_GROUP 2.DATABASE_OPERATION_GROUP 3.DATABASE_CHANGE_GROUP 4.DATABASE_OBJECT_CHANGE_GROUP 5.DATABASE_PRINCIPAL_CHANGE_GROUP 6.SCHEMA_OBJECT_CHANGE_GROUP 7.DATABASE_PRINCIPAL_IMPERSONATION_GROUP 8.DATABASE_OWNERSHIP_CHANGE_GROUP 9.DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP 10.SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP 11.DATABASE_PERMISSION_CHANGE_GROUP 12.DATABASE_OBJECT_PERMISSION_CHANGE_GROUP 13.SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP 14.DATABASE_OBJECT_ACCESS_GROUP 15.SCHEMA_OBJECT_ACCESS_GROUP
  • 24. 1.References the server audit defining how audit data is stored •Created to record database level actions 1.SELECT 2.UPDATE 3.INSERT 4.DELETE 5.EXECUTE 6.RECEIVE 7.REFERENCES
  • 25. 1.References the server audit defining how audit data is stored •Created to record audit level action groups 1.AUDIT_ CHANGE_GROUP •CREATE SERVER AUDIT •ALTER SERVER AUDIT •DROP SERVER AUDIT •CREATE SERVER AUDIT SPECIFICATION •ALTER SERVER AUDIT SPECIFICATION •DROP SERVER AUDIT SPECIFICATION •CREATE DATABASE AUDIT SPECIFICATION •ALTER DATABASE AUDIT SPECIFICATION •DROP DATABASE AUDIT SPECIFICATION
  • 26. Creating Server Audit ◦Demo Using SSMS Creating Audit Specification ◦Demo Using SSMS Creating Server Specification ◦Demo T-SQL Creating Database Specification ◦Demo T-SQL Working with Audit Logs
  • 27. 1.Implementing a SQL audit begins with the server audit •Defines: •How audit is saved •Synchronous/Asynchronous •What happens on failure
  • 28. 1.Create server audit 1.Using SSMS 2.Write to application log 3.Synchronous 4.Stop sqlservice on failure
  • 29. $dbServer= new-Object Microsoft.SqlServer.Management.Smo.Server("(local)") $dbAudit= New-Object Microsoft.SqlServer.Management.Smo.Audit($dbServer, "Test Audit") $dbAudit.DestinationType= [Microsoft.SqlServer.Management.Smo.AuditDestinationType]'File' $dbAudit.FilePath= "C:Audit" $dbAudit.Create() $dbAudit.Enable()
  • 30. 1.SQL audit specification is created at the server level •Audits all audit events •Utilizes a server audit
  • 31. 1.Create audit specification 1.Using SSMS 2.Using server audit 3.All Audit_Changeevents
  • 32. 1.Implementing a SQL audit begins with the server audit •Defines: •What server audit will be used •The database level events to be audited
  • 33. 1.Create database audit specification 1.Using T-SQL 2.Using server audit 3.SELECT and INSERT events on Person.Personby dbo 4.SELECT events on HumanResources.Employeeby public