SlideShare a Scribd company logo
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
Implementing Auditing in SQL Server
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
Implementing Auditing in SQL Server
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
Implementing Auditing in SQL Server
Capture DDL and most DML events 
Cons 
◦Can be expensive! 
◦Trigger fails-Transaction FAILS 
◦Can’t capture all events
Implementing Auditing in SQL Server
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

More Related Content

What's hot (20)

Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
Mauro Pagano
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
MongoDB
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
Ted Wennmark
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners Guide
Courtney Llamas
 
How to boost your datamanagement with Dremio ?
How to boost your datamanagement with Dremio ?How to boost your datamanagement with Dremio ?
How to boost your datamanagement with Dremio ?
Vincent Terrasi
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
Adhoura Academy
 
Building an Observability platform with ClickHouse
Building an Observability platform with ClickHouseBuilding an Observability platform with ClickHouse
Building an Observability platform with ClickHouse
Altinity Ltd
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
 
Windows logging cheat sheet
Windows logging cheat sheetWindows logging cheat sheet
Windows logging cheat sheet
Michael Gough
 
Introducing the eDB360 Tool
Introducing the eDB360 ToolIntroducing the eDB360 Tool
Introducing the eDB360 Tool
Carlos Sierra
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020
Moataz Kamel
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
Guy Harrison
 
Facebook Forensics Toolkit(FFT)
Facebook Forensics Toolkit(FFT)Facebook Forensics Toolkit(FFT)
Facebook Forensics Toolkit(FFT)
Shuvo Sarker
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
I Goo Lee
 
Building an effective Information Security Roadmap
Building an effective Information Security RoadmapBuilding an effective Information Security Roadmap
Building an effective Information Security Roadmap
Elliott Franklin
 
Teradata 13.10
Teradata 13.10Teradata 13.10
Teradata 13.10
Teradata
 
Data Warehouse Best Practices
Data Warehouse Best PracticesData Warehouse Best Practices
Data Warehouse Best Practices
Eduardo Castro
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
Mauro Pagano
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
MongoDB
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners Guide
Courtney Llamas
 
How to boost your datamanagement with Dremio ?
How to boost your datamanagement with Dremio ?How to boost your datamanagement with Dremio ?
How to boost your datamanagement with Dremio ?
Vincent Terrasi
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
Building an Observability platform with ClickHouse
Building an Observability platform with ClickHouseBuilding an Observability platform with ClickHouse
Building an Observability platform with ClickHouse
Altinity Ltd
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 TipsMySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
 
Windows logging cheat sheet
Windows logging cheat sheetWindows logging cheat sheet
Windows logging cheat sheet
Michael Gough
 
Introducing the eDB360 Tool
Introducing the eDB360 ToolIntroducing the eDB360 Tool
Introducing the eDB360 Tool
Carlos Sierra
 
Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020Secure coding presentation Oct 3 2020
Secure coding presentation Oct 3 2020
Moataz Kamel
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
Guy Harrison
 
Facebook Forensics Toolkit(FFT)
Facebook Forensics Toolkit(FFT)Facebook Forensics Toolkit(FFT)
Facebook Forensics Toolkit(FFT)
Shuvo Sarker
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
I Goo Lee
 
Building an effective Information Security Roadmap
Building an effective Information Security RoadmapBuilding an effective Information Security Roadmap
Building an effective Information Security Roadmap
Elliott Franklin
 
Teradata 13.10
Teradata 13.10Teradata 13.10
Teradata 13.10
Teradata
 
Data Warehouse Best Practices
Data Warehouse Best PracticesData Warehouse Best Practices
Data Warehouse Best Practices
Eduardo Castro
 

Similar to 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
Antonios Chatzipavlis
 
Sql database audit
Sql database auditSql database audit
Sql database audit
Sqlperfomance
 
Database Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab SinghDatabase Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab Singh
Rahul 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
Hostway|HOSTING
 
DB2 LUW Auditing
DB2 LUW AuditingDB2 LUW Auditing
DB2 LUW Auditing
DB2Locksmith
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
ukdpe
 
Under New Management
Under New ManagementUnder New Management
Under New Management
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
 
OER UNIT 5 Audit
OER UNIT  5 AuditOER UNIT  5 Audit
OER UNIT 5 Audit
Girija Muscut
 
Rock Solid SQL Server Management
Rock Solid SQL Server ManagementRock Solid SQL Server Management
Rock Solid SQL Server Management
Tony Bain
 
Chetan.Kumar-SQL_DBA 9115
Chetan.Kumar-SQL_DBA 9115Chetan.Kumar-SQL_DBA 9115
Chetan.Kumar-SQL_DBA 9115
CHETAN KUMAR KUMAR
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
Peter Gfader
 
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
xKinAnx
 
Sql server basics
Sql server basicsSql server basics
Sql server basics
Dilfaroz Khan
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASAuditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
EDB
 
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
Leon Rzhemovskiy
 
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.
Rolta
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
BAKOTECH
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
Marina Gryshko
 
Database Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab SinghDatabase Performance Tuning| Rahul Gulab Singh
Database Performance Tuning| Rahul Gulab Singh
Rahul 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
Hostway|HOSTING
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
ukdpe
 
Under New Management
Under New ManagementUnder New Management
Under New Management
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
 
Rock Solid SQL Server Management
Rock Solid SQL Server ManagementRock Solid SQL Server Management
Rock Solid SQL Server Management
Tony Bain
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
Peter Gfader
 
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
xKinAnx
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASAuditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
EDB
 
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
Leon Rzhemovskiy
 
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.
Rolta
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
BAKOTECH
 
Обзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change AuditorОбзор и практическое применение Dell Change Auditor
Обзор и практическое применение Dell Change Auditor
Marina Gryshko
 
Ad

Recently uploaded (20)

Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Trends Report: Artificial Intelligence (AI)
Trends Report: Artificial Intelligence (AI)Trends Report: Artificial Intelligence (AI)
Trends Report: Artificial Intelligence (AI)
Brian Ahier
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Extend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptxExtend-Microsoft365-with-Copilot-agents.pptx
Extend-Microsoft365-with-Copilot-agents.pptx
hoang971
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Compliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf textCompliance-as-a-Service document pdf text
Compliance-as-a-Service document pdf text
Earthling security
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Trends Report: Artificial Intelligence (AI)
Trends Report: Artificial Intelligence (AI)Trends Report: Artificial Intelligence (AI)
Trends Report: Artificial Intelligence (AI)
Brian Ahier
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Ad

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 [email protected] 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
  • 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
  • 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
  • 15. Capture DDL and most DML events Cons ◦Can be expensive! ◦Trigger fails-Transaction FAILS ◦Can’t capture all events
  • 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