tehnologii internet curs

Upload: nicolai-griu

Post on 08-Jul-2015

431 views

Category:

Documents


1 download

TRANSCRIPT

UNIVERSITATEA DIN BACU FACULTATEA DE INGINERIE

POPA SORIN EUGEN

TEHNOLOGII INTERNETnote de curs i aplicaii pentru studenii Facultii de Inginerie

2007

Cuvnt nainte,

Volumul "Tehnologii Internet" se adreseaz studenilor de la specializarea Tehnologia informaiei anul III i cuprinde att cursul ct i lucrrile de laborator pentru disciplina cu acelai nume. Cartea este structurat pe dou pri, prima, de noiuni teoretice, conine 6 capitole care ncearc s acopere, ct mai succint, o parte din ntinsul domeniul al tehnologiilor utilizate pentru a crea, ntreine, administra, securiza i, nu n ultimul rnd, a utiliza Internetul. Partea a doua conine 12 lucrri de laborator n care studenii vor experimenta mare parte din ceea ce este prezentat n curs. Primul capitol, "Conceptele Internetului" face o descriere succint a noiunii de internet, cu descrierea modelului de referin OSI care st la baza dezvoltrii reelelor de calculatoare, implicit a internetului. Apoi continu cu clasificarea tehnologiilor Internet: hardware, software,d e comunicaii i Dataware. Al doilea capitol, intitulat "Servicii Internet sub FreeBSD" prezint ore scurt istoria i dezvoltarea sistemului FreeBSD, care este un sistem de operare open source, bazat de UNIX, i la ora actial, considerat ca fiind cel mai sigur, stabil i rapid. Tot aici se prezint i configurarea unui server multifuncional: mail, ftp, web i baze de date. Capitolul al treilea trateaz tehnologiile Internet din punctul de vedere al sistemului de operare Windows, prezentnd procedurile i modul de configurare a acestuia ca server cu aceleai roluri ca i cel sub FreeBSD. Capitolul patru, denumit generic "Protocoale i servicii" face o prezentare i descriere succint a principalelor protocoale utilizate n Internet, i anume: DNS, SSH, telnet, http. FTP, SMTP, POP, SSL i TLS. Capitolul cinic, cel mai mare, intitulat Limbaje de programare i tehnologii WEB" prezint principalele limbaje de programare utilizate n prezent pentru realizarea paginilor Web, cu o prezentare mai detaliat a urmtoarelor limbaje: html, css, AMP = Apache + MySQL + PHP, javascript. i

Ultimul capitol, al aselea, "Crearea paginilor Web cu Dreamweaver" face o scurt introducere n unul dintre cele mai utilizate programe de proiectare a paginilor Web, i anume Adobe Dreamweaver. A doua parte a volumului conine 12e lucrri practice de laborator n care se vor experimenta i verifica noiunile i instruciunile predate n cadrul cursului. Laboratoarele au un caracter evolutiv i repetitiv, studenii fiind nevoii s repete la urmtoarea lucrare comenzile nvate n lucrrile anterioare. Aceste lucrri au titluri sugestive, i anume: Lucrarea 1 Instalarea i configurarea serverului Apache, MySQL i PHP pe sistemul de operare FreeBSD; Lucrarea 2 instalarea i configurarea serverului Apache, MySQL i PHP pe sistemul de operare Windows; Lucrarea 3 Primii pai n HTML, elemente constructive; Lucrarea 4 Principalele structuri n HTML: legturi, liste i tabele; Lucrarea 5 Primii pai n PHP sintaxa, variabile i tipuri de date, cod php n script html; Lucrarea 6 Construirea unui site dinamic n php; Lucrarea 7 Stiluri CSS i Chestionar n PHP; Lucrarea 8 Formular de prelucrare a datelor din baza de date MySQL; Lucrarea 9 Sistem de nregistrare, autentificare i protecie la accesarea unei baze de date MySQL; Lucrarea 10 Realizarea unui formular de contact; Lucrarea 11 - Sistem de cutare n baza de date MySQL; Lucrarea 12 Sistem de blocare acces al unui utilizator asupra unui site, sistem de contorizare click-uri pe un link.

Autorul

ii

1. Conceptele InternetuluiTehnologiile Internet sunt asociate n cultura managerial cu posibilitatea de a obine, prelucra i transmite informaie (n special de afaceri, economic, marketing) rapid i eficient. Tehnologia Informaiei cuprinde clasa tehnologiilor utilizate pentru procesarea informaiei. Informaia este un termen vast. Dac pentru public informaia reprezint noutile zilei, utilizat n contextul tehnologiei informaiei i al firmei informaia desemneaz ansamblul cunotinelor, al datelor i al comunicaiilor firmei (Apostol et al., 2003). Dei tehnologiile de procesare a informaiei pot fi utilizate in sisteme izolate, practic valoarea de utilizare a sistemelor izolate pentru firma contemporan tinde s devin nul fr utilizarea sistemelor de comunicaie. n proces de inovare continu, tehnologiile de comunicaie sunt disponibile pe pia sub form de brevete, licene, produse sau servicii. Cu excepia firmelor care au un rol direct n dezvoltarea de tehnologii specifice de comunicaie, firmele sunt n ipostaza de consumator al acestor tehnologii i servicii de comunicaii. Firmele furnizoare de servicii cu valoare adugat n comunicaii sunt o clas aparte de consumatori i furnizori de tehnologie, deoarece pe baza noilor tehnologii de comunicaii i de prelucrare produc i furnizeaz produse sau servicii noi sau particularizate. Internet desemneaz reeaua mondial de reele de calculatoare interconectate n scopul schimbului continuu de date. Tehnologiile Internet desemneaz clasa TIC utilizat n reelele de calculatoare sau pentru comunicaia cu calculatoarele. Astfel, Tehnologiile Internet definesc multitudinea tehnologiilor de comunicare i de procesare a informaiei prin care reeaua Internet capt valoare de utilizare pentru firm. Termenul internet (i non capital) desemneaz reelele individuale de calculatoare care sunt interconectate, nu sunt parte din reeaua Internet dar folosesc tehnologii de comunicare compatibile Internet (Huston,1999). n ianuarie 2006, reeaua Internet deservea peste 395 milioane computere. Aceast dimensiune nu cuprinde milioanele de dispozitive i calculatoare conectate prin reelele de telefonie mobil sau reele private. (http://www.isc.org/index.pl?/ops/ds/hostcount-history.php, 2006)

1.1. Modelul de referin OSIMultitudinea sistemelor interconectate Internet, de la telefoane mobile, dispozitive automate de achiziie de date pn la noduri de prelucrare bazate pe ferme de servere pot comunica n aceast reea mondial de date respectnd standardele de comunicaie. Modelul de referin Open Systems Interconnection International Standard Organization (ISO-OSI) este o descriere standard sau un model de referin al modului cum mesajele sunt transmise ntre dou puncte ale unei reele de telecomunicaii. Scopul modelului ISO-OSI este acela de ghid de implementare de produse. n consecin produsele compatibile ISO-OSI funcioneaz i-sau utilizeaz alte produse de acest tip, constituind o baz de plecare pentru interconectarea calculatoarelor, reelelor i a aplicaiilor n reelele de calculatoare.5

Tehnologii Internet

Modelul ISO-OSI (figura 1.1) poate fi utilizat pentru catalogarea produselor i tehnologiilor, astfel nct fiecare produs poate fi nglobat n sisteme complexe fiind folosit ca un bloc funcional.

Fig. 1.1: Modelul conceptual ISO-OSI.

ISO-OSI definete apte niveluri pentru o sesiune Internet astfel: 1. Fizic. Nivelul la care sunt realizate fizic conexiunile. Debutul reelelor de comunicaie este reprezentate de reelele de telefonie, publice sau private, bazate pe fire metalice (cupru sau fier). Ulterior, aceste reele de comunicaie proiectate pentru transportul semnalelor vocale analogice, au evoluat n reele pentru transportul semnalelor digitale: Integrated Services Digital Network (ISDN), Asynchronous Digital Line Subscriber (ADSL). Reelele moderne sunt proiectate pe baza tehnologiilor digitale de comunicaie care utilizeaz fibre optice (FDDI) sau semnale radio pentru realizarea reelelor fr fir: Wireless Local Area Networks (WLAN), Wireless Interoperability for Microwave Access (WiMax) 2. Date (Data link). Nivelul la care sistemul de comunicaie stabilete o legtur ntre dou puncte ale unei reele fizice. Legtura de date presupune un protocol de comunicaie i sincronizare. Figura enumr protocoalele cunoscute, fr ns a epuiza lista protocoalelor folosite: Serial Line Internet Protocol (SLIP), Point to Point Protocol (PPP), Ethernet sunt cteva exemple. 3. Interconexiune (Network): Nivel de realizare i gestiune al reelei de calculatoare. Bazat pe nivelul de date, nivelul conexiune determin funcionalitatea reelei de calculatoare pe baza protocolului de reea. n cazul reelei Internet se utilizeaz protocolul IP v4 bazat pe adrese de 32 bii a nodurilor de reea. Reeaua Internet contemporan se confrunt cu limita fizic a adreselor, dezvoltarea viitoare fiind limitat de lipsa adreselor disponibile. Acesta fiind unul din motivele implementrii protocolului IPV6 ce ofer oportunitatea dezvoltrii viitoare. Nivelul Network gestioneaz datagrame.6

Cap 1: Conceptele Internetului

4. Transport. Definit de protocoalele Internet Transmission Control Protocol (TCP) i User Datagram Protocol (UDP). Spre deosebire de TCP, UDP asigur un nivel mai redus de control al erorilor fiind protocolul preferat pentru transmiterea mesajelor de tip broadcast. 5. Sesiune (Session). Nivelul sesiune bazat pe nivelul transport asigur funcionalitatea necesar sesiunilor de comunicaie. Figura exemplific porturile 110/25 pentru a oferi funcionalitatea de pot electronic prin protocoale corespunztoare POP/SMTP, sau portul 80 pentru protocolul http web. 6. Prezentare (Presentation). Simple Mail Transfer Protocol (SMTP) sau HyperText Markup Protocol (HTTP) sunt exemple de implementare la nivelul OSI Presentation. Acest nivel prin protocoalele implementate asigur un nivel de comunicaie independent de adresa fizic, acest detaliu este rezolvat la nivelele OSI inferioare. Astfel utilizatorii reelei Internet (de exemplu utilizatorii de pot electronic) se pot concentra asupra mesajului i a destinaiei reprezentat de un nume i nu de o adres IP. 7. Aplicaie (Application). Nivelul cel mai nalt al modelului OSIdefinete nivelul la care aplicaiile de comunicaie interacioneaz cu nivelul Presentation. Exemplul cel mai cunoscut l poate constitui aplicaia pentru pot electronic. Acesta asigur funcionalitatea necesar utilizrii umane i exploateaz nivelurile OSI inferioare pentru a asigura gestiunea mesajelor, adreselor i a erorilor. Modelul TCP-IP (Transmission Control Protocol/Internet Protocol Model) este o suit standard de protocoale i un model conceptual cunoscut i sub numele DARPA. Corespondena nivelurilor celor dou modele este prezentat n figura 1.2.

Fig.1.2: Corespondena nivelurilor TCP-IP i ISO OSI.

Suita de protocoale TCP-IP definete serviciile pentru aplicaii Telnet, FTP (File Transfer Protocol), http (Hypertext Transfer Protocol), DNS (Domain Name System), RIP (Routing Interface Protocol), SMTP (Simple Mail Transfer Protocol), POP (Postal Office Protocol), ECHO i multe altele (Figura 1.3). Aceste servicii i aplicaii sunt implementate n sistemele de operare i prin urmare disponibile ca resurse software i de comunicaie nc de la punerea n funciune a resurselor de calcul. mpreun cu celelalte tehnologii ITC ele formeaz resursele baz de plecare pentru definirea aplicaiilor de afaceri.7

Tehnologii Internet

Fig.1.3: Suita de protocoale TCP-IP

Figura 1.4 ilustreaz un model de programare al aplicaiilor pentru afaceri care utilizeaz resursele Internet n comparaie cu modelul ISO OSI. Modelul de programare ilustrat n figura 1.4 n comparaie cu modelul TCP i ISO OSI reprezint punctul de vedere al dezvoltrii de aplicaii din componente i servicii. Pe baza principiului utilizat n modelul OSI prin care o component de pe un nivel superior ascunde complexitatea i tehnologiile nivelului inferior, similar n modelul de programare comunicaia Internet este expus aplicaiilor de ctre sistemul de operare. Programatorii de aplicaii economice i de afaceri nu se confrunt cu necesitatea rescrierii componentelor de pe nivelurile inferioare OSI.

Fig. 1.4: Redefinirea modelului OSI pentru aplicaii de afaceri

Figura 1.5 ilustreaz comparativ cu modelul ISO OSI evoluia modelelor utilizate pentru dezvoltarea aplicaiilor economice i de afaceri utiliznd mediul Internet. Aceste modele ncearc s rezolve problema administrrii complexitii aplicaiilor, respectiv a multitudinii de componente prin clasificarea componentelor i administrarea lor specific. n funcie de caracteristicile tehnice specifice aplicaiei de8

Cap 1: Conceptele Internetului

afaceri finale, accentul se poate pune pe calitatea componentelor de gestiune a documentelor semnate digital, sau pe securitatea legturilor multimedia etc.

Fig. 1.5: Redefinirea modelului OSI pentru aplicaii de afaceri

1.2. Clasificarea Tehnologiilor Internet Tehnologiile Internet pot fi clasificate n: Tehnologii hardware Tehnologii de comunicaii Tehnologii software Tehnologii dataware

1.2.1. Tehnologii Internet Hardware Clasa tehnologiilor hardware cuprinde acele tehnologii care conduc la realizarea unor componente sau dispozitive fizice. Microprocesoarele, computerele pe un cip, tehnologia identificrii radio RFId (Radio Frequency Identity), smart card, cititoare optice de coduri i multe alte componente electronice, optice sau electromecanice dar i cu tehnologii foarte noi, cum este biotehnologia, sunt exemple cuprinse n aceast clas. n decada urmtoare n nodurile Internet vor fi prezente din ce n ce mai multe dispozitive (Internet appliances) i nu sisteme tradiionale de tip computer personal (PC) sau server. Estimrile ajung la peste 80% din nodurile reelei care vor fi echipate cu astfel de echipamente. Aceast realitate este posibil datorit avansului fr precedent al tehnologiilor hardware n special n domeniul microprocesoarelor, memoriilor i soluiilor de stocare. Astfel, piaa produselor electronice ofer nu numai microcalculatoare pe un chip, dar i soluii integrate ce conin procesoare pentru protocoalele Internet precum i aplicaii i servicii web implementate hardware. (www.cssinfo.com, 2006) Resursele hardware pot constitui baza realizrii unor centre de prelucrare cu un singur server sau pot fi asociate n noduri de prelucrare a informaiei bazate pe resurse distribuite. Sistemele de procesare a datelor bazate pe resurse distribuite au la baza arhitecturii componente hardware standard. Sistemele redundante de tip Redundant Array of Inexpensive Disks (RAID), formate din dou sau mai multe discuri organizate n matrice de discuri, cu scopul realizrii unui volum de date tolerant la defecte, este un exemplu de tehnologie hardware ce utilizeaz componente standard. Acest principiu al9

Tehnologii Internet

utilizrii componentelor standard cu scopul realizrii unor sisteme cu funcionalitate tolerant la defecte este utilizat n sistemele de servere de tip cluster. 1.2.2. Tehnologii Internet de comunicaii Clasa tehnologiilor de comunicaii cuprinde acele tehnologii prin care este asigurat comunicaia Internet. Tehnologiile de comunicaie sunt dezvoltate prin utilizarea echipamentelor hardware i componente software specializate. Piaa telecomunicaiilor este reglementat prin legi i alte acte legale emise de autoritile publice. n Romnia, autoritatea public responsabil pentru domeniul comunicaiilor este Autoritatea Naional pentru Reglementare n Comunicaii ANRC (ANRC, 2006). Domeniile supuse reglementrilor legale sunt resursele considerate naionale cum sunt frecvenele radio, plaja de numerotaie pentru telefonia public, proprietatea domeniilor Internet, transportul datelor i al documentelor digitale, semnturile digitale, serviciile electronice publice etc. Tehnologiile de comunicaie disponibile firmei sunt livrate de ctre operatorii de telecomunicaii autorizai. Datorit complexitii domeniului comunicaiilor i/sau interaciunii cu specificaiile legii, conectarea i gestiunea resurselor Internet externe sunt de regul contractate cu unul sau mai muli operatori de telecomunicaii. Caracteristicile canalelor de comunicaie determin clasificarea comunicaiilor n: Comunicaie pe fir (cablu) o Operatori de telefonie fix (reea n topologie stea) Servicii de telefonie i transmisiuni de date (viteza maxim 56Kbps) prin reea analogic comutat pe dou fire de tip dial-up Public Switched Telephone Network (PSTN) Servicii de telefonie i transmisiuni de date prin reele comutate de telefonie digital de tip ISDN. (64, 128, 2Mbps) Transmisiuni digitale prin linii fizice comutate sau nchiriate tehnologie ADSL (Viteze de pn la 8Mbps) o operatori de cablu coaxial (reea n topologie bus) 128, 256 Kbps, de regul operatori de cablu TV. Comunicaie prin fibr optic Comunicaie radio o WiFi WiMax 1- 100Mbps pe frecvene libere 2,4 GHz, 5.4GHz o Prin frecvene radio operate de operatori de telecomunicaii liceniai (Radio Comunicaii SA, Orange, Vodafone) o Transmisiuni de date prin echipamente fixe prin canal radio dedicat. o Transmisiuni de date mobile prin canale GPRS de telefonie mobil. o Transmisiuni de date prin canale dedicate (nchiriate) folosind reeaua de telefonie mobil. o Comunicaii prin satelit o Transmisiuni de date pe canale dedicate (nchiriate) n locaii fixe o Transmisiuni de date mobile. Necesitatea conectrii firmei la internet este manifestat prin alegerea a cel puin unui operator de telecomunicaii. Operatorul va instala la sediul firmei canalul de comunicaie contractat, eventual echipamentele i serviciile software necesare firmei pentru comunicaia Internet.10

Cap 1: Conceptele Internetului

Un rol foarte important n portofoliul soluiilor de comunicare disponibile firmelor contemporane sunt soluiile de comunicare bazate pe telefonia mobil. Serviciile oferite de operatorii de telecomunicaii mobile sunt foarte variate i includ soluii de cofinanare a investiiei iniiale. Terminalele reelelor de telefonie mobil sunt capabile s transmit i s prelucreze sunete, imagini, filme, aplicaii la cerere cum sunt cititoare detectoare de coduri de bare, soluii de identificare bazate pe tehnologia RFId, s asocieze datelor coordonatele geografice calculate pe baza tehnologiilor GPS (Global Positioning System) i s foloseasc sisteme de transmisiuni securizate bazate pe semnturi digitale. Pe msur ce reeaua Internet a evoluat, au aprut i s-au dezvoltat servicii fundamentale. La rndul lor, serviciile au influenat gradul de folosire i de extindere a Internet-ului. Dintre acestea, cele care au avut un impact deosebit sunt (Roca et al., 2004): Servicii de baz: o Nume n adres IP: Domain Name System (DNS) o Pot electronic: Protocolul pentru transport potal Simple Mail Transport Protocol (SMTP) i protocolul pentru oficiul potal Post Office Protocol (POP) o Web: World Wide Web (WWW) o Transfer fiiere: File Transfer Protocol (FTP) o Servicii de tiri: News Transport Protocol (NNTP) o Voce: Voice over IP (VoIP) Servicii avansate o Servicii de stocare n siguran bazate pe serviciul web (WebDAV) o Protocoale securizate: Secure IP (IPSec), Virtual o Private Network (VPN) o Semnturi digitale, Certificate digitale o Servicii pentru echilibrarea ncrcrii reelei: Network load balancing (NLB) o Servicii pentru autentificare de la distan: Remote Authentication Dial In User Service (RADIUS) Servicii de integrare n reeaua Internet a altor tipuri de reele de telecomunicaii: o Serviciul Web integrat cu sistemul de mesaje scurte SMS al reelelor de telefonie mobil GSM. o Integrarea serviciului SMS al reelelor de telefonie mobil cu sistemul de pot electronic SMTP i POP. o Serviciul Wireless Access Protocol pentru integrarea navigatoarelor telefoanelor mobile cu serviciile web Servicii speciale o Integrarea aplicaiilor bazate pe sisteme distribuite i eterogene prin apelul procedurilor la distan prin protocolul web i XML: Extensible Markup Language Web services o Servicii pentru interogarea de la distan a coleciilor de date: Reporting services o Gzduire a aplicaiilor, bazelor de date sau a sistemelor de calcul. (Hosting Services) Tendina actual este aceea de a folosi tehnologiile de virtualizare care permit gzduirea mai multor sisteme de calcul virtuale (sisteme de operare) ntr-un singur sistem fizic.11

Tehnologii Internet

Lista serviciilor poate continua cu servicii complexe ce nu pot fi cuprinse ntr-o anume categorie, dar se bazeaz pe principiul conectivitii Internet, pe schimbul de documente digitale convenit prin contractul ntre pri i pe o anumit modalitate de securizare i decontare. Modelul de afaceri pe baza cruia firma utilizeaz canalele de telecomunicaii prin care menine conexiunea cu reeaua Internet poate fi de tip: Decontare bazat pe timpul exploatrii. Model bazat pe capacitate de date limitat a canalului, canal pe care firma nu l utilizeaz permanent. Acest tip de decontare este ce mai adesea utilizat n cazul conexiunilor prin linii telefonice comutate sau prin reelele de telefonie mobil (Dial-up). Bugetul asociat acestui model de exploatare este variabil. Canal cu band partajat, buget fix. Model de decontare n care nu este garantat calitatea serviciului, dar valoarea este limitat la o valoare fix. Caracteristicile tehnice ale acestui tip de contract sunt utile unei prezene Internet permanente de performan redus. Canal de comunicaie cu band garantat i buget fix. Acest tip de contract poate cuprinde i garania calitii serviciului. Cunoscut i sub numele de contract utilizator de band larg (broadband) devine contractul standard pentru exploatare n mediul de afaceri. Pe baza bugetului fix i al garaniei serviciului firma poate defini o prezen internet continu i supus unor norme de calitate, design i serviciu la nivelul ateptrilor partenerilor. Decontare bazat pe buget variabil cu o component fix i una variabil n relaie cu exploatarea bazat pe timp a unor resurse de comunicaie partajate. 1.2.3. Tehnologii Internet Software Clasa tehnologiilor software cuprinde acele tehnologii preponderent software prin care firma asigur serviciile necesare exploatrii resurselor interne i externe. Aplicaii software, servicii software, componente software, programe sunt cteva din denumirile utilizate pentru a desemna implementarea tehnologiilor software. Tehnologiile software sunt asociate cu dreptul de autor i licena de exploatare. Autoritile publice au reglementat exploatarea drepturilor de autor i piaa licenelor software n ncercarea de a limita evaziunea fiscal i distribuia ilegal a programelor. n Romnia, Oficiul pentru Drepturile de Autor - ORDA este mandatat prin lege n a impune i monitoriza domeniul drepturilor de autor i al pieei tehnologiilor software. Firma poate utiliza tehnologiile software pe baza unor modele de afaceri: Achiziie. Utilizarea de tehnologii pe baza licenelor de utilizare. Prezente pe pia sub numele mrcilor comerciale ca pachete de programe, licena d dreptul utilizrii neexclusive a produselor software cuprinse n pachet dup un model de liceniere autorizat conform legii. Exemplele sugestive pentru acest model sunt pachetele de programe produse de corporaii cu notorietate internaional cum sunt Microsoft, Oracle, IBM, SAP etc. Suita de programe cuprinse n licena produsului Microsoft SQL Server 2005 permite utilizarea tehnologiei SQL pe un server liceniat n modul per procesor sau per client i licene pentru clienii serviciului. Licenele pot fi achiziionate pe durat nedeterminat sau prin abonament limitat n timp. Dezvoltare. Prin dezvoltare proprie. Pe baza forei de munc specializate, i a altor contracte cu parteneri de afaceri, firma devine proprietarul unei soluii12

Cap 1: Conceptele Internetului

software pe care este obligat de lege s o nregistreze la ORDA i eventual la OSIM. Managementul firmei este constrns s se asigure c mediile de dezvoltare al tehnologiilor i contractele cu furnizorii sunt de natur s genereze o proprietate fr litigii. Costurile acestui model sunt mari i solicit resurse importante. Sistemul organizatoric este deosebit de important. Cele mai bune practici n domeniu impun utilizarea rolului de manager de proiect (project manager). Asamblare. Tehnologii disponibile Internet prin servicii software, decontate dup modul de utilizare integrate cu produsele proprii i cu produsele disponibile pe baza licenelor achiziionate. Tehnologii software disponibile firmei ca servicii sunt de regul exclusiv prin Internet, respectiv nu dau posibilitatea instalrii lor pe resursele interne ale firmei. Firma are ca opiune integrarea acestor servicii n portofoliul propriu de servicii sau pentru exploatare intern. Serviciul de cutare Google poate reprezenta un exemplu pentru acest model de lucru. Firma nu poate dispune de resursele hardware, de comunicaii implicate n constituirea unei baze de cutare de nivelul celui ntreinut de compania Google. Firma utilizeaz serviciul de cutare pus la dispoziie prin Internet i ntreinut de Google. Exemplul Google poate s nu fie semnificativ deoarece este un serviciu public gratuit, dar devine semnificativ n cazul n care firma dorete un serviciu specializat, de exemplu rezultatele cutrilor s nu conin reclame. Serviciul specializat va fi livrat pe baza unui contract prin care firma achit valoarea serviciului Google. Exemplu poate fi extins i pentru alte servicii software livrate pe baza unui asemenea model. Configurare. Soluii de uz general, configurate de specialitii IT ai firmei pentru a surprinde specificul activitii. Situaia n care tehnologiile sunt achiziionate astfel nct s fie numai configurate se potrivesc cel mai bine soluiilor de tipul videoconferin (protocol SIP sau H323), n care specialitii configureaz local produsele pentru a beneficia de infrastructura pus la dispoziie de furnizorul soluiei. Utilizare. Soluii de uz general, disponibile prin Internet i configurate de la distan accesibile permanent firmei printr-un model de afaceri bazat pe plata serviciului prin abonament.

1.2.4. Tehnologii Internet Dataware Clasa tehnologiilor dataware cuprinde acele tehnologii hardware, software i comunicaii precum i tehnici specializate pentru stocarea, ntreinerea i exploatarea volumelor mari de date denumite data warehouse. Data warehouse manipuleaz datele care reprezint istoria tranzaciilor economice ale firmei folosite pentru analiza i suportul deciziei de afaceri ncepnd cu planificarea strategic pn la evaluarea performanei. Datele din Data Warehouse sunt organizate optim pentru suportul analizei i nu pentru suportul tranzaciilor n timp real. Tehnologiile dataware fac posibil analiza n timp real, furniznd rspunsuri rapide la interogri analitice complexe i iterative. Modelul multidimensional de date online analytical processing (OLAP) i tehnicile de agregare organizeaz i totalizeaz volume mari de date aa nct pot fi evaluate rapid folosind analiza online i instrumente software grafice.

13

2. Servicii Internet sub Free BSDFreeBSD este un sistem de operare liber Unix-like descendent din AT&T UNIX prin ramura Berkeley Software Distribution (BSD), mai exact provine din sistemele de operare 386BSD i 4.4BSD. Ruleaz pe calculatoare cu procesoare compatibile cu familia Intel x86, dar i pe procesoare DEC Alpha, UltraSPARC (al firmei Sun Microsystems), Itanium (IA-64), AMD64, PowerPC, PC-98, ARM i MIPS. FreeBSD este un sistem de operare complet, dezvoltat unitar. Nucleul, driverele pentru dispozitive i utilitarele din spaiul utilizatorului, cum ar fi interpretorul de comenzi sau shell-ul, sunt inute n acelai arbore de urmrire a revizuirilor codului surs (CVS). Aceast metod de dezvoltare vine n contrast cu cea folosit pentru Linux (un sistem de operare similar, dar mai bine cunoscut), unde nucleul este dezvoltat de o echip de dezvoltatori, utilitarele din spaiul utilizator i aplicaiile sunt dezvoltate de alte echipe (cum ar fi proiectul GNU), iar apoi toate acestea sunt mpachetate mpreun i publicate de alte echipe sub form de distribuii Linux. Ca sistem de operare, FreeBSD este privit n general ca fiind foarte fiabil i robust, iar dintre sistemele de operare ce raporteaz la distan timpul de funcionare de la ultima iniializare a sistemului (uptime) [1], FreeBSD este cea mai popular alegere dintre sistemele de operare libere afiate n lista Netcraft a primelor 50 de servere web cu cel mai lung uptime [2] (uptime n unele versiuni de GNU/Linux nu poate fi calculat). Un uptime lung indic de asemenea faptul c nu au fost necesare actualizri ale nucleului sistemului de operare, pentru c instalarea unui nou nucleu implic reiniializarea sistemului i rescrierea de la zero a contorului sistemului. Fig. 1: Mascota

2.1. Istoria i dezvoltarea FreeBSD

proiectului FreeBSD:

Dezvoltarea iniial a sistemului FreeBSD a nceput n 1993, pornind de la sursele 386BSD. Totui, din cauza ngrijorrilor privind legalitatea tuturor surselor folosite n 386BSD i a unui proces ntre Novell (pe atunci proprietarul drepturilor pentru UNIX) i Berkeley, FreeBSD a sfrit prin reproiectarea unei mari pri a sistemului pentru versiunea FreeBSD 2.0 (ianuarie 1995), folosind versiunea 4.4BDSLite de la Universitatea din California, Berkeley. Manualul FreeBSD (n limba englez)1 cuprinde mai multe date istorice despre geneza sistemului de operare FreeBSD. Poate cel mai notabil ctig al versiunii FreeBSD 2.0 a fost restructurarea sistemului Mach Virtual Memory (memorie virtual Mach) al CMU-ului original, care a fost optimizat pentru performan sub ncrcri mari, precum i crearea sistemului de porturi, care face ca descrcarea, construirea i instalarea de software din surse tere foarte uoar. FreeBSD echipeaz situri de mare succes cum ar fi: cdrom.com (un depozit imens de software care a dobort multe recorduri din internet), Hotmail i Yahoo!. FreeBSD 3.0 a adus mai multe schimbri: mutarea la formatul binar ELF, suport iniial pentru sistemele SMP i de asemenea a adugat suport pentru o nou platform pe 64 bit: Alpha. La vremea sa, ramura 3.X a fost sever criticat pentru c multe1

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html 14

Cap 2: Servicii Internet sub Free BSD

schimbri nu erau evidente n beneficiul i afectarea performanei, dar a fost un pas necesar pentru dezvoltarea a ceea ce avea s fie ramura de mare succes 4.X. Iniial, FreeBSD a folosit i pe post de logo mascota BSD Daemon, dar n anul 2005 a fost organizat o competiie pentru un logo propriu. Pe data de 8 octombrie, 2005, competiia a luat sfrit, iar proiectul propus de Anton K. Gural a fost ales s devin logo FreeBSD. BSD Daemon, rmne ns mascota proiectului FreeBSD (fig. 1). 2.1.1. FreeBSD 5 schimbri i dezvoltare Versiunea FreeBSD final i ultima din ramura 5-STABLE este 5.5, a fost lansat n mai 2006. Dezvoltatorii FreeBSD menin (cel puin) dou ramuri de dezvoltri n acelai timp. O ramur -STABLE de FreeBSD este creat pentru fiecare numr de versiune major, pentru care sunt scoase versiuni odat la fiecare 4--6 luni. Ulitma versiune de FreeBSD 4-STABLE este 4.11, care este i ultima din versiunile ramurii 4-STABLE. Prima versiune 5-STABLE a fost 5.3 (de la 5.0 la 5.2.1 au fost parte din ramura -CURRENT). Prima versiune 6-STABLE a fost 6.0. Ramura de dezvoltare, -CURRENT, n acest moment este 7.0-CURRENT i conine caracteristici agresive pentru un nucelu nou i pentru aplicaii din spaiul utilizator. Dac o caracteristic este suficient de stabil i matur, atunci ea poate fi portat pe versiuni anterioare ale ramurii -STABLE (n slang-ul FreeBSD operaia este denumit MFC, Merge from CURRENT). Modelul de dezvoltare FreeBSD este descris mai amnunit ntr-un articol, n limba englez, de Niklas Saers2. Marea diferen n FreeBSD 5 a fost o schimbare major n mecanismul de nivel jos al blocrii nucleului care permite un suport mai bun pentru multiprocesor simetric (SMP, symmetric multiprocessor), elibernd o mare parte de nucleu de blocarea multiprocesorului, menionat uneori ca Big Giant Lock. Acum este posibil executarea n acelai timp mai multor procese n mod nucleu. Alt schimbare major include o soluie de thread-ing m:n, numit KSE, care acum este biblioteca implicit pentru threading (pthreads) ncepnd cu 5.3 (crearea ramurii 5-STABLE). Terminologia m:n, unde m i n sunt ntregi pozitivi, implic faptul c m fire de execuie (thread) din spaiul utilizator corespund la n fire de execuie ale nucleului. Multe alte caracteristici noi sunt legate de securitate. A fost format proiectul TrustedBSD de ctre Robert Watson cu scopul expres de a aduga ncredere n funcionalitatea sistemului de operare pentru FreeBSD. Un mediu extensibil pentru controlul obligatoriu al accesului (TrustedBSD MAC Framework, MAC este acronim pentru mandatory access control), un sistem de fiiere Access Control Lists (ACL, liste de control pentru acces) i noul sistem de fiiere UFS2 toate provin din TrustedBSD. Unele din funcionalitile TrustedBSD au fost integrate de asemenea i n sistemele de operare NetBSD i OpenBSD. FreeBSD 5 a schimbat de asemenea semnificativ stratul block I/O (bloc de intrare/ieire) prin introducerea mediului de transformare a cererii intrare/ieire pentru disc modular GEOM (GEOM modular disk I/O request transformation framework), contribuie a lui Poul-Henning Kamp. GEOM activeaz crearea simpl a multor feluri de funcionalitate, cum ar fi creare de imagini n oglind, mirroring, (gmirror) i criptarea (gbde). Lansarea recent a FreeBSD 5.4 a confirmat ramura FreeBSD 5.X ca pe o verisiune foarte stabil i foarte performant, n ciuda faptului c a avut o perioad de concepie lung din motive de set cuprinztor de caracteristici.2

http://www.freebsd.org/doc/en_US.ISO8859-1/books/dev-model/ 15

Tehnologii Internet

2.1.2. FreeBSD 6 i 7 FreeBSD 6.1 a fost lansat n 8 mai, 2006, iar 7.0-CURRENT este n dezvoltare activ. Aceste versiuni continu s lucreze la optimizri SMP i threading, la zona funcionalitii avansate a 802.11 i la auditarea evenimentelor de securitate TrustedBSD. Realizrile primei versiuni ale acestora includ nlturarea Giant lock din VFS, nlocuirea bibliotecii libthr cu o implementare 1:1 pentru threading care se execut mai bine, i adugarea unei implementri de audit BSM, numit OpenBSM creat de proiectul TrustedBSD, care se bazeaz solid pe implementarea BSD gsit n producia Open Source de la Apple: Darwin, publicat sub o licen de tip BSD. 2.1.3. Compatibilitate cu Linux FreeBSD ofer compatibilitate binar cu mai multe alte sisteme de operare Unixlike (de tip unix), inclusiv cu Linux. Motivaia din spatele acestui fapt este de obicei atribuit rulrii aplicaiilor dezvoltate pentru Linux, adesea comerciale, i care sunt distribuite de obicei sub form binar, astfel ele ne putnd fi portate pe FreeBSD n lipsa acceptului acelor care controleaz codul surs. Din linie de comand, compatibilitatea permite utilizatorilor de FreeBSD s ruleze majoritatea aplicaiilor care sunt distribuite doar ca binare Linux. n comparaie cu numrul vast de aplicaii native disponibile pentru FreeBSD folosind colecia de porturi, aceste aplicaii sunt minoritare. Aplicaiile folosite n nivel de compatibilitate Linux includ StarOfice, versiunea Linux de Netscape, Adobe Acrobat, RealPlayer, VMware, Oracle, WordPerfect, Skype, Doom 3, Quake 4, seria Unreal Tournaments, Sea Monkey, i altele. n general, pare s nu existe nici o diminuare notabil a performanei cnd se ruleaz binarele Linux comparativ cu aplicaiile native FreeBSD. Dei exist multe aplicaii care ruleaz fluent n stratul de compatibilitate, trebuie notat c stratul nu este complet, astfel ducnd unele binare Linux n situaia de nu putea fi folosite sau de a le limita funcionalitatea, probabil din cauza faptului c stratul de compatibilitate suport doar apelurile de sistem pentru nucleul Linux 2.4.2, o distribuie care a fcut istorie. Un exemplu din aceast categorie este Cedega, produsul firmei TransGaming pentru rulat jocuri de Microsoft Windows sub Linux. Folosirea acestuia n acest moment este n mare msur compromis din cauza unui strat de compatibilitate incomplet. Exist ns un succes limitat n folosirea lui la rularea jocurilor pe FreeBSD. A fost acceptat un proiect pentru ediia 2006 Sumer of code, de a actualiza stratul de compatibilitate i de a implementa apeluri de sistem care lipsesc. Pentru cele mai multe aplicaii tiinifice, compatibilitatea Linux lucreaz corect; aplicaii precum nmrpipe, ccp, Mathematica sau Matlab lucreaz conform ateptrilor. 2.1.4. Licen Ca i sistemele de operare surori, codul din FreeBSD este publicat sub termenii diferitelor licene. Totalitatea codului nucleului i cea mai nou creat de cod este publicat sub termenii licenei BSD cu dou clauze, care permite tuturor s foloseasc i s redistribuie FreeBSD dup dorin. Exist de asemenea pri publicate sub alte licene: GPL, LGPL, ISC, licen BSD cu trei clauze, licen BSD cu patru clauze. Pentru unele funcionaliti particulare, exist de asemenea i binare fr cod surs cum ar fi Atheros HAL pentru funcionalitate wireless i o unealt doar n format binar pentru AAC RAID de la Adaptec.16

Cap 2: Servicii Internet sub Free BSD

2.1.5. Produse derivate din FreeBSD O gam larg de produse sunt bazate direct sau indirect pe FreeBSD. Aceast gam cuprinde de la dispozitive de tip embedded (integrate), cum ar fi rutere Juniper Networks i sisteme de operare firewall de la Nokia, la poriuni ntregi ale altor sisteme de operare incluznd aici Linux i RTOS WxWorks. Darwin, inima Mac OS X de la Apple, se bazeaz n mare msur pe FreeBSD incluznd aici sistemul de fiiere virtual, stiva de reea i componente din spaiul utilizator. Apple continu s integreze cod nou din FreeBSD i contribuie napoi ctre FreeBSD cu schimbri. Produsul open source OpenDarwin, dezvoltat original din codul de baz al Apple dar acum entitate separat, include de asemenea cod FreeBSD n mod substanial. n plus exist cteva sisteme de operare originale desprinse din sau bazate pe FreeBSD incluznd aici PC-BSD i DesktopBSD, care include mbuntiri destinate utilizatorilor de acas sau staiilor de lucru; distribuiile FreeSBIE i Frenzy live CD; produsele firewall embedded m0n0wall i pfSense; DragonFly BSD o notabil desprindere din FreeBSD 4.8 conceput pentru o strategie de sincronizare multiprocesor diferit care a fost apoi aleas pentru FreeBSD 5 i dezvoltarea unor caracteristici microkernel (micronucleu); i nu n ultimul rnd RoFreeSBIE, un proiect rezultat colaborrii membrilor ROFUG. 2.1.6. TrustedBSD Proiectul TrustedBSD ofer FreeBSD-ului un set de extensii de ncredere pentru sistemul de operare, fiind iniiat de Robert Watson. Scopul proiectului a fost implementarea conceptelor de la Common Criteria pentru Information Technology Security Evaluation (evaluarea securitii tehnologiei informaiilor) i Orange Book. Acest proiect rmne nc n dezvoltare, i multe din aceste extensii de ncredere au fost integrate n lista de dezvoltare a FreeBSD 5.X, 6.X i acum 7.X-CURRENT. Pincipalul obiectiv al proiectului TrustedBSD este contribuia la Access Control Lists (listele de control al accesului), auditul evenimentului, atribuii extinse, capaciti de acord fin i mandatory access control (control al accesului obligatoriu). Ca parte din proiectul TrustedBSD, exist de asemenea un port care ruleaz pe FreeBSD al implementrii FLASK/TE al NSA n SELinux. Contribuii mai recente includ dezvoltarea OpenBSM, o implementare open source a API-ului Basic Security Module (BSM, modul de securitate fundamental) al companiei Sun i un format de fiiere pentru jurnale de audit, care suport un sistem de audit pentru securitate extins care face parte din FreeBSD 6.1. Dei majoritatea componentelor proiectului TrustedBSD sunt incluse n arborele surs principal al FreeBSD, aceasta nu este singura lor destinaie. Multe caracteristici, odat ajunse la maturitate, i gsesc locul n OpenBSD sau Darwin de la Apple Computer.

17

Tehnologii Internet

2.2. Configurarea unui server multifuncional pe baza la FreeBSD2.2.1. Introducere: Vom ncerca s instalm un server multifuncional pe baza sistemului de operare din familia UNIX FreeBSD. FreeBSD este un sistem comod organizat i se deosebete de cele alte sisteme de operare UNIX prin distibutivul simplu i modalitatea simpl de instalare. Serverul nostru va ndeplini urmtoarele funcii: 1. Marrutizator 2. Mail server (POP3 + IMAP) 3. FTP server 4. Web server (Apache + PHP) 5. Data base server (MySQL) 2.2.2. Instalarea sistemului Vom examina versiunea FreeBSD 5.0. Pentru simplitate se va descrie toata procedura pe pai. Dac se a face totul corect, instalarea va dura circa 40 minute. 1. plasam CD ul cu distributivul FreeBSD n CD-ROM. 2. Dup ce se pornete instalarea alegem regimul CUSTOM de instalare. Acest regim ne va permite s instalm doar ceea ce avem nevoie. 3. Pasul urmtor este de a mpri corect HDD-ul pe partiii. Dat fiind faptul c pentru serverul nostru HDD-ul nu joac cel mai important rol, l vom mpri aa cum ne ofer sistemul. Activam punctul PARTITION apsm litera A , i dup ce el a mprit totul automat apsm litera Q . 4. Activm punctul LABEL. Apsm iari litera A i apoi Q . 5. Activm punctul DISTRIBUTIONS. Apoi de aici alegem MINIMUM. Adic instalm sistemul cu minimum de resurse. Apoi EXIT 6. Activm punctul MEDIA, de acolo alegem de unde vom instala sistemul n cazul nostru va fi CDROM ; 7. Activm punctul COMMIT. i pe vreo 20 minute putem savura o cafea. 8. Activm punctul CONFIGURATION. De aici putei s adugai porturile i sursele care se afla n DISTRIBUTION, PACKAGE, PORTS. Apoi mergem s schimbm parola pentru userul ROOT; 9. n Punctul USER MANAGEMENT adugm un utilizator din grupa WHEEL, pentru a putea trece de la acest user la ROOT 10. Setam TIME ZONE 11. Trecem la punctul NETWORKING 12. Atenie!!! Se presupune c serverul nostru are 2 plci de reea. Una se va uita n Internet alta spre reeaua local. 13. Mergem la punctul GATEWAY, apsm spaiu i bifam opiunea. 14. Accesm punctul INTERFACES. Vom vedea pe ecran toate plcile noastre de reea. 15. La dou din ele care pot s se numeasc lnc0 i lnc1 (n dependen de versiune denumirea poate sa varieze, dar 0 i 1 este neaprat.) la sfritul rndului este notat ETHERNET. Deci anume acestea sunt plcile noastre.18

Cap 2: Servicii Internet sub Free BSD

16. O activm pe prima. Setm numele calculatorului, numele de domeniu, adresa DNS, i IP-ul din reeaua din care face parte aceasta plac. 17. Activm a doua plac i cu ea procedm la fel. 18. Ieim din instalare i restartm calculatorul. 19. Felicitri ROUTER-ul este instalat 2.2.3. Setarea marrutizatorului Deci deja avem calculatorul cu 2 interfee de reea din care una se uita spre Internet si alta spre reeaua local. Vom continua pe pai.Server FreeBSDINTERNET

LAN local 10.7.0.0/16 NIC2 10.7.0.1/16 NIC1 195.131.31.240

1. Verificm dac funcia de router este activat./etc/rc.conf gateway_enable='YES'

2. Recompilm nucleul adugnd elementele de care vom avea nevoie i eliminnd cele de care nu avem nevoie. Asta se face n felul urmtor.cd /usr/src/sys/i386/conf cp GENERIC my # facem o copie a nucleului

Redactam fiierul adugnd:########### FIREWALL options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_FORWARD #enable transparent proxy support options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default ########### DUMMYNET saiper in FreeBSD options DUMMYNET ######### IPDIVERT - sistemul NAT options IPDIVERT #divert sockets

3. Recompilamconfig my cd ../../depend/my make depend && make && make install

4. Restartam computerulshutdown -r now

5. Cream fiierul rc.firewall.local Presupunem ca reeaua local este 10.7.0.0/16 i interfaa ce privete Internetul este 195.131.31.240, care este asociata interfeei dc1.19

Tehnologii Internet

Atunci fiierul rc.firewall.local va fi:#!/bin/sh /sbin/ipfw -f flush /sbin/ipfw add 5000 divert natd ip from 10.7.0.0/16 to any out xmit dc1 /sbin/ipfw add 5100 divert natd ip from any to 195.131.31.240

activm acest fiier:sh /etc/rc.firewall.local

6. Pornim programul NATD /sbin/natd -n dc1 Din acest moment routerul ar trebui s lucreze. Dar dup prima rencrcare totul se va pierde de aceea trebuie s automatizm procesul de ncrcare a marrutizatorului. 7. Cream fiierul /etc/rc.local i introducem urmtorul text/sbin/natd n dc1 /bin/sh /etc/rc.firewall.local

8. Restartm sistemul i ne convingem c totul lucreaz. 2.2.4. Mail server Mail serverul const din 2 componente. Componenta de transmitere a e-mailurilor de la un calculator la altul - protocolul SMTP i componenta de primire a scrisorilor de la server spre client protocoalele POP3 i IMAP.

2.2.4.1. Setarea SMTP1. Agentul standard pentru SMTP este programul sendmail. Vom avea nevoie de urmtoarele fiiere de configurare:/etc/mail/access /etc/mail/aliases /etc/mail/local-host-names /etc/mail/mailer.conf /etc/mail/mailertable /etc/mail/sendmail.cf /etc/mail/virtusertable

2. Setam fiierul /etc/mail/access . Aici noi putem seta hosturile i IP-urile crora le permitem sau nu s se foloseasc de SMTP-ul nostru. Editm fiierul.cyberspammer.com 550 We don't accept mail from spammers FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers another.source.of.spam REJECT okay.cyberspammer.com OK RELAY

Dac este setat OK sau RELAY atunci de pe aceste hosturi sau IPuri, sau nceputuri de IPuri se vor putea transmite scrisori. Dac este REJECT atunci nu se va permite de transmis.20

Cap 2: Servicii Internet sub Free BSD

3. n /etc/mail/aliases se pot notata sinonimele la utilizatori i liste de utilizatori. Presupunem c dorim ca utilizatorul X s primeasc e-mailuri adresate i pe numele X i pe Y. Atunci vom nota: Y:X Dac noi dorim ca adresa Y s se refere la mai muli abonai atunci scriem:Y: joe,eric,paul sau Y: [email protected], [email protected], [email protected]

Dup ce am editat acest fiier neaprat trebuie s scriem:Newaliases

2.2.4.2. Configurarea POP3 i IMAPPentru nceput vom instala un program care ne permite s folosim protocoalele IMAP i POP3. Sunt foarte multe programe de acest fel. Unul din ele poate fi gsit i aici http://www.washington.edu/imap/ programul se numete IMAPD ftp://ftp.cac.washington.edu/imap/imap.tar.Z Dezarhivm:gunzip imap.tar.Z tar xvf imap.tar

Trecem n directoriul IMAP i compilm:make bsf

Trecem n directorul ../imapd i copiem fiierul imapd i pop3 n /usr/local/libexec Intrm n fiierul /etc/inetd.conf i tergem semnul # din faa la IMAP4 i POP3, n rndul POP3 n loc de pop3 schimbam n ipop3d, i la IMAP respectiv tot schimbm Restartam serviciulps ax | grep inetd'

inem minte numrul din /usr/sbin/inetd wW i scriem kill HUP numrul. Controlm, trebuie s lucreze ambele protocoale 2.2.5. FTP server Ca ftp server poate fi folosit programul PROFTPD . Acest program poate fi gsit aici http://www.proftpd.org De asemenea putem instala din porturicd /usr/ports/ftp/proftpd/ make all install make clean

Pornim serviciul din fiierul /etc/inetd.conf Adugm: ftp stream tcp nowait root /usr/local/libexec/proftpd proftpd21

Tehnologii Internet

Restartm serviciulinetd kill HUP

Configurm serviciul Copiem fiierul de configurarecp /usr/local/etc/proftpd.conf.default /usr/local/etc/proftpd.conf

Acum n fiierul /usr/local/etc/proftpd.conf putem configura toate opiunile dorite. Explicaii adugtoare sunt prezente aici http://www.proftpd.org/docs 2.2.6. Web server (Apache + PHP) Exist dou versiuni absolut independente de Web: servere Apache. Apache 1 i 2. n acest curs vom examina cum se instaleaz apache 2 care poate fi gsit aici: http://www.apache.org/ Se dezarhiveaz cu ajutorul comenzii tar zxvf , apoi intram in directoriul creat./configure Make Make install

Automatizam ncrcarea serverului, n fiierul /etc/rc.local (dac nu exist acest fiier l crem noi) adugm :/usr/local/apache22/bin/apachectl start

Toate fiierele /usr/local/apache22

Apache

inclusiv

acele

de

configurare

se

afla

n

Urmtorul pas este instalarea PHP pe care l gsim aici www.php.net Dezarhivm i configurm metoda de instalare prin:./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql make make install

Dac nc nu avem instalat MySQL tergem mbinarea --with-mysql Instalarea MySQL va fi explicat n pasul urmtor. Schimbm configuraia Apache: Intrm n /usr/local/apache22/conf/httpd.conf Verificm dac exist: Pentru PHP4LoadModule php4_module libexec/libphp4.so

Pentru PHP5LoadModule php5_module libexec/libphp5.so

Adugm sau scoatem # din fata la rndurilorAddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps

Restartam apache/usr/local/apache22/bin/apachectl restart

22

Cap 2: Servicii Internet sub Free BSD

2.2.7. Instalarea MySQL Exist cteva pachete de distribuie MySQL. Toate pot fi gsite pe www.mysql.com . Noi ne vom folosi de o versiune necompilat a programului i o vom compila-o singuri. MySQL necompilat toate fi gsit aici: ftp://unix.hensa.ac.uk/sites/master.us.finkmirrors.net/distfiles/mysql-4.0.16.tar.gz Dezarhivmtar -zxvf mysql-4.0.16.tar.gz -C /usr/local/src

Crem utilizatorul mysql i grupa pentru acest utilizator deoarece mysql va lucra sub propriul utilizatorpw groupadd mysql pw useradd mysql -g mysql -d /usr/local/mysql -s /dev/null

Configurm instalareacd /usr/local/src/mysql-4.0.16 ./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql

Compilmmake make install

Instalm baza de date mysqlscripts/mysql_install_db

Atribuim fiierele compilate utilizatorului mySQLchown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql/var

n mapa /usr/local/etc/rc.d/ crem fiierul mysql.sh Coninutul acestui fiier poate fi gsit n Internet, http://tutorial.ru/files/mysql/mysql.sh sau se copie urmtoarele:#!/bin/sh basedir="/usr/local/mysql" datadir="$basedir/var" pid_file="$basedir/var/mysqld.pid" bindir="$basedir/bin" PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin export PATH mode=$1 # start or stop parse_arguments() { for arg do case "$arg" in --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; esac done }

23

Tehnologii Internet # Get arguments from the my.cnf file, # groups [mysqld] [mysql_server] and [mysql.server] if test -x ./bin/my_print_defaults then print_defaults="./bin/my_print_defaults" elif test -x $bindir/my_print_defaults then print_defaults="$bindir/my_print_defaults" elif test -x $bindir/mysql_print_defaults then print_defaults="$bindir/mysql_print_defaults" else # Try to find basedir in /etc/my.cnf conf=/etc/my.cnf print_defaults= if test -r $conf then subpat='^[^=]*basedir[^=]*=\(.*\)$' dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf` for d in $dirs do d=`echo $d | sed -e 's/[ ]//g'` if test -x "$d/bin/my_print_defaults" then print_defaults="$d/bin/my_print_defaults" break fi if test -x "$d/bin/mysql_print_defaults" then print_defaults="$d/bin/mysql_print_defaults" break fi done fi # Hope it's in the PATH ... but I doubt it test -z "$print_defaults" && print_defaults="my_print_defaults" fi # # Test if someone changed datadir; In this case we should also read the # default arguments from this directory # extra_args="" if test "$datadir" != "@localstatedir@" then extra_args="-e $datadir/my.cnf" fi parse_arguments `$print_defaults $extra_args mysqld mysql_server mysql.server` # Safeguard (relative paths, core dumps..) cd $basedir case "$mode" in 'start') # Start daemon if test -x $bindir/mysqld_safe then # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file & 24

Cap 2: Servicii Internet sub Free BSD # Make lock for RedHat / SuSE if test -w /var/lock/subsys then touch /var/lock/subsys/mysql fi else echo "Can't execute $bindir/mysqld_safe from dir $basedir" fi ;; 'stop') # Stop daemon. We use a signal here to avoid having to know the # root password. if test -s "$pid_file" then mysqld_pid=`cat $pid_file` echo "Killing mysqld with pid $mysqld_pid" kill $mysqld_pid # mysqld should remove the pid_file when it exits, so wait for it. sleep 1 while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ] do [ -z "$flags" ] && echo "Wait for mysqld to exit\c" || echo ".\c" flags=a$flags sleep 1 done if [ -s $pid_file ] then echo " gave up waiting!" elif [ -n "$flags" ] then echo " done" fi # delete lock for RedHat / SuSE if test -f /var/lock/subsys/mysql then rm /var/lock/subsys/mysql fi else echo "No mysqld pid file found. Looked for $pid_file." fi ;; 'restart') # Stop the service and regardless of whether it was # running or not, start it again. $0 stop $0 start ;; *) # usage echo "Usage: $0 start|stop|restart" exit 1 ;; esac

Atribuim drepturi acestui fiierchmod 700 mysql.sh

Lansm MySQL /usr/local/etc/rc.d/mysql.sh start

25

Tehnologii Internet

Setm parola pentru adminul mysql/usr/local/mysql/bin/mysqladmin -u root password PAROLA

Facem cteva linkuri la alte programe care vor lucra cu Internetul :ln ln ln ln ln ln -s -s -s -s -s -s /usr/local/mysql/include/mysql /usr/include /usr/local/mysql/lib/mysql /usr/lib /usr/local/mysql/bin/mysql /usr/local/bin /usr/local/mysql/bin/mysqldump /usr/local/bin /usr/local/mysql/bin/mysqladmin /usr/local/bin /usr/local/mysql/lib/mysql/libmysqlclient.so.12 /usr/local/lib

Restartm calculatorul.

26

3. Servicii Internet sub Windows3.1. Generalitin acest capitol se vor prezenta generaliti legate de sistemul de operare Windows, cu exemplificri pe Windows 2000 server. Cum cursul nu se refer la sisteme de operare, ci doar la implementarea tehnologiilor internet n acestea, nu vom insista asupra variantelor de sisteme Windows, a modului de instalare i a diferitelor faciliti furnizate de acestea, ci doar la acele module considerate utile i necesare pentru aplicaii Internet. Sistemul de operare Windows 2000 este sub licen Microsoft, i suport dou tipuri de licen: per server pentru stabilirea de ctre server a numrului de conexiuni concurente; per seat n care fiecare staie de lucru din domeniu are propriul su C.A.L. (Client Access License) achiziionat o dat cu sistemul de calcul. Prima variant este mai viabil deoarece ntr-o reea pot exista sisteme cu diferite sisteme de operare care ar putea s nu aib un C.A.L. n modul de liceniere per server, numrul de conexiuni este dat de numrul clienilor care a fost achiziionat odat cu sistemul de operare. Acest numr poate fi schimbat i se stabilete funcie de necesitile fiecrei reele. La instalarea unui sistem de operare Windows server, avem la dispoziie mai multe componente pe care le putem s le instalm sau nu. n continuare prezentm cteva din acestea cu rolul i importana lor: Certificate Service reprezint suportul pentru aplicaiile care utilizeaz chei publice de securitate, permind instalarea i configurarea certificatelor de autoritate (Certificate Authority); Internet Information Service (IIS) reprezint serviciul care se instaleaz i se configureaz pentru a putea pune la dispoziie fiiere via Web, utiliznd serviciul HTTP. Atenie: nu instalai acest serviciu pe serverele de domeniu, pentru c accesul prin http reprezint un risc de securitate suplimentar ntr-o reea de calculatoare; Network Monitor Tools o unealt din componenta Management and Monitoring Tools, folosit pentru urmrirea traficului pe reea.

3.2. Configurarea Windows 2000 ca server de domeniuLa prima conectare pe server se deschide o fereastr de configurare care ne permite s alegem din mai multe opiuni, i anume: Active directory serviciul pentru configurarea i administrarea utilizatorilor dintr-un domeniu de calculatoare File server server pentru fiere; Print server server dedicat gestionrii imprimantelor din reea i a accesului ctre acestea; Web/Media Server server dedicat publicrii fiierelor HTML sau media pe Internet sau Intranet.27

Tehnologii Internet

n Windows 200, serverul este un termen generic, care poate fi configurat n funcie de necesiti. Un server de domeniu este recunoscut generic sub denumirea de Domain Controler (DC), ntr-o reea putnd exista mai multe astfel de servere care partajeaz informaia din Active Directory n scopul unei mai mari sigurane a reelei. Proprietatea de Domain Controller este vzut n Windows 2000 ca un rol care poate fi schimbat uor ntre diferitele servere din reea. primul server care a fost configurat ca DC n reea este recunoscut i ca Master Domain Controller (MDC), toate celelalte servere fiind Secondary Domain Controller (SDM). 3.2.1. Instalare Active Directory Pasul l - Lansarea n execuie a ferestrei de configurare Start Programs Administrative Tools Configure Your Server. Pasul 2 - Instalare Active Directory n fereastra care s-a deschis se apas pe Active Directory i n josul ferestrei exist hyperlink-ul Start. n fereastra de Welcome apsai Next, apoi n alegerea tipului serverului: pentru un domeniu nou (Domain controller for a new domairi) sau ca un server suplimentar pentru un domeniu existent (Additional domain controller for an existing domairi). Atenie: Dac avei conturi de utilizatori locale precum i alte setri de securitate i csue de e-mail pe serverul pe care dorii s configurai Active Directory, aceste vor fi terse automat. Dac se instaleaz primul server, vom alege prima opiune i trecem la etapa urmtoare. Pasul 3 - Crearea unui arbore de domenii n Active Directory reelele locale sunt organizate arborescent, momentul configurrii primului server din reea coincide cu crearea unui nou arbore de domenii. Alegei, aadar, prima opiune (Create a new domain tree) i trecei la pasul urmtor unde va trebui s creai o nou pdure" (forest). Pasul 4 - Crearea unui nou nume de domenii Active Directory presupune existena unei alte structuri arborescente care reprezint scheletul de comunicaie ntre staiile din viitorul domeniu. Acest nou serviciu care trebuie instalat este DNS (Domain Name System - Sistemul numelor de domenii). Programele utilizate, n mod curent, se refer rareori la sistemele gazd, cutii potale i alte resurse prin adresa lor binar (IP), n locul acesteia fiind folosite iruri de caractere de forma: nume_host.subdomeniul.. .subdomeniu_n. domeniu Folosirea unor iruri de caractere n locul adreselor binare duce la utilizarea uoar a adreselor, fiind mult mai uor de reinut dect nite numere care nu spun mare lucru utilizatorilor obinuii. Va fi necesar un mecanism care s permit convertirea unei adrese din format ASCII n format IP, singurul format recunoscut n reea. Structura arborescent a DNS permite utilizarea de domenii cu acelai nume. Pentru a se stabili corespondena ntre nume i adresa IP se procedeaz astfel: programul de aplicaie apeleaz o procedur de bibliotec (resolver), transferndu-i ca parametru numele de domeniu; resolver-ul trimite un pachet UDP la serverul local DNS, care caut numele i returneaz adresa IP asociat acestuia; avnd adresa IP, programul apelant poate stabili o conexiune TCP cu destinaia.28

Cap 3: Servicii Internet sub Windows

Extinderea domeniilor de la diferite niveluri ale arborelui DNS se poate realiza prin crearea de proxy servere, care permit calculatoarelor unei reele s acceseze n sens unic resursele reelei Internet, acestea nefiind vzute" din exterior. n Windows 2000 Server, numele de DNS conine i numele de NetBIOS al viitorului nume al domeniului de calculatoare. n cazul nostru, vom folosi drept denumire a domeniului mydom.myorg.ro. Numele complet al fiecrei staii din viitorul domeniu va fi format din numele acesteia (NetBIOS Name) urmat de numele domeniului DNS. Pasul urmtor este reprezentat de specificarea numelui de NetBIOS al domeniului, propunerea implicit fiind reprezentat de prima categorie : mydom. Locaia implicit a bazei de date cu informaiile din Active Directory este n directorul WINNT, subdirectorul NTDS, pe discul pe care a fost instalat sistemul de operare (n cazul nostru, partiia C :). Aceast locaie poate fi schimbat (prin apsarea butonului Browse), dar nu v deranjeaz cu nimic dac rmne acolo. De asemenea, log-urile (jurnalul de activitate) sunt salvate implicit la aceeai adres de pe disc. Pentru ca anumite obiecte din Active Directory s poat fi accesibile din orice punct al reelei, acestea trebuie s fie puse la dispoziie n reea prin crearea unui share. Locul de salvare a acestor obiecte este n directorul WINNT, subdirectorul SYSVOL. V recomandm s folosii opiunile implicite ! Utilitarul de instalare i configurare a Active Directory v ofer posibilitatea de configurare n aceast etap a serverului DNS, se recomand instalarea i configurarea automat a acestuia pe calculatorul curent. Pasul 5 - Permisiunile Aceast etap este foarte important din punctul de vedere al structurii reelei. Prima opiune (Permissions compatible with pre-Windows 2000 servers) ofer posibilitatea de a conecta la server staii care au instalat sisteme de operare mai vechi dect Windows 2000. A doua opiune (Permissions compatible only with Windows 2000 servers) asigur o securitate mult mai bun domeniului creat. n cazul n care toate staiile i serverele din domeniul creat au drept sistem de operare Windows 2000 sau un sistem Windows mai nou, se recomandm a doua opiune. Dac nu, atunci obligatoriu este utilizarea primei opiuni. n cazul n care pe viitor pot exista cderi ale serviciului Active Directory, serverul poate fi pornit n Directory Service Restore Mode care permite o recuperare a informaiilor. Pentru accesul la aceast opiune avei nevoie de o parola. Pentru a accesa opiunea de Restore, introducei CD-ul cu kit-ul de instalare a sistemului de operare n unitatea de CD-ROM i repornii sistemul. Dup repornire, se lanseaz aplicaia Setup de pe CD i alegei opiunea Restore (tasta R). Pasul 6 - Ultima etap Ultima etap ne prezint un scurt sumar al informaiilor configurate, dup care se trece la configurarea efectiv a Active Directory. Pentru a putea configura Active Directory avei nevoie de CD-ul de instalare a sistemului de operare W2K Server, ntr-o etap anterioar, litera CD-ROM-ului a fost schimbat cu Z : aa c fiierele de instalare trebuie cutate la aceast nou locaie, n directorul I386 de pe discul d-voastr. Finalizarea instalrii presupune n acelai timp repornirea serverului pentru iniializarea noilor parametri de configurare a acestuia. Dup repornire, n fereastra de conectare (Log On to Windows) apare o nou list de opiuni din care putei alege domeniul la care v vei conecta. Pe fiecare staie29

Tehnologii Internet

de lucru inclus n viitorul domeniu va aprea, pe lng numele domeniului, numele de NetBIOS al staiei. Pentru a nu mai vizualiza de fiecare dat la repornire fereastra de configurare a serverului, dezactivai opiunea Show this screen at startup i nchidei fereastra. Una dintre ultimele modificri pe care trebuie s le efectuai este reprezentat de schimbarea adresei DNS de la configurarea adaptorului de reea din 127.0.0. l (adresa de loopback) n adresa serverului care reprezint n acest moment i server de DNS : 1. RClick (pe pictograma My Network Places) Properties. 2. RClick (pe Local Area Connection) Properties. 3. Internet Protocol (TCP/IP) Properties introducei adresa serverului la seciunea Preferea DNS server OK pentru vizualizarea n bara de aplicaii a informaiilor despre conexiunea la reea, activai opiunea Show icon in taskbar when connected) OK. 3.2.2. Dezinstalarea serviciului Active Directory Aceast opiune permite administratorilor de sistem schimbarea destinaiei unui server din cadrul unei reele. Alte cazuri n care aceast opiune se poate aplica este aceea n care unui server i se atribuie rolul de server de Web ntr-un domeniu. Pentru acest lucru trebuie s parcurgei urmtoarele etape : 1. Start Run scriei dcpromo OK Next. 2. n fereastra de informare apsai OK. 3. n cazul n care nu avei un server de domeniu secundar, toate informaiile despre conturile de utilizatori vor fi eliminate, de asemenea politicile de securitate precum i cheile publice de acces la diferite resurse. Domeniul nu va mai exista! Selectai opiunea This server is the last domain controller in the domain n cazul n care nu mai exist nici un alt server de domeniu n reea i apsai Next.

3.3. Instalarea i configurarea unui server de WebInstalarea serviciului de Web pentru un server se poate realiza o dat cu instalarea sistemului de operare sau poate fi instalat ulterior: 1. Start Setting Control Panel; 2. Add/Remove Programs Add/Remove Windows Components Add/Remove Components; 3. n fereastra Windows Components Wizard click pe Internet Information Services (ISS) Details; 4. Activai Internet Information Service Snap-In, pentru a putea gestiona serviciul IIS dintr-o consol administrativ. n aceast etap se activeaz automat i opiunea Common files; 5. Activai opiunea World Wide Web Server; 6. OK Next Next Finsh Close. Dup efectuarea acestei operaiuni, n Administrative Tools apare o nou categorie: Internet Service Manager, din care poate fi gestionat noul server Web. NOT: acest server Web este disponibil i sub Windows XP Profesional. Pe discul C:, de pe sistem a aprut un nou director: Inetpub, toate noile pagini pe30

Cap 3: Servicii Internet sub Windows

care le vei crea fiind gzduite n subdirectorul wwwroot. Verificarea funcionalitii serverului se poate face lansnd Internet Explorer, iar la adres se trece localhost. Pagina care se afieaz conine informaii despre versiunea serverului, documentaia online, posibilitatea de administrare a serverului. Pentru crearea propriilor pagini putei folosi orice editor de pagini Web sau scrierea codului HTML a paginilor ntr-un editor de texte. n listing-ul urmtor se prezint pagin de start n care se va specifica faptul c pagina este n construcie. Bun venit !! Aceast pagin este nc n construcie !! V rugm revenii !

Culoarea de background specificat la tag-ul este echivalentul culorii implicite a background-ului din Windows 2000. Am ales aceast culoare pentru a putea integra o pagin Web pe desktop-ul staiilor de lucru din domeniu. Putei crea pagina prin introducerea codului direct n notepad i salvai cu o anumit denumire (de exemplu, HomePage) i extensia HTM, la adresa: C \Inetpub\wwwroot. vizualizarea acesteia n browser realizndu-se la adresa http : //localhost/HomePage.htm. Pentru a ncrca pagina creat anterior, n mod implicit, cnd se acceseaz serverul, trebuie s modificai proprietile implicite ale site-ului d-voastr: 1. n consola de administrare a IIS : RClick pe Default Web Site Properties. 2. n fereastra de proprieti: Documents Add scriei numele fiierului n csua Default Document Name (n cazul nostru, HomePage.htm) OK. 3. Poziionai documentul pe primul loc prin apsarea butonului cu sgeat n sus OK. n acest moment, pagina de start la accesarea serverului, specificnd adresa localhost, va fi cea creat n etapa anterioar. Adresa la care poate fi accesat serverul Web de pe alt staie de lucru sau oricare alt server din reea se poate specifica n genul http: //nume_calculator/ (n cazul nostru http: //WebServer/") sau prin adresa IP (http://192.168.123.100/'). Instalarea unui server de e-mail ntr-un domeniu Windows trebuie s se realizeze pe un server declarat mail exchanger n domeniul DNS, care v ofer acces la Internet. Serverul de e-mail oferit de firma Microsoft este Exchange Server. Acesta se poate integra cu Active Directory i cu SQL Server.

3.4. Configurarea serverului ca un GatewayCondiia esenial pentru a instala un gateway este existena a cel puin dou interfee de reea, una cu conectare direct la Internet (n cazul nostru IP-ul interfeei Internet este : 193.231.34.101, iar pentru interfaa intern: 192.168.123.254) i cealalt destinat reelei interne. Atribuirea rolului de router unui server de Windows 2000 :31

Tehnologii Internet

1. Start Programs Administrative Tools Routing and Remote Access. 2. RClick pe numele serverului Configure and Enable Routing and Remote Access Next. 3. n fereastra Common Configurations alegei opiunea pe care o dorii (n cazul nostru putem alege ultima variant, pentru c scopul nostru este de a configura rolul de punte serverului n aa fel nct calculatoarele din reeaua privat s comunice cu cele din alte reele) Next. 4. Finish. Un serviciu special care poate fi configurat n aceast etap este NAT (Network Address Translatiori) care presupune ca staiile de lucru dintr-un anumit domeniu (Intern) s poat accesa alte reele de pe Internet prin intermediul interfeei de reea reale (cea cu conectare direct la Internet). Instalarea serviciului NAT: 1. n Routing and Remote Access, RClick pe General din IP Routing New Routing Protocol Network Address Tmnslation (NAT) OK. 2. RClick pe Network Address Translation (NAT) New Interface. 3. n fereastra New Interface for... click pe interfaa de reea care face legtur cu reeaua privat OK. 4. n fereastra N.A.T. Properties activai opiunea Private interface connected io private network OK. 5. RClick pe Network Address Translation (NAT) New Interface. 6. n fereastra New Interface for... click pe interfaa de reea care face legtur cu reeaua Internet OK. 7. n fereastra N.A.T. Properties activai opiunea Public interface connected to the Internet Translate TCP/UDP headers (recommended) OK. Dup configurarea acestui serviciu, toate staiile de lucru din domeniul Intern care au trecut de la proprietile TCP/IP la seciunea Gateway, IP-ul intern al serverului, vor putea s acceseze alte reele de pe Internet. Pentru controlul accesului, monitorizarea i controlul traficului precum i configurarea unui firewall, trebuie instalat pachetul Microsoft Internet Security and Acceleration Server 2000.

32

4. Protocoale si servicii4.1. DNS (Domain Name Service)4.1.1. Introducere Domain Name System (DNS) este un sistem distribuit de pstrare i interogare a unor date arbitrare ntr-o structur ierarhic (figura 4.1). Cea mai cunoscut aplicaie a DNS este gestionarea domeniilor n Internet. Caracteristicile sistemului de nume (DNS) sunt: folosete o structur ierarhizat; deleag autoritatea pentru nume; baza de date cu numele i adresele IP este distribuit. Fiecare implementare TCP/IP conine o rutin software (name resolver) specializat n interogarea serverului de nume (DNS) n vederea obinerii translatrii nume/adres IP sau invers.

nregistrarea resurselor asociate cu un nume "Zon delegat" Zon de autoritate, administrat de un name server

Fig. 4.1: Sistemul ierarhic DNS

Exist 2 tipuri de rezoluie de nume: rezoluie recursiv (name resolverul cere serverului de nume s fac translatarea); rezoluie iterativ (name resolverul cere serverului de nume s i furnizeze adresa IP a unui server care poate face translatarea). Tipic, procesul de rezoluie a numelor se desfoar astfel: name resolverul primete de la o aplicaie client TCP/IP un nume; acesta formuleaz o interogare primului server de nume din lista serverelor; serverul de nume (DNS) determin daca este mandatat (autorizat) pentru domeniul respectiv (dac exist configurat o zon DNS care conine numele33

Tehnologii Internet

respectiv); dac este autorizat, transmite rspunsul clientului; dac nu, transmite o interogare altui server de nume pentru un rspuns autorizat; obine rspunsul autorizat i transmite clientului un rspuns neautorizat; totodat stocheaz rspunsul local pentru a rspunde la alte cereri pentru acelai nume. resolverul de nume transmite rspunsul aplicaiei utilizator i l pstreaz ntr-un cache pentru o anumit perioad; dac name resolverul nu primete un rspuns ntr-un anumit timp, transmite cererea urmtorului server de nume din list. Cnd lista este epuizat, va genera o eroare.

DNS-ul foloseste n special protocolul UDP, port 53, pentru a deservi cererile. Majoritatea tranzaciilor DNS constau ntr-o cerere UDP de la client, urmat de un rspuns de la server. RFC1034 i RFC1035 definesc urmtoarele tipuri de nregistrri manipulate de sistemul DNS: nregistrarea A (adres) asociaz o adres IP unui nume; nregistrarea AAAA este echivalent cu nregistrarea A, dar se aplic protocolului IPv6; nregistrarea CNAME este un pseudonim pentru un domeniu, care permite coexistena a mai multor nume pentru o main, astfel nct s poat fi descris mai bine existena anumitor servicii. De exemplu ftp, www, mail pot fi CNAME-uri pentru maina test.exemplu.com ; nregistrare MX (mail exchanger) definete numele serverelor de mail care accept mail pentru un anumit domeniu. nregistrrile MX au asociat o prioritate, sub form numeric, prioritatea cea mai mic, ca valoare, indicnd serverul de mail principal; nregistrarea PTR asociaz un nume de main unei adrese IP, fiind folosit n special de serverele de mail (rezolvarea invers); nregistrarea NS indic numele serverelor DNS care sunt autoritare pentru o zon sau domeniu. Aceste nregistrri trebuie s conin numele canonice ale mainii (numele canonic este cel indicat printr-o nregistrare A i care apare i n nregistrarea PTR); nregistrarea SOA (start of authority) indic, n primul rnd, serverul DNS master pentru o anumit zon, precum i alte informaii, cum ar fi, de exemplu,TTL-ul (time to live timpul maxim ct poate fi pstrat rspunsul DNS de ctre serverele cache); nregistrarea TXT permite administratorului sa insereze informaii suplimentare intr-o inregistrare DNS. 4.1.2. Instalarea i configurarea serverului BIND BIND (Berkeley Internet Name Domain) este cea mai cunoscut implementare DNS n lumea Open Source. Serverul BIND, ajuns la versiunea major 9, este compus dintr-un daemon (serviciu Unix), numit named, care este serverul propriu-zis, i dou biblioteci de rezolvare, liblwres i libbind. Sistemul de operare FreeBSD vine preinstalat cu serverul BIND, el trebuind activat. Activarea servciului DNS se face adugnd n fiierul de configurare rc.conf34

Cap 4: Protocoale i servicii

linianamed_enable=YES

Configurarea serverului BIND se face n mai muli pai: se editeaz fiierul /var/named/etc/namedb/named.conf se editeaz fiierele zon se pornete efectiv serverul i se testeaz, corectnd eventualele erori

4.2. Remote Login (SSH, Telnet) SSHn computing, Secure Shell sau SSH este un set de protocoale de internet standard i asociate care permite stabilirea unui canal sigur ntre un computer local i unul controlat de la distana (remote). Este folosit criptografie public-key pentru a autentifica computerul controlat i (opional) s permit computerului controlat s autentifice utilizatorul . SSH asigur confidenialitatea i integritatea datelor schimbate ntre cele dou computere prin folosirea encriptrii i a codurilor de autentificare a mesajelor (MACs). SSH este de obicei folosit pentru conectarea de la distan i executarea de comenzi pe acel computer, dar suport de asemeni tunneling, trimiterea ctre porturi TCP arbitrare i conexiuni X11; poate face transfer de fiiere folosind protocoalele asociate SFTP sau SCP. Un server SSH, implicit, ascult pe portul standard TCP 22 . Informaii suplimentare n http://en.wikipedia.org/wiki/Secure_Shell. Un program ssh client este folosit de obicei pentru stabilirea unei conexiuni cu un sshd daemon care accept conexiuni remote. Ambele (clientul si serverul) sunt prezente pe majoritatea sistemelor de operare moderne, inclusiv Mac OS, Linux, Solaris i OpenVMS. Istoric n 1995 a fost proiectat prima versiune a acestui protocol, numit n prezent SSH-1. Scopul acestuia a fost nlocuirea lui rlogin, TELNET i rsh, care nu ofer o autentificare puternic sau garantarea confidenialitii. n 1996 apare o versiune revizuit a protocolului, SSH-2, incompatibil cu SSH1. Noile faciliti ale lui SSH-2 sunt: abilitatea de a rula oricte sesiuni shell pe o singur conexiune SSH, o securitate mai bun vine cu algoritmul Diffie-Hellman de schimbare a cheilor i o verificare a integritii via MAC. n 1999 a aprut OpenSSH, implementat n versiunea 2.6 a Open BSD. De la aceast versiune s-a ncercat portabilitatea lui OpenSSH ctre alte sisteme de operare. Astfel, n 2005, OpenSSH este cea mai popular implementare ssh, fiind inclus ntr-un numr mare de sisteme de operare. 4.2.1. Arhitectura lui SSH n figura 4.2 se prezint diagrama pachetului ssh-2. Protocolul SSH-2 are o arhitectur intern clar (definit n RFC-4251) cu straturi bine separate. Acestea sunt: stratul Transport acest strat se ocup cu schimbul iniial al cheii i autentificarea serverului i stabilete criptarea, compresia i verificarea integritii. El expune ctre starul superior o interfa pentru trimiterea i recepia pachetelor plaintext de peste 32.768 bytes fiecare. De asemenea, stratul35

Tehnologii Internet

transport pregtete re-negocierea cheii, de obicei dup transferarea a 1 GB de date sau dup 1 or de la iniierea conexiunii;Iniial nefuncional, apoi implementat n concordan cu algoritmul i cheia negociate negociere secret cu algoritmul "mac" calculare folosind o cheie public, numrul de secven al pachetului i coninutul pachetului

pachet_lengthuint32

padding_lengthbyte byte

payload (pachet_length)(padding_length) -1

Cel puin 4 bii aleatorii de umpluturbyte

umplutur de lungime aleatorie

Iniial necomprimat, apoi opional comprimat n conformitate cu schema de comprimare negociat (n general zlib) Sire de date: iniial necriptat, apoi obligatoriu criptate n conformitate cu algoritmul i cheia de criptare negociate (n general aes128-cbc) Codul mesajului autentificat byte mac_length

Fig. 4.2: Arhitectura pachetului SSH-2

stratul Autentificarea utilizatorului se ocup cu autentificarea clientului i ofer un numr de metode de autentificare. Autentificarea este dictat de client, un fapt de obicei neneles de utilizatori; cnd este cerut/sugerat o parol, este cerut/sugerat clientului SSH nu serverului. Serverul pur i simplu rspunde cererii clientului de autentificare. Metodele de autentificare a utilizatorului includ urmtoarele: o "password" o metod pentru o autentificare direct parolat, incluznd facilitatea ce permite schimbarea parolei. Aceast metod nu este implementat de toate programele; o "publickey" o metod pentru o autentificare bazat pe cheie public, de obicei suportat cel puin de perechea DSA sau RDA; o " keyboard-interactive " o metod versatil n care serverul trimite una sau mai multe prompt-uri pentru a introduce informaii i clientul le afieaz i trimite rspunsul napoi. Folosite pentru a oferi autentificarea printr-o singur parol cum ar fi S/Key sau SecurID. stratul Connection (RFC 4254) definete conceptul canalelor, cererii canal i cererii globale folosind serviciul SSH care este disponibil. O singur conexiune SSH poate gzdui simultan multiple canale, fiecare canal transfernd date n ambele direcii. Cererea canal este folosit pentru a schimba date specifice din afara canalului, cum ar fi: modificarea mrimii ferestrei terminalului sau codul de ieire a proceselor in partea serverului. Clientul SSH cere un port pe partea serverului pentru a fi expediat folosind o cerere global. Tipurile standard de canale includ:36

Cap 4: Protocoale i servicii

o "shell" pentru terminale shell, SFTP i cereri de execuie (inclusiv transferuri SCP); o "direct-tcpip" pentru expedierea conexiunilor client ctre server; o "forwarded-tcpip" pentru expedierea conexiunilor server ctre client; Aceast arhitectur deschis (open) ofer o flexibilitate considerabil, permind SSH s fie folosit pentru a varietate de scopuri peste un shell1 securizat. Funcionalitatea stratului transport este compatibil cu TLS; stratul autentificare user este extrem de extensibil cu metode de autentificare particulare, i stratul conexiune ofer abilitatea de a multiplexa mai multe sesiuni secundare ntr-o singur conexiune SSH. Securitatea SSH n toate versiunile de SSH, este important verificarea cheilor publice necunoscute nainte de a le accepta ca valide. Acceptarea unei chei publice de la un atacator drept chei publica valid are efectul dezvluirii parolei transmise i permite celui care o afl s atace. Ac orice protocol criptat, SSH poate fi considerat cu risc de securitate de ctre companiile care nu au ncredere n proprii utilizatori i care doresc sp trag cu urechea la propriile comunicaii. n plus, SSH are integrat faciliti de tunelare care n fac mai uor pentru utilizatori s obin pasaje a unor volume mari de informaii sau s stabileasc puncte de intrare pentru acces intern neautorizat peste legturi SSH fa de alte protocoale.

4.3. HTTP protocolul httpHTTP (Hypertext Transfer Protocol) este metoda cea mai des utilizat pentru accesarea informaiilor n Internet care sunt pstrate pe servere WWW (World Wide Web). Protocolul HTTP este un protocol de tip text, fiind protocolul "implicit" al WWW. Adic, dac un URL nu conine partea de protocol, aceasta se consider ca fiind http. Acesta presupune rularea unui program corespunztor pe calculatorul destinaie care nelege protocolul respectiv. Fiierul destinaie poate fi un document HTML (HyperText Markup Language), un fiier grafic, de sunet, de animaie, un program executabil pe server-ul respectiv sau un editor de texte. Dup clasificarea n funcie de modelele de referin OSI, protocolul HTTP este un protocol de nivel aplicaie. Dezvoltarea sa este coordonat de W3C (World Wide Web Consortium). 4.3.1. Modul de funcionare HTTP are o tehnic de comunicare prin care pagini web se pot transmite dela un Computer aflat la distan spre propiul Computer. Dac se apeleaz un link sau adres de web ca http://www.example.com se cere calculatorului host s afieze o pagin web ( index.html sau altele ). Numele www.example.com vine n prim faz convertit de protocolul DNS ntr-o adres IP. Urmeaz transferul prin protocolul TCP pe portul standard 80 a serverului HTTP rspunsul la cererea HTTP-GET. Informaii suplimentare ca indicaii pentru Browser, limba dorit, e.t.c. se pot aduga n header-ul ( antetul ) pachetului HTTP. n urma cererii HTTP-GET urmeaz din partea serverului rspunsul cu datele cerute ca : pagini n (X)HTML, cu fiiere ataate ca imagini, fiiere1

Shell o pies software care ofer o interfa utilizator. 37

Tehnologii Internet

de stil ( CSS ), scripturi ( Javascript ), dar pot fi i pagini generate dinamic (SSI, JSP, PHP i ASP.NET). Serverul trimite napoi un mesaj de eroare, dac informaiile nu pot fi trimise dintrun anumit motiv. Modul exact de desfurare aacestei aciuni ( cerere i rspuns ) este stabilit n specificaiile HTTP. 4.3.2. Transferul argumentelor Deseori dorete un utilizator s transmit informaii speciale la website. Aici pune la dispoziie HTTP dou posibiliti : 1. Transferul datelor n combinaie cu o cerere dup o resurs (HTTP-metoda "GET") 2. Transferul datelor n combinaie cu o cerere special (HTTP-metoda "POST") Datele transferate vin deseori codate. La metoda GET se utilizeaz partea de cerere Uniform Resource Identifiers cu semnul ?. Aceast metod se utilizeaz, pentru a transfera o list de parametrii, pe care partea opus trebuie s o ia n considerare la prelucrarea cererii. Deseori aceast list cuprinde perechi de valori separate prin semnul &, care sunt alctuite din numele parametrului, semnul = i valoarea parametrului. Rareori vine utilizat semnul ; pentru separarea nregistrrilor listei [1]. Exemplu: la pagina de start de la wikipedia se introduce n cmpul de cutare termenul pisici, se alege categoria articole i se apas butonul de cutare. Browserul trimite atunci urmtoarea cerere la server : GET /wiki/Spezial:Search?search=Katzen&go=Artikel de.wikipedia.org ...

HTTP/1.1

Host:

Serverului Wikipedia vin transmise dou perechi de valori : Argument Valoare search pisici go articol Perechile de valori se transmit sub forma Argument1=valoare1&Argument2=valoare2 iar cu ? se ataeaz pagina. Astfel tie serverul c utilizatorul dorete s vad articole despre pisici. Serverul prelucreaz cererea, dar nu trimite un fiier ci redirecteaz browserul cu un Location-Header spre pagina dorit : HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2006 15:12:44 GMT Location: http://de.wikipedia.org/wiki/Katzen ... Browserul ascult indicaia i emite pe baza noilor informaii o nou cerere : GET /wiki/Katzen HTTP/1.1 Host: de.wikipedia.org ... Serverul rspunde i ofer pagina cu articole despre pisici : HTTP/1.0 200 OK Date: Fri, 13 Jan 2006 15:12:48 GMT Last-Modified: Tue, 10 Jan 2006 11:18:20 GMT Content-Language: de Content-Encoding: gzip ContentType: text/html; charset=utf-8 .........ZKs..>.-[K!luV*3.r`+.Fx! ..7t."9.A. Partea de date este mai lung i de necitit din cauza compresiei gzip.38

Cap 4: Protocoale i servicii

n cazul unei cereri POST variabilele nu se afl n URI, ci n partea body : POST /wiki/Spezial:Search HTTP/1.1 Host: de.wikipedia.org Content-Type: application/x-www-form-urlencoded Content-Length: 24 search=Katzen&go=Artikel Serverul rspunde astfel : HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2006 15:32:43 GMT Location: http://de.wikipedia.org/wiki/Katzen 4.3.3. Versiuni HTTP/0.9 - prima versiune dezvoltat de Tim Berners-Lee i echipa sa, fiind foarte simplu, dar cu numeroase neajunsuri, fiind repede nlocuit de alte versiuni; HTTP/1.0 versiune introdus n 1996 prin RFC1945, a adus numeroase mbuntiri; HTTP/1.1 versiune de mbuntire i reparare a neajunsurilor versiunii anterioare; n prezent se utilizeaz dou versiuni ale protocolului, HTTP/1.0 i HTTP/1.1. La versiunea HTTP/1.0 se stabilete o nou conexiune TCP naintea cererii, iar dup transmiterea rspunsului conexiunea vine nchis. Astfel dac un document HTML cuprinde 10 imagini, vor fi necesare 11 conexiuni TCP, pentru ca pagina s fie afiat n Browser. La versiunea 1.1 se pot emite mai multe cereri i rspunsuri pe o conexiune TCP. Astfel pentru documentul HTML cu 10 imagini este necesar doar o conexiune TCP. Deoarece viteza conexiunii TCP este la nceput mic datorit algoritmului SlowStart, se scurteaz semnificativ durata de ncrcare a paginii. La aceasta se adaug faptul c versiunea 1.1 poate continua transferuri ntrerupte. La HTTP se pierd informaiile cererilor vechi ( deci este un protocol fr reinerea strii ). Prin utilizarea de cooki-uri n header, se pot realiza aplicaii, care pot utiliza informaii de stare ( alegerile utilizatorului, co de cumprturi ). Chiar i o recunoatere a utilizatorului este astfel posibil. n mod normal se pot citi informaiile transmise care parcurg reeaua pe computere i rutere. Prin HTTPS transferul se poate cripta. Noua versiune se poate utiliza in chat-uri prin utilizarea MIME-tip-ului multipart/replace care renoiete complet coninutul ferestrei browser-ului. Noua versiune permite pe lng preluarea datelor i transmiterea de date la server. Cu ajutorul metodei PUT pot webdesignerii s-i publice paginile web pe webserver prin WebDAV, iar prin metoda DELETE chiar i terge de pe server. De asemenea ofer HTTP/1.1 o metod TRACE, prin care se poate urmrii calea spre webserver, i astfel s se verifice dac datele au fost corect transferate. Astfel se poate urmrii calea prin diferite proxi-uri spre webserver, un traceroute la nivel aplicaie. 4.3.4. Metode Metodele disponibile sunt : GET : este cea mai folosit metod, fiind utilizat atunci cnd este cerut o resurs serverului. HEAD : se comport exact ca metoda GET, dar serverul returneaz doar antetul resursei, ceea ce permite clientului s inspecteze antetul resursei far a fi nevoit39

Tehnologii Internet

s ia i corpul resursei. PUT : metoda este folosit pentru a pune documente pe server, fiind inversul metodei GET. POST : a fost proiectat pentru a trimite date de intrare ctre server. DELETE : este opusul metodei PUT. TRACE : este o metod folosit de obicei pentru diagnosticare, putnd da mai multe informaii despre traseul urmat de legtura HTTP, fiecare server proxy adugndu-i semntura n antetul Via. OPTIONS : este folosit pentru identificarea capacitilor serverului Web, nainte de a face o cerere. CONNECT : este o metod folosit n general de serverele intermediare. Exemplu Cererea clientului : GET / HTTP/1.1 Host: www.example.com Rspunsul serverului: HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html

4.3.5. Serverul Web Apache Apache este un server HTTP de tip open-source. Apache a jucat un rol important n dezvoltarea Web-ului, fiind folosit n prezent n 50% din paginile web. Instalare Apache, MySQL i PHP n Windows n continuare se prezint paii necesari instalrii celor trei pachete gratuite i open-source: apache, MySQL i php pe un sistem de operare Windows. Pentru exemplificare se folosesc: Sistem de operare: Windows XP Professional (SP2); Server web: Apache 2.2.2; Server baze de date: MySQL 5.0.22; Interpretor: PHP 5.1.4

4.3.5.1. Instalare Apache 2.2.2Mai nti se obin binarele serverului: apache_2.2.2-win32-x86-no_ssl.msi (aproximativ 4,2 MB) de pe http://httpd.apache.org/, seciunea download. Dup ce am descrcat kit-ul, ncepem instalarea, executnd dublu-clik pe40

Cap 4: Protocoale i servicii

executabil (dac n sistem exist deja o versiune mai veche a serverului, aceasta trebuie dezinstalat n prealabil). Urmeaz Next apoi citim (eventual i suntem de acord cu) termenii i condiiile dup care Next din nou. Citim i instruciunile de folosire i iar Next. Am ajuns la informaiile despre server, unde completam astfel: Network Domain (e.g. somenet.com): localhost Server Name (e.g. www.somenet.com): localhost Administrator's Email Address (e.g. [email protected]): [email protected] iar mai jos, in aceeai fereastra, bifm for All Users, on port 80, as a Service -- Recommended

Astfel, serverul Apache se va instala ca serviciu, va porni automat odat cu Windows-ul si va fi disponibil pentru toi utilizatorii sistemului. n continuare Next. Ne ntreab de tipul instalrii, bifm Typical i apsm Next. n continuare, suntem informai c Apache se va instala n C:\Program Files\Apache Software Foundation\Apache 2.2\. Totul e ok i aici, i dam Next i Install Installerul i-a fcut treaba, apsm Finish i am terminat cu instalarea serverului Apache n Windows (vom reveni mai trziu asupra configurrii acestuia). Dac totul a decurs n regula, vei observa c a aprut o iconia nou n System Tray (n dreapta jos, unde este i ceasul).

4.3.5.2. Instalare MySQL 5.0Obinem binarele serverului: http://dev.mysql.com/downloads/mysql/5.0.html (aproximativ 36,7 MB) Deschide arhiva (implicit, Windows-ul tie s deschid arhive .zip) i, ca de obicei, dublu-click pe executabilul din interior (Setup.exe) (Daca n sistem exist deja41

Tehnologii In