Trìnhbàycácđịnhnghĩa,vaitròcủakiểmtoán.
Trìnhbàycácloạikiểmtoánthườngdùng.
ThựchànhviệckiểmtoántrênOracle
61 trang |
Chia sẻ: Mr Hưng | Lượt xem: 897 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu An ninh bảo mật - Chương 5: Kiểm toán cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
liệu. Cuối cùng, bất kỳ một cố gắng thực hiện nào bị lỗi liên quan
đến phân quyền là một cảnh báo cho một cuộc tấn công có thể
được tiến hành.
45/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Lỗi cũng rất quan trọng từ góc độ chất lượng, và điều này cũng
phản ánh đến vấn đề tuân thủ. Việc ứng dụng sản phẩm phát sinh
lỗi bởi vì thiếu xót về vấn đề kỹ thuật và ứng dụng nên phải được
xác định và sửa chữa.
Ghi lại lỗi SQL thường là một cách đơn giản để xác định những
vấn đề này.
Các lỗi có thể dẫn bạn theo hướng của các vấn đề có ảnh hưởng
đến thời gian phúc đáp và tính sẵn sàng.
46/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Kiểm toán lỗi chi tiết được hỗ trợ bởi một số các nhà cung cấp cơ
sở dữ liệu, và bạn có thể tham khảo các tài liệu hướng dẫn về môi
trường để thực hiện. Trong Oracle bạn có thể sử dụng lại trigger
hệ thống:
47/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Tạo bảng ghi lỗicreate table error_audit
(
user_id
varchar2(30),
session_id number(8),
host
varchar2(30),
error_date date,
error
varchar2(100)
);
48/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Tạo các trigger để khởi tạo khi lỗi xảy ra create or replace trigger
audit_errors_trigger
AFTER SERVERERROR ON DATABASE
BEGIN
insert into error_audit values(
user,
sys_context('USERENV','SESSIONID'),
sys_context('USERENV','HOST'),
sysdate,
dbms_standard.server_error(1)
);
COMMIT;
END;
49/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Trong SQL Server, bạn có thể sử dụng kiểm toán tính năng hoặc
dò vết tính năng. Nếu bạn chọn sử dụng dấu vết, bạn cần thiết lập
các sự kiện thích hợp có liên quan đến lỗi sử dụng sp_trace_event.
Những sự kiện bao gồm các định danh được hiển thị trong bảng
5.1.
50/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
Bảng 5.1 Các sự kiện xử lý lỗi
Tên sự kiện Lớp sự kiện Mô tả
16 Attention Tập hợp tất cả các sự kiện quan tâm,
như yêu cầu gián đoạn kết nối client,
hoặc khi một kết nối client bị ngắt.
21 ErrorLog Sự kiện lỗi đã được ghi trong nhật ký
lỗi.
22 EventLog Sự kiện khi đăng nhập nhật ký ứng
dụng
33 Exception Ngoại lệ xuất hiện trên server.
67 Execution
Warnings
Bất kỳ cảnh báo nào đã xảy ra trong
quá trình thực hiện của thủ tục lưu trữ
và câu lệnh trên máy chủ.
51/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
Bảng 5.1 Các sự kiện xử lý lỗi
Tên sự kiện Lớp sự kiện Mô tả
55 Hash Warning Hoạt động của bảng băm có
thể gặp cácvấn đề về lỗi
79 Missing Column
Statistics
Cột số liệu thống kê cho các
truy vấn tối ưu thường không
có sẵn.
80 Missing Join Predicate Thực hiện truy vấn không có vị
từ kết nối. Điều này có thể làm
cho câu truy vấn chạy rất lâu.
61 OLEDB Errors Lỗi OLE DB có thể xuất hiện.
52/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.5 Kiểm toán lỗi cơ sở dữ liệu
Đường cơ sở là quan trọng nếu môi trường ứng dụng của bạn là
không hoàn hảo. Không phải mọi cơ sở dữ liệu và ứng dụng là
môi trường sạch, và trong hầu hết các môi trường một số ứng dụng
tạo ra lỗi cơ sở dữ liệu ngay cả trong sản xuất.
Tuy nhiên, lỗi được tạo ra bởi các ứng dụng được lặp đi lặp lại:
các lỗi tương tự xảy ra ở cùng một nơi bởi vì các lỗi thường là kết
quả từ những sai xót kỹ thuật và không thay đổi.
Nếu lỗi bạn lỗi đường cơ sở và đột nhiên thấy xuất hiện từ nhiều
nơi khác nhau hoặc bạn thấy mã lỗi hoàn toàn khác nhau, thì bạn
nên điều tra những gì đang xảy ra.
53/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Kiểm toán hoạt động của câu lệnh DML là một yêu cầu phổ biến,
đặc biệt là trong trường hợp như dự án Sarbanes-Oxley nơi mà
tính chính xác của thông tin tài chính là sự kiện chính. Vệt kiểm
toán thay đổi dữ liệu là phổ biến ở hầu hết các kiểm toán chính.
Một yêu cầu kiểm toán liên quan mà đôi khi được nhắc đến (mặc
dù nó không phải là phổ biến như kiểm toán các hoạt động DML)
liên quan đến việc ghi chép đầy đủ giá trị mới và cũ cho mỗi hoạt
động DML.
54/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Vệt kiểm toán DML và ghi lại các giá trị mới và cũ là một loại
kiểm toán quan trọng mà có lẽ bạn sẽ cần. Tuy nhiên, bạn phải cẩn
thận với loại kiểm toán này và nhận ra rằng kiểm toán này nên
được thực hiện có chọn lọc.
Trong một số trường hợp, người đang có quá vệt kiểm toán và để
đơn giản nên thực hiện kiểm toán hoạt động DML. Trong khi đây
là kỹ thuật có thể, số lượng dữ liệu có thể được tạo ra là rất lớn, và
bạn nên chắc chắn rằng cơ sở hạ tầng kiểm toán của bạn có thể
quản lý được, đặc biệt là khi bạn bao gồm giá trị mới và cũ.
55/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Ví dụ, giả sử bạn có 1.000.000 DML chuyển tác mỗi ngày, và giả
định đơn giản là mỗi bản cập nhật một giá trị giao dịch duy nhất,
và bạn có 100 bảng trong cơ sở dữ liệu với mỗi bảng có 10 giá trị
có thể sẽ được cập nhật, và bạn bắt đầu ra với một cơ sở dữ liệu đó
có 10.000 bản ghi trong mỗi bảng.
Mặc dù tính toán này là đơn giản và không chính xác, bạn không
nên ngạc nhiên rằng nếu bạn ghi lại những giá trị cũ và mới, sau
một năm cơ sở dữ liệu kiểm toán của bạn sẽ có hơn 35 lần so với
các cơ sở dữ liệu của chính nó..
56/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Vì vậy, khi bạn xem vệt kiểm toán DML, bạn nên chọn có chọn
lọc các đối tượng và lệnh để kiểm toán. Ví dụ, bạn có thể quyết
định tạo ra những vệt kiểm toán cho một tập hợp con của các bảng
cơ sở dữ liệu, cho một nhóm nhỏ hoặc đăng nhập tài khoản, vv.
Thậm chí có chọn lọc hơn là lựa chọn những bảng và cột để duy
trì các giá trị cũ và mới.
57/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Kiểm toán DML cũng được hỗ trợ thông qua ba phương pháp
chính, nhưng việc so sánh hàng ngày (hoặc định kỳ) không phải là
một lựa chọn trong trường hợp này. Ba phương pháp này là sử
dụng khả năng của cơ sở dữ liệu, sử dụng một hệ thống kiểm toán
bên ngoài, hoặc sử dụng trigger.
58/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Tất cả các cơ sở dữ liệu cung cấp cho bạn một số cách để
thực hiện các vệt kiểm toán cho các hoạt động DML. Trong
Oracle, ví dụ, bạn có thể sử dụng công cụ log miner được
dựa trên redo log. Bởi vì ghi lại tất cả các hoạt động DML
(bao gồm cả giá trị cũ và mới), log miner có thể giải nén
thông tin này và làm cho nó sẵn sàng phục vụ bạn. Trong
SQL Server, bạn có thể sử dụng sự kiện dò vết DOP:
59/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Bảng 5.2 Bảng sự kiện DOP
Tên sự kiện Lớp sự kiện Mô tả
28 DOP Event Xảy ra trước khi một câu lệnh
SELECT, INSERT, hoặc UPDATE
được thi hành.
60/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.6 Kiểm toán hoạt động của câu lệnh DML
Đối với cách thứ hai, hệ thống kiểm toán cơ sở dữ liệu bên ngoài
hỗ trợ kiểm toán DML dựa trên bất kỳ tiêu chí nào được lọc, bao
gồm các đối tượng cơ sở dữ liệu, người sử dụng, ứng dụng, vv. Họ
cũng giúp đỡ trong việc thu giữ và nén thông tin này và làm cho
nó sẵn sàng để báo cáo, ngay cả khi số lượng dữ liệu rất lớn.
Cuối cùng, cách thứ ba đơn giản là sử dụng các tùy chọn trigger.
Nếu bạn không phải là một phần của một dự án kiểm toán mở
rộng và chỉ cần tạo một vệt kiểm toán DML cho một vài đối
tượng, thêm vào đó gây nên ghi các thông tin vào một bảng kiểm
toán cụ thể có thể là điều đơn giản nhất và nhanh nhất để giúp bạn
chuyển sang bước tiếp theo của bạn dự án.
61/61
Trường CĐ CNTT HN Việt Hàn Nguyễn Phương Tâm
5.3 THỰC HÀNH KiỂM TOÁN TRÊN ORACLE
Thực hiện qua các bước:
Bước 1: Tạo bộ kích khởi DDL với Oracle khởi
động sau sự kiện đăng nhập và đăng xuất trong
Oracle.
Bước 2: Kiểm toán mã lệnh: kiểm toán hoạt động
của câu lệnh DDL, DML,
Bước 3: Tìm hiểu tập tin Alert Log trong Oracle
Bước 4: Đánh giá dựa vào kết quả đạt được.
Các file đính kèm theo tài liệu này:
- an_toan_co_so_du_lieu_phan_5_2944.pdf