Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   





Clic aici
PC Magazine





IPRO - PC Magazine Romania, Aprilie 2004
SOLUȚII PENTRU PROGRAMATORII ȘI DESIGNERII WEB

Welcome to ARPANET…

Atacurile prin telnet

Alexandru Ioan Lazăr

În anii ´80, pe vremea când Internetul era abia la început, când nimeni nu auzise de WWW, BBS era cuvântul de ordine. În loc de situri web scrise în HTML, cei care erau în căutare de distracții printre biți accesau sisteme bulletin board (BBS - Bulletin Board System) scrise în C. Chiar și acum, BBS reprezintă o activitate prolifică, iar scrierea unei interfețe BBS este o provocare interesantă pentru foarte mulți programatori. Un sistem BBS funcționează prin comunicarea directă dintre client și server. Comunicarea se face tot prin intermediul protocoalelor. Numai că în loc de cripticul și complicatul httpd, aceste sisteme folosesc telnet…

Boom-Boom System

Telnet poate fi folosit nu numai pentru BBS. Telnet este un protocol care, în sine, nu permite cine știe ce atacuri. Spargerile se produc din cauza vulnerabilităților interne ale sistemelor. Hackerii din anii ´80 numeau sistemele nesigure la atacurile telnet Boom-Boom System (aluzie, evident, la BBS).

Am vorbit data trecută despre atacurile de la distanță. Atacurile prin telnet intră în această categorie, deoarece ele vizează obținerea accesului de la distanță; telnet fiind un protocol folosit pentru comunicarea între calculatoare (RFC 856). Telnet funcționează prin schimbul de pachete pe 8 biți între stații. Demonul telnet rulează pe portul 23 (atenție însă! Sesiuni telnet pot fi lansate pe orice port, iar comunicația prin telnet se poate face cu aproape orice demon).

Cazul WebForce

Există mai multe motive din care un atac prin telnet reușește. Primul este software-ul prost configurat, iar în legătură cu acesta există un caz celebru: cazul mașinilor SGI WebForce.

Calculatoarele WebForce au fost fabricate de Sillicon Graphics și erau livrate cu un sistem UNIX. WebForce au fost apreciate pentru calitatea lor - dar au avut o singură problemă: sistemul de operare avea, implicit, contul lp activ. Contul lp este destinat imprimantei de rețea, și există pe majoritatea sistemelor UNIX - dar este dezactivat. Dacă ai acces la o stație Linux, aruncă o privire în /etc/passwd. Vei vedea o linie cu contul lp - și vei vedea că este neprotejate (nu are parolă) dar este implicit dezactivat.

S-a dezvoltat o întreagă "industrie" de spart mașini WebForce. Totul se făcea lansând o conexiune telnet spre acea mașină:

telnet 192.141.128.51
Connecting to 192.141.128.51…
Connected.
Escape character is ´^[´
login: lp
$

Stația atacată prezenta imediat un prompt. Contul lp putea fi folosit ca o "rampă de lansare" pentru a ataca alte stații din rețea. De fapt, era situația perfectă: un cont care nu cerea parolă, pe o mașină UNIX...

Conturile protejate prin parole slabe sunt și ele vulnerabile. Practic, în momentul în care fișierele cu parole - fie ele Linux, Windows, NetWare sau orice alt sistem - au fost afișate sau obținute, ele pot fi și sparte. Dacă un cracker a putut afișa la stdout fișierul /etc/passwd de pe o mașină UNIX, el poate, cel puțin teoretic, obține acces ca root. De aceea, parolele utilizatorului root trebuie să fie alese cu mare grijă. Regulile sunt binecunoscute: minim opt caracter, litere mari și mici, cifre și nu cuvinte din dicționar. Toate dicționarele includ numele de Bob (câinele unui prieten, de ce nu?). O asemenea parolă se sparge ușor. Dar nimeni nu-și botează câinele shg98Abf5.

E drept că, pe un sistem configurat cum trebuie, cazuri ca cele de mai sus sunt foarte rare. Doar o greșeală serioasă poate activa un cont neprotejat prin parolă, iar dacă fișierul de parole a putut fi vizualizat sau descărcat, ar fi cazul să revizuiești schema de securitate a rețelei tale. Mare atenție la numărul de tentative de conexiune pe care le permiți. Dacă un utilizator nu e în stare să nimerească parola din cinci încercări, mai mult ca sigur nici nu o știe!

Pasărea R… login

rlogin și rsh permit utilizatorilor de la distanță să acceseze resursele unei stații, într-un mod asemănător cu telnet. Numai că, spre deosebire de telnet, lipsește terminalul virtual. Cu alte cuvinte, programe ca EMACS sau pico nu vor funcționa. În schimb, ceea ce face foarte periculos aceste servicii este faptul că ele nu cer parola utilizatorilor de pe mașiniile "trusted". Multe sisteme sunt vândute cu wildcard-ul ´+´ activat în fișierul /etc/hosts.equiv, ceea ce implică faptul că, implicit, toate mașinile sunt tratate drept "trusted". În acest fel, se poate obține accesul folosind orice nume de utilizator existent în fișierul /etc/passwd al țintei, mai puțin root (iată de ce este serviciul finger atât de periculos…).

Să vedem un exemplu…

$whoami
ftp
$rsh test.ro csh -i
Warning: no access to tty;
$ rlogin test.ro -l toor
Welcome to our domain!

Poți observa că totul a pornit cu mine logat ca ftp (și nu root, cum aș lucra în mod normal). M-am logat apoi, tot ca ftp. Warning: no access to tty; ar fi trebuit, poate, să mă alarmeze. Dimpotrivă, cu atât mai bine, asta înseamnă că nu există job control… așa că pot să mă desfășor "în voie". Probabil că ftp nu are o importanță atât de mare. DAR contul bin, cont de sistem, are, pentru că este proprietarul unor fișiere importante. De exemplu, dacă m-aș loga ca bin, aș putea avea acces la fișierele pe care acest cont le deține. Părerea mea? Rsh și rlogin trebuie dezactivate fără drept de apel - sau, dacă ai neapărată nevoie de ele, permite conexiunea numai de la anumite adrese.

Protecția

Cum se atinge o configurare corectă? Păi… În primul rând, parolele. Nu aștepta să-ți fie spartă rețeaua ca să schimbi parolele. Evită folosirea conturilor fără parole (impune folosirea parolelor chiar pe mașini cu Windows9x) și verifică-le pe cele existente. Schimbarea parolelor ar trebui făcută la cel mult o lună pentru fiecare utilizator. Pentru un administrator, educarea utilizatorilor trebuie să fie o prioritate. Degeaba ai parole gen X0jkgfsIGl dacă sunt pe un post-it lipit de monitor.

În Windows, trebuie să blochezi orice fel de conexiune telnet venită din exterior, cu excepția cazului în care e nepărată nevoie de ele (iar atunci în nici un caz să nu permiți logarea ca guest). Telnet nu e încă destul de configurabil pe platforma Microsoft. Părerea mea. În cazul Linux, nu trebuie să iei măsuri atât de radicale. Dimpotrivă, îți poți permite chiar să descurajezi atacatorii folosind mascarea parolelor prin shadow și trecerea unor shell-uri false pentru conturile sistem.

Să le luăm pe-ndelete. Folosirea de shell-uri false pentru conturile sistem înseamnă că vei da conturilor ca bin sau daemon (care nu au nevoie de un shell ´real´ ca sh sau bash) un shell care nu există, de exemplu /bin/false, atât în /etc/passwd cât și în celelalte fișiere care le cer. În felul acesta, oricine va încerca să se logheze ca bin sau daemon va avea o mică surpriză (un shell care nu există nu poate răspunde la comenzi).

Chiar dacă ei vor obține acces non-root, rămâne o soluție. Shadow este, pentru cine nu știe, un utilitar care permite înlocuirea fișierului /etc/passwd cu un link simbolic pentru adevăratul fișier cu parole care este ascuns bine prin structura de directoare. Dacă un atacator obține acces ca utilizator non-root, el nu va vedea nici un fișier cu parole (shadow este destul de deștept ca să nu permită deschiderea fișierului real printr-o comandă care invocă link-ul simbolic. De exemplu, cat /etc/passwd | less nu va produce nici un rezultat în afara unui mesaj de eroare).

Telnet mai are o mare problemă: comunicația prin el este necriptată. Plasarea unui sniffer (interceptor de trafic) în rețeaua ta va putea dezvălui parolele pe care tu le introduci când te conectezi prin telnet. De aceea, eu prefer să-l înlocuiesc cu ssh (Secure SHell), care folosește o comunicație criptată, asigurând parolele tale pentru următoarele câteva era glaciare câte vor fi necesare pentru a le sparge.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2004 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro