IRC
Ghid
explicativ
Cuprins
Acest
document se doreste doar o introducere in lumea IRC.
El nu-si propune sa fie un manual de utilizare pentru un anumit program, ci
doar sa clarifice unele lucruri care sunt uneori gresit percepute de catre
utilizatorul incepator al unui serviciu de IRC, sau,mai rau, risca sa-i ramane
necunoscute, in lipsa consultarii unor surse de informare.
Lucrarea nu intra in prea multe detalii, continand doar strictul necesar pentru
ca cel ce o consulta sa inceapa sa inteleaga ceea ce a folosit pana in acest
moment doar ,,dupa ureche".
1.1
- Nota de copyright
Toate drepturile asupra acestui document apartin autorului sau.
Acest document poate fi distribuit doar in aceasta forma cu conditia sa ramana
intact in totalitatea lui. Reproducerea unor parti sau a intregului se face
doar cu acordul autorului.
1.2 -Ce este chat-ul? Ce este IRC-ul?
Chatul este, dupa posta electronica (e-mail), cea mai raspandita modalitate de
comunicare pe Internet.
La fel cum putem face o analogie intre e-mail si corespondenta obisnuita, putem
face si o analogie intre chat si o discutie intre doua sau mai multe persoane.
Aceste discutii sunt purtate cu ajutorul computerului si al retelei Internet.
De la inceput comunicarea s-a facut cu ajutorul tastaturii si monitorului, cu
ajutorul cuvantului afisat pe ecran. Lucrurile stau in mare masura la fel si
astazi.
Desi in ultima vreme mari firme furnizoare de servicii pe internet ofera
posibilitatea transmiterii de mesaje prin voce si imagine, cerintele tehnice
minimale ale chatului ,,scris" si usurinta in folosire, ii confera
acestuia o mare popularitate.
Denumirea ,,IRC" este o prescurtare de la ,,Internet Relay Chat".
IRC-ul si-a facut aparitia prin anul 1988 si a fost conceput cu scopul de a
inlocui un alt sistem mai primitiv de comunicare prin mesaje scrise, denumit
,,talk", ce se mai poate gasi si si la ora actuala pe computerele ce
ruleaza sisteme de operare tip Unix.
Performantele IRC-ului l-au facut sa se raspandeasca rapid, serverele
diferitelor retele fiind prezente astazi in peste 60 de tari.
Chiar daca dezvoltarea World Wide Web-ului si a diverselor tehnologii mai
sofisticate ameninta sa-l puna in umbra, IRC-ul continua sa isi mentina
popularitatea si chiar sa castige teren.
O caracteristica notabila a sa, este faptul ca retelele sunt creeate si
intretinute pe baza de voluntariat, accesul la IRC fiind liber, neexistand nici
un fel de interes comercial, asa cum este cazul altor servicii similare.
Pentru stabilirea propriului serviciu de chat, realizatorii portalului Bumerang
au recurs si ei la IRC. Mai multe detalii despre cum functioneaza o retea de
IRC si cum va puteti conecta la ea, veti afla in paragrafele urmatoare.
1.3
-Cum functioneaza IRC?
Probabil ca unii dintre dvs. au avut cel putin o data curiozitatea sa se
intrebe prin ce minune reuseste frumoasa pagina de chat de la Bumerang, sau
programul pe care il folosesc pentru a sta la taclale (de cele mai multe ori
acesta fiind mirc-ul sau asa numitele "scripturi" de fapt mirc-uri
ce dispun de adausuri scrise intr-un limbaj
propriu acestui program), sa aduca pe monitorul computerului cuvintele
participantilor la captivantele discutii ce au loc ..pe Bumerang",
eventual ,,pe Undernet" sau prin alte locuri.
Din fericire, acest lucru nu este deloc dificil de inteles, principiul fiind,
in aparenta, destul de simplu.
Persoane sau organizatii care dispun de calculatoare puternice si de o legatura
foarte buna la Internet, vor pune unul din calculatoarele lor sa mai
indplineasca o sarcina in plus, anume sa ruleze un program numit ,,server de
IRC".
Mai multe astfel de calculatoare pot forma o retea.
Doritorii de discutii folosesc un program de genul mIRC sau altele, pentru a se
conecta prin intermediul Internetului la unul dintre aceste servere.
Mesajele trimise de oricare utilizator, sunt ,,dispecerizate" de serverul
respectiv si trimise catre cei carora li se adreseaza.
Fiecare server din retea este ,,oglinda" celorlalte, astfel incat in
principiu nu conteaza la care server din retea va veti conecta, pentru a putea
discuta cu oricine este la randul sau conectat in retea, sau pentru a intra pe
un canal anume.
O data conectat la una dintre retelele de IRC, utilizatorul are posibilitatea
sa se alature ,,join" unuia sau mai multor grupuri de
participanti la chat in cadrul asa numitelor ,,canale" (,,channels").
Un canal poate cuprinde un numar oarecare de indivizi, ce converseaza intre ei.
In afara de discutiile de grup, sunt posibile si convorbiri particulare intre
doi utilizatori, nu neaparat de pe acelasi canal.
De asemenea este posibila si transmiterea de ,,notice"-uri echivalentul
unei ,,soapte", un tip de mesaj privat receptionat doar de destinatarul
sau intr-un mod care ii permite observarea sa imediata.
Fiecare utilizator trebuie sa-si aleaga in momentul conectarii la o retea IRC,
un pseudonim ,,nick", in functie de propria fantezie.
Bineinteles, se poate intampla ca nick-ul respectiv sa fie deja ,,luat" de
catre un alt utilizator.
In acest caz, exista posibilitatea adaugarii de litere sau semne numelui
respectiv, sau, in ultima instanta a
schimbarii nick-ului.
Unele variante de IRC, cum este si cazul ,,Bumerangului" permit
inregistrarea nickului de catre un anumit utilizator si autentificarea cu
ajutorul unei parole pentru a-l putea folosi.
In cazul in care altcineva incearca folosirea pseudonimului respectiv, serverul
ii va cere parola in caz de necunoastere a acesteia, nick-ul ii va fi
schimbat automat sau se poate merge pana la deconectarea de la server ,,kill".
Fiecare canal de discutii poarta un nume sugerand profilul canalului si are
asociat un subiect de discutie ,,topic". Numele canalului trebuie
ales la infiintarea acestuia, ulteror nemaiputand fi schimbat.
Topicul insa poate fi schimbat oricand, in functie de ceea ce se discuta la un
moment dat, sau in functie de alti factori.
Discutiile pe canalele de IRC au de obicei un caracter foarte dinamic, de multe
ori purtandu-se 2-3 discutii in paralel si de foarte multe ori neavand nici o
legatura cu topicul.
Este bine insa ca topicul sa fie ales de asa natura incat potentialul vizitator
sa stie la ce sa se astepte in momentul cand va intra pe canal.
Pe fiecare canal de IRC exista o categorie aparte de utilizatori care
reglementeaza functionarea canalului denumiti ,,operatori".
Functia acestora este de a asigura buna functionare a canalului, de a veghea la
respectarea unor reguli de conduita generala sau a unor reguli particulare ce
pot fi impuse pe un anumit canal.
Ei pot sanctiona limbajul agresiv sau comportamentul neadecvat al unora din cei
prezenti, dandu-i afara ,,kick"
si eventual interzicandu-le accesul ulterior ,,ban".
Operatorii se pot recunoaste in listele de utilizatori prin faptul ca au un
semn distinctiv plasat in dreptul nick-ului de obicei simbolul ,,@".
Unele programe cu o grafica mai sofisticata inlocuiesc acest simbol cu altele,
in functie de fantezia autorilor.
Fiecare canal mai are asociate si anumite moduri de functionare ,,modes".
Astfel un canal poate fi ,,moderat", caz in doar anumiti utilizatori au
dreptul de a transmite mesaje, ceilalti le pot doar primi.
Canalele pot fi si ,,invite only", accesul in ele facandu-se doar pe baza
unei ,,invitatii".
Poate exista de asemenea si o limita maxima de utilizatori, sau canalul poate
fi ,,secret" nefigurand in lista canalelor existente la un moment dat in
retea.
Utilizatorii care au ,,voce" vor avea pe lista de utilizatori un anumit
semn in dreptul nick-ului, de obicei ,,+".
Pe canalele obisnuite, un utilizator cu ,,voce" nu are ,,puteri"
suplimentare fata de utilizatorul obisnuit.
Vocea poate semnifica in acest caz un semn de recunoastere a fidelitatii fata
de canal, sau a altor merite pe care persoana respectiva se considera ca le
are.
Pe canalele moderate, utilizatorii cu ,,voce" sunt singurii care au
dreptul de a ,,vorbi", adica de a trimite mesaje pe canalul respectiv.
Ceilalti trebuie sa se multumeasca sa asculte.
1.4 -Alcatuirea unei retele de IRC
O retea de IRC este alcatuita din unul sau mai multe servere legate intre ele.
Utilizatorii se pot conecta la oricare dintre acestea, deoarece un mesaj, odata
trimis, parcurge toate serverele retelei.
Acest lucru este valabil nu numai pentru mesaje, ci si pentru alte tipuri de
operatiuni (intrari si iesiri de pe canale, kick-uri, ban-uri, inregistrari
de nick-uri si de canale, modificari in lista de accese a unui anmit canal,
etc.).
In acest fel fiecare server oglindeste exact situatia celuilalt iar
utilizatorii au impresia ca sunt conectati la un serviciu unic.
Acest lucru este ilustrat in fig. 1
Se observa ca, pentru a ajunge de la o persoana la alta, un mesaj trebuie sa
parcurga un drum mai lung sau mai scurt.
Daca cele doua persoane sunt conectate la acelasi server, mesajul parcurge
drumul de la expeditor pana la server, apoi la destinatar.
Daca persoanele sunt conectate la servere diferite, la acest traseu se mai
adauga si portiunile intermediare dintre serverele care se afla pe drumul
dintre cele doua puncte.
Din acest motiv mesajul pe care dumneavoastra il trimiteti pe un canal va
ajunge la ceilalti utilizatori ai canalului dupa o perioada de timp uneori
notabila denumita ,,lag".
Pentru a avea un ,,lag"cat mai mic trebuie intotdeauna cautat un server
cat mai apropiat de punctul in care sunteti conectat la Internet (apropiat
din punct de vedere al traseului pe care mesajele dvs. il au de parcurs pana la
server).
Pot exista surprize de genul obtinerii unei conexiuni mai rapide si fiabile in
cazul unui server mai indepartat geografic de punctul in care va aflati.
De asemenea in cazul participarii la un joc de Trivia, de exemplu, cautati sa
va conectati la acelasi server la care este conectat si jocul respectiv.
SERVER 1
SERVER 2
SERVER 3
CLIENT
CLIENT
CLIENT
CLIENT
CLIENT
Pe perioada cat utilizatorul este conectat la reteaua de IRC, serverul verifica
periodic existenta conexiunii cu ajutorul asa-numitelor ,,ping-uri".
Ping-urile sunt scurte pachete de date trimise de server catre programul dvs.,
pe care acesta trebuie sa le returneze.
Daca, datorita unor intazieri pe retea (fenomen numit ,,lag"), ping-urile
nu mai pot parcurge in timp util calea de la server la dvs. si inapoi, sau se
pierd pe drum, veti fi deconectat de la retea si va trebui sa va reconectati la
acelasi server, sau la altul.
La fel se intampla in cazul in care ping-urile isi altereaza continutul pe
parcurs, datorita erorilor de transmisiune ce pot apare.
Cate odata se poate intampla ca legatura intre doua servere ale retelei de iRC
sa devina nefunctionala. Fenomenul se numeste ,,netsplit".
In acest caz datele de pe cele serverele ramase in cele doua parti distincte
ale retelei nu mai sunt sincronizate, astfel incat pentru utilizatorii dintr-o
parte a retelei, cei din cealalta parte devin invizibili.
Dupa remedierea unui netsplit, nu intrebati utilizatorii ce par ca s-au intors
de undeva pe canal unde au disparut atata timp, caci pentru ei dumneavoastra si
cei care au fost cu dumneavoastra pe canal in timpul split-ului ati fost de
fapt cei disparuti.
Fenomenul de ,,netsplit" era folosit in trecut pentru preluarile abuzive
de canale, caci pot exista cazuri in care canalul ramane lipsit de utilizatori
conectati pe serverele desprinse in timpul splitului.
De obicei, in lipsa unor protectii adecvate, canalul care ramane fara
utilizatori inceteaza sa mai existe.
Un ,,join"al unui utilizator pe un canal inexistent, duce la
creearea acelui canal, si acordarea statutului de fondator (si implicit
operator) acelui utilizator.
In acest fel, ln momentul remedierii splitului, un ban ,,universal" urmat
de un kick in masa asigura indepartarea definitiva a vechilor operatori de pe
canal, si, in acest fel preluarea abuziva a acestuia.
Pentru evitarea acestor situatii, serverele noi de IRC dispun de asa numitele
,,servicii".
Serviciile sunt automatizate si pot fi privite ca niste superutilizatori ce se
ocupa cu gestionarea tuturor aspectelor legate de nick-uri si canale,
inregistrandu-le gestionandu-le si protejandu-le.
Serverele Bumerang-ului dispun de trei astfel de servicii:
nickserv - se ocupa de
inregistrarea si protectia pseudonimelor (nick-urilor)
chanserv - se ocupa cu
inregistrarea canalelor si gestionarea tuturor aspectelor legate de acestea
(inregistrarea fondatorului canalului, a operatorilor, a persoanelor care au
dreptul la voce, etc.) precum si protectia topicului, a modurilor de
functionare al canalului, astfel incat sa nu poata fi schimbate de oricine,
s.a.m.d.
memoserv - un fel de
,,posta electronica" ce permite transmiterea ulterioara a unui mesaj catre
un utilizator care nu este conectat in momentul cand mesajul este conceput.
1.5 -Cum pot sa ma conectez la o retea de
IRC
Conectarea la IRC se face folosind un program numit client de IRC.
Exista o multime de astfel de programe, concepute pentru majoritatea sistemelor
de operare cunoscute.
De remarcat ca un astfel de program are cerinte foarte mici si nu necesita nici
un calculator ultraperformant, nici o conexiune rapida de internet.
Cu ani in urma ma conectam la IRC folosind un calculator 386 si
,,conversam" in aceleasi conditii si cu aceeasi rapiditate ca si de pe
calculatoarele de astazi.
1.5.1 -Ce clienti de IRC exista?
O foarte mare parte a utilizatorilor de Windows folosesc programul
,,mIRC", insa, mai exista si alti clienti de IRC, mai mult sau mai putin
sofisticati, cum ar fi, PhIrc, Wirc, etc.
Sistemele de operare de tip Unix, cum ar fi Linux-ul, desi echipeaza la ora
acutala aproape exclusiv platformele pe care lucreaza serverele de IRC, au si
ele o zestre considerabila de clienti de IRC (IrcII, EEPIC, X-Chat, BitchX,
Zircon si multi altii)
Vom zabovi putin asupra mIRC-ului, deoarece acest program a devenit atat
de folosit, incat a reusit practic sa impuna noi standarde in lumea clientilor
de IRC.
Din nefericire insa, se pare ca orice program care ajunge sa fie folosit de
extrem de multi utilizatori, tinde sa le eclipseze pe celelalte, iar slabiciunile
lui ajung sa fie tolerate si, chiar mai mult, exploatate de catre rauvoitori.
Lasam deocamdata la o parte aceste aspecte ale sale, care nu reusesc dealtfel
sa-i stirbeasca prea mult din reputatie si il recomandam totusi celor care vor
sa foloseasca IRC-ul.
Poate fi descarcat de la adresa ,,http://www.mirc.com"
Prezinta o documentatie foarte bogata, sub forma de on-line help, in limba
engleza.
Este shareware, dar se pare ca este complet functional, un timp nelimitat, fara
a fi nevoie sa-l achizitionati.
Dintre ceilalti clienti de IRC, doar unul sau doi sunt ,,comerciali"
adica trebuie platita o suma de bani daca se doreste folosirea lor.
Ceilalti sunt ,,free" si sunt de cele mai multe ori rezultat al muncii
unor entuziasti.
Preferatul meu este X-chat.
Programul este free, este bogat in facilitati, este foarte stabil, si este
foarte comod de folosit.
Permite conectarea simultana la retele diferite de IRC.
Foloseste toolkit-ul grafic GTK, ceea ce-i confera o eleganta aparte, atat pe
Linux c6t si pe Windows.
Este extensibil prin script-uri si plugin-uri (vezi mai jos).
Se poate descarca de la adresa http://www.xchat.org.
Primul pas pentru a va conecta, si a discuta online este sa faceti rost de unul
dintre programele enumerate mai sus si sa-l instalati.
Daca folositi Windows, tot ce aveti de facut pentru a instala programul
respectiv, este sa despachetati arhiva in care se afla kitul de instalare. sa
rulati programul de setup si sa urmati instructiunile ce va sunt furnizate pe
parcursul procedurii respective
Daca aveti acces la un sistem de tip Unix (de exemplu Linux), puteti
avea sansa ca administratorul de sistem sa fi instalat deja un client de IRC.
Daca ati instalat vreo distributie de Linux pe computerul dvs., atunci, in mod
sigur aveti deja prezent X-chat (sub Gnome) sau Ksirc (sub KDE).
Daca nu exista inca nici un client de IRC pe masina dvs., recomand compilarea
din surse a acestuia.
Nu recomand folosirea de variante binare precompilate, deoarece acestea pot fi
,,aranjate" sa functioneze ca un cal troian, permitand accesul din
exterior la computerul dvs.
Acesta este un risc pe care trebuie sa si-l asume si utilizatorii de Windows,
deorece in ultima vreme, tot felul de programe inglobeaza astfel de functii de
,,spionare".
Acestea sunt, in cele mai multe cazuri, de interes pur comercial, dar pot servi
si altor scopuri, cel putin dubioase.
Aceasta
sectiune se ocupa de niste aplicatii specifice IRC, complementare simplei
conversatii, de care utilizatorii incep sa faca uz dupa catva timp petrecut pe
chat.
Folosirea acestora poate delimita utilizatorii ocazionali de
,,impatimitii" IRC.
2.1
-Ce sunt scripturile?
De la inceputuri, utilizatorii de IRC au simtit nevoia ,,automatizarii"
unor operatii care se fac mai des si care implica introducerea repetata a
catorva comenzi.
A aparut ideea ,,impachetarii" unei serii de comenzi in mici programe.
Acest lucru se numeste ,,scripting", iar programele rezultate din
aceasta activitate se numesc ,,scripturi"
Au existat aici doua tendinte: fie de a se creea un ,,limbaj" de
programare particular fiecarui program de IRC, fie de a se folosi un limbaj
existent cu ajutorul unei interfete de programare
Din prima categorie fac parte mIRC-ul sau IrcII cu limbaje proprii, iar din a
doua categorie face parte de exemplu xchat-ul care foloseste Perl sau Python.
In cazul mIRC, au aparut adevarate ,,pachete" numite tot scripturi,
ce contin atat programul mIRC, cat si scripturile si fisierele de configurare
respective.
Cel mai cunoscut dintre acestea este ,,Scoop Script", care adauga o serie
intreaga de comenzi, functii si optiuni noi.
Scoop este unul din scripturile de uz general, ce ofera cam tot ce se poate oferi
(formatarea scrisului, mesaje automate, protectii de canal, lucrul cu
nickserv, chanserv, sau X, client de posta electronica, player mp3) si
multe altele.
Exista o multime de alte scripturi cu comportament si facilitati similare,
unele chiar in limba romana.
In afara de acestea, exista si scripturi ce se concentreaza doar asupra
anumitor sarcini, de exemplu asupra protectiilor de canal (cuvinte obscene,
flood, spamming).
Exista si scripturi cu functii ,,distractiva" (diverse jocuri
interactive cum ar fi ,,trivia").
Si alte alte programe de tip IRC prezinta colectii intregi de scripturi.
Pentru X-Chat recomand "XDCC'n'stuff", care incearca sa
implementeze comportamentul unui bot si sa permita distributia de fisiere pe
canal (vezi paragraful 2.2).
Pentru BitchX , recomand scriptul ,,Cypress" (cel mai utilizat de fapt).
2.2
-Ce sunt ,,botii"?
Serviciile tip ,,chanserv" sau ,,nickserv" (sau "X" in
cazul retelei Undernet), sunt aparitii relativ noi in lumea IRC. La
inceputurile sale, IRC-ul functiona pe baza filozofiei "Totul aici
apartine tuturor".
Aceasta regula mai dainuie si azi pe reteaua EFNet de exemplu.
Totusi, pentru buna organizare si functionare a unui canal, prezenta continua a
cel putin unui operator, este strict necesara.
Operatorii trebuie sa fie incontinu atenti la comportamentul persoanelor de pe
canal, pentru a sanctiona orice abuz, limbaj urat sau alte actiuni deranjante.
Atentia unui operator nu este intotdeauna perfecta, iar gradul de incredere
acordat unei persoane poate fi uneori mai mare decat ar trebui sa fie.
In cele mai multe cazuri nu se poate asigura prezenta unui operator 24h/24 .
Din aceasta cauza au aparut ,,botii". (o prescurtare a cuvantului
,,robot").
Botii sunt programe care permit managementul si protectia unui canal de IRC, realizand
de fapt munca unui operator, insa cu disponibilitate continua.
Spre deosebire de scripturi, botii sunt programe special concepute pentru
sarcinile pe care le realizeaza.
Dintre trasaturile importante ce diferentiaza un bot de un client IRC cu scripturile
aferente, enumeram :
- Programul este scris intr-un limbaj compilat, de tip C sau C++, ceea ce ii
asigura stabilitate si viteza in functionare.
- Programul este scris de la bun inceput in ideea de a gestiona unul sau mai
multe canale, avand din start implementate mecanisme de ierarhizare a
utilizatorilor, de setare a modurilor de canal, de protectie a canalelor,
operatorilor de canal si utilizatorilor obisnuiti contra unor actiuni de tip
abuziv.
- Programul nu dispune de interfata cu utilizatorul pe masina pe care ruleaza,
in felul in care au clientii de IRC. - -- Este conceput sa interactioneze cat
mai putin posibil cu alte programe si sa consume resurse cat mai putine. - -
Spre deosebire de anumite scripturi care se pretind boti si care pot fi manevrate
doar de pe computerul pe care ruleaza, sau, in mod foarte limitat, prin anumite
comenzi pe canal sau in privat, un bot este manevrat exclusiv prin mecanisme
precum DCC sau telnet, local sau de la distanta.
- Nu exista nici un alt tip de interfata cu utilizatorul, fie ea linie de
comanda sau interfata grafica
Botii pot fi conectati in retele ,,botnet", prin care comunica unul
cu celalalt.
Pot imparti aceleasi fisiere de configurare si isi pot da comenzi unul altuia,
reactionand prompt in caz de pericol. Un botnet functioneaza separat de IRC
Majoritatea botilor prezinta ceea ce se numeste ,,partyline", reprezentand
o modalitate de chat alternativa la IRC, la care utilizitatorii se pot conecta
folosind Telnet sau DCC.
Unii boti permit scriptingul.
Mecanismul de scripting este mai intim implicat in functionarea unui bot, decat
in cazul unui client de IRC.
In acest caz functionaliatea unui bot poate fi extinsa practic nelimitat,
acesta putand indeplini toate sarcinile imaginabile, de la protectii extinse,
la jocuri diverse si pana la programe de inteligenta artificiala.
Cel mai cunoscut bot, si cel mai vechi aflat in dezvoltare activa, este Eggdrop
(http://www.eggheads.org).
Samu este un astfel de bot.
Un alt bot foarte raspandit, dar care nu permite inca scripting decat in
versiunea de development, este Energy Mech.
Acesta din urma este foarte indicat in cazul in care doriti doar serviciul unui
canal si nimic altceva.
Cu toate ca un bot aduce unele avantaje, exista totusi anumite piedici care
restrang utilizarea lor.
In primul rand, setarea unui bot astfel incat sa nu deranjeze cu comportamentul
sau pe cei care converseaza pe canal este destul de dificila si se realizeaza
prin incercari.
De asemenea stabilirea unui ,,botnet" este extrem de greoaie si, nefacuta
cu atentie, poate duce pana la pierderea canalului din diverse motive.
Cele mai multe necazuri vin de la protectiile de canal.
Un bot care da kick si ban cu totul nejustificat in contextul respectiv, este
extrem de suparator.
De asemenea exista boti ,,modificati" de anumiti ,,binevoitori", ale
caror surse sau binare se pot lua de pe situri dubioase si care sunt
specializati in actiuni de flooding, takeover, spamming, etc.
Este motivul pentru care pe foarte multe dintre serverele de IRC, botii sunt
interzisi, fiind vanati cu indarjire de catre IRC operatori.
2.3 -Ce sunt proxy-urile si bouncerele
Ambele sunt programe ce pot fi comparate ca niste ,,intermediari"
plasati intre client si server pentru un anumit tip de servicii.
,,Proxy" in limba engleza inseamna ,,marioneta", ceea ce este o
denumire foarte nimerita.
Toate conectarile pentru anumite tipuri de servicii, in loc sa se faca direct
pe serverul dorit, se fac catre masina ce ruleaza proxy-ul respectiv.
Proxy-ul preia cererea si i-o transmite serverului in cauza.
Raspunsul de la server este apoi returnat catre client, tot prin intermediul
proxy-ului.
Proxy-ul nu trebuie sa fie confundat cu un router, acesta din urma functionand
la nivel de legatura de retea si de date, redirectand prin alte mijloace
traficul de pe un segment de retea pe altul.
Un proxy se foloseste de obicei, daca avem o retea locala de computere, fara
iesire la Internet si o computer in cadrul acestei retele care dispune si de
iesire separata la Internet.
Cu ajutorul unui proxy putem asigura un acces limitat si controlat la Internet,
pentru computerele din reteaua locala, in cazul anumitor tipuri de servicii (accesarea
siturilor web de exemplu).
Adesea, furnizorii de servicii Internet, pun la dispozitia clientilor lor un
proxy.
Aceasta reprezinta o modalitate de a beneficia de un transfer la viteze mai
ridicate, folosind anumite mecanisme ce sunt furnizate de proxy (de exemplu
cache local pentru paginile mai des vizitate).
Un avantaj secundar ce deriva din mecanismul conectare prin intermediul unui
proxy, este acela de ascundere a identit atii clientului.
Serverul dialogheaza de fapt cu proxy-ul si, in functie de setarile acestuia
din urma, nu are cum afla adevarata identitate a clientului.
MultI administatori de sistem neexperimentati nu reusesc sa isi configureze
corespunzator proxy-urile, rezultand ceea ce se numeste ,,open proxy".
Acesta pemite oricarui utilizator de pe Internet (nu numai celor
indreptatiti sa o faca) sa se conecteze prin intermediul sau.
In acest fel oricine poate comite atacuri si abuzuri (sau sa ocoleasca un
ban cel putin) prin intermediul unui astfel de proxy.
Din acest motiv unele retele de IRC precum Dalnet si Undernet folosesc
proxyscannere care impiedica conectarea uitlizatorilor prin intermediul acestor
,,open proxies".
In mod asemanator sunt detectate si programe de tipul variantelor mai vechi de
,,Wingate" care functioneaza ca un ..open router".
Un tip special de program care se comporta ca un proxy, realizat exclusiv pentru
conexiunile IRC, este ,,bouncerul". Cel mai cunoscut dintre acestea este ,,psybnc".
Acesta
permite conectarea doar anumitor utilizatori aflati pe o lista stabilita de
proprietarul acestuia, si doar de pe anumite IP- uri.
De asemenea poate fi configurat un anumit port pentru conectare.
Acest lucru se face obligatoriu la instalare, functionarea psybnc ca open-proxy
fiind destul de dificil de realizat si absolut de nedorit.
Psybnc permite folosirea mecanismului de ,,virtual hosts" si poate pastra
legatura cu serverul, chiar si dupa ce utilizatorul s-a deconectat,
inregistrand mesajele de pe canal si/sau private pentru utilizatorul respectiv.
Folosirea unui BNC are avantajul ca fereste utilizatorii sai de efectele
atacurilor rau voitorilor (in special a floodingului).
De cele mai multe ori BNC-ul va fi instalat pe o masina performanta avand o
conexiune rapida la Internet, cu toate avantajele ce decurg din aceste lucruri.
2.4 -Ce sunt shell-urile? Ce sunt acele
,,r00t"-uri de care vorbesc cei ce isi spun ,,hackeri"
A explica conceptul de ,,shell" unui individ care nu a vazut in viata lui
decat Windows este extrem de dificil.
Majoritatea celor ce utilizeaza IRC-ul au intre 16 si 23 de ani.
In asemenea conditii este de asteptat ca acestia sa nu fi folosit altceva decat
Windows 98.
O parte mai folosesc Windows 2000, destul de putini XP... si cam asta e tot.
Prea putini cunosc cate ceva despre DOS, (desi Windows 98 este inca bazat pe
acest sistem de operare). Windows 3.1x si chiar Windows 95 se pare ca au
trecut in uitare.
Se stie cate ceva despre un lucru numit ,,Linux", dar se parerea generala
este ca trebuie sa fii ,,meserias" sa-l folosesti, caci este extrem de
complicat.
2.4.1 -Rularea la distanta a aplicatiilor.
Interpretoare de comenzi (shell-uri)
Pentru a incepe explicarea conceptului de ,,shell" trebuie sa remarcam
faptul ca un calculator puternic care ruleaza un adevarat sistem de
operare, trebuie sa permita accesul simultan a mai multor utilizatori la
resursele sale.
Acestia trebuie sa fie capabili sa foloseasca acest computer fara a interfera
cu activitatile celorlalti utilizatori si avand pentru aceasta drepturi strict
ierarhizate in a accesa fisierele si perifericele computerului respectiv.
In aceasta idee, utilizatorii trebuie sa fie capabili a rula simultan, nu numai
diferite programe, ci fiecare dintre ei trebuie sa fie capabil sa ruleze
instante ale aceluiasi program simultan cu ceilalti.
In fine, pentru a se realiza acest lucru, computerul trebuie sa aiba
posibilitatea de a fi accesat de la distanta utilizandu-se asa numite
,,terminale".
Cele mai raspandite sisteme de operare care indeplinesc aceste cerinte sunt
cele din categoria ,,UNIX".
Acestea detin majoritatea pe serverele Internet si vor ramane majoritare
pe Internet, in ciuda faptului ca Microsoft se lupta sa-si mareasca cota de
piata (destul de mica) in acest domeniu.
Revenind la notiunea de shell, acesta este un serviciu oferit de unele
firme furnizoare de Internet, prin care acestea ofera dreptul de a fi
utilizator al unuia din computerele lor.
Cine isi procura un shell, primeste permisiunea de a rula anumite aplicatii
de la distanta, precum si un anumit spatiu de stocare pe un anumit computer.
Lansarea in executie a programelor, precum si operatiunile normale ce se
efectueaza cu fisierele (copiere, mutare, stergere), se realizeaza cu
ajutorul liniei de comanda, in mod similar modului de lucru in cazul
sistemului de operare DOS.
Denumirea de shell se aplica de fapt interpretorului de comenzi prezent
in toate sistemele de operare.
In cazul DOS, acesta este ,,command.com".
In cazul Windows, exista atat ,,command.com" cat si mult mai cunoscutul
,,Windows Explorer" (un ,,shell" grafic).
Sistemele de operare de tip Unix vin cu mai multe interpretoare de comenzi
Bourne (sh), Bourne Again (bash), Korn (ksh) sau C (csh).
Trebuie neaparat spus ca notiunea de script (vezi paragraful 2.1) s-a
aplicat pentru prima oara in cazul interpretoarelor de comenzi. (un exemplu
la indemana tuturor sunt fisierele .bat din DOS).
2.4.2
-Tipuri de terminale
Revenind la notiunea de ,,terminal" trebuie mentionat ca acestea sunt de
doua feluri: ,,alfanumerice" ce permit numai afisarea de litere,
cifre si alte simboluri si ,,grafice", permitand afisarea oricarui
tip de imagine si, implicit lucrul intr-un mediu prietenos cu mouse, ferestre
si butoane...
In momentul de fata, datorita aparitiei computerelor personale ieftine,
notiunea de terminal ca piesa separata a disparut, facand loc programelor care
simuleaza functionarea unui terminal, implementand si metode de conectare protocoale
a unui terminal prin intermediul retelei Internet la un computer gazda.
Asemenea protocoale sunt telnet si ssh, ultimul transmitand
informatia in mod codificat prin retea.
Windows
98 vine si el cu un program tip ,,telnet", dar acesta este extrem de
primitiv.
El se regaseste oarecum imbunatatit in Windows 2000 si XP, insa recomandarea
mea este programul putty cu performante net superioare (este o
emulare a xterm-ului din Unix).
In afara de telnet, permite si ssh.
De asemenea este singurul program de acest fel, utilizat de mine pana acum, ce
permite utilizarea mouse-lui.
In ceea ce priveste terminalele grafice, firma Xerox a introdus la inceputul
anilor '80 notiunea de ,,server grafic". Aceasta denumire este
inselatoare, deoarece el este de fapt o aplicatie ce realizeaza pe un
calculator un soi de terminal grafic.
El ofera functii cu care programul rulat la distanta isi poate desena pe
computerul transformat in terminal, ferestre, butoane si toate elementele
necesare rularii unui program.
Astazi acest lucru se cheama ,,X-Window" sau este intalnit pur si simplu
sub denumirea ,,X". si este intalnit pe orice PC care ruleaza Linux sau
alt sistem de operare tip Unix.
De cativa ani conceptul a fost adoptat si de MacIntosh (MacOS-X)
Un deceniu mai tarziu, Microsoft prelua doar ideea de interfata grafica bazata
pe ferestre, o aplica in MS-DOS si incerca sa o ridice la rangul de sistem de
operare (Windows).
2.4.3 -La ce imi poate folosi un shell?
Cei care cauta sa-si faca rost de un shell, cauta de fapt accesul la un
computer ce functioneaza 24h/24 si dispune de o legatura performanta la
Internet.
Acestia vor folosi de obicei ,,bucatica" lor de calculator pentru a rula
un BNC , sau un bot.
2.4.4 -Cum pot face rost de un shell?
De la inceput trebuie remarcat ca firmele care ofera shelluri isi supun
aparatura unui mare numar de ,,atacuri" specifice, din partea unei
,,anumite parti" a utilizatorilor de Internet.
Din aceasta cauza trebuie depuse eforturi deosebite pentru asigurarea unei
securitati corespunzatoare si a unei viteze mari de transfer a datelor, care sa
previna efectele flooding-ului sau a altor actiuni din partea rau voitorilor.
Dincolo de ocean, unde Internetul este mult mai extins si preturile conectarii
la retea mult mai reduse, exista firme furnizoare de servicii Internet care
ofera si shell-uri, contra unui anumit pret.
La noi insa (poate si in restul Europei), exista mai putine posibilitati
de a avea acces la asa ceva.
Cea mai la indemana este instalarea unui sistem de operare de tip UNIX (Linux
sau FreeBSD) pe computerul propriu.
Acest lucru permite nu numai folosirea unui shell, ci si accesul neingradit la
toata puterea pe care acest sistem de operare o are.
Singurul dezavantaj este, in cele mai multe cazuri, lipsa unei conexiuni Internet
cu performante corespunzatoare.
O
conexiune prin cablu sau DSL, inlatura in parte acest inconvenient.
In ultimul timp, acces la un shell se poate obtine ca student.
Mai
multe institute de invatamant superior ofera acest lucru, dar ele pot interzice
utilizarea aplicatiior legate de IRC, ce nu au legatura cu invatamantul si
supun echipamentul riscului unor atacuri de tip DoS sau compromiterea
securitatii acestora.
2.4.5
-Ce sunt ,,root-urile"?
,,Root" reprezinta in limbajul asa-numitilor ,,hackeri", posibilitatea
de a accede la un shell al unui administrator de sistem, sau de a rula anumite
aplicatii cu drepturi de administrator de sistem, pe un computer victima.
In lumea UNIX, ,,root" inseamna de fapt administrator de sistem, dar cei
care folosesc acest termen, au in vedere o prescurtare nefericit aleasa a
termenului ,,root shell".
Un root shell permite efectuarea anumitor operatii imposibil de realizat
dintr-un shell obisnuit (scanari de porturi, intruziuni, atacuri DoS de tip
flooding sau de alte tipuri),
Un astfel de shell permite practic trecerea masinii victima din mainile
administratorului ei, in mainile atacatorului
Un root shell se poate obtine prin divulgarea sau furtul parolei sale, din
neatentia sau naivitatea administratorului respectiv, insa de cele mai multe
ori se obtine prin exploatarea unor vulnerabilitati existente in anumite
aplicatii care folosesc Internetul pentru a transmite sau receptiona date (servere
de posta electronica, servere de web,
anumite tipuri de servicii ca ssh, etc.)
Confruntate cu anumite tipuri de cereri venite din exterior prin retea, aceste
aplicatii permit rularea de comenzi arbitrare pe masina gazda.
Sunt preferate, normal, aplicatiile ce ruleaza cu drepturi de ,,root".
Odata ce vulnerabilitatea este exploatata, se poate trece la instalarea unui
asa-numit ,,rootkit", care reprezinta un fel de ,,kit de instalare",
a carui rulare face modificari in configuratia masinii victima si instaleaza un
nou set de programe utilitare de sistem, menite sa ascunda orice actiune ulterioara
a atacatorului si sa stearga urmele actiunilor curente.
De asemenea rootkitul mai poate cuprinde un complex de utilitare de tip
,,spion" (sniffere de pachete sau de tastatura), sau utilitare
pentru declansarea altor atacuri (programe de flooding, portscannere, etc).
Din acest moment, masina este la dispozitia atacatorului din toate punctele de
vedere.
Insa o mare parte din aceste tipuri de atacuri au ca scop doar instalarea unui
BNC, ce urmeaza a functiona ascuns pe undeva, desi, dupa cum se pare, de cele
mai multe ori individul care face acest lucru habar nu are de efectele
secundare catastrofale ale actiunii sale, el fiind un ,,script kiddie"
care foloseste unelte de ,,hacking" produse de altcineva.
Tipul se alege doar cu BNC-ul, in timp ce adevaratii beneficiari ai actiunii
sale sunt autorii ,,uneltelor" respective.
Hackeri si
,,script kiddies"
Hackeri sunt persoanele care ,,analizeaza" cu atentie, in scopuri diverse,
aspectele legate de securitatea unui computer, a unei retea de calculatoare,
sau, pur si simplu, eventualele deficiente ale unui program,
Scopurile sunt, deseori, ,,penetrarea" sistemului respectiv, cu scopul de
a obtine accesul la diverse informatii si servicii, in scopul fructificarii
acestora. Alteori aceasta activitate este realizata din ,,spirit rebel".
O categorie speciala o reprezinta ,,expertii de securitate", care sunt
platiti de diverse firme pentru a le ,,audita" sistemele din dotare.
Hackerii trebuie sa posede un nivel extrem de ridicat al cunostintelor de
programare si functionare a sistemelor si, mai ales talent si o mare intuitie.
Din acest motiv numarul hackerilor adevarati este extrem de redus.
Exista insa un numar foarte mare de persoane ce isi zic hackeri, fara a fi insa
hackeri.
Ei folosesc anumite instrumente (aplicatii, programe) existente deja,
pentru a patrunde pe anumite sisteme si a trage anumite foloase din acest
lucru, sau, pur si simplu, de a le ,,pune pe butuci" si a se lauda apoi cu
acest lucru.
Nivelul lor de cunostinte este foarte redus, ca si capacitatea de perceptie a
efectelor actiunilor pe care le desfasoara.
Denumirea data acestora de catre cei avizati, este de ,,script kiddies"
O mare parte dintre script-kiddies nu au scris niciodata vreo linie de program,
iar multi nici macar nu poseda cunostinte elementare de utilizare a sistemului
de operare aflat pe masina victima.
Din acest motiv, pot cauza efecte devastatoare pe computerele pe care le ataca.
Acest lucru, coroborat cu varsta deseori frageda, care nu le permite inca sa
inteleaga prea bine ce fac, fac din ei adevarata amenintare pentru serverele de
Internet.
Trebuie sa
amintesc ca aproape intotdeauna computerele cad victima atacurilor duse de
script kiddies, datorita nepriceperii administratorilor care fac proaste
configurari ale serverelor si retelelor, si nu aplica la timp patchurile
pentru anumite programe importante.
In cazul Linux-ului sau a altor sisteme de operare de acest tip, de fiecare
data cand, este descoperita o anumita vulnerabilitate intro anumita aplicatie,
remediul apare aproape in acelasi timp cu ,,exploitul", insa foarte multi
administratori nu iau in seama pericolul neaplicarii patch-ului remediului,
decat in momentul in care raul s-a produs deja.