Chương 5.
KIỂM TOÁN CƠ SỞ DỮ LIỆU
GV: Nguyễn Phương Tâm
MỤC TIÊU
Trình bày các định nghĩa, vai trò của kiểm toán.
Trình bày các loại kiểm toán thường dùng.
Thực hành việc kiểm toán trên Oracle
Trường CĐ CNTT HN Việt Hàn
2/61
Nguyễn Phương Tâm
NỘI DUNG
5.1 Tổng quan về kiểm toán
5.2 Các loại kiểm toán
5.3 Thực hành kiểm toán trên Oracle
Trường CĐ CNTT HN Việt Hàn
3/61
Nguyễn Phương Tâm
5.1 TỔNG QUAN VỀ KIỂM TOÁN
5.1.1 Các định nghĩa
5.1.2 Vai trò của kiểm toán
Trường CĐ CNTT HN Việt Hàn
4/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Kiểm toán (auditing) là hoạt động giám sát và ghi
lại…được dựa trên các hoạt động cá nhân như thực
hiện câu lệnh SQL, hay dựa trên sự kết hợp các yếu tố
bao gồm tên, ứng dụng, thời gian,…
Các chính sách bảo mật có thể dẫn đến việc kiểm toán
khi những phần tử cụ thể trong CSDL bị truy cập hay
thay thế.
Trường CĐ CNTT HN Việt Hàn
5/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Sổ kiểm toán (audit log) là tài liệu chứa tất cả các hoạt
động đang được kiểm toán được sắp xếp theo thứ tự
thời gian.
Mục đích kiểm toán (audit objectives) là tập hợp
những quy tắc doanh nghiệp, điều khiển hệ thống, quy
tắc chính phủ, hoặc chính sách bảo mật.
Kiểm toán viên (auditor) là người được phép thực
hiện công việc kiểm toán.
Thủ tục kiểm toán (audit procedure) là tập hợp các
câu lệnh của tiến trình kiểm toán.
Trường CĐ CNTT HN Việt Hàn
6/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Báo cáo kiểm toán (audit report) là tài liệu mà chứa
quá trình tìm kiếm kiểm toán (the audit finding).
Vệt kiểm toán (audit trail) là bản ghi của sự thay đổi
tài liệu, thay đổi dữ liệu, những hoạt động hệ thống,
hoặc những sự kiện thao tác.
Dữ liệu kiểm toán (data audit) là bản ghi theo thời
gian của dữ liệu thay đổi được lưu trữ trong tập tin
log hoặc đối tượng bảng CSDL
Kiểm toán CSDL (database auditing) là bản ghi theo
thời gian của các hoạt động CSDL
Trường CĐ CNTT HN Việt Hàn
7/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Kiểm toán nội bộ (internal auditing) là kiểm tra những
hoạt động được quản lý bởi thành viên có quyền của
tổ chức kiểm toán
Kiểm toán mở rộng (external auditing) là kiểm tra,
xác minh, và xác nhận tính hợp lý của tài liệu, tiến
trình, thủ tục, hoặc các hoạt động được quản lý bởi
thành viên có quyền bên ngoài tổ chức đang được
kiểm toán
Trường CĐ CNTT HN Việt Hàn
8/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Kiểm toán được sử dụng để:
Cho phép giải trình những hành động hiện tại tham
gia vào một schema, bảng, dòng riêng biệt, hay một
nội dung cụ thể nào đó.
Điều tra các hoạt động đáng ngờ. Ví dụ, nếu một
user không được phép đang xóa dữ liệu từ một
bảng nào đó thì người quản trị bảo mật sẽ ghi lại tất
cả những kết nối CDSL và tất cả những hành động
xóa các dòng từ bảng trong CSDL dù thành công
hay không thành công.
Trường CĐ CNTT HN Việt Hàn
9/61
Nguyễn Phương Tâm
5.1.1 CÁC ĐỊNH NGHĨA
Kiểm toán được sử dụng để:
Ngăn cản user khỏi hành động không thích hợp dựa
trên trách nhiệm phải giải trình đó.
Thông báo cho người giám sát rằng có user bất hợp
phát đang thao tác hay xóa dữ liệu hay user có
nhiều quyền hệ thống hơn sự cho phép.
Giám sát 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 thống kê về thông tin các bảng đang được
update, hay bao nhiêu user cùng truy cập vào thời
điểm cực đỉnh.
Trường CĐ CNTT HN Việt Hàn
10/61
Nguyễn Phương Tâm
5.1.2 VAI TRÒ CỦA KIỂM TOÁN
Kiểm toán là một chức năng (cả kiểm toán trong và ngoài)
đóng vai trò trung tâm trong việc bảo đảm quy tắc.
Mục đích của kiểm toán là xem xét và đánh giá tính sẵn
sàng, tính bảo mật và tính chính trực thông qua việc trả lời
những câu hỏi như:
Hệ thống máy tính có sẵn sàng cho hoạt động tại mọi thời
điểm?
Liệu môi trường cơ sở dữ liệu có phải chỉ những người có
thẩm quyền mới được sử dụng không?
Liệu môi trường cơ sở dữ liệu đã cung cấp thông tin
chính xác, trung thực và kịp thời không?
Trường CĐ CNTT HN Việt Hàn
11/61
Nguyễn Phương Tâm
5.1.2 VAI TRÒ CỦA KIỂM TOÁN
Vai trò của kiểm toán được xem là một phần của chính
sách an ninh. Không có chính sách an ninh nào mà
không cần kiểm toán. Điều này không chỉ đơn thuần là
một sản phẩm tự nhiên của con người, mà còn là hiệu
quả của sự ức chế. Báo cáo kiểm toán và kết quả kiểm
toán là công cụ quan trọng trong việc phát hiện vấn đề
và sửa chữa chúng.
Trường CĐ CNTT HN Việt Hàn
12/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Loại kiểm toán đầu tiên yêu cầu trong hầu hết các môi
trường là một vệt kiểm toán đầy đủ của bất cứ ai đã
đăng nhập vào cơ sở dữ liệu.
Ghi lại hai sự kiện cho loại kiểm toán này là: một sự
kiện cho việc đăng nhập và một sự kiện cho việc đăng
xuất.
Đối với mỗi sự kiện như vậy, bạn cần phải lưu ít nhất là
tên đăng nhập và thời gian đăng nhập cho sự kiện này.
Trường CĐ CNTT HN Việt Hàn
13/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Ngoài hai sự kiện, bạn cũng nên ghi lại tất cả các cố
gắng đăng nhập thất bại. Trong thực tế, sự kiện đăng
nhập thất bại có lẽ quan trọng hơn đăng nhập thành công
từ một điểm bảo mật. Sự đăng nhập không thành công
không chỉ ghi lại cho các mục đích tuân thủ và kiểm
toán; chúng thường được sử dụng làm cơ sở cho các
cảnh báo và thậm chí là khóa tài khoản.
Trường CĐ CNTT HN Việt Hàn
14/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Quá nhiều lần đăng nhập không thành công chắc chắn là
một báo cáo bảo mật cần quan tâm, và nhiều người xem
xét các phân tích về những lần cố gắng đăng nhập thất
bại dựa trên các phương diện sau đây:
Tên người sử dụng.
IP của khách hàng từ nơi kết nối không thành công.
Chương trình nguồn.
Thời gian trong ngày.
Trường CĐ CNTT HN Việt Hàn
15/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Hoạt động đăng nhập và đăng xuất có thể được kiểm
toán bằng cách sử dụng các tính năng cơ sở dữ liệu hoặc
sử dụng một giải pháp bảo mật cơ sở dữ liệu bên ngoài.
Tất cả các nhà cung cấp cơ sở dữ liệu hỗ trợ chức năng
kiểm toán cơ bản này, và bởi vì số lượng những sự kiện
này là khá nhỏ và ít có bất lợi trong việc thực hiện cơ sở
dữ liệu ở mức độ kiểm toán này.
Trường CĐ CNTT HN Việt Hàn
16/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Tạo Trigger để thực hiện kiểm toán đăng nhập
Đầu tiên, tạo một bảng, nơi lưu trữ các thông tin:
create table
user_login_audit
(
user_id varchar2(30),
session_id number(8),
host varchar2(30),
Trường CĐ CNTT HN Việt Hàn
login_day date,
login_time varchar2(10),
logout_day date,
logout_time
varchar2(10)
);
17/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Tiếp theo, tạo ra trigger để khởi tạo khi đăng nhập mới:
create or replace trigger
user_login_audit_trigger
AFTER LOGON ON DATABASE
BEGIN
insert into user_login_audit values(
user,
sys_context('USERENV','SESSIONID'),
sys_context('USERENV','HOST'),
sysdate,
to_char(sysdate, 'hh24:mi:ss'),
null,
null
);
COMMIT;
END;
Trường CĐ CNTT
HN Việt Hàn
18/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
5.2.1 Kiểm toán đăng nhập cơ sở dữ liệu
Ngày và giờ đăng xuất được lưu trữ khi sử dụng trigger khởi
tạo khi người sử dụng đăng xuất:
create or replace trigger
user_logout_audit_trigger
BEFORE LOGOFF ON DATABASE
BEGIN
-- logout day
update
user_login_audit
set
logout_day = sysdate
Where
sys_context('USERENV','SESSIONID')=session_id;
Trường CĐ CNTT HN Việt Hàn
19/61
Nguyễn Phương Tâm
5.2 CÁC LOẠI KIỂM TOÁN
-- logout time
update
user_login_audit
set
logout_time = to_char(sysdate, 'hh24:mi:ss')
where
sys_context('USERENV','SESSIONID')=session_id;
COMMIT;
END;
Trường CĐ CNTT HN Việt Hàn
20/61
Nguyễn Phương Tâm
- Xem thêm -