Audit database P1
Bài đăng này đã không được cập nhật trong 7 năm
1. Giới thiệu:
- Audit là hành động theo dõi, nó đóng vai trò như một chiếc camera ghi lại những thao tác, hành động tác động trực tiếp lên dữ liệu. Đây không phải là cơ chế phân quyền người dùng, điều khiển truy cập... nó chỉ tương tự như việc ghi lại log, giúp người quản trị cơ sở dữ liệu theo dõi, kiểm soát những đối tượng có hành vi xấu đối với database...nhằm phục vụ cho cơ chế dò tìm để phát hiện tấn công
- Mục đích của việc auditing:
- Auditing cho phép ta bắt các user phải có trách nhiệm về hành động mà họ thực hiện, bằng cách theo dõi hành vi của họ.
- Dữ liệu audit giúp phát hiện lỗ hổng trong chính sách bảo mật.
- Liên quan đến trách nhiệm giải trình của user. Cần phải đảm bảo rằng user chỉ được thực hiện những gì họ được phép. Ghi nhận sự lạm quyền hoặc dùng sai quyền.
- Auditing để ghi nhận lại những gì đã xảy ra và có hồi đáp thích hợp.
- Không thực hiện auditing ta sẽ không thể biết khía cạnh bảo mật của hệ thống có đảm bảo hay không hay có ai đã đọc hoặc cập nhật dữ liệu một cách bất hợp pháp hay không.
- Việc auditing hiệu quả khi: Có kế hoạch thực hiện auding. Đọc lại và phân tích dữ liệu của quá trình auditing.
- Tuy nhiên:
- Auditing tất cả các hành động của tất cả các user trên tất cả dữ liệu sẽ không có ích mà còn làm chậm hệ thống, và dữ liệu có được từ quá trình audit khó sử dụng.
- Audit một cách có chọn lọc và đúng đắn, dựa trên dữ liệu, xử lý và người dùng có thật.
2. Các phương pháp auditing:
- Application server log:
- Nhật ký truy cập trên application server hay web server là dạng auditing cơ bản.
- Có nhiều thông tin chứa trong các tập tin nhật ký: các tài nguyên được truy cập, ai đã truy cập, khi nào, như thế nào(thành công, thất bại...).
- Dạng audit này có ích cho việc phát hiện những hành vi đáng nghi ngờ, (ví dụ tấn công DoS).
- Khuyết điểm: thông tin không trực tiếp (chỉ có IP address mà không biết user nào, có URL mà không biết chương trình nào); Có thể có những truy cập không thông qua ứng dụng thì application audit không có tác dụng.
- Trigger Auditing:
- Dùng để ghi nhận và theo dõi các hành vi trong phạm vi cơ sở dữ liệu, dùng các database trigger, cụ thể là DML trigger.
- Mang tính trong suốt, thực hiện auditing mà không cần thực hiện trên ứng dụng.
- Thực hiện: Tạo bảng phụ lưu dữ liệu của quá trình audit. Trigger gọi thủ tục ghi nhận lại dữ liệu vào bảng trên.
- Các dạng audit chuẩn trong Oracle database:
- Mandatory Auditing. CSDL luôn ghi nhận lại các thông tin về: • Database startup. • Database shutdown. • Các user được xác thực với role là SYSDBA hoặc SYSOPER. • Database startup: auditing record ghi nhận lại có bật chế độ đang audit lên hay không, phòng trường hợp admin đã tắt chế độ audit và khởi động lại CSDL. • Audit record được lưu ở mức hệ điều hành.
- Auditing SYS. • Ghi nhận những hành động được thực hiện bởi user được xác thực với role là SYSDBA hoặc SYSOPER. • Audit record được ghi vào file mức OS
- Standard audit: Có thể audit: • Trên đối tượng là table/ view. • Việc thực thi proc. • Các đặc quyền hệ thống (tắt kích hoạt 1 trigger). • Trên 1 số user cụ thể. • Trên các hành động thành công hoặc không thành công.
- Fine – grained auditing: • Cung cấp thêm một số tính năng so với standard auditing: kiểm tra điều kiện trước khi audit, column sensitivity, …
Đây là phần giới thiệu chung để mọi người hiểu khái niệm và một số loại audit trong cơ sở dữ liệu. Phần sau mình sẽ đi sâu vào phần audit trong Oracle 11g với những ví dụ cụ thể.
All rights reserved