Dorin Sîrbu -

Introducere despre securitatea IT

Introducere

În acest articol o să încerc să descriu pe larg problemele care pot apărea în securitatea IT şi cât de importantă este. O să încerc să explic posibilele cauze şi consecinţele lor. O să încerc să explic şi să deconspir anumite mituri despre securitate. Nu-mi propun să intru foarte detaliat în acest subiect, dar în viitor o să mai completez cu articole menite să detalieze subiectele importante.

Securitatea IT

Securitatea IT

Pentru multi securitatea în IT nu înseamnă foarte mult, în special pentru utilizatorii casnici şi pentru unii utilizatori din mediul industrial. De obicei ‘înţelegerea’ sau ‘învăţarea’ consecinţelor neglijării acestei probleme survine după un atac rezultat cu succes asupra unuia sau mai multe calculatoare ale subiectului, care se termină cu daune sau cu pierdere de informaţii utile sau chiar informaţii confidenţiale, care ar putea avea un impact negativ asupra lor sau a persoanelor cu care comunica sau colaborează.

Neglijarea securităţii în domeniul IT pornind de la faptul că aproape totul este informaţie care poate fi relocată, în cele mai multe cazuri foarte importantă, poate fi considerată o utopie şi trebuie tratată ca o măsură obligatorie.

O întrebare interesantă este: cine sunt persoanele care ne atacă? Nu există un tipar anume care ar descrie aceste persoane, dar se pot identifica uşor câteva categorii:

  • persoane care vor intenţionat să vă facă rău din motive personale
  • persoane care au fost puse intenţionat să vă atace contra unei sume de bani sau favoruri
  • persoane frustrate de diverse lucruri in viaţa personală sau profesională, de obicei se întâlnesc cel mai des în cazurile de atac.

Este important de ştiut, că sunt necesare cel puţin cunoştinţe medii despre calculatoare pentru ca să se poată face astfel de lucruri.

O altă întrebare este: ce pot să fure? Sunt o mulţime de lucruri care pot fi furate de pe un calculator şi de obicei foarte importante, luând în calcul faptul că suntem în era calculatoarelor şi tot mai multe informaţii se ţin pe calculatoare sau servere:

  • mesajele din posta electronica, de obicei conţin multe informaţii personale sau legate de afacere, care vă pot compromite intimitatea sau planul de afaceri.
  • poze personale private, care va pot compromite intimitatea.
  • poze cu schiţe industriale, care vă pot compromite planurile de afaceri.
  • filme personale, care va pot compromite intimitatea.
  • documente care conţin preţuri, furnizori, parole, strategii de firmă, care vă pot compromite planurile de afaceri.
  • orice altă informaţie care este utilă sau confidenţială.

Apariţia Internetului şi conectarea la Internet a transformat această problemă din ceva cu risc mediu în ceva foarte grav şi cu risc mare. Dacă în timpurile când nu era Internet, unica metodă de atac era prin programe infectate cu viruşi sau prin acces direct la sistem, de la conectarea la Internet încoace, atacurile pot veni şi din exterior prin diverse metode de transport sau exploatarea de greşeli de implementare ale sistemelor de operare sau ale programelor folosite.

Implicaţii legale

Atacul asupra unui sistem informatic de către o persoană din exterior sau din interior, care nu are autorizaţie de acces scrisă sau verbală la acea informaţie este considerată o infracţiune, pornind de la încălcarea intimităţii şi până la furtul de informaţii în vederea folosirii pentru scop personal sau pentru a o retransmite sau a o vinde către persoane interesate.

Mituri in securitatea IT

Pentru unele persoane, chiar pot să spun pentru majoritatea, cu părere de rău şi pentru unele persoane din breaslă, securitatea IT nu este văzută ca o problemă majoră şi este privită cu ignoranţă. Miturile care circulă cel mai des, dar care până la urmă duc la probleme sunt:

  • …nu are de ce să mi se întâmple mie
  • …ce pot să-mi ia
  • …calculatoarele sunt un mister atât pentru mine cât şi pentru ceilalţi
  • …nu mai dau bani şi pe lucrul acesta
  • …nu am nevoie de aşa ceva

Un lucru trebuie să fie clar, dacă aveţi ceva privat pe calculator care vă trebuie, care vă poate compromite sau care ar putea fi de folos altcuiva atât în scop de uz personal cât şi pentru utilizare în afaceri, mai devreme sau mai târziu va fi atacat, fie de cineva care a dat întâmplător peste acea informaţie sau care a fost pus să facă acest lucru intenţionat.

De obicei conştientizarea gravităţii neglijării acestei probleme se vede în acele momente când poate chiar micile lucruri de care aveţi strict nevoie (poate chiar o simplă adresă de email a unui prieten nou) au fost şterse sau furate şi eventual chiar folosite în scop de a face rău.

Epilog

Pornind de la ideea că utilizatorii simpli au cunoştinţe slabe despre IT, numărul de atacuri în IT este tot mai mare şi uneltele folosite sunt tot mai puternice, mai avansate şi mai accesibile, securitatea în IT sigur trebuie să fie o prioritate atât pentru persoanele fizice cât şi pentru persoanele juridice.

Versiunea

Domeniul IT este complex si foarte dinamic. Intr-un timp relativ scurt se pot face multe modificari asupra unui sistem informatic. Prin sistem informatic nu trebuie sa intelegeti doar o aplicatie software, ci o multitudine de “unitati” hardware si software interconectate intre ele. Toate aceste modificari asupra unui sistem au nevoie de o inventariere/jurnalizare, pentru ca este un domeniu in care din experienta mea “orice nimic poate crea sau solutiona probleme mari“.

Pentru ca sa se poata face o inventariere a produselor software si/sau hardware rezultate in urma modificarilor mentionate mai sus, se folosesc “versiunile“. Dupa ce s-au facut una sau mai multe modificari/imbunatatiri asupra unui sistem, se scoate o versiune noua, careia i se asociaza un numar, pentru a putea identifica modificarile aduse sistemul respectiv.

Cum am mentionat si mai sus, de obicei versiunile se noteaza cu cifre in ordine crescatoare. Cea mai utilizata si mai simpla notificare a versiunilor este din doua cifre, separate prin semnul ‘.’ (punct):
vM.m
unde M – versiunea majora si m – versiunea minora.

Versiunea majora ne indica versiunea modificarilor majore la nivel de proiectare si implementare a produsului respectiv.  Versiunea minora ne indica versiunea modificarilor minore aupra  “versiunii majore” mentionate.

Ca sa vedeti cateva exemple de versiuni, verificati orice aplicatie/software in sectiunea “Despre/About”.

Despre versiunea unui software vei fi intrebat cand suni la serviciul de suport tehnic. Dupa versiunea pe care o vei comunica, persoana de la suport tehnic va sti daca ai ultima versiune de aplicatie, eventual ce probleme tehnice are versiunea respectiva si in dependenta de cele comunicate iti va oferi sfaturile corespunzatoare.

Ca o concluzie finala, versiunea este o varianta a unui anumit produs, notata cu un format similar celui mentionat mai sus, cu scopul de a identifica modificarile aduse produsului respectiv.

Widget

Widget (software) este o componentă software, care încapsulează o anumită funcţionalitate sau care oferă o metodă de interfaţare cu un sistem informatic, concepută pentru a fi integrată uşor într-o interfaţă grafică şi a extinde functionalităţile interfeţei respective. Un widget trebuie să fie usor de incorporat şi să extindă funcţionalitatea interfeţei ţintă.

Conceptual, un widget poate fi asemănat cu o componentă de calculator. De exemplu, pentru a creste memoria calculatorului personal (a extinde performantele), se adaugă încă un modul de memorie, care indiferent de producător, dispune de o interfaţă standard de conectare la placa de bază. Astfel printr-o metodă simplă s-a adaugat o funcţionalitate complexă şi s-au extins performanţele calculatorului.

Widget-urile, similar componentei de calculator din exemplul de mai sus, pot fi create de mai mulţi autori/producători şi trebuie să se integreze într-un animit tip de interfaţă, respectând standardul impus de interfaţa respectivă.

Un widget, de obicei se implementează folosind un limbaj de descriere a datelor (ex: XML, (X)HTML, etc.), un limbaj de programare (C, JS, etc.) sau o combinaţie între ambele. De obicei, pentru dezvoltarea widget-urilor în limbaje de programare de nivel jos cum ar fi C, este necesara utilizarea unui API oferit de către producătorul interfeţei.

De ce este necesar un widget?

Să presupunem că se dispune de o bază de date mare cu alimente şi valori lor nutriţionale, cum este cea de pe calorii.slabute.ro şi se doreşte să se ofere posibilitatea de căutare în această bază de date şi altor site-uri, care nu dispun de aceste informaţii şi nici de puterea de calcul.

Se crează de către Slabute.ro un widget de căutare cu interfaţare la baza de date şi se oferă spre preluare. Acest widget este preluat şi încorporat de către alte site-uri. Încorporarea lui permite căutarea valorilor nutriţionale direct din paginile site-ului respectiv fără a părăsi site-ul. Un astfel de widget este simplu, se încorporează uşor şi oferă faciţităţi avansate de care unele site-uri nu pot dispune sau nu doresc să dezvolte funcţionalităţi în acea direcţie.

Widget-urile sunt componente utile (de obicei oferite gratuit) şi cu o gamă largă de utilizare. Ele pot fi încorporate (“conectate”) fie în interfaţa sistemului de operare (ex: afisare stare calculator, afisare vreme, etc.), în paginile web (căutare, afişare stare profil, noutăţi, etc.), în interfeţele programelor software, etc.

Dezvoltarea unui widget se face de către un programator care dispune de cunoştinţele necesare pentru a implementa eficient şi corect o astfel de componentă. Deoarece widget-urile sunt componente care se încorporează într-o interfaţa de interacţiune cu utilzatorii, implementarea estetica, eficienta şi corectă este esenţială.

Ce este un server?

Server, este termenul folosit pentru a descrie un sistem informatic compus dintr-un calculator specializat si un program, care ruleaza pe acest calculator pentru a deservi mai multe cereri de la clienti. Denumirea provine de la cuvantul englez serve – a servi (clientii care efectuaza cereri catre server).

Datorita faptului ca programul software (sau program server) este “invizibil” ochiului uman, de multe ori aceste calculatoare specializate (sau masina server) sunt cunoscute mai des sub denumirea de server.

server-522x217 Ce este un server? O masina server, este un calculator specializat, care functioneaza non-stop si care trebuie (de obicei) sa indeplineasca cateva criterii suplimentare fata de un calculator simplu utilizat in conditii casnice:

  • Sa ofere putere de calcul sporita
  • Sa ofere o fiabilitate sporita (luand in calcul ca trebuie sa functioneze non-stop ani de zile)
  • Sa ofere mecanisme redundante pentru protectie la defectiuni (exemplu: 2 surse de alimentare)
  • Consum mic de curent electric
  • Sa posede o arhitectura hardware interna, care sa permita schimbarea unor piese de schimb fara a fi nevoie de oprit complet sistemul.
  • Sa fie gandit pentru optimizarea spatiului pe care il ocupa (de multe ori sunt nevoie de sute de astfel de masini server si spatiul devine o problema)

Pe masina server se instaleaza un program numit sistem de operare. Acest program se ocupa de gestionarea si coordonarea resurselor hardware disponibile. Din sisteme de operare folosite pe servere fac parte: Linux, Solaris, BSD, UNIX, Windows Server, s.a.

Sistemul de operare folosit este foarte importat, deoarece stabilitatea, posibilitatea de a schimba componente defecte fara repornire si capacitatea lui de a rula pe o perioada lunga de timp fara intrerupere/repornire, au un impact important asupra functionarii corecte si continua a serviciului oferit.

Un program server, este un program instalat pe o masina server, care ruleaza non-stop “in asteptare” si “asculta” cererile de la clienti (de obicei cererile vin de la utilizatori prin intermediul unei retele). Cand apare o cerere de la un client, programul server executa instructiunile care este programat si intoarce un raspuns clientului care a facut cererea.

In dependenta de puterea de calcul a masinei server si de gradul ei de incarcare, pe aceasta pot rula mai multe programe de tip server, care sa indeplineasca mai multe functionalitati.

Exemple de programe server pe care le folositi (cateodata fara sa constientizati :) ) sunt:

  • Server web (va conectati la el prin intermediul browserului si va deserveste paginile web pe care le vedeti)
  • Server e-mail (trimiteti si primiti mesajele de e-mail)
  • Server baza de date (se ocupa de stocarea si interogarea datelor)
  • Server FTP (servere ce ofera acces rapid la fisiere partajate)
  • Server DNS (am discutat despre el in articolele precedente)

Toata structura Internet este bazata pe arhitectura client-server. Milioane de servere deservesc zilnic miliarde de utilizatori web, utilizatori de e-mail si alte servicii mai “invizibile” pentru utilizatorii simpli.

Ca o concluzie la cele scrise mai sus, un server este un calculator specializat, care are instalat pe el un sistem de operare, pe care ruleaza unul sau mai multe programe de tip server, create pentru a deservi si raspunde la cererile mai multor clienti (utilizatori), care apeleaza si au nevoie de acele servicii.

Ce este un site web?

Un site web este un fel de prezentare electronica interactiva, care este compusa din mai multe pagini web, imagini, video, animatii, audio si alte tipuri de fisiere, organizate intr-un anumit fel, accesibile fiecare prin adrese unice de tip URL (exemplu URL pagina curenta: http://www.vadmin.ro/sfaturi/internet/site-web-128.html) si legate logic intre ele prin legaturi (link-uri).

Fisierele unui site web sunt instalate pe un calculator (server), conectat permanent la Internet, pe care ruleaza un program destinat de tip server,  numit server web si care la cererea unui navigator/browser de oriunde de pe Internet (calculatorul vostru), poate trimite aceste fisiere.

Paginile web din cadrul unui site sunt fisiere in format text, scrise intr-un limbaj de descriere a datelor HTML/XHTML (Hyper Text Markup Language). Acest HTML/XHTML este un limbaj de descriere, care defineste cum sunt organizate logic textele, imaginile, video si animatiile in pagina (antet, paragrafe, liste, imagini, legaturi, etc). HTML/XHTML este util, pentru ca fiind standard pe Internet, “cineva” (ex: programatorul) poate formata intr-un anumit fel un continut si “altcineva” necunoscut (ex: browser) poate “descifra” acea organizare si o poate afisa in format grafic si citibil pentru utilizator.

Paginele web si celelalte resurse, instalate pe serverul web sunt accesate prin intermediul uni protocol de comunicare la nivel de aplicatie HTTP (Hyper Text Transfer Protocol) sau HTTPS (varianta securizata al HTTP), care foloseste protocolul de transport al datelor TCP/IP, descris in unul din articolele precedente, pentru a face cereri catre serverul web si a primi aceste fisiere ca raspuns. (puteti vedea acest lucru chiar in adresa de acum a browser-ului http://www.vadmin.ro/sfaturi/internet/site-web-128.html, unde partea http:// specifica protocolul pe care-l va utiliza browser-ul vostru ca sa acceseze site-ul acesta).

Paginile web pot fi de doua tipuri: pagini statice si pagini dinamice.

Paginile statice sun fisiere text, scrise in format HTML, al caror continut nu se modifica la accesarea lor si se modifica doar la reactualizarea/suprascrierea lor pe serverul web cu un continut nou.

Paginile dinamice, dupa cum spune si numele, sunt generate dinamic de catre scripturi (bucati de cod) scrise intr-un limbaj de programare (PHP, ASP, etc.). Aceste pagini sunt generate in dependenta de actiunile intreprinse de utilizator sau de schimbarile care au avut loc pe server. Un exemplu de pagina dinamica este o pagina de cautare, care in dependenta de termenul de cautare, cauta in baza de date un set de rezultate si le intoarce in format HTML un raspuns spre browser. Browser-ul converteste textul HTML in pagina pe care o vedeti de obicei.

Pentru a vedea cum arata o pagina web in format HTML, din browser/navigator, alegeti din meniu optiunile View -> Source (pe unele navigatoare functioneaza direct tastele Ctrl+U). Navigatorul o sa va afiseze un text “codat”, care va fi pagina pe care o vizualizati in momentul acela, doar ca in format “neprelucrat”, HTML.

Ca si oricare alt lucru care este legat de calculatoare si aici sunt multe standarde :) care definesc modul de formatare a paginilor, modul de formatare a imaginilor, modul de formatare a video-urilor, modul de comunicare intre browser si server web, modul de organizare a fisierelor pe server-ul web, etc.

Ca o concluzie simplificata la cele de mai sus, un site web este un set de pagini scrise in format HTML si alte fisiere resursa, accesibile unic prin intermediul unui URL, interconectate logic intre ele prin legaturi/link-uri, care sunt instalate pe un server web, de unde un browser prin intermediul unui protocol HTTP/HTTPS le poate accesa, decodifica si afisa intr-un format citibil pe calculatorul vostru.