audit تحت استاندارد CIS

یکی از مهمترین کارهایی که باید DBA با هماهنگی صاحب کسب و کار یا به اصطلاح Business owner انجام بده، راه اندازی audit هست که جداول حساس و کارهایی که کسانی که به دیتابیس متصل میشن رو بتونه audit کنه. معمولاً صاحبان کسب و کار تا زمانی که به مشکلی بر نخورن، متوجه این موضوع نیستند. به همین دلیل بر اساس بخشی از  استاندارد CIS که مربوط به Audit هست، توصیه میکنم که policy ای که براتون میزارم رو تو دیتابیس هاتون رعایت کنید.همچنین اگر جدولی احتیاج به audit در شرایط خاص داره، حتماً audit بشه. این رو هم اضافه کنم که گذاشتن این policy میتونه بخشی از درخواستهای سازمانهای نظارتی امنیت رو برآورده کنه.

تنها بخشی که من عمداً حذفش کردم، لیست لاگین های موفق به دیتابیس بوده که از نظر من روی دیتابیس بار میندازه و اثر منفی ملموسی داره. لاگین های ناموفق هم با policy با نام failed login attempt بصورت پیش فرض مانیتور میشه. این audit بر اساس unified audit policy از نسخه 12 به بعد نوشته شده:

create  AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ACTIONS

CREATE USER;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER USER;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP USER;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE ROLE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER ROLE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP ROLE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

GRANT;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

REVOKE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE PROFILE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER PROFILE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP PROFILE;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE DATABASE LINK;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER DATABASE LINK;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD ACTIONS

DROP DATABASE LINK;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE SYNONYM;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER SYNONYM;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP SYNONYM;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

PRIVILEGES

SELECT ANY DICTIONARY;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD ACTIONS

ALL on AUDSYS.AUD$UNIFIED;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE PROCEDURE,

CREATE FUNCTION,

CREATE PACKAGE,

CREATE PACKAGE BODY;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER PROCEDURE,

ALTER FUNCTION,

ALTER PACKAGE,

ALTER PACKAGE BODY;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP PROCEDURE,

DROP FUNCTION,

DROP PACKAGE,

DROP PACKAGE BODY;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

ALTER SYSTEM;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

CREATE TRIGGER;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD ACTIONS

ALTER TRIGGER;

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY

ADD

ACTIONS

DROP TRIGGER;

حالا برای فعال کردنش می تونید از دستور زیر استفاده کنید:

 

AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY;

 برای دیدن لیست audit های فعال روی دیتابیس هم می تونید از دستور زیر استفاده کنید

SELECT * FROM AUDIT_UNIFIED_ENABLED_POLICIES;