54721921-Auditul-Bazelor-de-Date.pdf

download 54721921-Auditul-Bazelor-de-Date.pdf

of 19

Transcript of 54721921-Auditul-Bazelor-de-Date.pdf

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    1/19

    SECURITATEA

    BAZELOR DE DATE

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    2/19

    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

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    3/19

    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 peactiuni 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 reusitecat si cele esuate. Pentru a utiliza auditul, se activeaza apoi se configureaza ceea ce trebuieauditat. Actiunile auditate sunt inregistrate fie in tabelele dictionar de date, fie in fisiere alesistemului de operare.

    De obicei, auditul este folosit pentru efectuarea urmatoarelor activitati:

    y Determinarea responsabilitatii pentru actiunile efectuate. Acestea includ actiunidesfasurate pe schema particulara, tabel, rand, sau care afecteaza un anumit continut.

    y Descurajarea utilizatorilor (sau altii, cum ar fi intrusii) sa intreprinda actiuni inadecvate,punand baza pe responsabilitatea fiecaruia.y Investigarea activitatilor dubioase. De exemplu, daca un utilizator sterge date din tabele,

    atunci administratorul de securitate poate decide analizarea tuturor conexiunilor catre bazade date si a tuturor stergerilor de randuri, reusite sau nu, din tabelele bazei de date.

    y Anuntarea unui auditor in legatura cu actiunile unui utilizator neautorizat. De exemplu, unutilizator neautorizat poate schimba sau sterge date, sau utilizatorul are mai multe

    privilegii decat este necesar, ceea ce poate conduce la reevaluarea drepturilor utilizatorilor.y 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 tabelesunt actualizate, cate intrari/iesiri logice sunt executate, sau cati utilizatori simultani seconecteaza la orele de varf.

    y Detectarea problemelor prin implementarea unei autorizari sau a unui control al accesului.y Oferirea cerintelor auditului pentru conformitate.

    La momentul auditului activitatilor suspecte asupra unei baze de date, trebuie pastrataintegritatea inregistrarilor auditarii, pentru a garanta acuratetea si deplinatatea informatiilorauditului. Oracle Database inregistreaza auditarea in tabelele SYS.AUD$ siSYS.FGA_LOG$. Inregistrarile auditului generate ca rezultat al optiunilor audituluiobiectului stabilite pentru tabelele SYS.AUD$ si SYS.FGA_LOG$ pot fi sterse din auditaredoar de catre cineva cu privilegii de administrator. Trebuie tinut minte totusi ca siadministratorii sunt auditati pentru acces neautorizat.

    Alte modalitati de a proteja auditarea bazei de date sunt urmatoarele:y Setarea parametrului de initializare O7_DICTIONARY_ACCESSIBILITY la FALS

    (standard). Astfel, doar utilizatorii care au privilegii SYSDBA pot derula actiuni asupradatelor auditului din tabelele SYS.AUD$ si SYS.FGA_LOG$. In instalarea standard,

    parametrul O7_DICTIONARY_ACCESSIBILITY este setat ca FALS.y 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 candOracle Label Security este activat, tabela AUD$ este mutata in schema SYSTEM.Sinonimul SYS.AUD$ este creat pentru a realiza referinta la tabela SYSTEM.AUD$.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    4/19

    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 activapentru declaratiile SQL relevante pentru securitate si privilegii.

    Locatia inregistrarilor auditului: Oracle Database scrie inregistrarile auditului intr-olocatie 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-adeclansat o actiune.

    Locatia inregistrarilor auditului: se pot scrie fie in auditarea din baza de date, fie informat XML, in auditarea din sistemul de operare.

    Utilizatorii administrativi ai sistemuluiSe 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 declaratiiefectuate de un utilizator. Declaratiile pornite de la o procedura sau functie PL/SQL nu suntconsiderate de inalt nivel).

    Locatia inregistrarilor auditului: Oracle Database scrie din standard inregistrarileauditului asupra sistemului in jurnalul Windows Event

    III Auditarea activitatilor generale utilizand auditul standard

    Orice utilizator poate configura auditul pentru obiectele din schema sa, utilizanddeclaratie AUDIT. Pentru reveni la configuratia initiala, utilizatorul poate folosi declaratiaNOAUDIT. Nu sunt necesare privilegii suplimentare pentru aceasta activitate. Utilizatorii potrula declaratii AUDIT pentru a seta optiunile auditului, idiferent de starea parametruluiAUDIT_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 oinregistrare a auditului in timpul sau la finalizarea executiei declaratiei SQL. Oracle Database

    auditeaza delcaratiile SQL din cadrul unitatilor de program PL/SQL, dupa nevoie, candunitatea de program este rulata. Generarea si inserarea unei inregistrari a auditarii esteindependenta de tranzactia in curs a unui utilizator. Astfel, chiar daca o tranzactie a unuiutilizator este reluata, inregistrarea auditului este pastrata.

    Optiunile auditului cu privire la declaratii si privilegii valabile la momentul conectariiunui utilizator la baza de date raman valabile pe toata durata sesiunii. Cand sesiunea este dejaactiva, setarea sau schimbarea optiunilor auditului nu au efect in sesiunea respectiva. Acesteavor intra in vigoare abia dupa ce actuala sesiune este inchisa si se creeaza una noua.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    5/19

    Configurarea auditului standard cu ajutorul parametrului de initializareAUDIT_TRAIL

    Activarea sau dezactivarea Auditarii standard

    Auditarea standard se activeaza prin setarea parametrului de initializareAUDIT_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 sedezactiveaza auditul.

    Pentru activarea sau dezactivarea auditarii standard, se efectueaza logarea inSQL*PLUS cu privilegii administrative, si se foloseste declaratia ALTER SYSTEM. Dupaaceasta 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$), exceptiefacand inregistrarile SYS sau obligatorii, pe care le scrie intotdeauna in auditarea din sistemulde operare. Aceasta setare este folosita in general pentru bazele de date generale, pentruflexibilitate. BD este setarea standard pentru parametrul AUDIT_TRAIL.

    Daca baza de date a fost deschisa in modul numai-scriere, cu parametrulAUDIT_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 variabilade legatura asociata. Totusi, de retinut ca se pot retine date numai din urmatoarele coloane detipuri de date: , NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, FLOAT,BINARY_FLOAT, BINARY_DOUBLE, LONG, ROWID, DATE, TIMESTAMP, siTIMESTAMP 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 internAUDIT_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 configuratieultrasecurizata 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 sistemeleUNIX, locatia standard este $ORACLE_HOME/admin/$ORACLE_SID/adump.

    y AUDIT_SYS_OPERATIONS, daca se doreste auditul declaratiilor SQL de inaltnivel rulate de utilizatori care sunt conectati cu privilegii SYSDBA sau SYSOPER.Pentru activarea acestui audit, AUDIT_SYS_OPERATIONS trebuie sa aib

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    6/19

    valoarea TRUE. Daca setati AUDIT_SYS_OPERATIONS la valoarea TRUE siAUDIT_TRAIL de tipul XML sau XML,EXTENDED, atunci Oracle Databasescrie fisierele de sistem ale inregistrarilor auditului SYS in format XML.

    y AUDIT_SYSLOG_LEVEL, care scrie inregistrarile auditului de tip SYS sau OS injurnalul de audit al sistemului, folosind functia SYSLOG. Aceasta optiune estevalabila 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 toateplatformele, inclusiv Windows, locatia standard pentru inregistrarea auditarii XML esteORACLE_HOME/admin/$ORACLE_SID/adump. Pe langa fisierele XML, Oracle Databasecreeaza un fisier text de index, care listeaza fisierele XML care au fost generate de auditareaXML. Fisierul este numit adx_$ORACLE_SID.txt. Acest fisier este utilizat atunci cand seinterogheaza vizualizarea dictionarului de date V$XML_AUDIT_TRAIL. Stergerea acestorfisiere nu afecteaza auditul, cu exceptia faptului ca nu se vor putea vedea inregistrarileauditului 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 syslogvor fi tot in format txt, nu in format XML.

    Rezultatul inregistrarilor auditarii SYS sau cele obligatorii poate fi controlat dupa cumurmeaza:

    y Pentru a scrie fisierele de audit obligatorii sau cele SYS in fisiere de sistem informat XML: parametrului AUDIT_TRAIL i se da valoarea XML sauXML,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 syslogiar inregistrarile standard in fisiere XML: parametrului AUDIT_TRAIL i se davaloarea XML sau XML,EXTENDED, parametruluiAUDIT_SYS_OPERATIONS valoarea TRUE, iar parametrulAUDIT_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 (tabelaSYS_AUD$), poti crea inregistrari de audit in sistemul de operare. Fisierul sistemului deoperare 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)

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    7/19

    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 poatevizualiza si modifica orice informative despre audit inregistrata in baza de date.

    - Deoarece logurile de audit se scriu intr-o anumita locatie care se poate restrictionapentru anumiti utilizatori, logurile de audit ale sistemul de operare implementeaza conceptelede separare a indatoririlor.

    - Scrierea recordurilor auditului in fisiere de sistem are ca rezultat o consumare redusaa 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 stocatein baza de date, deoarece accesul la acestea poate cere drepturi pe care administratorii bazelorde date nu le au. Disponibiliatatea mai mare este un alt avantaj al inregistrarilor in fisiere desistem, 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 poateutiliza vizualizarea V$XML_AUDIT_TRAIL pentru a face inregistrarile XML disponibileadministratorilor bazei de date printr-o interogare SQL, obtinand o utilizare imbunatatita.

    - Vizualizarea DBA_COMMON_AUDIT_TRAIL include inregistrarile audituluiscrise in baza de date, inregistrarile in format xml, si continutul vizualizarii dinamiceV$XML_AUDIT_TRAIL.

    - Utilizand inregistrarile in sistemul de operare, este posibila consolidarea recordurilorde audit din surse multiple, inclusiv Oracle Database si alte aplicatii. Examinarea activitatiisistemului poate fi mai eficienta avand toate recordurile auditului in acelasi loc.

    Auditarea declaratiilor SQL este auditarea selectiva a unor grupuri de declaratii SQLcu privire la un tip particular de structura de baze de date sau obiect schema, dar nu a uneistructuri sau obiect schema anume.

    Declaratiile care se pot audita sunt in urmatoarele categorii:

    y Declaratii DDL. De exemplu, AUDIT TABLE auditeaza toate declaratiile CREATE siDROP TABLE.

    y Declaratii DML. De exemplu, AUDIT SELECT TABLE, auditeaza toate declaratiileSELECT ... FROM TABLE/VIEW, indiferent de tabela sau vizualizare.

    Auditarea declaratiilor poate fi extinsa sau concentrata, de exemplu, prin auditareaactivitatilor tuturor utilizatorilor bazei de date sau doar a unor anumite activitati.

    Cum se auditeaza declaratia SQL SELECT TABLE?AUDIT SELECT TABLEBY ACCESS;

    Daca se doreste auditarea tuturor declaratiilor SQL, a conexiunilor utilizatorilor

    individuali sau a referintelor catre obiecte inexistente, se urmeaza pasii:

    y Auditarea tuturor declaratiilor SQL pentru utilizatorii individuali. Se poate folosi clauzaALL 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 optiuneaALL STATEMENTS nu o va audita. Aceasta optiune nu afecteaza alte optiuni de auditdeja setate.

    y Auditarea tuturor declaratiilor SQL executate de utilizatori individuali.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    8/19

    y Auditarea tuturor declaratiilor pentru sesiunea curenta, indiferent de utilizator. Se poateutiliza clauza IN SESSIONCURRENT pentru optiunea ALL STATEMENTS pentruauditarea declaratiilor SQL de inalt nivel pe intreaga durata a sesiunii de lucru.Nu se

    poate utiliza clauza IN SESSIONCURRENT pentru un anumit utilizator. DeclaratiaNOAUDIT nu se poate utiliza pentru a o anula, insa auditarea dureaza atata timp cat estedeschisa sesiunea de lucru a utilizatorului. Cand sesiunea de lucru se inchide, auditarea

    inceteaza.y Auditarea declaratiilor care esueaza deoarece un obiect nu exista. OptiuneaNOT EXISTS

    a declaratiei AUDIT specifica auditarea tuturor declaratiilor SQL care esueaza deoareceobiectul tinta nu exista.

    Pentru a elimina declaratia SQL de audit, se utilizeaza declaratiaNOAUDIT SQL.(Auditarea privilegiilor va fi activata in continuare). Inainte de a elimina declaratia SQL deauditare, trebuie detinut privilegiul de sistem AUDIT SYSTEM. Daca este configurataoptiunea AUDIT ALL STATEMENTS, folosirea declaratiei NOAUDIT AUDITSTATEMENTS nu afecteaza alte optiuni de audit deja setate. Daca in declaratia AUDIT afost inclusa clauza IN SESSIONCURRENT, nu se poate elimina folosind declaratiaNOAUDIT. (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 auditatesa reuseasca sunt inregistrate.

    Se poate audita folosirea oricarui privilegiu de sistem. Asemenea auditariideclaratiilor, auditarea privilegiilor auditeaza activitatile tuturor utilizatorilor bazei de date saudoar a unei liste specificate de utilizatori. Daca se stabilesc setari similare atat pentruauditarea declaratiilor cat si pentru auditarea privilegiilor, atunci se genereaza o singurainregistrare a auditului. Auditarea privilegiilor este declansata doar daca acestea suntinsuficiente, 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 listade declaratii.

    Optiunile auditului privilegiilor sunt aceleasi ca la privilegiile de sistemcorespondente. Pentru a audita utilizarile reusite sau esuate ale privilegiului de sistemDELETE ANY TABLE, se foloseste urmatoarea declaratie:AUDIT DELETE ANY TABLEBY ACCESS;

    Auditarea privilegiilor si declaratiilor esuateAUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE

    BY ACCESSWHENEVERNOT SUCCESSFUL;

    Urmatoarea declaratie sterge toate optiunile auditului privilegiilor.NOAUDIT ALL PRIVILEGES;

    Auditarea unui obiect schema monitorizeaza actiunile asupra obiectului respectiv, cumar fi tabele sau vizualizari. Auditarea obiectelor se aplica tuturor utilizatorilor, dar este

    limitata la obiectul auditat. Utilizatorii pot folosi declaratiile AUDIT si NOAUDIT asupraobiectelor din propriile scheme. Se pot audita declaratii care fac referire la tabele, vizualizari,secvente, proceduri stocate individual, functii sau pachete, dar nu proceduri individuale dininteriorul 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 obiecteschema, prin auditarea operatiunilor care afecteaza tabela de baza.

    Cand se auditeaza un obiect schema, auditarea se aplica tuturor utilizatorilor bazei dedate. Nu se poate seta optiunea de audit doar pentru anumiti utilizatori. Se pot seta optiunilestandard ale auditului pentru obiectul schema tuturo obiectelor schema auditabile.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    9/19

    Definitiile vizualizarilor si procedurilor (inclusiv functiile stocate, pachetel sideclansatorii) 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 tintaoptiunilor de audit activate de la obiectul schema de baza, inclusiv a optiunilor de auditstandard. 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 NOAUDITcontinua sa foloseasca optiunile de audit standard de la momentul creerii lor, doar daca nu aufost rescrise de o declaratie NOAUDIT explicita dupa crearea lor. Pentru a elimina optiunilede audit ale obiectului pentru un anumit obiect, trebuie sa detii acel obiect schema. Pentru aelimina 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 aelimina optiunile de audit al obiectului pentru un anumit obiect poate rescrie optiunile setatede 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/SQLy Daca se auditeaza un pachet PL/SQL, Oracle Database auditeaza toate functiile si

    procedurile din pachetul respectivy 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/SQLy Nu se pot audita individual functii si proceduri din pachetul PL/SQL.

    Auditarea executiei oricarei functii, proceduri, pachet sau declansator, de catre oriceutilizator al bazei de dateAUDIT EXECUTE PROCEDUREBY ACCESS;

    Auditarea executia funtiilor, procedurilor, pachetelor si declansatorilor de catre unutilizatorAUDIT EXECUTE PROCEDUREBY psmith BY ACCESS;

    Auditarea executiei unei proceduri sau functii dintr-o schemaAUDIT EXECUTEON sales_data.check_workBY ACCESS WHENEVER SUCCESSFUL;

    Se utilizeaza declaratia NOAUDIT pentru a elimina auditarea functiilor, procedurilorsi declansatorilor. De exemplu:NOAUDIT EXECUTE PROCEDURE;NOAUDIT EXECUTE PROCEDUREBY psmith;NOAUDIT EXECUTEON sales_data.checkwork;

    IV. Auditarea detaliata a activitatilor specifice

    Auditarea detaliata permite crearea de politici care definesc conditii specifice caretrebuie indeplinite pentru ca auditarea sa aiba loc. Aceasta permite monitorizarea accesului ladate pe baza continutului. Asigura auditare detaliata a interogarilor si a operatiilorINSERT,UPDATE, si DELETE. In general, politicile auditarii detaliate au la baza predicate SQLsimple, definite de utilizatori, asupra obiectelor tabela ca si conditii pentru auditarea selectiva.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    10/19

    In timpul rularii, oricand conditiile politicilor sunt indeplinite pentru un rand, interogarea esteauditata.

    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 Duminicay Utilizarea unei adrese IP din afara retelei companieiy Selectarea sau actualizarea unei coloane din tabelay Modificarea unei valori din coloana tabelei

    Inregistrarile auditarii detaliate sunt stocate in tabela SYS.FGA_LOG$. Pentru a gasiinregistrarile care au fost generate pentru politicile auditarii care sunt in efect, se poateinteroga vizualizarea DBA_FGA_AUDIT_TRAIL. VizualizareaDBA_COMMON_AUDIT_TRAIL combina atat inregistrarile auditarii standard, dar si a celeidetaliate. Auditarea detaliata are urmatoarele avantaje fata de auditarea standard:

    y Efectueaza o verificare booleana a conditiei. Daca aceasta conditie este indeplinita, otabela accesata Sambata, de exemplu, atunci incepe auditarea.

    y Inregistreaza declaratia SQL care a declansat auditul. Se poate inregistra atat declaratiaSQL care a generat auditul, dar si oricare variabila de legatura asociata.

    y Sporeste protectia anumitor coloane. Se pot audita anumite coloane relevante care potcontine informatii sensibile, cum ar fi salarii sau CNP-uri.

    y Ofera o caracteristica pentru manipularea evenimentelor. De exemplu, se poate scrie ofunctie care trimite un email de alerta catre administratorul de securitate cand o coloanaauditata care nu trebuie modificata este actualizata la miezul noptii.

    y Nu trebuie setati parametri de initializare pentru activarea auditarii detaliate. In loculsetarii parametrilor de initializare cum ar fi AUDIT_TRAIL, se utilizeaza pachetulDBMS_FGA PL/SQL pentru a adauga sau elimina politicile auditarii detaliate aplicabiledupa 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 esteindeplinita. Pentru aceasta, se utilizeaza parametrul audit_column pentru a specifica una saumai 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 valoareacoloanei este mai mare de 50000.audit_condition => SALARY > 50000',audit_column => 'SALARY,'

    CONN sys/password AS sysdba

    BEGINDBMS_FGA.add_policy(object_schema => 'AUDIT_TEST',object_name => 'EMP',policy_name => 'SALARY_CHK_AUDIT',audit_condition => 'SAL > 50000',audit_column => 'SAL');

    END;

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    11/19

    /CONN audit_test/passwordSELECT sal FROM emp WHERE ename = 'Tim';SELECT sal FROM emp WHERE ename = 'Larry';

    CONN sys/password AS SYSDBASELECT sql_textFROM 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 caofera posibilitate de a specifica datele importante care trebuie auditate, dar ofera protectiesporita 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 candface 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 toatecoloanele.

    V. Auditarea utilizatorilor administratori SYS

    Auditarea utilizatorului SYSTEM

    Utilizatorul SYSTEM se poate audita folosind toate caracteristicile auditarii standardsau 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 SYSTEMAUDIT INSERT ANY TABLEBY SYSTEMBY 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_TRAILeste setat NONE, DB, sau DB,EXTENDED. Scrierea acestor actiuni in fisiere de sistem estemai sigura decat in tabela SYS.AUD$, deoarece utilizatorii administrativi pot sterge randuridin 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

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    12/19

    SYSDBA sau SYSOPER. Textul SQL al fiecarei declaratii este scris in campulACTION din inregistrarea auditarii sistemului de operare.

    3. Pentru a scrie activitatile administratorilor de sistem in fisiere XML, se seteazaparametrul 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 inregistrareaauditului din sistemul de operare, si nu in tabela SYS.AUD$. Se pot utiliza declansatorii

    pentru a suplimenta caracteristicile de audit ale Oracle Database. Declansatorii creatiinregistreaza actiunile utilizatorilor intr-o tabela separata a bazei de date. Cand o activitateaprinde declansatorul, acesta inregistreaza actiunea respectiva in aceasta tabela. Declansatoriisunt utili cand se doreste inregistrarea anumitor informatii, cum ar fi shimbarile inainte sidupa 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 aefectuat 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, numiteloguri 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 siimplicita, si in tabela SYS.FGA_LOG$ pentru auditare detaliata. Ambele tabele exista inspatiul tabelar SYSTEM si apartin schemei SYS.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    13/19

    Gestionarea logurilor de audit ale bazei de date

    Logurile de audit ale bazei de date contin diferite tipuri de informatii, in functie deevenimentele 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 sfarsitpana cand logurile nu sunt curatate. Oracle Database transmite erori catre toti utilizatorii ale

    caror declaratii pornesc auditul. De aceea, expansiunea si dimensiunea logurilor trebuiecontrolata.

    Cand auditul este activat si se genereaza inregistrari ale acestuia, logurile audituluicresc 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 suntgenerate. (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 apartineunei scheme pentru care utilizatorul corespondent nu are dreptulCREATESESSION.

    - 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) estedeterminata 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 spatiulSYSTEM este foarte ocupat. Un alt motiv pentru a muta aceste tabelele de loguri in alt spatiueste daca se doreste curatarea lor folosind procedurile pachetului DBMS_AUDIT_MGMTPL/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 logurilor3. Rulati procedura DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION PL/SQLpentru a specifica numele tabelei destinatie.

    In anumite momente o aplicatie trebuie sa acorde utilizatorilor obisnuiti acces la tabelade sistem SYS.AUD$ (utilizatori care nu sunt SYSDBA). De exemplu, un generator derapoarte 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 asigurasepararea indatoririlor.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    14/19

    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 siDBA_COMMON_AUDIT_TRAIL. Daca un utilizator are drepturile SELECT, UPDATE,INSERT si DELETE asupra tabelei SYS.AUD$ si executa o operatie SELECT, atunci logulauditului va avea o inregistrare cu aceasta operatie. Periodic este necesara arhivarea apoi

    curatarea logurilor pentru a preveni supradimensionarea acestora. Arhivarea si curatareaelibereaza 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 deaudit 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 alesistemului de operare, curatarea se poate efectua fie manual, fie utilizand o instructiune care oface la un anumit interval de timp. In acest caz, operatiunea de curatare fie curata logurilecreate inainte de arhivare, fie pe toate. Pentru a realiza curatarea logurilor de audit, in cele maimulte cazuri se utilizeaza pachetul DBMS_AUDIT_MGMT PL/SQL. Este necesar dreptulEXECUTE 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 fostcreata inainte de un moment anume. Pentru logurile bazei de date, inregistrarile individualeale auditului create inainte de o anumita semnatura temporala, pot fi sterse. Pentru logurilesistemului de operare, se sterg fisierele de audit create inainte de o anumita semnaturatemporala. Se pot crea mai multe servicii de stergere, pentru diferite tipuri de loguri, atatatimp 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 acestproces, s-ar putea sa fie necesara conectarea online si arhivarea logurilor de restaurare pentrua 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 siale sitemului de operare inainte de arhivare. Data semnaturii temporale se poate verificainterogand 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 proceduraDBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL, trebuie initializate logurile

    pentru operatiunea de curatare.Pentru a initializa operatiunea de curatare:

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    15/19

    1. Logati-va in SQL*Plus ca administrator cu dreptul EXECUTE asupra pachetuluiDBMS_AUDIT_MGMT PL/SQL.

    2. Daca nu s-a efectuat inca, initializati operatiunea de curatare a logurilor ruland proceduraDBMS_AUDIT_MGMT.INIT_CLEANUP. (Este suficient sa executati acest pas o singuradata)

    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 deaudit. Stabilind o semnatura temporala pentru arhive furnizeaza un indiciu asuprainfrastructura de curatat pe care operatiunea de curatare o va utiliza la fiecare 6 ore. Pentrulogurile bazei de date, semnatura temporala trebuie setata dupa ce ai initializat operatiunea decuratare a logurilor. Pentru a gasi ultimele semnaturi temporale pentru logurile de audit, se

    poate interoga vizualizarea DBA_AUDIT_MGMT_LAST_ARCH_TS. Dupa stabilireasemnaturii temporale, toate inregistrarile auditului din log care indica o data inainteasemanturii, vor fi sterse la rularea proceduriiDBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL.

    Pasul 5: Crearea si programarea serviciului de stergere

    Serviciul de stergere se creeaza si programeaza ruland proceduraDBMS_AUDIT_MGMT.CREATE_PURGE_JOB PL/SQL.

    Pasul 6: Optional, configureaza inregistrarile de audit pentru a fi sterse in loturiImplicit, procedurile din pachetul DBMS_AUDIT_MGMT sterg inregistrarile

    logurilor de audit ale bazei de date sau sistemului de operare in loturi de 10000 de inregistrariale 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 coloanelePARAMETER_NAME si PARAMETER_VALUE ale vizualizariiDBA_AUDIT_MGMT_CONFIG_PARAMS. Pentru stabilirea dimensiunii lotului, seutilizeaza 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 serviciupentru aceasta. Similar unui serviciu, se pot sterge inregistrari care au fost create inainte de oanumita semnatura temporala sau toate inregistrarile din log.

    Pentru a sterge manual logurile:1. Urmati pasii urmatori din: Crearea unui serviciu automat de stergere2. 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 curatareVerificarea 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 satreaca 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 intervalulimplicit de stergere, prin rularea procedurii _AUDIT_MGMT.DEINIT_CLEANUP.

    Activarea sau dezactivarea unui serviciu de stergere a logurilor

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    16/19

    Pentru a activa sau dezactiva un serviciu de stergere, se utilizeaza proceduraDBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS PL/SQL

    Stabilirea intervalului implicit al serviciilor de stergere pentru un anumit serviciuSe 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 proceduraDBMS_AUDIT_MGMT.DROP_PURGE_JOB PL/SQL. Pentru a gasi serviciile de stergereexistente, interogati coloanele JOB_NAME si JOB_STATUS ale vizualizariiDBA_AUDIT_MGMT_CLEANUP_JOBS.

    Eliminarea setarilor semnaturii temporale a arhivelor

    Pentru a elibera setarea semnaturii temporale pentru arhive, se utilizeaza proceduraDBMS_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 sauXML,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 aspecifica denumirea tabelei destinatie.

    y A nu se activa colectarea textului SQL in logurile de audit. Se utilizeaza urmatoarele setariin schimb:

    y Auditarea standard: Parametrul de initializare AUDIT_TRAIL ia valorile DB, OSsau XML.

    y Auditarea detaliata: Parametrul DBMS_FGA.ADD_POLICY ia valorileDBMS_FGA.DB sau DBMS_FGA.XML.

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    17/19

    VII.2. Auditarea activitatilor uzuale

    Atunci cand scopul auditarii este adunarea de informatii istorice despre anumiteactivitati asupra bazei de date, se folosesc urmatoarele reguli:1. Se auditeaza numai actiunile pertinente2. 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 companiei4. 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 urmatoareleghiduri:

    1. Mai intai se auditeaza general, apoi specific2. Se auditeaza activitatile suspecte comuneActivitatile suspecte comune sunt:y Utilizatori care acceseaza baza de date la ore neobisnuitey Incercari repetate de logare ale utilizatorilory Incercari de logare ale unor utilizatori inexistentiIn plus, se monitorizeaza utilizatorii care impart conturile sau utilizatorii care se logheazade la aceeasi adresa IP. Se poate interoga vizualizarea DBA_AUDIT_SESSION pentru agasi acest tip de activitate.3. Protejarea logurilor de audit.

    Cand se auditeaza activitatile suspecte, protejati logurile auditului astfel incat sa nupoate 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 declaratieiAUDIT:y AUDIT ALTER ANY PROCEDUREBY ACCESS;y AUDIT ALTER ANY TABLEBY ACCESS;y AUDIT ALTER DATABASEBY ACCESS;y AUDIT ALTER SYSTEMBY ACCESS;y AUDIT CREATE ANY EDITION;y AUDIT CREATE ANY JOBBY ACCESS;y AUDIT CREATE ANY LIBRARY BY ACCESS;y AUDIT CREATE ANY PROCEDUREBY ACCESS;y AUDIT CREATE ANY TABLEBY ACCESS;y AUDIT CREATEEXTERNAL JOBBY ACCESS;y

    AUDIT DROP ANY EDITION;y AUDIT DROP ANY PROCEDUREBY ACCESS;y AUDIT DROP ANY TABLEBY ACCESS;Drepturi de acces si privilegii. Folositi urmatoarele setari ale declaratiei AUDIT:y AUDIT ALTER PROFILEBY ACCESS;y AUDIT ALTER USERBY ACCESS;y AUDIT AUDIT SYSTEMBY ACCESS;y AUDIT CREATE PUBLIC DATABASE LINKBY ACCESS;y AUDIT CREATE SESSIONBY ACCESS;

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    18/19

    y AUDIT CREATE USERBY ACCESS;y AUDIT DROP PROFILEBY ACCESS;y AUDIT DROP USERBY ACCESS;y AUDIT EXEMPT ACCESS POLICY BY ACCESS;y AUDIT GRANT ANY OBJECT PRIVILEGEBY ACCESS;y AUDIT GRANT ANY PRIVILEGEBY ACCESS;y AUDIT GRANT ANY ROLEBY ACCESS;y AUDIT ROLEBY ACCESS;

  • 7/30/2019 54721921-Auditul-Bazelor-de-Date.pdf

    19/19

    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