Xem mẫu
- MỤC LỤC
MỤC LỤC..................................................................................................................1
DANH MỤC CÁC TỪ VIẾT TẮT ...........................................................................3
LỜI MỞ ĐẦU ............................................................................................................4
CHƯƠNG 1. GIỚI THIỆU VỀ ORACLE 10G VÀ KIỂM TOÁN TRONG
ORACLE 10G ..........................................................................................................5
1.1. ORACLE 10G ..........................................................................................5
1.1.1. Ưu điểm của Oracle ...........................................................................5
1.1.2. Tính năng cải tiến của Oracle 10 G ( oracle 10 Grid Computing) ......6
1.2. KIỂM TOÁN TRONG ORACLE 10G..................................................7
1.2.1. Tại sao phải kiểm toán.......................................................................7
1.2.2. Khái quát về kiểm toán ...................................................................10
CHƯƠNG 2. FINE-GRAINED AUDITING ..........................................................14
2.1. Các tính năng vượt trội của kiểm toán FGA.......................................14
2.2. Các thủ tục trong gói DBMS_FGA . ....................................................18
2.2.1. DBMS_FGA.ADD_POLICY Procedure. ......................................18
2.2.2. Các thủ tục khác chỉ trạng thái (Status). ...........................................23
2.2.3. FGA Guidelines (Hướng dẫn sử dụng FGA).....................................24
CHƯƠNG 3. KỊCH BẢN DEMO.........................................................................25
3.1. Cài đặt servervà các tham số cần thiết ................................................25
1 | Page
- 3.2. Thực hiện kiểm toán FGA (Fine Grained Auditing)..........................27
3.3. Kết quả đạt được....................................................................................31
KẾT LUẬN ..............................................................................................................32
TÀI LIỆU THAM KHẢO .......................................................................................33
2 | Page
- DANH MỤC CÁC TỪ VIẾT TẮT
KÝ HIỆU Ý NGHĨA
FGA Fine grained auditing
SQL Structured Query Language
PL/SQL Procedural Language/Structured Query
Language
OS Operating System
XML eXtensible Markup Language
3 | Page
- LỜI MỞ ĐẦU
Sự phát triển lớn mạnh của công nghệ thông tin trong những năm qua đã dẫn
đến sử dụng rộng rãi hệ thống máy tính trong mọi tổ chức, cá nhân.Vì vậy, dữ liệu
được lưu giữ và quản lý trong các hệ thống máy tính nhiều hơn. Cơ sở dữ liệu sử
dụng các hệ quản trị cơ sở dữ liệu đã đáp ứng được các yêu cầu về lưu giữ và quản
lý dữ liệu.Vấn đề bảo mật cơ sở dữ liệu càng trở nên cấp thiêt.Giám sát và kiểm
toán đã trở thành một phần không thể thiếu trong lĩnh vực bảo mật cơ sở dữ liệu và
với hệ quản trị cơ sở dữ liệu Oracle cũng vậy.
Trong xu thế hiện nay Oracle đang ngày càng chiếm lĩnh được thị trường
nhờ những ưu điểm nổi bật cả về quản trị và bảo mật dữ liệu. Kiểm toán trong hệ
quản trị Oracle là một đề tài hấp dẫn trong lĩnh vực bảo mật. Và Oracle 10g là một
phiên bản mới với nhiều tính năng vượt trội của hệ quản trị cơ sở dữ liệu Oracle.
Thấy được tầm quan trọng của việc kiểm toán đối với việc bảo vệ cơ sở dữ liệu,
nhóm đã chọn đề tài “ Kiểm toán trong Fine-Grained Auditing”. Nội dung chính
mà nhóm muốn trình bày tới thầy và các bạn gồm:
• Chương 1. Tổng quan về Oracle 10g và kiểm toán trong Oracle 10g
• Chương 2. Kiểm toán trong Fine-Grained Auditing
• Chương 3. Kịch bản Demo
Với thời gian và kiến thức còn hạn chế nên không thể tránh khỏi những thiếu
sót. Mong thầy và các bạn tham khảo và đóng góp ý kiến để nhóm hoàn thiện hơn
bản báo cáo của mình.
Chúng em xin chân thành cảm ơn!
Vũ Hoàng Đạt Lê Văn Phương
Lê Thị Linh Ngô Đức Nam
4 | Page
- CHƯƠNG 1. GIỚI THIỆU VỀ ORACLE 10G VÀ KIỂM TOÁN
TRONG ORACLE 10G
1.1. ORACLE 10G
1.1.1. Ưu điểm của Oracle
Oracle không chỉ nhắm tới những doanh nghiệp lớn mà còn nhắm tới
những doanh nghiệp trung bình và cho cả những doanh nghiệp nhỏ.Cụ thể là
Oracle Server có đủ các phiên bản thương mại từ Personal, Standard đến
Enterprise (ngoài ra còn có Oracle lite).
Về phía các doanh nghiệp: Oracle tỏ ra rất có ưu điểm như tính bảo
mật cao, tính an toàn dữ liệu cao, dễ dàng bảo trì-nâng cấp, cơ chế quyền
hạn rỏ ràng, ổn định,...
Oracle cũng không quá đắt, nếu doanh nghiệp đã từng mua lisence của
MSSQLServer thì sẽ thấy giá của Oracle cũng không chênh lệch là bao thậm
chí còn rẻ hơn, nhưng lợi ích có được lại rất lớn.
Về phía những nhà phát triển: Oracle cũng tỏ ra rất có ưu điểm như dễ
cài đặt, dễ triển khai và dễ nâng cấp lên phiên bản mới. Hơn nữa Oracle còn
tích hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu trúc - Structure
Language. Tạo thuận lợi cho các lập trình viên viết các Trigger,
StoreProcedure, Package. Đây là điểm rất mạnh so với các CSDL hiện có
trên thị trường.
Oracle, ngoài các kiểu dữ liệu thông thường còn có các kiểu dữ liệu
đặc biệt khác mang lại sức mạnh cho Oracle như Blob, clob, Bfile, ...
Nếu ta chỉ chạy thử, ta cũng không cần lo đến vấn đề lisence vì có thể
download từ trang của Oracle (technet.oracle.com).
Ngoài ra, ta có thể triển khai Oracle trên nhiều OS khác nhau
(Windows, Solaris, Linux,...) mà không cần phải viết lại PL/SQL code. Có
thể import một dumpFile (backupFile) từ một máy chạy OS này sang OS
khác hoặc từ một version thấp lên một version cao hơn mà không gặp bất cứ
5 | Page
- trở ngại nào ! (việc ngược lại cũng có thể thực hiện được nếu như ta không
xài các tính năng mới so với version trước đó).
1.1.2. Tính năng cải tiến của Oracle 10 G ( oracle 10 Grid
Computing)
Oracle Database 10g được phát hành với phiên bản 10.1.0.2 đầu năm
2004. Oracle Database 10g là hệ thống cơ sở dữ liệu đầu tiên được thiết kế
nhằm tăng sức mạnh lưu trữ và xử lý dữ liệu dựa trên công nghệ tính toán
lưới (Grid Computing).
Việc phát hành Oracle10g cung cấp cơ sở hạ tầng hiệu năng cao toàn
diện, bao gồm:
➢ Khả năng mở rộng của các sở để doanh nghiệp các trang web thương
mại điện tử
➢ Mạnh mẽ, đáng tin cậy, có sẵn, và kiến trúc an toàn.
➢ Một mô hình phát triển lựa chọn triển khai dễ dàng.
➢ Tận dụng skillset hiện hành của một tổ chức trong suốt nền tảng Oracle
(bao gồm cả SQL,PL / SQL, Java, và XML)
➢ Một giao diện quản lý cho tất cả các ứng dụng.
➢ Tiêu chuẩn công nghiệp công nghệ , không có độc quyền trong khóa
6 | Page
- 1.2. KIỂM TOÁN TRONG ORACLE 10G
1.2.1. Tại sao phải kiểm toán
An toàn thông tin trong cơ sở dữ liệu bao gồm 3 yếu tố chính: tính bí
mật, toàn vẹn và sẵn sàng.Vì thế để đảm bảo an toàn thông tin trong cơ sở
dữ liệu cần đảm bảo cả ba yếu tố. Yếu tố bí mật quan trọng nhất để đảm bảo
an toàn trong các môi trường, cả quân sự lẫn thương mại. Đảm bảo tính toàn
vẹn có nghĩa là ngăn chặn, phát hiện và xác định các sửa đổi thông tin trái
phép. Đảm bảo tính sẵn sàng có nghĩa là ngăn chặn, phát hiện và xác định
các từ chối truy nhập chính đáng vào các dịch vụ mà hệ thống cung cấp.
1.2.1.1. Các hiểm họa đối với an toàn cơ sở dữ liệu
Một hiểm hoạ có thể được xác định khi đối phương (người, hoặc
nhóm người) sử dụng các kỹ thuật đặc biệt để tiếp cận nhằm khám phá, sửa
đổi trái phép thông tin quan trọng do hệ thống quản lý.
Các xâm phạm tính an toàn cơ sở dữ liệu bao gồm đọc, sửa, xoá dữ
liệu trái phép. Thông qua những xâm phạm này, đối phương có thể:
• Khai thác dữ liệu trái phép thông qua suy diễn thông tin được phép.
• Sửa đổi dữ liệu trái phép.
• Từ chối dịch vụ hợp pháp.
Các hiểm hoạ an toàn có thể được phân lớp, tuỳ theo cách thức xuất
hiện của chúng, là hiểm hoạ có chủ ý và vô ý (ngẫu nhiên).
Những xâm phạm trên liên quan đến hai lớp người dùng sau:
• Người dùng được phép truy cập nhưng lạm dụng quyền, sử dụng vượt
quá quyền hạn được phép của họ.
• Đối phương là người, hay nhóm người truy nhập thông tin trái phép, có
thể là những người nằm ngoài tổ chức hay bên trong tổ chức. Họ tiến
hành các hành vi phá hoại phần mềm cơ sở dữ liệu hay phần cứng của
7 | Page
- hệ thống, hoặc đọc ghi dữ liệu trái phép. Trong cả hai trường hợp trên,
họ đều thực hiện với chủ ý rõ ràng.
Một số tấn công phổ biến hiện nay:
Tấn công SQL injection
SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ
hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông
báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào"(inject) và thi hành các câu
lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước).
Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện
các thao tác xóa, hiệu chỉnh, … do có toàn quyền trên cơ sở dữ liệu của ứng
dụng, thậm chí là server mà ứng dụng đó đang chạy. Lỗi này thường xảy ra
trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ
liệu như SQL Server, MySQL, Oracle, DB2, Sysbase.
Attacking Oracle : kẻ tấn công sử dụng TCP scan port để quét lỗ hổng
trên Server Database Oracle
Tấn công DoS
Kẻ tấn công thường làm tràn bộ đệm của hệ thống hoặc làm ngập lụt
băng thông mạng để sửa đổi dữ liệu hoặc đánh cắp thông tin
Tấn công leo thang đặc quyền
Sự leo thang đặc quyền có thể hiểu đơn giản là một phương thức tấn
công mà với cách này, các User có quyền hạn thấp hơn sẽ tấn công vào một
điểm dễ bị tổn thương nhất của hệ thống để trở thành một người quản trị hoặc
có thể trở thành các User có quyền hạn cao hơn.
1.2.1.2. Các yêu cầu bảo vệ cơ sở dữ liệu.
Bảo vệ cơ sở dữ liệu khỏi các hiểm hoạ, có nghĩa là bảo vệ tài nguyên,
đặc biệt là dữ liệu khỏi các thảm hoạ, hoặc truy nhập trái phép. Các yêu cầu
bảo vệ cơ sở dữ liệu gồm:
8 | Page
- • Bảo vệ chống truy nhập trái phép
• Bảo vệ chống suy diễn
• Bảo vệ toàn vẹn cơ sở dữ liệu
• Khả năng lưu vết và kiểm tra
• Xác thực người dùng
• Quản lý và bảo vệ dữ liệu nhạy cảm
• Bảo vệ nhiều mức
1.2.1.3. Vai trò của kiểm toán trong việc bảo vệ cơ sở dữ liệu
Để bảo mật cơ sở dữ liệu thì giám sát (Monitoring) và kiểm toán
(Audit) là một phần không thể thiếu cho những thủ tục bảo mật.
Kiểm toán giúp thu giữ và lưu trữ thông tin về những gì đang xảy ra
trong hệ thống. Kiểm toán phải được tập trung để chỉ những sự kiện được
quan tâm sẽ được lưu lại vết (Trail).Từ đó nhờ những bản ghi audit sẽ giúp
DBA phát hiện và kịp thời những tấn công hay lỗ hổng và ngăn chặn những
hành vi phá hoại của tin tặc.Hoặc nhanh chóng sửa chữa những bất thường
của hệ thống.
Kiểm toán thường được sử dụng để:
• Kích hoạt tính trách nhiệm sau này cho các hành động hiện tại thực
hiện trong một lược đồ đặc biệt, bảng, hoặc hàng, hoặc ảnh hưởng đến
nội dung cụ thể.
• Giúp người giám sát biết được nếu có user bất hợp pháp đang thao tác
với cơ sở dữ liệu.
• Điều tra hoạt động đang nghi ngờ. Ví dụ. nếu một người sử dụng trái
phép là xóa dữ liệu từ các bảng, sau đó các quản trị viên bảo mật có thể
9 | Page
- kiểm toán tất cả các kết nối CSDL và tất cả các xóa bỏ thành công va
không thành công của các hàng từ tất cả các bảng trong CSDL.
• Theo dõi 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 số liệu thống kê về những bảng
đang được cập nhật, bao nhiêu I/O được thực hiện, hoặc làm thế nào
nhiều người dùng đồng thời kết nối tại thời gian cao điểm.
1.2.2. Khái quát về kiểm toán
1.2.2.1. Định nghĩa kiểm toán
Kiểm toán là việc theo dõi và ghi lại các hành động lựa chọn CSDL
người dùng. Nó có thể được dựa trên hành động cá nhân, chẳng hạn như các
loại câu lệnh SQL, hoặc kết hợp các yếu tố bao gồm tên, ứng dụng, thời
gian,… Chính sách bảo mật có thể tạo ra kiểm toán khi các yếu tố quy định
tại một CSDL Oracle được truy cập hay thay đổi bao gồm cả nội dung.
Oracle cho phép tùy chọn kiểm toán phải được tập trung hoặc mở
rộng, cho phép kiểm toán sau đây:
• Sự thực hiện statement thành công , Sự thực hiện statement không
thành công, hoặc cả hai.
• Sự thực hiện statement một lần trong mỗi phiên của người dùng hoặc
một lần trong thời gian báo cáo được thực thi
• Các hoạt động của tất cả người dùng hoặc của một người dùng cụ thể
Ta có thể sử dụng Enterprise Manager để xem và cấu hình các thông
số liên quan đến kiểm toán khởi tạo và quản lý các đối tượng được kiểm
toán để báo cáo kiểm toán và lược đồ đối tượng kiểm toán
1.2.2.2. Record audit
Audit record (Bản ghi kiểm toán) bao gồm thông tin về các hoạt động
đã được kiểm toán, người sử dụng thực hiện các hoạt động, và thời gian hoạt
10 | P a g e
- động. Hồ sơ kiểm toán có thể được lưu dưới dạng một bảng từ điển dữ liệu,
được gọi là database audit trail, hoặc trong các tập tin hệ điều hành, được gọi
là operating system audit trail.
Có hai loại kiểm toán chính là Standard audit và fine-grained auditing.
Standard audit records được tạo và lưu lại tại DBA_AUDIT_TRAIL (bảng
sys.aud$) hoặc hệ điều hành. Fine-grained audit records được tạo và lưu tại
DBA_FGA_AUDIT_TRAIL (bảng sys.fga_log$ ).
Audit record được tạo khi:
• Standard auditing cho toàn bộ cơ sở dữ liệu có thể kích hoạt
hay vô hiệu hóa bởi các quản trị viên bảo mật. Nếu nó bị tắt,
sau đó không có hồ sơ kiểm toán được tạo ra.
• Nếu kiểm toán cơ sở dữ liệu được kích hoạt bởi người quản trị
bảo mật, sau đó tùy chọn kiểm toán cá nhân có hiệu lực. Các
tùy chọn này kiểm toán có thể được thiết lập bởi bất kỳ người
sử dụng cơ sở dữ liệu được ủy quyền cho các đối tượng cơ sở
dữ liệu mà người dùng sở hữu.
• Khi kiểm toán được kích hoạt trong cơ sở dữ liệu và hành động
một thiết lập hành động để kiểm toán và một bản ghi kiểm toán
được tạo ra trong giai đoạn thực thi của statement.
• Câu lệnh SQL bên trong PL / SQL được kiểm toán một cách
riêng lẻ, khi cần thiết, các đơn vị chương trình được thực hiện.
• Việc phát sinh và chèn của một audit trail record là user
transaction độc lập được thực hiện.
• Statement and privilege audit có hiệu lực tại thời điểm một
người sử dụng cơ sở dữ liệu kết nối với cơ sở dữ liệu vẫn có
hiệu lực trong khoảng thời gian phiên của họ.
• Thiết lập hoặc thay đổi các tùy chọn statement or privilege
audit trong một phiên không có hiệu lực trong phiên giao dịch
11 | P a g e
- đó. Các statement sửa đổi hoặc lựa chọn privilege audit chỉ có
hiệu lực khi kết thúc phiên hiện tại và phiên mới được tạo ra.
• Ngược lại, thay đổi sơ đồ lựa chọn đối tượng kiểm toán
(schema object audit) có hiệu lực cho phiên hiện tại ngay lập
tức.
1.2.2.3. Các loại kiểm toán
Để giám sát cho hành vi đáng ngờ, giám sát (Monitoring) và kiểm
toán phải là 1 phần không thể thiếu cho những thủ tục bảo mật.
Các loại kiểm toán:
• Mandatory auditing : Là các hoạt động kiểm toán mặc định .Bất
kể cơ sở dữ liệu kiểm toán có được kích hoạt hay không, cơ sở
dữ liệu Oracle luôn luôn kiểm tra một số hoạt động liên quan
đến cơ sở dữ liệu và ghi chúng vào tập tin vận hành hệ thống
kiểm toán. Thực tế này được gọi là kiểm toán bắt buộc,
• Standard database auditing : Đây là thiết lập ở cấp độ hệ thống
bằng cách sử dụng những tham số AUDIT_TRAIL. Sau khi
kích hoạt tính năng kiểm toán, lựa chọn các đối tượng và đặc
quyền muốn kiểm toán.
• Value-based auditing (Kiểm toán dựa trên giá trị) : Nó trải dài
trên Standard database auditing, không chỉ lưu các trường hợp
kiểm toán đã xảy ra mà còn là giá trị thực tế đã được đưa vào,
cập nhật,hoặc bị xóa. Kiểm toán dựa trên giá trị được thực hiện
thông qua cơ sở dữ liệu gây nên.
• Fine-grained auditing (FGA): FGA mở rộng từ Standard
database, ghi lại SQL statement đã được ban hành thay vì chỉ
những sự kiện đã xảy ra.
12 | P a g e
- • DBA auditing: Nhiệm vụ kiểm toán riêng giữa DBA và kiểm
toán viên hoặc người quản trị an ninh những người mà giám sát
những hoạt động của DBA trong kiểm định hệ điều hành.
Để phục vụ cho nội dung chính của đề tài, nhóm chỉ tập trung vào làm
rõ các vấn đề trong dạng kiểm toán Fine-grained auditing (FGA).
13 | P a g e
- CHƯƠNG 2. KIỂM TOÁN TRONG FINE-GRAINED AUDITING
Kiểm toán truy cập dữ liệu và hành động dựa trên nội dung. Sử dụng
DBMS_FGA, các quản trị viên bảo mật tạo ra một chính sách kiểm toán trên
bảng mục tiêu. Nếu bất kỳ hàng nào trở về từ một khối câu lệnh DML phù
hợp với điều kiện kiểm toán, sau đó một sự kiện kiểm toán đưa vào dấu vết
kiểm toán.
2.1. Các tính năng vượt trội của kiểm toán FGA
Fine grained auditing kiểm toán dữ liệu dựa trên nội dung. FGA cung
cấp điều khiển tốt hơn và là một phương pháp chi tiết hơn của kiểm toán.
Phương pháp này tạo ra các bản ghi kiểm toán dựa trên các điều kiện,
truy vấn chính xác,và lấy dữ liệu hoặc điều chỉnh bằng các statement. Nó
cung cấp một cơ sở để kiểm toán những statement tham chiếu đến một cột
cụ thể. Phương pháp FGA được giới thiệu trong Oracle9i. Tuy nhiên, Oracle
Database 10g tăng cường năng lực cho FGA bằng cách mở rộng SQL
Support để hỗ trợ các kiểm toán của các truy vấn, cũng như các hoạt động
UPDATE, INSERT và DELETE .
Hình 2.1: Ví vụ về chính sách kiểm toán
Được giới thiệu vào Oracle 9i, hạt mịn kiểm toán (FGA) thực hiện
khả năng kiểm toán thông qua một gói phần mềm mới có tên DBMS_FGA.
Gói này cho phép thực hiện kiểm toán ở một mức độ rất chi tiết đối với bất
kỳ bảng trong cơ sở dữ liệu thông qua một đối tượng cơ sở dữ liệu đặc biệt
gọi là một chính sách FGA. Có nhiều tiểu chương trình của gói DBMS_FGA
. Gói DBMS_FGA cho phép thiết lập các điều kiện kiểm toán và xác định
14 | P a g e
- các cột kiểm toán để chỉ định cột trong một bảng hoặc xem yêu cầu
monitoring. Khi điều kiện được đáp ứng vào cột cụ thể,kiểm toán FGA sẽ
lưu lại một bản ghi kiểm toán cho thấy các truy vấn SQL text.
ADD_POLICY Tạo ra một chính sách kiểm toán bằng cách
Procedure sử dụng các thuộc tính được cung cấp như
điều kiện kiểm toán
DISABLE_POLICY Vô hiệu hóa một chính sách kiểm toán
Procedure
DROP_POLICY Giảm (Xoá) một chính sách kiểm toán
Procedure
ENABLE_POLICY Cho phép một chính sách kiểm toán
Procedure
Bảng 2.1: Các thủ tục của gói DBMS_FGA
Các bản ghi kiểm toán standard auditing chi tiết như chủ sở hữu, dấu
thời gian, loại của statement vv, nhưng nó không cung cấp thông tin về sự
thay đổi đã xảy ra trong dữ liệu. Thông tin này có thể rất hữu ích cho các
DBA hoặc người dùng muốn phân tích các hoạt động diễn ra trên bảng. Đây
là lý do tại sao nhà phát triển cần có sự giúp đỡ của triger và ghi lại các giá
trị bảng trước và sau trong bảng người dùng định nghĩa. Nhưng trigger chỉ
có thể được ghi lại bằng DML statements Insert, Update và Delete còn
Select thì không được lưu lại. Vì vậy,nếu muốn ghi lại các statement Select
đã đưa ra vào một bảng hay cột cụ thể của bảng thì cần đến FGA để giải
quyết. FGA cũng cho phép kiểm toán phải được tập trung hẹp hơn so với
standard hay value-based database auditing.
Đến Oracle 9i, FGA chỉ được hỗ trợ Select, nhưng trong Oracle 10g
FGA hỗ trợ tất cả statement DML. Vì vậy, tất cả các Insert, Update, Delete
15 | P a g e
- và Select statement có thể được chụp lại bằng cách sử dụng FGA và có thể
được xem qua các từ điển dữ liệu DBA_FGA_AUDIT_TRAIL.
Tên cột Miêu tả
STATEMENT_TYPE Loại của statement – INSERT, UPDATE,
DELETE, hay SELECT để kích hoạt kiểm
toán.
EXTENDED_TIMESTAMP Timestamp mở rộng của the trail entry.
PROXY_SESSIONID Nếu người dùng là một người dùng doanh
nghiệp và kết nối bằng cách sử dụng một
người sử dụng proxy, các SID của các phiên
kết nối người sử dụng proxy được hiển thị ở
đây.
GLOBAL_UID Nếu người dùng là một người dùng doanh
nghiệp,thì đây là các global user ID.
INSTANCE_NUMBER Số của instance nếu sử dụng RAC
OS_PROCESS Operating System xử lý id.
TRANSACTIONID Các transaction nhận dạng, nếu statement là
một phần của statement
TATEMENTID Statement id.
ENTRYID Các mục định danh trong các dấu vết.
Bảng 2.2: Các cột mới của dba_fga_audit_trail
Tùy chọn trong kiểm toán FGA có thể được tập trung bởi các cột
riêng lẻ trong một bảng hoặc khung nhìn, và thậm chí có thể có điều kiện để
16 | P a g e
- kiểm toán được ghi lại chỉ khi một số chi tiết kỹ thuật quản trị được xác định
là đáp ứng. Nhiều hơn một cột có liên quan được hỗ trợ cho một chính sách
FGA. Theo mặc định, nếu có một trong cột này hiện diện trong các câu lệnh
SQL, nó được kiểm toán. DBMS_FGA.ALL_COLUMNS và
DBMS_FGA.ANY_COLUMNS được cung cấp cho kiểm toán trên cơ sở có
bất kỳ hoặc tất cả các cột có liên quan được sử dụng trong bản báo cáo
(statement).
Sử dụng các gói DBMS_FGA PL / SQL để tạo ra một chính sách
kiểm toán trên target table hay view. Nếu bất kỳ các hàng được trả lại từ một
khối truy vấn kết hợp các cột được kiểm toán và kiểm toán quy định điều
kiện, sau đó có một sự kiện kiểm toán thì bản ghi kiểm toán phải được tạo ra
và lưu trữ trong các Audit Trail.
Các sự kiện kiểm toán cũng có thể thực hiện một thủ tục(procedure).
FGA tự động tập trung kiểm toán từ các mức độ báo cáo(statement), và do
đó một SELECT statement trả về hàng ngàn hàng chỉ tạo ra một bản ghi
kiểm toán.
Kiểm toán FGA cung cấp một phương pháp tiếp cận linh hoạt,được
kiểm soát để kiểm toán các hoạt động cơ sở dữ liệu. Các tính năng nổi bật
như xử lý sự kiện, kiểm toán, điều kiện, và cột tham chiếu cho các FGA một
kĩ thuật tốt hơn các kỹ thuật kiểm toán khác của Oracle. FGA là dễ dàng để
quản lý và không tạo thêm chi phí cho quản trị cơ sở dữ liệu.
17 | P a g e
- 2.2. Các thủ tục trong gói DBMS_FGA .
2.2.1. DBMS_FGA.ADD_POLICY Procedure.
Hình 2.2: DBMS_FGA.ADD_POLICY Procedure
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,
audit_column_opts BINARY_INTEGER IN DEFAULT
);
18 | P a g e
- Parameter Description
object_schema Lược đồ của đối tượng được kiểm toán. Giá trị mặc định:
NULL. (Nếu NULL, những hiệu quả lược đồ người dùng hiện
hành được giả định.)
object_name Tên của đối tượng được kiểm toán
policy_name Tên duy nhất của chính sách.
audit_condition Một điều kiện trong một hàng mà chỉ ra một điều kiện
monitoring. NULL được cho phép và các hành vi như là
TRUE. Giá trị mặc định: NULL
audit_column Các cột phải được kiểm tra để truy cập. Đây có thể bao gồm
các cột ẩn. Các mặc định, NULL, nguyên nhân kiểm toán nếu
cột nào được truy cập hoặc bị ảnh hưởng. Giá trị mặc định:
NULL
handler_schema Các lược đồ có chứa các xử lý sự kiện. Các mặc định, NULL,
nguyên nhân lược đồ hiện tại sẽ được sử dụng. Giá trị mặc
định: NULL
handler_module Tên chức năng của các xử lý sự kiện, bao gồm các tên gói nếu
cần thiết. Chức năng này được gọi chỉ sau khi hàng đầu tiên
phù hợp với điều kiện kiểm toán được xử lý trong truy vấn.
Nếu thủ tục không có ngoại lệ, user SQL statement will fail as
well. Giá trị mặc định: NULL
Enable Cho phép các chính sách nếu TRUE, đó là mặc định. Giá trị
mặc định: TRUE
19 | P a g e
- statement_types Các SQL statement mà chính sách này được áp dụng: insert,
update, delete, or select. Giá trị mặc định: SELECT
audit_trail Whether to populate LSQLTEXT và LSQLBIND trong
fga_log$. Giá trị mặc định: DB_EXTENDED
Bảng 2.3: Mô tả các thuộc tính DBMS_FGA.ADD_POLICY
Ví dụ : cho thấy một chính sách FGA được tạo ra với thủ tục
DBMS_FGA.ADD_POLICY . Thủ tục này chấp nhận các đối số sau đây:
Tên chính sách
Chỉ định cho mỗi chính sách FGA một tên khi tạo ra nó. Như ví dụ
trên trong các tên chính sách AUDIT_EMPS_SALARY bằng cách sử dụng
các đối số sau đây: policy_name => 'audit_emps_salary'
Điều kiện kiểm toán
Các điều kiện kiểm toán là một câu lệnh SQL xác định được định
nghĩa khi sự kiện kiểm toán phải cháy. Trong ví dụ, tất cả các hàng trong
department_10 được kiểm toán bằng cách sử dụng các đối số điều kiện :
audit_condition => 'department_id=10'
Kiểm toán Cột (Audit column)
Các cột kiểm toán xác định các dữ liệu đang được kiểm toán. Một sự
kiện kiểm toán xảy ra nếu cột này bao gồm SELECT statement hoặc nếu
điều kiện kiểm toán cho phép lựa chọn. Trong ví dụ kiểm toán hai cột bằng
cách sử dụng các đối số sau đây: audit_column => 'LƯƠNG,
COMMISION_PCT' Đối số này là tùy chọn. Nếu nó không được quy định
thì sau đó là đối số AUDIT_CONDITION xác định xem một sự kiện kiểm
toán phải xảy ra.
Đối tượng (Object)
20 | P a g e
nguon tai.lieu . vn