Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. • 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
  10. 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
  11. độ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
  12. đó. 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
  13. • 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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