Configurarea Obiectelor din Active Directory Folosind Php

Lucrare de licențǎ

Configurarea obiectelor din Active Directory folosind PHP

Cuprins

Introducere

Serviciul de directoare Active Directory

Lightweight Directory Access Protocol

2. Fundamente Teoretice

2.1 Construirea unei baze de date

2.2 Construirea unei ierarhii

2.3 Obiecte în Active Directory

2.4 Introducere in DNS

2.5 Construirea structurii Active Directory

2.6 Administrarea serviciilor Active Directory

2.7 Gestionarea serverelor

3. Proiectarea si implementarea aplicației

3.1 Fișiere aplicație

3.2 Instrucțiuni de utilizare

3.3 Modul de realizarea a aplicatiei

3.4 Testarea aplicatiei

4. Concluzii

Lista abrevieri

LDAP Lightweight Directory Access Protocol

DNS Domain Name System

TCP/IP Transfer Control Protocol/Internet Protocol

TLS Transport Layer Security

DACL Discretionary Access Control List

FQDN Fully Qualified Domain Name

TTL Time To Leave

SACL System Acces Control List

RID Relative Identifier

PDC Primary Domain Controller

Capitolul 1

Introducere

Această licență tratează implementarea și administrarea unei infrastructuri de servicii de catalog sub Microsoft Windows 2003 reprezentate de grupările conceptuale sau de unitățile de obiective de testare. Obiectivele reflectă modul de lucru în urmatoarele domenii:

Instalarea, configurarea și depanarea Active Directory.

Instalarea, configurarea, gestionarea, monitorizarea și depanarea DNS pentru Active Directory

Instalarea, configurarea, gestionarea, monitorizarea, optimizarea LDAP

Gestionarea, monitorizarea și optimizarea componentelor LDAP

Configurarea, gestionarea, monitorizarea și depanarea soluțiilor de securitate Active Directory și LDAP

1.1 Serviciul de directoare Active Directory

Active Directory este un serviciu de catalog folosit în Windows 2003. Prezenta lucrare începe cu o examinare a ceea ce face un serviciu de catalog și apoi a modului în care Active Directory indeplinește aceste funcții.

Figura 1.1: Structura Active Directory

În acest capitol sunt tratate noțiunile fundamentale, informațiile care trebuie cunoscute înainte de a studia detaliile. Capitolul începe cu o discuție despre serviciile de catalog în general și se bazează pe istoria sistemelor anterioare. Apoi, examinează serviciile de catalog pentru ceea ce sunt, adică o bază de date. Sunt discutate elementele fundamantale ale unei baze de date și modul în care este construit serviciul de catalog. Apoi, capitolul trece la obiectele din Active Directory și ofera o prezentare a obiectelor. În final, informațiile sunt asamblate, pentru a avea o intelegere totală și completă a modului de funcționare a sistemului.

Active Directory este un serviciu de catalog. Catalogul este, de fapt, lista cu utilizatorii care au permisiunea de a se conecta la un sistem. De asemenea, această listă permite specificarea fiecărui utilizator care are permisiunea să folosească anumite resurse. Serviciul de catalog este programul care rulează în conjuncție cu serviciul server pentru a stabili numele de utilizator. Acest serviciu, în esență, furnizează autentificarea, iar serviciul server furnizează accesul efectiv la resursă.

În concluzie, un catalog este o listă de obiecte dintr-o rețea, pe care utilizatorii trebuie să le gasească sau care sunt necesare pentru autentificarea utilizatorilor. Partea de „serviciu” a unui serviciu de catalog este folosită pentru a autentifica un utilizator la catalog sau de a raspunde la interogări ale utilizatorilor despre obiecte.

Active Directory a fost construit pe baza tehnologiei care l-a precedat. Microsoft avea deja un sistem functional care folosea modelul de domeniu. Când au promovat sistemul la Windows NT, ei au adăugat posibilitatea de a lega domeniile la un loc folosind relațiile de încredere. Aceasta permite controllerelor de domeniu să fie la curent cu domeniile altele decât cel propriu. Astfel, dacă ei trebuie să valideze un utilizator, acum pot transfera această cerere controllerrelor de domeniu dintr-un alt domeniu. Aceasta a permis proiectanților de rețele să treacă dincolo de domeniul elementar, dar a complicat autentificarea și a mărit volumul activităților de administrare, deoarece era necesară și gestionarea relațiilor de încredere.

Modelul de domeniu în sine era stabil și functiona bine. Utilizatorii erau capabili de a deschide sesiuni de lucru și de a funcționa în rețea fără multe probleme. Dificultatea cu serviciile de catalog Windows NT începea numai când trebuia trecut dincolo de de domeniul unic. De fiecare dată când un utilizator folosea o resursă dintr-un alt domeniu, acestea generau trafic suplimentar. Acestea măreau traficul când controllerele de domeniu intrețineau relațiile de încredere. Aceasta însemna o cantitate mare de trafic atunci când se stabileau permisiunile, deoarece întregul catalog trebuia să fie citit de domeniile de la distanță de fiecare dată când i se atribuia o permisiune unui utilizator din acel domeniu. Deci, relațiile de încredere s-au dovedit a fi realizabile, dar oarecum stânjenitoare. Pentru ca relațiile de încredere să fie o soluție cu adevarat realizabilă, trebuia să se intâmple doua lucruri:

O listă globala a catalogului fiecărui domeniu trebuia să fie disponibilă la fiecare domeniu.

Era necesar un sistem pentru gestionarea automată a relațiilor de încredere.

Prima problema pe care o furnizează această schemă este aceea că, prin furnizarea unei liste cu toate obiectele din catalog din toate domeniile unei instituții, se crează o mare cantitate de trafic de fundal. De exemplu, listarea întregului catalog care descrie toate obiectele dintr-o instituție cu 80000 de utilizatori și cu un număr mai mare de calculatoare ar necesita un server foarte puternic și o cantitate mare de trafic pentru a replica informația. XXXXXXXXXX diacritice

1.2 Lightweight Directory Access Protocol

LDAP – Lightweight Directory Access Protocol, sau LDAP este un protocol de aplicatie cu care se pot face interogari si modificari ale serviciilor directoare care comunica prin TCP/IP.

Figura 1.2: Arhitectura LDAP

Un director este un set de obiecte cu atribute similare organizate intr-o structura logica ierarhizata. Cel mai utilizat exemplu este directorul telefoane, in care se afla o serie de nume organizate alfabetic, fiecare nume avand o adresa si un numar de telefon atasat. Datorita arhitecturii sale LDAP este de multe ori folosit de catre alte servicii pentru autentificare, in ciuda problemelor de securitate care pot aparea.

Un arbore LDAP director reflecta uneori granitele din punct de vedere politic, geografic sau organizational in functie de modelul ales.

Un client porneste o sesiune in LDAP conectandu-se la un server de LDAP, prin portul obisnuit 389. Apoi clientul trimite o cerere pentru efectuarea unei operatii la server, iar acesta trimite inapoi un raspuns. Clientul trebuie sa astepte un raspuns de la server ca sa faca o noua cerere, cu unele exceptii, serverul putand sa trimita raspunsul la cererile clientului intr-o ordine aleatoare.

Clientul poate efectua urmatoarele operatii:

Bind – autentificare si specificarea versiunii protocolului LDAP

Start TLS – foloseste extensia LDAPv3 Transport Layer Security (TLS) pentru o conexiune securizata

Cautare – cautarea unor intrari in serviciul director

Comparare – testeaza daca un anumit obiect din serviciul director are o anumita valoare

Adaugare

Stergere

Modificare

Modificarea unui nume diferit (DN) – mutare sau modificare a unei intrari

Abandon – anularea unei cereri

Unbind – inchiderea conexiunii

Structura directoare a LDAP:

Director – o retea de intrari

Intrari – constituie un set de atribute

Atributele – acestea au un nume si unul sau mai multe valori.Atributele sunt definite intr-o schema.

Identificator – fiecare intrare are un identificator unic. Acesta este DN (Distinguished Name).

Asa arata o intrare in LDAP:

dn: cn=John Doe,dc=example,dc=com

cn: John Doe

givenName: John

sn: Doe

telephoneNumber: +1 888 555 6789

telephoneNumber: +1 888 555 1232

mail: [anonimizat]

manager: cn=Barbara Doe,dc=example,dc=com

objectClass: inetOrgPerson

objectClass: organizationalPerson

objectClass: person

objectClass: top

2. Fundamente Teoretice

Active Directory este un serviciu de catalog. Catalogul este, de fapt, lista cu utilizatorii care au permisiunea de a se conecta la un sistem. De asemenea, aceasta lista permite specificarea fiecarui utilizator care au permisiunea sa foloseasca anumite resurse. Serviciul de catalog este programul care ruleaza in conjunctie cu serviciul server pentru a stabili numele de utilizator. Acest serviciu, in esenta, furnizeaza autentificarea, iar serviciul server furnizeaza accesul efectiv la resura.

2.1 Construirea unei baze de date

O baza de date este o lista. Diferenta dintre o lista si o baza de date este indoita. Mai intai, o baza de date este stocata intr-un calculator. In al doilea rand, o baza de date a avut o structura impusa.

Exemplu: O lista a utilizatorilor din retea.

Tabela 2.1: Lista unor utilizatori din rețea

Identificatorul de utilizator este un numar intern, folosit de catre sistem pentru a identifica utilizatorul din motive de securitate. Acesta este cunoscut ca identificatorul de securitate (SID) in Windows NT si Windows 2003. SID-urile reale sunt cu mult mai lungi. In afara de SID, numele de deschidere a sesiunii de lucru, numele, prenumele si domeniul sunt toate atribute folosite pentru a descrie entitatea – toate obiectele au un nume comun, care trebuie sa fie unic, intocmai ca si SID-ul. Aceasta lista, intr-o baza de date, ar fi un tabel; atributele, care sunt coloanele, definesc tabelul. In ceea ce priveste Active Directory, acest tabel mai defineste o clasa de obiecte, deoarece un tabel stocheaza toate entitatile unei singure clase.

Pentru a reduce numarul de situatii in care va trebui creata aceeasi coloana, Microsoft imparte atributele si clasele. Atributele sunt create primele, iar apoi clasele sunt construite din atributele disponibile. Ca si in alte baze de date, informatiile se pot stoca sub forma de cuvinte, de caractere sau sub forma de da/nu logic. Clasele stocheaza date ca tip de atribut.

De asemenea, se poate aduga o alta coloana sau un alt atribut la definitia de clasa. Prin executarea acestor modificari, se extind informatiile stocate in Active Directory. Daca trebuie retinut un numar de angajat pentru fiecare angajat, de exemplu, se poate aduga un atribut si se poate atasa la tabelul cu utilizatori. Daca trebuie pastrat numarul de inventar al unui echipament, se poate aduga aceasta informatie. Ceea ce avem este o arhitectura extensibila.

O arhitectura extensibila furnizeaza o arhitectura in care informatia stocata nu este limitata de producator, ci poate fi adugata la cea existenta, dupa necesitati. Capacitatea de a adauga atribute si clase conform necesitatilor ar face imposibila existenta unei liste a catalogului fiecarui domeniu, deoarece fiecare lista ar fi diferita. De fapt, fiecare domeniu din companie va avea exact aceeasi schema. Aceasta se realizeaza prin utilizarea unui master de schema. Masterul de schema este unicul sistem care detine o copie a schemei in care se poate scrie.

Deoarece ar fi nepractic sa urmarim fiecare atribut al tuturor obiectelor din companie, Active Directory permite marcarea anumitor atribute (coloane) pentru a fi copiate in catalogul global. Catalogul global este folosit pentru a furniza lista obiectelor din catalogul fiecarui domeniu tuturor utilizatorilor din companie. Deoarece se poate indica lui Active Directory ce atribute sa includa in ctalogul global, se poate controla cantitatea de date care este mutata intre serverele de catalog global. O arhitectura extensibila furnizeaza o arhitectura in care informatia care se doreste stocata nu este limitata de producator, ci poate fi adugata la cea existenta, dupa necesitati.

In acest moment, avem pentru fiecare domeniu un catalog. Anumite atribute din fieca Catalogul global este folosit pentru a furniza lista obiectelor din catalogul fiecarui domeniu tuturor utilizatorilor din companie. Deoarece se poate indica lui Active Directory ce atribute sa includa in ctalogul global, se poate controla cantitatea de date care este mutata intre serverele de catalog global. O arhitectura extensibila furnizeaza o arhitectura in care informatia care se doreste stocata nu este limitata de producator, ci poate fi adugata la cea existenta, dupa necesitati.

In acest moment, avem pentru fiecare domeniu un catalog. Anumite atribute din fiecare domeniu vor fi copiate intr-un catalog global, care este apoi partajat intre domenii. Acesta tot nu ajuta la rezolvarea problemei relatiilor de incredere si nu explica structura efectiva a companiei.

2.2 Construirea unei ierarhii

Modelul de domeniu este un model relativ bun pentru o retea de dimensiune mica spre medie. Problemele intalnite tindeau sa aiba legaturi cu companiile mai mari, care trebuiau sa se extinda dincolo de un singur domeniu. Problema era legata de localizarea resurselor intr-o colectie, de domenii in esenta nestructurata si de intretinerea relatiilor de incredere. Primul lucru care ar putea fi facut ar fi extinderea modelului de domeniu, astfel incat un domeniu sa poata contine suficiente obiecte pentru a elimina necesitatea de a trece la domenii multiple. Aceasta operatie a fost efectuata, intr-o anume masura. Noile domenii vor fi capabile de a retine mult mai multe obiecte decat domeniile Windows NT existente. Totusi, domeniul are un rol. Domeniile se comporta ca margini de securitate si de replicare.

Deci, daca domeniile vor continua sa existe, urmatorul lucru cel mai bun de facut ar fi de a le impune o oarecare structura. Aceasta ar face mai usoara gasirea obiectelor si ar ajuta la replicarea intre domenii pentru articole cum este catalogul global. In loc de a reinventa roata, Microsoft a decis sa imprumute tehnologia existenta pentru a furniza coloana vertebrala, metoda de a lega aceste domenii la un loc.

DNS, sistemul de nume de domenii, este probabil cel mai mare exemplu de baza de date ierarhica de pe planeta. DNS functioneaza declarand intregul Internet ca fiind un spatiu de nume contiguu. Aceasta furnizeaza un punct de plecare, care este cunoscut pe Internet ca fiind domeniul radacina. Acesta este invizibil atunci cand se introduce o adresa, dar este considerat ca fiind puctul final dintr-o adresa de sit. Domeniul radacina este apoi divizat in sectiuni mai mici. In Internet, acestea se numesc domenii de nivelul cel mai inalt. La randul lor, domeniile de nivelul cel mai inalt se divid in domenii de nivelul doi. De acolo, procesul poate continua la infinit. Cand este cautat un sit pe Internet, cererea se duce la domeniul radacina. Deoarece domeniul radacina nu gazduieste numele tuturor serverelor, acesta va redirectiona interogarea catre un server responsabil cu spatiul de nume care este cautat. In cazul in care , de exemplu, se cauta www.internet.com, serverul de nivel radacina isi va da seama ca se cauta un server din domeniul .com si va trimte cererea la serverul domeniului .com. Cererea va fi redirectionata spre responsabil cu acel spatiu de nume. De acolo, serverul .com va sesiza ca se cauta un calculator din spatiul de nume internet.com si va redirectiona cererea spre serverul care se ocupa de acea parte a spatiului de nume. Acum solicitarea se poate face direct serverului responsabil cu spatiul de nume internet.com. Mai departe, daca unul dintre atributele cere se doresc a fi incluse in catalogul global este numele particular al oricarui obiect, se poate gasi cu usurinta orice obiect, situat oriunde in companie. Exact acest lucru a facut Microsoft cand a construit Active Directory.

Cele trei lucruri importante care pot pune Active Directory in functiune sunt:

O schema comuna.

Un catalog global comun

O configuratie comuna.

2.3 Obiecte in Active Directory

Obiectele care fac parte din Active Directory sunt: utilizatori, calculatoare, grupuri, unitati de organizare si situri. In esenta orice este un obiect. Windows 2003 trateaza totul ca pe un obiect, mai ales pentru a simplifica securitatea. Cea mai simpla modalitate de a vedea un obiect este sub forma unui container. Un obiect fisier contine date. Un obiect grup contine o lista cu membri. Unele obiecte, ca imprimantele sau utilizatorii, contin un loc, nu o entitate tangibila; asemenea obiecte sunt cunoscute sub numele de obiecte la nivel de frunza.

Toate obiectele vor avea atasate urmatoarele:

Metode. Toate obiectele vor avea in comun unele metode primare, cum ar fi crearea obiectului, deschiderea obiectului si stergerea obiectului. De asemenea, majoritatea obiectelor au metode care le sunt caracteristice.

Proprietati. Toate obiectele au proprietati sau atribute care le deosebesc de celelalte obiecte. Aceste atribute sunt lucrurile care diferentiaza obiectele unul fata de celalalt. In caz minimal, obiectele au un nume si un tip; dincolo de aceasta, proprietatile sunt specifice unui tip, cu un mare numar de atribute comune intre tipuri similare.

Colectii. Cand o proprietate sau un atribut poate avea mai mult de o singura valoare, aceste valori sunt stocate sub forma de colectie, un vector de valori. Numarul de membri ai unei colectii, de regula, nu este cunoscut.

In general, aceste metode sunt cunoscute sub numele de creare (Create), actualizare (Update) si stergere (Delete). Se pot folosi aceleasi verbe pentru orice obiect din sistemul de operare, inclusiv pentru fisiere, imprimante, calculatoare si altele. Acesta este elementul care face teribil de eficienta utilizarea obiectelor. Numarul de verbe (actiuni) pe care calculatorul trebuie sa le inteleaga este redus in mare masura si se poate crea rutine generale pentru a executa aceste functii. Aceasta face programele mai usor de scris, dar faciliteaza si implementarea securitatii, deoarece la toate obiectele accesul se obtine in acelasi mod.

Desigur, proprietatile sunt legate de coloanele din tabel. Exista proprietati evidente, precum numele obiectului si tipul obiectului. Alte proprietati sunt obligatorii, cum ar fi proprietarul obiectului. De fapt, colectiile sunt un camp cu valori multiple, cu alte cuvinte un camp unde se pot introduce numeroase valori diferite, cum ar fi „mare” sau „albastru” pentru a descrie cerul. Din punct de vedere tehnic, nu acesta este modul de implementare, dar este un bun termen de comparatie.

O colectie cheie care este plasata la fiecare obiect este lista de control al accesului discretionar (DACL). In acest loc modelul de securitate devine simplu si puternic. Deoarece toate obiectele din sistemul de operare sunt accesibile in acelasi mod si toate obiectele au o lista DACL, a fost simplu pentru Microsoft sa creeze un model de securitate de referinta. Totusi, pentru ca acest model sa functioneze, trebuie sa se stie daca orice proces, utilizator, serviciu sau program care va incerca sa obtina accesul la un obiect are un context de securitate.

Calculatoare

Obiectul calculator este un calculator de companie. Acest obiect este folosit in fundal pentru a abilita gruparea calculatoarelor la un loc, din motive de gestionare. De asemenea, contul permite calculatorului sa autentifice deschiderea sesiunilor de lucru de catre utilizatori, deoarece clculatorul va sti ce domeniu sa foloseasca pentru autentificare.

Utilizatori

Utilizatorii sunt, evident, o mare parte a retelei; fara ei. Reteaua ar fi lipsita de sens (desi mai rapida). Un obiect utilizator contine contul utilizatorului, acesta fiind cel care va permite utilizatorului sa se conecteze la domeniu.

Grupuri

Un obiect (cont) de grup va contine o lista de utilizatori care apartin grupului. De asemenea, in Windows 2003, va fi capabil sa contina alte grupuri. Aceste obiecte mai sunt folosite cand se plaseaza permisiuni asupra altor obiecte astfel incat, in loc de a aduga fiecare cont de utiliator, se poate lucra cu un grup mai mare de utilizatori intr-o singura etapa. Ca atare, grupurile sunt de asemenea folosite pentru a aduna la un loc un numar de conturi de utilizator intr-un singur obiect.

Dosar partajat

Ca si imprimantele, partajarile pot fi de asemenea publicate in Active Directory. Aceasta, va fi folosita ce precadere pentru a permite utilizatorilor sa caute partajarea. Calculatorul care gazduieste partajarea va fi responsabil cu verificarea permisiunilor obiectului atunci cand se obtine accesul la partajare.

2.4 Introducere in DNS

Probabil ca aspectul cel mai important al Active Directory este natura sa ierarhica. Este ceea ce abiliteaza Active Directory sa utilizeze conceptul de spatiu de nume, permitand stocarea si reprezentarea unui numar aproape infinit de obiecte. Aceasta permite unei companii sa aiba un singur domeniu radacina si apoi sa divizeze acest domeniu in sectiuni tot mai bine definite.

Aproape toate companiile si-au divizat organizarea in mai multe sectiuni diferite, dupa functie. De exemplu, multe companii au sectiuni de conducere executiva, contabilitate, resurse umane, vanzari, productie si marketing.

Aceasta structura construieste o ierarhie avand directorul executiv in partea superioara si celelalte sectiuni subordonate acestuia. Mai departe, daca se examineaza oricare dintre aceste sectiuni – contabilitatea, de exemplu – se poate diviza aceasta sectiune, ajungand la un vicepresedinte, un director sau un supervizor care coordoneaza contabilitatea furnizorilor si contabilitatea clientilor. Acest lucru duce la un alt nivel de ierarhie (vezi figura 2.1).

Figura 2.1: Diagrama de organizare

Aceasta institutie poate diviza in continuare regiuni cum sunt vanzarile si marketingul in domeniile regionale. Alternativ, intreaga institutie poate fi divizata in locatii geografice si apoi in functii pentru fiecare locatie. Saceasta poate fi necesar daca o companie se gaseste in numeroasele tari diferite, iar legile diferitelor tari impun ca personalul local sa indeplineasca functii legale de contabilitate sau expeditie.

Intr-adevar, sunt tot atatea structuri de firma diferite cate corporatii exista. Ceea ce este important, insa, este ca aproape toate acestea folosesc o structura ierarhica pentru a organiza modul in care functioneaza compania, indiferent daca este o companie traditionala, cu mai multe niveluri si cai ierarhice mai stricte sau daca este o institutie mai moderna, cu mai putine niveluri si cai ierarhice mai putin stricte.

Dat fiind ca institutiile au intotdeauna niveluri, formale sau ed alta natura, este esential ca un serviciu de catalog sa dispuna de o mdalitate de a include aceste niveluri in structura sa. Aceasta structura sa nastere conceptului de spatiu nume. Prin adaugarea posibilitatii de a gestiona nu doar numele de utilizator, dar si spatiul de nume (sau domeniu) caruia ii aprtine utilizatorul intr-o maniera ierarhica, Active Directory permite identificarea in mod unic a unui utilizator prin numele sau particular.

Introducere in DNS

Sistemul de nume de domenii este compus din trei parti:

Servere de nume. Acestea sunt serverele care furnizeaza adresa si alte informatii despre calculatoarele care se afla in Intranet sau in intranet.

Rezolvitor. Un rezolvitor este un mic program incorporat in sistemul de operare sau intr-un anumit pachet, care solicita adresa IP a unui nume de gazda de la serverul de nume.

Spatiul de nume. Ca si diagrama de organizare care porneste de sus si se divide in jos, spatiul de nume incepe la o radacina si divide in domenii ierarhia companiei. In Internet, spatiulde nume include un domeniu radacina si toate domeniile care exista sub acesta.

De la numele complet de domeniu (FQDN) www.internet.com. De la acest nume, se poate determina serverele care vor fi implicate in gestionarea lui. Utilizatorul citeste un FQDN de la serverul specific la care trebuie sa se conecteze, situat in stanga, spre domeniul radacina pentru Internet, din dreapta. Fiecare parte a numelui este separata printr-un punct (.) si mai exista un punct posterior care reprezinta domeniul radacina, punct care nu este introdus, in mod normal. Pentru a continua, se poate imparti domeniul internet in diferite divizii sau dupa locatia geografica.

Niveluri intr-un FQDN

Aceste parti ale unui FQDN reprezinta diferite niveluri in ierarhia spatiului de nume. Exemplul www.internet.com ne spune ca din doeniul radacina se ramifica un domeniu com, apoi ca in domeniul com exista un domeniu internet si ca in acel domeniu exista un server denumit www.

Tabela 2.2: Părți componente ale unui FQDN (Fully Qualified Domain Name)

Diferite organisme din Internet gestioneaza domeniul radacina si domeniile de cel mai inalt nivel. Exista un singur domeniu radacina, iar aceasta actioneaza ca punct de plecare pentru toate numele; el reprezinta punctul de pornire pentru spatiul de nume din Internet.

Exista numeroase domenii de cel mai inalt nivel, cum sunt .com, .edu si .gov, care sunt destinate a fi folosite numai pe teritoriul Statelor Unite. Aceasta nu se intampla intotdeauna si multe companii straine s-au inregistrat drept .com, .org sau .net. In alte tari, domeniul de cel mai inalt nivel este codul de tara, precum .ca sau .au.

Al doilea nivel este acolo unde ierarhia se aplatizeaza considerabil. Aici este locul unde companiile, istitutiile sau persoanele fizice pot incepe sa-si inregistreze numele. In exemplul anterior, internet s-a inregistrat la domeniul com. Este esential sa te inregistrzi la domeniul situat deasupra ta, domeniul parinte; in caz contrar, procesul de rezolutie discutat in sectiunea urmatoare „Rezolutia unui FQDN” nu va functiona.

Cand un utilizator isi inregistreaza numele, este responsabil cu asigurarea rezolutiilor de nume pentru acea parte a spatiului de nume. Ca atare, trebuie creat unul sau mai multe servere de nume DNS. Daca se intregistreaza un domeniu in Internet, in general se cere furnizarea a doua servere de nume. Argumentul teoretic pentru aceasta cerere este ca minimum unul va fi intotdeauna disponibil. Dupa ce a fost creat serverul, se pot adauga intrari pentru domeniu intr-un fisier de zona.

Orice server care se doreste a fi disponibil pe Internet trebuie sa aiba o intrare intr-un fisier de zona. Un sever de nume are autoritatea pentru o zona daca gazduieste fisierul de zona folosit pentru a executa rezolutia interogarilor DNS pentru acea zona. Acest fapt poate fi oarecum confuz, deoarece multi vor crea in acest punct o paralela intre o zona si un domeniu. In majoritatea cazurilor, aceasta nu este o problema, deoarece in mod normal cele doua entitati sunt identice. Totusi, in unele cazuri, o companie poate decide sa ia spatiul de nume pe care il controleaza si sa il divida in continuare.

Daca se gasesc pe servere separate, atunci sunt categoric doua zone separate. In acest caz, trebuie adaugate inregistrari Name Server (NS) la zona internet.com, care indica spre serverele de nume pentru electronic.internet.com. Acesta este procesul de delegare, acelasi proces care se produce in severele de nume Internet atunci cand se inregistreaza domeniul; ele adauga inregistrarile NS pentru subdomeniu. Acele inregistrari NS sunt necesare pentru a permite desfasurarea procesului de rezolutie de nume.

Rezolutia unui FQDN

Cand se introduce o adresa de parcurs, sistemul de operare foloseste rezolvitorul mentionat anterior. Rezolvitorul interogheaza serverul DNS configurat pentru a gasi adrsesa IP a numelui care a fost introdus. Daca serverul DNS local are un fisierde zona (are autoritate) pentru zona care trebuie interogata, acesta va returna informatia din acest fisier.

Serverul local va interoga acum unul dintre serverele COM DOM pentru a gasi adresa ceruta. Din nou, acel server nu stie unde se afla gazda, dar stie unde ste domeniul internet.com. El va returna inregistrarile NS pentru acest domeniu.

Serverul DNS local va interoga acum serverele de nume pentru a gasi internet-dom, care se spera ca vor returna adresa IP a serverului www. Aceasta inseamna ca serverul cunoaste acum adresa si o poate returna rezolvitorului din sistem. Rezolvitorul din sitem anunta browserul ca poate deschide pagina din serverul Web al celeilalte companii. Acest proces este prezentat integral in figura 2.2.

Exista doua tipuri de interogari in aceasta discutie:

Recursiva. Interogarea de la sistem catre serverul DNS local este interogarea recursiva. Interogarile recursive solicita ca serverul aflat la distanta sa returneze un raspuns cu autoritate sau un mesaj „nu a fost gasit”.

Iterativa. Celelalte interogari care vin de la serverul DNS si care au interogat celelalte servere DNS din Internet sunt iterative. Numeroasele interogari iterative (iteratii) pot fi trimise pentru a localiza un raspuns cu autoritate; fiecare solicita cel mai bun raspuns pe care il poate da celalat server.

Raspunsurile vor fi memorate intr-un cache pe serverul local pentru o perioada de timp specificata de serverul de la distanta, denumita timp de viata (TTL). Aceasta insemana ca la urmatoarea interogare catre adresa http://www.internet.com se va raspunde din memoria cache a serverului DNS local.

interogare iterativă

primește adresa serverului .com

interogare iterativă

primește primește adresa serverului

adresa serverului internet.com

www.internet.com

interogare recursivă

www.internet.com

interogare iterativă

primește adresa

serverului

www.internet.com

Figura 2.2: Etapele de rezolvare a unei interogări DNS

Integrarea DNS si Active Directory

Dupa ce serverul DNS a fost instalat si configurat exista cateva moduri diferite in care zona Active Directory poate fi integrata intr-o companie. Modul de integrare trebuie stabilit de catre persoanele care au planificat structura Active Directory. Cele trei metode comune includ urmatoarele:

Se foloseste intern si extern acelasi domeniu.

Se foloseste un subdomeniu al domeniului extern

Se foloseste intern un domeniu separat.

Transferul informatiei de zona

Indiferent daca zona este integrata sau nu, trebuie replicata zona printre serverele DNS.

In mediul standard – Cand se configureaza transferurile de zona in mediul DNS standard, pur si simplu se creaza un server secundar. Se configureaza un alt server DNS care sa copieze fisierul de zona de la serverul primar sau de la un alt server secundar. Transferul de zona foloseste parametrii definiti in inregistrarea SOA a zonei.

Dupa ce s-a realizat configurarea, informatia de zona va fi transferata in conformitate cu informatiile care au fost configurate in inregistrarea SOA sau daca se forteaza in mod specific un transfer. In realitate, exista doua tipuri de transferuri care pot avea loc: complet sau incremental.

In mediul Active Directory – Active Directory este cel care va manipula replicarea. In loc de a executa transferuri de zona, serverele DNS vor interoga ciclic Active Directory pentru actualizari la fiecare 15 minute; acest lucru este stabilit in proprietatile de zona.

Acesta este motivul pentru care toate controllerele de domeniu dintr-o zona integrata Active Directory care ruleaza DNS vor fi capabile de a accepta actualizari. Ele dispun de o copie in care se poate scrie a zonei.

Datele din zona sunt stocate in interiorul domeniului unde sunt localizate serverele DNS. Problema aici este ca datele din zona integrate Active Directory. Ca atare, se poate configura numai un singur domeniu care sa utilizeze zonele integrate Active Directory. Toate celelalte domenii trebuie sa foloseasca serverele DNS secundare la zona integrata Active Directory.

Intr-un mediu combinat – Microsoft a cheltuit un efort considerabil pentru a se asigura ca serverele DNS care au fost integrate pentru a gestiona zonele integrate Active Directory cu alte servere DNS sunt compatibile cu documentele RFC. Aceasta insemna ca un server DNS Microsoft trebuie sa fie capabil de a lucra cu toate celelalte tipuri de server DNS de pe piata. In esenta, acestea vor fi sisteme Berkeley Internet Name Domain (BIND).

Aceste servere vor fi capabile de a actiona ca si cum ar fi servere secundare ale serverelor integrate Active Directory. Cand se executa transferuri intre doua servere DNS care ruleaza pe servere Windows 2003, informatia care este transferata se comprima. Aceasta determina esuarea unui transfer catre un server care ruleaza Windows 2003.

2.5 Construirea structurii Active Directory

Controllerele de domeniu servesc drept coloana vertebrala a retelei, iar capacitatea de a le implementa intr-o maniera logica este esenta succesului oricarei desfasurari a sistemelor de operare Windows. Mentinerea unei functionari uniforme a unei companii necesita replicarea informatiilor legate de structura, cat si de obiectele din Active Directory.

Domeniile

Unitatea de baza cu care se lucreaza este domeniul. Prin divizarea companiei in mai multe domenii se pot obtine numeroase beneficii:

Domeniile pot organiza obiectele dintr-un singur departament sau dintr-o singura locatie. In interiorul domeniului sunt disponibile toate informatiile despre obiecte.

Domeniile actioneaza ca o limita de securitate; administratorii de domeniu au un control complet asupra tuturor resurselor din cadrul domeniului. La nivelul domeniului se pot aplica politici de grup. Politicile de grup determina modul in care se pot obtine accesul la resurse, precum si modul de configurare si utilizare a acestora.

Obiectele dintr-un domeniu pot fi puse la dispozitia altor domenii si pot fi publicate in Active Directory.

Numele de domenii respecta structura de denumire DNS. Acest lucru permite un numar infinit de domenii copil.

Domeniile permit controlul replicarii; obiectele stocate intr-un domeniu pot fi replicate in totalitate numai in celelalte controllere de domeniu ale domeniului.

Exista doua modalitati de a crea domenii Active Directory: prin modernizarea unui domeniu Windows NT sau prin instalarea unui sever din suita Windows si apoi promovarea acestuia la rangul de controller de domeniu.

Dupa ce a fost creat un domeniu radacina, se poate trece apoi la crearea arborilor. Un arbore incepe intotdeauna cu domeniul radacina, dar apoi se poate ramifica pentru a include alte domenii. Acest lucru furnizeaza primul nivel de ierarhii din cadrul Active Directory.

Arbori si paduri

Cand se incearca controlul unui domeniu, se lucreaza cu nivelul functional al retelei. Utilizatorii sunt localizati in domenii. Calculatoarele sunt localizate in domenii. Pentru a lega domeniile la un loc, trebuie sa fie organizate intr-o structura logica. Aceasta structura va fi un arbore sau o padure de domenii.

domeniu.com

est.domeniu.com vest.domeniu.com

Figura 2.3: Exemplu de arbore de domenii pentru domeniu.com, împărțit pe criterii geografice

Ierarhia DNS este folosita in Windows pentru a aduna diferite domenii la un loc si pentru a crea arborele de domenii. Daca se incepe cu un domeniu cum ar fi Domeniu.com, de exemplu, se poate crea un singur domeniu care contine toate obiectele din comapanie. S-ar putea ca aceasta solutie sa fie nepractica daca aceasta companie are arbori in doua regiuni geografice majore si daca fiecare regiune functioneaza independent de cealalta. In acest caz, se poate opta pentru a crea domenii separate, care pot fi gestionate independent. In figura 2.3 se poate se poate observa ca exista un domeniu Domeniu.com, precum si un domeniu Est.Domeniu.com si un alt domeniu Vest.Domeniu.com. In acest caz, domeniul de la cel mai inalt nivel nu este decat un indicator spre unul sau celalalt dintre nivelele de nivel inferior.

Daca aceasta companie ar fi fost impartita in functie de diagrama de organizare, arborele ar fi aratat mai degraba ca in figura 2.4 . In figura 2.4 exista un domeniu pentru vanzari si marketing, un domeniu pentru logistica (productie si expeditie) si un domeniu pentru cercetare si dezvoltare. Administratia si alte roluri auxiliare, in acest caz, ar urma sa se gaseasca in domeniul de nivel cel mai inalt. Totusi, exista unele cazuri in care arborele de domenii nu va functiona.

domeniu.com

vânzări.domeniu.com cercetare.domeniu.com logistică.domeniu.com

Figura 2.4: Un exemplu de arbore de domenii pentru domeniu.com, divizat după funcții

In cazul in care diferite parti ale institutiei trebuie sa aiba identitati publice separate, nu se poate folosi aceeasi structura daca denumirile interioare trebuie sa reflecete natura externa. Intr-un caz ca si cel de acum, s-ar putea ar putea exista mai mult decat un arbore. Totusi, este important pastrarea celor trei elemente comune: schema paratjata, configuratia partajata si catalogul global. Pentru ca acest lucru sa fie realizabil, unul dintre domenii va devenii radacina companiei. Celelalte domenii vor fi domenii copil, chiar daca numele lor arata diferit. In figura 2.5 a fost adugat domeniul chestii.com. Conventia impune ca o linie care uneste noul arbore cu padurea sa fie desenata in partea de sus a radacinii, pentru a arata ca nu este vorba despre un domeniu copil.

domeniu.com

chestii.com vânzări.domeniu.com cercetare.domeniu.com logistică.domeniu.com

Figura 2.5: Exemplu de pădure de domenii

Unitatile de organizare furnizeaza nivelul secundar al ierarhiei. Ele permit divizarea unui domeniu in unitati logice care pot fi controlate, intr-o anumita masura, independent.

Unitati de organizare

Capacitatea de a delega unui utilizator sau unui grup de utilizatori controlul asupra unei parti dintr-un domeniu se realizeaza prin utilizarea unitatilor de organizare. O unitate de oraganizare este un container in cadrul catalogului Activ Directory. Dupa ce este creat containerul, se pot muta calculatoare, utilizatori si alte obiecte in interiorul containerului.

domeniu.com

chestii.com vânzări.com cercetare.domeniu.com logistică.domeniu.com

est.chestii.com vest.chestii.com

Figura 2.6: O pădure de domenii extinsă

Dupa ce acestea au fost realizate, se poate delega controlul asupra acelor obiecte din container unui set de utilizatori sau grupui. Un administrator de domeniu, va controla sa aiba controlul, dar persoanele cere vor fi delegate pot de asemenea sa controleze aceste obiecte. Acest lucru permite crearea de administratori de grup de lucru, care pot manipula o sectiune limitata a domeniului. De asemenea, se pot aplica unitatilor de organizare politici de grup care sunt diferite de acele politici care ar putea sa fie aplicate domeniului.

Figura 2.7: Rețeaua domeniu.com, proiectată folosind unități organizaționale

In figura 2.7 este prezentat un exemplu al modului in care reteaua Domeniu.com poate fi incadrata intr-un singur domeniu, dar continua sa furnizeze administratori locali care sa manipuleze un grup de utilizatori si de calculatoare.

Se pot chiar crea unitati de organizare in interiorul unei alte unitati de organizare, ceea ce permite crearea unei ierarhii de unitati de organizare in cadrul unui domeniu.

Pentru a decide daca trebuie sa fie folosite domeniile sau unitatile de organizare pentru a gestiona utilizatorii, calculatoarele si celelalte obiecte in Active Directory trebuie luate in considerare urmatoarele:

Domeniile pot fi folosite daca compania este una in care utilizatori si resurse diferite sunt gestionate de seturi de administratori complet diferite.

Se folosesc domeniile pentru o retea in care parti ale retelei sunt separate printr-o legatura lenta. Aceasta se poate realiza si folosind situri.

Unitatile de organizare se pot folosi pentru a reproduce structura unei companii.

Se folosesc unitatile de organizare pentru a delega controlul administrativ asupra unor grupuri mai mici de utilizatori, grupuri si alte obiecte.

Unitatile de organizare se folosesc daca este posibil ca o anumita componenta particulara a companiei sa se modifice ulterior.

Structura logica a Active Directory este folosita pentru a construi o ierarhie care sa abiliteze organizarea utilizatorilor in interiorul unei companii de orice dimensiune. Folosind domenii, se pot crea limite de securitate si de replicare; apoi, folosind unitati de organizare, se pot diviza in continuare domeniile in sectiuni care pot fi gestionate. Planificarea structurii Active Directory este domeniul planificatorilor de retea.

Constructia structurii logice a Active Directory este relativ simpla, iar cu o planificare buna ar trebui sa decurga destul de uniform. Daca s-ar pune sute de controllere de domeniu intr-un singur domeniu, poate in locatii diferite, vor aparea probleme de replicare. Aceasta problema poate fi rezolvata folosind situri care permit controlul asupra replicarii. Aceasta necesita abordarea retelei fizice.

Reteaua fizica

Partile fizice ale Active Directory, siturile si subretelele, sunt folosite pentru a controla replicarea. Prin crearea siturilor apoi a legaturilor intre situri, se va putea determina in ce moment se poate produce replicarea si cat de frecvent se va produce aceasta in perioada respectiva.

Una dintre componentele cheie ale utilizarii Active Directory este cerinta TCP/IP. TCP/IP nu este necesar pur si simplu pentru a abilita Windows sa utilizeze sistemul DNS, desi acest lucru este foarte important. TCP/IP permite divizarea intreprinderii in situri si contolul replicarii intre situri. De asemenea, se pot aplica politici de grup asupra siturilor, stabilind anumiti parametri pentru toate calculatoarele dintr-o singura locatie.

Siturile respecta modul in care alte institutii deja procedeaza cu retelele lor. De asemenea, siturile sunt foarte usor de creat si de gestionat in Active Directory. In mod normal, exista situri definite in retea, divizand segmentele in sectiuni care pot fi gestionate. In mod normal, aceste sectiuni sunt implementate pentru a controla traficul, deoarece si acesta este unul din rolurile siturilor; translatarea de la segmentele fizice la situri este foarte simpla.

Replicarea informatiei Active Directory

Replicarea este procesul prin care se ia informatia de la un sistem si se copiaza intr-un alt sistem. In Windows, replicarea este un element foarte important. Modificarile se pot produce in orice controller de domeniu, nu numai intr-un controller primar de domeniu.

In afara de modelul de replicare multi-master pentru obiectele din domeniu, exista informatii suplimentare care trebuie replicate in toata compania. Informatii cheie care trebuie replicate:

Informatii de schema;

Informatii de configuratie;

Date de domeniu.

Exista doua niveluri de replicare. Exista replicarea din cadrul unui domeniu si replicarea executata de serverele de catalog global. Replicarea din cadrul unui domeniu este executata cu precadere de catre controllerele de domeniu. Aceasta replicare vizeaza in primul rand replicarea tuturor obiectelor din domeniu cu toate atributele pentru fiecare obiect.

Serverele de catalog global executa cealalta replicare. Intr-o companie este necesar cel putin un server de catalog global. De asemenea, ar trebui sa existe un server de catalog global pentru fiecare domeniu si pentru fiecare sit din companie.

Serverele de catalog global sunt responsabile cu replicarea urmatoarelor informatii:

Informatiile de schema pentru padure;

Informatiile de configurare pentru toate domeniile din padure;

Un subset al proprietatilor pentru toate obiectele situate in cataloagele din padure (replicate numai intre serverele de catalog global);

Toate obiectele din cataloage si toate proprietatile lor pentru domeniul in care este localizat catalogul global.

Un controller de domeniu poate fi off-line pentru o perioada de timp, iar dupa revenire va fi capabil de a se actualize rapid.

Sa presupunem ca un controller de domeniu primeste o actualizare. Executa modificarea si apoi isi actualizeaza numarul USN. Controllerul de domeniu care a executat initial schimbarea cere acum numarul USN pentru serverul care a primit modificarea. Numarul sau USN aste actualizat si, ca atare, este solicitata modificarea. Sistemul care a emis schimbarea si-a primit acum inapoi propria schimbare. Daca sistemul a facut modificarea si si-a actualizat numarul USN, tot ciclul se va repeat la infinit.

Pentru a evita acest scenario, Active Directory urmareste numarul de scrieri initial care au survenit pentru fiecare atribut. Este urmarit numarul de modificari ale valorii executate de utilizator, nu numarul de modificari folosind replicarea. In cazul anterior, primul sistem in care s-a produs modificarea va descoperi ca are valoarea scrierii initiale si n va face modificarea.

De asemenea, exista posibilitatea ca doi utilizatori diferiti sa modifice acelasi atribut al aceluiasi obiect in acelasi timp, pe doua controllere diferite. Cand aceste schimbari incep ambele sa se replice, va fi detectat un conflict. Windows va alege modificarea cu marca de timp mai recenta pentru a rezolva conflictul. Daca cele doua modificari au fost facute in aceeasi milisecunda, atunci va castiga schimbarea cu un identificator global uni mai mare.

Obiecte conexiune

Obiecte conexiune servesc drept coloana vertebrala pentru replicare; ele definesc cai de retea prin care se pot produce replicarile. In esenta, KCC gestioneaza replicarea in cadrul unui sit prin crearea obiectelor conexiune intre diferitele controllere de domeniu din sit. De asemenea, KCC creeaza obiecte conexiune intre situri, acolo unde este necesar.

O conexiune reprezinta o cale de retea permanenta sau temporara care poate fi folosita pentru replicare. Se presupune ca toate caile dintre servere sunt de viteza egala si, ca atare, KCC trebuie sa fie capabil de a se ocupa de crearea obiectelor conexiune.

Se pot crea conexiuni in cadrul unui sit. De asemenea, se pot edita conexiunile create de KCC. Principalul motiv pentru care se doreste crearea unui obiect conexiune este de a specifica serverele cap de pod care vor fi folosite pentru legatura al situri. Serverele cap de pod vor fi principala metoda de replicare printr-o legatura intre situri.

Figura 2.8: Rețea în care conectarea automată prin punți ar fi problematică

Servere de catalog global

Serverele de catalog global furnizeaza informatii elementare care sunt folosite pentru a aduna la un loc toate componentele Active Directory. Serverul de catalog global se asigura ca informatiile privind schema si configuratia sunt distribuite tuturor domeniilor si, de asemenea, se ocupa de membrii grupului universal. De asemenea, furnizeaza o metoda pentru localizarea obiectelor in Active Directory.

2.6 Administrarea serviciilor Active Directory

Gestionarea obiectelor Active Directory

Gestionarea obiectelor dintr-o retea reprezinta mare parte din atributiile unui administrator de retea.

Fiecare sistem si fiecare utilizator care participa la o retea Windows trebuie sa aiba o categorie sau alta de context de securitate;, o forma sau alta de identificare. Aceasta insemna ca posibilitatea de a crea si de a gestiona conturi de utilizatori si de calculator este cheia functionarii corecte a unei retele. Un cont de utilizator sau de calculator este folosit pentru a indeplini urmatoarele functii:

Autentificarea identitatii utilizatorului sau a calculatorului;

Autorizarea sau interzicerea accesului la resursele din domeniu;

Administrarea altor principalele de securitate;

Auditarea actiunilor executate folosind contul de utilizator sau de calculator.

Principalele de securitate sunt obiecte din catalog carora li se atribuie automat identificatori de securitate. Obiectele cu identificatori de securitate se pot conecta la retea si pot avea acces la resursele din domeniu.

Deoarece utilizatorii trebuie sa aiba un calculator unde sa deschida sesiunea de lucru, discutia trebuie pornita de la examinarea conturilor de calculator.

Conturi de calculator

In Windows, gestionarea conturilor de calculator a fost extinsa astfel incat sa poata fi gestionate aproape ca un cont de utilizator. Orice calculator care ruleaza Windows 2003 sau Windows NT 4.0 se poate inscrie in domeniu si, ca atare, va fi autentificat cand calculatorul porneste.

Cerand calculatorului sa se autentifice, reteaua poate audita activitatea de pe calculator si poate gestiona calculatorul de la o locatie centrala. Acest lucru este posibil numai pentru calculatoarele Windows 2003 si Windows NT 4.0. Sistemele Windows 95 si Windows 98 nu dispun de caracteristicile de securitate avansate ale celorlalte sisteme de securitate si, desi un utilizator le poate folosi ca statie de lucru, calculatorul nu poate fi gestionat.

Gestiunea calculatoarelor

Principalul instrument care se foloseste pentru gestionarea calculatoarelor dintr-o retea este modulul snap-in Active Directory Users and Computers. Acest instrument permite adugarea, stergerea, mutarea si gestionarea conturilor de calculator. In mod prestabilit, numai grupul Domain Admins are permisiunea de a aduga si de a gestiona calculatoarele pentru un domeniu.

Conturi de utilizator

Un cont de utilizator permite unui utilizator sa se conecteze la calculatoare si domenii cu o identitate care poate fi autentificata si autorizata pentru accesul la resursele din domeniu. Fiecare utilizator are nevoie de contul de utilizator si de parola sa personala. De asemenea, conturile de utilizator sunt folosite drept conturi de serviciu pentru unele aplicatii, precum Microsoft SQL Server 2000 si Microsoft Exchange 2000.

Windows 2003 furnizeaza doua conturi de utilizator predefinite care pot fi folosite pentru conectarea la un calculator care ruleaza Windows 2003. Aceste conturi predefinite sunt conturile Guest (oaspete) si Administrator.

In general, contul Guest este dezactivat in interiorul unui domeniu, cu exceptia cazurilor cand securitatea nu reprezinta o problema. Contul Administrator este contul care se va folosi pentru crearea si pentru gestionarea tuturor aspectelor din Active Directory.

O mare parte din gestionarea conturilor de utilizator este similara cu cea a conturilor de calculator. Totusi, pentru proprietatile utilizatorului sunt disponibile ceva mai multe optiuni.

Figura 2.9: Conturi de utilizator

Grupuri

Una dintre intentiile Windows este de a aduna la un loc serviciile de catalog din partea de retea si din partea de posta electronica. O mare parte din informatiile care pot fi stocate pentru utilizatori sunt informatii care, pana acum, ar fi fost stocate in sistemul de posta electronica.

Exista doua tipuri de grupuri care pot fi create in serviciile de catalog Windows 2003:

Grupuri de distributie. Aceste grupuri sunt folosite exclusiv pentru posta electronica si nu pot fi utilizate pentru a stabili masuri de securitate.

Grupuri de securitate. Aceste grupuri pot fi folosite pentru adunarea la un loc a utilizatorilor sau pentru atribuirea de permisiuni obiectelor din retea sau din Active Directory. De asemenea, aceste grupuri pot fi folosite pentru posta electronica.

Desi grupurile de distributie sunt un obiect valid in Active Directory sub Windows 2003, restul discutiei se va concentra supra grupurilor de securitate. Un grup in Active Directory preia doua functii principale: grupurile sunt folosite pentru a aduna cinturile utilizatorilor intr-o singura entitate pentru a simplifica administrarea utilizatorilor si atribuie permisiuni obiectelor si resurselor. Diferenta rezida in aria de acoperire a grupului.

Globala. In mod caracteristic, grupurile globale se folosesc pentru a aduna conturile de utilizator laolalta si, in mod normal, nu trebuie sa li se atribuie permisiuni. Utilizatorii obtin permisiunile in urma adaugarii grupului global la un grup local care are permisiuni. Grupurile globale pot contine numai utilizatori din domeniul local. Ele sunt disponibile in domeniul in care sunt create si in alte domenii din arbore sau din padure.

Locala. Grupurile locale sunt folosite pentru a obtine permisiunea de a executa functii in cadrul unui domeniu. Grupul local dintr-un domeniu Windows NT este disponibil numai in calculatorul unde a fost creat. In Windows 2003, grupul local este disponibil pe toate sistemele din domeniu care ruleaza Windows 2003 si care se numesc grupuri locale de domeniu.

Universala. Grupurile universale combina caracteristicile grupurilor locale si globale. Ele pot contine utilizatori si grupuri din orice domeniu al arborelui sau al padurii si li se pot stribui drepturi asupra resurselor sau obiectelor din orice domeniu. Acest grup inlatura din administrare limitele domeniului. El mareste volumul de replicare necesar intre serverele de catalog global, deoarece severele de catalog global gestioneaza aceste grupuri. Aceste grupuri sunt disponibile numai in modul nativ.

Utilizarea grupurilor locale de domeniu – in mod normal, se folosesc grupurile locale de domeniu pentru a atribui permisiuni. Astfel, grupurile globale si grupurile universale se pot folosi din orice domeniu pentru a adauga utilizatorii la permisiuni. De exemplu, daca exista o imprimanta si un grup de contabili au nevoie de acces la aceasta imprimanta. Se poate lua un grup global care ii contine pe contabili si poate fi adugat la un grup local cu permisiuni privind imprimanta. Daca mai tarziu va fi nevoie sa se adauge un grup de contabili dintr-un alt domeniu, se pot aduga pur si simplu la grupul global. Sau, daca este nevoie sa se comute permisiunile spre o alta imprimanta, se poate pur si simplu sa se acorde grupului local permisiuni asupra acelei imprimante. Folosirea grupurilor locale abiliteaza utilizatorul sa lucreze cu mai multe grupuri globale care necesita acces la mai multe resurse locale, prin intermediul unei singure entitati.

Utilizarea grupurilor globale – In mod normal, grupurile globale trebuie folosite pentru a aduna utilizatorii dintr-un domeniu intr-o entitate colectiva care poate fi utilizata in domeniul local sau in orice alt domeniu din arbore sau din padure. Deoarece grupurile cu acoperire globala nu sunt replicate in afara propriului lor domeniu, conturile dintr-un grup avand acoperire globala pot fi schimbate frecvent fara a genera trafic de replicare spre catalogul global.

Utilizarea grupurilor universale – Grupurile cu acoperire universala sunt utilizate pentru a unifica grupurile care se extind pe mai multe domenii. Pentru a face aceasta, se aduga conturile la grupurile cu acoperire globala si apoi se imbrica aceste grupuri in interiorul unor grupuri cu acoperire universala. Utilizand aceasta strategie, nici o modificare a membrilor din grupurile cu acoperire globala nu va afecta grupurile cu acoperire universala.

Grupurile incorporate si predefinite

In timpul instalarii domeniului, mai multe grupuri sunt create in mod prestabilit. Aceste grupuri reprezinta diferite roluri pe care utilizatorii le vor prelua intr-o retea si sunt incluse pentru a ajuta la gestionarea retelei.

Grupuri locale incorporate:

Account Operators (operatori de cont)

Administrators

Backup Operators (operatori de executare a salvarii de siguranta)

Guests (oaspeti)

Print Operators (operatori de tiparire)

Replicator

Server Operators (operatori de server)

Users (utilizatori)

Power Users (utilizatori puternici/ se afla numai in severele Professional si cele autonome)

Aceste grupuri au acoperire locala de domeniu si sunt folosite cu precadere pentru a atribui permisiuni utilizatorilor care au un oarecare rol administrativ in acel domeniu.

Tabelul urmator prezinta drepturile prestabilite pentru fiecare din aceste grupuri; precum si drepturile generale pentru toti utilizatorii, care constituie un grup special, denumit Everyoane (toata lumea).

Grupuri globale predefinite:

Cert Publishers (editori de certificate)

Domain Admins (administratori de domeniu)

Domain Computers (calculatoare din domaniu)

Domain Controllers (controllere de domeniu)

Domain Guests (oaspeti din domeniu)

Domain Users (utilizatori din domeniu)

Enterprise Admins (administratori de intreprindere)

Group Policy Admins (administratori ai politicii de grup)

Schema Admins (administratori de schema)

Aceste grupuri permit colectarea diferitelor tipuri de utilizatori si legarea acestora la grupurile locale incorporate. In mod prestabilit, toti utilizatorii sunt membri ai grupului Domain Users, iar toate calculatoarele sunt adugate la grupul Domain Computers. Aceste grupuri se pot folosi pentru a gestiona marea majoritate a utilizatorilor si a calculatoarelor din retea. In mod prestabilit, grupul Domain Users dintr-un domeniu este membru al grupului Users din acelsi domeniu.

Grupul Domain Admins este folosit pentru administratorii domeniului. Grupul domain Admins este un grup membru al grupului local Administrators. Utilizatorii trebuie adugati la acest grup numai daca ei trebuie sa aiba privilegii de administrator complete in cadrul domeniului.

Grupurile incorporate si predefinite pot fi folosite pentru a gestiona cea mai mare parte a retelei. Aceste grupuri, in conjunctie cu grupurile care vor fi create ulterior, simplifica si faciliteaza activitatea de gestionare.

Identitati speciale

Exista trei grupuri speciale carora utilizatorii le pot apartine. Utilizatorii devin membri ai acestor grupuri nu prin faptul ca sunt introdusi de catre administrator la grup, ci prin actiunile pe care le intreprind ei insisi. Aceste grupuri sunt urmatoarele:

Everyoane. Acesta reprezinta toti utilizatorii curenti ai unui sistem, indiferent daca se conecteaza prin retea sau deschid local sesiunea de lucru.

Network (retea). Grup care include orice utilizator care foloseste o resursa prin retea.

Interactive. Acest grup este pentru utilizatorii situati fizic la un calculator.

Desi identitatilor speciale li se pot atribui drepturi si permisiuni asupra resurselor, nu se pot modifica sau vizualiza membrii acestor identitati speciale. Ariile de acoperire ale grupurilor nu se aplica identitatilor speciale. Utilizatorilor le sunt atribuite automat aceste identitati speciale ori de cate ori deschid sesiunea de lucru sau obtin accesul la o anumita resursa.

Crearea unei unitati de organizare

Pe masura ce reteaua unei companii incepe sa se dezvolte, numarul de utilizatori care trebuie organizati este tot mai mare. De asemenea va fi nevoie ca utilizatorii sa fie separati, pentru a gestiona grupurile de utilizatori la un loc. In mod ideal, se va dori delegarea controlului asupra grupurilor de utilizatori catre alte persoane din retea.

Unitatile de organizare permit organizarea in mod logic al utilizatorilor, calculatoarelor si altor resurse din retea. De asemenea, utilizarea unitatilor de organizare permit pastrarea unui control centralizat asupra retelei. Acestea mai permit gruparea utilizatorilor si calculatoarelor pentru delegarea controlului si pentru aplicarea politicilor de grup.

Alegerea intre domenii si unitati de organizare face parte din proiectarea retelei. In mod caracteristic, domeniile actioneaza ca limite de securitate si de replicare. Daca acestea nu sunt create, divizarea logica a retelei se va face folosind unitatilor de organizare.

Permisiuni in serviciile Active Directory

Fiecare obiect din Active Directory are un identificator de securitate (SID), un numar unic care identifica obiectul. Cand un utilizator se conecteaza la Windows 2003, sistemul genereaza un jeton de acces, care este atasat la procesul initial (Explorer) in mod prestabilit. Jetonul de acces este alcatuit din numarul SID al utilizatorului si al oricarui grup caruia ii apartine utilizatorul, alaturi de alte informatii.

Apoi, jetonul de acces este atasat la fiecare proces pe care il lanseaza utilizatorul. Este folosit pentru a compara permisiunile obiectului, pentru a determina daca utilizatorul are acces la obiect. In Windows 2003, acesta include accesul la obiect in Active Directory.

Fiecare obiect are un descriptor de securitate, care include numarul SID al proprietarului, numarul SID al principalului grup al proprietarului si o lista de control al accesului discretionat (DACL), alaturi de o lista de control al accesului sistemelor (SACL/ system acces control list). Numarul SID al proprietarului este folosit pentru a oferi proprietarului accesul in vederea schimbarii permisiunilor. Numarul SID al grupului este folosit pentru accesul grupurilor din aplicatii POSIX si din Services for Macintosh. Lista SACL controleaza accesul sistemelor locale la obiect.

Lista DACL contine intrari de control al accesului. O intrare de control al accesului (ACE/ access control entry) contine un SID, tipul de acces pe acre il reprezinta intrarea, precum si daca accesul este permis sau interzis. Cand se incearca accesul la un obiect (de exemplu, se incearca citirea atributelor unui obiect), este citit jetonul de acces pentru sesiunea utilizatorului logat si fiecare SID este comparat cu prima ACE. Daca ACE acorda permisiunea unuia dintre numerele SID din jetonul de acces, atunci accesul este permis. Daca accesul nu este rezolat la prima ACE, atunci este verificata urmatoarea s.a.m.d., pana cand drepturile cerute sunt primite, ori accesul este interzis. Prin stabilirea asupra unui obiect, se poate determina actiunile pe care persoanele le pot efectua asupra obiectelor.

Se pot stabili numeroase permisiuni, acestea sunt prezentate in lista urmatoare. Permisiunile care pot fi stabilite pentru un obiect includ urmatoarele:

Optiunile pentru aria de acoperire sunt divizate intr-o maniera similara cu proprietatile. Permisiunile pot fi stabilite astfel incat sa influenteze numai obiectul curent, obiectul curent si obiectele sale copil, numai obiectele copil sau un anumit tip de obiect.

Gestionarea partajarilor

O partajare este o parte din disc care permite utilizatorilor sa aiba acces la retea. Punctul in care este creata partajarea si toate cataloagele de sub aceasta sunt accesibile prin intermediul partajarii. Aceasta este principala metoda de a permite utilizatorilor sa aiba acces la datele din servere. Partajarea cataloagelor nu face parte din gestionarea Active Directory. Cand un catalog este partajat, se creaza un nume care reprezinta catalogul in retea, la care utilizatorii pot avea acces folosind un nume in conformitate cu o conventie universala de denumire (UNC).

2.7 Gestionarea serverelor

Una din cele mai comune operatii cu care se confrunta un administrator de retea este gestionarea serverelor. In Windows 2003, numai exista controllere primare de domeniu, controllere de domeniu de siguranta si servere membru. Exista numeroase tipuri speciale de servere cum ar fi: serverul master de schema, severul master de denumire a domeniilor, emulatorul PDC, serverul master RID si serverul master de infrastructura.

Roluri ale serverelor – Serverele master de operatii sunt esentiale pentru operarea retelei si trebuie tot timpul verificat daca sunt disponibile atunci cand este necesar. Unele din aceste roluri pot fi off-line pentru un timp, fara efect, in timp ce altele au un iimpact semnificativ daca sunt off-line chiar si pentru o perioada mai scurta.

Servere master de operatii

In Active Directory, modificarile aduse conturilor de utilizatori, conturilor de calculator, partajarilor si altor obiecte se pot face pe orice controller de domeniu. Acest lucru ofera o mare flexibilitate. Unele modificari, totusi, trebuie executate intr-un singur loc (modificarea schemei, de exemplu).

Active Directory ocoleste aceasta restrictie folosind un grup de servere denumite server master de operatii. Aceste servere sunt responsabile cu un anumit rol in companie sau in cadrul fiecarui domeniu. Exista cinci servere master de operatii care trebuiesc cunoscute iar acestea trebuie transferate daca un server este decuplat din retea pentru reparatii sau daca sufera o cadere.

Master de schema. Exista un singur master de scema pentru intreaga companie. Serverul master de schema are versiunea originala a schemei si este singurul loc unde se poate modifica schema.

Master de denumire a domeniilor. Serverul care indeplineste acest rol este responsabil cu adaugarea si eliminarea domeniilor din intreaga companie; ca atare, exista un singur asemenea sever in companie. Acest server asigura unicitatea numelor de domenii si se asigura ca acestea se incadreaza in spatiul de nume al companiei. Informatiile despre structura logica a spatiului de nume Active Directory sunt folosite pentru gestionarea relatiei de incredere intre domenii.

Master de indentificator relativ (RID). Fiecare obiect creat intr-un controller de domeniu are un identificator de securitate (SID). In Active Directory, acesta este o combinatie intre identificatorul de securitate al domeniului si un identificator unic in interiorul domeniului. Serverul RID master este responsabil pentru crearea celei ed-a doua parti a identificatorului de securitate; ele genereaza o serie de asemenea identificatori pentru fiecare controller de domeniu si atribuie controllerelor acesti identificatori. Deoarece intregul SID este unic numai in interiorul domeniului, este considerat a fi un identificator unic relativ. Evident, trebuie sa existe un master RID pentru fiecare domeniu.

Emulator PDC. Pentru a sustine clientii de nivel inferior, unul dintre controllere de domeniu dintr-un domeniu isi asuma rolul de emulator al controllerului primar de domeniu (PDC). Acest controller de domeniu este responsabil pentru replicarea domeniului Active Directory la controllerele de domeniu de siguranta (BDC) din NT 4.0. Daca domeniul este in mod nativ, emulatorul PDC primeste o replicare preferentiala a schimbarilor de parola. Daca un client de nivel inferior incearca apoi sa deschida sesiunea de lucru si este deservit de un alt controller care nu a primit actualizarea, acel controller inainteaza cererea de deschidere a sesiunii de lucru catre emulatorul PDC.

Master de infrastructura. Acest server pastreaza maparile utilizator-grup pentru domeniul sau. Pe masura ce utilizatorii sunt resenumiti sau mutati intr-un alt container, serverul master de infrastructura actualizeaza referintele si se replica la celelalte controllere de domeniu. Fiecare master de infrastructura se ocupa de conturile din propriul sau domeniu, chiar si pentru grupurile din alte domenii.

Fiecare din aceste roluri trebuie sa fie gestionate, pentru a garanta ca este disponibil pentru celelalte sisteme din retea si pentru a exista certitudinea capacitatii de refacere in cazul unei caderi a sistemului. Acest lucru implica planificarea locatiilor corecte ale acestor servere.

Servere de catalog global

Serverul de catalog global pastreaza o lista a tuturor informatiilor despre obiectele din domeniul sau, plus a informatiilor despre toate obiectele localizate in celelalte domenii din companie, dar numai un subset al proprietatii obiectelor din celelalte domenii.

Catalogul global este folosit pentru a contine unele informatii la nivel de companie, cum ar fi structura membrilor unor anumite grupuri, mai corect ai grupurilor universale. Cealalta functie principala a catalogului global este de a abilita utilizatorii si alte procese de a cauta in intreaga companie obiectele care sunt cerute.

Primul controller de domeniu al domeniului este, in mod prestabilit, serverul de catalog global. Se pot intotdeauna adauga mai multe servere de catalog global dar se poate si renunta la cele existente. Totusi, trebuie sa existe intotdeauna cel putin un sever de catalog global in fiecare padure.

Restaurari cu autoritate

In cazuri cum este stergerea unei unitati de organizare, se poate forta o restaurare completa la locatia normala. Aceasta, de fapt, va restaura baza de date Active Directory. Problema este ca numerele originale ale secventelor de actualizare (USN) – fiecare schimbare intr-un obiect actualizeaza numarul secventei, iar numarul cel mai mare este considerat ca fiind starea cea mai recenta – vor fi restaurate o data cu obiectul. Aceasta inseamna ca numarul USN al obiectului sters care exista in continuare in Active Directory va fi mai mare decat acela al obiectului restaurat, ceea ce forteaza stergerea din nou a obiectului.

Daca unitatea de organizare ar fi fost restaurata, in timpul replicarii urmatoare numerele USN ar indica sistemului local ca unitatea de organizare a fost stearsa. Ca atare, unitatea de organizare va fi stearsa din nou si nu va fi replicata in celelalte controllere de domeniu. Pentru a a ocoli aceasta problema, se foloseste NTDSUTIL pentru a executa o restaurare cu autoritate.

Procesul este simplu, in sensul ca se executa aceiasi pasi. Totusi, inainte de a reporni serverul, se ruleaza NTDSUTIL pentru a marca partea din Active Directory care se incearca sa se refaca. Procesul pur si simplu atribuie numerele USN o valoare mai mare. Cand se porneste serverul si replicarea incepe, numarul copiei este mai mare si copia este replicata la celelalte controllere de domeniu.

Daca nu se incearca decat refacerea unui calculator care s-a defectat, trebuie sa se execute o restaurarea obisnuita. Acest tip de restaurarea inlocuieste informatiile, iar apoi procesul de replicare reduce sistemul in actualitate. Daca se executa restaurarea intr-o alta locatie, este refacuta numai o parte a datelor de stare a sistemului, iar replicarea aduce din nou sistemul in actualitate. O restaurare cu autoritate se executa numai daca s-a pierdut o parte din baza de date Active Direcotry.

Capitolul 3

Proiectarea si implementarea aplicatiei

Pentru aceasta aplicatie vom folosi o masina virtuala pe care avem instalat Windows Server 2003 R2 si care are rol de controller de domeniu si Server de DNS. Masina virtuala ruleaza cu ajutorul aplicatiei VMWare Player , aplicatie care se poate fi descarcata si utilizata gratuit de pe site-ul www.vmware.com.

VMWare Player

VMWare Player este un produs software gratuit pentru virtualizare de la VMWare , Inc. ( divizie a EMC Corporation ) pentru uz personal si non-comercial. Incepand cu versiunea 3.0, cu ajutorul acestui produs se pot chiar si creea masini virtuale si foloseste acelasi miez de virtualizare ca si produsul VMWare Workstation. Diferenta dintre Workstation si Player este reprezentata de faptul ca prin VMWare player nu se poate face management la mai multe masini virtuale in acelasi timp si nu are anumite utilitati cum ar fi „drepturi virtuale de management”.

WAMP Server

Pe aceasta masina virtuala mai avem instalate WAMP server si Zend. WAMP server este o platforma mini-server care ruleaza aproape pe orice versiune de Windows. WAMP include Apache 2 si PHP 5 ( porturile SMTP sunt dezactivate ), si My SQL ( PHPMyAdmin si SQLiteManager sunt instalate pentru a manevra baza de date ) preinstalat. Statusul aplicatiei WAMP este afisat printr-o icoana in bara de task-uri si prin aceasta se pot vedea urmatoarele:

WAMP ruleaza dar restul serviciilor necesare nu sunt pornite ( icoana este rosie )

WAMP ruleaza si un serviciu este activat ( icoana va aparea in culoarea galben )

WAMP ruleaza si toate serviciile sunt activate, caz in care culoarea icoanei va fi alb

Apache si MySQL sunt considerate a fi servicii si pot fi activate/dezactivate apasand butonul stanga de la mouse in timp ce cursorul se afla deasupra icoanei din bara de task-uri, selectand serviciul care se doreste a fi activat/dezactivat.

Fisierele / Paginile web care sunt tinute pe serverul nostru de WAMP pot fi accesate introducand textul http://localhost/ sau http://127.0.0.1/ in bara de adrese a navigatorului de internet. WAMP trebuie sa fie pornit atunci cand se incearca accesarea cailor de mai sus. Daca se doreste publicarea fisierelor / paginilor web stocate in WAMP, se poate apasa pe icoana din bara de task-uri si selecta optiunea „Put Online”, apoi ii puteti ghida pe cei care vor sa acceseze fisierele / paginile web catre adresa serverului dumneavoastra.

Aplicatia se foloseste de functii PHP pentru conectarea cu ajutorul protocolului LDAP la baza de date de Active Directory de pe masina virtuala ce ruleaza Windows Server 2003 R2. Aceste functii vor fi descrise mai amanuntit in urmatoarele subcapitole.

Meniul si partea de validare a formurilor se face cu ajutorul Java Script iar partea grafica este realizata in PHP si HTML iar elementele de design cu ajutorul CSS si Photoshop.

Fișiere aplicație

In folderul CSS se afla instructiunile care determina schema de culori si formatul paginii.In folderul IMG se afla fisiere grafice cu extensia .jpg, .gif si .png folosite la realizarea formurilor si a meniurilor.

In folderul JS functiile cu care s-a realizat meniul inclusiv partea de validare realizate in Java Script.

Fisierele ldap.getdistro.list.php , ldap.mod.add.user.php , ldap.mod.del.user.php , ldap.modify.user.php contin functiile cu ajutorul carora se face conectarea la serverul de LDAP , binduirea serverului , interogarea serverului si adaugarea si stergerea datelor.

Instructiuni de utilizare

Pornirea aplicatiei

Cu ajutorul aplicatiei VMWare Player se porneste masina virtuala pe care avem instalat Windows Server 2003 R2 ce are rol de controller de domeniu si de server de DNS totodata.

Pentru partea de inregistrare se va folosi contul de utilizator numit „utilizator_licenta” ce are definita parola „complexitate123!@#”.

Vom porni apoi mini-serverul WAMP din calea afisata in imaginea de mai jos.

Se verifica apoi ca toate serviciile sunt pornite. Se va acorda o atentie deosebita acestui pas deoarece este un pas critic pentru ca aplicatia sa functioneze fara probleme. Va rugam verificati imaginea de mai jos.

Se ruleaza apoi navigatorul de internet Mozilla Firefox si in bara de adrese se introduce textul http://127.0.0.1. Aici se vor gasi toate fisierele care sunt stocate pe serverul de WAMP si care pot fi accesate din fereastra navigatorului de internet, dupa care, asa cum se vede si in imaginea de mai jos, se va accesa fisierul numit „licenta/”.

Meniul aplicatiei

In meniul aplicatiei se gasesc urmatoatele butoane:

deschide tot – este butonul prin care se face expandarea tuturor cailor de acces din meniu

inchide tot – este butonul care realizeaza compactarea tuturor cailor de acces din meniu

Urilizatori – aici se regasesc urmatoarele

Adaugare utilizator – acceseaza partea din aplicatie cu ajutorul careia se poate adauga un utilizator nou in baza de date de Active Directory

Stergere utilizator – acceseaza partea din aplicatie cu ajutorul careia se poate sterge un utilizator din baza de date de Active Directory

Afisare informatii utilizator – acceseaza partea din aplicatie cu ajutorul careaia se pot extrage anumite campuri de informatie pentru conturile de utilizator din baza de date de Active Directory

Grupuri – aici se regaesc urmatoarele:

Adaugare grup – acceseaza partea din aplicatie cu ajutorul careia se poate creea un grup nou in baza de date de Active Directory

Stergere grup – acceseaza partea din aplicatie cu ajutorul careia se poate sterge un grup din baza de date de Active Directory

Modul de realizare al aplicatiei

Pentru a efectua operatiuni asupra bazei de date de Active Directory am folosit functiile predefinite din PHP pentru protocolul ldap. Acest protocol este folosit pentru a efectua interogari sau modificari asupra serviciilor de directoare, in cazul de fata asupra Active Directory.

Functiile folosite sunt:

ldap_connect(): Aceasta functie realizeaza conexiunea la un server de ldap specificat printr-un nume si un port care implicit este 389.

ldap_bind(): Functia aceasta efectueaza autentificarea la baza de date. Ea necesita ca parametrii conexiunea obtinuta prin ldap_connect() precum si un utilizator si o parola.

ldap_add(): Efectueaza operatiunea de adaugare in baza de date. Necesita ca parametrii conexiunea, calea pe care obiectul o va avea in baza de date si un array ce reprezinta valorile atributelor obiectului.

ldap_delete(): Sterge un obiect din baza de date. La fel ca celelalte functii el primeste ca parametrii conexiunea si calea complete a obiectului in baza de date.

ldap_errno(): Returneaza codul de eroare in cazul in care la ultima operatiunea efectuata a aparut o eroare.

ldap_error(): Returneaza mesajul erorii.

ldap_close(): Functia inchide conexiunea curenta cu serverul de ldap.

Schema logica urmatoare descrie o operatiune tipica asupra bazei de date:

Pentru a realiza conexiunea la baza de date folosim functia ldap_connect() iar pentru autentificare functia ldap_bind(). Dupa conectare si autentificare se pot efecta interogari si modificari in baza de date folosind functiile ldap_add, ldap_delete, etc. La final este folosita functia ldap_close() pentru a inchide conexiunea.

Urmatoarea sectiune de cod PHP efectueaza adaugarea unui utilizator in Active Directory:

<?php

$ldapconn = ldap_connect("192.168.0.2"); // Efectueaza conexiunea la serverul de ldap.

if($ldapconn)

{

$admin_account = "cn=administrator,cn=Users,dc=domeniu,dc=local"; //Numele de utilizator

$admin_pwd = "complexitate123!@#"; // Parola

$ldapbind = ldap_bind($ldapconn, $admin_account, $admin_pwd); // Autentificarea la server.

if(ldap_bind($ldapconn, $admin_account, $admin_pwd) == true)

{

// Seteaza atributele utilizatorului ce va fi adaugat

$account = $_POST['account'];

$adduserAD["cn"] = $_POST['account'];

$adduserAD["samaccountname"] = $_POST['log_user'];//log-on name

$adduserAD["objectClass"] = "user";

$adduserAD["displayname"] = $_POST['nume'];

$adduserAD["mail"] = $_POST['email'];

$adduserAD["userPassword"] = $_POST['parola'];

$base_dn = "cn=$account,cn=Users,DC=domeniu,DC=local";

// Efectueaza adaugarea utilizatorului

echo "Trying to add the user to the system …<br>";

if(ldap_add($ldapconn, $base_dn, $adduserAD) == true)

{

echo "User added!<br>";

}

Else

{

echo "Sorry, the user was not added.<br>Reason:";

echo ldap_errno($ldapconn); // Afiseaza codul erorii precum

echo ldap_error($ldapconn); // si mesajul generat

}

}

Else

{

echo "Sorry could not bind to the server.<br>Reason: "; // Eroare generata in cazul

// in care autentificarea esueaza.

echo ldap_errno($ldapconn);

echo ldap_error($ldapconn);

}

}

Else

{

echo "Sorry could not find the server.<br>";

}

ldap_close($ldapconn); // Inchide conexiunea cu serverul

header("Refresh: 1; URL=\"../licenta/index.html\"");

?>

Functionarea adaugarii unui utilizator este descrisa prin schema logica:

Prima oara se incearca conectarea la serverul de ldap folosind functia ldap_connect(), daca aceasta nu se realizeaza cu success atunci se afiseaza un mesaj de eroare altfel se incearca autentificarea. Autentificarea se face prin functia ldap_bind() iar daca se efectueaza cu success atunci se seteaza atributele pentru utilizator si se adauga utilizatorul folosind functia ldap_add(). In cazul aparitiei unei erori se va afisa un mesaj de eroare, in caz contrar se va afisa mesajul ca adaugarea s-a efectuat cu success.

In mod similar functioneaza si celelate operatiuni asupra bazei de date.

Testarea aplicatiei

Pentru a testa aplicatia, vom face modificari direct din interfata aplicatiei in baza de date de Active Directory, modificari pe care le vom verifica apoi direct din consola de “Active Directory Users and Computers” de pe masina virtuala ce are si rol de controller de domeniu.

Vom accesa meniul “Adaugare utilizator”, unde vom introduce detaliile care ni se cer pentru a creea un utilizator nou in baza de date.

Dupa ce am apasat butonul numit “Adauga” vom verifica modificarea in consola Active Directory Users and Computers. Ar trebui sa gasim un cont de utilizator dezaactivat cu numele de utilizator “Andrei” si cu detaliile ce le-am introdus in interfata grafica de mai sus.

Putem observa ca utilizatorul ca fost creat in baza de date. Mai departe vom verifica daca atributele acestui cont de utilizator sunt cele introduse de noi in interfata grafica.

Observam in imaginea de mai sus ca Numele, Prenumele si adresa de mail sunt cele introduse de noi in interfata grafica.

Observam ca si numele de inregistrare este cel pe care l-am introdus in interfata grafica.

Capitolul 4

Concluzii

Scopul lucrarii de fata este acela de a realiza o aplicatie care se adreseaza in special societatilor care incearca sa dezvolte o afacere de externalizare sau administrare de sisteme informatice.

Evolutia metodelor si tehnicilor de administrare si externalizare ale sistemelor informatice au dus la cresterea complexitatii uneltelor si sarcinilor necesare intretinerii unui mediu de sisteme informatice folosite la capacitate si eficienta maxima in aproape toate domeniile de astazi. Necesitatea de a avea un sistem informatic bine pus la punct si administrat si intretinut cu costuri cat mai mici a devenit aproape critica pentru oricine actioneaza in mediul afacerilor.

Din cauza cresterii complexitatii tehnologiilor folosite, a crescut si nevoia ca cei care interactioneaza cu sistemele informatice in scopt de intretinere si administrare, sa fie din ce in ce mai pregatiti in domeniu si din ce in ce mai specializatti doar pe un serviciu anume. Aceste lucruri duc la cresterea costurilor aditionale pentru intretinerea si administrarea de sisteme informatice ale unei societati sau companii deoarece persoanele care interactioneaza cu sistemele si care sunt angajate pentru a asigura buna lor functionare si customizarea lor dupa nevoile de afaceri ale diverselor societati, sa aibe nevoie de cursuri si pregatiri care durau din ce in ce mai mult timp si deveneau din ce in ce mai costisitoare.

La fel ca in orice domeniu exista sarcini de complexitate ridicata care de multe ori implica persoane cheie in intretinerea si administrarea sistemelor, care nu pot fi facute folosind o interfata aleatoare, si sarcini a caror complexitate este redusa, se pot face si prin alte metode decat cele sugerate de cel care dezvolta aplicatia server si costurile acestora pot fi reduse aproape de minim prin eficientizarea resurselor folosite si prin modul de folosire a resurselor in scopul intretinerii si durabilitatii sistemului informatic dintr-o societate care in ultimii ani a devenit indispensabil in viata de zi cu zi a oricarei firme sau societati.

Lucrarea de fata trateaza subiectul intretinerii unei baze de date de Active Directory si de asemenea poluparea ei cu diverse obiecte. Un server care sa aiba rol de controller de domeniu devine critic atunci cand scopul activitatilor desfasurate de o societate sau firma se extinde pe mai multe locatii care se folosesc de aceeasi retea de sistem informatic si in care diferiti utilizatori trebuie sa fie diferentiati prin diferite permisiuni si nivele de acces la resursele informatice ale societatii: de exemplu cei care alcatuiesc echipa de management a firmei pot avea acces la fiserele de salarii si la diverse date financiare ale firmei, iar cei ce fac sarcinile care alcatuiesc principalul scop si activitatea firmei pot avea un nivel de acces mai redus care trebuie sa le permita doar sa continuie sa isi desfasoare activitatea fara probleme.

Deoarece administarea obiectelor din baza de date a unui server de Active Directory presupune de multe ori un nivel ridicat de acces pentru persoane care de multe ori pot a nu fi pregatite pentru a interactiona cu diverse aspecte ale sistemelor informatice si care pot avea o influenta negativa asupra functionarii lor prin actiuni gresite, am creeat aceasta aplicatie care poate fi o alternativa la un model de delagare de permisiuni folosit in companiile care dezvolta afaceri de externalizare. Un model de delagare de permisiuni presupune interventia unui consultat IT si apoi a unor persoane cu o pregatire specifica pentru a interactiona si a lucra pe un controller de domeniu. Cu ajutorul acestei aplicatii accesul este restrans la o interfata web care nu minimizeaza risucl de gresala si nu permite un nivel de acces care ar putea fi periculos pentru integritatea sistemului informatic.

Din interfata aplicatiei pe care am creeat-o se pot face sarcini simple cu ajutorul unui program placut de utilizat si usor de inteles si care nu necesita o pregatire in domeniul IT pentru cel care il va utiliza mai departe. Se pot creea conturi de utilizator, sterge conturi de utilizator si grupui si in special se pot vedea detaliile asociate unui cont de utilizator fara a accesa consola de Active Directory Users and Computers care in mod normal presupune acces la interfata sistemului de operare a unui server. Accesul la aceasta interfata ar trebui restrictionat la maxim iar nevoia de a avea aceasta restrictie vin din vasta experienta pe care firmele o au in general azi in ceea ce priveste externalizarea de resurse informatice catre companiile care au ca principala activitate intretinera si administrarea infrastructurii informatice pentru diversi clienti din diverse domenii de operare.

In cazul aplicatiei de fata, confidentialitatea si integritatea datelor necesare in scopul dezvoltarii afacerii clientului sunt foarte bine luate in considerare iar riscul de a pierde sau a distruge aceste date este minimizat la maxim prin restrictionarea nivelului de acces la o simpla interfata web.

As dori sa mentionez in final ca ma bucur ca am reusit sa creez o astfel de aplicatie ce ofera o solutie ieftina si viabila pentru companiile care au ca principala activitate intretinerea infrastructurii informatice pentru diversi clienti care opereaza in alte domenii.

Bibliografie

David Marshall, Wade A. Reynolds, Dave McCrory, Advanced Server Virtualization, Editura CRC

Mark Minasi, Christa Anderson, Michele Beverridge, C. A. Callahan, Lisa Justice, Mastering Windows Server 2003, ISBN: 978-0-7821-4130-6

Robbie Allen , Windows Server Cookbook, Editura O'Reilly Media, ISBN 10: 0-596-00633-0 ISBN:978-0-596-10452-8

Wendy Corbin, Kurt Hudson, Designing a Microsoft® Windows Server™ 2003 Active Directory® and Network Infrastructure (70-297), ISBN: 9780735620803

www.topbits.com/wampserver.html

www.php.net

Bibliografie

David Marshall, Wade A. Reynolds, Dave McCrory, Advanced Server Virtualization, Editura CRC

Mark Minasi, Christa Anderson, Michele Beverridge, C. A. Callahan, Lisa Justice, Mastering Windows Server 2003, ISBN: 978-0-7821-4130-6

Robbie Allen , Windows Server Cookbook, Editura O'Reilly Media, ISBN 10: 0-596-00633-0 ISBN:978-0-596-10452-8

Wendy Corbin, Kurt Hudson, Designing a Microsoft® Windows Server™ 2003 Active Directory® and Network Infrastructure (70-297), ISBN: 9780735620803

www.topbits.com/wampserver.html

www.php.net

Similar Posts