Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica » oracle
Autentificarea

Autentificarea


Autentificarea

Autentificarea inseamna verificarea identitatii unui utilizator, dispozitiv sau entitatea care incearca sa acceseze datele, resursele sau aplicatiile sistemului. Autentificarea face posibila contabilizarea actiunilor efectuate in sistem, legandu-le de anumite identitati. Dupa autentificare, procesul de autoriare va asocia respectivei entitati, drepturile si limitarile ce i-au fost atribuite.

Datorita operatiilor speciale si multiplelor drepturi pe care le detin, Oracle pune la dispozitie proceduri speciale pentru autentificarea adminsitratorilor bazei de date.

Pentru validarea identitatii unui utilizator al bazei de date si prevenirea accesului neautorizat, autentificarea se poate face folosind orice combinatie a urmatoarelor metode:

Autentificarea de catre sistemul de operare;

Autentificarea de catre retea sau directoarele LDAP;

Autenitifcarea de catre baza de date;

Autentificarea intr-un sistem multitier;

Autentificarea administratorilor bazei de date.



Autentificarea de catre sistemul de operare

Unele sisteme de operare permit Oracle folosirea informatiei proprii pentru autentificarea utilizatorile. Aceasta abordare are urmatoarele beneficii:

Odata autentificati de sistemul de operare, utilizatorii se pot conecta la sistemul Oracle mult mai usor, fara a mai trebui sa furnizeze userul si parola;

Autentificarea fiind centralizata la nivelul sistemuui de operare, Oracle nu va mai trebuie sa stocheze si sa administreze parolele, dar in continuare va pastra in baza de date conturile de utilizatori;

Atat rezultatele auditarii bazei de date cat si ale auditarii sistemului de operare pot folosi acelesi nume de utiliazatori, facilitand urmarirea si identificarea persoanelor ce au efectuat actiuni care sa prejudicieze siguranta datelor.

Autentificarea de catre retea

Autentificarea in cadrul retelei este realizata prin intermediul protocolului SSL (Secure Socket Layer) sau alte servicii externe cum ar fi protocolul Kerberos, autentificare PKI,etc.

Protocolul SSL este protocolul standard pentru comuncatiile sigure in cadrul Internetului, furnizand mecanisme care sa asigure integritatea si criptarea datelor. Aceste mecanisme pot proteja informatiile primite si trimise de utilizatori, aplicatii si servere si suporta autentificarea, autentificarea autorizata si transmiterea mesajelor prin intermediul certificatelor digitale.

Poate fi folosit pentru a autentifica un utilizator al unei baze de date si este independent de gestiunea globala a utilizatorilor in OID (Oracle Internet Directory). Astfel utilizatorii se pot autentifica pe baza de date chiar fara sa fie prezent in retea un server/serviciu OID.

Autentificarea folosind servicii de autentificare externe cuprind modalitati de autentificare cum ar fi protocolul Kerberos, sistemul PKI - Public Key Infrastructure (Infrastructura cheilor publice) , RADIUS si servicii de indexare (bazate pe o structura de indexare) precum OID.

KERBEROS este un protocol de autentificare care permite unui client sa-si demonstreze identitatea fata de un server aflat la distanta, undeva dincolo de o retea complet nesigura. Protocolul garanteaza de asemenea ca respectivul client nu poate conversa cu un calculator care se da drept server. Autentificarea se face in ambele directii. Protocolul in sine consta dintr-un schimb de mesaje intre un client si o serie de servere, fiecare cu o alta misiune, o parte din aceste mesaje fiind criptate.

Premiza de la care se porneste este existenta unui server central (de autentificare) care cunoaste identitatile tuturor clientilor posibil. De asemenea, fiecare client are prestabilita o parola secreta cunoscuta doar de client si de server. Niciodata parola nu va circula in clar, in retea, iar cheile folosite pentru criptarea informatiei ransmisa intre client si server se schimba frecvent, implementarea standard fiind de 25 de ore.

Autentificarea bazata pe Infrastructura cheilor publice - PKI emite certificate digitale catre utilizator pe care acestei le folosesc apoi pentru autentificarea directa la serverele din organizatie.

Oracle furnizeaza o infrastructura pentru cheile pubice si certificate digitale formata din urmatoarele componente:

Autentificarea si managementul securizat al cheilor de sesiune folosind protocolul SSL;

Functii OCI (Oracle Call Interface) si PL/SQL folosite pentru a comunica serverului datele continute de cheile private si certificatele digitale verifciarea semnaturii acestora se face folosind certificatele de verificare(trusted certificates);

Trusted certifcates sunt folosite pentru identificarea entitatilor externe;

Oracle wallets - structuri de date care contin cheia privata a unui utilizator, certificatul utilizatorului respectiv si punctele de verificare pentru acesta (trusted certificates);

OracleAS Certificate Authority este o componenta a infrastructurii Oracle Identity Management care include o solutie pentru furnizarea certificatelor pentru utilizatori, aplicatii si servere;

Oracle Wallet Manager - o aplicatie Java folosita pentru managementul si editarea legitimatiilor de securitate prezente in Wallet-urile Oracle.

Infrastructura pentru chei public Oracle este ilustrata mai jos, in Fig.2.1

Servicii de indexare (Directory-Based Services). Folosirea unui sistem centralizat de organizare si indexare poate face autentificarea si administrarea acesteia mult mai eficienta.

Astfel de servicii cuprind:

Oracle Internet Directory (OID), care foloseste protocolul LDAP, centralizeaza stocarea si administrarea informatiilor despre utilizatori. Chiar daca conturile de utilizator impreuna cu parolele sunt create in fiecare baza de date asupra careia trebuie sa aiba acces, aceste informatii sunt accesibile la nivel central, prin Oracle Internet Directory. Acesta permite managementul atributelor de securitate si a privilegiilor acordate fiecarui utilizator in parte, chiar si pentru cei autentificati prin certificate digitale. Interogarile asupra acestui serviciu de indexare si raspunsurile trimise in timpul autentificarii sau a altor interactiuni pot fi criptate folosind protocolul SSL.

Oracle Enterprise Security Manager asigura un management centralizat asupra privilegiilor pentru a usura administrarea acestora si a creste nivelul de securitate. Aceasta componenta permite stocare si citirea informatiilor legate de roluri si privilegii din cadrul Oracle Internet Directory, dupa cum apare si in Fig. 2.1.


Fig. 2.1 - Public Key Infrastructure in Oracle

Autentificarea la distanta se poate realiza si prin intermediul unor sisteme de tip middle-tier (precum un proxy). Pentru aceasta trebuie utilizat parametrul GRANT CONNECT THROUGH din comanda ALTER USER De exemplu, Aplicatia Server se poate conecta la baza de date in numele utilizatorului Ana:

ALTER USER Ana GRANT CONNECT THROUGH Server

In cazul in care este specificat parametrul AUTHENTICATED USING PASSWORD,   aplicatia middle-tier trebuie ca la fiecare conectare sa furnizeze si parola userului. In acest caz trebuie dezactivata posibilitatea de conectare prin intermediul unui proxy folosind clauza REVOKE CONNECT THROUGH a instructiunii ALTER USER. Aplicatia Server nu se va mai putea conecta in numele utilizatorului Ana:

ALTER USER Ana REVOKE CONNECT THROUGH Server;

Autentificarea la nivelul bazei de date Oracle

Una dintre primele metode de autentificare folosite de Oracle si care este des folosita in sistemele de dimensiuni mai mici, este autentificarea realizata pe baza informatiilor stocate chiar in baza de date la care se doreste accesul. Acest lucru se realizeaza prin crearea fiecarui user in parte si asocierea acestuia cu o parola, verificarea validitatii acesteia la conectare prevenind accesul neautorizat. Bazele de date Oracle stocheaza parolele in dictionarul de date intern, intr-un format criptat, pentru a preveni modificarea neautorizata a acestora.

Parola este criptata si recuperata intotdeauna sub forma unui sir de biti. Exista insa un pericol major in acest caz: modificarea setului de caractere intern al bazei de date sau al sistemului de operare. Din acest considerent Oracle recomanda ca denumirea tuturor userilor precum si a parolelor sa fie in format ASCII simplu. Problemele apar atunci cand se folosesc caractere specifice anumitor limbi, precum s, t sau ä, sau se trece de la un sistem de codare al caracterelor la altul care necesita mai multi putini biti per caracter. Iata ce se poate intampla

Set de caractere

WE8MSWIN1252

UTF8

Unicode

Nr biti pentru parola äna

Autentificarea la nivelul bazei de date cuprinde urmatoarele caracteristici:

criptarea parolei in timpul conectarii: parolele sunt intotdeauna criptate automat pentru utilizatorii autorizati, folosindu-se algoritmul AES (Advanced Encryption Standard), inainte de a fi transmisa informatia in retea;

blocarea unui cont de utilizator dupa un numar de incercari de logare consecutive nereusite. Numarul maxim de incercari nereusite acceptate, precum si perioada de blocare a contului se stabilesc in momentul crearii unui profil folosindu-se comanda CREATE PROFILE, profilul creat urmand apoi a fi asociat conturilor de utilizatori. De asemenea, blocarea, cat si deblocarea unui cont se pot face si in mod explicit, de catre administratorul bazei de date;

durata de viata a unei parole; administratorul bazei de date poate stabili o durata maxima pentru utilizarea aceleasi parole, dupa care parolele trebuie schimbate pentur a se putea permite din nou accesul. De asemenea se poate stabili si o perioada de gratie in care utilizatorul este avertizat de necesitatea inlocuirii parolei. Daca parola nu este inlocuita pana la sfarsitul acestei perioade, contul de utilizator este blocat si nu mai poate fi reactivat fara ajutorul administratorului bazei de date;

pastrarea istoriei parolelor presupune ca la stabilirea unei noi parole pentru un anumit cont de utilizator aceasta sa fie verificata pentru a nu se permite refolosirea aceleasi parole pentru o perioada de timp prestabilita sau timp de un anumit numar maxim de schimbari de parola. Aceste configurari sunt realizate de administratorul bazei de date tot in momentul crearii profilului, folosind optiunile instructiunii CREATE PROFILE;

verificarea complexitatii parolei presupune ca fiecare parola sa fie suficient de complexa pentru a asigura un nivel de protectie suficient de bun impotriva persoanelor neautorizate care incearca sa patrunda in sistem prin "ghicirea" parolei. Routina exemplu Oracle de verificare a complexitatii verifica ca fiecare parola sa intruneasca urmatoarele proprietati: sa aiba minim 4 caractere, sa fie diferita de numele utilizatorului, sa contina cel putin o litera, un caracter numeric si un semn de punctuatie, sa nu fie un cuvant usual, cuprins intr-o lista interna de cuvinte simple (cum ar fi account, database, user, etc.) si sa fie diferita fata de parola precedenta cu cel putin 3 caractere.

Autentificarea si autorizarea in arhitecturile multitier

Intr-un mediu multitier, Oracle controleaza securitatea aplicatiilor middle-tier prin limitarea privilegiilor, pastrarea identitatii clientilor in cadrul tutoror nivelelor si prin auditarea actiunilor efectuate in numele clientilor.

Un avantaj al folosirii un nivel de mijloc (middle tier) este optiunea connection pooling care reprezinta o zona de conexiuni prestabilite catre baza de date si care leaga aplicatia de schema bazei de date. Aplicatia deschide si pastreaza deschise cateva conexiuni fizice cu baza de datece. Cand apare o solicitare, aplicatia va folosi una dintre conexiunile prestabilite pentru a trimite interogarea catre baza de date, si apoi elibereaza conexiunea.

Aceasta tehnica de conectare este folosita pentru a imbunatati performantele intr-un mediu multi-utilizator. Solicitarile concurente putand fi tratate prin acordarea fiecarei cereri a cate unei conexiuni prestabilite si apoi, dupa efectuarea cererii, conexiunea este eliberata pentru a putea fi folosita de o alta solicitare din partea aplicatiei. Astfel se permite conectarea la baza de date, fara insa a fi necesara deschiderea unei conexiuni dedicate pentru fiecare utilizator.

Intr-o arhitectura multitier, serverul de aplicatii furnizeaza informatii pentru clienti si se comporta ca o interfata intre acestia si una sau mai multe baze de date. Serverul de aplicatii verifica legitimitatea clientului, cum ar fi un browser web, iar serverul bazei de date poate audita actiunile efectuate de serverul de aplicatii in numele clientilor sai.

Autentificarea se poate face si la nivelul aplicatiei/sistemului clientului, insa Oracle recomanda dezactivarea acestei optuni prin setarea parametrului remote_os_authentication = FALSE.

Fig. 2.2 - Autentificarea multitier

Autentificarea intr-un astfel de mediu se realizeaza astfel:

clientul furnizeaza serverului de aplicatii dovada autenticitatii sale, de obicei folosind o parola sau un certificat digital X.509;

serverul de aplicatii autentifica clientul si apoi se autentifica pe sine la serverul bazei de date;

serverul bazei de date autentifica serverul de aplicatii, verifica existenta clientului si apoi verifica daca serverul de aplicati are privilegiile necesare pentru conectarea clientului.

Serverul de aplicatii poate de asemenea sa solicite activarea a diverse roluri pentru clientul in numele caruia se conecteaza. Baza de date insa va face urmatoarele verificari:

Clientul trebuie sa aiba asociate rolurile respective;

Serverul de aplicatii trebuie sa aiba privilegiul de a se conecta in numele respectivului client si deci poate folosi aceste roluri asa cum le-ar folosi utilizatorul respectiv.

Securitatea in cadrul aplicatiilor middle-tier trebuie sa respecte urmatoarele principii:

contabilizarea accesului si actiunilor efectuate. Serverul bazei de date trebuie sa poata distinge intre actiunile clientilor si actiunile pe care le efectueaza o aplicatie in numele unui client. Trebuie sa fie posibila auditarea ambelor situatii;

diferentierea. Serverul de baze de date trebuie sa poata distinge intre un client care acceseaza direct baza de date si un server de aplicatii care actioneaza in nume propriu sau in numele unui client de browsing ;

cel mai mic privilegiu. Utilizatorilor si aplicatiilor middle-tier ar trebui sa li se acorde cat mai putine privilegii pentru a minimiza pericolul efectuarii unor activitatii gresite sau rau intentionate.

Intr-un astfel de mediu multitier, autentificarea pastreaza identitatea clientului prin toate nivelurile sistemului cu scopul de a se putea crea inregistrari de auditare clare si utile. Daca s-ar pierde identitatea clientului care a initiat operatia, nu s-ar mai putea face deosebirea intre actiunile efectuate de serverul de aplicatii sau actiunile efectuate de acesta in numele unui client.

Privilegiile acordate in cadrul unui sistem multitier trebuie limitate doar la cele strict necesare pentru realizarea operatiilor solicitate si nimic in plus. Orice privilegiu in plus poate fi o bresa de securitate.

Privilegiile clientilor trebuie sa fie cat mai limitate deoarece operatile sunt realizate de serverul de aplicatii in numele clientului.

Si privilegiile serverului de aplicatii trebuie limitate astfel incat acesta sa nu poata avea initia si alte operatii nedorite sau inutile in timp ce efectueaza actiunile solicitate de client.

Autentificarea administratorilor bazei de date

Deoarece administratorii bazei de date pot efectua operatii speciale asupra bazei de date, cum ar fi oprirea si pornirea acesteia, accesul la tabelele de sistem, nu oricine poate avea acces la un astfel de cont de utilizator.

Pentru autentificarea administratorilor se poate alege fie autentificarea la nivel de sistem de operare, fie autentificarea prin fisierele de parola. Alegerea unei metode sau alta, difera in functie de modul in care se va realiza administrarea bazei de date: local sau remote, folosind o masina client pentru administrarea mai multor baze de date. Optiunile sunt prezentate in figura urmatoare:

Fig. 2.3 -Alegerea modului de autentificare a administratorilor bazei de date

Autentificarea la nivelul sistemului de operare pentru administratori presupune stabilirea unui grup la nivel de SO, acordarea privilegiilor necesare administratorilor bazei de date gupului respectiv si adaugarea la grupul respectiv a numelor persoanelor autorizate sa dispuna de privilegiile respective

Autentificarea prin fisiere parola presupune ca baza de date sa tina evidenta conturilor de utilizator carora le-au fost acordate privilegiile SYSDBA si SYSOPER care ofera urmatoarele drepturi:

SYSOPER permite administratorilor sa efectueze urmatoarele actiuni: STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG si RECOVER.

SYSDBA are toate privilegiile de sistem cu optiunea ADMIN OPTION, inclusiv privilegiul de sistem SYSOPER si permite CREATE DATABASE si posibilitatea de a realiza o recuperare a datelor pana la o data specificata.

Pentru a se putea conecta cu aceste privilegii, un utilizator cu drepturi de administrator trebuie sa specifice in sintaxa de conectare AS SYSDBA sau AS SYSOPER. Aceasta obligativitate este impusa de valoarea FALSE a parametrului 07_DICTIONARY_ACCESSIBILITY care limiteaza accesul la dictionarul de date al bazei doar la cei autorizati explicit in acest sens.

Versiunea Oracle 10g imbunatateste autentificarea prin fisierele parola facand-o mai usor de utilizat:

Acest tip de autentificare este setata in mod implicit si devine activa imediat ce se creaza un fisier parola folosind functionalitatea ORAPWD

Un fisier parola ce contine utilizatori cu privilegii SYSDBA si SYSOPER poate fi folosit de mai multe baze de date. Pentru aceasta parametrul REMOTE_LOGIN_PASSWORDFILE aflat in fisierul init.ora trebuie sa primeasca valoarea SHARED. Valoarea implicita si recomandata pentru acest fisier este EXCLUSIVE.





Politica de confidentialitate


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