Audit Database
Giảng viên: Trần Thị Kim Chi
1
Nội dùng
Giới thiệu về Audit Database Các hoạt động của Auditi Database Auditing Models Application Data Auditing Additing trong SQL Auditing trong Oracle
2
Giới thiệu Audit
Audit = Ai
giám sát(Audit): giám sát và ghi lại những hoạt động đã và đang xảy trong hệ thống một cách có chọn lọc. làm gì với dữ liệu nào khi nào và bằng cách nào (Who did what to which data when and how)
là giải
trình,
gọi
trình tắt trách nhiệm tìm ra và chứng minh
Trách nhiệm giải (Accountability): nguồn gốc các hoạt động xảy ra trong hệ thống.
trình
3
Hoạt động giám sát nhằm phục vụ cho hoạt động giải
Giới thiệu Audit Database
tài liệu, dữ liệu, quy trình, thủ tục, hệ thống
Audit/auditing: quá trình kiểm tra và xác nhận các
Nhật lý giám sát (Audit log): tài liệu có chứa tất cả các hoạt động đang được giám sát được sắp xếp theo thứ tự thời gian
4
Mục tiêu giám sát: thiết lập các quy tắc kinh doanh, điều khiển hệ thống, các quy định của chính phủ, hoặc các chính sách bảo mật
Giới thiệu Audit Database
Data audit: giám sát lịch sử những thay đổi dữ liệu được lưu trữ trong tập tin nhật ký hoặc các bảng (table) của cơ sở dữ liệu.
động cơ sở dữ liệu
Database auditing: giám sát lịch sử của các hoạt
Internal auditing: kiểm tra các hoạt động được thực hiện bởi các nhân viên của tổ chức giám sát bên trong hệ thống
5
External auditing: : kiểm tra các hoạt động được thực hiện bởi các nhân viên của tổ chức giám sát bên ngoài hệ thống
Tại sao phải Audit Database
lên các dữ liệu (schema, bảng, dòng, …)
Trách nhiệm giải trình từ những hành động xảy ra
Ví dụ xóa dữ liệu từ một bảng
Thông báo nếu có người dùng không được ủy quyền nhưng lại thao tác trên dữ liệu mà đòi hỏi phải có đủ quyền truy cập (truy cập vượt quyền)
6
Kiểm tra hành động đáng ngờ (suspiciousactivity)
Tại sao phải Audit Database
Giám sát và ghi lại các hoạt động xảy ra nhằm phát hiện các vấn đề trong quá trình định quyền và điều khiển truy cập
pháp cải thiện hiệu suất
Thống kê tình hình truy xuất tài nguyên để có biện
truy cập
Ví dụ: dựa vào các trường, bảng thường hay được
7
Chọn cách đánh chỉ mục thích hợp để tăng hiệu suất. giám sát để thỏa các yêu cầu chính sách pháp lý (compliance): thể hiện trách nhiệm với dữ liệu của khách hàng
Các chính sách(Compliances)
thủ và các hướng dẫn cần thiết khi giám sát
Các chính sách đưa ra các quy định cần phải tuân
Health Insurance Portability and Accountability Act
(HIPAA)
Sarbanes-Oxley Act Graham-Leach-Bliley Act (GLBA)
Một số chính sách:
thực thi
Các chính sách thường không mô tả công nghệ cần
8
Cần xác định yêu cầu và lựa chọn công nghệ
Khi nào và giám sát những gì?
giám sát tại mọi thời điểm từ khi hệ thống bắt đầu hoạt
động
Khi nào nên giám sát?
Việc giám sát có thể làm giảm hiệu suất của hệ thống Chỉ nên giám sát những gì cần thiết
9
giám sát những gì?
Khi nào và giám sát những gì?
ra những hoạt động cần phải giám sát: Hoạt động của những người dùng có quyền Đăng nhập và đăng xuất Những thay đổi trong các application trigger và data
trigger
Thay đổi quyền và mô tả thông tin của người dùng Cấu trúc dữ liệu bị thay đổi Các truy cập đọc và ghi trên những dữ liệu nhạy cảm Những lỗi và ngoại lệ Nguồn gốc của những hoạt động truy cập dữ liệu Thời gian, tên chương trình, kích thước dữ liệu, câu
10
lệnh…
Trong chính sách Sarbanes-Oxley, phần 404 có đưa
Nội dùng
Giới thiệu về Audit Database Các hoạt động của Auditi Database Auditing Models Application Data Auditing Additing trong SQL Auditing trong Oracle
11
Các hoạt động của Audit
được giám sát
Đánh giá hiệu quả và đầy đủ của các thành phần
các thành phần được giám sát
Đảm bảo tổ chức tuân thủ chính sách, thủ tục, quy định, pháp luật, và các tiêu chuẩn của chính phủ và ngành công nghiệp
Xác định và xem lại độ tin cậy và tính toàn vẹn của
sát
12
Lập kế hoạch, chính sách và thủ tục thực hiện giám
Các hoạt động của Audit
giám sát
Lưu lại tất cả các thay đổi cho các thành phần được
giám sát mới
Cung cấp tất cả các chi tiết giám sát cho tất cả nhân
viên công ty tham gia vào việc giám sát Xuất bản hướng dẫn và thủ tục giám sát Các hoạt động như liên lạc giữa các công ty và các
nhóm giám sát bên ngoài
13
Cập nhật những thông tin đã audit và các quy định
Các hoạt động của Audit
nhà phát triển, và các nhà phân tích kinh doanh
Hoạt động như một nhà tư vấn cho các kiến trúc sư,
ứng bởi các tổ chức được giám sát
Tổ chức và thực hiện giám sát nội bộ Đảm bảo tất cả các mục trong hợp đồng được đáp
14
Xác định các loại giám sát sẽ được sử dụng Xác định các vấn đề an ninh phải được giải quyết Tư vấn cho Vụ Pháp chế
Auditing Environment
giám sát tài chính kiểm tra bảo mật
Ví dụ giám sát:
và luật pháp của chính phủ
giám sát cũng đo lường sự phù hợp với các quy định
Môi trường giám sát Môi trường cơ sở dữ liệu giám sát
15
giám sát diễn ra trong một môi trường:
Auditing Environment
Các thành phần: Mục tiêu: một giám sát mà không có một tập hợp các mục tiêu là vô dụng Procedure-Thủ tục: thực thi theo các bước hướng dẫn và nhiệm vụ
tài
People: giám sát viên, nhân viên, nhà quản lý Các đơn vị được giám liệu, quy
sát: người, trình, hệ thống
16
Auditing Environment
trường giám sát chung
Môi trường giám sát cơ sở dữ liệu khác với môi
17
Các biện pháp an ninh là không thể tách rời
Auditing Process-Qui trình Audit
thông số kỹ thuật của nó
Đảm bảo chất lượng (QA): Đảm bảo hệ thống là không lỗi và hoạt động theo
18
Quá trình giám sát: đảm bảo rằng hệ thống đang làm việc và tuân thủ các chính sách, quy định và pháp luật
Auditing Process-Qui trình Audit
suất hoạt động vào những thời điểm khác nhau
Thực hiện giám sát: quan sát nếu có suy giảm hiệu
19
giám sát quá trình dòng chảy: Vòng đời phát triển hệ thống Quá trình giám sát: Hiểu được mục tiêu Rà soát, xác minh và xác nhận hệ thống Dẫn chứng kết quả
Auditing Process-Qui trình Audit
20
Auditing Process-Qui trình Audit
21
Quy trình giám sát
22
Quy trình giám sát do NIST đưa ra
Auditing Objectives
Cho phép giải trình những hành động hiện tại tham gia vào một schema, bảng, dòng riêng biệt, hay một nội dùng cụ thể nào đó. Ngăn cản user khỏi hành động không thích hợp dựa trên trách
nhiệm phải giải trình đó.
Điều tra các hoạt động đáng ngờ. Ví dụ, nếu một user không được phép đang xóa dữ liệu từ một bảng nào đó thì người quản trị bảo mật sẽ ghi lại tất cả những kết nối CDSL và tất cả những hành động xóa các dòng từ bảng trong CSDL dù thành công hay không thành công.
Thông báo cho người giám sát rằng có user bất hợp phát đang thao tác hay xóa dữ liệu hay user có nhiều quyền hệ thống hơn sự cho phép.
23
Giám sát và thu thập dữ liệu về các hoạt động CSDL cụ thể. Ví dụ, người quản trị CSDL có thể thu thập thống kê về thông tin các bảng đang được update, hay bao nhiêu users cùng trung cập vào thời điểm cực đỉnh.
Auditing Objectives
10 mục tiêu giám sát cơ sở dữ liệu: Data integrity Application users and roles Data confidentiality Access control Data changes Data structure changes Database or application availability Change control Physical access Auditing reports
24
Các vấn đề với giám sát
giám sát bên ngoài
giám sát là công cụ, không phải là mục tiêu Nên sử dụng kết hợp giữa giám sát bên trong và
Lưu trữ và bảo mật thông tin audit log Tự động hóa và giám sát hoạt động giám sát Kích thước của các audit log lớn, cần sử dụng các công cụ kho dữ liệu (data warehouse) và khai phá dữ liệu (data mining) để quản lý và phân tích dữ liệu audit log
25
Vấn đề tính riêng tư trong audit log
Các yêu cầu của giám sát trong CSDL
ngoài CSDL
Có khả năng hoạt động độc lập, cho phép theo dõi và ghi nhận lại tất cả các hoạt động trong hệ thống kể cả những hoạt động của người quản trị hệ thống. Có khả năng lưu trữ audit log một cách an toàn bên
Có khả năng thu thập và kết hợp các hoat động xảy ra ở nhiều loại DBMS (Database management systems) khác nhau.
SQL ứng với mỗi DBMS
26
Không phụ thuộc vào DBMS và cú pháp câu lệnh
Các yêu cầu của giám sát trong CSDL
chỉnh sửa hoặc xóa dữ liệu trong audit log.
Có khả năng ngăn chặn người quản trị hệ thống
27
Có khả năng đưa ra những cảnh báo kịp thời cho người quản trị hệ thống khi có những bất thường xảy ra trong hệ thống
Các phương pháp giám sát
28
giám sát bằng application server log giám sát mức ứng dụng(Application audit) giám sát bằng trigger giám sát bằng câu lệnh(command)
Các đối tượng cần giám sát
29
Các hoạt động đăng nhập/đăng xuất trong CSDL Username Client IP mà đăng nhập không thành công Chương trình(source program) Thời gian đăng nhập và đăng xuất giám sát nguồn gốc truy cập CSDL Địa chỉ IP và host name được dùng để kết nối CSDL Chương trình nào kết nối CSDL
Các đối tượng cần giám sát
việc Các truy cập CSDL ngoài giờ làm việc đều đáng nghi
ngờ
Cần ghi lại mọi truy cập CSDL ngoài giờ làm việc trừ
những thao tác đã được định giờ
giám sát các hoạt động truy cập CSDL ngoài giờ làm
liệu (Data Definition Language –DDL) Rất quan trọng vì trong nhiều trường hợp DDL có thể
được dùng để phá hoại hệ thống
30
Được quy định trong chính sách HIPAA Phương pháp: dùng chức năng built-in của DBMS, sử dụng hệ thống giám sát bên ngoài, so sánh snapshot của lược đồ(shema) theo thời gian
giám sát các thao tác thuộc ngôn ngữ định nghĩa dữ
Các đối tượng cần giám sát
Các lỗi như đăng nhập thất bại, SQL Injection dấu hiệu của sự tấn công Các ứng dụng có thể chứa lỗi và gây ra lỗi: ví dụ sinh
ra những câu SQL sai cú pháp Có thể bị lợi dụng để tấn công Sửa lỗi ứng dụng
Các lỗi trong thao tác với CSDL
stored procedure Kẻ tấn công có thể giấu những đoạn mã độc hại vào
trigger hay stored procedure
31
giám sát trên sự thay đổi mã nguồn của trigger và
Các đối tượng cần giám sát
các thuộc tính bảo mật khác Việc giám sát này là bắt buộc: tấn công vượt quyền Các thông tin cần chú ý:
Thêm/Xóa trên User/Login/Role Thay đổi quyền của Role Thay đổi quyền hoặc role của người dùng Thay đổi password
32
giám sát trên sự thay đổi quyền của người dùng và
Các đối tượng cần giám sát
Ghi nhận thay đổi giữa giá trị cũ và giá trị mới trong mỗi thao tác thuộc ngôn ngữ thao tác dữ liệu(Data Manipulation Language –DML)
Cần lọc dữ liệu nào quan trọng mới giám sát vì dữ liệu lớn (vídụ: CSDL có 100 bảng với
giám sát sẽ rất khoảng1 triệu transaction/ngày…) giám sát sự thay đổi của audit log
Audit log cần được bảo vệ và không cho phép thay đổi Phương pháp: sử dụng các chức năng built-in của
CSDL hoặc một hệ thống giám sát bên ngoài khác
33
giám sát sự thay đổi của các dữ liệu nhạy cảm
Nội dùng
Giới thiệu về Audit Database Các hoạt động của Auditi Database Auditing Models Application Data Auditing Additing trong SQL Auditing trong Oracle
34
Các mô hình giám sát-Auditing Models
35
Simple Auditing Model 1
mô hình giám sát
Dễ hiểu và phát triển Các đơn vị đăng ký giám sát trong các kho lưu trữ
xuất
Điều khiển cột:
Giữ chỗ cho dữ liệu được chèn tự động khi
một bản ghi được tạo hay cập nhật
36
Theo dõi các hoạt động theo thứ tự thời gian Đối tượng: người sử dụng, bảng, hoặc cột Hoạt động: DML giao dịch hoặc đăng nhập và đăng
Simple Auditing Model 1
37
Simple Auditing Model 1
38
Simple Auditing Model 2
lượng dữ liệu được lưu trữ
Chỉ lưu trữ các giá trị cột thay đổi Có một cơ chế lọc và lưu trữ dữ liệu làm giảm số
hiện trên dữ liệu
Không đăng ký một hành động đã được thực
bảng
39
Rất lý tưởng cho giám sát một hoặc hai cột của một
Simple Auditing Model 2
40
Advanced Auditing Model
41
Được gọi là “advanced" vì tính linh hoạt của nó Phức tạp hơn Đăng ký tất cả các thực thể: mức độ giám sát tốt hơn Có thể điều khiển người dùng, hành động, bảng, cột
Advanced Auditing Model
42
Advanced Auditing Model
43
Historical Data Model
tài chính
44
Được sử dụng khi lưu trữ của cả hàng được yêu cầu Thường được sử dụng trong hầu hết các ứng dụng
Auditing Applications Actions Model
45
Nội dùng
Giới thiệu về Audit Database Các hoạt động của Auditi Database Auditing Models Application Data Auditing Additing trong SQL Auditing trong Oracle
46
Application Data Auditing
Mục tiêu: Hiểu được sự khác biệt giữa các audit kiến trúc,
giám sát hành động và thay đổi
47
Tạo và thực hiện trigger trong Oracle Tạo và thực hiện trigger trong SQL Server
DML Action Auditing Architecture
cấp hàng mức độ cột
Ngôn ngữ thao tác dữ liệu (DML): các công ty sử dụng kiến trúc, giám sát cho những thay đổi DML Thay đổi DML có thể được thực hiện ở hai cấp độ:
48
Fine-grained auditing (FGA)
DML Action Auditing Architecture
49
DML Action Auditing Architecture
50
giám sát trong SQL Server
SQL Server Triggers Implementation of an Historical Model with SQL
Server
51
SQL Server Triggers
CREATE TRIGGER DDL statement: creates
a trigger
Trigger condition:
Prevents a trigger from firing UPDATE() and COLUMNS_UPDATE()
functions Logical tables:
DELETED contains original data INSERTED contains new data
52
SQL Server Triggers
Restrictions—Transact-SQL statements not
allowed: ALTER and CREATE DATABASE DISK INIT and DISK RESIZE DROP DATABASE and LOAD DATABASE LOAD LOG RECONFIGURE RESTORE DATABASE RESTORE LOG
53
Implementation of an Historical Model with SQL Server Create a history table:
Same structure as original table HISTORY_ID column
Create a trigger: inserts original row into the
HISTORY table
54
Auditing Server Activity with Microsoft SQL Server 2000 Way to track and log activity for each SQL
Server occurrence
Must be a member of the sysadmin fixed
server role
Two types of auditing for server events:
Auditing C2 auditing
Auditing affects performance and can be
costly
55
Implementing SQL Profiler
User interface for auditing events For each event you can audit: Date and time of the event User who caused the event to occur Type of event Success or failure of the event Origin of the request Name of the object accessed Text SQL statement
56
Implementing SQL Profiler (continued)
57
Security Auditing with SQL Server
Steps for setting security auditing level:
Open Enterprise Manager Expand the appropriate SQL Server group Right-click on the desired server Click Properties On the security tab, select the desired security
level
58
Security Auditing with SQL Server (continued)
59
Security Auditing with SQL Server (continued) Auditable events: ADD DB USER ADD LOGIN TO SERVER ROLE ADD MEMBER TO DB ROLE ADD ROLE APP ROLE CHANGE PASSWORD BACKUP/RESTORE CHANGE AUDIT
60
Security Auditing with SQL Server (continued) Auditable events (continued):
DBCC LOGIN LOGOUT LOGIN CHANGE PASSWORD LOGIN CHANGE PROPERTY LOGIN FAILED Login GDR (GRANT, DENY, REVOKE)
61
Security Auditing with SQL Server (continued) Auditable events (continued): Object Derived Permissions Object GDR Object Permissions Server Start and Stop Statement GDR Statement Permission
62
Security Auditing with SQL Server (continued)
63
Security Auditing with SQL Server (continued) New trace information: A name for the trace The server you want to audit The base template to start with Where to save the audit data, either to a file or
to a database table
A stop time, if you don’t want the trace to run
indefinitely
64
Security Auditing with SQL Server (continued)
65
Security Auditing with SQL Server (continued)
66
Security Auditing with SQL Server (continued) Steps to add Login Change Password event
Expand the Security Audit node under
Available event classes
Click Audit Login Change Password Event Click the Add button
67
Security Auditing with SQL Server (continued)
68
Data Definition Auditing
Audit DDL statements:
Object:Created Object:Deleted Will audit all CREATE and DROP statements
69
Data Definition Auditing (continued)
70
Database Auditing with SQL Server
71
Database Errors Auditing with SQL Server
72
Nội dùng
Giới thiệu về Audit Database Các hoạt động của Auditi Database Auditing Models Application Data Auditing Additing trong SQL Auditing trong Oracle
73
giám sát trong Oracle
74
Giới thiệu Các loại giám sát Các công cụ giám sát trong Oracle Kết luận
Giới thiệu giám sát trong Oracle
công
Oracle giám sát các người dùng: giám sát các truy cập thành công hoặc không thành
cả các người dùng
giám sát 1 người dùng, 1 nhóm người dùng hoặc tất
cấp truy cập (access level).
giám sát ở cấp phiên làm việc(session level) hoặc
75
giám sát sẽ làm giảm hiệu suất của hệ thống Chỉ nên giám sát những gì cần thiết
Giới thiệu giám sát trong Oracle
hành (OS) để tiết kiếm tài nguyên củaCSDL
Dữ liệu giám sát nên được ghi trên file của hệ điều
76
Các tham số khởi tạo AUDIT_TRAIL trong init.ora
Các loại giám sát trong Oracle
77
Statement Auditing Privilege Auditing Schema Object Auditing Fine-grained auditing
Statement auditing
câu lệnh trên từng đối tượng
Statement auditing:giám sát những lệnh hoặc nhóm
các câu lệnh CREATE và DROP TABLE.
Câu lệnh DML: Ví dụ AUDIT SELECT TABLE giám sát tất cả câu lệnh SELECT trên bảng và trên view Có thể giám sát trên mọi người dùng hoặc trên 1
nhóm người dùng cụ thể hoặc trên Role
78
Câu lệnh DDL: Ví dụ AUDIT TABLE giám sát tất cả
Privilege auditing
Privilege auditing: giám sát những quyền hệ
thống AUDIT SELECT ANY TABLE sẽ giám sát mọi lệnh được tạo ra từ những người dùng sử dụng quyền SELECT ANY TABLE
Trường hợp cả statement và privilege cùng được
giám sát thì chỉ 1 audit record được tạo ra.
79
auditing Statement auditing: AUDIT TABLE CREATE, ALTER, DROP (TABLE) đều được giám sát Privilege auditing: AUDIT CREATE TABLE chỉ giám sát câu lệnh CREATE (TABLE)
Privilege auditing có độ tập trung hơn statement
Schema Object Auditing
thể, ví dụ AUDIT SELECT ON employees. (Rất được chú trọng). Schema object auditing luôn áp dụng cho tất cả các user.
Kiểm tra câu lệnh cụ thể trên đối tượng schema cụ
Table View Procedure Trigger Function Package Privilege auditing có độ ưu tiên thấp hơn các schema
80
object auditing
Giám sát trên những đối tượng củaSchema:
Schema Object Auditing
Ví dụ: Thực hiện giám sát câu lệnh SELECT trên Employee
AUDIT SELECTON Employee;
Tạo view Emp_Name và giám sát câu lệnh SELECT
CREATE VIEW Emp_NameAS SELECT EName FROM Employee; AUDIT SELECTON Emp_Name;
81
Thực hiện câu lệnh truy vấn trên view Emp_Name SELECT * FROM Employee_Name;
Fine-grained Auditing
nội dung của dữ liệu đó.
Kiểm tra dữ liệu truy xuất và các hoạt động dựa trên
82
Ví dụ: Sử dụng DBMS_FGA, người quản trị bảo mật tạo ra một chính sách kiểm tra trên một bảng. Nếu bất kì dòng nào trả về từ câu lệnh DML thỏa điều kiện kiểm tra thì một mục về sự kiện kiểm tra sẽ được chèn vào trong audit trail.
Các công cụ giám sát trong Oracle
83
Standard Auditing Fine-Grained Auditing
Standard Auditing Kích hoạt Standard Auditing Bất cứ database user hợp pháp nào cũng có thể thiết lập lựa chọn giám sát đối với câu lệnh, quyền và đối tượng bất cứ khi nào. Tuy nhiên hệ CSDL Oracle không sinh thông tin audit cho Standart database audit trail trừ khi CSDL giám sát được kích hoạt. Người quản trị bảo mật thường có trách nhiệm điều khiển việc giám sát này.
84
Standard Auditing Kích hoạt Standard Auditing Auditing là chức năng mặc định trong Oracle server. Các tham số khởi tạo ban đầu ảnh hưởng đến hành vi của nó có thể được xem bằng cách sử dụng câu lệnh. SQL> SHOW PARAMETER AUDIT NAME TYPE VALUE -------- ---------------------- -------------------- audit_file_dest string C:\ORACLEXE\APP\ORACLE\
ADMIN\XE\ADUMP
85
audit_sys_operations boolean FALSE audit_trail string NONE
Standard Auditing Chức năng Audit mặc định bị bất hoạt, nhưng có thể kích hoạt nó bằng cách thiết lập giá trị cho tham số AUDIT_TRAIL
xml,extended }
AUDIT_TRAIL = { none | os | db | db,extended | xml |
giám sát được sẽ được lưu trong database audit trail (SYS.AUD$).
Trong đó: none or false – chức năng giám sát bị bất hoạt. db or true – Bật chức năng giám sát và các bản ghi
sát được sẽ được lưu như file OS có định dạng XML.86
xml- Bật chức năng giám sát với các bản ghi giám
Standard Auditing os- Bật chức năng giám sát với các bản ghi giám sát
được ghi vào operating system audit trail.
hoạt hay bất hoạt giám sát các hoạt động của những user kết nối vào hệ thống với quyền SYSDBA hay SYSOPER, bao gồm user SYS. Khi đó tất cả các bản ghi giám sát được ghi vào OS audit trail.
Tham số AUDIT_SYS_OPERATIONS dùng để kích
87
Tham số AUDIT_FILE_DEST đặc tả đường dẫn cho audit trail khi các lựa chọn OS, XML, EXTENDED được sử dụng. Nó cũng là vị trí lưu các bản ghi giám sát khi tham số AUDIT_SYS_OPERATIONS = true
Standard Auditing Để kích hoạt chức năng giám sát, làm theo các bước sau SQL> ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE; System altered. SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP ORACLE instance started. Database mounted. Database opened. SQL>
88
Standard Auditing Kích hoạt lựa chọn Standard Auditing Để sử dụng lệnh AUDIT thiết lập lựa chọn về câu lệnh thiết phải có quyền AUDIT và quyền thì bạn nhất SYSTEM. Còn để thiết lập các lựa chọn giám sát đối tượng bạn phải làm chủ đối tượng bị giám sát hay có quyền AUDIT ANY.
BY SESSION/ BY ACCESS
89
Lệnh AUDIT thiết lập lựa chọn giám sát câu lệnh và quyền có thể bao gồm mệnh đề BY để cụ thể danh sách những user hay application proxy để giới hạn tầm vực của câu lệnh và lựa chọn giám sát quyền.
Standard Auditing Kích hoạt lựa chọn Standard Auditing BY SESSION: Ghi một bản ghi đơn cho tất cả các câu lệnh SQL cùng loại thực thi trên cùng những đối tượng schema trong cùng một session. Tuy nhiên nếu sử dụng operating system trail cho theo dấu giám sát (khi đó tham số AUDIT_FILE_DEST được gán giá trị OS), thì CSDL sẽ viết nhiều mục vào file theo dấu ngay cả khi bạn sử dụng mệnh đề BY SESSION.
90
Standard Auditing Kích hoạt lựa chọn Standard Auditing BY ACCESS: Ghi một bản ghi cho mỗi lần truy xuất. Nếu đặc tả lựa chọn câu lệnh hay quyền hệ thống mà giám sát câu lệnh DDL thì CSDL sẽ tự động giám sát theo BY ACCESS không quan tâm bạn sử dụng mệnh đề BY SESSION hay BY ACCESS. Ngoài ra thì nếu không đặc tả thì BY SESSION là mặc định.
WHENEVER
SUCCESSFUL/ WHENEVER
NOT
SUCCESSFUL
91
WHENEVER SUCCESSFUL giám sát những lệnh thành công. WHENEVER NOT SUCCESSFUL giám sát những lệnh thất bại hay kết quả lỗi. Nếu loại bỏ hai mệnh đề này thì Oracle cũng sẽ ghi lại sự giám sát không quan tâm câu lệnh có thành công hay không.
Standard Auditing Bất hoạt lựa chọn Standard Auditing Câu lệnh NOAUDIT để tắt các lựa chọn giám sát của
Oracle 10G.
Mệnh đề WHENEVER để tắt các giám sát đối với các câu lệnh được thực hiện thành công hay không thành công. Nếu không sử dụng mệnh đề đó thì chức năng giám sát sẽ tắt cả đối với trường hợp thành công hay thất bại.
trong câu lệnh NOAUDIT.
92
Mệnh đề BY SESSION/BY ACCESS không được hỗ trợ
Standard Auditing Điều khiển sự phát triển và kích cỡ của Standard Audit Trail Nếu audit trail đầy dẫn tới không một bản ghi giám sát nào được ghi thêm vào thì những câu lệnh AUDIT không thể thực thi thành công cho tới khi audit trail trống trở lại. Do đó, người quản trị bảo mật phải điều khiển sự phát triển và kích cỡ của audit trail.
93
Standard Auditing Điều khiển sự phát triển và kích cỡ của Standard Audit Trail Khi chức năng giám sát được kích hoạt và các bản ghi giám sát được sinh ra thì dung lượng của audit trail phụ thuộc hai yếu tố:
dụng phương pháp:
94
Số lựa chọn giám sát được sử dụng. Tần số thực hiện các câu lệnh được giám sát. Để điều khiển sự phát triển của audit trail, bạn có thể sử
Kích hoạt và bất hoạt giám sát CSDL. Nếu nó được kích hoạt thì các bản ghi giám sát được sinh ra và lưu trữ trong audit trail. Nếu nó bất hoạt thì các bản ghi sẽ không được sinh ra.
Standard Auditing Điều khiển sự phát triển và kích cỡ của Standard Audit Trail Chọn lọc kĩ những lựa chọn giám sát được kích hoạt. Nếu nhiều lựa chọn giám sát được kích hoạt thì những bản ghi giám sát không cần thiết có thể làm đầy audit trail.
thể được thực hiện bằng hai cách khác nhau: Nhà quản trị bảo mật làm chủ tất cả các đối tượng và quyền hệ
thống AUDIT ANY không bị cấp cho bất kì một user nào khác.
95
Tất cả các đối tượng chứa trong những schema mà không tương ứng với database user thực sự (user đó không được cấp quyền CREATE SESSION) và người quản trị bảo mật là user duy nhất có quyền AUDIT ANY.
Quản lí chặt khả năng giám sát đối tượng. Điều đó có
Xóa một số bản ghi trong audit trail để vừa giải phóng
Standard Auditing Điều khiển sự phát triển và kích cỡ của Standard Audit Trail Ví dụ:
Xóa toàn bộ bản ghi trong audit trail: DELETE FROM SYS.AUD$; Xóa toàn bộ bản ghi được sinh ra do kết quả của việc giám sát bảng emp: DELETE FROM SYS.AUD$
WHERE obj$name = ‘EMP’;
96
Chú ý: Chỉ có user SYS (user có quyền DELETE ANY TABLE), hay user được SYS gán quyền DELETE trên SYS.AUD$ mới có thể thực hiện những câu lệnh trên.
Cú pháp câu lệnh giám sát
audit::=
Audit {statement_option| privilege_option} [by user] [by {session|access}] [whenever {successful | unsuccessful}]
phần bắt buộc, và các phần khác thì không bắt buộc. 97
Trong đó, statement_option và privilege_option là
Cú pháp câu lệnh giám sát
sql_statement_clause::=
quyền hệ thống và câu lệnh để giám sát hơn là nêu chung qua các role hoặc shortcuts.
98
Chú ý: Oracle khuyên rằng nên đặc tả lựa chọn
Cú pháp câu lệnh giám sát
auditing_by_clause::=
99
Giám sát chỉ những câu lệnh SQL gọi bởi những user cụ thể. Nếu không sử dụng mệnh đề này thì Oracle sẽ giám sát câu lệnh của tất cả user.
Cú pháp câu lệnh giám sát
schema_object_clause::=
schema.
Giám sát các hoạt động trên những đối tượng
Object_option: đặc tả hoạt động cụ thể cho việc giám sát. Ví dụ như ALTER, COMMENT, AUDIT, DELETE, EXECUTE, GRANT, INSERT, READ,…
100
options cho các loại đối tượng.
ALL: là một shortcut tương ứng với tất cả các object
Cú pháp câu lệnh giám sát
auditing_on_clause::=
biệt được giám sát.
101
auditing_on_clause: đặc tả đối tượng schema riêng
Cú pháp câu lệnh giám sát
auditing_on_clause::=
ON DEFAULT: thiết lập những lựa chọn đối tượng cụ thể trở thành những lựa chọn đối tượng mặc định cho những đối tượng được tạo ra sau đó. Sau khi thiết lập những lựa chọn giám sát mặc định, bất kì đối tượng nào được tạo ra sau đó thì được giám sát tự động với những lựa chọn đó. Những lựa chọn giám sát mặc định cho một view luôn là sự kết hợp của lựa chọn giám sát cho bảng cơ sở của view đó. Có thể xem lựa chọn giám sát mặc định hiện tại bằng cách truy vấn ALL_DEF_AUDIT_OPTS.
102
Khi thay đổi lựa chọn giám sát mặc định, lựa chọn giám sát cho những đối tượng được tạo lúc trước vẫn giữ nguyên. Bạn có thể thay đổi lựa chọn giám sát cho đối tượng đã tồn tại chỉ bằng đặt tả đối tượng trong mệnh đề ON của câu lệnh AUDIT.
Cú pháp câu lệnh giám sát
noaudit::=
103
Fine-grained Auditing (FGA)
Fine-grained auditing (FGA) đặt ra nhiều điều kiện giám sát chi tiết hơn. Ta không cần phải thiết lập thông số cho AUDIT_TRAIL để kích hoạt chức năng này, mà chỉ cần tạo ra các chính sách FGA rồi áp dụng chúng trên các hoạt động hay các đối tượng cụ thể mà ta muốn giám sát.
Những bản ghi của FGA sẽ lưu trong bảng SYS.FGA_LOG$ và được truy cập thông qua view DBA_FGA_AUDIT_TRAIL.
104
Cơ chế này trong cơ sở dữ liệu ngăn chặn người dùng khỏi việc cố gắng tìm cách truy vấn vòng để không bị giám sát.
Fine-grained Auditing (FGA)
Ưu thế của Fine-grained Auditing so với Trigger: Fine-grained auditing thỏa mãn những nhu cầu bằng cách cung cấp sự hiệu quả vượt lên trên phương pháp trigger. Trigger phải gánh chịu quá trình gọi hàm PL/SQL khi mỗi hàng được xử lí và tạo ra một bản ghi audit chỉ khi một cột thích hợp bị thay đổi bởi một câu lệnh DML.
105
Mặt khác, một chính sách fine-grainned auditing không phải gánh chịu chi phí cho mỗi hàng. Nó chỉ giám sát một lần cho mỗi chính sách. Cụ thể, nó sẽ giám sát khi một cột thích hợp cụ thể bị tác động bởi một loại lệnh DML xác định, hoặc bị thay đổi bởi câu lệnh hoặc nằm trong tiêu chuẩn chọn lọc của nó
Fine-grained Auditing (FGA)
Chính sách trong Fine-grained Auditing: Chính sách FGA có thể theo dõi việc truy xuất dữ liệu dựa trên nội dung của dữ liệu đó. Sử dụng chính sách, ta có thể chỉ rõ cột nào và điều kiện khi nào ta mới cần phải ghi lại việc truy xuất đó. Ta cũng có thể cung cấp thêm tên hàm mà ta muốn thực thi khi một sự kiện giám sát xảy ra. Hàm đó có thể nhắc nhở hoặc báo động cho người quản trị hay xử lí lỗi và các bất thường.
106
Fine-grained Auditing (FGA)
Hàm xử lí sự kiện: Trong chính sách FGA có thể xác định điều kiện khi nào ta truy xuất dữ liệu sẽ gây ra một trigger giám sát. Những chính sách đó có thể sử dụng các xử lí sự kiện uyển chuyển để nhắc nhỏ nhà quản trị khi sự kiện trigger xảy ra.
107
Ví dụ, một công ty có thể cho phép nhân viên HR truy cập thông tin về lương mà không bị giám sát, nhưng khi làm việc với số lương lớn hơn $500k thì sẽ bị giám sát. Khi đó việc đó xảy ra hệ thống sẽ cảnh báo cho nhà quản trị.
Fine-grained Auditing (FGA)
Hàm xử lí sự kiện: Cơ chế thực hiện cảnh báo đó được thực hiện nhờ vào một
hàm:
PROCEDURE fname(
object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2)
AS ... Trong đó:
fname: tên của thủ tục object_schema: tên của schema chứa bảng bị giám sát. object_name: tên của bảng bị giám sát. policy_name: tên của chính sách
108
Fine-grained Auditing (FGA)
liên quan trong Fine-grained
Hàm và các cột Auditng: Để hiện thực thêm uyển chuyển, ta có thể thêm vào các hàm tự định nghĩa để đưa ra điều kiện cho chính sách và xác định cột nào cần được giám sát (cột liên quan) để tinh lọc chính sách giám sát. Ví dụ, hàm đó có thể tạo ra một bản ghi giám sát chỉ khi mức lương lớn hơn $250k bị truy cập.
109
Chỉ rõ cột liên quan có thể giúp giảm các trường hợp sai cũng như là các bản ghi không cần thiết, bởi vì việc giám sát chỉ cần được thực hiện khi một cột cụ thể được tham khảo đến trong câu truy vấn.
Fine-grained Auditing (FGA)
liên quan trong Fine-grained
Hàm và các cột Auditng: Ví dụ, một công ty có thể chỉ mong muốn ghi lại sự truy cập thông tin về lương khi tên của nhân viên cũng bị truy cập, bởi vì nếu chỉ xem thông tin về lương không mà không biết tên người sở hửu số lương đó cũng vô nghĩa. Ta cũng có thể chỉ rõ rằng việc giám sát chỉ xảy ra khi tất cả các cột liên quan điều được tham khảo đến, hoặc chỉ một trong các cột liên quan được tham khảo.
110
Trong trường hợp nhiều hơn một cột liên quan được chỉ định, Oracle Database sẽ sinh ra một bản ghi giám sát nếu câu lênh SQL tham khảo đến bất kì cột nào trong những cột được giám sát đó.
Fine-grained Auditing (FGA)
liên quan trong Fine-grained
111
Hàm và các cột Auditng: Điều kiện giám sát NULL: Để đảm báo việc giám sát các hành động cụ thể (statement_types) ảnh hưởng tới những cột được chỉ định rõ (audit_column), đặc tả điều kiện giám sát (audit_condition) là NULL, điều đó được hiểu như là một điều kiện đúng. Dạng điều kiện cũ “1=1” không còn được sử dụng như trong Oracle 9i vì nó không có được kết quả mong muốn một cách đáng tin cậy. NULL sẽ vẫn tạo ra được sự giám sát kể cả khi không có dòng nào được xử lí, do đó tất cả mọi hoạt động trên cột liên quan (audit_column) với chính sách đó đều được ghi lại.
Fine-grained Auditing (FGA)
liên quan trong Fine-grained
Hàm và các cột Auditng: Lưu ý: Sử dụng chuỗi rỗng không tương đương với giá trị
NULL và sẽ dẫn đến sự giám sát đáng tin cậy. Nếu NULL hoặc không có điều kiện giám sát nào
được đặc tả, thì bất kì hành động nào tác động lên một bảng thỏa chính sách đó đều khiến cho một bản ghi giám sát được tạo ra, dù cho có không có dòng nào được trả về từ câu truy vấn.
112
Gói DBMS_FGA trong Oracle
Gói DBMS_FGA cung cấp chức năng bảo mật FGA. Để có thể quản lý các chính sách giám sát, ta cần phải có quyền thực thi trên DBMS_FGA (EXCUTE ON DBMS_FGA)
113
Thủ tục ADD_POLICY Thủ tục này dùng để tạo ra các chính sách giám sát. Số chính sách giám sát tối đa trên một bảng hoặc view là 256.
Gói DBMS_FGA trong Oracle
Cú pháp
114
DBMS_FGA.ADD_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2, audit_condition VARCHAR2, audit_column VARCHAR2, handler_schema VARCHAR2, handler_module VARCHAR2, enable BOOLEAN, statement_types VARCHAR2, audit_trail BINARY_INTEGER IN DEFAULT, audit_column_opts BINARY_INTEGER IN DEFAULT);
Gói DBMS_FGA trong Oracle
115
Gói DBMS_FGA trong Oracle
116
Gói DBMS_FGA trong Oracle
audit_trail => DBMS_FGA.DB : bản ghi giám sát sẽ được ghi vào bảng SYS.FGA_LOG$ của cơ sở dữ liệu và loại bỏ cột SQL Text và SQL Bind.
audit_trail => DBMS_FGA.DB+EXTENDED : bản ghi giám
sát sẽ được ghi vào bảng SYS.FGA_LOG$ của cơ sở dữ liệu và có thêm hai SQL Text và SQL Bind.
audit_trail => DBMS_FGA.XML: bản ghi giám sát sẽ được ghi vào file XML, file này được lưu trong hệ điều hành và không chứa hai cột SQL Text và SQL Bind.
audit_trail => DBMS_FGA.XML+EXTENDED: bản ghi giám
sát sẽ được ghi vào file XML, file này được lưu trong hệ điều hành và chứa hai cột SQL Text và SQL Bind. Các thông số của audit_trail nằm trong view
117
ALL_AUDIT_POLICIES.
Chú ý về tham số audit_trail:
Gói DBMS_FGA trong Oracle
Thủ tục DISABLE_POLICY Thủ tục này để bất hoạt một chính sách giám sát. Cú pháp
DBMS_FGA.DISABLE_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2 );
118
Gói DBMS_FGA trong Oracle
Thủ tục DISABLE_POLICY Tham số:
Tên
Mô tả
object_schema
Tên của schema chứa đối tượng bị giám sát
object_name
Tên của đối tượng bị giám sát
policy_name
Tên của chính sách.
119
Gói DBMS_FGA trong Oracle
Thủ tục ENABLE_POLICY Thủ tục này cho phép kích hoạt một chính sách giám
sát.
120
Cú pháp DBMS_FGA.ENABLE_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2, enable BOOLEAN);
Gói DBMS_FGA trong Oracle
Thủ tục ENABLE_POLICY Tham số
Tên
Mô tả
object_schema
Tên của schema chứa đối tượng bị giám sát.
object_name
Tên của đối tượng bị giám sát.
policy_name
Tên của chính sách
enable
TRUE là giá trị mặc định.
121
Gói DBMS_FGA trong Oracle
Thủ tục DROP_POLICY Thủ tục này để loại bỏ một chính sách giám sát. Cú pháp DBMS_FGA.DROP_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2 );
122
Gói DBMS_FGA trong Oracle
Thủ tục DROP_POLICY Tham số:
Tên
Mô tả
object_schema
Tên của schema chứa đối tượng bị giám sát.
object_name
Tên của đối tượng bị giám sát.
policy_name
Tên của chính sách.
123
Fine-Grained Auditing –FGA
124
Ví dụ: Audit trên cột EMP.SAL BEGIN DBMS_FGA.add_policy ( object_schema=> 'AUDIT_TEST', object_name=> 'EMP', policy_name=> 'SALARY_AUDIT', audit_condition=> 'SAL > 50000', audit_column=> 'SAL', statement_types=>'SELECT, INSERT, UPDATE, DELETE' ); END;
DML Action Auditing with Oracle Record data changes on the table:
Name of the person making the change Date of the change Time of the change
Before or after value of the columns are not
recorded
125
DML Action Auditing with Oracle (continued)
126
DML Action Auditing with Oracle (continued)
Steps:
Use any user other than SYSTEM or SYS; with
privileges to create tables, sequences, and triggers
Create the auditing table Create a sequence object Create the trigger that will record DML
operations
Test your implementation
127
History Auditing Model Implementation Using Oracle Historical data auditing is simple to
implement; main components are TRIGGER objects and TABLE objects
Keeps record of:
Date and time the copy of the record was
captured
Type of operation applied to the record
128
History Auditing Model Implementation Using Oracle (continued)
Steps:
Use any user other than SYSTEM or SYS; with privileges to create tables, sequences, and triggers
Create history table Create the trigger to track changes and record
all the values of the columns
Test your implementation
129
DML Auditing Using Repository with Oracle (Simple 1) Simple Auditing Model 1 Flag users, tables, or columns for auditing Requires less database administrative skills:
Application administrators can do it User interface is built in top of the repository
Auditing flags are flexible Does not record before or after column
values; only registers type of DML operations
130
DML Auditing Using Repository with Oracle (Simple 1) (continued)
131
DML Auditing Using Repository with Oracle (Simple 1) (continued) Steps:
Use any user other than SYSTEM or SYS Create triggers Create sequence object Build tables to use for applications Populate application tables
132
DML Auditing Using Repository with Oracle (Simple 1) (continued) Steps (continued):
Populate auditing repository with metadata Create the stored package to be used with the
trigger
Create triggers for application tables Test your implementation
133
DML Auditing Using Repository with Oracle (Simple 2) Simple Auditing Model 2: requires a higher
level of expertise in PL/SQL
Stores two types of data:
Audit data: value before or after a DML
statement
Audit table: name of the tables to be audited
134
DML Auditing Using Repository with Oracle (Simple 2) (continued)
135
DML Auditing Using Repository with Oracle (Simple 2) (continued) Steps:
Use any user other than SYSTEM or SYS; with privileges to create tables, and triggers
Create the auditing repository Establish a foreign key in AUDIT_DATA table
referencing AUDIT_TABLE table
Create a sequence object Create the application schema
136
DML Auditing Using Repository with Oracle (Simple 2) (continued) Steps (continued):
Add data to tables A stored PL/SQL package will be used for
auditing within the triggers
Create triggers for audited tables Add auditing metadata Test your implementation
137
Auditing Application Errors with Oracle Application errors must be recorded for
further analysis
Business requirements mandate to keep an
audit trail of all application errors
Materials:
Repository consisting of one table Methodology for your application
138
Auditing Application Errors with Oracle (continued) Steps:
Select any user other than SYSTEM or SYS;
with privileges to create tables, and procedures
Populate tables Create the ERROR table Create a stored package to perform the
UPDATE statement
Test your implementation: perform and update
using the CREATE package
139
Oracle PL/SQL Procedure Authorization Oracle PL/SQL stored procedures are the mainstay of implementing business rules
Security modes:
Invoker rights: procedure is executed using
security credentials of the caller
Definer rights: procedure is executed using
security credentials of the owner
140
Oracle PL/SQL Procedure Authorization (continued) Steps:
Create a new user Select a user with CREATE TABLE and
PROCEDURE privileges
Populate tables Create stored procedure to select rows in a
table
Grant EXECUTE privileges on new procedure Log on as the new user and query the table Execute procedure
141
giám sát bằng trigger
các sự kiện của hệ thống xảy ra Khởi động hoặc tắt CSDL Đăng nhập hoặc đăng xuất Tạo, chỉnh sửa hoặc xóa các đối tượng của lược đồ
System trigger: Trigger được tự động thực thi khi có
lại các thay đổi ở cấp
Trigger trên các câu lệnh Update, Delete, Insert Các trigger CSDL có thể ghi hàng và cột của bảng dữ liệu
Các truy cập đọc(SELECT) không thể được ghi
lại
bằng các trigger CSDL thông thường
142
Trigger CSDL:
Oracle Triggers
143
Oracle Triggers
CREATE TRIGGER Executed in a specific order:
STATEMENT LEVEL triggers before COLUMN
LEVEL triggers
BEFORE triggers before AFTER triggers USER_TRIGGERS data dictionary view: all
triggers created on a table
A table can have unlimited triggers: do not
overuse them
144
Oracle Triggers
145
Kết quả giám sát
Kết quả trả về trong bảng Sys.Aud$ View: dba_audit_trail
Trường hợp Statement,Privilege,Schema Object
Kết quả trả về trong bảng fga_log$ View: dba_fga_audit_trail
Trường hợp Fine-GrainedAudit
Lưu thành file XML trong thư mục $Oracle\orcl\adump
146
Trường hợplưu file OS
Creating DDL Triggers with Oracle
Audit program provides:
Audit trail for all activities Opportunity for using process controls
Database activities statements (in addition to
DML): Data Definition Language (DDL) Data Control Language Database events SQL statements audit trail
147
Creating DDL Triggers with Oracle (continued) Use CREATE TRIGGER:
DDL statements Database events
148
Example of LOGON and LOGOFF Database Events
Steps:
Log on as SYSTEM Create the APP_AUDIT_LOGINS table Create two triggers:
One that fires after the logon event One that fires before the logoff event
Log on as DBSEC; disconnect after a few
minutes
Log on as SYSTEM to check the auditing table
149
DDL Event Example
Steps:
Log on as SYSTEM Create a trigger that fires before an ALTER
statement is completed
Log on as DBSEC and alter a table
Pseudocolumns:
ora_dict_obj_name ora_dict_obj_owner ora_sysevent
150
Auditing Code with Oracle
Steps:
Log on as DBSEC Create an auditing table Create a table and populate it with two records Create a trigger to track code Update the new table Look at the contents of the APP_AUDIT_SQLS table
151
Auditing Database Activities with Oracle
Oracle provides mechanisms for auditing all:
Who creates or modifies the structure Who is granting privileges to whom
Two types of activities based on the type of
SQL command statement used: Defined by DDL (Data Definition Language) Defined by DCL (Data Control Language)
152
Auditing DDL Activities
Use a SQL-based AUDIT command Verify auditing is on:
Check the AUDIT_TRAIL parameter Values: DB DB_EXTENDED OS NONE
153
Auditing DDL Activities (continued)
154
DDL Activities Example 1
Steps:
Use any user other than SYS or SYSTEM to
create a table
Add three rows into the table Log on as SYSTEM or SYS to enable auditing:
For ALTER and DELETE
Log in as DBSEC: Delete a row Modify the structure of the table
155
DDL Activities Example 1 (continued) Steps (continued):
Check the audit records Log in as SYSTEM and view the
DBA_AUDIT_TRAIL table Turn off the auditing option Check the content of the
DBA_AUDIT_OBJECT to see auditing metadata
156
DDL Activities Example 1 (continued)
157
DDL Activities Example 1 (continued)
158
DDL Activities Example 2
Steps:
Log in as SYSTEM or SYS to enable auditing for the TABLE statement; ALTER, CREATE, and DROP TABLE statements
Log on as DBSEC and create a table, then drop
the table
Log on as SYSTEM; view the content of
DBA_AUDIT_TRAIL
Turn off auditing for the TABLE statement
159
DCL Activities Example
Steps:
Log on as SYSTEM or SYS and issue an
AUDIT statement
Log on as DBSEC and grant SELECT and
UPDATE to SYSTEM
Log on as SYSTEM and display the contents
of DBA_AUDIT_TRAIL
Review audit data dictionary
160
DCL Activities Example (continued)
161
Example of Auditing User Activities Steps:
Log on as SYSTEM or SYS, to issue an audit
statement
Log on as DBSEC and create a temporary
table
Go back to SYSTEM to view the contents of
DBA_AUDIT_TRAIL
162
Audit Trail File Destination
Steps:
Modify the initialization parameter file,
INIT.ORA; set parameter AUDIT_TRAIL to the value OS
Create a folder/directory Set AUDIT_FILE_DEST to the new directory Shut down and restart the database Connect as DBSEC
163
Oracle Alert Log
Audits database activities:
Errors:
Errors related to physical structure are recorded
in the Alert log
Monitor errors every five to ten minutes; can be
done using a Windows or UNIX script
Syntactical errors are not recorded
Startup and shutdown
Date and time of each occurrence
164
Oracle Alert Log (continued)
165
Oracle Alert Log (continued)
Database activities (continued):
Modified initialization parameters, each time a
database is started
Checkpoints: configure Oracle to record
checkpoint time
Archiving: view the timing for all redo log sequences, as well as archiving times
Physical database changes
166
Oracle Alert Log (continued)
167
Các lưu ý với AUD$
và làm cho CSDL không thể hoạt động được
Số record trong AUD$ phụ thuộc vào 2 yếu tố: số giám sát được bật lên và tần suất thực thi của các thao tác được giám sát
Kiểm soát kích thước và sự phát triển của AUDIT_TRAIL AUD$ nằm trong SYSTEM tablespace Tấn công kiểu DOS có thể làm đầySYSTEM tablespace,
168
lớn
Giảipháp: giám sát có chọn lọc Lưu file audit trên file OS Di chuyển các record trongAUD$ ra ngoài nếu AUD$ quá
Bảo vệ AUDIT TRAIL
Sys.Aud$ cho những người dùng tin cậy
Chỉ cấp quyền DELETE ANY TABLE hoặc DELETE trên
giám sát chính Sys.Aud$
AUDITINSERT UPDATE DELETE ONsys.aud$ BYACCESS;
169
Kết luận
quan trọng đảm bảo sự an toàn cho hệ thống
Thực hiện và duy trì việc giám sát là một trong các bước
đề
giám sát nhiều sẽ làm giảm hiệu suất của hệ thống nên
cần có chính sách giám sát hợp lý:
giám sát giúp phát hiện vấn đề chứ không giải quyết vấn
hiện vấn đề
170
Chọn lọc các đối tượng và sự kiện cần giám sát Bảo vệ dữ liệu giám sát Quản lý kích thước của audit log Phân tích dữ liệu giám sát thường xuyên để sớm phát
Thank you!
171

