Pagina documente » Informatica, Matematica » Securitatea bazelor de date in Oracle

Cuprins

lucrare-licenta-securitatea-bazelor-de-date-in-oracle
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-securitatea-bazelor-de-date-in-oracle


Extras din document

CUPRINS:
1. Securitatea datelor ............. pag. 4
1.1 Securitatea la nivel de sistem ............ pag. 7
1.2 Securitate la nivel de date .. pag. 8
1.3 Securitate la nivel de utilizator ........... pag. 9
1.4 Controlul accesului autorizat in sistemele centralizate .... pag. 11
1.5 Administrarea utilizatorilor si a resurselor ......... pag. 13
1.6 Metode de autentificare a utilizatorilor .............. pag. 14
1.7 Administrarea utilizatorilor. Exemple. pag. 19
1.8 Administrarea parolelor si a resurselor utilizand profiluri. Exemple. pag. 24
1.9 Informatii despre utilizatori si profiluri. ............. pag. 32
1.10 Administrarea privilegiilori si a role-urilor ....... pag. 32
1.11 Acordarea privilegiilori si a role-urilor. Exemple. .......... pag. 42
1.12 Revocarea privilegiilori si a role-urilor .......... pag. 46
1.13 Controlul accesului autorizat in sisteme distribuite ...... pag. 48
1.14 Informatii despre privilegii si role-uri ............. pag. 50
2. Auditarea .............. pag. 50
2.1 Optiuni de audit. Exemple. pag. 51
2.2 Mecanisme pentru audit .... pag. 55
2.3 Informatii despre audit. ...... pag. 57
3. Oracles Middleware Security. ............ pag. 58
3.1 Single On ............ pag. 61
3.2 Suport pentru PKI. ............. pag. 62
3.3 Securitatea serviciilor oferite de Oracle HTTP Server .... pag. 63
3.4 Securitate Java in Oracle AS ............ pag. 64
3.5 Oracle AS Portal - elemente de securitate ...... pag. 64
3.6 Utilizatorii portalului. ........... pag. 66
3.7 Concluzii .............. pag. 66
4. Aplicatie .. pag. 67
5. Bibliografie ............. pag. 69

Alte date

?1. SECURITATEA DATELOR

Securitatea este o preocupare constanta in proiectarea si dezvoltarea bazelor de date. In mod uzual, nu se pun probleme legate de existenta securitatii, ci mai de graba de cat de mare va fi aceasta. Un SGBD are in mod caracteristic mai multe nivele de securitate, pe langa cele oferite de sistemul de operare sau de retea. De obicei, un SGBD detine conturi pentru utilizatori, care necesita o parola de conectare ce trebuie autentificata pentru a accesa datele.

Un SGBD ofera de asemenea si alte mecanisme cum ar fi grupurile, rolurile, privilegiile si profilurile care dau securitatii mai mult rafinament. Aceste nivele de securitate nu prevad numai constrangeri, ci si stabilirea politicii de securitate. De exemplu, intr-un sistem de electornic banking o companie isi poate deschide un cont la o banca, iar accesul persoanelor din cadrul companiei pentru consultarea contului va fi autorizat printr-un nume si cel putin o parola. In plus, accesul poate fi diferentiat intre diferiti membri ai companiei, numai unora dintre ei fiindu-le permis sa faca si tranzactii asupra contului. Pe de alta parte, personalul bancii poate avea acces la informatii despre toate conturile din banca.

In Oracle, securitatea datelor este asigurata in primul rand prin intermediul utilizatorului de data (in sensul folosit de Oracle, un utilizator al bazei de date este de fapt un cont si nu se identifica cu o persoana care acceseaza baza de date ; in general, mai multe persoane pot folosi acelasi cont de acces). Orice obiect al bazei de date este proprietatea unui utilizator, schema unui utilizator cuprinzand toate obiectele pe care acesta le detine. Pentru a accesa un obiect, un utilizator trebuie fie sa fie proprietarul acelui obiect, fie sa aiba privilegiile necesare pentru aceasta operatie. Privilegiile pot fi acordate direct unui utilizator sau pot fi grupate in roluri, care la randul lor pot fi acordate utilizatorului.

Baza de date Oracle contine propriul ei sistem de securitate care previne accesul neautorizat la baza de date. Sistemul de securitate al bazei de date Oracle este realizat prin intremediul utilizatorilor bazei de date. Serverul bazei de date solicita numele utilizatorului si parola pentru fiecare accesare a bazei de date ; indiferent de utilitarul folosit pentru interfata, serverul bazei de date nu permite accesul la baza de date daca nu este utilizat un nume si o parola corecta.

Nota : Asa cum s-a mai mentiona, in contextul bazei de date Oracle, un utilizator inseamna de fapt un cont de utilizator si nu o persoana care acceseaza baza de date. Evident, o persoana poate accesa baza de date folosind unul sau mai multi utilizatori Oracle, iar mai multe persoane pot accesa baza de date folosind acelasi utilizator Oracle (acesta este cazul cel mai intalnit).

O schema este o colectie de obiecte disponibile unui utilizator. Obiectele schemei sunt structuri logice ce se refera efectiv la datele unei baze de date precum tabele, vederi, secvente, indecsi, sinonime, etc.

Fiecarui utilizator al bazei de date ii sunt acordate anumite drepturi cunoscute sub numele de privilegii. Un privilegiu este permisiunea de a executa o actiune sau de a accesa un obiect apartinand unui alt utilizator. In Oracle, un utilizator nu poate executa nici un fel de actiune fara a avea privilegiul sa o faca. In acest sens unui utilizator ii pot fi acordate sau revocate privilegii.

Accesul unui utilizator la baza de date este administrat printr-un numar de drepturi numite privilegii de sistem, sau privilegii la nivelul bazei de date, care permit utilizatorului sa efectueze operatii precum conectarea la baza de date si crearea de obiecte. Odata ce utilizatorul a creat obiecte ale bazei de date, el este apoi responsabil de a acorda drepturi altor utilizatori pentru obiectele care sunt proprietatea lui. Aceste drepturi sunt numite privilegii la nivel de obiect.

Rolurile sunt utilizate pentru a simplifica administrarea privilegiilor. Astfel, in loc de a acorda un anumit privilegiu direct unui utilizator, privilegiile sunt acordate unui rol, iar un rol este acordat la randul lui unui utilizator. Cu alte cuvinte, rolurile reprezinta un grup de privilegii.

Securiatea datelor este o functie importanta a unui sistem de baze de date, care protejeaza datele impotriva accesului neautorizat. Securitatea datelor are doua componente: protejarea datelor si controlul accesului autorizat.

Protejarea datelor este necesara pentru a nu permite utilizatorilor neautorizati sa inteleaga continutul fizic al datelor. Aceasta functie este oferita, de obicei, de sistemele de operare, centralizate sau distribuite. Principala abordare a protejarii datelor este criptarea lor, lucru util atat in cazul in care informatia este stocata pe disc, cat si cand informatia este transmisa intr-o retea. Datele criptate pot fi decriptate numai de utilizatorii autorizati, care “stiu” codul.

Controlul accesului autorizat trebuie sa se asigure ca numai utilizatorii autorizati efectueaza operatii care le sunt permise asupra bazei de date. Multi utilizatori diferiti pot avea acces la un volum larg de date sub controlul unui singur sistem centralizat sau distribuit. SGBD-ul, centralizat sau distribuit, trebuie sa fie capabil sa restrictioneze accesul unei parti din utilizatori la o parte din date. Controlul accesului autorizat a fost oferit mult timp de catre sistemul de operare, si mai de curand de sisteme de operare distribuite, ca serviciu al sistemului de fisiere. In acest context, este oferit un control centralizat.

Controlul accesului autorizat in sistemele de baze de date difera in anumite privinte de cel din sistemele traditionale de fisiere. Autorizarile trebuie sa ofere unor utilizatori diferiti drepturi diferite pe aceleasi obiecte ale bazei de date. Aceasta necesitate implica specificarea obiectelor mai precis decat dupa nume si diferentierea intre grupurile de utilizatori. Deasemenea, controlul descentralizat al accesului autorizat este important intr-un context distribuit.

Din solutiile pentru controlul autorizat in sistemele centralizate, le putem deduce pe cele din SGBD-uri distribuite. Totusi, exista o complexitate aditionala care provine din faptul ca obiectele si utilizatorii pot fi distribuiti.

Securitatea datelor este o functie importanta a unui sistem de baze de date, care protejeaza datele impotriva accesului neautorizat. Securitatea datelor are doua componente: protejarea datelor si controlul accesului autorizat.

Securiatea unei baze de date presupune monitorizarea actiunilor realizate de utilizatori asupra acesteia sau a obiectelor sale. In acest sens, sistemul foloseste scheme de obiecte pe domenii de securitate.

Un utilizator este un nume definit in baza de date care poate accesa obiectele acesteia. Obiectele bazei de date sunt continute in scheme. Definirea utilizatorilor si a schemelor de obiecte ajuta administratorii sa asigure securitatea bazei de date.

Accesul tuturor utilizatorilor la anumite obiecte este reglementat prin acordarea de privilegii si role-uri. Un privilegiu este permisiunea de a accesa un obiect intr-o maniera predefinita. Un role este un grup de privilegii care poate fi acordat utilizatorilor bazei de date sau altor role-uri.

Atunci cand este creat un utilizator, administratorul bazei de date trebuie sa defineasca un domeniu de securitate pentru acesta. In cadrul domeniului de securitate sunt specificate metodele de autentificare, spatiile tabel implicite si cele temporare, profilul pentru restrictionarea folosirii resurselor bazei, privilegiile si role-urile acordate utilizatorului respectiv.

1.1 Securitate la nivel de sistem

Securitatea la nivel de sistem presupune administrarea adecvata a utilizatorilor, alegerea metodelor de autentificare a acestora si stabilirea securitatii sistemului de operare gazda. Fiecare baza de date are unul sau mai multi administratori care sunt responsabili pentru asigurarea politicilor de securitate (administratori pentru securitate). Daca baza de date are dimensiuni reduse, administratorul bazei poate avea si responsabilitati de securitate.

Utilizatorii sunt cei care acceseaza informatiile din baza de date si de aceea, este deosebit de important modul de administrare al acestora. In general, administratorul pentru securitate este singurul utilizator al bazei de date care are dreptul de administrare al celorlalti utilizatori (creare, modificare, eliminare).

Sistemul furnizeaza mai multe metode de autentificare a utilizatorilor bazei de date, folosind parole, sistemul de operare gazda, servicii de retea sau protocolul SSL (Secure Sockets Layer), autentificare si autorizare de tip proxy.

La nivelul sistemului de operare pe care rezida server-ul si aplicatiile de baze de date trebuie ca:

? Administratorii bazei de date sa aiba privilegii de creare, respectiv de stergere a fisierelor;

? Utilizatorii obisnuiti ai bazei sa nu detina privilegii de creare sau de stergere a fisierelor utile functionarii bazei de date;

? Administratorii pentru securitate sa detina privilegii de modificare a domeniului de securitate pentru conturile disponibile in sistemul de operare (daca identificarea role-urilor pentru utilizatorii bazei de date Oracle se realizeaza prin sistemul de operare)

1.2 Securitate la nivel date

Securitatea la nivel de dateinclude mecanisme de control al accesuluila date si al gradului de utilizare a obiectelor bazei. Se stabilesc utilizatorii care au acces la un anumit obiect si tipurile de actiuni permise asupra sa. In acest sens, se acorda utilizatorilor bazei de date anumite privilegii de sistem si obiect, cate pot fi grupate in role-uri. De asemenea, pentru fiecare obiect al unei scheme sunt definite actiunile care vor fi auditate.

O alta modalitate de stabilire a securitatii la acest nivel este folosirea vizualizarilor. Acestea pot restrictiona accesul la datele unui tabel, prin excluderea unor coloane sau linii. Sistemul permite implementarea politicilor de securitate prin folosirea unor functii si asocierea acestora la tabele sau vizualizari (fine-grained acces control). O astfel de functie genereaza automat o conditie WHERE intr-o instructiune SQL, si astfel se restrictioneaza accesul la anumite linii de date.

1.3 Securitate la nivel de utilizator