Tải bản đầy đủ (.pdf) (61 trang)

Bài giảng môn an toàn cơ sở dữ liệu chương 5 kiểm toán cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (857.53 KB, 61 trang )

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


5.2 CÁC LOẠI KIỂM TOÁN
Thực hiện cảnh báo hoặc khóa tài khoản dựa trên
đăng nhập không thành công yêu cầu hỗ trợ từ nhà
cung cấp cơ sở dữ liệu hoặc giải pháp bảo mật cơ sở
dữ liệu.
Nếu sử dụng cơ sở dữ liệu để tạo ra các dấu vết kiểm
toán cho đăng nhập/đăng xuất và nhà cung cấp cơ sở
dữ liệu thực hiện khả năng khóa tài khoản, sau đó bạn
có thể thiết lập khả năng trong môi trường cơ sở dữ
liệu của bạn.

Trường CĐ CNTT HN Việt Hàn

21/61

Nguyễn Phương Tâm


5.2 CÁC LOẠI KIỂM TOÁN
Khi sử dụng một hệ thống an ninh bên ngoài, ta có thể

sử dụng tường lửa SQL mà sẽ chặn bất cứ kết nối
bằng cách sử dụng tên đăng nhập sau khi một số
lượng nhất định cố gắng đăng nhập thất bại. Trong
trường hợp này, cơ sở dữ liệu thậm chí sẽ không có
được kết nối bởi vì nó sẽ bị từ chối ở cấp tường lửa.

Trường CĐ CNTT HN Việt Hàn

22/61

Nguyễn Phương Tâm


5.2 CÁC LOẠI KIỂM TOÁN
Một tùy chọn khác là sử dụng các thủ tục cơ sở dữ
liệu, như trong hình 5.2.

Trường CĐ CNTT HN Việt Hàn

23/61

Nguyễn Phương Tâm


5.2 CÁC LOẠI KIỂM TOÁN
 Ngoài việc tạo ra một vệt kiểm toán, thông tin đăng nhập có thể
được dùng để tạo ra một đường cơ sở (baseline) có thể giúp bạn
trong việc xác định dị thường.
 Một đường cơ sở cho hoạt động đăng nhập người sử dụng là một
ánh xạ của hành vi đăng nhập “bình thường”. Đường cơ sở được

xây dựng bởi danh sách tất cả các kết hợp, phân loại có thể xảy ra.
 Có thể phân loại theo địa điểm đăng nhập mạng, tên người sử dụng,
các chương trình mã nguồn, và thời gian trong ngày, đường cơ sở
có thể tương tự như sau:
user1 192.168.1.168 JDBC 24Hrs.
user2 192.168.X.X Excel Normal Business Hours (9-5)
user3 10.10.10.x
isql
Weekends
Trường CĐ CNTT HN Việt Hàn

24/61

Nguyễn Phương Tâm


5.2 CÁC LOẠI KIỂM TOÁN
5.2.2 Kiểm toán nguồn sử dụng cơ sở dữ liệu
 Liên quan đến kiểm toán hoạt động đăng nhập là kiểm toán
thông tin nguồn của client.
 Bao gồm:
 Kiểm toán nút mạng được kết nối với cơ sở dữ liệu
 Kiểm toán ứng dụng đang được sử dụng để truy cập vào cơ
sở dữ liệu.
 Thông tin này là một trong những giá trị thường nhận được khi
kiểm toán các kết nối cơ sở dữ liệu, nó thường quan trọng khi
thông tin này ở mức độ gọi lệnh SQL.
Trường CĐ CNTT HN Việt Hàn

25/61


Nguyễn Phương Tâm


×