Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica » oracle
Modelul de securitate Oracle

Modelul de securitate Oracle




Modelul de securitate Oracle

Sistemul de securitate Oracle este unul structurat pe mai multe niveluri. El incorporeaza protectia fisierelor atat in interiorul cat si in exteriorul bazei de date, si o varietate de politici administrative si strategii tehnice.

1. Niveluri de securitate

Exista de fapt cateva niveluri de securitate implicate in construirea si mentinerea protectiei bazei de date si sistemului. De fapt, se ascund anumite fisiere si date de anumiti utilizatori. De asemenea se fac si niste determinari pentru a se vedea cata securitate este suficienta pentru a proteja sistemul, baza de date, aplicatiile, si datele specifice.

Nivelurile de securitate care pot fi implementate urmaresc urmatoarele scopuri:

  • Protejarea fisierelor sistem Oracle- RDBMS si soft-ul Oracle.
  • Protejarea codului aplicatiei care interactioneaza cu baza de date Oracle.
  • Controlul conectarilor la baza de date.
  • Controlul accesului la tabelele bazei de date prin intermediul vederilor, declansatoarelor si procedurilor.
  • Controlul accesului la un tabel cu vederi, declansatoare si proceduri.
  • Asigurarea recuperabilitatii datelor.
  • Activarea unor forme mai complexe de securitate ca: semnatura digitala, codarea datelor, si  single sign-on


2. Entitatile fizice

Se va separa studiul componentelor unui sistem Oracle in studiul a doua mari zone - Oracle operating system files (entitatile fizice) si obiectele bazei de date Oracle (entitatile logice).

2.1. Fisierele sistem Oracle

Urmatoarele fisiere sunt semnificative din perspectiva securitatii. Este esential sa fie protejate aceste fisiere pana la capacitatea maxima a sistemului pe care se lucreaza.

Fisierele care compun spatiile tabel ale bazei de date

Acestea includ fisierele de reluare, fisierele de control, fisiere jurnal arhivate pentru recuperare, fisiere de date pentru segmentele de revenire, fisiere de date pentru indecsi.

Fisierul de initializare a parametrilor

Reprezinta principalul mijloc de configurare a SGBDR-ului. El este o colectie de valori ale unor parametrii, care fiecare controleaza sau modifica un anumit aspect din modul de functionare al unei baze de date si instante. Numele atribuit in mod implicit fisierului de initializare a parametrilor este INITSID.ORA unde SID (system identifier) este identificatorul de sistem pentru baza de date pe care o controleaza.

Fisierul de configurare

Fisierul de configurare, numit CONFIG.ORA contine informatii despre configuratia bazei de date, dimensiunea blocurilor bazei de date, etc.

Fisiere de configurare a retelei

Sunt folosite pentru interactiunea clientului cu baza de date. Aceste fisiere includ (dar nu numai ) LISTENER.ORA, SQLNET.ORA, TNSNAMES.ORA, etc.

The oracle distribution files

Oracle distribution files include toate codurile care se instaleaza cu scopul de a construi, interactiona, si mentine bazele de date Oracle. Trebuie retinut ca aceste fisiere incapsuleaza nume utilizatori si parole.

Fisiere de backup

Fisierele de backup sunt copii ale bazei de date realizate fie prin utilitarul pentru backup Oracle fie facand copii ale fisierelor folosind utilitatile sistemului de operare. Ar trebui salvate toate fisierele de mai sus si orice fisier de management al configuratiei.

2.2. Procesele de fundal si SGA

Procesele de fundal si SGA (System Global Area) nu sunt fisiere dar sunt prezentate aici deoarece sunt controlate de la nivelul sistemului de operare si iau parte la rularea unei baze de date Oracle.

Procesele de fundal Oracle

Fiecare instanta utilizeaza mai multe procese de fundal, dar in mod implicit orice instanta contine 5 procese de fundal: DBWR (database writer ), LGWR (log writer), SMON (system monitor), PMON (process monitor), CKPT (checkpoint). In afara de acestea mai exista si altele cele particulare depinzand de modul cum este configurata baza de date.

Zona globala sistem (SGA

Este o multime de zone tampon partajate continand datele si informatiile de control relative la o instanta Oracle. Datele continute aici sunt partajate de utilizatorii conectati la distanta. Informatiile continute in SGA sunt repartizate in diferite zone: shared pool, database buffer cache, redo log buffer, data dictionary cache.

3. Entitatile logice

Oralcle protejeaza si mentine aceste entitati direct si le foloseste pentru a impune securitatea in sistem.

Utilizatorii

Conturi Oracle create de administratorul bazei de date. Crearea unui utilizator consta in definirea identitatii sale (nume si parola). Fiecarui utilizator creat administratorul poate sa ii afecteze un spatiu tabel implicit, un spatiu tabel temporar, un profil, sa-i acorde privilegii, etc.

Schema

Intreaga colectie de obiecte acare apartine unui cont de utilizator.

Privilegii

Reprezinta unul dintre cele mai importante mijloace pentru realizarea securitatii bazei de date. Un utilizator nu poate efectua o actiune asupra bazei de date decat daca are privilegiul de a efectua actiunea respectiva. Privilegiile sistemului Oracle sunt grupate in doua categorii: privilegii sistem

Roluri

Un grup de privilegii sau un obiect ce poate fi folosit pentru a acorda unul sau mai multe privilegii unuia sau mai multor utilizatori. Rolurile pot fi ierarhice , adica un rol poate fi acordat unu-i alt rol.

Profiluri

Un profil reprezinta o multime de limite asupra folosirii resurselor care poate fi atasata unui utilizator in scopul controlarii consumului de resurse. Profilurile nu apartin nici unei scheme, deci orice utilizator cu privilegiile necesare poate executa comenzi pentru profilurile create de orice alt utilizator. Oracle8 permite controlul administrarii parolelor utilizatorilor bazei de date.

Urmatoarele componente sunt toate obiecte. Cuvantul "obiect" se refera la orice articol care apartine unui utilizator.

Tabele

Este principala structura logica de stocare a datelor.



Declansatoare

Este un bloc PL/SQL stocat in baza de date , care este asociat unui tabel. Un trigger este executat in mod implicit ori de cate ori asupra tabelului este lansata o anumita comanda DML (INSERT, UPDATE sau DELETE).

Vederi

O vedere este un "tabel logic" fiind de asemenea organizata in randuri si coloane. O vedere poate fi construita din unul sau mai multe tabele sau chiar alte vederi si permite ca datele din mai multe tabele sa fie rearanjate, reunite logic sau ca noi date sa fie calculate pe baza acestora. Vederea nu stocheaza date si nici nu are alocat vre-un spatiu de stocare.

Pachete stocate

Programe scrise in Pl/SQL pot fi salvate si compilate din baza de date. Sunt doua tipuri: proceduri si functii. O functie trebuie sa intoarca o valoare, in timp ce o procedura nu trebuie sa intoarca o valoare.

Sinonime

Este un obiect care face referire la un alt obiect din baza de date, cu alte cuvinte este un alias al acestuia. Sinonimele sunt folosite de obicei pentru a permite unui utilizator sa foloseasca obiecte din schema unui utilizator, fara a specifica proprietarul acestora.

4. Dictionarul de date

Este o metabaza de date (instrument read only) care descrie intr-o maniera dinamica baza de date. Se creeaza automat cand este creata baza de date si se reactualizeaza dupa orice comanda LDD. Continutul sau reflecta imaginea bazei la un moment dat. dictionarul datelor este detinut de catre utilizatorul SYS si se afla in spatiul tabel SYSTEM. Dictionarul datelor poate fi utilizat sub aspect de documentare sau sub aspect de administrare (controlul si gestiunea autorizatiilor de acces a utilizatorilor).

Dictionarul datelor furnizeaza informatii referitoare la: obiectele bazei (tabele, coloane, vizualizari, indecsi, sinonime etc.), utilizatorii care acceseaza sistemul cu privilegiile si drepturile pe care le au relativ la obiecte, activitatea bazei (conexiune, resurse, utilitare, blocari etc.).

5. Oracle vazut din perspectiva sistemului de operare

Inaite de a instala Oracle este necesar sa se ia in considerare pasii necesari pentru a se asigura protejarea codului sistem impotriva persoanelor neautorizate. Pentru a proteja fisierele fizice ce contin baza de date Oracle de la nivelul sistemului de operare este necesar ca acestea sa fie plasate intr-un set de directoare care sunt proprietatea unui cont al sistemului de operare, apartinand unui grup special. Nimeni din afara acestui grup nu va avea dreptul sa actioneze asupra acestor fisiere. Majoritatea sistemelor de operare pun la dispozitie un mecanism de activare sau dezactivare a diferitelor forme de acces la aceste fisiere. De exemplu:

  • Intr-un sistem Windows NT, poate fi folosita comanda CACLS in Windows NT Explorer pentru a seta protectia fisierelor sistem.
  • In UNIX, prin CHMOD sau CHOWN.
  • In OpenVMS system, se foloseste o comanda SET PROTECTION pentru a activa sau dezactiva nivelul de interactiune cu fisierul

6 Oracle vazut din interior

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 intermediul utilizatorilor bazei de date. Oracle pune la dispozitie roluri si conturi utilizator implicite care simplifica acordarea de privilegii utilizatorilor.

6.1. Roluri predefinite

Oracle ofera un set de roluri predefinite cu privilegii incluse care sunt create o data cu baza de date. Pentru versiunea Oralce 8 acestea sunt: CONNECT, RESOURCE, DBA, SZSDBA, SYSOPER, EXP_FULL_DATABASE, IMP_FULL_DATABASE, DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_ CATALOG_ ROLE.

Mai exista un grup de utilizatori prezent in orice baza de date si anume, public. Grupul de utilizatori public este de fapt un qvasi-rol; fiecare utilizator creat apartine automat grupului public. Public nu are o parola, nu se poate conecta la baza de date si nu poate detine obiecte.

CONNECT

Permite utilizatorilor sa se conecteze la baza de date, sa creeze obiecte, si sa realizeze exporturi.

RESOURCE

Acorda utilizatorilor privilegiile necesare pentru a crea proceduri, declansatoare, si (pentru Oracle 8) tipuri in cadrul schemei urilizatorului.

DBA

Ofera toate privilegiile de sistem cu posibilitatea de a acorda aceste privilegii altor utilizatori sau roluri .

SYSDBA

Permite utilizatorilor sa se conecteze la baza de date si sa realizeze remotely actiuni permise de privilegii ca pornirea si oprirea bazei de date.

SYSOPER

Permite utilizatorilor sa se conecteze la baza de date remotely si sa realizeze un set limitat de actiuni permise de privilegii, incluzand pornirea si oprirea bazei de date.

EXP_FULL_DATABASE si IMP_FULL_DATABASE



Sunt pentru utilizatorii utilitarelor Export si Import, adica ofera privilegiile necesare operatilor de import si respectiv export ale bazei de date.

DELETE_CATALOG_ROLE,

EXECUTE_CATALOG_ROLE,

SELCT_CATALOG_ROLE

Ofera privilegii de accesare a vederilor dictionarului de date si a pachetelor.

Alte roluri AQ_ADMINISTRATION_ROLE, AQ_USER_ROLE, RECOVERY_

CATALOG_OWNER si SNMPAGENT.

6.2 Conturi de utilizatori predefinite

In diferitele versiuni ale Oracle, cand se creeaza o baza de date se creeaza implicit anumite conturi de utilizatori. In orice versiune sunt create conturile sys si system. Conturile care se creeaza implicit pentru Oracle 8 sunt:

Sys

System

Dbsnmp

Scott

Demo

Po8 (pentru Personal Oracle)

Utilizatorul sys are intotdeauna parola change_on_instal. Are toate rolurile prezentate mai sus.

Utilizatorul system primeste parola manager. Deoarece parolele pentru conturile sys si system sunt predefinite, administratorul bazei de date cunoaste parolele initiale necesare pentru conectarea fie ca sys fie ca system pentru a incepe sa interactioneze cu baza de date. System este contul pentru care initial se creeaza spatiile tabel, segmentele de revenire, si utilizatorii. Este recomandata schimbarea parolelor pentru sys si system imediat dupa instalare, datorita importantei acestor conturi.

7 Conectarea la o baza de date

Oracle pune la dispozitie cateva metode care pot fi folosite pentru a autoriza conectarea la o baza de date Oracle. De exemplu:

Nume utilizator si parola

Un cont care se bazeaza pe validarea la nivel de sistem de operare pentru a permite accesul la baza de date.

Remote access cu sau fara nume utilizator si parola.

Cand se creeaza un cont pentru un utilizator , fie se creeaza contul cu o parola specificata, fie se creeaza cu cuvintele cheie IDENTIFIED EXTERNALLY. Daca se creeaza contul cu o parola, utilizatorul va scrie numele si parola pentru a se conecta la baza de date. Daca se creeaza contul cu cuvintele cheie IDENTIFIED EXTERNALLY, utilizatorul va trebui doar sa tasteze numele si parola de acces in sistemul de operare. A treia modalitate de acces este de a folosi un remote client prin unul din urmatoarele utilitare:

SQL*Net

Net8 (pentru Oracle8)

8. Backup si recovery

In orice calculator facilitatile de backup sunt importante pentru mentinerea datelor. Nu exista o modalitate de protejare impotriva oricarei pierderi de date. Posibilitatile de backup si recuperare a datelor impiedica aceste pierderi sa se transforme in dezastru. Nivelul de siguranta care trebuie asigurat pentru baza de date depinde de mai multe elemente diferite.

Pentru production system este necesar sa se aiba in vedere urmatoarele cand se structureaza o strategie de backup:

  • Ce cantitate si ce gen de informatii pot fi pierdute
  • Pierderea caror date ar provoca cele mai mari probleme
  • Cat timp ii este permis sistemului sa fie offline in timp ce datele sunt recuperate

Toate aceste abordari sunt relative. Modul in care se realizeaza backup si recuperarea datelor este dictat in parte de raspunsul la aceste consideratii. Indiferent cat de rigida sau flexibila trebuie sa fie strategia de backup, trebuie sa se asigure cea mai buna protectie pentru date in cadrul conditiilor existente.







Politica de confidentialitate







creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.