Sunteți pe pagina 1din 19

SECURITATEA BAZELOR DE DATE

Cuprins:

I. Introducere II. Tipurile auditului III Auditarea activitatilor generale utilizand auditul standard

IV. Auditarea detaliata a activitatilor specifice V. Auditarea utilizatorilor si administratorilor SYS

VI. Inregistrarile logurilor auditului: gestionare, stergere VII. Ghiduri pentru audit 1. Auditarea informatiilor sensibile

2. Auditarea activitatilor uzuale 3. Auditarea activitatilor suspecte

4. Setari recomandate pentru audit

Audit
I. Introducere Auditul reprezinta inregistrarea si monitorizarea anumitor actiuni asupra bazei de date, atat ale utilizatorilor bazei de date, cat si a celorlalti utilizatori. Auditul se poate baza fie pe actiuni individuale, cum ar fi tipul declaratiilor SQL executate, fie pe combinatii de date care pot include numele utilizatorului, aplicatia, timpul, etc. Se pot audita atat activitatile reusite cat si cele esuate. Pentru a utiliza auditul, se activeaza apoi se configureaza ceea ce trebuie auditat. Actiunile auditate sunt inregistrate fie in tabelele dictionar de date, fie in fisiere ale sistemului de operare. De obicei, auditul este folosit pentru efectuarea urmatoarelor activitati: Determinarea responsabilitatii pentru actiunile efectuate. Acestea includ actiuni desfasurate pe schema particulara, tabel, rand, sau care afecteaza un anumit continut. Descurajarea utilizatorilor (sau altii, cum ar fi intrusii) sa intreprinda actiuni inadecvate, punand baza pe responsabilitatea fiecaruia. Investigarea activitatilor dubioase. De exemplu, daca un utilizator sterge date din tabele, atunci administratorul de securitate poate decide analizarea tuturor conexiunilor catre baza de date si a tuturor stergerilor de randuri, reusite sau nu, din tabelele bazei de date. Anuntarea unui auditor in legatura cu actiunile unui utilizator neautorizat. De exemplu, un utilizator neautorizat poate schimba sau sterge date, sau utilizatorul are mai multe privilegii decat este necesar, ceea ce poate conduce la reevaluarea drepturilor utilizatorilor. Monitorizarea si strangerea de date despre anumite activitati asupra bazei de date. De exemplu, administratorul bazei de date poate strange date statistice in legatura cu ce tabele sunt actualizate, cate intrari/iesiri logice sunt executate, sau cati utilizatori simultani se conecteaza la orele de varf. Detectarea problemelor prin implementarea unei autorizari sau a unui control al accesului. Oferirea cerintelor auditului pentru conformitate.

y y y

y y

La momentul auditului activitatilor suspecte asupra unei baze de date, trebuie pastrata integritatea inregistrarilor auditarii, pentru a garanta acuratetea si deplinatatea informatiilor auditului. Oracle Database inregistreaza auditarea in tabelele SYS.AUD$ si SYS.FGA_LOG$. Inregistrarile auditului generate ca rezultat al optiunilor auditului obiectului stabilite pentru tabelele SYS.AUD$ si SYS.FGA_LOG$ pot fi sterse din auditare doar de catre cineva cu privilegii de administrator. Trebuie tinut minte totusi ca si administratorii sunt auditati pentru acces neautorizat. Alte modalitati de a proteja auditarea bazei de date sunt urmatoarele: Setarea parametrului de initializare O7_DICTIONARY_ACCESSIBILITY la FALS (standard). Astfel, doar utilizatorii care au privilegii SYSDBA pot derula actiuni asupra datelor auditului din tabelele SYS.AUD$ si SYS.FGA_LOG$. In instalarea standard, parametrul O7_DICTIONARY_ACCESSIBILITY este setat ca FALS. Daca exista si este instalat Oracle Database Vault, se creeaza un domeniu in jurul tabelelor SYSTEM.AUD$ si SYS.FGA_LOG$. Intru-n mediu Oracle Database Vault, atunci cand Oracle Label Security este activat, tabela AUD$ este mutata in schema SYSTEM. Sinonimul SYS.AUD$ este creat pentru a realiza referinta la tabela SYSTEM.AUD$.

II. Tipurile auditului Ce se doreste a fi auditat? Activitati generale: Se pot audita declaratii SQL, drepturi de acces, obiecte schema, functii, proceduri, pachete, declansatori, activitatea retelei. Locatia inregistrarilor auditului: Oracle Database scrie inregistrarile auditului intr-o locatie stabilita de parametrul de initializare AUDIT_TRAIL. Standard, declaratiile SQL relevante pentru securitate si privilegiile: Oracle Database furnizeaza un set de setari standard pentru audit, care se pot activa pentru declaratiile SQL relevante pentru securitate si privilegii. Locatia inregistrarilor auditului: Oracle Database scrie inregistrarile auditului intr-o locatie stabilita de parametrul de initializare AUDIT_TRAIL. Activitati detaliate, specifice Se poate efectua audit pana la cel mai detaliat nivel, accesul la date si actiuni bazate pe continut, folosind masuri comparabile, cum ar fi valoarea>7800 sau adresa IP de la care s-a declansat o actiune. Locatia inregistrarilor auditului: se pot scrie fie in auditarea din baza de date, fie in format XML, in auditarea din sistemul de operare. Utilizatorii administrativi ai sistemului Se pot audita si declaratiile SQL de inalt nivel, efectuate de utilizatori care s-au conectat folosind privilegii SYSDBA sau SYSOPER. (Inalt nivel se refera la declaratii efectuate de un utilizator. Declaratiile pornite de la o procedura sau functie PL/SQL nu sunt considerate de inalt nivel). Locatia inregistrarilor auditului: Oracle Database scrie din standard inregistrarile auditului asupra sistemului in jurnalul Windows Event III Auditarea activitatilor generale utilizand auditul standard Orice utilizator poate configura auditul pentru obiectele din schema sa, utilizand declaratie AUDIT. Pentru reveni la configuratia initiala, utilizatorul poate folosi declaratia NOAUDIT. Nu sunt necesare privilegii suplimentare pentru aceasta activitate. Utilizatorii pot rula declaratii AUDIT pentru a seta optiunile auditului, idiferent de starea parametrului AUDIT_TRAIL. Ca administrator de securitate, activeaza sau dezactiveaza auditul standard pentru toata baza de date. Daca este dezactivat, nu se creeaza nicio inregistrare a auditului. Cand auditul este activat si apare o actiune supusa auditului, Oracle Database genereaza o inregistrare a auditului in timpul sau la finalizarea executiei declaratiei SQL. Oracle Database auditeaza delcaratiile SQL din cadrul unitatilor de program PL/SQL, dupa nevoie, cand unitatea de program este rulata. Generarea si inserarea unei inregistrari a auditarii este independenta de tranzactia in curs a unui utilizator. Astfel, chiar daca o tranzactie a unui utilizator este reluata, inregistrarea auditului este pastrata. Optiunile auditului cu privire la declaratii si privilegii valabile la momentul conectarii unui utilizator la baza de date raman valabile pe toata durata sesiunii. Cand sesiunea este deja activa, setarea sau schimbarea optiunilor auditului nu au efect in sesiunea respectiva. Acestea vor intra in vigoare abia dupa ce actuala sesiune este inchisa si se creeaza una noua.

Configurarea auditului standard cu ajutorul parametrului de initializare AUDIT_TRAIL Activarea sau dezactivarea Auditarii standard Auditarea standard se activeaza prin setarea parametrului de initializare AUDIT_TRAIL. Aceasta setare determina daca se creeaza sau nu auditarea in baza de date, daca se scriu activitatile auditului intr-un fisier al sistemului de operare, sau daca se dezactiveaza auditul. Pentru activarea sau dezactivarea auditarii standard, se efectueaza logarea in SQL*PLUS cu privilegii administrative, si se foloseste declaratia ALTER SYSTEM. Dupa aceasta este necesara repornirea instantei bazei de date. Pentru a verifica valoarea curenta a parametrului AUDIT_TRAIL se foloseste comanda SHOW PARAMETER in SQL*PLUS. Setari ale parametrului de initializare AUDIT_TRAIL DB: Directioneaza inregistrarile auditului in baza de date (tabela SYS.AUD$), exceptie facand inregistrarile SYS sau obligatorii, pe care le scrie intotdeauna in auditarea din sistemul de operare. Aceasta setare este folosita in general pentru bazele de date generale, pentru flexibilitate. BD este setarea standard pentru parametrul AUDIT_TRAIL. Daca baza de date a fost deschisa in modul numai-scriere, cu parametrul AUDIT_TRAIL setat DB, atunci Oracle Database seteaza intern AUDIT_TRAIL cu OS. DB, EXTENDED: Actioneaza ca si AUDIT_TRAIL=DB, dar in acelasi timp populeaza coloanele SQL bind si SQL text CLOB ale tabelei SYS.AUD$, cand sunt disponibile. DB,EXTENDED permite in acelasi timp retinerea declaratiei SQL folosita in actiunea auditata. Se poate retine atat declaratia SQL care a determinat auditarea, cat si orice variabila de legatura asociata. Totusi, de retinut ca se pot retine date numai din urmatoarele coloane de tipuri de date: , NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT, BINARY_FLOAT, BINARY_DOUBLE, LONG, ROWID, DATE, TIMESTAMP, si TIMESTAMP WITH TIMEZONE. De asemenea trebuie avut in vedere ca DB, EXTENDED poate retine date confidentiale, cum ar fi informatiile cartilor de credit. Daca baza de date a fost deschisa in modul numai-scriere, cu parametrul AUDIT_TRAIL setat DB, EXTENDED, atunci Oracle Database seteaza intern AUDIT_TRAIL cu OS. Se poate specifica DB, EXTENDED prin oricare din urmatoarele moduri: - ALTER SYSTEM SET AUDIT_TRAIL=DB, EXTENDED SCOPE=SPFILE; - ALTER SYSTEM SET AUDIT_TRAIL='DB','EXTENDED' SCOPE=SPFILE; A nu se scrie totusi DB, EXTENDED intre ghilimele: - ALTER SYSTEM SET AUDIT_TRAIL='DB, EXTENDED' SCOPE=SPFILE; OS: Directioneaza toate inregistrarile auditului catre fisiere ale sistemului de operare. Oracle recomanda folosirea setarii OS, in special daca este folosita o configuratie ultrasecurizata a bazei de date. Daca AUDIT_TRAIL este setat OS, trbuie setati si urmatorii parametrii de initializare: y AUDIT_FILE_DEST, care specifica locatia fisierului de audit. Pe sistemele UNIX, locatia standard este $ORACLE_HOME/admin/$ORACLE_SID/adump. y AUDIT_SYS_OPERATIONS, daca se doreste auditul declaratiilor SQL de inalt nivel rulate de utilizatori care sunt conectati cu privilegii SYSDBA sau SYSOPER. Pentru activarea acestui audit, AUDIT_SYS_OPERATIONS trebuie sa aib

valoarea TRUE. Daca setati AUDIT_SYS_OPERATIONS la valoarea TRUE si AUDIT_TRAIL de tipul XML sau XML,EXTENDED, atunci Oracle Database scrie fisierele de sistem ale inregistrarilor auditului SYS in format XML. AUDIT_SYSLOG_LEVEL, care scrie inregistrarile auditului de tip SYS sau OS in jurnalul de audit al sistemului, folosind functia SYSLOG. Aceasta optiune este valabila doar pentru mediile UNIX.

XML: Scrie in fisierul inregistrarii auditului sistemului de operare in format XML. Daca este setata valoarea XML, trebuie setat si parametrul AUDIT_FILE_DEST. Pentru toate platformele, inclusiv Windows, locatia standard pentru inregistrarea auditarii XML este ORACLE_HOME/admin/$ORACLE_SID/adump. Pe langa fisierele XML, Oracle Database creeaza un fisier text de index, care listeaza fisierele XML care au fost generate de auditarea XML. Fisierul este numit adx_$ORACLE_SID.txt. Acest fisier este utilizat atunci cand se interogheaza vizualizarea dictionarului de date V$XML_AUDIT_TRAIL. Stergerea acestor fisiere nu afecteaza auditul, cu exceptia faptului ca nu se vor putea vedea inregistrarile auditului fisierelor care nu sunt prezente in adx_$ORACLE_SID.txt la momentul interogarii. Valoarea XML a parametrului AUDIT_TRAIL nu afecteaza fisierul de audit syslog. Altfel spus, daca parametrul AUDIT_TRAIL are valoarea XML, atunci inregistrarile syslog vor fi tot in format txt, nu in format XML. Rezultatul inregistrarilor auditarii SYS sau cele obligatorii poate fi controlat dupa cum urmeaza: y Pentru a scrie fisierele de audit obligatorii sau cele SYS in fisiere de sistem in format XML: parametrului AUDIT_TRAIL i se da valoarea XML sau XML,EXTENDED, parametrului AUDIT_SYS_OPERATIONS valoarea TRUE, iar parametrul AUDIT_SYSLOG_LEVEL nu se seteaza. y Pentru a scrie fisierele de audit obligatorii sau cele SYS in fisierele de audit syslog iar inregistrarile standard in fisiere XML: parametrului AUDIT_TRAIL i se da valoarea XML sau XML,EXTENDED, parametrului AUDIT_SYS_OPERATIONS valoarea TRUE, iar parametrul AUDIT_SYSLOG_LEVEL se seteaza. XML, EXTENDED: Se comporta ca si AUDIT_TRAIL=XML, dar include de asemenea informatii text SQL si legaturi SQL in fisierele XML de audit. XML,EXTENDED se poate specifica in oricare din urmatoarele moduri: - ALTER SYSTEM SET AUDIT_TRAIL=XML, EXTENDED SCOPE=SPFILE; - ALTER SYSTEM SET AUDIT_TRAIL='XML','EXTENDED' SCOPE=SPFILE; A nu se scrie totusi DB, EXTENDED intre ghilimele: - ALTER SYSTEM SET AUDIT_TRAIL='XML, EXTENDED' SCOPE=SPFILE; Utilizarea auditarii sistemului de operare Ca alternativa la crearea inregistrarilor de audit in DBA_AUDIT_TRAIL (tabela SYS_AUD$), poti crea inregistrari de audit in sistemul de operare. Fisierul sistemului de operare care contine logurile poate avea oricare din urmatoarele date: - Inregistrari de audit ale bazei de date - Inregistrari obligatorii de audit (asta daca actiunile bazei de date sunt intotdeauna auditate) - Inregistrari de audit pentru utilizatorii cu rol administrativ (SYS)

Inregistrarile de audit ale sistemului de operare pot fi scrise fie intr-un fisier txt sau XML. Avantajele folosirii auditarii de sistem: - Reduce probabilitatea unui atac de tipul denial-of-service (DoS) - Usureaza securizarea auditarii. Daca auditorul este diferit de administratorul bazei de date, se folosesc setarile OS, XML sau XML, EXTENDED. Altfel, un administrator poate vizualiza si modifica orice informative despre audit inregistrata in baza de date. - Deoarece logurile de audit se scriu intr-o anumita locatie care se poate restrictiona pentru anumiti utilizatori, logurile de audit ale sistemul de operare implementeaza conceptele de separare a indatoririlor. - Scrierea recordurilor auditului in fisiere de sistem are ca rezultat o consumare redusa a resurselor bazei de date. Din acest motiv, este excelenta pentru baze de date foarte mari. - Inregistrarile auditului stocate in fisiere de sistem pot fi mai sigure decat cele stocate in baza de date, deoarece accesul la acestea poate cere drepturi pe care administratorii bazelor de date nu le au. Disponibiliatatea mai mare este un alt avantaj al inregistrarilor in fisiere de sistem, deoarece acestea sunt disponibile chiar daca baza de date este temporar inaccesibila. - Daca parametrul de initializare AUDIT_TRAIL are valoarea XML (sau XML, EXTENDED), atunci Oracle Database scrie inregistrarile auditului in fisiere XML. Se poate utiliza vizualizarea V$XML_AUDIT_TRAIL pentru a face inregistrarile XML disponibile administratorilor bazei de date printr-o interogare SQL, obtinand o utilizare imbunatatita. - Vizualizarea DBA_COMMON_AUDIT_TRAIL include inregistrarile auditului scrise in baza de date, inregistrarile in format xml, si continutul vizualizarii dinamice V$XML_AUDIT_TRAIL. - Utilizand inregistrarile in sistemul de operare, este posibila consolidarea recordurilor de audit din surse multiple, inclusiv Oracle Database si alte aplicatii. Examinarea activitatii sistemului poate fi mai eficienta avand toate recordurile auditului in acelasi loc. Auditarea declaratiilor SQL este auditarea selectiva a unor grupuri de declaratii SQL cu privire la un tip particular de structura de baze de date sau obiect schema, dar nu a unei structuri sau obiect schema anume. Declaratiile care se pot audita sunt in urmatoarele categorii: Declaratii DDL. De exemplu, AUDIT TABLE auditeaza toate declaratiile CREATE si DROP TABLE. y Declaratii DML. De exemplu, AUDIT SELECT TABLE, auditeaza toate declaratiile SELECT ... FROM TABLE/VIEW, indiferent de tabela sau vizualizare. Auditarea declaratiilor poate fi extinsa sau concentrata, de exemplu, prin auditarea activitatilor tuturor utilizatorilor bazei de date sau doar a unor anumite activitati. Cum se auditeaza declaratia SQL SELECT TABLE? AUDIT SELECT TABLE BY ACCESS; Daca se doreste auditarea tuturor declaratiilor SQL, a conexiunilor utilizatorilor individuali sau a referintelor catre obiecte inexistente, se urmeaza pasii:
y y

Auditarea tuturor declaratiilor SQL pentru utilizatorii individuali. Se poate folosi clauza ALL STATEMENTS pentru a audita numai declaratiile SQL de inalt nivel. Comportamentul acestei optiuni de audit este diferit fata de cel al altor optiuni de audit. Daca declaratia SQL este efectuata in interiorul unei proceduri PL/SQL, atunci optiunea ALL STATEMENTS nu o va audita. Aceasta optiune nu afecteaza alte optiuni de audit deja setate. Auditarea tuturor declaratiilor SQL executate de utilizatori individuali.

Auditarea tuturor declaratiilor pentru sesiunea curenta, indiferent de utilizator. Se poate utiliza clauza IN SESSION CURRENT pentru optiunea ALL STATEMENTS pentru auditarea declaratiilor SQL de inalt nivel pe intreaga durata a sesiunii de lucru. Nu se poate utiliza clauza IN SESSION CURRENT pentru un anumit utilizator. Declaratia NOAUDIT nu se poate utiliza pentru a o anula, insa auditarea dureaza atata timp cat este deschisa sesiunea de lucru a utilizatorului. Cand sesiunea de lucru se inchide, auditarea inceteaza. y Auditarea declaratiilor care esueaza deoarece un obiect nu exista. Optiunea NOT EXISTS a declaratiei AUDIT specifica auditarea tuturor declaratiilor SQL care esueaza deoarece obiectul tinta nu exista. Pentru a elimina declaratia SQL de audit, se utilizeaza declaratia NOAUDIT SQL. (Auditarea privilegiilor va fi activata in continuare). Inainte de a elimina declaratia SQL de auditare, trebuie detinut privilegiul de sistem AUDIT SYSTEM. Daca este configurata optiunea AUDIT ALL STATEMENTS, folosirea declaratiei NOAUDIT AUDIT STATEMENTS nu afecteaza alte optiuni de audit deja setate. Daca in declaratia AUDIT a fost inclusa clauza IN SESSION CURRENT, nu se poate elimina folosind declaratia NOAUDIT. (Setarea auditului discontiuna cand sesiunea se incheie.). Auditarea privilegiilor auditeaza declaratiile care folosesc privilegii de sistem, cum ar fi SELECT ANY TABLE. In aceste situatii, declaratiile SQL care cer ca privilegiile auditate sa reuseasca sunt inregistrate. Se poate audita folosirea oricarui privilegiu de sistem. Asemenea auditarii declaratiilor, auditarea privilegiilor auditeaza activitatile tuturor utilizatorilor bazei de date sau doar a unei liste specificate de utilizatori. Daca se stabilesc setari similare atat pentru auditarea declaratiilor cat si pentru auditarea privilegiilor, atunci se genereaza o singura inregistrare a auditului. Auditarea privilegiilor este declansata doar daca acestea sunt insuficiente, adica numai daca ceea ce face posibila actiunea este un privilegiu de sistem. Auditarea privilegiilor este mult mai concentrata decat auditarea declaratiilor, deoarece fiecare optiune de audit al privilegiilor auditeaza numai anumite declaratii, nu o lista de declaratii. Optiunile auditului privilegiilor sunt aceleasi ca la privilegiile de sistem corespondente. Pentru a audita utilizarile reusite sau esuate ale privilegiului de sistem DELETE ANY TABLE, se foloseste urmatoarea declaratie: AUDIT DELETE ANY TABLE BY ACCESS; Auditarea privilegiilor si declaratiilor esuate AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE BY ACCESS WHENEVER NOT SUCCESSFUL; Urmatoarea declaratie sterge toate optiunile auditului privilegiilor. NOAUDIT ALL PRIVILEGES; Auditarea unui obiect schema monitorizeaza actiunile asupra obiectului respectiv, cum ar fi tabele sau vizualizari. Auditarea obiectelor se aplica tuturor utilizatorilor, dar este limitata la obiectul auditat. Utilizatorii pot folosi declaratiile AUDIT si NOAUDIT asupra obiectelor din propriile scheme. Se pot audita declaratii care fac referire la tabele, vizualizari, secvente, proceduri stocate individual, functii sau pachete, dar nu proceduri individuale din interiorul pachetelor. Nu se pot audita direct declaratii care referentiaza grupuri, linkuri la baze de date, indici sau sinonime. Totusi, se pot audita indirect accesul la aceste obiecte schema, prin auditarea operatiunilor care afecteaza tabela de baza. Cand se auditeaza un obiect schema, auditarea se aplica tuturor utilizatorilor bazei de date. Nu se poate seta optiunea de audit doar pentru anumiti utilizatori. Se pot seta optiunile standard ale auditului pentru obiectul schema tuturo obiectelor schema auditabile.
y

Definitiile vizualizarilor si procedurilor (inclusiv functiile stocate, pachetel si declansatorii) fac referire la obiectul schema care sta la baza. Datorita acestei dependinte, anumite caracteristici unice se aplica vizualizarilor si procedurilor auditate, cum ar fi probabilitatea generarii de inregistrari multiple. Vizualizarile si procedurile sunt tinta optiunilor de audit activate de la obiectul schema de baza, inclusiv a optiunilor de audit standard. Aceste optiuni se aplica si declaratiilor SQL rezultate. Pentru eliminarea auditului obiectului se utilizeaza declaratia NOAUDIT. Pentru eliminarea tuturor optiunilor de audit ale obiectelor din tabela emp, se utilizeaza urmatoarea declaratie: NOAUDIT ALL ON emp; Pentru eliminarea tuturor optiunilor standard de audit al obiectelor se utilizeaza urmatoarea declaratie: NOAUDIT ALL ON DEFAULT; Toate obiectele schema care sunt create inainte de a fi lansata declaratia NOAUDIT continua sa foloseasca optiunile de audit standard de la momentul creerii lor, doar daca nu au fost rescrise de o declaratie NOAUDIT explicita dupa crearea lor. Pentru a elimina optiunile de audit ale obiectului pentru un anumit obiect, trebuie sa detii acel obiect schema. Pentru a elimina optiunile de audit pentru obiectul altui utilizator sau optiunile standard de audit ale obiectului, trebuie detinut privilegiul de sistem AUDIT ANY. Un utilizator cu drepturi de a elimina optiunile de audit al obiectului pentru un anumit obiect poate rescrie optiunile setate de alt utilizator. Se pot audita functii, proceduri, pachete PL/SQL, declansatori. Zonele care se pot audita sunt urmatoarele: y Se pot audita individual functiile si procedurile de sine statatoare si pachetele PL/SQL y Daca se auditeaza un pachet PL/SQL, Oracle Database auditeaza toate functiile si procedurile din pachetul respectiv y Daca este activat auditul pentru toate executiile, Oracle Database auditeaza toti declansatorii din baza de date, dar si toate functiile si procedurile din pachetele PL/SQL y Nu se pot audita individual functii si proceduri din pachetul PL/SQL. Auditarea executiei oricarei functii, proceduri, pachet sau declansator, de catre orice utilizator al bazei de date AUDIT EXECUTE PROCEDURE BY ACCESS; Auditarea executia funtiilor, procedurilor, pachetelor si declansatorilor de catre un utilizator AUDIT EXECUTE PROCEDURE BY psmith BY ACCESS; Auditarea executiei unei proceduri sau functii dintr-o schema AUDIT EXECUTE ON sales_data.check_work BY ACCESS WHENEVER SUCCESSFUL; Se utilizeaza declaratia NOAUDIT pentru a elimina auditarea functiilor, procedurilor si declansatorilor. De exemplu: NOAUDIT EXECUTE PROCEDURE; NOAUDIT EXECUTE PROCEDURE BY psmith; NOAUDIT EXECUTE ON sales_data.checkwork; IV. Auditarea detaliata a activitatilor specifice Auditarea detaliata permite crearea de politici care definesc conditii specifice care trebuie indeplinite pentru ca auditarea sa aiba loc. Aceasta permite monitorizarea accesului la date pe baza continutului. Asigura auditare detaliata a interogarilor si a operatiilor INSERT, UPDATE, si DELETE. In general, politicile auditarii detaliate au la baza predicate SQL simple, definite de utilizatori, asupra obiectelor tabela ca si conditii pentru auditarea selectiva.

In timpul rularii, oricand conditiile politicilor sunt indeplinite pentru un rand, interogarea este auditata. Auditarea detaliata poate fi folosita pentru auditarea urmatoarelor tipuri de actiuni: y Accesarea unei tabele intre 9 p.m si 6 a.m sau Sambata si Duminica y Utilizarea unei adrese IP din afara retelei companiei y Selectarea sau actualizarea unei coloane din tabela y Modificarea unei valori din coloana tabelei Inregistrarile auditarii detaliate sunt stocate in tabela SYS.FGA_LOG$. Pentru a gasi inregistrarile care au fost generate pentru politicile auditarii care sunt in efect, se poate interoga vizualizarea DBA_FGA_AUDIT_TRAIL. Vizualizarea DBA_COMMON_AUDIT_TRAIL combina atat inregistrarile auditarii standard, dar si a celei detaliate. Auditarea detaliata are urmatoarele avantaje fata de auditarea standard:
y y y y

Efectueaza o verificare booleana a conditiei. Daca aceasta conditie este indeplinita, o tabela accesata Sambata, de exemplu, atunci incepe auditarea. Inregistreaza declaratia SQL care a declansat auditul. Se poate inregistra atat declaratia SQL care a generat auditul, dar si oricare variabila de legatura asociata. Sporeste protectia anumitor coloane. Se pot audita anumite coloane relevante care pot contine informatii sensibile, cum ar fi salarii sau CNP-uri. Ofera o caracteristica pentru manipularea evenimentelor. De exemplu, se poate scrie o functie care trimite un email de alerta catre administratorul de securitate cand o coloana auditata care nu trebuie modificata este actualizata la miezul noptii. Nu trebuie setati parametri de initializare pentru activarea auditarii detaliate. In locul setarii parametrilor de initializare cum ar fi AUDIT_TRAIL, se utilizeaza pachetul DBMS_FGA PL/SQL pentru a adauga sau elimina politicile auditarii detaliate aplicabile dupa caz operatiilor specifice sau obiectelor monitorizate. Auditarea anumitor coloane si randuri

Obiectivul auditarii se poate modifica prin directionarea catre o anumita coloana, mentionata ca fiind o coloana relevanta, pentru a fi auditata daca o anumita conditie este indeplinita. Pentru aceasta, se utilizeaza parametrul audit_column pentru a specifica una sau mai multe coloane relevante. In plus, se pot audita datele din anumite randuri prin folosirea parametrului audit_condition pentru a defini o conditie booleana. Exemplul 1 efectueaza audit pentru toate afisarile coloanei salary din tabelul emp (unde am inserat 2 angajati: Tim cu salariul 1 si Larry cu salariul 50001) unde valoarea coloanei este mai mare de 50000. audit_condition => SALARY > 50000', audit_column => 'SALARY,'
CONN sys/password AS sysdba BEGIN DBMS_FGA.add_policy( object_schema => object_name => policy_name => audit_condition => audit_column => END;

'AUDIT_TEST', 'EMP', 'SALARY_CHK_AUDIT', 'SAL > 50000', 'SAL');

/ CONN audit_t est/password SELECT sal FROM emp WHERE ename = 'Tim'; SELECT sal FROM emp WHERE ename = 'Larry'; CONN sys/password AS SYSDBA SELECT sql_text FROM dba_fga_audit_trail; SQL_TEXT -----------------------------------------SELECT sal FROM emp WHERE ename = 'Larry' 1 row selected.

Dupa cum se poate observa, aceasta caracteristica este foarte benefica. Nu doar ca ofera posibilitate de a specifica datele importante care trebuie auditate, dar ofera protectie sporita coloanelor care contin date sensibile, cum ar fi CNP, salariu, diagnosticul pacientului, si asa mai departe. Daca parametrul audit_column contine mai multe coloane, se poate utiliza parametrul audit_column_opts pentru a specifica daca o declaratie este auditata cand interogarea face referire la oricare din coloanele parametrului audit_column, sau doar cand face referire la toate coloanele din lista. De exemplu: audit_column_opts => DBMS_FGA.ANY_COLUMNS, audit_column_opts => DBMS_FGA.ALL_COLUMNS, Daca nu este specificata o coloana relevanta, auditarea se aplica pentru toate coloanele. V. Auditarea utilizatorilor administratori SYS Auditarea utilizatorului SYSTEM Utilizatorul SYSTEM se poate audita folosind toate caracteristicile auditarii standard sau detaliate. In ceea ce priveste auditarea, utilizatorul SYSTEM este un utilizator tipic al bazei de date (cum ar fi HR sau OE) si nu necesita configuratii speciale pentru a fi auditat. Exemplul 2 Auditarea operatiilor Table Insert ale utilizatorului SYSTEM AUDIT INSERT ANY TABLE BY SYSTEM BY ACCESS; Auditarea utilizatorilor SYS sau a celor care se conecteaza ca SYSDBA si SYSOPER Se pot audita intregi sesiuni de lucru pentru utilizatorii care se conecteaza ca SYS, inclusiv cei cu privilegii SYSDBA sau SYSOPER. Aceasta permite scrierea actiunilor utilizatorilor administrativi intr-un fisier de sistem, chiar daca parametrul AUDIT_TRAIL este setat NONE, DB, sau DB,EXTENDED. Scrierea acestor actiuni in fisiere de sistem este mai sigura decat in tabela SYS.AUD$, deoarece utilizatorii administrativi pot sterge randuri din aceasta tabela care ar putea indica un comportament daunator al acestora. Pentru a configura setari de audit pentru utilizatorii SYSDBA si SYSOPER: 1. Seteaza parametrul de initializare AUDIT_SYS_OPERATIONS la valoarea TRUE; 2. ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE; Aceasta setare inregistreaza operatiile de inalt nivel initiate de utilizatori cu privilegii

SYSDBA sau SYSOPER. Textul SQL al fiecarei declaratii este scris in campul ACTION din inregistrarea auditarii sistemului de operare. 3. Pentru a scrie activitatile administratorilor de sistem in fisiere XML, se seteaza parametrul AUDIT_TRAIL la valoarea XMLL sau XML,EXTENDED; 4. Se reporneste baza de date. Dupa ce se reporneste baza de date, Oracle Database auditeaza toate operatiile reusite efectuate de utilizatorii SYSDBA si SYSOPER, iar inregistrarile le scrie in inregistrarea auditului din sistemul de operare, si nu in tabela SYS.AUD$. Se pot utiliza declansatorii pentru a suplimenta caracteristicile de audit ale Oracle Database. Declansatorii creati inregistreaza actiunile utilizatorilor intr-o tabela separata a bazei de date. Cand o activitate aprinde declansatorul, acesta inregistreaza actiunea respectiva in aceasta tabela. Declansatorii sunt utili cand se doreste inregistrarea anumitor informatii, cum ar fi shimbarile inainte si dupa a unei tabele. Exemplul 3 efectueaza audit pentru toate actiunile unui user audit_test:

VI. Inregistrarile logurilor auditului: gestionare, stergere Inregistrarile auditului contin informatii despre operatiile auditate, utilizatorul care a efectuat operatiile, si data si ora operatiei. In functie de tipul de auditare ales, inregistrarile se pot scrie in tabele numite loguri de audit ale bazei de date, sau in fisiere de sistem, numite loguri de audit ale sistemului de operare. Daca se opteaza pentru scrierea inregistrarilor in logurile de audit ale bazei de date, Oracle Database scrie inregistrarile auditului in tabela SYS.AUD$ pentru auditare standard si implicita, si in tabela SYS.FGA_LOG$ pentru auditare detaliata. Ambele tabele exista in spatiul tabelar SYSTEM si apartin schemei SYS.

Gestionarea logurilor de audit ale bazei de date Logurile de audit ale bazei de date contin diferite tipuri de informatii, in functie de evenimentele auditate si de optiunile setate pentru audit. Daca logurile sunt pline si nu se mai pot adauga noi inregistrari ale auditului, declaratiile urmatoarea nu pot fi duse la bun sfarsit pana cand logurile nu sunt curatate. Oracle Database transmite erori catre toti utilizatorii ale caror declaratii pornesc auditul. De aceea, expansiunea si dimensiunea logurilor trebuie controlata. Cand auditul este activat si se genereaza inregistrari ale acestuia, logurile auditului cresc in functie de doi factori: y Numarul de optiuni ale auditului activate; y Frecventa executarii declaratiilor auditate. Pentru a controla expansiunea logurilor auditului, se pot folosi urmatoarele metode: y Activarea si dezactivarea auditarii bazei de date. Daca este activata, inregistrarile auditului sunt generate si salvate in logurile auditului. Daca este dezactivata, inregistrarile nu sunt generate. (Retinem ca anumite activitati sunt intotdeauna auditate). y Selectarea atenta a optiunilor de audit folosite. Daca se efectuaza o auditare mai selectiva, atunci nu sunt generate si stocate in loguri informatii inutile sau nefolositoare. Se poate folosi auditarea detaliata pentru a audita numai anumite conditii. y Controlul strans al abilitatii de a efectua auditarea obiectelor. Se poate obtine in mai multe feluri: - Un administrator de securitate detine toate obiectele si nu acorda niciunui utilizator privilegiul de sistem AUDIT ANY. Alternativ, toate obiectele schema pot apartine unei scheme pentru care utilizatorul corespondent nu are dreptul CREATE SESSION. - Toate obiectele sunt continute de schema care nu corespund unor utilizatori reali (adica dreptul CREATE SESSION nu este acordat utilizatorului corespondent). Administratorul de securitate este singurul utilizatoru cu dreptul AUDIT ANY. Dimensiunea maxima a tabelelor logurilor auditului (AUD$ si FGA_LOG) este determinata de parametrii standard de stocare ai tabelei SYSTEM, unde este stocat implicit. Daca exista riscul ca o dimensiune prea mare a tabelelor logurilor de audit sa afecteze performantele tabelei SYSTEM, acestea se pot muta in alta tabela. Se poate inlocui locatia implicita cu un alta tabela, cum ar fi SYSAUX, sau una creata de utilizator. Este de dorit sa se mute tabelele logurilor auditului in alt spatiu daca spatiul SYSTEM este foarte ocupat. Un alt motiv pentru a muta aceste tabelele de loguri in alt spatiu este daca se doreste curatarea lor folosind procedurile pachetului DBMS_AUDIT_MGMT PL/SQL. Pentru a muta logurile auditului in alta tabela: 1. Trebuie sa va logati in SQL*Plus ca administrator care are dreptul EXECUTE pe pachetul DBMS_AUDIT_MGMT PL/SQL 2. Verificati tabela in care se doreste mutarea logurilor 3. Rulati procedura DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION PL/SQL pentru a specifica numele tabelei destinatie. In anumite momente o aplicatie trebuie sa acorde utilizatorilor obisnuiti acces la tabela de sistem SYS.AUD$ (utilizatori care nu sunt SYSDBA). De exemplu, un generator de rapoarte de audit are nevoie de acces la tabela AUD$ pentru a genera rapoartele zilnice despre posibilele incalcari. De asemenea, multe instalari au un rol de audit distinct pentru a asigura separarea indatoririlor.

In acest caz, atentie sporita la declaratiile DML cum ar fi INSERT, UPDATE, MERGE si DELETE, care sunt intotdeauna auditate si inregistrate in tabela SYS.AUD$. Aceste activitati se pot verifica interogand vizualizarile DBA_AUDIT_TRAIL si DBA_COMMON_AUDIT_TRAIL. Daca un utilizator are drepturile SELECT, UPDATE, INSERT si DELETE asupra tabelei SYS.AUD$ si executa o operatie SELECT, atunci logul auditului va avea o inregistrare cu aceasta operatie. Periodic este necesara arhivarea apoi curatarea logurilor pentru a preveni supradimensionarea acestora. Arhivarea si curatarea elibereaza spatiul logurilor si usureaza curatarea logurilor bazei de date. O arhiva a logurilor bazei de date se poate crea utilizand urmatoarele metode: y Oracle Audit Vault. Acesta se instaleaza separat de Oracle Database. y Oracle Data Warehouse. Este instalat automat odata cu Oracle Database. Dupa ce a fost creata arhiva, se poate curata continutul logurilor de audit ale bazei de date. Curatarea logurilor de audit Aceasta sectiune descrie o varietate de modalitati in care se pot curata atat logurile de audit ale bazei de date, cat si ale sistemului de operare. Se poate curata un subset al logurilor de audit ale bazei de date. Atat pentru logurile de audit ale bazei de date cat si pentru cele ale sistemului de operare, curatarea se poate efectua fie manual, fie utilizand o instructiune care o face la un anumit interval de timp. In acest caz, operatiunea de curatare fie curata logurile create inainte de arhivare, fie pe toate. Pentru a realiza curatarea logurilor de audit, in cele mai multe cazuri se utilizeaza pachetul DBMS_AUDIT_MGMT PL/SQL. Este necesar dreptul EXECUTE pentru utilizarea DBMS_AUDIT_MGMT. Programarea unui serviciu automat pentru stergerea logurilor de audit Se poate sterge intreaga inregistrare de loguri, sau doar o parte a acesteia, care a fost creata inainte de un moment anume. Pentru logurile bazei de date, inregistrarile individuale ale auditului create inainte de o anumita semnatura temporala, pot fi sterse. Pentru logurile sistemului de operare, se sterg fisierele de audit create inainte de o anumita semnatura temporala. Se pot crea mai multe servicii de stergere, pentru diferite tipuri de loguri, atata timp cat nu se suprapun. Crearea un serviciu automat de stergere: Pasul 1: Daca este necesar, conectati-va online si arhivati logurile de restaurare Procesul de stergere poate genera loguri de restaurare aditionale. Inainte de a rula acest proces, s-ar putea sa fie necesara conectarea online si arhivarea logurilor de restaurare pentru a sincroniza inregistrarile aditionale generate de procesul de stergere a tabelei de audit. Pasul 2: Stabiliti semnatura temporala si strategia de arhivare Trebuie inregistrata semnatura temporala a integistrarilor de audit ale bazei de date si ale sitemului de operare inainte de arhivare. Data semnaturii temporale se poate verifica interogand vizualizarea DBA_AUDIT_MGMT_LAST_ARCH_TS. Pasul 3: Initializati operatiunea de curatare a logurilor auditului Inainte de a putea sterge logurile de audit folosind procedura DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL, trebuie initializate logurile pentru operatiunea de curatare. Pentru a initializa operatiunea de curatare:

1. Logati-va in SQL*Plus ca administrator cu dreptul EXECUTE asupra pachetului DBMS_AUDIT_MGMT PL/SQL. 2. Daca nu s-a efectuat inca, initializati operatiunea de curatare a logurilor ruland procedura DBMS_AUDIT_MGMT.INIT_CLEANUP. (Este suficient sa executati acest pas o singura data) Paul 4: Optional, se poate seta o semnatura temporala pentru inregistrarile auditului Se poate seta o semnatura temporala dupa cand a fost arhivata ultima inregistrare de audit. Stabilind o semnatura temporala pentru arhive furnizeaza un indiciu asupra infrastructura de curatat pe care operatiunea de curatare o va utiliza la fiecare 6 ore. Pentru logurile bazei de date, semnatura temporala trebuie setata dupa ce ai initializat operatiunea de curatare a logurilor. Pentru a gasi ultimele semnaturi temporale pentru logurile de audit, se poate interoga vizualizarea DBA_AUDIT_MGMT_LAST_ARCH_TS. Dupa stabilirea semnaturii temporale, toate inregistrarile auditului din log care indica o data inaintea semanturii, vor fi sterse la rularea procedurii DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL. Pasul 5: Crearea si programarea serviciului de stergere Serviciul de stergere se creeaza si programeaza ruland procedura DBMS_AUDIT_MGMT.CREATE_PURGE_JOB PL/SQL. Pasul 6: Optional, configureaza inregistrarile de audit pentru a fi sterse in loturi Implicit, procedurile din pachetul DBMS_AUDIT_MGMT sterg inregistrarile logurilor de audit ale bazei de date sau sistemului de operare in loturi de 10000 de inregistrari ale bazei de date sau 1000 de fisiere de audit ale sistemului de operare. Dimensiunea lotului se poate modifica. Pentru a afla dimensiunea curenta a lotului, se pot interoga coloanele PARAMETER_NAME si PARAMETER_VALUE ale vizualizarii DBA_AUDIT_MGMT_CONFIG_PARAMS. Pentru stabilirea dimensiunii lotului, se utilizeaza procedura DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY. Curatarea manuala a logurilor de audit Este posibila curatarea manuala imediata a logurilor, fara a programa un serviciu pentru aceasta. Similar unui serviciu, se pot sterge inregistrari care au fost create inainte de o anumita semnatura temporala sau toate inregistrarile din log. Pentru a sterge manual logurile: 1. Urmati pasii urmatori din: Crearea unui serviciu automat de stergere 2. Stergeti inregistrarile ruland procedura BMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL Alte operatiuni de stergere a logurilor Verificarea ca logurile de audit sa fie initializate pentru curatare Verificarea daca logurile au fost initializate pentru curatare se realizeaza ruland functia DBMS_AUDIT_MGMT.IS_CLEANUP_INITIALIZED. Daca logurile au fost initializate, aceasta functie returneaza TRUE. Altfel, returneaza FALSE. Stabilirea intervalului de stergere implicit pentru orice tip de log Se poate stabili un interval implicit pentru operatia de stergere, in ore, care trebuie sa treaca inainte ca urmatoarea operatiune de stergere sa aib loc pentru un anumit tip de log. Anularea initializarii setarilor de stergere Se pot anula setarile DBMS_AUDIT_MGMT.INIT_CLEANUP, adica intervalul implicit de stergere, prin rularea procedurii _AUDIT_MGMT.DEINIT_CLEANUP. Activarea sau dezactivarea unui serviciu de stergere a logurilor

Pentru a activa sau dezactiva un serviciu de stergere, se utilizeaza procedura DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS PL/SQL Stabilirea intervalului implicit al serviciilor de stergere pentru un anumit serviciu Se poate stabili un interval implicit pentru operatia de stergere, in ore care trebuie sa treaca pana la urmatoarea stergere. Stabilirea intervalului efectuata prin procedura DBMS_AUDIT_MGMT.CREATE_PURGE_JOB precede aceasta setare. Stergerea unui serviciu de stergere a logurilor Pentru a sterge un proces de curatare a logurilor, se utilizeaza procedura DBMS_AUDIT_MGMT.DROP_PURGE_JOB PL/SQL. Pentru a gasi serviciile de stergere existente, interogati coloanele JOB_NAME si JOB_STATUS ale vizualizarii DBA_AUDIT_MGMT_CLEANUP_JOBS. Eliminarea setarilor semnaturii temporale a arhivelor Pentru a elibera setarea semnaturii temporale pentru arhive, se utilizeaza procedura DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP PL/SQL . Clearing the Database Audit Trail Batch Size Eliminarea dimensiunii lotului de loguri de audit ale bazei de date Pentru a elimina setarea dimensiunii lotului, se utilizeaza procedura DBMS_AUDIT_MGMT.CLEAR_AUDIT_TRAIL_PROPERTY. VII. Ghiduri pentru audit VII.1. Auditarea informatiilor sensibile O atentie sporita trebuie acordata datelor sensibile, cum ar fi numerele de carduri, pentru ca apar in auditarea detaliata daca este colectat textul SQL. Pentru auditarea standard, setarea parametrului de initializare AUDIT_TRAIL la valorile DB,EXTENDED sau XML,EXTENDED activeaza colectarea textului SQL. Pentru auditarea detaliata, se seteaza parametrul AUDIT_TRAIL al pachetului DBMS_FGA PL/SQL la valorile DBMS_FGA.DB + DBMS_FGA.EXTENDED sau DBMS_FGA.XML + DBMS_FGA.EXTENDED. Daca sunt auditate date sensibile, utilizati urmatoarele solutii: y Mutarea logurilor din tabela SYSTEM in SYSAUX sau alte tabele. Pentru a muta logurile in alta tabela: 1. Logati-va in SQL*Plus ca administrator cu dreptul EXECUTE pe pachetul DBMS_AUDIT_MGMT PL/SQL. 2. Verificati tabela in care doriti sa mutati logurile. Este posibil sa alocati spatiu suplimentar acesteia, inclusiv tabelei SYSAUX. 3. Rulati procedura Run the DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION PL/SQL pentru a specifica denumirea tabelei destinatie. y A nu se activa colectarea textului SQL in logurile de audit. Se utilizeaza urmatoarele setari in schimb: y Auditarea standard: Parametrul de initializare AUDIT_TRAIL ia valorile DB, OS sau XML. y Auditarea detaliata: Parametrul DBMS_FGA.ADD_POLICY ia valorile DBMS_FGA.DB sau DBMS_FGA.XML.

VII.2. Auditarea activitatilor uzuale Atunci cand scopul auditarii este adunarea de informatii istorice despre anumite activitati asupra bazei de date, se folosesc urmatoarele reguli: 1. Se auditeaza numai actiunile pertinente 2. Se arhiveaza inregistrarile auditului si se sterg logurile acestuia. Dupa ce au fost adunate informatiile necesare, inregistrarile se arhiveaza si se curata logul de aceste inregistrari. 3. Se respecta consideratiile cu privire la confidentialitate ale companiei 4. Se verifica fisierele log ale aplicatiei Oracle Database pentru informatii aditionale. VII.3 Auditarea activitatilor suspecte Cand se auditeaza activitati suspicioase in baza de date, se folosesc urmatoarele ghiduri: 1. Mai intai se auditeaza general, apoi specific 2. Se auditeaza activitatile suspecte comune Activitatile suspecte comune sunt: y Utilizatori care acceseaza baza de date la ore neobisnuite y Incercari repetate de logare ale utilizatorilor y Incercari de logare ale unor utilizatori inexistenti In plus, se monitorizeaza utilizatorii care impart conturile sau utilizatorii care se logheaza de la aceeasi adresa IP. Se poate interoga vizualizarea DBA_AUDIT_SESSION pentru a gasi acest tip de activitate. 3. Protejarea logurilor de audit. Cand se auditeaza activitatile suspecte, protejati logurile auditului astfel incat sa nu poate fi adaugate, modificate sau sterse informatii despre audit fara a fi auditate. VII.4. Setari recomandate pentru audit Schema bazei de date sau schimbari de structura. Se folosesc urmatoarele setari ale declaratiei AUDIT: y AUDIT ALTER ANY PROCEDURE BY ACCESS; y AUDIT ALTER ANY TABLE BY ACCESS; y AUDIT ALTER DATABASE BY ACCESS; y AUDIT ALTER SYSTEM BY ACCESS; y AUDIT CREATE ANY EDITION; y AUDIT CREATE ANY JOB BY ACCESS; y AUDIT CREATE ANY LIBRARY BY ACCESS; y AUDIT CREATE ANY PROCEDURE BY ACCESS; y AUDIT CREATE ANY TABLE BY ACCESS; y AUDIT CREATE EXTERNAL JOB BY ACCESS; y AUDIT DROP ANY EDITION; y AUDIT DROP ANY PROCEDURE BY ACCESS; y AUDIT DROP ANY TABLE BY ACCESS; Drepturi de acces si privilegii. Folositi urmatoarele setari ale declaratiei AUDIT: y AUDIT ALTER PROFILE BY ACCESS; y AUDIT ALTER USER BY ACCESS; y AUDIT AUDIT SYSTEM BY ACCESS; y AUDIT CREATE PUBLIC DATABASE LINK BY ACCESS; y AUDIT CREATE SESSION BY ACCESS;

y y y y y y y y

AUDIT CREATE USER BY ACCESS; AUDIT DROP PROFILE BY ACCESS; AUDIT DROP USER BY ACCESS; AUDIT EXEMPT ACCESS POLICY BY ACCESS; AUDIT GRANT ANY OBJECT PRIVILEGE BY ACCESS; AUDIT GRANT ANY PRIVILEGE BY ACCESS; AUDIT GRANT ANY ROLE BY ACCESS; AUDIT ROLE BY ACCESS;

Bibliografie:

Oracle Database Security Guide

http://download.oracle.com/docs/cd/E11882_01/network.112/e16543/auditing.htm http://download.oracle.com/docs/cd/E11882_01/network.112/e16543/guidelines.htm #BCGJJBAA http://www.oracle-base.com/index.php