1. Trang chủ
  2. » Tất cả

Bài thực hành bảo mật hệ thống thông tin số 7 virtual private database

7 4 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài thực hành bảo mật hệ thống thông tin số 7 Virtual Private Database
Trường học Đại học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Information Security
Thể loại Bài thực hành
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 7
Dung lượng 469,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài th c hành s 7ự ố VIRTUAL PRIVATE DATABASE (2)  Tóm t t n i dung ắ ộ � Quy n ề EXEMPT ACCESS POLICY � Giám sát quy n ề EXEMPT ACCESS POLICY � X lý các Exception v Policy Functionử ề � Column Sensi[.]

Trang 1

Bài th c hành s  7 ự ố

VIRTUAL PRIVATE DATABASE (2)

Tóm t t n i dung:   ắ ộ  

Quy n  ề EXEMPT ACCESS POLICY Giám sát quy n  ề EXEMPT ACCESS POLICY

X  lý các Exception v  Policy Function ử ề Column Sensitive VPD 

I Quy n EXEMPT ACCESS POLICY

A Lý thuy t ế

 Tuy RLS cung c p m t k  thu t b o m t r t t t, nh ng nó cũng d n đ n m t s ấ ộ ỹ ậ ả ậ ấ ố ư ẫ ế ộ ự  khó ch u khi th c hi n các tác v  qu n tr  CSDL (ví d : tác v  backup d  li u). Nh ị ự ệ ụ ả ị ụ ụ ữ ệ ư 

đã bi t, ngay c  các DBA và ng ế ả ườ i ch  c a các đ i t ủ ủ ố ượ ng đó cũng không th  tránh ể  

đ ượ c các chính sách b o m t. N u ng ả ậ ế ườ i ch  c a m t b ng nào đó ho c m t DBA ủ ủ ộ ả ặ ộ  

th c hi n backup d  li u c a b ng đó trong khi các chính sách b o m t trên nó v n ự ệ ữ ệ ủ ả ả ậ ẫ  

có tác d ng, r t có th  file backup s  không có d  li u nào h t. Vì lý do này (và m t ụ ấ ể ẽ ữ ệ ế ộ  

s  lý do khác n a), Oracle cung c p quy n EXEMPT ACCESS POLICY. Ng ố ữ ấ ề ườ   i

đ ượ c c p quy n này s  đ ấ ề ẽ ượ c mi n kh i t t c  các function RLS. Ng ễ ỏ ấ ả ườ i qu n tr ả ị  CSDL có nhi m v  th c hi n backup c n có quy n này đ  đ m b o r ng t t c  các ệ ụ ự ệ ầ ề ể ả ả ằ ấ ả  

d  li u s  đ ữ ệ ẽ ượ c backup l i ạ

B Th c hành

 Ví d  sau s  minh h a vi c c p quy n này và  nh h ụ ẽ ọ ệ ấ ề ả ưở ng c a nó trên các function ủ   RLS:

system@KNOX10g> CONN system/manager Connected

Trang 2

system@KNOX10g> SYSTEM bị ảnh hưởng bởi các policy function system@KNOX10g> Nên không có record nào được delete

system@KNOX10g> DELETE FROM scott.emp;

0 rows deleted

system@KNOX10g> Cấp quyền để SYSTEM kg bị ảnh hưởng bởi policy function

system@KNOX10g> GRANT EXEMPT ACCESS POLICY TO SYSTEM;

Grant succeeded

system@KNOX10g> SYSTEM không còn bị ảnh hưởng bởi các policy function

system@KNOX10g> Tất cả các record bị xóa system@KNOX10g> DELETE FROM scott.emp;

14 rows deleted

system@KNOX10g> ROLLBACK;

II Giám sát quy n EXEMPT ACCESS POLICY

A Lý thuy t ế

 Do đây là quy n r t m nh, không ch  đ nh trên c  th  m t schema hay object nào nên ề ấ ạ ỉ ị ụ ể ộ  

ta c n c n tr ng trong vi c qu n lý xem ai đ ầ ẩ ọ ệ ả ượ c phép n m gi  quy n này. M c ắ ữ ề ặ  

đ nh, nh ng user có các quy n SYSDBA s  có quy n này (account SYS) ị ữ ề ẽ ề

 Ta không th  ngăn c n các user đ ể ả ượ c c p quy n kh i vi c l m d ng quy n đ ấ ề ỏ ệ ạ ụ ề ượ   c

c p. Ta ch  có th  theo dõi xem h  làm gì v i quy n đ ấ ỉ ể ọ ớ ề ượ c c p đó. Auditing là m t ấ ộ   cách hi u qu  đ  đ m b o quy n mi n tr  kh i các chính sách RLS không b  l m ệ ả ể ả ả ề ễ ừ ỏ ị ạ  

d ng. Auditing s  đ ụ ẽ ượ c trình bày k  h n trong các bài lab v  Auditing sau này. Trong ỹ ơ ề  

ph n này s  m c đ nh là sinh viên đã bi t và hi u v  auditing. Sinh viên có th  đ c ầ ẽ ặ ị ế ể ề ể ọ  

l i ph n này sau khi h c v  Auditing ạ ầ ọ ề

Trang 3

B Th c hành

 Ta có th  ki m tra xem ai đ ể ể ượ c c p quy n EXEMPT ACCESS POLICY b ng câu ấ ề ằ  

l nh sau: ệ

Trang 4

sec_mgr@KNOX10g> SELECT grantee

FROM dba_sys_privs WHERE PRIVILEGE = 'EXEMPT ACCESS POLICY';

GRANTEE - SYSTEM

 Ví d  sau s  trình bày cách đ  audit quy n này. Đ ng th i m i khi áp d ng vi c này, ụ ẽ ể ề ồ ờ ỗ ụ ệ  

ta cũng c n ki m tra xem vi c audit đã đ ầ ể ệ ượ c th c hi n nh  mình nghĩ ch a ự ệ ư ư sec_mgr@KNOX10g> Audit quyền EXEMPT ACCESS POLICY sec_mgr@KNOX10g> AUDIT EXEMPT ACCESS POLICY BY ACCESS;

Audit succeeded

sec_mgr@KNOX10g> Kiểm tra việc audit bằng cách thực hiện tác sec_mgr@KNOX10g> vụ trong account người được cấp quyền

sec_mgr@KNOX10g> CONN system/manager Connected

system@KNOX10g> DELETE FROM scott.emp;

14 rows deleted

system@KNOX10g> Rollback để undo lệnh delete system@KNOX10g> Lệnh Rollback sẽ không xóa được audit record

mà Oracle system@KNOX10g> vừa tạo ra khi SYSTEM thực hiện lệnh DELETE system@KNOX10g> ROLLBACK ;

Rollback complete

system@KNOX10g> CONN sec_mgr/oracle10g Connected

sec_mgr@KNOX10g> Hiển thị tác vụ vừa được audit

Trang 5

FOR rec IN (SELECT * FROM dba_audit_trail) LOOP

DBMS_OUTPUT.put_line (' -'); DBMS_OUTPUT.put_line ('Who: ' || rec.username);

DBMS_OUTPUT.put_line ('What: ' || rec.action_name || ' on ' || rec.owner

|| '.' || rec.obj_name);

DBMS_OUTPUT.put_line ('When: '

|| TO_CHAR(rec.TIMESTAMP,'MM/DD HH24:MI')); DBMS_OUTPUT.put_line ('How: "'|| rec.sql_text || '"'); DBMS_OUTPUT.put_line ('Using: ' || rec.priv_used); END LOOP;

END;

/ -Who: SYSTEM

What: DELETE on SCOTT.EMP When: 04/04 14:22

How: "DELETE FROM scott.emp"

Using: DELETE ANY TABLE -Who: SYSTEM

What: DELETE on SCOTT.EMP When: 04/04 14:22

How: "DELETE FROM scott.emp"

Using: EXEMPT ACCESS POLICY PL/SQL procedure successfully completed

 Audit trail hi n th  2 record b i vì SYSTEM đã s  d ng 2 quy n khi th c hi n l nh ể ị ở ử ụ ề ự ệ ệ   DELETE. Quy n th  nh t là quy n DELETE ANY TABLE cho phép delete trên t t ề ứ ấ ề ấ  

c  các b ng. Quy n th  hai là quy n EXEMPT ACCESS POLICY cho phép không b ả ả ề ứ ề ị 

nh h ng b i chính sách b o m t đ c áp đ t cho b ng EMP.

Trang 6

III X  lý các Exception v  Policy Function ử ề

A Lý thuy t ế

 Nói chung có 2 lo i error có th  khi n cho m t chính sách RLS b  th t b i: ạ ể ế ộ ị ấ ạ

 Policy function không h p l  cho nên nó không đ ợ ệ ượ c recompile và th c thi. Ví d , ự ụ  

l i này s  x y ra khi policy truy v n đ n m t table không t n t i. L i v  chính ỗ ẽ ả ấ ế ộ ồ ạ ỗ ề   sách cũng có th  x y ra n u policy function không t n t i (vi c này th ể ả ế ồ ạ ệ ườ ng do   policy function đã b  drop ho c nó đã đ ị ặ ượ c đăng ký không đúng trong th  t c ủ ụ   ADD_POLICY).

 Chu i tr  v  c a policy function khi đ ỗ ả ề ủ ượ c thêm vào câu l nh SQL truy v n trên ệ ấ  

đ i t ố ượ ng đ ượ c b o v  gây ra l i câu l nh SQL không h p l  Có r t nhi u lý do ả ệ ỗ ệ ợ ệ ấ ề   khi n cho vi c này x y ra ế ệ ả

B Th c hành

 Trong 2 lo i l i trên, lo i th  nh t có th  làm m t đi tính trong su t c a VPD. Ta ạ ỗ ạ ứ ấ ể ấ ố ủ   xem ví d  d ụ ướ i đây:

scott@KNOX10g> Tạo ra table sẽ được gọi bởi policy function scott@KNOX10g> CREATE TABLE t AS SELECT * FROM DUAL;

Table created

scott@KNOX10g> Tạo ra policy function phụ thuộc vào table t scott@KNOX10g> CREATE OR REPLACE FUNCTION pred_function ( p_schema IN VARCHAR2 DEFAULT NULL,

p_object IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2

AS l_total_recs NUMBER;

BEGIN SELECT COUNT (*) INTO l_total_recs FROM t;

RETURN '1 <= ' || l_total_recs;

Trang 7

scott@KNOX10g> CONN sec_mgr/oracle10g Connected

sec_mgr@KNOX10g> Gán policy function trên cho bảng EMP;

sec_mgr@KNOX10g> BEGIN DBMS_RLS.add_policy

(object_schema => 'SCOTT', object_name => 'EMP', policy_name => 'debug', function_schema => 'SCOTT', policy_function => 'pred_function');

PL/SQL procedure successfully completed

 Ta nh n th y m i th  ban đ u đ u làm vi c t t: ậ ấ ọ ứ ầ ề ệ ố

sec_mgr@KNOX10g> CONN scott/tiger Connected

scott@KNOX10g> SELECT COUNT(*) FROM emp;

COUNT(*)

14

 Tuy nhiên, n u b ng T b  xóa đi thì s  có l i sinh ra: ế ả ị ẽ ỗ

scott@KNOX10g> DROP TABLE t;

Table dropped

scott@KNOX10g> Policy function không hợp lệ và không được recompile

scott@KNOX10g> SELECT COUNT(*) FROM emp;

SELECT COUNT(*) FROM emp *

ERROR at line 1:

ORA-28110:policy function/package SCOTT.PRED_FUNCTION has error

Ngày đăng: 25/02/2023, 03:59

🧩 Sản phẩm bạn có thể quan tâm