Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Microsoft SQL Server a cunoscut o crestere continua pe piata in ultimii ani. Mai multi factori au contribuit la aceasta crestere. Companiile care dezvolta software au ales Microsoft SQL Server pentru stocarea datelor, pentru ca SQL Server este usor de instalat si de intretinut, si se integreaza cu aplicatiile de pe internet. In consecinta, organizatiile folosesc SQL Server 2000, si in multe cazuri a rezultatele administratorilor de baze de date in SQL Server inainte de a avea o buna cunostinta a produsului si a setului de caracteristici.
SQL Server este uso r neinteles si adesea implementat ineficient. Acest capitol introduce principalele subiecte care sunt adresate in restul lucrarii. Dupa citirea ei veti intelege componentele esentiale ale Securitatii SQL Server. Acest capitol vom vorbi despre urmatoarele subiecte:
Aspecte generale ale securitatii;
Instalarea securitatii;
Aplicarea securitatii;
Managementul datelor distribuite;
Audit (Verificare - Control).
Administrarea securitatii pentru Microsoft SQL Server, daca este corect conceput, ar trebui usor intretinut. Ca majoritatea aspectelor a unei baze de date, conceperea sistemului este cel mai important. Managementul securitatii va fi minim daca timpul amplu este folosit in faza de concepere. Faza de concepere este folosita pentru concepere unei baze de date si arhitectura aplicatiei inainte ca aplicatia sa fie dezvoltata.
Securitatea ar trebui luata prima in consideratie in conceperea unei baze de date dar adesea securitatea este un adaos. Ca un rezultat costurile de intretinere a administrarii securitatii pot creste. Conceperea efectiva a unei baze de date este cea mai importanta pentru dezvoltare si mentinere de succes a aplicatiei.
Multe sisteme deja existente sunt cumparate de la diverse firme sau create inainte ca securitatea sa fie pe deplin inteleasa. Cand securitatea este un adaos, ea poate usor sa devina un punct de frustrare pentru orice administrator de baze.
Aceasta lucrare raspunde la intrebarile pe care le poti avea in timpul conceperii unei baze de date ce suporta un model SQL Server. Este necesar de a imparti securitatea in patru mari domenii cum urmeaza:
Analiza cerintelor;
Furnizarea accesului la SQL Server;
Accesarea rapida a bazelor de date pe un server SQL;
Furnizarea accesului la obiectele dintr-o baza de date SQL Server.
Odata ce cunosti aceste zone este esential sa cunosti bazele securitatii.
Prima cale de concepere a unei solutii de securitate este intelegerea necesitatilor organizationale ale firmei. Trebuiesc cunoscute clar urmatoarele puncte pentru implementarea efectiva a securitatii:
Natura datelor;
Cerintele de auditare existente:
Cine va administra serverul.
Diferite baze de date pot avea exceptii de securitate complet diferite. Este important sa raspundem la cateva intrebari legate de baza de date si cerintele firmei in legatura cu respectivele date.
Cine cere accesul la date?
In adresarea primei intrebari poti determina nivelul complexitatii conceperii securitatii si managementul permisiunilor. Este important sa evaluam costurile de administrare fata de cerintele securitatii. Costurile implementarii securitatii si administrarii cresc odata cu cerintelor securitatii. Intai analizeaza cerintele accesului la date si poti incepe concepere securitatii SQL Server dupa ce ai clar cerintele clientilor asupra accesului la date.
Cate date i-ti poti permite sa pierzi?
Firesc, nimeni nu vrea sa piarda date, dar cantitatea de date pe care ti-o poti permite sa o pierzi variaza in functie de aplicatie. Trebuie sa analizam cat de importante sunt datele, si daca este acceptabil sa faci salva in fiecare zii, ca in cazul in care se pierd datele dintr-o zii sa le poti restaura cu o zii in urma. In unele cazuri raspunsul este da, pe cand in unele cazuri este nu. Trebuie sa determini cate date i-ti poti permite sa pierzi. Dupa ce aceasta intrebare primeste raspuns, poti stii cat de necesara va fi conceptul securitatii.
Poate fi necesar sa urmarim evenimentele sau aplicatiile care acceseaza SQL Server. Cand analizam cerintele, este necesar sa determinam care eveniment trebuie audit. Dupa ce aceste evenimente sunt alese, este in general o buna idee sa le organizam dupa prioritate. Dupa ce evenimentele sunt catalogate, este posibil sa determinam care cerinta a auditului trebuie luata in considerare in conceperea sistemului si care eveniment poate fi scoasa daca conceperea devine pre complexa sau costurile de administrare devin prea mari.
Determinand cerintele auditului este o combinatie de intelegere a SQL Server si intelegerea politicii firmei ce inconjoara aplicatia. Pentru a completa procesul de determinare a cerintelor auditului, este de altfel necesar sa scoatem cerintele firmei care afecteaza aplicatia. Este important sa fie clar care evenimente au nevoie sa fie audite inainte de continuarea conceperii sistemului de securitate. Dupa ce aplicatia este conceputa si implementata, poate fi mult mai greu de implementat strategiile auditului deoarece multe dintre acestea pot afecta conceptul general al bazei de date.
Este normal pentru o singura organizatie sa aiba instante multiple ale SQL Server instalate. O parte din aceste instante pot fi pe acelasi server, in timp ce altele pot fi instalate pe servere separate. Determinarea persoanei care este responsabila pentru administrarea serverului este critica pentru crearea infrastructurii securitatii serverului.
Este in general o buna idee sa minimizam numarul administratorilor de sistem pentru o singura instanta a SQL Serverului. De obicei, cu cat numarul administratorilor de sistem scade, contabilizarea individuala a actiunilor creste. Nu este usor de urmarit cine este responsabil pentru o anumita actiune. Este importanta documentarea individuala a persoanelor ce administreaza fiecare server, aceasta documentatie trebuie distribuita prin toata firma. Fiecare persoana din organizatia respectiva care este afectata de SQL Server trebuie sa stie clar cine este responsabil de administrare. Aceasta atentionare va avea ca rezultat cresterea eficientei si scaderea riscului de operatiuni gresite. Sa fie clar cine va face o actiune si cum aceste actiuni vor fi facute.
Politica firmei ar trebui considerata. Administrarea bazei de date este rolul celui care a dezvoltat aplicatia sau a membrilor din departamentul IT? In realitate administratorul bazei de date este undeva la jumatate. Administratorul bazei de date ar trebui sa fie o persoana care intelege Windows 2000 si SQL Server 2000 de la un punct de placare administrativ. Administratorul bazei cu cat stie mai multe despre implementarea aplicatiei, cu atat vor fi mai usoare problemele. Ca o concluzie putem spune ca documentand orice persoana din organizatie care interactioneaza cu SQL Server, cu atat managementul securitatii va fi mai simplu.
Un administrator al bazei de date poate permite accesul la SQL Server prin autentificarea windows sau autentificarea SQL server. Un utilizator are acces la SQL server prin logare. Aceasta logare poate fi garantata de un cont windows deja existent sau creat ca un cont sql server fara nici o legatura cu un cont al sistemului de operare. Amandoua alternativele vor fi discutate dupa cum urmeaza.
Autentificarea windows este in general preferata deoarece ofera un nivel optim de integrare cu Windows 2000. Utilizatorii sau grupurile de utilizatori ai sistemului de operare windows au acces sau sunt respinsi de SQL Server. Windows 2000 autentifica utilizatorul cand acesta se logheaza in retea. Deoarece parola este autentificata la logarea in retea, SQL Server nu mai are nevoie sa verifice parola utilizatorului. Autentificarea windows prezinta urmatoarele avantaje asupra autentificarii SQL Server:
Autentificarea windows poate garanta accesul utilizatorilor catre SQL Server;
Utilizatorii sunt autentificati de windows 2000, rezultand o autentificare sigura in retea;
Utilizatorii pot fii capabili sa foloseasca acelasi utilizator atat pentru retea cat si pentru accesul la baza de date;
Evenimentele audite pot fi urmarite catre un utilizator al retelei.
Autentificarea SQL Server este preferata in urmatoarele cazuri:
Utilizatorul nu este logat intr-un domeniu windows;
Domeniul sistemului de operare nu este ;
Reteaua nu are un domeniu Windows 2000;
Nu este usor sa contabilizezi toti utilizatorii de pe internet pe domeniul windows. Tu preferi sa ii contabilizezi normal din administrarea domeniului windows.
Cand creezi un utilizator SQL, administratorul bazei de date trebuie sa asigure un username si o parola pentru fiecare utilizator care are nevoie sa acceseze SQL Server. Acesti utilizatori sunt conduse de SQL Server si nu au nici o legatura cu conturile de utilizator ale sistemului de utilizare.
Dupa ce ai creat un mijloc pentru conectarea la SQL Server, este necesar sa imparti strategia catre oricine care va accesa baza de date pe serverul tau. Fiecare instanta SQL Server va avea multiple baze de date. Sistemul urmator de baze de date exista pe fiecare instanta a SQL Server:
Baza de date master contine configuratiile serverului pe fiecare nivel. Toate logarile, si configurarile serverului sunt stocate in aceasta baza de date. Privitor la datele din orice baza de date individuala, aceasta baza de date este cea mai critica functionarii sistemului;
Baza de date MSDB stocheaza toate informatiile legate de automatizarea serverului sql. Toate alertele de sistem si operatorii desemnati cu anuntarea evenimentelor sunt stocati in aceasta baza de date. Pierderea acestei baze de date nu previne accesul catre ea, va stopa automat toate procesele;
Baza de date model este folosita ca o imagine pentru toate noile bazele de date create. Are marime minima, si orice obiect pe care vrei sa-l incluzi in toate viitoarele baze de date trebuie adaugat si aici;
Baza de date temporara contine toate tabelele temporare procedurile stocate. Este de altfel folosita pentru stocarea temporara ca de exemplu tabelele de lucru folosite de SQL Server;
Pubs si Northwind sunt baze de date folosite pentru testarea SQL Server si nu sunt critice sistemului.
In adaugare la aceste baze de date, avem baza de date a utilizatorului folosita pentru aplicatiile organizatiei. Fiecare baza de date trebuie sa aiba un cont de utilizator pentru fiecare acces individual al bazei de date. Acest cont de utilizator este o identificare individuala cat timp folosesti baza de date. Standard, utilizatorul bazei de date se va potrivi cu numele utilizatorului pe SQL Server. Oricum este posibil sa ai utilizatorul bazei de date diferit de numele utilizatorului de SQL Server.
Utilizatorii pot fi plasati in roluri la nivelul bazei de date. Un rol este similar cu un grup in Windows 2000. Un rol inseamna gruparea unui set de utilizatori pentru a minimiza supraincarcarea managementului permisiilor. Ca administrator al unei baze de date, vei avea nevoia sa determini extensia la care planifici sa folosesti rolurile. De exemplu daca garantezi accesul grupurilor ce utilizeaza Windows 2000 accesul la SQL Server, utilizatorii se vor grupa si nu poate fi necesar un numar asa de mare de roluri. Pe
Copyright © 2024 - Toate drepturile rezervate