1 / 61

Chương 5. KIỂM TOÁN CƠ SỞ DỮ LIỆU

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. NỘI DUNG. 5.1 Tổng quan về kiểm toán 5.2 Các loại kiểm toán

Download Presentation

Chương 5. KIỂM TOÁN CƠ SỞ DỮ LIỆU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chương 5. KIỂM TOÁN CƠ SỞ DỮ LIỆU GV: Nguyễn Phương Tâm

  2. 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 Nguyễn Phương Tâm

  3. 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 Nguyễn Phương Tâm

  4. 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 Nguyễn Phương Tâm

  5. 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ế. Nguyễn Phương Tâm

  6. 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. Nguyễn Phương Tâm

  7. 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 Nguyễn Phương Tâm

  8. 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 Nguyễn Phương Tâm

  9. 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. Nguyễn Phương Tâm

  10. 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. Nguyễn Phương Tâm

  11. 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? Nguyễn Phương Tâm

  12. 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. Nguyễn Phương Tâm

  13. 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. Nguyễn Phương Tâm

  14. 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. Nguyễn Phương Tâm

  15. 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. Nguyễn Phương Tâm

  16. 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. Nguyễn Phương Tâm

  17. 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), login_day date, login_time varchar2(10), logout_day date, logout_time varchar2(10) ); Nguyễn Phương Tâm

  18. 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; Nguyễn Phương Tâm

  19. 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; Nguyễn Phương Tâm

  20. 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; Nguyễn Phương Tâm

  21. 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. Nguyễn Phương Tâm

  22. 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. Nguyễn Phương Tâm

  23. 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. Nguyễn Phương Tâm

  24. 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 Nguyễn Phương Tâm

  25. 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. Nguyễn Phương Tâm

  26. 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 • Chương trình nguồn thường là dữ liệu mà bạn nên thu thập cho mỗi truy vấn và các hoạt động trên cơ sở dữ liệu mà bạn muốn giữ lại trong các vệt kiểm toán, đặc biệt là nếu địa chỉ IP duy nhất xác định một người sử dụng. • Nếu kiến trúc dựa trên mô hình client/server, thì nguồn địa chỉ IP thường xác định một người sử dụng duy nhất, việc theo dõi và báo cáo về địa chỉ IP cho mỗi SQL gọi là tốt khi báo cáo mà trên đó người sử dụng cuối cùng đã thực hiện và xem dữ liệu của mình – đó là một vệt kiểm toán có giá trị. • Nếu sử dụng một kiến trúc máy chủ ứng dụng, thì địa chỉ IP sẽ không giúp xác định và báo cáo về việc người sử dụng cuối và bạn sẽ phải thực hiện bằng cách khác. Nguyễn Phương Tâm

  27. 5.2 CÁC LOẠI KIỂM TOÁN Hình 5.3 Các vệt kiểm toán Nguyễn Phương Tâm

  28. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Một đề tài liên quan đến việc kiểm toán của đăng nhập cơ sở dữ liệu là một hoạt động kiểm toán đang được thực hiện ngoài giờ làm việc bình thường. Đây là một yêu cầu trực quan và một việc thường được yêu cầu từ doanh nghiệp. • Yêu cầu trực quan của kiểm toán sử dụng cơ sở dữ liệu ngoài giờ làm việc bình thường là cần thiết vì các hoạt động thực hiện vào giờ này thường nghi ngờ và có thể là kết quả của một người sử dụng đang cố gắng truy cập trái phép hoặc sửa đổi dữ liệu. Nguyễn Phương Tâm

  29. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Tuy nhiên, một hacker giỏi thường sẽ cố gắng đăng nhập các cơ sở dữ liệu trong một thời gian “ngụy trang”. Việc cố gắng truy cập trái phép sẽ tốt hơn khi có nhiều “nhiễu” trong lúc thực hiện. Nhưng các hacker ít tinh vi thường thực hiện vào ban đêm hoặc lúc sáng sớm vì có ít người ở công ty. Nguyễn Phương Tâm

  30. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Khi bạn kiểm toán hoạt động ngoài giờ, thường là không đủ để theo dõi khi đăng nhập và đăng xuất chỉ xảy ra ngoài giờ. Nói chung, bạn cũng mong muốn nhận được những hoạt động được thực hiện, thường ở mức câu lệnh SQL. Nếu đăng nhập như vậy là nghi ngờ, điều quan trọng là để nắm bắt những gì họ đã sử dụng trong cơ sở dữ liệu. • Có một vết kiểm toán đầy đủ tất cả các hoạt động đó đã được thực hiện bởi người sử dụng bất kỳ bên ngoài giờ làm việc bình thường là bởi vì thường thu nhập được nhiều hơn khi thực hiện và sẽ đáp ứng các yêu cầu tuân thủ theo quy định nội bộ. Nguyễn Phương Tâm

  31. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Vết kiểm toán ngoài giờ là có ý nghĩa, ở một mức độ kỹ thuật, và phải rõ ràng về định nghĩa, vì hầu hết các môi trường cơ sở dữ liệu môi trường làm việc 24 giờ trong 7 ngày, và bạn không muốn tạo ra báo động sai bất cứ khi nào một kịch bản ETL thực hiện upload dữ liệu lớn ở bên ngoài giờ làm việc bình thường. • Trọng điểm để thực hiện tốt các vệt kiểm toán này không phải là bao gồm các hoạt động mà luôn được lập biểu để chạy các hoạt động ngoài giờ là một phần của vết kiểm toán này. Nguyễn Phương Tâm

  32. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Một cách tiếp cận để lọc ra các hoạt động bình thường xảy ra ở bên ngoài giờ bình thường là sử dụng một đường cơ sở. • Ví dụ đường cơ bản truy cập cơ sở dữ liệu như sau: user1192.168.1.168SQLLoader2am-4am user2192.168.1.168ETL12am-6am • Khi thực hiện kiểm toán ngoài giờ nên loại trừ bất kỳ hoạt động được thực hiện bởi các ứng dụng này, bằng cách sử dụng những tên đăng nhập, và đến từ các địa chỉ IP trên. Nguyễn Phương Tâm

  33. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.3 Kiểm toán việc sử dụng cơ sở dữ liệu ngoài giờ làm việc • Kiểm toán chỉ có những phân kỳ từ đường cơ sở giúp làm giảm kích thước của vệt kiểm toán khi kiểm tra, bởi vì hoạt động sẽ được ghi nhận là chỉ những hoạt động đang xảy ra bên ngoài của các chuẩn. Nguyễn Phương Tâm

  34. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Kiểm toán thay đổi trên lược đồ, hay cụ thể hơn, kiểm toán hoạt động câu lệnh DDL là quan trọng và đã trở thành một trong những vệt kiểm toán được thực thi nhiều nhất. • Điều này có lẽ vì kiểm toán thay đổi trên lược đồ là quan trọng từ quan điểm bảo mật, từ quan điểm tuân thủ (compliance), và từ một quan điểm quản lý cấu hình và quy trình. Nguyễn Phương Tâm

  35. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Từ quan điểm bảo mật, câu lệnh DDL là những lệnh có khả năng gây tổn hại nhất đang tồn tại và chắc chắn có thể được sử dụng bởi kẻ tấn công để thỏa hiệp với bất kỳ hệ thống nào. Thậm chí ăn cắp thông tin thường liên quan đến các lệnh DDL (ví dụ, thông qua việc tạo ra thêm một bảng thì dữ liệu có thể được sao chép trước khi khai thác). • Từ một quan điểm tuân thủ, nhiều quy định yêu cầu bạn phải kiểm toán bất kỳ sửa đổi nào của cấu trúc dữ liệu như bảng biểu và khung nhìn. Một số yêu cầu về HIPAA, ví dụ, có thể trực tiếp như là một kiểm toán cần phải thay đổi lược đồ. Nguyễn Phương Tâm

  36. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Quy định các yêu cầu để kiểm toán thay đổi lược đồ là không cần thiết bởi vì lý do bảo mật. Đôi khi cần là để tránh sai sót và để khám phá những vấn đề một cách nhanh chóng. • Việc tuân thủ yêu cầu của kiểm toán thay đổi lược đồ thường tương tự như các yêu cầu được định nghĩa như một phần của quản lý cấu hình và quản trị IP. • Thay đổi trên lược đồ cần phải được kiểm toán và lưu để tham khảo trong tương lai như là một cách để xác định và nhanh chóng giải quyết các lỗi có thể thỏa hiệp dữ liệu hoặc có thể gây ra các dữ liệu sai lệch Nguyễn Phương Tâm

  37. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Trong trường hợp khác, kiểm toán hoạt động câu lệnh DDL được thực hiện để loại bỏ các lỗi mà nhà phát triển và DBA có thể đưa ra và có thể có hiệu quả. Kiểm soát chặt chẽ hơn trong quá trình quản lý cấu hình là quan trọng và là một trong các trình điều khiển chính của kiểm toán DDL. Nguyễn Phương Tâm

  38. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Có ba phương pháp chính để kiểm toán thay đổi lược đồ 1. Sử dụng tính năng kiểm toán cơ sở dữ liệu 2. Sử dụng hệ thống kiểm toán bên ngoài 3. So sánh nhanh các lược đồ Nguyễn Phương Tâm

  39. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Hầu hết các môi trường cơ sở dữ liệu sẽ cho phép bạn kiểm toán hoạt động DDL bằng cách sử dụng cơ chế kiểm toán, giám sát sự kiện, ghi vết, và vv. Nguyễn Phương Tâm

  40. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Ví dụ, Oracle cho phép bạn sử dụng trigger hệ thống dựa trên câu lệnh DDL create table ddl_audit_trail ( user_id varchar2(30), ddl_date date, event_type varchar2(30), object_type varchar2(30), owner varchar2(30), object_name varchar2(30) ); Nguyễn Phương Tâm

  41. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Ví dụ, Oracle cho phép bạn sử dụng trigger hệ thống dựa trên câu lệnh DDL create or replace trigger DDL_trigger AFTER DDL ON DATABASE BEGIN insert into ddl_audit_trail ( user_id, ddl_date, event_type, object_type, owner, object_name ) VALUES ( ora_login_user, sysdate, ora_sysevent, ora_dict_obj_type, ora_dict_obj_owner, ora_dict_obj_name ); End; Nguyễn Phương Tâm

  42. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.4 Kiểm toán hoạt động câu lệnh DDL • Cách thứ hai là sử dụng công cụ kiểm toán bên ngoài. Những công cụ này không chỉ tập hợp các thông tin trên danh nghĩa của bạn, mà còn cung cấp các công cụ cho việc báo cáo, cảnh báo, và các chức năng nâng cao như tạo đường cơ sở. • Cách thứ ba là so sánh nhanh các lược đồ, nó không cung cấp cho bạn một vệt kiểm toán chi tiết của hoạt động DDL và là kém hai loại khác nhưng tương đối dễ dàng thực hiện và có thể được sử dụng như là một giải pháp tạm thời cho đến khi bạn thực hiện một cơ sở hạ tầng kiểm toán sự thật. Nguyễn Phương Tâm

  43. 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 được trả về từ cơ sở dữ liệu là rất quan trọng và là một trong những vệt kiểm toán đầu tiên bạn nên thực hiện. • Điều này đặc biệt đúng, theo quan điểm bảo mật, và bạn đã thấy nhiều trường hợp điều này là quan trọng. Ví dụ, khi tìm hiểu về cuộc tấn công SQL injection, một trong những điều bạn biết được là trong nhiều trường hợp kẻ tấn công sẽ nỗ lực thực hiện nhiều lần cho đến khi họ nhận được kết quả đúng. Nguyễn Phương Tâm

  44. 5.2 CÁC LOẠI KIỂM TOÁN 5.2.5 Kiểm toán lỗi cơ sở dữ liệu • Ví dụ được sử dụng là một tấn công dựa trên UNION (toán tử hợp), kẻ tấn công cần phải đoán đúng số cột. Cho đến khi họ nhận được số đúng, các cơ sở dữ liệu liên tục sẽ trả lại một mã lỗi nói rằng các cột được lựa chọn bởi hai câu SELECT không tương ứng. Nếu bạn ghi lại tất cả các lỗi, bạn có thể xác định tình trạng này và phản ứng. • Đăng nhập lỗi là một ví dụ khác về một lỗi cần phải ghi lại và theo dõi, thậm chí nếu bạn không kiểm toán đăng nhập vào cơ sở dữ 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. Nguyễn Phương Tâm

  45. 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. Nguyễn Phương Tâm

  46. 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: Nguyễn Phương Tâm

  47. 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ỗi create table error_audit ( user_id varchar2(30), session_id number(8), host varchar2(30), error_date date, error varchar2(100) ); Nguyễn Phương Tâm

  48. 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; Nguyễn Phương Tâm

  49. 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. Nguyễn Phương Tâm

  50. Bảng 5.1 Các sự kiện xử lý lỗi Nguyễn Phương Tâm

More Related