Bài giảng Bảo mật cơ sở dữ liệu - Audit Database
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bảo mật cơ sở dữ liệu - Audit Database", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_bao_mat_co_so_du_lieu_audit_database.pdf
Nội dung text: Bài giảng Bảo mật cơ sở dữ liệu - Audit Database
- 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 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. Audit = Ai 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) Trách nhiệm giải trình, gọi tắt là giải trình (Accountability): trách nhiệm tìm ra và chứng minh nguồn gốc các hoạt động xảy ra trong hệ thống. Hoạt động giám sát nhằm phục vụ cho hoạt động giải trình 3
- Giới thiệu Audit Database Audit/auditing: quá trình kiểm tra và xác nhận các tài liệu, dữ liệu, quy trình, thủ tục, hệ thống 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 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 4
- 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. Database auditing: giám sát lịch sử của các hoạt động cơ sở dữ liệu 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 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 5
- Tại sao phải Audit Database Trách nhiệm giải trình từ những hành động xảy ra lên các dữ liệu (schema, bảng, dòng, ) Kiểm tra hành động đáng ngờ (suspiciousactivity) 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
- 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 Thống kê tình hình truy xuất tài nguyên để có biện pháp cải thiện hiệu suất Ví dụ: dựa vào các trường, bảng thường hay được truy cập 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 7
- Các chính sách(Compliances) Các chính sách đưa ra các quy định cần phải tuân thủ và các hướng dẫn cần thiết khi giám sát Một số chính sách: Health Insurance Portability and Accountability Act (HIPAA) Sarbanes-Oxley Act Graham-Leach-Bliley Act (GLBA) Các chính sách thường không mô tả công nghệ cần thực thi Cần xác định yêu cầu và lựa chọn công nghệ 8
- Khi nào và giám sát những gì? Khi nào nên giám sát? giám sát tại mọi thời điểm từ khi hệ thống bắt đầu hoạt động giám sát những gì? 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
- Khi nào và giám sát những gì? Trong chính sách Sarbanes-Oxley, phần 404 có đưa 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
- 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 Đánh giá hiệu quả và đầy đủ của các thành phần được giám sát Xác định và xem lại độ tin cậy và tính toàn vẹn của 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 Lập kế hoạch, chính sách và thủ tục thực hiện giám sát 12
- Các hoạt động của Audit Lưu lại tất cả các thay đổi cho các thành phần được giám sát Cập nhật những thông tin đã audit và các quy định 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ác hoạt động của Audit Hoạt động như một nhà tư vấn cho các kiến trúc sư, nhà phát triển, và các nhà phân tích kinh doanh 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 ứng bởi các tổ chức được giám sát 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ế 14
- Auditing Environment Ví dụ giám sát: giám sát tài chính kiểm tra bảo mật giám sát cũng đo lường sự phù hợp với các quy định và luật pháp của chính phủ giám sát diễn ra trong một môi trường: Môi trường giám sát Môi trường cơ sở dữ liệu giám sát 15
- 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ụ People: giám sát viên, nhân viên, nhà quản lý Các đơn vị được giám sát: người, tài liệu, quy trình, hệ thống 16
- Auditing Environment Môi trường giám sát cơ sở dữ liệu khác với môi trường giám sát chung Các biện pháp an ninh là không thể tách rời 17
- Auditing Process-Qui trình Audit Đảm bảo chất lượng (QA): Đảm bảo hệ thống là không lỗi và hoạt động theo thông số kỹ thuật của nó 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 18
- Auditing Process-Qui trình Audit Thực hiện giám sát: quan sát nếu có suy giảm hiệu suất hoạt động vào những thời điểm khác nhau 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ả 19
- Auditing Process-Qui trình Audit 20
- Auditing Process-Qui trình Audit 21
- Quy trình giám sát Quy trình giám sát do NIST đưa ra 22
- 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. 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ào23 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 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à giám sát bên ngoài 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 Vấn đề tính riêng tư trong audit log 25
- Các yêu cầu của giám sát trong 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 ngoài CSDL 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. Không phụ thuộc vào DBMS và cú pháp câu lệnh SQL ứng với mỗi DBMS 26
- Các yêu cầu của giám sát trong CSDL Có khả năng ngăn chặn người quản trị hệ thống chỉnh sửa hoặc xóa dữ liệu trong audit log. 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 27
- Các phương pháp giám sát 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) 28
- Các đối tượng cần giám sát 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 29
- Các đối tượng cần giám sát giám sát các hoạt động truy cập CSDL ngoài giờ làm 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 thao tác thuộc ngôn ngữ định nghĩa dữ 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 Đượ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 30 của lược đồ(shema) theo thời gian
- Các đối tượng cần giám sát Các lỗi trong thao tác với CSDL 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 giám sát trên sự thay đổi mã nguồn của trigger và 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
- Các đối tượng cần giám sát giám sát trên sự thay đổi quyền của người dùng và 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
- Các đối tượng cần giám sát giám sát sự thay đổi của các dữ liệu nhạy cảm 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 giám sát sẽ rất lớn (vídụ: CSDL có 100 bảng với 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
- 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 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ữ mô hình giám sát 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 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
- Simple Auditing Model 1 37
- Simple Auditing Model 1 38
- Simple Auditing Model 2 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ố lượng dữ liệu được lưu trữ Không đăng ký một hành động đã được thực hiện trên dữ liệu Rất lý tưởng cho giám sát một hoặc hai cột của một bảng 39
- Simple Auditing Model 2 40
- Advanced Auditing Model Đượ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 41
- Advanced Auditing Model 42
- Advanced Auditing Model 43
- Historical Data Model Đượ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 tài chính 44
- 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 Tạo và thực hiện trigger trong Oracle Tạo và thực hiện trigger trong SQL Server 47
- DML Action Auditing Architecture 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 độ: cấp hàng mức độ cột Fine-grained auditing (FGA) 48
- 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 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 74
- Giới thiệu giám sát trong Oracle 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ông giám sát 1 người dùng, 1 nhóm người dùng hoặc tất cả các người dùng giám sát ở cấp phiên làm việc(session level) hoặc cấp truy cập (access level). 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 75
- Giới thiệu giám sát trong Oracle Dữ liệu giám sát nên được ghi trên file của hệ điều hành (OS) để tiết kiếm tài nguyên củaCSDL Các tham số khởi tạo AUDIT_TRAIL trong init.ora 76
- Các loại giám sát trong Oracle Statement Auditing Privilege Auditing Schema Object Auditing Fine-grained auditing 77
- Statement auditing Statement auditing:giám sát những lệnh hoặc nhóm câu lệnh trên từng đối tượng Câu lệnh DDL: Ví dụ AUDIT TABLE giám sát tất cả 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
- 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. Privilege auditing có độ tập trung hơn statement auditing Statement auditing: AUDIT TABLE CREATE, ALTER, DROP (TABLE) đều được giám sát Privilege auditing: AUDIT CREATE TABLE 79 chỉ giám sát câu lệnh CREATE (TABLE)
- Schema Object Auditing Kiểm tra câu lệnh cụ thể trên đối tượng schema cụ 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. Giám sát trên những đối tượng củaSchema: Table View Procedure Trigger Function Package Privilege auditing có độ ưu tiên thấp hơn các schema 80 object auditing
- 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; Thực hiện câu lệnh truy vấn trên view Emp_Name SELECT * FROM Employee_Name; 81
- Fine-grained Auditing Kiểm tra dữ liệu truy xuất và các hoạt động dựa trên nội dung của dữ liệu đó. 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. 82
- Các công cụ giám sát trong Oracle Standard Auditing Fine-Grained Auditing 83
- 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 audit_sys_operations boolean FALSE 85 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 AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended } 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 giám sát được sẽ được lưu trong database audit trail (SYS.AUD$). xml- Bật chức năng giám sát với các bản ghi giám sát được sẽ được lưu như file OS có định dạng XML.86
- 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. Tham số AUDIT_SYS_OPERATIONS dùng để kích 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_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 87
- 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 và quyền thì bạn nhất thiết phải có quyền AUDIT 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. 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. BY SESSION/ BY ACCESS 89
- 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 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. 91
- 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. Mệnh đề BY SESSION/BY ACCESS không được hỗ trợ trong câu lệnh NOAUDIT. 92
- 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ố: 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ử dụng phương pháp: 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 94sẽ 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. Quản lí chặt khả năng giám sát đối tượng. Điều đó có 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. 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. 95 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’; 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. 96
- 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}] Trong đó, statement_option và privilege_option là phần bắt buộc, và các phần khác thì không bắt buộc. 97
- Cú pháp câu lệnh giám sát sql_statement_clause::= Chú ý: Oracle khuyên rằng nên đặc tả lựa chọn 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
- Cú pháp câu lệnh giám sát auditing_by_clause::= 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. 99
- Cú pháp câu lệnh giám sát schema_object_clause::= Giám sát các hoạt động trên những đối tượng schema. 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, ALL: là một shortcut tương ứng với tất cả các object 100 options cho các loại đối tượng.
- Cú pháp câu lệnh giám sát auditing_on_clause::= auditing_on_clause: đặc tả đối tượng schema riêng biệt được giám sát. 101
- 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. 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 đề 102 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. 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. 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
- 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. 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ó 105
- 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. 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ị. 107
- 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) Hàm và các cột liên quan trong Fine-grained 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. 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. 109
- Fine-grained Auditing (FGA) Hàm và các cột liên quan trong Fine-grained 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. 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ột110 nào trong những cột được giám sát đó.
- Fine-grained Auditing (FGA) Hàm và các cột liên quan trong Fine-grained 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ính111 sách đó đều được ghi lại.
- Fine-grained Auditing (FGA) Hàm và các cột liên quan trong Fine-grained 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) 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. 113
- Gói DBMS_FGA trong Oracle Cú pháp 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, 114 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 Chú ý về tham số audit_trail: 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 ALL_AUDIT_POLICIES. 117
- 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. Cú pháp DBMS_FGA.ENABLE_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2, enable BOOLEAN); 120
- 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 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' ); 124 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 System trigger: Trigger được tự động thực thi khi có 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 đồ Trigger CSDL: Trigger trên các câu lệnh Update, Delete, Insert Các trigger CSDL có thể ghi lại các thay đổi ở cấp 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
- 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 Trường hợp Statement,Privilege,Schema Object Kết quả trả về trong bảng Sys.Aud$ View: dba_audit_trail Trường hợp Fine-GrainedAudit Kết quả trả về trong bảng fga_log$ View: dba_fga_audit_trail Trường hợplưu file OS Lưu thành file XML trong thư mục $Oracle\orcl\adump 146
- 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$ 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, 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 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á lớn 168
- Bảo vệ AUDIT TRAIL Chỉ cấp quyền DELETE ANY TABLE hoặc DELETE trên Sys.Aud$ cho những người dùng tin cậy giám sát chính Sys.Aud$ AUDITINSERT UPDATE DELETE ONsys.aud$ BYACCESS; 169
- Kết luận Thực hiện và duy trì việc giám sát là một trong các bước quan trọng đảm bảo sự an toàn cho hệ thống giám sát giúp phát hiện vấn đề chứ không giải quyết vấn đề 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ý: 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 hiện vấn đề 170
- Thank you! 171