Sunteți pe pagina 1din 3

389 <titlu>Anexa H: Securitate</titlu> Securitatea reprezint un subiect complex, care nu este adecvat pentru un programator nceptor.

Totui, chiar i programatorii PHP nceptori doresc s creeze aplicaii i s le pun n funciune. Un aspect nefericit al reelelor de calculatoare este acela c aplicaiile disponibile prin intermediul unei reele vor fi supuse atacurilor, att din partea unor persoane ru-intenionate, ct i din partea curioilor. Aceast anex are menirea de a atrage atenia cititorului asupra unor aspecte i resurse legate de securitate care nu au fost prezentate n cartea de fa. Cititorul atent la posibilitatea existenei breelor n sistemul de securitate trebuie s fie motivat pentru a nva mai multe despre acestea, precum i despre modul de a le preveni. Cititorii interesai n desfurarea de aplicaii Internet care prelucreaz date importante - cum sunt tranzaciile de afaceri - trebuie s-i continue studiul legat de PHP i de securitate sau s solicite consultan din partea unui expert n probleme de securitate. <titlu>Pericole i riscuri</titlu> Un principiu fundamental al securitii produselor software este acela c nici un sistem nu este absolut sigur, n consecin, securitatea nu este o chestiune de tipul totul sau nimic", n schimb, politicile i mecanismele de securitate trebuie s fie concepute n funcie de: Frecvena i natura ameninrilor la adresa securitii Posibilele consecine ale unei bree de securitate Altfel spus, securitatea este legat mai mult de descurajare dect de prevenire. Dac dispune de timp i de experien, un hacker motivat are toate ansele de a compromite orice sistem. Scopul securitii este de a ridica tacheta elementelor necesare pentru a compromite un sistem i de a impune unui potenial hacker s piard o cantitate de timp mai mare dect cea rezonabil din punctul de vedere al recompensei pe care un hacker sper s o obin n urma unei ptrunderi reuite n sistem. Hackerii pot fi motivai de perspectiva unor ctiguri financiare, de dorina de rzbunare, de o simpl curiozitate sau de o varietate de alte motive. Unii hackeri dispun de o experien considerabil n materie de programe. Alii, cunoscui i sub numele de script kiddies (nceptori), de abia au nvat s foloseasc instrumentele i procedurile create de alii. Cu toate acestea, un hacker hotrt i cu un oarecare grad de cunotine poate fi un adversar extrem de redutabil. O alt modalitate de a caracteriza un pericol la adresa securitii este din punctul de vedere al modalitii n care pericolul afecteaz un sistem int, i anume tipul 390 pericolului. O aplicaie software n reea este susceptibil la o diversitate de tipuri de pericole. Printre acestea se numr: Dezvluirea unor date confideniale Modificarea sau distrugerea datelor Refuzul de a executa un serviciu Repudierea tranzaciilor Dezvluirea datelor confideniale este un pericol deosebit de frecvent ntlnit. Printre variantele cele mai caracteristice ale acestuia se numr publicarea mesajelor de e-mail private i a informaiilor privind cartea de credit. Protecia mpotriva acestui pericol implic o administrare de sistem i o programare conform normelor n vigoare. Modificarea sau distrugerea datelor reprezint un alt pericol comun. Deseori, acesta ia forma deteriorrii unui sit Web. Viruii de calculator care modific datele reprezint o alt form comun de atac. Din nou, protecia mpotriva acestor pericole implic respectarea normelor recunoscute privind programarea i administrarea sistemelor. Refuzul de a executa un serviciu este un alt tip de pericol care a devenit extrem de frecvent ntlnit. Dac dezvluirea informaiilor confideniale i modificarea sau distrugerea datelor sunt deseori rezultatul unei bree de securitate nlesnite printr-o aciune sau o omisiune a unui programator sau a unui administrator de sistem, atacurile prin refuzul de a executa un serviciu*, nu implic asemenea puncte slabe, n prezent, majoritatea sistemelor sunt susceptibile la atacuri prin refuzul de a executa un serviciu, care bombardeaz o gazd cu cereri ilicite de serviciu ntr-o asemenea msur, nct gazda devine incapabil s rspund la cererile efective. n prezent, se lucreaz la identificarea unor modaliti de contracarare a acestor atacuri. Repudierea tranzaciilor este un pericol la adresa securitii asociat cu noiunea de comer electronic i const n aceea c una din prile implicate ntr-o tranzacie nu recunoate, la un moment ulterior, c a autorizat tranzacia. Protecia mpotriva acestui pericol implic o proiectare a aplicaiilor care s includ tehnici criptografice, precum i de alt natur, pentru autentificarea identitii prilor implicate ntr-o tranzacie. Este important de reinut c severitatea consecinelor care pot rezulta dintr-o bre de securitate poate varia ntr-o gam foarte larg. De exemplu, consecinele care pot decurge din dezvluirea de informaii confideniale pot varia de la uor jenante - n cazul publicrii unui mesaj de e-mail privat care conine i unele expresii mai tari" la catastrofale - prin publicarea unor planuri de afaceri confideniale sau a unor documente care constituie proprietate intelectual. <not> n original denial of service - abreviat DOS. Nu se va confunda cu MS-DOS, adic Microsoft Disk Operating

System - N.T. </not> 391 <titlu>Contramsuri</titlu> Aceast seciune explic unele dintre contramsurile frecvent ntrebuinate pentru a reduce riscul apariiei unei bree de securitate. Tratamentul propus nu este nici complet i nici foarte amnunit, fiind destinat a-l pune la curent pe cititor cu privire la unele posibiliti mai evidente, nu de a furniza un ndrumar pentru asigurarea securitii aplicaiilor. Seciunea urmtoare conine trimiteri spre numeroase surse mai bine documentate. <titlu>Autentificarea i autorizarea utilizatorilor</titlu> Cnd o aplicaie conine funcii care nu sunt destinate utilizrii de ctre publicul larg, aplicaia trebuie s includ mecanisme pentru identificarea, autentificarea i autorizarea utilizatorilor sistemului. Unii nceptori scriu aplicaii care solicit utilizatorilor s se identifice. Deoarece un utilizator ru intenionat va prezenta o identitate care nu-i aparine, simpla identificare nu este suficient. Autentificarea implic verificarea identitii unui utilizator. Cea mai simpl posibilitate de autentificare const n utilizarea unei parole private. Totui, alte mijloace - cum este procedeul ntrebare i rspuns, n care utilizatorul primete o ntrebare dintr-un set predeterminat de ntrebri sunt de asemenea posibile. Autorizarea asociaz privilegiile cu identitatea unui utilizator. De exemplu, unii utilizatori pot avea permisiunea de a vizualiza datele privind salariile ntr-o aplicaie care manipuleaz datele referitoare la angajai, dar numai utilizatorii cu privilegii speciale pot modifica datele referitoare la salarii. Stocarea datelor privind autorizarea i autentificarea ntr-o baz de date permite utilizatorilor desemnai s ntrein aceste informaii i implicit s actualizeze n permanen datele. Breele de securitate pot surveni atunci cnd nu sunt retrase autorizaiile utilizatorilor care nu mai sunt asociai unei anumite companii sau unui anumit proiect. Informaiile privind parolele trebuie s fie stocate n form criptat, astfel nct nici mcar administratorii de sistem s nu poat falsifica identitile. <titlu>Suspectarea datelor introduse de utilizatori</titlu> Aa cum s-a explicat n Modulul 14, datele provenite de la utilizatori trebuie privite cu nencredere. Furnizarea de date care conin metacaractere reprezint un mijloc frecvent folosit de compromitere a securitii aplicaiei. Cnd scriei aplicaii PHP bazate pe reea, trebuie s folosii funcia addslashes() i alte mijloace pentru a v asigura c datele introduse de utilizator nu iniiaz operaii de prelucrare neprevzute. 392 <titlu>ntrebuinarea unor msuri criptografice</titlu> Aceast carte nu se refer la suportul PHP pentru funcii criptografice. Totui, utilizarea unor asemenea funcii este important pentru protejarea securitii. O form popular de securitate este aa-numitul server Web sigur, care schimb date cu browserele Web prin intermediul HTTPS, o variant criptat a protocolului HTTP comun. Tranzaciile folosite n comerul electronic se deruleaz deseori utiliznd protocolul HTTPS. Printre alte tehnologii criptografice disponibile se numr criptografia cu cheie public i cu cheie privat, care se poate folosi pentru autentificarea utilizatorilor a mesajelor, precum i pentru schimbul de informaii n condiii de siguran. Intre tehnologiile care se pot dovedi utile se numr urmtoarele: Algoritmi MD5 Criptare RSA Criptare PG pentru PGP i GNU <titlu>Configurarea adecvat a serverelor</titlu> Datorit modului n care PHP interactioneaz cu un server Web, configurarea inadecvat a serverului Web poate avea consecine grave asupra securitii PHP. Dac suntei administratorul de sistem al unei gazde care furnizeaz servicii de Web, trebuie s fii la curent cu opiunile serverului Web relative la securitate. De asemenea, trebuie s v procurai i s instalai remedii pentru sistemul de operare, serverul Web i PHP care au implicaii pentru securitatea sistemului i a reelei. Un aspect important al securitii serverului Web const n prevenirea accesului fr autorizaie la fiierele surs i la fiierele de date. Trebuie s configurai serverul Web astfel nct s permit browserelor Web s obin acces numai la cataloagele selectate, precum i s v asigurai c fiierele surs i fiierele de date se gsesc n alte cataloage dect acestea. <titlu>Asigurarea bazelor de date</titlu> Numele de utilizator i parolele folosite pentru conectarea la bazele de date i de obicei, codate hard n scripturile PHP. Dac un hacker poate determina numele de utilizator i parola, atunci se poate conecta la baza de date i poate executa orice operaie neautorizat dorete. De exemplu, un hacker poate terge toate rndurile unuia sau mai multor tabele din baza de date. O modalitate de a proteja numele de utilizator i parolele const n a le insera n fiiere care sunt accesibile prin intermediul instruciunilor include sau require. Nu este necesar - i nici nu trebuie - ca aceste fiiere s se gseasc n cataloage accesibile din Web. Prin amplasarea acestor informaii ntr-un catalog

393 care nu este accesibil din Web, devine mult mai dificil pentru un hacker s le descopere coninutul. <titlu>Resurse</titlu> Pentru o introducere n tematica securitii pentru reele, abordat din punctul de vedere al nceptorilor, consultai volumul Network Security: A Beginner's Guide, de Eric Maiwald (Osborne McGraw-Hill, 2001). Pentru a nva mai multe despre asigurarea sistemelor UNIX mpotriva pericolelor locale i de la distan, consultai cartea UNIX System Security Tools, de Seth Ross (Osborne McGraw-Hill, 1999). Informaii referitoare la modul de configurare a serverului Apache se gsesc n volumul Administering Apache, de Mark Arnold (Osborne McGraw-Hill, 2000).

S-ar putea să vă placă și