Thứ Tư, 16 tháng 3, 2022

Các câu lệnh hay dùng với Oracle Auditing

Mục đích: Chia sẻ Các câu lệnh hay dùng với Oracle Auditing truyền thống và unified auditing

1. Auditing được bật :(truyền thống)

-- Auditing được tắt, khi audit_trail đặt là NONE

SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- --------------------------
audit_trail string NONE

- audit_trail đặt là DB hoặc DB,EXTENDED.

alter system set audit_trail=db scope=spfile;
(hoặc)
alter system set audit_trail=db, extended scope=spfile;

-- Restart database.

shutdown immediate;
startup;

SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- --------------------------
audit_trail string DB 

2. Audit mức câu lệnh:

-- Hiển thị các câu lệnh được audit
select * from STMT_AUDIT_OPTION_MAP;

-- Cho phép audit mức câu lệnh 
audit table by DBAVIET.

audit table by DBAVIET whenever successful;
audit role by DBAVIET;
-- Tắt auditing: noaudit table by DBAVIET;
-- Liệt kê các câu lệnh đã audit trong  database: col user_name for a12 heading "User name" col audit_option format a30 heading "Audit Option" set pages 1000 prompt prompt System auditing options across the system and by user select user_name,audit_option,success,failure from sys.dba_stmt_audit_opts order by user_name, proxy_name, audit_option / 

3. Audit mức object:

audit insert,update on DBAVIET.EMP by MANAGER;
AUDIT delete on DBAVIET.EMP; 

 -- Tắt auditing:
noaudit insert,update on DBAVIET.EMP by MANAGER;
noAUDIT delete on DBAVIET.EMP by MANAGER;


-- Audit hoạt động SELECT/DML của 1 user (DBAVIET):
audit select table,insert table,update table,delete table by DBACLASS by access; audit execute procedure by dbaclass by access; audit all by dbaclass by access;

4. Audit mức quyền hệ thống:

-- Bật audit mức quyền hệ thống:
audit drop any table ;
audit create table;
audit drop user;

-- Liệt kê các quyền hệ thống được audit:
col user_name for a12 heading "User name"
col privilege for a30 heading "Privilege"
set pages 1000
prompt
prompt System Privileges audited across system
select user_name,privilege,success,failure from dba_priv_audit_opts
order by user_name, proxy_name, privilege
/

5. Tìm các dữ liệu đã audit của 1 user:

col user_name for a12 heading "User name"
col timest format a13
col userid format a8 trunc
col obn format a10 trunc
col name format a13 trunc
col object_name format a10
col object_type format a6
col priv_used format a15 trunc
set verify off
set pages 1000
SET PAGESIZE 200
SET LINES 299
select username userid, to_char(timestamp,'dd-mon hh24:mi') timest ,
action_name acname, priv_used, obj_name obn, ses_actions
from sys.dba_audit_trail
where timestamp>sysdate-&HOURS*(1/24) and username='&USER_NAME'
order by timestamp
/

6. Cho phép audit user sys :

SQL>ALTER SYSTEM SET audit_sys_operations=true SCOPE=spfile;

SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> show parameter audit_sys_operations

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations boolean TRUE

7. Bật pure unified auditing:

-- False tức là kiểu mixed auditing;
SELECT value FROM v$option WHERE parameter = 'Unified Auditing';
VALUE
-----------------
FALSE

-- relink thư viện 
shutdown immediate;

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk unaiaud_on ioracle

startup

SELECT value FROM v$option WHERE parameter = 'Unified Auditing';
VALUE
-----------------
TRUE

8. Hiển thị policy unified audit đã cấu hình trong db:

-- False có nghĩa là chế độ mixed auditing;
SELECT value FROM v$option WHERE parameter = 'Unified Auditing';
VALUE
-----------------
FALSE

-- relink thư viện
shutdown immediate;

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk unaiaud_on ioracle

startup

SELECT value FROM v$option WHERE parameter = 'Unified Auditing';
VALUE
-----------------
TRUE

9. Hiển thị dữ liệu unified audit:

- Unified report trong 1h trước:
set lines 299
col SQL_TEXT for a23
col action_name for a18
col UNIFIED_AUDIT_POLICIES for a23
select action_name,SQL_TEXT,UNIFIED_AUDIT_POLICIES ,EVENT_TIMESTAMP from unified_AUDIT_trail
where EVENT_TIMESTAMP > sysdate -1/24

10. Tạo  unified audit policy:

-- Tạo audit policy với tuỳ chọn audit:

create audit policy test_case2
ACTIONS CREATE TABLE,
INSERT ON DBAVIET.EMP_TAB,
TRUNCATE TABLE,
select on DBAVIET.PROD_TAB;

select POLICY_NAME,audit_option,AUDIT_CONDITION,OBJECT_SCHEMA,OBJECT_NAME FROM
AUDIT_UNIFIED_POLICIES where POLICY_NAME='TEST_CASE2';

-- Bật policy:

audit policy TEST_CASE2;

select distinct policy_name from AUDIT_UNIFIED_ENABLED_POLICIES where policy_name='TEST_CASE2';

11 . Ngoại trừ 1 số user không quan trong ra khỏi policy:

SQL> noaudit policy TEST_CASE2;

Noaudit succeeded.

SQL> audit policy TEST_CASE2 except stcdba;

Audit succeeded.

SQL> select USER_NAME,POLICY_NAME,ENABLED_OPT from AUDIT_UNIFIED_ENABLED_POLICIES where POLICY_NAME='TEST_CASE2';

USER_NAME POLICY_NAME ENABLED_OPT
------------- ------------ -----------------------
CLASSDBA TEST_CASE2 EXCEPT


12. Purge audit table dùng dbms :

-- Move aud$ table to new tablespace if present under SYSTEM tablespace:

select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 from dba_segments where segment_name='AUD$';

OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME BYTES/1024/1024
------------ ------------ ------------------ ------------------------------ ---------------
SYS AUD$ TABLE SYSTEM 176


SQL>
BEGIN
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
audit_trail_location_value => 'TS_AUDIT');
END;
/

SQL>

PL/SQL procedure successfully completed.



-- Khởi tạo dọn dẹp log audit 
SQL>
BEGIN
DBMS_AUDIT_MGMT.init_cleanup(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL,
default_cleanup_interval => 12 /* hours */);
END;
/

PL/SQL procedure successfully completed.

-- Cấu hình vòng đời lưu trữ
BEGIN
DBMS_AUDIT_MGMT.set_last_archive_timestamp(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
last_archive_time => SYSTIMESTAMP-30);
END;
/



-- Chạy job purge:

BEGIN
DBMS_AUDIT_MGMT.clean_audit_trail(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
use_last_arch_timestamp => TRUE);
END;
/

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master