Sunteți pe pagina 1din 19

1

Acest tutorial poate fi gasit la http://www.ournet.md/~xguard

Instalarea sistemului
Intro
...Linux, este adesea numit de catre presa "cel mai inrait dusman al lui Windows NT". Wired Magazine l-a numit chiar "o
poveste minunata, insa nespusa pana la capat". Ar fi o definitie perfecta, intr-adevar, deoarece povestea din spatele SO Linux
este una dintre cele minunate insa necunoscuta celei mai mari parte a utilizatorilor. Deci, sa incepem...

Instalarea SO Linux
Instalarea SO Linux nu este chiar asa de grea cum ar parea, sau cum ati auzit de la altii. Doar un pic mai complicata decat o
instalare tipica de Windows 95/98. Astfel, pentru a incepe instalarea sistemului de operare Linux pe calculator, aveti nevoie
de...

Primii paşi
Consola - utilizarea liniei de comanda.
Shell - interpretatorul de comenzi UNIX si principalele tipuri de shell-uri.

Sistemul de fisiere si navigarea prin el - particularitatile sistemului de fisiere.


Principalele comenzi - comenzile de baza pentru gestiunea fisierilor si directoarelor.
Cautarea si vizualizarea fisierilor - e clar, nu?
Configuararea sistemului - folosirea utilitarului linuxconf pentru configurarea sistemului.
Montarea sistemelor de fisiere - utilizarea altor sisteme de fisiere din Linux.
Nivele de rulare - nivelele de rulare in Linux. Care ar fi rostul lor.

Intro
Linux, este adesea numit de catre presa "cel mai inrait dusman al lui Windows NT". Wired Magazine l-a numit chiar "o
poveste minunata, insa nespusa pana la capat". Ar fi o definitie perfecta, intr-adevar, deoarece povestea din spatele SO Linux
este una dintre cele minunate insa necunoscuta celei mai mari parte a utilizatorilor. Deci, sa incepem:
Candva demult, in timpurile hipiotilor, AT&T a produs un sistem de operare multi-utilizator si l-a numit "UNIX". De-a lungul
anilor, UNIX a cunoscut o dezvoltare vertiginoasa si a avut mai multe versiuni (pentru cei care-l ingroapa, sa ia aminte: un SO
mort nu are versiuni). Una din aceste versiuni, numita "Minix" era utilizata la Universitatea din Helsinki. Un student al
universitatii - Linus Torvalds a incercat sa faca un SO superior celui utilizat la Universitate. Astfel in 1991 el a inceput lucrul
asupra proiectului sau si in 1994 a vazut lumina zilei prima versiune oficiala a sistemului de operare.

Pro si Contra
Cred ca va intrebati care ar fi marea chestie cu acest Linux, nu e pur si simplu doar un alt SO? Nu e deloc asa! In primul rand,
Linux este produs sub asa-zisa 'licenta de sursa disponibila' (daca cineva are o mai buna traducere a expresiei 'opens source
licence', sa mi-o zica ;-). Aceasta inseamna ca:
In primul rand este disponibil codul sursa a sistemului, deci oricine care s-ar pricepe la programare ar putea sa introduca
modificarile sale in SO, obtinand astfel propria versiune adaptata la cerintele sale individuale.
Alt argument in favoarea sistemului Linux ar fi faptul ca e mult mai stabil decat bine-cunoscutul Windows (nu cred sa fie
cineva care nu s-a enervat nici odata stand in fata unui calculator care nu reactioneaza la nici o comanda). Linux merge practic
pe orice sistem, chiar si pe un 386. Programele scrise pentru Linux nu se blocheaza aproape nici odata, iar chiar daca s-ar
intampla o asa minune, sistemul nu va "ingheta" si el. Nu e nici pe departe ca in cazul cu Windows, unde e destul sa deschizi
un fisier txt putin mai mare si... intreg sistemul se va bloca din cauza Wordpad-ului.
In al treilea rand, e mult mai greu sa pentru un hacker sa sparga un calculator bazat pe Linux decat pe Windows. Insa aceasta
nu e nici pe departe o lista completa a argumentelor in favoare Linux-ului.
Tutorialul in cauza este destinat care ar dori da migreze de pe Windows pe Linux. Tot ce e posibil ca aveti langa voi CD-ul
Linux cu distributia RedHat sau Mandrake. Sunt practic la fel de bune, cel putin eu nu as putea spune care ar fi mai buna. Unii
zic ca pentru Mandrake este mai mult soft disponibil. Eu as zice ca pentru RedHat (caci RedHat e ceea ce folosesc eu acum)
2
soft se gaseste mai simplu. Am folosit si Mandrake, insa mie el mi s-a parut mai putin flexibil si mai greoi ca RedHat-ul.
Nu-i ascultati pe aia care afirma ca pentru Linux soft aprope nu e deloc, iar putinul pe care-l gasiti e de doi bani. Nu e deloc
asa. Doar din faptul ca nu se cer bani pentru un program nu inseamna ca e ceva inferior produselor scumpe destinate Windozei.
Daca e sa cautati mai bine si sa nu pierdeti timpul pe porno-site-uri, gasiti soft mult mai divers si mai de nadejde decat in cazul
platformei Windoze.
Cea mai mare parte a produselor soft pentru Linux a fost elaborata de programatori sau hackeri de categorie grea (heavy-
weighters) care sunt net superiori alor care au ca scop primar de a stoarce bani din bietzii utilizatori.
Daca v-am convins, nu stati! Acum nu trebuie decat sa instalati SO si cat mai repede!
Ah da, nu am zis nimic contra... ce ar fi de zis aici, unii se plang ca e extrem de complicat in utilizare si administrare. Pai,
pentru unii si sculatul de dimineata este ceva extrem de dificil. Soft mai putin, ziceti voi? - uitati-va mai sus.

Instalarea sistemului
Ati hotarat sa instalati Linux-ul pe calculator? Foarte bine. Pentru aceasta veti avea nevoie de:
1. calculator (presupun ca-l aveti, altfel cum ati fi citit aceasta pagina?!)

2. CD bootabil cu o distributie Linux


3. o programa buna de partitionare a hard-discului - asa ca Partition Magic
4. o discheta goala
5. timp
6. ceva de mancat si baut (nu radeti, ca e destul de important!)

Instalarea in sine, va cuprinde mai multe etape:

Partitionarea
Daca aveti deja Windows instalat pe calculator si nu doriti sa renuntati complet la el, va trebui sa creati o noua partitie a hard-
discului. Nu va temeti, e simplu si nu e nevoie de studii superioare pentru a face aceasta. Necesitatea acestei noi partii ar fi
faptul ca Linux si Windows difera foarte mult in ceea ce priveste felul in care acceseaza hard-discul si modul de gestionare a
fisierelor. In majoritatea lor, distributiile Linux vin pe CD impreuna cu un program care face partitia, insa eu v-as recomanda
sa folositi programul "Partition Magic" - este cel mai comod in utilizare avand o interfata intuitiva si foarte simplu de folosit.
Cu ajutorul acestui program veti crea 2 partitii noi: "LinuxExt" si "LinuxSwap".
LinuxExt - Linux extended. Aici se va situa intreg sistemul de operare. Daca doriti sa instalati intrega versiune a SO, veti avea
nevoie de aproxmiativ 1.5 gb plus spatiu pe hard-disc pentru fisiere temporare, si alte programe. Insa aveti in vedere ca o
instalare "full" inseamna instalarea unui Web server, FTP server, News server etc. Nu cred ca veti avea nevoie de asa ceva pe
calculatorul de acasa. De exemplu, pe calculatorul meu Linux ocupa in jur de 280 Mb. La instalare vi se va propune sa selectati
ce componente doriti sa fie instalate, insa despre aceasta se va vorbi mai jos. Exista chiar versiuni compacte ale sistemului care
se booteaza de pe 3 dischete - dintre care 2 contin softul si nu sistemul de operare insusi! Il puteti gasi aici.
Linux Swap - traditional, marimea acestei partitii trebuie sa fie de 2 ori mai mare decat RAM-ul pe care-l aveti, insa in caz
daca aveti peste 128 RAM, dispare necesitatea unei partitii de Swap.

Instalarea
Pentru instalare veti avea nevoie de cat mai multa informatie despre hard-ul dvs. Pentru aceasta in Windows, in My Computer
gasiti cat mai multe despre cartela dvs de sunet, cartela video, modem etc. (daca aveti modem intern - posibil e sa nu-l puteti
folosi sub Linux).
Sa speram ca ati reusit sa partitionati cu succes hard-discul Dvs fara a formata complet partitia Windows-ului (desi nu ar fi o
mare tragedie). Cred ca sunteti gata de marele eveniment. Rugati-i pe toti care ar putea sa va incurce sa mearga in varful
degetelor.
Dsicul de pe care urmeaza sa instalati Linux-ul ar trebui sa fie bootabil. Pentru ca calculatorul Dvs. sa poata initia de pe el
programa de instalare trebuie sa va jucati putin cu setarile din BIOS care ar face ca citirea primara sa se faca de pe CD-ROM.
Cred ca a-ti mai facut-o atunci cand ati avut "norocul" sa instalati Windows-ul. Rstartati calculatorul si introduceti CD-ul
bootabil in calculator, asteptati pana se initiaza programul de instalare a Linux-ului. Acum sau niciodata.
3
La initiere, programul de instalare va efectua o serie de teste de determinare a configuararii hard-ului calculatorului. Dupa aai,
posibil va urma logo-ul distributiei Dvs. mai departe vor urma intrebari extrem de simple: asa ca limba Dvs, tipul tastaturii,
mouse etc. (este chiar si romana). Aici nu cred ca ar avea cineva probleme.

Setarea punctului de montare


Mici probleme ar putea aparea la alegerea partitiei pe care doriti sa instalati Linux-ul. Ceva intr-o fereastra cu denumirea "Disk
Setup". Aici se vor afisa partitiile care sunt pe calculator. Ar trebuie sa vedeti ceva de genul:
Mount point Device Requested Actual Type
<not set> dev1 XX Mb YY Mb Win95
<SWAP> dev2 XX Mb YY Mb Linux Swap
<not set> dev3 XX Mb YY Mb Linux native

Nu disperati daca la ecran aveti afisat ceva care putin difera de tabela de mai sus, principalul e sa prindeti ideea.
hda1 reprezinta partitia pe care se aflai instalat Windows-ul vostru mult-iubit
Aici va trebui sa alegeti partitia (Device) pe care se va instala Linux-ul. Pentru aceasta selecati partitia pe care sta "Linux
Native" (in exemplu nostru - hda3) si apasati 'Space'. In fereasta ce va aparea, insemnati punctul de montare cu simbolul '/',
apasati OK. Prin aceasta aceasta, ati indicat ca directorul radacina (root directory) sa fie montat pe partitia de Linux Native.
FITI ATENTI SA NU ALEGETI ALTA PARTITIE AFARA DE 'LINUX NATIVE', ASA CUM AU FACUT-O DESTUL DE
MULTI!!!
In continuare va urma un dialog care ar dori sa stie ce partitie sa formateze. Selectati acea partitie pe care se afla Linux Native.
Selectati partitia '/dev/hda3' in exemplul de mai sus. Fiti din nou foarte atenti sa nu formatati o alta partitie!

Selectarea pachetelor
Dupa selectarea partitiei si formatarii ei, va trebuie sa precizati despre ce instalare e vorba: Statie de lucru GNOME, KDE,
instalarea unui server sau o actualizare a unui kernel mai vechi (upgrade). Dupa aceia va trebui sa selectati pachetele
individuale. Daca ati renuntat la ceva care este indispensabil sistemei veti fi atentionat astfel incat sistema dvs sa poata lucra
fara probleme si greseli (nu asa ca... stiti voi cine!). Apasati OK si va incepe instalare.

Configurara serviciilor
Dupa copierea pachetelor pe hard-disc, veti fi invitat sa configurati X-Windows (interfata grafica pentru Linux numita X).
Alegeti tipul de monitor si tipul cartelei grafice ce o avet, daca monitorul dvs nu este in lista, alegeti ceva de genul "generic" si
alegeti o rezolutie mai mica la inceput, dup'aia o puteti mari fara probleme.
Urmeaza configurarea mouse-lui. Aletgeti, pur si simplu "Generic PS/2 Mouse". Dupa aia, alegerea orei si .
Veti mai fi intrebat daca doriti ca interfata grafica, X-Windows, sa fie interfata implicita. Daca sunteti un incepator cu 'I' mare
selectati aceasta optiune, daca nu, puteti porni interfata grafica oricand cu comanda 'startx'. Ultima ce vai mai ramas e sa
configurati o imprimanta.

Utilizatorii
Linux este un sistem multi-utilizator. Desi e cel mai probabil ca veti folosi calculatorul de unul singur, pentru comoditatea dvs
ar fi bine sa creati mai multe conturi de utilizatori. In primul rand, un cont de 'administrator' (root, super-user) - cel care are
cele mai mari drepturi in sistem. Veti folositi acest cont pentru a intretine si a administra sistemul. Insa faptul de a avea
drepturi absolute in sistem ar putea facilita distrugerea lui de catre incepatori, de aia e indicat sa creati un cont de utilizator cu
drepturi limitate care v-ar impiedica de la actiuni stupide. Insa puteti in orice clipa sa reveniti la statutul de 'super - urilizator'
cu comanda 'su'. Alegeti o parola de 'root'. De exemplu, parola mea de root este 'bugmafia' - adica ceva foarte simplu deoarece
am incredere in cei din familia mea. Nu cred ca e nevoie de accese excesive de paranoia, nu cred sa fie foarte multi care si-ar
vinde sufletul ca sa patrunda in sistemul dvs. Lucruri mult mai urate pot fi facute sistemului dvs de catre atacatori fara ca ei sa
aiba cea mai mica ideie de parola dvs de administrator. Asa ca, conteaza administrarea, nu parola ei. Dupa configurarea
contului de root, veti fi invitat sa creati un cont mai putin privelegiat - acest cont va fi folosit in mod normal - mai ales cand
stati pe Net.
4
Bootarea
Ultima faza, este selectarea modului in care doriti ca sa starteze Linux-ul. Cel mai comod ar fi sa configurati LILO (adica
LInux LOad). In acest caz, pe sectorul zero al hard discului (de pe care se incarca sitemul operationl) se inscrie programa care
propune la start-up optiunea de a incarca Windows-ul sau Linux-ul. La prima vedere aceasta ar fi cea mai comoda metoda. Asa
si este, insa in cazul reinstalarii Windows- ului (o data in 2 saptamani in cazul meu) el va scri informatia despre incarcarea sa
pe sectorul zero peste LILO, stergandu-l. Cu alte cuvinte, daca reinstalati Windows-ul nu veti mai avea acces la Linux :(.
Esirea din situatie ar fi utilizarea unei dischete de boot de pe care s-ar porni Linux-ul. Cand veti dori sa folositi Linux-ul, pur si
simplu la start-up veti introduce discheta si Linux-ul se va porni de pe ea (desigur va trebui sa va jucati putin la setarile din
BIOS), cand veti dori sa folositi Windows (mai cade lumea in pacat:( ) pur si simplu porniti calculatorul ca inainte - insa fara
discheta Linux!

Restart & Enjoy


Restartati calculatorul, in BIOS schimbati setarile ca stfel ca incarcarea sistemului sa se faca de pe discheta. Nu uitati sa
introduceti discheta. Veti vedea un prompt de tipul:

LILO
Press 'Enter' (or wait 10 seconds) to boot your Red Hat System from /dev/hda3.
You may override your default kernel parameters by typing "Linux <params>" if you like.
boot:
Apasati 'Enter' (sau asteptati 10 secunde, daca sunteti un om foarte rabadator J si... va porni Linux-ul! Yeehaw!!! Dar nu
strigati prea tare...
Cred ca sunteti bucurosi ca ati reusit sa instalati Linux-ul. Acum totul e gata pentru a rula sistemul.
Daca a-ti decis sa startati SO de pe discheta, introduceti-o in calculator si in BIOS selectati discheta ca dispozitiv primar de
bootare. Restartati calculatorul. Daca ati instalat LILO, veti fi intrebat care SO sa fie pornit, daca ati selectat discheta de boot -
SO va porni automat. Dupa startarea sistemului, veti fi intrebat de numele dvs de utilizator si parola. Aceasta va arata diferit in
dependenta de ce ati selectat sa se incarce in mod implicit: interfata grafica (X) sau consola. Incepatorii cred ca au selectat
interfata grafica, de preferat insa, ar fi consola, deoarece e cu mult mai rapida decat X. Daca va intrebati care e numale dvs e
utilizator - el este 'root' iar parola este aia pe care ati indicat-o la instalare. Insa ar fi bine sa stati in sistem cu un cont de
utilizator cu mai putin acces pentru a nu dauna sistemului
In cele ce urmeaza voi incerca sa descriu urmatoarele momente:
consola
shell
sistemul de fisiere si navigarea prin el
principalele comenzi
cautarea si vizualizarea fisierilor
configurarea sistemului
montarea sistemelor de fisiere
nivele de rulare

Consola
Desi majoritatea lucrurilor vor fi mai usor de facut folosind interfata grafica (X), exista totusi niste chestii pe care ar trebuie sa
le aveti in vedere:
• in primul rand, nu va bazati pe X in toate celea. Acest lucru este foarte important deoarece veti invata mai multe folosind
linia de comanda (consola adica).
• consola i-ti ofera mai multa putere si viteza. Ea ofera posibilitati enorme, insa pentru aceasta ar trebui sa luati o carte bune
de UNIX si sa va puneti pe invatat. Dupa aceia ve-ti deschide tot mai des un terminal (chiar aflandu-va in X) pentru a rula
niste comenzi ce nu pot fi indeplinite din X.
Promptul consolei va arata la dvs in urmatorul fel:

[username@localhost.localdomain]$
unde 'username' este numele dvs de utilizator. Simbolul $ indica asupra faptului ca sunteti un utilizator obisnuit. Daca va veti
loga ca root promptul dvs va arata astfel:
5
[root@localhost.localdomain]#
Descifrarea ar fi urmatoarea: utilizatorul username logat in sistemul loclahost.localdomain. Insa si simbolul promptului si
numele sistemului (domain name) pot fi schimbate. Insa despre asta se va vorbi mai tarziu. OK?

Shell
In sistemele UNIX-like, limbajul de comanda prin care utilizatorul dialogheza cu calculatorul este denumit Shell. Exista doua
shell-uri standard, foarte populare: Shell-ul Bourne si shell-ul C. Shell-ul are rol de interpret intre dvs si nucleul sistemului de
operare. Nucleul SO Linux este format dintr-o colectie de rutine, numite kernel. Kernel-ul asigura resurselor sistemului
interactiunea directa cu hard-ul calculatorului. In sistemele UNIX-like numai rutinele kernel-ului pot interactiona cu hard-ul.
Pe orice sistem Linux sunt cateva tipuri de shell-uri:
bsh - bourne shell
bash - bourne again shell
csh - C shell
ksh - Korn shell

Sistemul de fisiere si navigare


Un lucru foarte important la utilizarea consolei este de a naviga prin sistemul de fisiere fara utilizarea interfetei grafice.
Primul lucru pe care tre'sa-l stiti este directorul radacina. In Windows, directorul radacina ar fi C:\. In Linux directorul radacina
este /. Orice alt director este subdirector al /.
O caracteristica a sistemelor UNIX-like ar fi sistemul ierarhizat de fisiere. Acest lucru e extrem de util in cazul cand sunt
gestionate sute de fisiere. Fiecarui utilizator ii este deschis un subdirector cu numele sau in directorul /home sau /usr. De
exemplu, daca aveti numele de user killer (sau babyJ ), atunci directoru dvs va fi: /home/killer (sau /home/baby).
Dar... ajunge cu vorbaraia. Sa incercam ceva in practica.
Pentru a vedea unde va aflati in ierarhia de fisiere folositi comanda:
$ pwd
/home/nume_utilizator

S-a afisat numele complet al direcotului curent. Imediat dupa login directorul curent este home directory.
In caz daca doriti sa vedeti ce fisiere si directoare se afla in directorul curent se utilizeaza comanda:
$ ls
fisiere proiecte programe downloads

Aceasta comanda este echivalenta comenzii 'DIR' din DOS. Pentru ca comanda 'ls' sa dea informatie mai clara si citibila se
utilizeaz parametrul "l". Incercati "ls- l" si veti obtine astfle lista fisierelor si direcotarelor din directorul curent precum si
proprietarul, grupa si drepturile asupra fiecarui fisier si director.
Pentru a putea naviga prin directorii si subdirectorii folositi comanda cd:
$ pwd
/home/nume_utilizator
$ ls
fisiere proecte programe downloads
$ cd programe
$ pwd
/home/nume_utilizator/programe
$

Pentru a urca pe un direcor superior, utilizati comanda 'cd ..'.

Principalele comenzi
Din toate comenzile de baza, cele mai importante pentru inceput ar fi
comenzile de manipulare cu directoarele si fisierele:
6

Creare/Stergere director
mkdir si rmdir
Pentru a crea un director, se utilizeaza comanda mkdir. Formatul comenzii este:
mkdir nume_director
directorul se va crea automat ca subdirector al directorului curent. Insa daca, de exemplu, sunteti in /var/spool, dar doriti sa
creati subdirectorul catalog in /home/killer, formatul va fi:
mkdir /home/killer/catalog.
Stergerea directorului se face cu comanda rmdir. Formatul acestei comenzi este similar cu al celei precedente.
Copiere, mutare si stergere fisier
cp, mv, rm

Copiere: comanda cp
Formatul comenzii de copiere este:

$ cp /director_sursa/fisier /director_destinatie/fisier
De exemplu, fisierul capitol1 din /home/killer doriti sa-l copiati in /home/ killer/book1 atunci formatul va fi:

$ cp /home/killer/capitol /home/killer/book1/capitol1
Mutare/Redenumire: comanda mv
Formatul comenzii rm este similar cu cel al comenzii cp

Stergere fisier: rm
Formatul comenzii de stergere este:
$ rm /cale/fisier_de_sters

Cautare si vizualizare fisiere


Pentru a cauta un fisier intr-un anumit director, folositi comanda find. Pentru a cauta un fisier se utilizeaza argumentul '-name'.
Atfel daca cautati fisierul "irclogs" si doriti cautarea sa inceapa din directorul /var scriti:

$ find /var -name irclogs


Daca insa nu stit exact numele fisierului dar stiti ca contine literele 'qwer':
$ find /var -name "*qwer*".
Pentru a vizualiza un fisier utilizati comanda cat:

$ cat /cale/nume_fisier
Pentru a cunoaste toate comenzile consolei ar fi bine totusi sa luati un manual bun de UNIX. Puteti gasi un tutorial complet de
comenzile consolei (ce-i drept in engleza) la blacksun.box.sk sau la Linux.box.sk.

Configurarea sistemului
Sunt o multime de comenzi pentru configurarea sistemului. Fiecare aparte pentru configurarea utilizatorilor, parolelor, retelei
etc. Nu e greu de loc sa te incurci in toate. D'aia cei destepti s-au gandit la voi cand au facut programa 'Linuxconf'. Se porneste
cu comanda linuxconf.
Are interfata grafica (spre bucuria noastra) si merge chiar si fara X. Cu ajutorul linuxconf-ului puteti configura aproape tot
sistemul.
7
Montarea sistemelor de fisiere
Pentru a accesa un disc (discheta, cd, zip) in Windows este nevoie ca el sa fie montat fizic in hard. In Linux este necesar ca
discurile sa fie montate si in soft.
La fel, partitiile hard-disk-ului necesita montare pentru a fi citite. Astfel, Linux-ul poate citi partitia pe care sta mult-indragitul
dvs Windows insa aceasta nu inseamna ca se poate folosi si soft-ul din Windows.
Pentru a monta in Linux alte sisteme de fisiere, partitii, discuri, e comod de creat un director separat pentru fiecare disc sau
partitie. Cel mai comod e sa creati in directorul radacina directorul mnt. In acest director creati subdirectoare separate:
/mnt/win - partitia pe care se afla Windows
/mnt/cdr - cdrom
/mnt/flp - discheta de 1.44

Pentru a monta un sistem de fisier utilizati comanda:

# mount /dev/XXX -t YYY /mnt/ZZZ


unde:
XXX - numele partitiei din /dev
YYY - tipul sistemului de fisiere ce urmeaza a fi montat
ZZZ - subdirectorul pe care veti monta partitia sau discul

Spre exemplu, pentru a monta partitia Windows:

# mount /dev/hda? -t vfat /mnt/win


hda? - partitia WIndows. La instalare vi s-au aratat numele tuturor partitiilor de pe hard-disk-ul dvs, daca mai tineti minte.
Pentru a monta un CD:

# mount /dev/cdrom -r /mnt/cdr


• r - read only, adica doar pentru citire

Pentru a monta o discheta:


# mount /dev/fd0 -t YYY /mnt/flp
(in dependenta de sistemul de fisiere de pe discheta)
Dupa utilizarea unei partitii sau unui disc montat, nu uitati sa-l demontati cu comanda:
# umount /locul_unde_a_fost_montat

Nivele de rulare
La incarcarea Windows-ului, a-ti apasat vreodata F8? Cred ca da... Care nu stiu: apare un set de optiuni: safe mode, command
prompt only, step-by- step confirmation etc-etc. Linux-ul are si el ceva de acest fel care se numesc nivele de rulare (runlevels).
Exista 6 nivele de rulare in total. Un nivel de rulare reprezinta un set de comenzi ce urmeaza a fi rulate la startarea sistemului.
Daca ati selectat ca interfata grafica sa porneasca automat la startarea sistemului, atunci implicit, nivelul dvs de rulare este 5.
Cu alte cuvinte, nivelul 5 de rulare reprezinta startarea automata a X-ului. Oricum, va puteti schimba nivelul implicit de rulare
cu ajutorul linuxconf-ului.
Insa puteti intitia un anumit nivel de rulare fara a umbla pe la setari. La startarea calculatorului, cand va aparea mesajul:

LILO
Press 'Enter' (or wait 10 seconds) to boot your Red Hat System from dev/hda3.
You may override your default kernel parameters by typing "Linux <params>" if you like.
boot:
8
scrieti linux nivel_de_rulare si sistemul va porni la nivelul respectiv de rulare. Simplu, nu?

SECURITATE
In cele ce urmeaza voi incerca sa prezint unele aspecte legate de securitatea unui sistem bazat pe Linux. Vor fi tratate asa
probleme ca; oportunitatea alegerii unui sistem sau altu, lucruri de care ar trebui de tinut seama la instalare, fortificarea
sistemului impotriva agresiunilor ce vin din exterior sau din interior, cate ceva despre DoS (aka Denial of Service) si despre
audit.

Ce sistem sa alegem
Exista o sumedenie de variante si versiuni ale sistemelor Unix-like.
Apare intrebarea care sistem Unix-like sa-l alegeti. Fiecare distributie i-si are avantajele proprii atar cat si dezavantajele. Sunt
unele distributii Linux care ar readuce la viata vechile 486 (poate nu pentru toti sunt ele chiar vechi...), pe cand alte distributii
ar umplea aiurea doar hard-discul Dvs. Pentru incepatori cea mai potrivita alegere ar fi RedHat-ul sau Mandrake-ul. Un criteriu
important la alegerea distributiei ar fi rolul pe care il va juca calculatorul. De exemplu, OpenBSD va ofera un sistem puternic si
stabil ce nu se blocheaza practic niciodata. FreeBSD este ideal pentru un http server ce gazdueste site-uri cu trafic intens,
NetBSD - merge foarte bine celor ce doresc un sistem mic, dar puternic si stabil care ar gestiona mai multe platforme diferite.
Pentru cei care lucreaza mult cu grafica (relax Photoshop and Flash users, ain't talking 'bout you) e potrivita o statie de lucru
SGI si IRIX. Cei cu bazele de date (Oracle) luati Solaris sau SPARC.

La instalare
In procesul de instalare straduiti-va sa nu fiti atrasi de chestii "foarte" folositoare la prima vedere sau care suna foarte prestigios
(la prima mea instalare de Linux, instalasem chiar si serverul Apache, desi nu aveam nici macar un modem :-) ). Instalati doar
strictul necesar. Un serviciu sau programa de care nu va folositi se va invechi si ve-ti uita sa o reinnoiti. Iar o programa
invechita deschide foarte multe cai de spargere a sistemului.
Nu uitati sa cititi cat mai multa documentatie pentru a configura suficient de bine fiecare serviciu si aplicatie din sistem.
Configurarea gresita e cea mai mare eroare si in acelasi timp va fi cea mai mare pedeapsa pentru acest fapt.

DoS
Nu, nu este vorba de binecunoscutul sistem de operare Dsik Operating System. E vorba de Denial Of Service. Ce este aia, o
chestie rea sau buna, cititi aici.
Prin expunerea acestei informatii am incercat sa prezint succint informatie despre cele mai raspandite metode de atac DoS,
caile de prevenire, monitorizare a sistemului si imbunatatirii securitatii.
Masura in care am reusit de a face acest lucru ramane de a fi determinata de vizitatori.

Exteriorul
Orice calculator fiind conectat la o retea (inclusiv Internet-ul) este supus unui risc imens de a fi atacat de cei care intotdeauna
cauta locurile vulnerabile ale sistemului sau gaurile neacoperite de adminstrator. Care ar fi actiunile dvs pentru a impedica cat
de cat acest lucru, vedeti aici.
Gasiti aici mai multe despre filtrarea pachetelor, daemon-i, inetd, parafocurisi alte chestii care sunt o aparare atunci cand aveti
decang sa conectati sistemul dvs la o retea nesigura asa ca Internet-ul sau alta retea publica plina depersoane curioase ce ar dori
sa-si etaleze cunostintele si aptitudinele in domeniul calculatoarelor.
Daca aveti de gand sa navigati pe Net de pe calculatorul dvs (iar navigarea pe Net e o placere daca stati din Linux) sau doriti sa
va conectati la o oarecare retea (acasa, la servici, sau mai stiu eu unde). la sigur ar trebui sa aveti grija de securizarea sistemului
impotriva exteriorului. Oricum, ar fi bine ca mai inati sa fi citit compartimentul securitatea locala deoarece contine multa
imformatie pe care ar trebui sa o stiti.

SECURIZAREA SISTEMULUI DIN INTERIOR


Care ar fi actiunile dvs daca intretineti un sistem cu mai multi utilizatori si doriti sa detineti un oarecare control asupra lor,
precum si de a limita unele incercari de ale lor de a parea mai destepti ca voi :).
Intro
9
Drepturile de access
Politica de stabilire a parolelor
Fisierul unde se pastreaza parolele din sistem
Virusii

Intro...

Ce-i aia "securitatea locala"...


Linux este un sistem multi utilizator, existand mai multe cai de personalizare a accesului fiecarui utilizator la resursele
sistemului. Iar daca sunteti singurul utilizator al sistemului si nu exista alti utilizatori care ar avea acces fisic la claculatorul
dvs, atunci cititi acest compartiment doar pentru informare.
Ce-i aia "securitatea locala"? Nu e altceva decat securizarea sistemului impotriva celor care au acces fizic la sistem si ar avea
intetia de a abuza de acest lucru.

Drepturile de acces
Linux fiind un sistem multi utilizator, fiecarui utilizator i se acorda anumite drepturi asupra fisierelor. Astfel, exista 3 grupe de
drepturi:
dreptul te citire – (r)
dreptul de scriere - (w)
drept de executare - (x)

si 3 categorii de utilizatori:
proprietar (u)
grup (g)
altii (o)

din aceasta rezulta 3x3 pozitii pentru drepturile de acces asupra fiecarui fisier sau director.
Exemplu: executati comanda:
$ls -l
drwxrwxr-x 6 ciprian users 1024 Feb 18 10:12 xchat
-rw------- 2 ciprian users 88182 Aug 29 17:45 undernetlog
(1) (2) (3) (4) (5) (6) (7) (8) (9)

unde:
1 - tipul fisierului
2 - drepturile de acces proprietarului
3 - drepturile de acces ale grupului din care face parte proprietarul
4 - drepturile de acces ale altor utilizatori
5 - numarul de directoare in care apare fisierul
6 - numele proprietarului si grupul
7 - numarul de caractere din fisier
8 - data ultimei modificari
9 - numele

Schimbarea drepturilor de acces se face cu comanda chmod:


10
$chmod [parametri] nume

parametrii sunt:

parametru descifrare
400 drept de citire pentru proprietar r
200 drept de scriere pentru proprietar w
100 drept de executie pentru proprietar x
40 drept de citire pentru grup r
20 drept de scriere pentru grup w
10 drept de executie pentru grup x
4 drept de citire pentru altii r
2 drept de scriere pentru altii w
1 drept de executie pentru altii x

Exemplu:

$chmod 740 fisier


• ofera drepturi depline asupra fisierului pentru proprietar (700=100+200+400)
• citire pentru grupul proprietarului (40)
• nici un drept pentru altii (0)

Politica de stabilire a parolelor


La prima vedere e simplu: pui parola si te stradui sa nu o uiti. Se uita ca ar mai fi si altii care ar vrea sa o stie. In sistemele
Unix-like, parolele sunt vitale pentru securitatea sistemului. O parola aleasa aiurea poate dauna sistemului sau chiar intregii
retele. Ar trebui de urmat niste reguli la stabilirea parolelor:
nu folositi cuvinte de dictionar
nu utilizati doar caractere mici
utilizati mai bine combinatii de caractere majuscule si mici
utilizati parole mai mari de 6 caractere

care ar fi o parola buna si care ar fi una buna?


o parola buna - %C26p03A1979$
o parola proasta - hacker
o parola idioata - root
hiper-idioata - aaa

Daca parola dvs se aseamana cu ultimile 2... pleaca, nene acasa la televizor.
Exista utilitare, asa ca vpass care evalueaza parola dvs, din punct de vedere al vitezei ei de spargere.
[sus]

Fisierul cu parole
Fisierul in care sistemul stocheaza informatia despre utilizatori este /etc/passwd.
Fisierul respectiv are urmatorul format:
nume_utilizator : parola : uid : gid : directorul_home : shell
nume_utilizator - numele utilizatorului.
11
parola - parola utilizatorului criptata cu o varianta a algortmului DES.
uid - user ID. Identificatorul utilizatorului. Daca uid-ul dvs este 0 inseamna ca aveti acces de root. Daca doi utilizatori au
acelasi uid, aceasta inseamna ca aiu aceleasi drepturi.
gid - group ID. Identificatorul grupului. Root-ul are gid-ul egal cu 0.
directorul_home - directorul in care este plasat utilizatorul imediat dupa login si unde se pastreaza configuratia lui.
shell - interpretatorul de comenzi al utilizatorului.
Marea majoritate sistemelor fac fisierul /etc/passwd sa fie citibil de absolut toti utilizatorii, insa nu stocheaza acolo si parolele
criptate. In locul parolei se pune un simbol (*). Parolele criptate vot fi stocate in /etc/shadow care e citibil doar de root.
Fisierul respectiv are acelasi format ca si /etc/passwd plus parolele criptate.
Daca veti reusi sa cititi fisierul /etc/shadow si veti incerca sa decriptati parolele (numite hash) veti obtine... nimic. Pur si simplu
nimic.
Pentru a sparge parolele Unix se utilizeaza programe care utilizeaza acelasi algoritm de criptare a datelor. Exista 2 metode:
dupa dictionar si brutala.
In cazul metodei dupa dictionar, crack-erul va cripta fiecare cuvant dintr-o lista de cuvinte (dictionar) si compara reziltatul cu
hash- ul din /etc/shadow. Daca nu, se ia urmatorul cuvant etc.
Metoda brutala (brute-force) presupune generarea unor combinatii de caractere, cifre, simboluri si criptarea lor comparand cu
hash-ul din /etc/shadow.
Insa... pentru a sprsge parola criptata trebuie mai intai sa poti citi fisierul /etc/shadow, dar aceasta e posibil doar daca esti root
sau ai drepturi de root (mai este totusi o posibiliate de a citi acest fisier, ei dar asta-i alta poveste) asa ca daca ati reusit sa citit
fisierul inseamna ca sunteti root, iar daca sunteti root, ce naiba va mai trebuie parolele?! Jeez....
Unul dintre cele mai raspandite crack-ere de parole Unix este Cracker Jack. Il puteti gasi pe Internet, chiar si cautand in Yahoo
sau Altavista.

Virusii pe Unix
Numarul virusilor care au infestat sistemele Unix-like este incredibil de mic. Aceasta se datoreaza faptului ca cei care sciu
virusi au mai putine motive sa scrie pentru sistemele Unix reisesind din urmatoarele adevaruri:
Majoritatea utilizatorilor Unix sunt oameni maturi. Creatorii de virusi, avand unica intentie cea de a infesta alte calculatoare,
sunt infantili. Intr-un studiu se arata ca varsta media a unui creator de virus este de 16-17 ani (nu vorbesc de heavy-weighteri
care sunt foarte putin in comparatie cu armata aia de pusti cu pagini din cartile de Assembler trase la xerox).
Chiar daca un virus a infestat un sistem, el totusi nu va putea patrunde chiar departe deoarece va avea aceleasi limite pe care le
are acel utilizator care l-a activat. Cat despre administratorii care activeaza accidental un virus... pai cu asa administrator e
suficient si un vant mai puternic si sitemul va cadea.
Oricum, scoateti cateva virus-scannere de pe Net si jucati-va cu ele putin, just for fun.

SECURIZAREA IMPOTRIVA EXTERIORULUI (FIREWALLS, INETD ETC)


Securizarea impotriva exteriorului are ca scop impiedicarea atacurilor efectuate impotriva sistemului dvs prin retea, inclusiv
Internet.
Intro
Terminalele sigure ale sitemului
Inetd si daemon-ii de retea
Filtrarea pachetelor
Parafocurile (firewalls)

Intro
Ce va poate astepta atat de rau si strasnic cand conectati calculatorl dvs la o retea? Un calcultor are sanse infinit mai mari de a
fi supus atacului fiind conectat la orice tip de retea. Daca aveti de gand sa navigati pe Net de pe calculatorul dvs (iar navigarea
pe Net e o placere daca stati din Linux) sau doriti sa va conectati la o oarecare retea (acasa, la servici, sau mai stiu eu unde). la
sigur ar trebui sa aveti grija de securizarea sistemului impotriva exteriorului. Oricum, ar fi bine ca mai inati sa fi citit
compartimentul securitatea locala deoarece contine multa imformatie pe care ar trebui sa o stiti.
12
Terminalele sigure
Unix este un sistem multi-utilizator. Astfel, conectarea la sistem e posibil de la calculatorul pe carese afla sistemul, precum si
de la terminale conectate prin retea. Fiecarui utilizator din sistem ii este atribuit un tty adica un Tereminal Type un fel de
terminal virtual. Astfel, sistemul stie de unde e conectat fiecare utilizator. Calculatorul dvs ar trebui sa aiba 8 terminale
virtuale: tty1, tty2,... tty8. Puteti treve de la un terminal la altul cu <Alt+Fx> unde x e numarul terminalului, iar daca sunteti in
X-Windows - cu <Ctrl+Alt+Fx>.
Pentru a impiedica conectarea ca root din retea puteti indica in fisierul /etc/securetty doar terminalalele de la care va fi
posibila login-area ca root:
#cat /etc/securetty
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8

Astfel, chiar daca cineva va aflat parola de root, el o va putea folosi doar daca are acces fizic la calculatorul dvs. Si totusi,
avand o parola de utilizator obisnuit, el poate intra in sistem si apoi folosi comanda su pentru a deveni root. Oricum, fisierul
/etc/ securetty va limita unele incercari de a se loga ca super-user.

Inetd si daemon-ii de retea


Inetd este o program cu rol de a porni daemon-ii de retea. Dar ce este un daemon de retea. Daemon-ul din Unix este similar
TSR-ului de la Microsoft. TSR - adica Terminate and Stay Resident. TSR sta in memorie si asteapta anumite conditii pentru a
se activa. De exemplu cand locul liber de pe hard-disk a scazut sub o anumita limita, TSR se "trezeste" si va previne ca aveti
foarte putin spatiu liber pe disc. Oricum, TSR au aparut cu mult dupa daemon-ii din Unix, dar aceasta nu ne intereseaza la
moment.
Exemplu de daemon in Unix:

FTP
adica File Transfer Protocol (Protocolul de transfer a fisierelor - toti stiu asta, cred) este un daemon care asteapta
conectarea pe portul 21 (implicit) pentru a efectua transferul de fisiere dintre calculatorul ce a solicitat conectarea si sistemul
pe care merge daemon-ul.
Sa presupunem ca aveti mai multi daemon-i pe calculator (FTP, Telnet, SSH, Firewall-ul etc), daca ar sta toti "treji" aceasta va
consuma multa memorie si va deschide porti pentru atacatori. De aceasta si exista Inetd-ul, pentru permite dvs sa configurati
care daemon sa stea si care nu. Pentru aceasta va trebui sa editati fisierul /etc/inetd.conf, nu e complicat deoarece contine
instructii cum sa o faceti.
Trebuie sa aveti in vedere ca daemonii de retea se uzeaza moral pe masura ce se descopera noi greseli si "gauri" in ei. De aia
tebuie sa fiti la curent pentru a-i reinoi - aici. (http://packetstorm.securify.com/)

Telnet
Daca doriti sa oferiti utilizatorilor conectare la calculatorul dvs pentru a executa comenzi, nu e o ideie chiar buna de a folosi
daemonul Telnet deoarece nu cripteaza sesiunea de login. In asa caz va fi posibil utilizarea shiffer-erlor impotriva retelei dvs
pentru a afla parole si alta informatie care circula intre utilizatori si server.
O alternativa potrivita ar fi SSH (Secure SHell) care cripteaza sesiunea de login si merge pe portul 22.

Filtrarea Pachetelor
In directorul /etc se afla 2 fisiere: /etc/host.allow si /etc/host.deny. Aceste fisiere sunt utilizate de sistem pentru a hotari carui
host sa i se permita conectarea la calculator si carui nu, precum si serviciile disponibile.
Formatul fisierului este:
13
host:serviciu
host - nume de host sau IP-ul. Se pot folosi si caractere speciale, de exemplu cnti.* inseamna toti cei la care numele de host
incepe cu 'cnti'. Puteti pune 'all' daca se are in vedere toti.
serviciu - serviciul de retea pe care doriti sa-l faceti disponibil sau sa-l interziceti unui anumit host. Serviciile sunt definite de
numarul portului pe care se situeaza, exemplu:
21 - FTP
22 - SSH
23 - Telnet
25 - SMTP
80 - HTTP
110 - POP
....

La fel puteti utiliza 'all' daca aveti in vedere toate serviciile.


Fisierul /etc/host.deny se foloseste pentru interdictie, iar /etc/host.allow pentru permisiune. Trebuie de precizat ca
/etc/host.allow are o prioritate ridicata fata de /etc/host.deny.
Exemplu:
Doriti sa permiteti utilizare resurselor sistemului dvs prin SSH (22) tuturor celor care folosesc providerul de internet
"MegaXXX" insa celorlalti sa interziceti orice acces la sistem. Pentru aceasta, editati fisierele /etc/host.deny si /etc/host.allow
astfel:
#cat /etc/host.deny
all:all

#cat /etc/host.allow
195.22.224.*:22

Parafocurile

firewalls

Parafocurile sunt programe care monitorizeaza tot ce vine spre calculatorul dvs si decide care pachet are dreptul de a trece si
care nu.
Pentru aceasta administratorul stabileste regulile in baza carora parafocul decide care pachet sa intre si care sa fie respins. Pe
langa aceasta, parafocurile pot bloca unele incercari de ataca (DoS) a sistemului precum si unele incercari clasice se spargere a
sistemului. Unele parafocuri au ca metoda de configurarea metoda prin pentru fiecare pachet este cerut acordul
administratorului, cu timpul parafocul i-si va adapta singur regulile de admitere-respingere a pachetelor.
Cel mai bun parafoc la ora actuala este IP chains, insa... nu-i bine fara rau, deoarce e destul de complicat de configurat. Pentru
aceasta puteti cauta niste indrumare la linux.box.sk, packetstorm.securify.com sau securityfocus.com.
Ii putei face download chiar de pe X-Guard - ipchains.
Incepatorii ar trebui poate sa foloseasca un parafoc cu interfata grafica, care ar fi mai simplu de configurat.

Ce-i aia, DoS?


Denial of Service
sau "blocarea serviciilor" pe romaneste, reprezinta inchiderea fara permisiune a serviciilor unui calculator, chiar pana la
aducerea in "down" a intregului sistem.

Motivarea unui atac.


Motivarile unui atac DoS sunt extrem de diverse. Depind multe si de maturitatea atacatorului, majoritatea incepatorilor au ca
14
motiv principal dorinta de razbunare pe un anumit utilizator, admin sau dorinta de a arata intregii lumi ce prezinta.
Dupa aia va veni numaidecat dorinta de a obtine acces acolo unde nu au toti muritorii.
Iar maturitatea unui atacator, ar fi actionarea din motive mai serioase: motive politice, economice etc.

Unele tinte de atac

Spatiul de swap
Majoritatea sistemelor au alocate sute de megabaiti pentru spatiul de swap destinat cererii clientilor. Astfel, spatiul de swap e
folosit mai mult pentru procesele fiu care au o durata mica de viata. Deci, swap-ul nu e destinat unei utilizari "din plin", un atac
DoS s-ar putea baza pe "umplerea" s

Alocare de memorie kernel


Exista o oarecare limita de alocare a memoriei de catre kernel. Daca se atinge aceasta limita, sistemul va avea nevoie sa fie
restartat. Utilizand un algoritm potrivit s-ar putea aduce in "down" un sistem.

RAM
O modalitate de ataca care ar cere alocarea unei cantitati substantiale de RAM ar cauza probleme destul de serioase sistemului.
Mai vulnerabile la acest fapt ar fi serverele de -email care nu prea au nevoie de RAM si deobicei, au memorie operativa mai
putina.

Hard-disk-ul
Umplerea hard-disk-ului unui calculator ar fi o metoda clasica de atac. Alt aspect ar fi deterioararea discului prin
suprasolicitarea lui.

Serviciile
Dezactivarea serviciilor ar fi scopul principal unui atac DoS. Insa atacarea IneTD-lui ar fi ideala, deoarece ar inchide tot ce a
fost pornit de inetd.

Cum sa ne protejam sistemul impotriva atacurilor DoS?


Chestia este ca nu puteti sa va faceti sistemul invincibil suta la suta , insa exista unele lucruri care ar spori enorma sansele dvs
impotriva unui atacator.

1. Corectarea erorilor in securitatea sistemului


Cu timpul, se descopera noi gauri in securitatea sistemelor. D'aia ar trebui sa fiti la curent cu ultimele descoperiri. Le puteti
gasi la CERT (Computer Emergent Response Team) sau la BugTraq.
Cautati si instalati intotdeauna ultimile patch-uri. Patch este o programa care are ca scop acoperirea unel gauri din sistem sau
corectarea unei erori.

2. Scanarea porturilor
Scanati-va periodic porturile sistemului pentru a vedea daca nu cumva aveti servicii de care nu aveti nevoie - ele prezinta un
mare risc pentru securitatea sistemului dvs. Deasemenea, unii utilizatori mai 'destepti' ar putea instala ceva servicii fara stirea
dvs. Mai amanunti despre scanare citit aici.

3. Testarea
Testati metodele de atac intern si extern asupra sistemlui dvs. Asa veti vedea in practica aplicarea celor citite precum si
efectele.
15
4. Soft aditional
Nu e o ideie rea sa instalati soft de monitorizare a sistemului, utilizatorilor, difirite utilitare de logare. Daca reteau dvs are acces
la Internet, este necesar sa o protejati cu un parafoc (firewall) impotriva haosului de pe Net.

Metodele de atac din exterior

Blocarea X-Windows
Daca un sistem accepta conexiuni pe porturile folosite de X-Windows (intre 6000 si 6025), acest fapt poate fi utilizat pentru a
bloca interfata grafica. Aceasta se poate face prin deschiderea a mai multor sesiuni telnet la portul respectiv sau de a utiliza o
programa care ar face acest lucru urat pentru dvs.
Solutia ar fi de a interzice conectarea pe porturile 6000-6025.

Inchiderea serviciilor
Majoritatea sistemelor Unix-like deconcteaza un servici dupa ce un anumit numar de sesiuni au fosr deschise intr-o anumita
perioada de timp. Desgur, aceasta limita este rezonabila in cazul majoritatilor sistemelor, insa sunt unele versiuni SunOS care
au aceasta limita implicita pusa la 48.
Asa ca... la treaba!

Utilizarea telnet-ului in scopuri de atac


Principiul ar fi consumarea capacitatii liniei de conexiune a sistemului. Se poate face printr-un script foarte simplu:
$cat> telnet_atack
while : ; do telnet sistemul.ce.va.fi.atacat & done
^D
$ sh telnet_atack

rularea acestui script at consuma o parte a capacitatii liniei de conexiune, insa nici nu se poate compara cu efectul produs de
utilizarea i acest scop a finger-ului:

FiNGeR
Majoritatea daemon-ilor de finger accepta redirectarea la alt host.
De exemplu:

$finger @sistemul.unu@sistemul.doi
In acest caz finger-ul va trece prin sistemul.unu si se va adresa la sistemul.doi. Atat timp cat sistemul.doi stie ca fingerul este
executat de sistemul.unu. Astfele aceasta metoda ar putea fi flosita atat pentru ascundere, cat si pentru un DoS de toata
frumusetea:
$finger @@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@host-ul.pe.care.il.atacam
Toate simbolurile "@" vor avea ca efect redirectarea finger-ului spre host-ul.pe.care.il.atacam din nou si don nou... Efectul este
zdrobitor iar resultatul este supraincarcarea linieii de conexiune, memorie incarcata si un hard-disk cu mai putin loc liber
datorat proceselor fiu generate de redirectare (sa ma corecteze cineva daca nu am dreptate).
Solutia ar fi instalarea unui daemon de finger fara redirectare. Deasemenea s-ar pute deconecta serviciul respectiv de tot.

Dezactivarea conturilor utilizatorilor


Majoritatea sistemelor UNUX-like vor dezactiva contul de utilizator dupa un animit numar de login-uri nereusite. Aceasta
poate fi utilizat doar pentru a indeparta temporar un utilizator de la sistem.
16
INeTD CRaSH
Se zice ca inetd-ul cade daca se vor trimite prea multe pachete SYN in portul 13 si/sau 37
Solutia ar fi instalarea unui patch corespunzator.

SYN atack
Mai intai putina teorie despre TCP/IP. TCP/IP inseamna "Transport Control Protocol - Internet Protocol" se utilizeaza pentru
transmiterea datelor pe internet. Atunci cand un host doreste sa se conecteze la alt host, procedura este urmatoarea: Hostul care
doreste sa se conecteze (H0) trimite un pachet SYN spre hostul server (H1), daca pachetul este acceptat de parafoc (firewall) si
H1 accepta conexiunea, el va raspunde cu un pachet ACK (acknowledge) care comunica H0 despre acceptul de conectare. La
randul sau, H0 confirma cererea cu inca un ACK. Aceasta este o prezentare fo-o- oartre simpla a procedurii de conectare, in
engleza the 3-way handshake protocol (sa traduca cineva daca poate).
Un atac bazat pe SYN foloseste un "handshake" incomplet, adica H1 (cel care ataca) nu va raspunde cu un ACK la ACK-ul
host-ului tinta (H1). In asa fel, H1 va astepta un anumit timp ACK-ul de la H0 pana va renunta la conectare, astfel el poate fi
impus sa fie mereu in aceasta asteptare prin trimiterea repetata de "handshake"-uri incomplete. Rezultatul acestui lucru nu ar fi
chiar placut pentru H1.
Ma amanunti despre acest tip de DoS puteti citi la:
<.1.> http://www.eecs.nwu.edu/~jmyers/bugtraq/1354.html
<.2.> http://jya.com/floodd.txt
<.3.> http://www.fc.net/phrack/files/p48/p48-14.html

PiNG FLooD
Acest tip de DoS il stie acum orice scolar. Consta in trimiterea unui "ping" mai mare intr-un host. La randul sau, stiva TCP/IP
nu putea sa faca fata unui pachet mult mai mare si aceasta va duce la blocarea sistemului:

$ ping -l -f 65510 adresa.tintei


Acum majoritatea sistemelor noi sunt imune la acest tip de DoS. Insa nu si urmatoarele sisteme:
Linux kernel 2.0.7 pana la 2.0.20. si 2.1.1. - caderea sistemului.
AIX4, OSF, HPUX 10.1, Unix 4.0 - caderea sistemului.
OSF/1, 3.2C, Solaris 2.4 x86 - reboot.

de Win 95 nici nu mai vorbesc. ;-)))

Metodele de atac din interior

Umplerea hard-disk-ului
Daca nu este pusa o anumita limita asupra spatului liber de pe hard disk, sau daca un utilizator are drept de scriere in /tmp
atunci este posibil de ummplut hard-disk-ul cu ajutorul urmatoarelor sript-uri:

Ex: 1
while : ;
mkdir .xxx
cd .xxx
done

Ex: 2
mkdir flooder
cd flooder
17
/cale/denumire_fisier_cu_script

In ambele cazuri fisierul ce contine script-ul trebuie transformat in fisier executabil:


$chmod +x nume_fisier
< Meniu >

Crearea fisierelor ce sunt greu de sters


Ex:
$ cat> -asd
^C
$ ls
• asd
$ rm -asd
rm: illegal option—a
rm: illegal option—s
rm: illegal option—d
usage: rm [-fiRr] file ...
$

In fine, nu e ceva nou, dar poate fi utilizat in combinatie cu umplerea hard-


disk-ului

Utilizarea fork-ului
Majoritatea sistemelor vor cadea daca va fi executat urmatorul program:
#include <sys/types.h>
#include <unistd.h>
#include <iostream.h>

main()
{
int x;
while(x=0;x<1000000;x++)
{
system("sync");
fork();
}
}

Insa daca sunteti intr-adevar pornit pe rele, puteti genera un proces fiu pentru fiecare proces fiu generat de alt proces (parinte)
etc-etc. Astefe se va obtine o crestere exponentiala a solicitarii resurselor calculatorului.
Nu ar exista o metoda universala de prevenire a acestui fapt. O solutie ar fi stabilirea unei limite aspra timpului de executie si
marimii procesului.
(Aveti in vedere ca nu sunt programator de nivel superior, aceasta metoda de DoS am gasit-o pe Net si mi s-a parut interesanta.
Daca cineva ar dori sa comenteze programa de mai sus, be my guest).

TESTAREA SECURITATII
Majoritatea spargerilor de sisteme au ca faza initiala adunarea de informatie precum si testarea sistemului de securitate a
retelei. Desigur, nu si in cazul in care ati scos o "super" programa de pe Net care "e de ajuns sa apesi un buton" pentru a sparge
18
sistemul provider-ului. In acest caz sunteti nu altcineva decar inca un "script-kiddie" din imensa armata de lammeri care creste
vazand cu ochii...

Pe scurt

Scopul si motivatiile auditullui unui sistem.


Cum actioneaza un hacker.
Modalitatile de audit a securitatii sistemului.
Scanarea porturilor.

NOTA: Unora ar putea sa le para ca tot ce e descris mai jos seamana mult a "hacking activity", eu zic ca sunt prezentate doar
niste modalitati de detectare a punctelor slabe a securitatii propriului sistem. In nici intr'un caz nu-mi asum responsabilitatea
fata de modul in care va fi folosit aceasta informatie.

NameScopul si motivatiile auditul unui sistem.

Prin auditul securitatii sistemului dvs se are in vedere testarea practica a modului in care un sistem este vulnerabil in fata
tentativelor unui spargator.
Parca ii si aud pe unii: "Chiar ne trebuie?" Da, trebuie. De ce? Voi incerca sa prezint unele motive:
exista cel putin un hacker la 100 de utilizatori.
daca aveti o afacere, nu conteaza, mare/mica, sau chiar daca sunteti conectat la Net de acasa, doar faptul ca sunteti conectat la
Net va cresc sansele de a fi "vizitat" de un hacker.
problemele care apar in urma infiltrarii unui hacker pot fi imediate si cu urmari grave asa ca Denial of Service. Deasemenea
pot avea efecte pe termen lung, ca urmare a unor schimbari subtile in bazele de date sau continutul paginelor de Web.
aveti ocazia de vedea in practica de ce sunteti in stare, in ceia ce priveste administrarea si intretinearea unui sistem.
Cam astea ar fi motivatiile.
Scopurile auditului ar fi depistarea vulnerabilitatilor sistemului, precum si a gaurilor in securitate. Deasemenea, ar trebui de
stabilit daca in sistem nu ruleaza servicii inutile sau invechite, care intotdeauna ridica vulnerabilitatea sistemului.

Cum actioneaza un hacker.

Pentru a avea un sistem securizat, trebuie sa stim impotriva caror actiuni il aparam, nu? Modalitatile de lucru ale unui hacker
sunt:
Scanarea host-urilor. Metoda de descoperire a calculatoararelor din retea, vor fi scanate un numar de adrese de Internet si, daca
se primeste un raspuns, inseamna ca exista sisteme ce au adresele respective configurate, deci vor incerca sa le atace.
Scanarea port-urilor. Vor fi scanate, pentru a fi identificate, porturile deschise ale aplicatiilor, acestea urmand a fi exploatate
pentru obtinerii accesului la sistemul respectiv.
DoS - are ca scop de a impiedica accesul la sistem persoanelor autorizate, schimbarea parametrilor sau configuratiei sistemului,
blocarea serviciilor, pana la aducerea in daun a sistemului. Mai amanuntit - aici.
Modalitatile de audit a securitatii sistemului.

Ideia principala a auditului ar fi simularea metodelor utilizate de hackeri asupra sistemului pe care-l testati si studierea
efectelor pe care le-au avut aceste simulari.
Pentru aceasta, incercati mai intai metodele de Denial of Service descrise la capitolele:
Metodele de atac intern si Metodele de atac extern. Exista posibilitatea ca sistemul dvs sa reactioneze pe departe normal, insa
in acest caz veti sti unde sunt punctele slabe ale sistemului si veti avea posibilitatea de a incerca o eventuala coractare a
19
erorilor.
Controlati in fisierul /etc/inetd.conf daca nu cumva rulati servicii si aplicatii de care nu este nevoie. Pentru a inchide un anumit
servici, comentati-l punand simbolul "#" la inceputul randului. Daca intentionati sa oferiti acces la calculatorul dvs altor
utilizatori prin retea sau Internet, nu folositi telnet-ul deoarece datele sunt transmise in format de text prin intermediul telnet-
ului. O alternativa buna ar fi utilizarea SSH (secure shell) care cripteaza datele inainte de a le trimite, facand astfel sniffer-ele
neputincioase.
Cercetati fisierele /etc/passwd si /etc/shadow daca nu au aprut utilizatori noi, mai ales cu UID-ul si GID-ul egale cu 0 (adica cu
drepturi absolute.)
Alte metode ar fi scanarea port-urilor cu diferite portscanere. Insa despre aceaste in capitolul urmatorul.
Exista diferite utilitare de audit a securitatii cum ar fi:
SATAN (Security Administration Tool for Analysing Networks) - o programa care incearca diferite metode de atac asupra
sistemului si comunica despre vulnerabilitatile descoperite. Este una din primele programe din aceasta serie.
SAINT (Habar nu am despre descfirare) - este o programa comerciala care face cam aceleasi chestii ca si SATAN.
Nessus - ultima realizare in domeniu. Indica vulnerabilitatile in sistem, precum si modalitatile de rezolvare a lor.
Toate aceste programe, precum si link-uri catre alte programe similare le puteti gasi la:
http://www.securityfocus.com
http://insecure.org
http://www.linux.org
http://astalavista.box.sk
http://linux.box.sk

Scanarea porturilor.

Deci, scanarea port-urilor. Nu exista atac care nu a avut ca faza initiala scanarea port-urilor. Cum am mai zis, scopul unei
scanari ar fi identificarae porturilor deschise ale aplicatiilor, acestea urmand a fi exploatate pentru obtinerii accesului la
sistemul respectiv.
Unul dintre cele mai bune port-scanere la aceasta ora este nmap (Network Exploration Tool and Security Scanner). Nmap face
trei chestii:
determina daca un anumit host este "alive" prin ping; scaneaza porturile host-ului pentru a determina daca sunt servicii care
asteapta conexiune. Porturile vor fi reflectate in trei stari:
OPEN - daca portul e deschis si accepta conexiune;
FILTERED - daca portul respectiv este acoperit de catre parafoc (firewall), filtru sau alt utilitar dereteacare nu permite ca nmp
sa determine starea portului;
UNFILTERED - portul este inchis si nu este acoperit de nici un utilitar;
incearca sa determine ce sistem operational ruleaza sistemul scanat;
Pentru cei care sunteti interesati de acest scaner, il puteti gasi chiar aici, insa aveti in vedere ca utilizarea lui asupra altor
sisteme decat al dvs, ar putea fi privit ca "hacker activity" asa ca... ramane la responsabilitatea dvs.
Un alt scaner, de care sunt sigur ca ati auzit, este SATAN (Security Administrating Tool for Analyzing Networks). Pana la
aparatia nmap-ului, era cel mai raspandit tip de scaner. Am dorit sa-l experimentez, insa nu mi-a reusit compilarea lui (nici nu
prea stiu de ce, actually). Ii puteti face download aici, http://www.ournet.md/~xguard/resources/satan-1_1_1-port-scan.zip
poate veti avea mai mult noroc decat mine...