Standard Auditing trong Oracle Database

Để cấu hình và quản trị Standard Auditing trong Oracle Database, bạn cần thực hiện các bước sau:

1. Kích hoạt Auditing:

  • Trước tiên, bạn cần kích hoạt auditing bằng cách cấu hình tham số audit_trail trong file cấu hình init.ora hoặc spfile.

Ví dụ, để kích hoạt auditing và lưu trữ bản ghi audit trong bảng SYS.AUD$:

ALTER SYSTEM SET audit_trail='DB' SCOPE=SPFILE;
  • Sau đó, khởi động lại cơ sở dữ liệu để áp dụng các thay đổi:

SHUTDOWN IMMEDIATE;

STARTUP;

2. Cấu hình Auditing:

Ví dụ, để audit các lệnh SELECT trên bảng employees:

AUDIT SELECT ON hr.employees BY ACCESS;

## từ khoá BY ACCESS nếu không được khai báo sẽ được hiểu là mặc định có, ngoài ra còn có BY SESSION

Hoặc để audit tất cả các lệnh INSERT, UPDATE, DELETE trên bảng employees:

AUDIT INSERT, UPDATE, DELETE ON hr.employees BY ACCESS;

Audit cho role:

AUDIT ROLE_name;

AUDIT connect; ## audit role connect.

NOAUDIT ROLE_name;

Audit với tuỳ chọn successful: nghĩa là role này khi thực hiện thành công mới log (có thể thay bằng UNSUCCESSFUL)

AUDIT ROLE_name WHENEVER SUCCESSFUL;

NOAUDIT ROLE_name WHENEVER SUCCESSFUL;

Audit tất cả: bật tắt (sẽ tiến hành audit toàn bộ các hoạt động trên user DUONG bao gồm truncate table và không gồm insert, delete, update => cái này phải khai báo riêng…)

## audit toàn bộ phiên làm việc của người dùng Duong, log lại mỗi khi có session đăng nhập hoặc đăng xuất

AUDIT SESSION BY DUONG BY ACCESS;

## audit toàn bộ hoạt động của duong (trừ các lệnh DML)

AUDIT ALL BY DUONG BY ACCESS;

## tắt toàn bộ audit cho Duong

NOAUDIT SESSION BY DUONG;

NOAUDIT ALL BY DUONG;

## Bật audit cho tất cả DB mà không chỉ rõ ra user nào:

AUDIT SESSION

AUDIT ALL

## audit connect và disconnect

AUDIT CONNECT;

AUDIT DISCONNECT;

3. Xem và Quản lý các Bản ghi Audit:

  • Các bản ghi audit sẽ được lưu trữ trong bảng SYS.AUD$. Bạn có thể truy vấn bảng này để xem các bản ghi audit hoặc sử dụng các view cung cấp thông tin về audit như DBA_AUDIT_TRAIL, DBA_AUDIT_SESSION…

Tất cả các VIEW liên quan tới AUDIT:

SELECT view_name FROM dba_views WHERE view_name LIKE 'DBA%AUDIT%' ORDER BY view_name;

###

DBA_AUDIT_EXISTS

DBA_AUDIT_MGMT_CLEANUP_JOBS

DBA_AUDIT_MGMT_CLEAN_EVENTS

DBA_AUDIT_MGMT_CONFIG_PARAMS

DBA_AUDIT_MGMT_LAST_ARCH_TS

DBA_AUDIT_OBJECT

DBA_AUDIT_POLICIES

DBA_AUDIT_POLICY_COLUMNS

DBA_AUDIT_SESSION

DBA_AUDIT_STATEMENT

DBA_AUDIT_TRAIL

DBA_COMMON_AUDIT_TRAIL

DBA_DV_PATCH_ADMIN_AUDIT

DBA_FGA_AUDIT_TRAIL

DBA_OBJ_AUDIT_OPTS

DBA_OLS_AUDIT_OPTIONS

DBA_PRIV_AUDIT_OPTS

DBA_SA_AUDIT_OPTIONS

DBA_STMT_AUDIT_OPTS

DBA_XS_AUDIT_POLICY_OPTIONS

DBA_XS_AUDIT_TRAIL

DBA_XS_ENABLED_AUDIT_POLICIES

Ví dụ, để xem tất cả các bản ghi audit:

SELECT * FROM SYS.AUD$;

select * from dba_audit_trail;

word image 2301 1

Kiểm tra tính năng, loại audit xem đã kích hoạt hay chưa:

SELECT * FROM DBA_STMT_AUDIT_OPTS WHERE USER_NAME = 'DUONG';

SELECT * FROM DBA_SA_AUDIT_OPTIONS WHERE USER_NAME = 'DUONG';

SELECT * FROM DBA_PRIV_AUDIT_OPTS WHERE USER_NAME = 'DUONG';

word image 2301 2

Kiểm tra dung lượng tabe audit: — kiem tra dung luong cua table audit log

SELECT segment_name, bytes/1024/1024 as MB
FROM dba_segments
WHERE segment_name = 'AUD$';

4. Tắt Auditing (tùy chọn):

  • Nếu bạn muốn tắt auditing cho một hoạt động cụ thể hoặc tất cả các hoạt động, bạn có thể sử dụng lệnh NOAUDIT.

Ví dụ, để tắt auditing SELECT trên bảng employees:

NOAUDIT SELECT ON hr.employees;

Hoặc để tắt tất cả các loại audit:

NOAUDIT ALL by user_name;

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận