Bài thực hành bảo mật hệ thống thông tin số 13 fine grained auditing

11 4 0
Bài thực hành bảo mật hệ thống thông tin số 13 fine grained auditing

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bảo Mật Hệ Thống Thông Tin Lab 13 Bài thực hành số 13 FINE-GRAINED AUDITING  Tóm tắt nội dung:  Giới thiệu Fine-grained Auditing  Các sách Fine-grained Auditing  Sử dụng gói DBMS_FGA Oracle I Fine-grained Auditing Giới thiệu:  Như giới thiệu Lab 12, Standard Auditing Oracle có tính cấu hình cao Bản ghi dấu (audit trail) cung cấp tập cố định kiện mà giám sát quyền, đối tượng có câu SQL sử dụng bao gồm thông tin môi trường kết câu truy vấn Tầm vực standard auditing mở rộng cách sử dụng trigger cung cấp thêm thơng tin phụ Tuy nhiên tiêu chí auditing thực standard auditing: tối thiểu giám sát không cần thiết, truy cập gây hại  Fine-grained auditing (FGA) thỏa mãn nhu cầu Với FGA, ta đặt nhiều điều kiện giám sát chi tiết Ta không cần phải thiết lập thông số cho AUDIT_TRAIL để kích hoạt chức này, mà cần tạo sách FGA áp dụng chúng hoạt động hay đối tượng cụ thể mà ta muốn giám sát Cơ chế sở 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 ghi FGA lưu bảng SYS.FGA_LOG$ truy cập thông qua view DBA_FGA_AUDIT_TRAIL Ưu Fine-grained Auditing so với Trigger: Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin  Lab 13 Fine-grained auditing thỏa mãn nhu cầu cách cung cấp hiệu vượt lên phương pháp trigger Trigger phải gánh chịu trình gọi hàm PL/SQL hàng xử lí tạo ghi audit cột thích hợp bị thay đổi câu lệnh DML  Mặt khác, sách fine-grainned auditing khơng phải gánh chịu chi phí cho hàng Nó giám sát lần cho sách Cụ thể, giám sát cột thích hợp cụ thể bị tác động loại lệnh DML xác định, bị thay đổi câu lệnh nằm tiêu chuẩn chọn lọc Chính sách Fine-grained Auditing:  Chính sách FGA theo dõi việc truy xuất liệu dựa nội dung liệu Sử dụng sách, ta rõ cột điều kiện ta cần phải ghi lại việc truy xuất Ta cung cấp thêm tên hàm mà ta muốn thực thi kiện giám sát xảy Hàm nhắc nhở báo động cho người quản trị hay xử lí lỗi bất thường Hàm xử lí kiện:  Trong sách FGA xác định điều kiện ta truy xuất liệu gây trigger giám sát Những sách sử dụng xử lí kiện uyển chuyển để nhắc nhỏ nhà quản trị kiện trigger xảy Ví dụ, cơng ty cho phép nhân viên HR truy cập thông tin lương mà không bị giám sát, làm việc với số lương lớn $500k bị giám sát Khi việc xảy hệ thống cảnh báo cho nhà quản trị Cơ chế thực cảnh báo thực nhờ vào hàm: PROCEDURE fname( object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2) AS Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 Trong đó:  fname: tên thủ tục  object_schema: tên schema chứa bảng bị giám sát  object_name: tên bảng bị giám sát  policy_name: tên sách Hàm cột liên quan Fine-grained Auditng:  Để thực thêm uyển chuyển, ta thêm vào hàm tự định nghĩa để đưa điều kiện cho sách xác định cột cần giám sát (cột liên quan) để tinh lọc sách giám sát Ví dụ, hàm tạo ghi giám sát mức lương lớn $250k bị truy cập  Chỉ rõ cột liên quan giúp giảm trường hợp sai ghi khơng cần thiết, việc giám sát cần thực cột cụ thể tham khảo đến câu truy vấn Ví dụ, cơng ty mong muốn ghi lại truy cập thông tin lương tên nhân viên bị truy cập, xem thông tin lương không mà tên người sở hửu số lương vơ nghĩa Ta rõ việc giám sát xảy tất cột liên quan điều tham khảo đến, cột liên quan tham khảo  Trong trường hợp nhiều cột liên quan định, Oracle Database sinh ghi giám sát câu lênh SQL tham khảo đến cột cột giám sát Điều kiện giám sát NULL:  Để đảm báo việc giám sát hành động cụ thể (statement_types) ảnh hưởng tới cột định rõ (audit_column), đặc tả điều kiện giám sát (audit_condition) NULL, điều hiểu điều kiện Dạng điều kiện cũ “1=1” khơng cịn sử dụng Oracle 9i khơng có kết mong muốn cách đáng tin cậy NULL tạo giám sát kể khơng có dịng xử lí, tất hoạt động cột liên quan (audit_column) với sách ghi lại Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin  Lab 13 Lưu ý:  Sử dụng chuỗi rỗng không tương đương với giá trị NULL dẫn đến giám sát đáng tin cậy  Nếu NULL khơng có điều kiện giám sát đặc tả, hành động tác động lên bảng thỏa sách khiến cho ghi giám sát tạo ra, có khơng có dịng trả từ câu truy vấn II Gói DBMS_FGA Oracle  Gói DBMS_FGA cung cấp chức bảo mật FGA Để quản lý sách giám sát, ta cần phải có quyền thực thi DBMS_FGA (EXCUTE ON DBMS_FGA) Thủ tục ADD_POLICY  Thủ tục dùng để tạo sách giám sát Số sách giám sát tối đa bảng view 256  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);  Tham số Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 Tên Mô tả object_schema Tên schema chứa đối tượng bị giám sát (Nếu NULL NULL Mặc định hệ thống lấy schema user tại) object_name Tên object bị giám sát - policy_name Tên sách, tên phải - audit_condition Điều kiện để hàm giám sát NULL có nghĩa NULL hàng bị giám audit_column Những cột liên quan kiểm tra truy cập NULL Chúng bao gồm cột ẩn Giá trị mặc định NULL nghĩa giám sát xảy cột cột liên quan bị truy cập ảnh hưởng handler_schema Schema chứa hàm xử lí kiên Mặc định NULL lấy NULL schema user handler_module Tên hàm xử lí kiện Hàm gọi sau hàng NULL mà thỏa điều kiện giám sát câu truy vấn xử lí Nếu hàm bị lỗi với ngoại lệ câu lệnh SQL bị giám sát thực thi enable Giá trị TRUE có nghĩa sách TRUE kích hoạt statement_types Kiểu câu lệnh SQL mà sách áp dụng vào: SELECT INSERT, UPDATE, DELETE, hay là SELECT audit_trail DB+EXTEND Nơi ghi lại ghi giám sát ED audit_column_op Câu lệnh bị giám sát câu truy vấn tham khảo tới ANY_COLUM ts cột tham số audit_column NS hay phải tham khảo tới tất cột Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin  Lab 13 Chú ý tham số audit_trail:  audit_trail => DBMS_FGA.DB : ghi giám sát ghi vào bảng SYS.FGA_LOG$ của sở liệu loại bỏ cột SQL Text SQL Bind  audit_trail => DBMS_FGA.DB+EXTENDED : ghi giám sát ghi vào bảng SYS.FGA_LOG$ của sở liệu có thêm hai SQL Text SQL Bind  audit_trail => DBMS_FGA.XML: ghi giám sát ghi vào file XML, file lưu hệ điều hành không chứa hai cột SQL Text SQL Bind  audit_trail => DBMS_FGA.XML+EXTENDED: ghi giám sát ghi vào file XML, file lưu hệ điều hành chứa hai cột SQL Text SQL Bind  Các thông số audit_trail nằm view ALL_AUDIT_POLICIES Thủ tục DISABLE_POLICY  Thủ tục để bất hoạt sách giám sát  Cú pháp DBMS_FGA.DISABLE_POLICY(  object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2 ); Tham số Tên Mô tả object_schema Tên schema chứa đối tượng bị giám sát object_name Tên đối tượng bị giám sát policy_name Tên sách Thủ tục ENABLE_POLICY  Thủ tục cho phép kích hoạt sách giám sát  Cú pháp Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 DBMS_FGA.ENABLE_POLICY(  object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2, enable BOOLEAN); Tham số Tên Mô tả object_schema Tên schema chứa đối tượng bị giám sát object_name Tên đối tượng bị giám sát policy_name Tên sách enable TRUE giá trị mặc định Thủ tục DROP_POLICY  Thủ tục để loại bỏ sách giám sát  Cú pháp DBMS_FGA.DROP_POLICY(  object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2 ); Tham số Tên Mô tả object_schema Tên schema chứa đối tượng bị giám sát object_name Tên đối tượng bị giám sát policy_name Tên sách Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 III Thực hành  Giám sát tất câu lệnh (INSERT , UPDATE, DELETE, SELECT) bảng hr.emp để theo dõi câu truy vấn mà truy cập đến cột lương nhân viên thuộc phòng SALES BEGIN DBMS_FGA.ADD_POLICY( object_schema => 'hr', object_name => 'emp', policy_name => 'chk_hr_emp', audit_condition => 'dept = ''SALES'' ', audit_column => 'salary' statement_types=>'insert,update,delete,select'); END;  Những câu lệnh sau gây giám sát: SELECT count(*) FROM hr.emp WHERE dept = 'SALES' and salary > 10000000; SELECT salary FROM hr.emp WHERE dept = 'SALES'; DELETE FROM hr.emp WHERE salary >1000000;  Hủy bỏ sách ta dùng thủ tục DROP_POLICY BEGIN DBMS_FGA.DROP_POLICY( object_schema Chương Trình Đào Tạo Từ Xa => 'hr', KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 object_name => 'emp', policy_name => 'chk_hr_emp'); END;  Ta bổ sung thêm vào sách yêu cầu, điều kiện xảy hệ thống cảnh báo cho nhà quản trị Với yêu cầu đó, ta cần hàm xử lí kiện /* create audit event handler */ CREATE PROCEDURE sec.log_id (schema1 varchar2, table1 varchar2, policy1 varchar2) AS BEGIN send an alert note to my pager UTIL_ALERT_PAGER(schema1, table1, policy1); END;  Tạo sách DBMS_FGA.ADD_POLICY( object_schema => 'hr', object_name => 'emp', policy_name => 'chk_hr_emp', audit_condition => 'dept = ''SALES'' ', audit_column => 'salary', handler_schema => 'sec', handler_module => 'log_id', enable => FALSE statement_types =>'INSERT, UPDATE, SELECT, DELETE', audit_trail => DBMS_FGA.DB+DBMS_FGA.EXTENDED, audit_column_opts => DBMS_FGA.ALL_COLUMNS);  Bởi lúc tạo sách ta bất hoạt sách tham số: enable => Chương Trình Đào Tạo Từ Xa FALSE KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thơng Tin  Lab 13 10 Vì sau ta muốn kích hoạt sách ta dùng thủ tục ENABLE _POLICY BEGIN DBMS_FGA.ENABLE_POLICY( object_schema => 'hr', object_name => 'emp', policy_name => 'chk_hr_emp', enable => TRUE); END; IV BÀI TẬP Tạo bảng ACCOUNTS thuộc schema user ACCMASTER ACCNO ACCNAME BAL -1 Alex 10000 Bill 15000 Charlie 20000 David 25000 Hiện thực sách: giám sát user truy xuất vào bảng ACCOUNTS xem số dư lớn 20000 Giả sử ta có sách: begin dbms_fga.add_policy ( object_schema => 'ACCMASTER', object_name => 'ACCOUNTS', policy_name => 'ACC_MAXBAL', audit_column => 'ACCNO, BAL', audit_condition => 'BAL >= 20000', handler_schema => 'ACCMASTER', handler_module => 'FGA_SEND_MAIL' Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin 10 Lab 13 11 11 audit_column_opts => dbms_fga.all_columns ); 12 end; Câu lệnh sau gây giám sát: select * from accounts; select accname from accounts where bal > 20000 ; select accname from accounts where bal > 20000 and accno >=3; select accname from accounts where bal > 20000 and accno < 3; Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM .. .Bảo Mật Hệ Thống Thông Tin  Lab 13 Fine- grained auditing thỏa mãn nhu cầu cách cung cấp hiệu vượt lên phương pháp trigger... ts cột tham số audit_column NS hay phải tham khảo tới tất cột Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin  Lab 13 Chú ý tham số audit_trail:... sách Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM Bảo Mật Hệ Thống Thông Tin Lab 13 III Thực hành  Giám sát tất câu lệnh (INSERT , UPDATE, DELETE, SELECT) bảng hr.emp

Ngày đăng: 29/12/2022, 14:58

Mục lục

    II. Gói DBMS_FGA trong Oracle

Tài liệu cùng người dùng

Tài liệu liên quan