125
1. Notiuni fundamentale 1.1 Ce este Linux? Linux este un sistem de operare gratuit (open source), compatibil UNIX. UNIX este un sistem multitasking – putând executa în mod concurent un număr nedeterminat de programe - și mulți – utilizator - utilizatorii având acces la resursele calculatorului de la diferite terminale plasate local sau la distanță. Linux respectă standardele POSIX, suportă toată gama de aplicații GNU și posedă o interfața grafică X Window System. 1.2 Scurt istoric În anul 1969, cercetătorii Kenneth Thompson și Dennis Ritchie de la ATT&T Bell Laboratories au început dezvoltarea unui sistem de operare numit UNIX, pe un calculator PDL-7. Multe idei din UNIX au fost preluate dintr-un sistem anterior, MULTICS. În 1972, sistemul a fost rescris în proaspat-născutul limbaj de programare C. Astfel, UNIX-ul a devenit portabil și pe alte mașini, deoarece doar o mică parte a sa mai era realizata în limbaj de asamblare. Sistemul a fost lansat în curând în comunitatea academică, putând astfel învata de la utilizatorii săi. În 1979, a fost lanasată versiunea V7 de UNIX, care a constituit ulterior “părintele” celorlalte implementări. O serie de profesori de la Universitatea Berkeley au dezvoltat propria varianta de UNIX, denumită BSD (Berkeley Software Distribution), în timp ce AT&T continua în paralel dezvoltarea propriei variante, culminând cu UNIX System V.

Securizarea Unui Gateway

Embed Size (px)

DESCRIPTION

gateway

Citation preview

Page 1: Securizarea Unui Gateway

1. Notiuni fundamentale

1.1 Ce este Linux?

Linux este un sistem de operare gratuit (open source), compatibil UNIX. UNIX este un sistem multitasking – putând executa în mod concurent un număr nedeterminat de programe - și mulți – utilizator - utilizatorii având acces la resursele calculatorului de la diferite terminale plasate local sau la distanță. Linux respectă standardele POSIX, suportă toată gama de aplicații GNU și posedă o interfața grafică X Window System.

1.2 Scurt istoric

În anul 1969, cercetătorii Kenneth Thompson și Dennis Ritchie de la ATT&T Bell Laboratories au început dezvoltarea unui sistem de operare numit UNIX, pe un calculator PDL-7. Multe idei din UNIX au fost preluate dintr-un sistem anterior, MULTICS. În 1972, sistemul a fost rescris în proaspat-născutul limbaj de programare C. Astfel, UNIX-ul a devenit portabil și pe alte mașini, deoarece doar o mică parte a sa mai era realizata în limbaj de asamblare. Sistemul a fost lansat în curând în comunitatea academică, putând astfel învata de la utilizatorii săi. În 1979, a fost lanasată versiunea V7 de UNIX, care a constituit ulterior “părintele” celorlalte implementări.

O serie de profesori de la Universitatea Berkeley au dezvoltat propria varianta de UNIX, denumită BSD (Berkeley Software Distribution), în timp ce AT&T continua în paralel dezvoltarea propriei variante, culminând cu UNIX System V.

Primul program realizat de catre Stallman în cadrul proiectului GNU a fost Emacs, care a devenit operațional în 1985. Editorul de text Emacs a fost făcut disponibil pe serverul ftp.prep.ai.mit.edu. Fiindcă multe persoane erau interesate de acest editor, dar nu aveau acces la Internet, Stallman a pus la dispozitia publicului o bandă (tape) conținând programul, contra sumei de 150$. În acest mod a început prima afacere de distribuție de free software.

Sistemul Linux este alcătuit propriu-zis dintr-un nucleu (kernel) și un număr uriaș de programe și utilitare. Este un sistem de operare complet, care conține practic orice tip de aplicație, putând astfel juca o varietate de roluri, printre care:

Server - Sistemul Linux conține un suport excepțional pentru rețea, putând oferi atât serviciile specifice Internetului, cum ar fi WWW, FTP, poșta electronică, grupuri de discuții etc., precum și alte servicii de rețea, cum ar fi cele de server de imprimante,

Page 2: Securizarea Unui Gateway

server de fisiere (NSF) etc. De asemenea, el poate substitui un sever Windows NT/2000/XP sau Novell Netware. Stabilitatea, fiabilitatea și securitatea sa sporită îi conferă posibilitatea de a fi utilizat pe servere high-end și în medii critice.

Sistem personal - Linux poate fi utilizat pentru redactarea de text, tipărirea la imprimantă, conectarea și navigarea pe Internet, citirea corespondeței. În plus, este o platformă multimedia perfectă pentru jocuri, pentru vizionarea de filme sau audiția de piese muzicale.

Sistem utilizat la serviciu - Sistemul Linux conține o suită completă de programe pentru birou, cum ar fi programe pentru calcul tabelar, redactare profesionistă de text, realiare de prezentări etc. Instrumentele pentru acces la Internet reprezintă și ele un punct forte al acestui sistem.

Sistemul educational- Atuul principal este costul practic nul al sistemului. Instalarea de sisteme proprietare pe multe calculatoare poate fi extreme de costisitoare. Linux include aplciații, compilatoare și medii integrate de dezvoltare a caror calitate este în general superioară celei a programelor comerciale.

Un sistem Linux este alcătuit dintr-un program de instalare, nucleu și aplicații gata compilate se numeste distribuție Linux.

Asistam în ultima perioadă la o adevarată explozie de distribuții linux, înregistrandu-se peste 300 ( http://www.distrowatch.com ). Acest fapt este, pe de o parte, pozitiv dovedind succesul extraordinar de care se bucură și sistemul de operare Linux, dar pe de altă parte îngreunează învațarea sistemului deoarece diferențele dintre aceste distribuții pot fi notabile. Astfel principalele diferențe constau în programul de instalare, sistemul de management al pachetelor și instrumentele grafice pentru administrarea și configurarea sistemului.

Încercăm în această lucrare să evităm tratarea unei distribuții specifice, insistând pe noțiunile fundamentale de administrare și configurare, pe de o parte, și prezentând utilitare existente în toate distribuțiile, pe de altă parte.

Prezint mai jos distribuțiile cele mai utilizate:

- Fedora Core – distribuție dezvoltată de Red Hat, în paralel cu Red Hat Enterprise Server, cu o stabilitate ridicată populară atât pentru servere, cât și pentru stații de lucru;

- SuSe – distribuție foarte populară dezvoltată acum de Novell, atât pentru desktop cât și pentru servere;

- Madriva – distribuție ușor de utilizat în special pentru stații de lucru ( fosta Mandrake );- Debian – distribuție populară dedicată profesioniștilor, dar nu numai. Bazate pe Debian

mai sunt următoarele distribuții: Knopix (distribuție care poate fi rulată direct de pe CD), Ubuntu (cu o popularitate în creștere în ultima perioadă) și MEPIS;

- Gentoo – distribuție recomandată utilizatorilor cu experiență și dezvoltatorilor de programe;

Page 3: Securizarea Unui Gateway

- Slackware – una dintre cele mai vechi distribuții linux, recomandată pentru calculatoare cu performanțe mai slabe.

Arhitectura sistemului Linux :

- principala componentă o constituie nucleul (kernel)

- nucleul este încărcat în memorie de către un program special numit încarcator de boot

- nucleul accepta o serie de argumente și parametrii, aceștia putând fi transmiși prin intermediul încărcătorului de boot

- nucleul este lansat în execuție și rămâne în RAM tot timpul utilizării sistemului

- “driverele” pentru dispozitivele hardware și anumite funcții ale nucleului pot fi compilate fie monolitic (parte integranta din nucleu), fie ca module (fiind încărcate când devin necesare sau la dorința utilizatorului)

- în cadrul sistemului pot rula mai multe programe în mod concurent, numite procese

- există o serie de procese speciale, care ruleaza în fundal (nu interacționează cu utilizatorul), care asigură diverse servicii (tipărire la imprimantă, server Web etc.). Aceste procese se numesc daemoni

- interfața grafică este X Window, interfață complexa cu arhitectura client-server, cu posibilitatea lucrului în rețea

- interfața grafică poate căpata aspecte și moduri de interacțiune cu utilizatorul total diferite, prin intermediul mediilor desktop precum KDE și GNOME, sau a managerilor de fereastră

- X Window este un ansamblu de procese, care pot rula pe calculatoare diferite, existând posibilitatea ca o aplicație să se execute pe un sistem, iar afișarea să se facă pe un altul

- accesul la resursele sistemului se face prin intermediul utilizatorilor creați în sistem, în funcție de drepturile atribuite acestora

- administrarea se efectuează de către un utilizator special, denumit root

Pornirea sistemului:

- încărcătorul de boot citeste imaginea nucleului și îi cedează controlul

Page 4: Securizarea Unui Gateway

- nucleul identifică echipamentele cunoscute și încarca modulele pentru ele, montează sistemul de fisiere rădăcină, iar apoi porneste o serie de scripturi care pregătesc mediul UNIX (începând cu scriptul init, care devine ulterior părintele tuturor proceselor

- sunt montate restul sistemelor de fisiere, este inițializată conexiunea la rețea

- sunt pornite serviciile sistemului

- în funcție de configurație, va fi pornit sistemul de autentificare a utilizatorilor, fie în mod text, fie în mod grafic

Intrarea și iesirea din sistem:

- fiecare utilizator are asociat un set de drepturi, având acces la anumite resurse

- fiecare utilizator deține un director propriu, în care sunt stocate fisierele personale

- orice sesiune de lucru începe cu autentificarea și acceptarea utilizatorului în sistem. Pentru a-i fi permis accesul, acesta trebuie sa furnizeze numele de utilizator și parola

- intrarea în sistemul grafic conduce la încărcarea mediului desktop preferat de utilizator, în configurația specifică acestuia

- ieșirea din X Window cedează controlul sistemului de autentificare grafic sau consolei virtuale din care a fost lansat în execuție

- în mod consolă, va fi pornită execuția interpretorului de comenzi stabilit pentru utilizator

- ieșirea din sistem se face prin comanda exit sau logout

- oprirea sistemului se poate face prin comenzile halt, shutdown sau poweroff

- repornirea sistemului se face prin reboot

Consola sistemului:

- din perspectiva UNIX clasică, accesul la sistem se face prin intermediul terminalelor, aflate local sau la distanță

- Linux implementează un sistem care permite deschiderea mai multor sesiuni de lucru la consola, concept numit terminal virtual

- la pornirea în mod text (consola), controlul este predat terminalului virtual numarul 1

Page 5: Securizarea Unui Gateway

- comutarea între terminalele virtuale se realizează prin combinația Alt+Fn

- atunci cand porneste X Window, i se alocă automat un terminal virtual, având ca numar egal cu numarul maxim de terminale virtuale alocat plus unu

- comutarea din mod grafic în mod text se face prin combinația Ctrl+Alt+Fn

- sesiunile de lucru clasice se desfasoară în mod text, sesiunea începând cu autentificarea utilizatorului și terminând cu încetarea execuției interpretorului de comenzi

- daca se utilizează X Window, o sesiune de lucru (inclusiv cu interpretor de comenzi) poate fi deschisă prin intermediul unei aplicații gen xterm sau konsole, utilizatorul care deține sesiunea fiind cel care a pornit mediul X Window.

1.3 Termeni

În cele ce urmează vom prezenta o serie de termeni care vor fi utilizati în acestă lucrare de licență:

Adresa IP (IP address)Atunci când suntem conectați la internet, mașina pe care o folosim trebuie să aiba o adresă IP unică, prezentată de un numar întreg de 32 de biti, divizat în 4 câmpuri de câte 8 biti (1 octet) fiecare și notat cu a.b.c.d. Adresa este compusă dintr-un numar de rețea (comun tuturor sistemelor din cadrul rețelei din care face parte calculatorul) și un număr de mașină.O adresă IP în care toți biții numărului de mașină sunt setați pe 1 se numește adresa de broadcast. Aceasta este utilizată pentru a adresa simulatan toate calculatoarele din cadrul sub-rețelei. Spre exemplu, adresa de broadcast pentru sub-rețeaua 192.72.68.0 este 192.72.68.255. Pachetele trimise către adresa de broadcast sunt retransmise către toate calculatoarele din rețeaua respectivă.

Arhiva (Archive)Fisier care conține unul sau mai multe fișiere, într-un format comprimat sau nu.

AutentificareActiunea de determinare a faptului dacă un utilizator are permisiunea să acceseze o resursă sau să execute o operațiune. În mod obișnuit, autentificarea se realizează prin intermediul unei parole.

Page 6: Securizarea Unui Gateway

BootareOperațiune executată la pornirea calculatorului, sub controlul inițial al BIOS-ului (Basic Imput Output System), prin care se încarcă în memorie sistemul de operare, aceasta fiind ulterior lansată în execuție (booting).

BSDPrescurtarea de la inițialele Berkely Software Distribution, numele dat distribuțiilor codului-sursă realizate de către Universitatea Berkely din California, U.S.A. . Cea mai importantă versiune de BSD a fost 4.4, aceasta stă la baza mai multor sisteme UNIX Open Source.

BugEroare de proiectare, de programare etc. Existența într-un program, introdusă de cele mai multe ori de un programator, frecvent în mod accidental.

Cache Un depozit local de memorare a mesajelor (datelor) de raspuns și un subsistem de control al acestuia. Memoria cache reduce timpul de răspuns și congestia rețelei. Orice client și orice server (de exemplu pentru WEB) pot inclunde un cache.

Cale (path)Succesiune de nume de directoare despărțite de “ / “ care desenează calea (drumul) până la un fișier; calea poate fi absolută, pornind de la directorul rădăcină / - de exemplu, /usr/share/pixmaps/ - sau poate fi relativă la directorul (poziția) curent(ă) – de exemplu, ../../bin .

Caracter de înlocuire (wildcard)Caracter special utilizat pentru a desemna orice caracter sau secvență de caractere (în UNIX, pentru numele de fisier cele mai frecvente sunt “ ? “ , care desemnează orice caracter și “ * “ , care semnifică orice sir de caractere).

Cerere (request)Un mesaj de cerere emis de un client, prin intermediul unui protocol, a unor date de pe un server. Vezi si protocol.

ClientUn calculator sau program care utilizează serviciile oferite de un alt calculator sau program de obicei folosind un suport o rețea de calculatoare. Cele două porți, denumite client respectiv server, comunică între ele prin intermediul unui protocol de comunicație..

Compilator (compiler)

Page 7: Securizarea Unui Gateway

Procesează construcțiile sintactice ale unui program scris într-un limbaj de programare și le traduce în instrucțiuni interne ale unui procesor (fizic ori virtual). În UNIX cel mai cunoscut compilator gcc (GNU C și Compiler).

Conexiunea (connection)Un circuit virtual (la nivelul transportului de date) stabilit între două programe care doresc să comunice. Vezi și protocol.

Copie de siguranță (back-up)Clonă realizată la un moment dat asupra unui fișier sau grup de fișiere, atât din punctul de vedere al conținutului, cât și al altor proprietăți (exemplu: proprietar, permisiuni etc.).

CrackerPersoana care violează integritatea unui sistem. De cele mai multe ori, acțiunile acestuia au un scop distructiv și contravil legii. A nu se confunda cu termenul hacker.

DaemonUn program care rulează independent, putând executa diverse activități și deservind cereri venite din partea clientilor (termenul daemon poate fi considerat similar termenul de server).

Disc fix (hard disk)Dispozitiv magnetic sau cip de stocare a datelor, montat în general în interiorul calculatorului. Pe discul sau cipul fix sunt stocate sistemul (sistemele) de operare și programele instalate pe calculator, precum și datele folosite de utilizator.

Distributie (Distribution)O distributie LINUX este un sistem alcătuit dintr-un program de instalare, un nucleu și aplicații gata compilate.

Domeniu (domain)Termen utilizat în contextul internetului pentru a referi un grup de gazde ale căror nume simbolice partajează același sufix-numele de domeniu. Această parte a numelui de gazdă specifică detalii despre gazdă, cum ar fi localizare și apartenența unor anumite organizații. Sufixul desemneaza un domeniu primar (.edu , .org, etc. sau un nume de țară - .ro , .de , .it , .ru , .es etc.) . Corespondența dintre adresele IP ale gazdelor și numele simbolice compuse din nume de domenii și nume de calculatoare se realizează via sistemul de nume de domenii (DNS).

Download

Page 8: Securizarea Unui Gateway

Procesul de transfer al unei resurse (fișier) de la un calcuator la altu. Termenul de download și upload nu pot fi delimitați clar întotdeauna, dar se consideră că se realizează un download atunci când se efectuează un transfer de la un sistem mai mare (server site) la un calculator local (client) reprezentat de un PC sau un periferic specializat. Treansferul în direcție opusă se numește upload.

EmailMesaj electronic (care, eventual, poate avea atașate fișiere) transmis prin rețea. În mod obișnuit expeditorul și destinatarul sunt identificați printr-o adresă unică – adresa de email – de forma [email protected] ([email protected]).

Firewall Sistem care separă o rețea protejată de una neprotejată aceasta din urma fiind în majoritatea cazurilor Internetul. Un dispozitiv firewall monitorizează și filtrează tot traficul dintre cele două rețele, conform unei politici predefinte de control al accesului. Această politică definește de obicei ce servicii ale unui sistem sau ale unei rețele pot fi accesate din afara acestora.

FTP (File Transfer Protocol)Protocol standard folosit pentru transferul de fișiere pe internet. Orice sistem de operare oferă programul-client (denumit chiar ftp) pentru a ne putea conecta la un server FTP. Accesul la un server FTP se poate efectua autorizat (prin nume de utilizator și parolă) sau în mod anonim – facilitate oferită pentru a avea acces public (și anonim) la date, soft sau alte resurse (ca de exemplu de site-uri ftp permitând acces anonim putem da http://ftp.ibm.com sau http://ftp.uaic.ro ).

GatewayInterconecteaza două rețele, eventual incompatibile între ele. Este responsabil pentru distribuția datelor care sunt recepționate sau emise de către o rețea locală.

HackerPersoană preocupată de aspectele ascunse și profunde ale sistemelor de operare și programelor, spre deosebire de utilizatorii obișnuiți, care se multumesc să învețe minimul necesar de obicei, hackerii sunt programatorii entuziaști. Ei pot deține cunoștințe avansate despre sistemele de operare, inclusiv despre vulnerabilitățile acesotra. Hackerii sunt într-o permanentă cautare de cunoștințe noi, fac publice rezultatele muncii lor și nu compit acțiuni distructive.

Interpretor de comenzi (shell)

Page 9: Securizarea Unui Gateway

Reprezintă un program capabil de a executa comenzi introduse de utilizator și de a controla modul de afisare a rezultatelor acestor comenzi. În LINUX, cele mai folosite interpretoare de comenzi sunt bash și cash.

Legatura (link)În UNIX, este o legatură simbolică (symlink). Reprezintă un shortcut către un fisier sau director, pentru a fi mai usor de regăsit sau accesat. Pentru web desemnează o resursă identificată printr-o adresă (URI).

LoginAcțiune de conectare (intrare) – de cele mai multe ori însoțită de autentificare – a unui utilizator în sistem, însotita de lansarea în execuție a interpretorului de comenzi (shell).

Mașina (machine)Exprimare echivalenta cu termenul de calculator, gazdă sau sistem.

Masca de rețea (netmask)Masca de rețea se utilizează pentu divizarea unei rețele în sub-rețele și reprezintă o adresa în care biții corespunzători rețelei au valoarea 1, iar ceilalți au valoarea 0. Masca de rețea arată care din partea din adresa IP este adresa rețelei și care este adresa mașinii.

Memorie-tampon (buffer)Zona de memorie utilizată la stocarea temporară a datelor preluate de sistemul de operare sau de o aplicație.

Nume de mașină (hostname sau host)Fiecare calculator legat în rețea are un nume care este unic în cadrul rețelei. Numele permite referirea la mașina utilizând un cuvânt scurt și ușor de reținut, în loc de adresa mașinii (IP-ul acesteia).

Oglindire (mirror)Proces de replicare a conținutului unui site web sau ftp din rațiuni de descongestionare a traficului de rețea sau navigare locală. Fiecare replică a unui site specific se regăseste sub denumirea de mirror (site oglindă).

Open Source Termen referitor la programe de calculator fără restricție de distribuție. Programele open soruce sunt protejate de licențe speciale, cum ar fi GPL (GNU – General Public License), care garantează libertatea de a utiliza și distribui programele, fără a avea însă dreptul de a

Page 10: Securizarea Unui Gateway

îngrădi accesul altor persoane la acestea, sau licența BSD, care permite utilizatorilor folosirea codului sursă – după bunul plac.

Parola (password)Combinație de litere, cifre și alte semne, cunoscută de obicei de un singur utilizator, fiind solicitată și verificată de către un sistem pentru a permite accesul utilizatorului la anumite resurse. În UNIX, parola poate conține atât litere mari, cât și litere mici, între acestea făcându-se diferențiere (casesenzitive).

Platforma (platform)Initial, termen referitor la o anumită configurație hardware (exemplu: tip de procesor, arhitectură de rețea), ulterior s-a extins pentru a desemna o combinație specifică de hardware și software (tip sau versiune de sistem de operare și/sau compilatorul de programare).

Proces (process)Reprezintă imaginea dinamică a unui program care urmează să fie planificat sper execuție. Printre caracteristicile importante ale unui proces se numară starea, zona de memorie alocată, terminalul asociat, proprietarul etc.

ProtocolMulțime de reguli pentru transmiterea datelor în cadrul rețelelor de calculatoare. Protocoalele se structurează pe niveluri, aplicațiile folosindu-se de protocoale de pe nivelul superior. În Internet, se utilizează suita de protocoale TCP/IP (Transmision Control Protocol / Internet Protocol). Protocoalele bazate pe TCP/IP la nivelul aplicației sunt: HTTP (Hyper Text Transfer Protocol) – utilizat pentru transferul de informații HyperText, FTP (File Transfer Protocol) – folosit pentru transferul de fisiere prin Internet, Telnet – utilizat la conectarea de la distanță prin intermediul unui terminal virtual etc.

Răspuns (response)Un mesaj de răspuns din partea unui server furnizat clientului care a formulat o cerere.

ScriptUn mesaj de scripting este destinat să prelucreze, să automatizeze și să integreze facilitățile oferite de un anumit sistem. Pentru sistemele de operare UNIX este disponibilă o pleiadă de interpretoare de scripturi : sh , bash , Perl etc.

Server

Page 11: Securizarea Unui Gateway

O aplicație care acceptă conexiuni, răspunzând la anumite cereri transmise de clienti, oferind astfel diverse servicii. Un program poate juca atât rol de server, cât și de client.

Serviciu Reprezintă o funcționalitate pe care o poate oferi sistemul, prin intermediul unui program specializat (de exemplu, serviciul de e-mail sau serviciul de tipărire)

Sistem de fișiere (file system)Are rol de structurare, denumire, accesare, utilizare, protecție și implementare a fișierelor.

SwapTip de partiție specială, utilizată pentru a crea memorie virtuală (informațiile sunt scrise în memoria virtuală atunci când nu există destulă memorie fizică disponibilă).

TCP/IPSetul de protocoale de rețea (sau reguli de transport al datelor) pe care se bazează Internetul.

Terminal În definiția clasică, dispozitiv periferic echipat cu ecran, tastatură și eventual mouse, care se conectează la un calculator-gazdă (server), permițând lucrul pe respectivul sistem. Din punctul de vedere al sistemului UNIX, orice calculator se poate constitui fie într-un terminal – înlesnind conectarea la un server printr-un protocol de conectare de la distanță (exemplu, SSH sau telnet) - , fie într-un calculator-gazdă – permitând utilizatorilor să lucreze pe sistem ca și cum s-ar afla la consola acestuia.

UNIX Sistem de operare interactiv apărut în anul 1968, leaganul protocoalelor de comunicație în rețea și al celor mai multe din conceptele teoriei și practicii sistemelor de operare. Părinții sistemului UNIX sunt considerați Ken Thompson și Dennis Ritchie (acesta din urmă este coninventarotul limbajului C, împreună cu Brian Kernigham). De-a lungul anilor, sistemul a suferit mutații importante și s-a diversificat în diverse subtipuri (implementari), precum AIX, BSD, HP – UIX, Linux, System V sau Xenix. Este utilizat de cei mai mulți dintre furnizorii de servicii Internet și în mediul academic. Implementarea cu cel mai mare succes este Linux, conceput și întreținut de către Linus Torvalds, fiind disponibil gratuit pe Internet din 1991.

URI (Uniform Resource Identifier)Identificator uniform de resurse, folosit în general pentru adresarea resurselor Internet. Mulțimea URI este compusă din subseturile de identificator URN și URL.

Page 12: Securizarea Unui Gateway

Utilizator (user)Reprezintă o entitate care poate executa programe sau deține fișiere. Accesul la resursele sistemului se realizează prin intermediul utilizatorilor înregistrați (autentificați), în funcție de drepturile atribuite acestora. În UNIX, utilizatorii pot fi persoane reale sau utilizatori logici.

1.4 Tipuri de sisteme Linux

In acest se face referire la tipurile de distributii LINUX, o parte din acestea, care sunt in prezent folosite pe plan mondial.

La baza acestor distributii LINUX exista o distributie de baza si aici putem lua ca exemplu aplicatia de la aceasta lucrare de licenta “ Securizarea unui Gateway “, iar aplicatia pe care am dezoltat-o este bazate pe o distributie Ubuntu Server 12.04. Aceasta distributie Ubuntu este la randul profenita de la distributia “mama” Debian.

In urmatoarele pagini avem prezentate diferite distributii de baza si derivatele acestora.

Distribuții bazate pe Debian

Debian este o distribuție care promovează aplicațiile software liber și care are suport pentru

multe platforme hardware. Distribuțiile bazate pe Debian folosesc pachetele în format .deb și

programul de gestiune a pachetelor dpkg.

Distribuție Descriere

Baltix Distribuție localizată pentru țările baltice.

BeatrIX Distribuție compactă (200Mb) originară în Cehia.

Bonzai Linux Distribuție de 180 MB, KDE desktop. Documentația este în limba germană.

BossDistribuție bazată pe Debian cu mediu Gnome Desktop în limba indiană, în mare pachetele sunt pentru domeniul guvernamental.

Page 13: Securizarea Unui Gateway

Distribuție Descriere

Debian-BR-CDD O distribuție braziliană Debian customizată. GNOME desktop.

DeveLinuxO mică distribuție Live CD pentru dezvoltatori, studenți și profesori, bazată pe un snapshot Debian.

EliveUn LiveCD și o distribuție folosind Enlightenment ca unic window manager. Are ca țintă intuitivitatea și utilizarea facilă.

FinnixO mică distribuție LiveCD pentru administrare de sistem, disponibilă pentru mai multe arhitecturi.

Freespire

O distribuție care poate fi rulată direct de pe CD în modul "live" sau folosită pentru instalare pe un hard disk. Două versiuni sunt disponibile, inclusiv una care conține drivere, codecuri și aplicații care implementează suport pentru MP3, Windows Media, Java, Flash, QuickTime, Real șamd.

GenieOS

Un CD care ajută utilizatorii noi să instaleze un desktop Debian standard, împreună cu plugin-uri third-party comune care nu sunt distribuite prin pachetele oficiale Debian package(DVD player, Flash, Sun's Java, și MPlayer). Include desktopurile GNOME sau KDE. Cunoscut anterior sub numeleDebian Pure, dar redenumit la solicitarea dezvoltatorilor Debian pentru a evita confuzia. Vezi track record și homepage.

GnoppixO versiune a distribuției Knoppix care folosește GNOME ca și desktop. Această distribuție este bazată în prezent pe arhitectura LiveCD folosită pentru Ubuntu.

GNUSTEP O distribuție orientată spre dezvoltare cu o mulțime de soft bazat pe GNUstep.

HiweedO distribuție pentru limba Chineză cu tastatură Chinezească simplificată, dicționare chinezești și fonturi TrueType chinezești.

Kanotix O distribuție Live CD bazată pe Knoppix care poate fi de asemenea instalată pe

Page 14: Securizarea Unui Gateway

Distribuție Descriere

hard disk. Cunoscută pentru excelentul suport hardware și integrare desktop pe laptop. Desktop KDE, opțional și alte desktopuri.

Knoppix

Prima versiune LiveCD (mai târziu DVD) de Debian GNU/Linux. Este utilizabil după bootarea de pe CD și vine cu o cantitate mare de software. Timpul de bootare este relativ lung în toate distribuțiile Knoppix din cauza detectării hardware extinse.

Kurumin O versiune de Knoppix creată pentru utilizatorii brazilieni.

Kalango O altă distribuție braziliană bazată pe Knoppix,cu o interfață vizuală atrăgătoare.

LinEx Distribuție promovată de guvernul comunității Extremadura, Spania.

LinspireDistribuție creată pentru un utilizator cu cunoștințe medii in domeniul calculatoarelor.

Loco Linux O distribuție argentiniană.

MeNTOPPIX O distribuție indoneziană bazată pe Knoppix,cu o interfață vizuală atrăgătoare.

MorphixO distribuție LiveCD cu diferite arome, inclusiv GNOME. Folosită drept bază pentru multe alte distribuții cum ar fi Clusterix, PHlAK sau Gnix.

NepaLinuxO distribuție bazată pe Debian si Morphix concentrată pe utilizarea în limba nepală. Vezi homepage.

PingOO O distribuție franceză îndreptată către comunități locale,organizații publice,școli,etc. Vine în trei ediții: PingOO Communication Server, PingOO Secure Server și PingOO File Server. Include desktop-uri GNOME și KDE.

Page 15: Securizarea Unui Gateway

Distribuție Descriere

Vezi homepage.

ParsixParsix GNU/Linux este un distro linux LiveCD instalabil. Parsix are la bază KANOTIX și Debian Sid. Vezi homepage.

sidux O distribuție bazată pe Debian Sid.

Storm Linux O distribuție bazată pe Debian.

Sun Wah RAYS LX

O distribuție desktop dezvoltată în China.

Symphony OSO distribuție bazată pe Debian ce include inovativul mediu desktop Mezzo. Versiunile anterioare aveau la bază Knoppix.

Tuquito Distribuție ce are la bază Debian și este creată în Argentina.

Ubuntu

Distribuție sponsorizată de Canonical Ltd. și de sud-africanul Mark Shuttleworth. Uses its own package repositories seeded from snapshots of Debian Unstable taken at six-month intervals. Scopul acestei distribuții este de a oferi un desktop complet și finisat pe un singur CD.

Xandros Open Circulation Edition

Are la bază Xandros 3.0 Standard Edition,singurele diferențe fiind incapacitatea de a scrie DVD-uri și scrierea CD-urilor limitată la o viteză maximă 4X.

Zen Linux Un LiveCD. Desktopurile disponibile sunt GNOME și KDE.

Distribuții GNU/Linux bazate pe Ubuntu

Page 16: Securizarea Unui Gateway

Distribuție Descriere

Kubuntu Versiune Ubuntu ce folosește implicit ca interfață utilizator mediul desktop KDE.

Xubuntu Versiune Ubuntu ce folosește implicit ca interfață utilizator mediul desktop Xfce.

gNewSense Un sistem de operare complet nou,pentru uz general.

Kiwi Linux O distribuție Linux dedicată special utilizatorilor din România

andLinux Distribuție care rulează nativ sub Microsoft Windows.

Linux MintDistribuție derivată din Debian-Ubuntu, cu toate codec-urile și plugin-urile necesare deja incluse.

Distribuții GNU/Linux bazate pe Gentoo

Distribuție Descriere

BinTooO distribuție ce conține un număr mare de programe de calculator pre-instalate pentru utilizatorii ce nu au o conexiune permanentă la Internet.

EpiOS O distribuție pentru sistemele bazate pe EPIA.

Fantoo O distribuție ce se vrea a conține pachete de ultimă oră.

Flash Linux O distribuție ce încape pe un stick de 256MB.

Gentoo O distribuție pentru entuziaști și profesioniști deopotrivă, ce are propriul sistem de gestiune a pachetelor, denumit Portage. Implicit, aplicațiile sunt compilate

Page 17: Securizarea Unui Gateway

Distribuție Descriere

din codul sursăpe sistemul utilizatorului, în loc să fie distribuite sub formă de pachete binare pre-compilate.

Gentoox O adaptare a Gentoo pentru Xbox.

Kororaa

O distribuție ce oferă o metodă ușoară de instalare a sistemului Gentoo cu ajutorul unor scripturi de instalare în locul unei configurări manuale. Kororaa a atras repede atenția în Martie 2006, când a devenit primul CD Live disponibil ce utiliza Xgl pentru grafică.

Knopperdisk O distribuție nouă menită doar pentru stickuri USB.

MedeixO distribuție bazată pe ideea unui singur PC bazat pe numeroase calculatoare interconectate. Folosește distcc pentru a reduce în mare măsură timpul de compilare în rețea.

Navyn OSO distribuție pe CD Live. Cele mai multe aplicații din Navyn OS consumă foarte puține resurse.

Pentoo Distribuție pe CD Live pentru teste de securitate prin simularea de atacuri.

Sabayon Linux

Sabayon Linux este un DVD Live distribuit inițial sub numele de "RR4 Linux" (pe 32 de biți) și "RR64 Linux" (pe 64 de biți), începând cu 18 Martie 2006. Include un număr mare de medii pentru desktop și aplicații open-source. La fel ca Knoppix, Sabayon Linux poate fi instalat pe hard drive (discul fix).

SystemRescueCd CD Live de recuperare bazat pe Gentoo Live.

Ututo O distribuție realizată în Argentina.

VidaLinux O distribuție bazată pe Gentoo, dar care folosește pentru instalare

Page 18: Securizarea Unui Gateway

Distribuție Descriere

programul Anaconda.

Distribuții bazate pe Red Hat Enterprise

Distribuție Descriere

AsianuxA distribution co-developed between Red Flag Software Co., Ltd., Miracle Linux Corp. and Haansoft, INC., focused on Chinese, Japanese and Korean supports based upon Red Hat Enterprise Linux.

CentOSCommunity supported distribution which aims to be 100% compatible with Red Hat Enterprise Linux without Red Hat branding and various non-free software

GENtOSGenerating ENterprise Operating Systems to be 100% binary-compatible with Red Hat Enterprise Linux.

GnYOUlinuxEmphasising whos important while creating 100% binary-compatible operating systems.

Pie Box Enterprise Linux

Pie Box Enterprise Linux aims to be 100% binary compatible with Red Hat Enterprise Linux by introducing minimal changes to the upstream packages. See homepage

Scientific LinuxA distribution solely recompiled from the Red Hat Enterprise Linux source distributed under GPL.

White Box Enterprise Linux

A distribution designed to be 100% binary-compatible with Red Hat Enterprise Linux.

Page 19: Securizarea Unui Gateway

Distribuție Descriere

YOUrOSYOUr Operating System or YOUr Own System - 100% binary-compatible with Red Hat Enterprise Linux.

Distribuții bazate pe RPM

Distribuție Descriere

aLinuxA distribution for home use designed to be equivalent to Windows XP Home (formerly known as Peanut Linux).

ALT LinuxSeveral distributions including Master, Compact, and Junior. Valued for strong Cyrillic support, security (related to Owl GNU/*/Linux) and community.

AnnvixA security-focused server distribution using tools like runit, urpmi, SSP-enhanced GCC, and more. Originally based on Mandrake 9.2 but has diverged a lot.

Ark LinuxA distribution focused on ease of use and ease of learning, while remaining technically sane.

ASPLinux A distribution that provides support for Russian and other Cyrillic languages.

Aurox A distribution with emphasis on support for several European languages.

Berry LinuxA medium-sized Fedora Core-based distribution that provides support in Japanese and English.

BLAG Linux and GNU

An entirely Free Software-based distribution intended for the home desktop user designed to provide many features while remaining within the size of one

Page 20: Securizarea Unui Gateway

Distribuție Descriere

CD.

Caixa Mágica A Portuguese distribution.

cAos LinuxA general purpose distribution managed by the community. Designed to be lightweight (fast and can be suitable for running on older hardware) and easily customizable

Cobind A distribution meant for the home computer which uses XFCE and Nautilus.

EnGarde Secure Linux

EnGarde Secure Linux is a highly-secure, server-only community distribution built on a foundation of SELinux policies and sponsored by Guardian Digital, Inc. of Allendale NJ.

FedoraA general purpose distribution for workstation, desktop and server use. Developed by Red Hat and the community.

Fox LinuxA Fedora Core-based distribution made in Italy, designed for basic home computing tasks such as browsing the Web, writing and printing documents, using multimedia and burning discs.

Linux Mobile System

A Fedora Core-based distribution designed to boot from USB Mass Storage devices, such as keydrives.

Magic Linux A distribution for Chinese users designed to be easy to use.

MCNLiveA Mandriva-based distribution designed to run from CD or USB Flash Drive, focused on multimedia, internet, graphics.

NOPPENLINUX The first user-made Live CD based on SUSE Linux, targeted at system rescue

Page 21: Securizarea Unui Gateway

Distribuție Descriere

and software development.

PCLinuxOSA Live CD distribution by Texstar, which can be installed to hard disk. Originally based on Mandrake 9.2 but has diverged since, while remaining RPM-based.

PCQLinux2005 A distribution made by the Indian magazine PCQuest, based on Fedora Core.

PhoeNUX OSA distribution developed to be easy to use, stable, and cohesive in design. Based originally off Ark Linux, Mandriva LE2005, and SuSE Linux, however has diverged into it's own flavour.

PLD Linux Distribution

A distribution intended for more advanced users, while remaining more convenient than Slackware or Gentoo.

QiLinuxMade in Italy, completely from scratch. The QiLinux staff has developed a desktop and live version as well as a server and advanced server version.

Red Flag Linux A distribution developed in China and optimised for the Chinese market.

Sesco Linux A secure distribution by Sesco information Systems Inc.

Tinfoil Hat Linux A distribution stated to be aimed at the security-conscious and paranoid.

TrustixA somewhat-hardened distribution focused on security. Contrast SELinux, from NSA, which is a set of kernel modifications, not a distribution, and cannot be used alone, however.

Vine Linux A Japanese distribution based on Red Hat Linux.

Page 22: Securizarea Unui Gateway

Distribuție Descriere

Yellow Dog A Fedora Core Linux-based distribution for the PowerPC platform.

YOPER "Your Operating System", a desktop distribution from New Zealand.

Distribuții Linux gratuite bazate pe Slackware

Distribuție Descriere

Austrumibusiness card size (50MB) bootable live CD Linux distribution developed by Latvian programmers

<<Back|Tracka network security suite developed by RemoteExploit.org. It includes many penetration testing utilities and code development tools. <<Back|Track also features a hard diskinstaller in addition to being a live CD.

College LinuxA distribution meant to be used for the common college student. It was discontinued in 2003, but resurrected in 2006.

DARKSTAR a very configurable Linux based on Slack made in Romania. See track record.

Frugalwaregeneral purpose Linux distribution, designed for intermediate users. See track record.

Kate OSA Slackware based lightweight, Polish language distribution. Newer versions are done completely from scratch, not backwardly Slackware compatible. See track record.

Mutagenix A Slackware based live CD with the Freerock GNOME desktop package.

Plamo Linux A Slackware based Japanese distribution.

Page 23: Securizarea Unui Gateway

Distribuție Descriere

RUNTA Slackware based distribution which is designed to be installed on keydrive. See project page.

Salocin

Salocin Linux is an advanced distribution that caters to both beginners and pros. It is based on Slackware and adds features such as Portage from Gentoo and many other useful tools and features. They include a wide range of desktop environments and open-source software applications. This distribution can also be run as a live DVD.

SlackwareThe oldest Linux distribution still maintained. Slackware packages are tar/gziped files with the extension .tgz.

SLAXA Slackware based small live CD which can also be installed on keydrive. No hard drive install. See track record.

Sauver

Sauver is a "Live CD", so no installation is required. The whole Operating System runs right off any removable media (USB or CD) , putting whatever system files it needs into RAM only. A simple to use and very useful for recovering deleted files & perform various other day to day activities. Includes GUI tools for Installing Wi-fi Drivers, Creating SWAP Files, Recovering Deleted files, Partition Manager and various others.

TopologiDesigned to run on top of Microsoft Windows. Does not need any partition changes. See Topologi Homepage

Ultima Linux Customized distro by Martin Ultima.

Vector Linux A user-friendly lightweight distribution.

Zenwalk Linux (formerly MiniSlack)

A Slackware based optimized distribution featuring XFCE as the default desktop, Gnome libraries, the new reiserfs filesystem, and new kernel. See track record.

Page 24: Securizarea Unui Gateway

Distribuție Descriere

Truva Linux A Slackware based Turkish Linux distro

Splack LinuxA Slackware port for SUN SPARC based architecture, both SPARC32 and SPARC64.

Slamd64 A Slackware port for x86-64 architecture. See track record. See project page.

Slackintosh A Slackware port for PPC architecture. See track record. See project page.

Bluewhite64 Linux

Un port neoficial Slackware pentru arhitectura AMD-64/EM64T.

Distribuții Linux binare bazate pe alte tipuri de sisteme de pachete

Distribuție Descriere

Arch LinuxAn i686-optimized Linux distribution targeted at competent Linux users. Uses pacman utility to update packages.

CRUX

CRUX is a lightweight, i686-optimized Linux distribution targeted at experienced Linux users. The primary focus of this distribution is "keep it simple", which is reflected in a simple tar.gz-based package system, BSD-style initscripts, and a relatively small collection of trimmed packages

Foresight Linux A distribution built around the quite new packaging system Conary.

Generations Linux

A live CDROM distribution based on the 2.6 linux kernel with KDE and (default)Fvwm desktops.

Page 25: Securizarea Unui Gateway

Distribuție Descriere

GoboLinux

An alternative Linux distribution which redefines the entire file system hierarchy by installing everything belonging to one application in one subfolder under /Programs, and using symlinks from /System and its subfolders to point to the proper files.

IBLS A modular mini Linux server distribution.

ImpiLinuxA South African distribution that focuses on the needs of African users. See homepage

Jedi GNU/Linux

A source-based GNU/Linux Metadistribution which is built around the force-get package manager. It is currently in a beta-state (as of June 2005) but is in constant development.

MkLinuxA distribution for PowerPC systems that runs the Linux kernel as a server on top of the Mach microkernel.

NimbleXA modular distribution intended for nonexperienced users. It runs from the CD/USB.

PhrealonA live CD distribution intended for making the imaging of workstations a simple procedure.

Underground Desktop

a desktop distribution based on Arch Linux, i686-optimized and with KDE desktop. See homepage

PardusA multilingual distribution, developed in Turkey. It uses PISI (a new package management system) as package manager, COMAR as configuration framework. Pardus 2007 will introduce a new, fast init system based on Python.

Distribuții sursă cu sau fără un sistem de pachete

Page 26: Securizarea Unui Gateway

Distribuție Descriere

GentooHas its own package manager, Portage, and is the base for several other distributions.

Heretix

The successor of RubyX, management of this distribution is done via the Ruby programming language. Packagement is handled via Ruby as well, with packages being installed in one folder under /pkg. (Currently, June 2005, in very very early beta stage)

Linux From Scratch

Un set de instrucțiuni pentru construire a unui sistem Linux prin compilarea din codul-sursă și instalarea (manuală sau automatizată) a fiecărei componente de către utilizator.

Lunar Linux A source code-based distribution descended from Sorcerer GNU/Linux.

MurixA Linux From Scratch-based distribution created with the goal to function on all hardware platforms.

Onebase Linux A distribution intended for a broad range of users.

ROCK LinuxA distribution build kit, or in other words, a software development toolkit for building OS solutions.

Sorcerer A source code-based distribution.

Source Mage GNU/Linux

A source code-based distribution, descended from Sorcerer GNU/Linux.

T2 Linux

An open source system development environment (distribution build kit). T2 allows the creation of custom distributions. Currently, the Linux kernel is normally used, but Hurd, OpenDarwin and OpenBSD kernels are being ported to T2.

Page 27: Securizarea Unui Gateway

Distribuție Descriere

TA-LinuxA distribution with a small base installation that the end-users can expand to include the software they need. Plans to support different architectures, such as Alpha, Sparc, PPC and PA-RISC, but at this time only x86 is fully supported.

YaKaAn environment for describing and installing site wide systems. Describe your LAN with the YaKa language, launch the YaKa tools, reboot all your PXE based computers on your LAN

Distribuții mici pentru computere vechi

Most of the mini-distributions offer both hard disk and keydrive installation choices.

Distribuție Descriere

AustrumiA Latvian Live-CD mini-distribution that supports English. Based on Slackware and is similar to Puppy Linux, but includes a richer set of features.

Basic Linux (BL)

Aimed at very low end and limited hardware, such as the 386/486 with 4MB memory. Comes on 2 floppies instead of the more normal CD. Slackware based and extendable with programs directly from the Slackware repository. One of the few "small" Linux distributions capable of running a graphical desktop.

cAos LinuxDiversely managed by the community, general purpose, lightweight (fast and can be suitable for running on older hardware) and easily customizable

Damn Small Linux (DSL)

Grandfather of mini distributions. A live CD designed for MiniCD with a hard drive install option. Started as a personal project to see how many usable desktop applications could fit inside a business card size 50MB MiniCD. Over time it has grown into a considerably active community project. Refinements include a fully automated remote and local application installation system and a very versatile backup and restore system which may be used with any writable media including a hard drive, a floppy drive or a USB device. Uses Knoppix hardware detection which - although detecting most hardware selection - takes a relatively long time to boot. Includes own *.dsl packaging system, but offers options to

Page 28: Securizarea Unui Gateway

Distribuție Descriere

use deb package from Debian repositories to extend the system (use with caution). Uses Fluxbox window manager. See track record.

DeLi LinuxDistribuție Linux special realizată pentru a rula pe calculatoare vechi, conține o interfața grafică, browser web și pachet office și care pot rula pe platforma i486.

Feather Linux

Sharing similar goals as Damn Small Linux, but not based on it (Feather is more closely related to Knoppix). Includes more software packages than DSL raising the "small" limit to about 115MB. Uses Knoppix-based hardware detection and the Fluxbox window manager. Compatible with Debian packages (.deb).See track record.

Flonix USB Edition

a light distro for nomad desktop that runs from USB Keydrive. This is a pure commercial distribution that can only be purchased pre-installed on USB sticks.

muLinux

is a libc5-based Linux distribution, which has a basic installation fitted onto a single 1722K floppy disk, with optional floppy-disk add-ons. This allows the use of old computers as firewalls, printer servers, or data entry stations. There is a LiveCD version too, with an Xfce-like desktop environment, with GNOME support. It also has support for very low end and limited hardware, such as a 386/486 with 4MB memory. It is capable of running a graphical desktop from just two floppies.

pocketlinuxA Slackware-based distribution developed by former developers of the now-discontinued Bonzai Linux. Includes a simplified Slackware installer & KDE Light desktop.

Puppy Linux

A unique mini distribution which boots 2-3 times faster than other mini distributions due to being based on Slackware and not Knoppix. Runs well under low-end PCs - even under 32MB RAM - with its ultra-minimalistic approach. Contains very minimal set of utilities; e.g. earlier versions used BusyBox instead of bash to provide command line support. Managing the system to install new software requires more experience from average user. Uses JWM, a Windows-like window manager. See track record.

Page 29: Securizarea Unui Gateway

Distribuție Descriere

SimpleSlax

Variant SLAX LiveCD designed to be both small at 120 MB and lightweight for use with older hardware. Clean and minimal GUI and file system settings with device information support and the option to use the Dillo web browser, built to load quickly and run smoothly on machines with under 300 MHz processing and less than 128 MB installed RAM. Provided with script and support notes for installation. See project page.

Stem Desktop

A hybrid, which uses lightest packages from Debian repository together with few home grown deb packages to build desktop (Fvwm95) which would consume very little memory. Designed for low-end hardware (266 MHz/64 MB/install on disk ~800 MB). Unlike other mini-distributions, this one does not have its own install CD. User needs to install stock Debian (aka "Debian proper") CD first without selecting any packages and then run a custom text based install script which builds the rest through open network connection. See project page.

SPBLinux Mini-distribution for floppies and USB keydrives. See project page.

Vector Linux

Medium-lightweight distro with a text based installer. Applications included function well on older computers. Available in both standard (minimalistic) and SOHO (Small Office/Home OFfice - with Open office, KDE etc; size 2GB) form. Deluxe (pay) version also available. The 'Dynamite' (800 MB) is the testing version. Advanced package management with slapt-get and gslapt. Pros: includes java, flash, Open Office and is quite fast. Cons: not cutting edge (Slackware based). See track record

Distribuții parțial sau total comerciale

Distribuție Descriere

ASLinux DesktopA Debian-based distribution with KDE desktop tailored for Spanish speaking persons. Includes office, gaming, science and software development programs. See track record.

Athene Operating System Fast system boot, fast GUI; see rocklyte.com.

Page 30: Securizarea Unui Gateway

Distribuție Descriere

BlueCat LinuxAn implementation of the Linux model enhanced for use in embedded systems ranging from small consumer-type devices to large-scale, multi-CPU systems.

EZblue Linux

A linux distribution that leverages a simple 5-minute install and configuration process. It was originally designed as a stand-alone mail, print, and web server for small businesses and is a direct competitor to Microsoft's Small Business Server. See homepage

FireCast A linux distribution for Kiosks and Digital Signage applications.

Haansoft Linux

A Red Hat based distribution with KDE desktop, and with GNOME desktop at 2006 Workstation, which has introduced many features of Asianux. 2005 Workstation and Server versions were previous release.

Libranet

A Debian-based desktop distribution based upon and mostly compatible with Debian. The installation has hardware detection and the desktop has an 'adminmenu' (in both text and gui mode) to ease hardware and software configuration. The founder Jon Danzig died in 2005 and the future was undecided until it was officially discontinued 2006-03-15 by Tal Danzig. The story of this oldest Debian derived distribution is summed up in Libranet's last goodbye.

Linspire

Another desktop-oriented distribution, previously called Lindows, based on Debian. Additional software is available from Linspire or via Debian's apt command, although compatibility with Debian is not guaranteed. Has significant proprietary software.

Linux XP An easy-to-use distribution without the hassle of re-partitioning the hard drive and going through complicated processes of hardware

Page 31: Securizarea Unui Gateway

Distribuție Descriere

configuration. Last release December 19 2005.

Mandriva Linux

Formerly known as Mandrakelinux. There are various products for servers, workstations, small businesses as well as individuals. Originally a Red Hat Linux variant optimized for Pentium-class CPUs, Mandriva Linux has since diverged to form its own distribution. While remaining entirely free software, Mandriva's business model adds further enterprise-class support and services, mainly through a subscription basis, as well as different release dates for individual members and non-members of their club. See homepage

MEPIS

An easy-to-use Debian-based distribution which also runs as a LiveCD, allowing you to try out MEPIS before you decide to install it on your hard drive. There are several flavors to choose from. See homepage.

MEPIS LiteAn entry level version of desktop MEPIS designed for home users with smaller hardware requirements (Pentium II/128MB/2G install).

SimplyMEPIS The official name for the "MEPIS" distribution.

MEPIS SoHoServer

A general purpose server based on the recent release of Debian. Includes preconfigured Apache, PHP, Perl, MySql, Proftpd, Bind, DHCPd, Postfix, Dovecot, Shorewall, Squid, DansGuardian, Webmin, Usermin etc.

Mobilinux By Montavista for smartphones.

NitixDeveloped by Net Integration Technologies Inc., Nitix claims to be the first autonomic Linux-based server operating system.

Page 32: Securizarea Unui Gateway

Distribuție Descriere

Open CoLinuxCommercial version of virtualization engine of Linux for Windows called colinux. Runs Debian based Linux inside Windows with KDE desktop.

Oracle Unbreakable Linux -

Pie Box Enterprise LinuxPie Box Enterprise Linux aims to be 100% binary compatible with Red Hat Enterprise Linux by introducing minimal changes to the upstream packages. See homepage

Progeny Componentized LinuxA Linux distribution developed by Progeny, based on Debian, using Anaconda installer ported from Red Hat Linux.

Red Hat Enterprise Linux (RHEL)

The solely-commercial distribution for server market. The inventor of the RPM-packaging system for RPM-based distributions. See homepage

RXART

Another desktop-oriented distribution, based on Debian. Additional software is available from Rxart repository or via Debian's apt command, although compatibility with Debian is not guaranteed. Has significant proprietary software.See[1]

Sun Wah RAYS LX A Debian-based desktop distribution, developed in China.

SUSE Linux

A desktop-oriented Linux distribution supplied by Novell, Inc. (homepage). In 2004 Novell acquired SUSE which is based in Nürnberg (Nuremberg), Germany. SUSE is one of the most popular distributions in Europe. Like Red Hat Linux, it is a large distribution on several CDs/DVDs. Free Eval versions are available for the SUSE Linux Enterprise versions. It includes a multipurpose configuration tool called YaST.

openSUSE A branch developed by the community and sponsored by Novell.

Page 33: Securizarea Unui Gateway

Distribuție Descriere

openSUSE maintains a strict policy of insuring all code in the standard installs will be fromFree/Libre/Open-Source Software solutions, including Linux kernel Modules. Novell's enterprise Linux products are all based on the codebase that comes out of the openSUSE project.

SUSE Linux Enterprise ServerA server-oriented Linux distribution supplied by Novell, Inc. and targeted at the business market.

SUSE Linux Enterprise Desktop (previously branded Novell Linux Desktop)

A desktop-oriented Linux distribution supplied by Novell, Inc. and targeted at the enterprise market.

SUSE Linux Enterprise Real Time

A specialized version of the SUSE distribution from Novell designed to support low latency for time critical operations.

Tuga Commercial desktop distribution made in Italy, based on QiLinux.

Turbolinux A popular distribution in Asia, based on Red Hat Linux.

Userful DiscoverStationA locked down Linux distribution for Public Computers. See homepage.

Xandros

Canadian based Xandros (based on the defunct Corel Linux) focuses on the desktop market and Windows compatibility. The Xandros distribution, unlike most others, may not be freely copied, as it contains proprietary software like the file manager, which allows direct copy-to-CD etc. Based on Debian, Xandros is compatible with Debian's dpkg package management system. Professional, like Linspire and SUSE. See homepage.

YES Linux A turnkey distribution that is specifically targeted to the Small

Page 34: Securizarea Unui Gateway

Distribuție Descriere

office and Home office (SOHO). See homepage.

rPath Linux

rPath Linux is a commercial Linux distribution that comes with rBuilder and rPath Linux. The whole distribution is geared towards large scale software development. Using rBuilder, application providers can migrate to a high-value, software subscription model while reducing their development and QA costs. See homepage.

Distribuții speciale

Some groups compile special purpose Linux distributions as turnkey firewalls, for embedded

systems, and for other special purposes.

Distribuții orientate pe rețele

Distribuție Descriere

Arudius Linux live-CD for information assurance.

ClarkConnect Router/firewall distribution

Coyote Linux Router/firewall distribution

Devil-Linux firewall/router/server distribution running from CD

Echelon LinuxDesigned to monitor and to manage a network - features vulnerability scanning and services monitoring. Based on DamnSmallLinux.

Eisfair small easy to install Internet-server[2]

Page 35: Securizarea Unui Gateway

Distribuție Descriere

Fli4l a single floppy ISDN, DSL and Ethernet-Router

FREESCOa free replacement for commercial routers supporting up to 10 network cards and up to 10 modems.

Gibraltar Router/firewall distribution. See track record.

IPCop Router/firewall distribution

NASLitea floppy-based Linux designed to turn an old computer into a simple Network Attached Storage device

nUbuntuCD-based Linux with tools needed for penetrating testing servers and networks with a Fluxbox GUI.

Operator LinuxA CD-based Linux with tools for network administration and security testing. [3]

Peerix Designed to run over a p2p network filesystem

Sentry Firewall A firewall, server or intrusion detection system distribution

SmoothWall Router/firewall distribution

The Linux Router Project

Router distribution

Tinfoil Hat Linux Bootable floppy distribution focusing on extreme security

Page 36: Securizarea Unui Gateway

Distribuție Descriere

Trinux Security tools distribution

trixbox Designed to easily set up a VOIP server based on Asterisk Open Source PBX.

Distribuții orientate pe educație

Distribuție Descriere

GuadalinexAn Ubuntu-based distribution promoted by the local government of Andalusia, Spain for home users and schools (cf. EduLinux, Skolelinux).

SkolelinuxA distribution started in Norway as an affordable thin client distribution for schools (cf. EduLinux, Guadalinex).

Edubuntu Linux: A version of the Ubuntu distribution for education, including LTSP support.

EduLinuxA distribution for educational purposes (cf. Guadalinex, Skolelinux).

K12Linux and K12LTSPA distribution for educational purpose. K12LTSP comes with LTSP support. Fedora core based.

AbulÉduA distribution for educational purposes. Debian based.

College Linux A Slackware-based distro from Robert Kennedy College, Delemont, Switzerland. Discontinued in

Page 37: Securizarea Unui Gateway

Distribuție Descriere

2003, but resurrected in 2006.

Distribuții orientate pe Media

Distribuție Descriere

64StudioA Debian-based distribution attempting to specialize in audio and video production on AMD64 workstations.

DeMuDi multimedia (audio and video) production

dyne:bolicLiveCD geared toward multimedia (audio and video) production, but comes with other non-media specific application (eg: word processor, desktop publisher). Capable of easy modifications; runs on low spec computer and Xbox

Firecast A commercial distribution for Digital Signage and Kiosks.

GeeXboXLiveCD media center distribution, mainly to play special-encoded video files (eg: .ogg, XVID) on home theater.

MediainLinux LiveCD multimedia (audio and video) production ; Knoppix based

MiniMythNet-bootable distribution to run frontend components of MythTV on diskless Via EPIA M hardware

Musix LiveCD; music production oriented, Knoppix based

c't-VDR Debian based digital video recorder distribution for DVB-S by German IT magazine "c't" (http://www.heise.de/ct/ftp/projekte/vdr/). Builds on Klaus

Page 38: Securizarea Unui Gateway

Distribuție Descriere

Schmidinger's Video Disk Recorder (VDR) (http://www.cadsoft.de/vdr/)

Ubuntu multimedia center

Ubuntu-based distribution launched late 2006. In release candidate development stage, developed by Zach Thibeau. Future versions will include media applications such as MythTV and Songbird Media Player. Download only.

Alte distributii

Distribuție Descriere

AMiLDA An embedded distribution for routers using the ADM5120 MIPS chipset.

AndLinux A full Debian Unstable Linux running on Windows in native speed.

Bootable business card

distros

Cooperative Linux

CoLinux is a virtualization effort to run Linux simultaneously along with Windows. CoLinux is similar to other virtualization projects like Open source Xen (virtual machine monitor) project and commercial VMware.

DeveLinuxA live CD distro for developers. It contains any kind of software which is useful to program and develop project. See homepage.

DSLinux Version of Linux designed for the Nintendo DS.

ELKS Linux The Embeddable Linux Kernel Subset

Page 39: Securizarea Unui Gateway

Distribuție Descriere

Embedded Debian

Embedded Debian is a project to make Debian GNU/Linux a mainstream choice for embedded projects

Embedix

Familiar Linux Distribution for iPAQ handhelds

FlightLinux A distribution for spacecraft

GC-Linux Linux made for Nintendo GameCube videogame console.

Hard Hat Linux see MontaVista Linux

Hikarunix A distro solely for studying and playing the game of Go

iPodLinux Embedded Linux firmware for the Apple iPod based on the µCLinux kernel

Jlime Distribution for the HP Jornada handhelds

KnoppMyth Specialized Knoppix distribution for easy setup of the MythTV PVR software

MiniLinux

MontaVista Linux

embedded systems distro by MontaVista Software

Nethack Linux floppy-based Linux for playing NetHack [4]

Page 40: Securizarea Unui Gateway

Distribuție Descriere

openMosixa Linux kernel extension that links several single systems and forms one supercomputer

OpenZaurus Debian packages and ROM image for the Sharp Zaurus PDA. See homepage.

PS2 LinuxSony Computer Entertainment distribution released officially for the PlayStation 2 video game console.

Rocks Cluster Distribution

A distribution for building a High-performance computing computer cluster.

TimeSys Linux embedded systems distro by TimeSys. See homepage.

tomsrtbt Root boot disk

VigyaanCDA Knoppix customization for bioinformatics, computational biology and computational chemistry.

Xebian a distribution for the Xbox home gaming console, Fluxbox. See homepage

Distribuții pentru platforme alternative

Linux started life as an operating system for X86-compatible systems but has expanded to include

numerous other computer processors. Various distributions cater to those other computer

architectures.

Distribuție Descriere

Linux on zSeries IBM mainframes

Page 41: Securizarea Unui Gateway

Distribuție Descriere

penguinppc.org [5]Linux/ppc (POWER-based systems, e.g. IBM pSeries, iSeries, newer Apple Macintosh, Pegasos and AmigaOne)

Linux/m68k [6] Motorola 680x0 series (Amiga, older Apple Macintosh, NeXT, etc.)

UltraLinux [7] SPARC and UltraSPARC based systems, e.g. Sun Fire servers.

ACCESS Linux Platform [8]

for Palm devices.

Distribuții inactive sau oprite

Distribuție Descriere

Alzza LinuxThis was most popular distribution in South Korea. First release was based on Slackware, but latest was Red Hat 6 based. Last release in 2000.

Beehive Last release 2002.

Caldera LinuxRPM based, Caldera bought SCO then took the SCO name and no longer produces a Linux distribution. Last release: 3.1.1 - Jan. 30, 2002

EvilEntity A Slackware-based alternative to Microsoft Windows. Last release 2003.

Icepack LinuxA user-friendly, full-featured operating system, pre-configured, well structured and easy to work with (RPM-based). Last release 2003.

Lycoris Desktop/LX Fell down to one employee and then acquired by Mandriva.

Page 42: Securizarea Unui Gateway

Distribuție Descriere

MCC LinuxMCC Interim Linux, possibly the first Linux distribution. Created by the Manchester Computing Centre in February of 1992.

Mastodon Linux The last a.out Linux distribution.[9]

Peachtree Linux Designed for the knowledgable Linux user.

Red Hat LinuxSplit into Fedora Core and Red Hat Enterprise Linux. The last official release was Red Hat Linux 9 in March 2003.

Softlanding Linux System

One of the earliest distributions, developed from 1992-1994; Slackware was originally based on it.

Stampede Linux One of the Stampede developers left and formed Gentoo.

ThizLinuxA HongKong based distribution provide services to Great China. Last release 2003. [10]

United LinuxA group of distributors who banded together to build a common base distribution, based on SuSE. United Linux has now ceased.

UserLinuxcommercial, GNOME. Never produced a release after conceptual agenda. Was superseded by Ubuntu.

Yggdrasil One of the oldest Linux distributions, not updated since 1995.

Open Wall Linux hardened linux distribution.

Page 43: Securizarea Unui Gateway

Distribuții utopice

Distribuție Descriere

Yellow Hat GNU/Linux

O distribuție produsă de ramura Gelugpa a budismului din Tibet, distribuție creată cu intenția de a avansa utilizatorul în limbaje de programare cât și avansarea sa spre iluminare.

JesuxO distribuție constuită ca un mediu de lucru potrivit pentru un creștin, fără influențe pământești.

Clux O distribuție pentru managementului pasăretului (găini și pui).

DorkOPS Omega

O distribuție dezvoltată de un grup de cybervigilante (neffind clar identificați), DorkOPS. Omega include unelte pentru securitate și audit, recuperare, hacking, cât și capitole referitoare la 'subliminal training'.

1.5 Particularitati ale sistemului Linux – Ubuntu

În directorul rădăcină (/) veţi găsi întotdeauna o structură a directoarelor asemanatoare cu aceasta:

/bin - (binaries) conţine majoritatea comenzilor din Linux (fisiere executabile)

/boot - fisierele necesare pentru bootare

/dev - (devices) fisiere care tintesc spre dispozitive hardware

/etc - fisiere administrative

/home - folderele userilor existenti în sistem

/lib - (libraries) bibliotecile folosite de fisierele executabile

Page 44: Securizarea Unui Gateway

/mnt - (mount) locatia standard pentru montarea dispozitivelor (partitii, unitati optice etc)

/opt - (optinal) în general este gol şi folosit pentru instalarea altor aplicatii

/proc - (process) fisiere referitoare la informatiile despre sistem folosite de kernel

/root - directorul home al userului root

/sbin - (single user binaries) conţine fisierele executabile esentiale referitoare la administrarea sistemului şi sunt disponibile numai pentru root

/tmp - (temporary) fisiere temporare folosite de utilizatori

/usr - (user) fisiere şi programe folosite de toti userii; aici mai gasiti alte directoare care poarta acelaşi nume cu unele specificate mai devreme dar ele sunt separate de acelea (ex.: bin, etc, lib, sbin, src)

/var - (variable) conţine fisiere ale caror date au un caracter dinamic (loguri, lista documentelor pentru printare, mail etc).

Dupa cum se observa din cele specificate mai sus, sistemul LINUX detine o organizare de fisiere proprie cu o conectare si depenta aparte.

Configurare DPKG

DPKG (Debian Packages) este un sistem de împachetare și implementat în distribuția Debian și este utilizat și de alte distribuții LINUX, cum ar fi Ubuntu si Knoppix. Utilitarul folosit pentru gestiunea pachetelor poartă numele de APT.

Există două tipuri de pachete:

pachete binare, care conțin fișiere executabile, documentații, fișiere de configurare, etc. . Acestea sunt arhivate intr-un format propriu;

Page 45: Securizarea Unui Gateway

pachete-sursa, care conțin: un fișier .dsk , care descrie pachetul, un fișier .orig.tar.gz, care conține programul sau biblioteca originală în format sursă, și un fișier .diff.gz, conținand un patch cu modificări specifice Debian.

APT utilizează un fișier care descrie sursele de unde pot fi obținute pachetele, și anume /etc/apt/sources.list. După modificarea acestui fișier, trebuie apelată comanda apt-get update.

Instalarea de pachete

Instalarea unui pachet se realizează cu ajutorul comenzii :

apt-get install numele-programului-dorit

Această comandă va determina instalrea celei mai recente versiuni a pachetului specificat. Dacă pachetul prezintă dependente fața de alte pachete, acestea vor fi determinate și instalate în mod automat (sistemul va solicita confirmarea utilizatorului în acest caz).

Dezinstalarea pachetelor

Pentru a dezinstala unul sau mai multe pachete se utilizează comanda :

apt-get remove numele-programului-dorit

Pentru a șterge și fișierele de configurare, trebuie folosit si argumentul –purge . Dacă există alte pachete care depind de pachetul care va fi șters, vor fi șterse și ele in mod automat.

Page 46: Securizarea Unui Gateway

Upgrade-ul pachetelor

In momentul în care dorim să actualizăm sistemul nostru de operare, trebuiesc luate in calcul două etape:

1) update-urile repo-urilor (repo – este unul sau mai multe site-uri oficiale ce conțin o lista a programelor ce rulează pe sistemul respectiv, implicit actualizarea acestora)

apt-get update2) upgrade-ul pachetelor

apt-get upgrade

Upgrade-ul (actualizarea) unui pachet semnifică instalarea unei versiuni mai noi a acestuia, acțiune care poate fi necesară dacă noul pachet include corecții de bug-uri (erori în cadrul programelor) sau conține noi facilități necesare. Mai jos avem prezentate două printscreen-uri ce afișează întregul proces prin care se face actualizarea sistemului de operare.

Page 47: Securizarea Unui Gateway

Procesul de update al listei de repo-uri

Page 48: Securizarea Unui Gateway

Procesul de upgrade al sistemului

1.6 Comenzi uzuale si programe

In aceasta sectiune avem prezentate mai multe comenzi uzuale ale sistemului de operare Linux, cat si anumite programe cu explicatie o mica descriere pentru fiecare comanda. Pentru specificatii mai ample despre o anumita comanda studiati manualul acesteia se executa in consola comanda:

man nume_comanda.

Page 49: Securizarea Unui Gateway

Cele mai folosite comenzi de catre orice administrator / utilizator de sistem Linux sunt urmatoarele :

alias ------------> Iti da voie sa vezi si sa fixezi alias-urile din sistem.

awk ------------> Cauta dupa o anumita referinta intr-un fisier.

banner ---------> Afiseaza caracterele ca un banner.

badblocks -----> Cauta un hard disk dupa bad-uri.

biff -------------> Activeaza sau dezactiveaza notificarea de email.

bzip2 ----------> Comprima si decomprima fisiere sau directoare. Similar cu gzip.

chattr ----------> Schimba atributele unui fisier sau director.

chroot ---------> Schimba directorul de root pentru o comanda.

chmod ---------> Folosit pentru a schimba permisiile unui fisier sau director.

chown ---------> Folosit pentru a schimba proprietarul unui fisier sau director.

chgrp ----------> Se foloseste pentru a schimba grupul din care face parte un fisier sau director.

clear -----------> Sterge ecranul.

cpio -----------> Copiaza fisiere sau arhive pe alte discuri. Folosit la backup.

cat ------------> Afiseaza continutul unui fisier.

chpasswd ----> Folosit pentru a schimba mai multe parole deodata.

cd -------------> Seteaza vechimea parolelor.

cal ------------> Afiseaza un calendar.

cron ----------> Folosit pentru a efectua comenzi intr-un anumit moment din timp.

crontab -------> Permite modificarea actualelor comenzi care vor fi rulate de "cron".

date -----------> Afiseaza data curent pe ecran.

du -------------> Afiseaza locul ocupat pe disc intr-un director.

df -------------> Afiseaza informatii despre partitiile disponibile si spatiul liber si ocupat de pe acestea.

dmesg ---------> Folosit la inspectarea fisierului de boot al kernelului.

Page 50: Securizarea Unui Gateway

dump ----------> Folosit la backup.

edquota -------> Seteaza quota pentru diferiti useri.

env ------------> Listeaza variabilele de mediu dupa sistem.

fdisk ----------> Creaza, editeaza sau sterge partitiile.

fsck -----------> Verifica un sistem de fisiere pentru erori.

fuser ----------> Verifica ce procese sau useri au deschise fisiere pe sistem.

free -----------> Arata cantitatea totala de memorie, cantitatea de memorie folosita si cea libera. Flag-ul -m arata in MB fata de Kb normal.

gcc ------------> Compilatorul de sistem. Compileaza cod C/C++/ASM si altele.

gpasswd ------> Seteaza parola unui grup.

grep -----------> Cauta intr-un fisier dupa un anumit cuvant sau grup de cuvinte.

getty ----------> Seteaza tipul de terminal, modurile, viteza, etc.

groupadd ----> Creaza un nou cont de grup.

groupdel -----> Sterge un grup.

groupmod ---> Modifica un anumit grup.

groups -------> Afiseaza caror grupuri apartine un anumit user.

gunzip -------> Decompreseaza fisiere arhivate cu gzip.

head ----------> Afiseaza primele 10 randuri ale unui fisier pe ecran.

hdparm ------> Afiseaza informatii despre un anumit disc.

history -------> Listeaza ultimele comenzi folosite.

host ----------> Folosit la aflarea informatiilor DNS.

htpasswd ----> Folosit la setarea userilor si parolelor pentru un server web.

id -------------> Afiseaza informatii despre userul curent sau altul.

insmod -------> Instaleaza module. Trebuie specificata calea catre modulul care se vrea instalat.

init ------------> Folosit la setarea nivelurilor de rulare a sistemului.

Page 51: Securizarea Unui Gateway

isapnp --------> Seteaza placile care folosesc interfata ISA dupa informatiile continute in fisierul "isapnp.conf".

icmpinfo -----> Intercepteaza si interpreteaza pachetele de date ICMP.

jobs -----------> Folosit la afisarea actiunilor care ruleaza in background.

kill -----------> "Ucide" un anumit proces.

killall --------> "Ucide" anumite procese dupa o comanda data.

kernelcfg -----> O interfata grafica in X care permite configurarea kernelului.

klogd ---------> Controleaza mesajele de la kernel care vor fi afisate in consola; pune prioritati pe mesaje si le logheaza prin syslogd.

linuxconf ----> Interfata din linia de comanda care te ajuta sa configurezi sistemul Linux.

lpc ------------> Folosit la controlul unei imprimante matriciale.

lpq ------------> Afiseaza lista cu fisiere gata de printare.

lpr ------------> Trimite fisiere spre lista de printare.

ln -------------> Folosita la crearea link-urilor simbolice sau directe intre fisiere.

less -----------> Afiseaza continutul unui fisier.

locate --------> Cauta un fisier sau director (foloseste o baza de date realizata in prealabil).

ldd ------------> Arata de ce librarii depinde un anumit fisier la rulare.

ldconfig ------> Folosita la configurarea librariilor impartite.

last ------------> Listeaza login-uri si reboot-uri.

lastlog --------> Afiseaza ultimul login al conturilor de sistem.

lsmod ---------> Listeaza modulele incarcate.

lsattr ----------> Listeaza atributele unui fisier sau director.

logrotate -----> Folosit la editarea log-urilor.

mount ----------> Folosit fara flag-uri, arata o tabela cu informatii despre disc-urile din sistem.

modinfo --------> Afiseaza informatii despre un anumit modul.

modprobe ------> Verifica modulele.

Page 52: Securizarea Unui Gateway

man -------------> Afiseaza pagina de manual pentru o anumita comanda.

manpath --------> Incearca sa afle calea catre o anumita pagina de manual.

mail -------------> Folosita la trimiterea si primirea de email.

mkdir -----------> Creaza un director.

mke2fs ---------> Folosita sa formateze un disc cu sistemul de fisiere Ext2.

merge ----------> Lipeste doua sau mai multe fisiere unul de altul.

more -----------> Te lasa sa afisezi pagina cu pagina un fisier text.

minicom -------> Utilitar de configurat modemul.

mkbootdisk ----> Folosita la crearea unei dischete de boot.

ntsysv ----------> Folosita la selectarea serviciilor care vor porni automat la startul sistemului.

nice -------------> Folosita la stabilirea prioritatii rularii unor servicii.

nslookup -------> Se foloseste pentru a afla informatiile DNS de la un anumit server.

netstat ----------> Afiseaza informatii despre reteua locala sau din afara si a sochetilor de sistem.

ps ---------------> Afiseaza ce procese ruleaza momentan.

ping ------------> Folosita la verificarea unui host daca este sau nu online.

pwconv --------> Se foloseste pentru setarea fisierului "/etc/shadow".

pnpdump ------> Determina configurarile placilor pe ISA instalate in sistem.

quota ----------> Este folosita de useri pentru a vedea limita de spatiu (quota) pe care o au pe sistem.

quotaon -------> Activeaza quota pentru sistem.

quotaoff -------> Dezactiveaza quota pe sistem.

repquota -------> Afiseaza rapoarte cu spatiul ocupat de unii useri pe sistem.

rmmod --------> Sterge module; trebuie specificat modulul care se vrea sters: "$rmmod modem"

rpm ------------> Utilitar pentru pachetele in format .rpm (numai pentru utilizatorii Red Hat Linux si a sistemelor compatibile).

rpcinfo --------> Folosit pentru aflarea serviciilor RPC care ruleaza pe un anumit host.

Page 53: Securizarea Unui Gateway

route ----------> Folosit pentru a vedea/schimba rutele pe care o iau pachetel de la sistemul local pana la alt sistem.

smbclient -----> Se foloseste pentru conectarea la serviciile de retea de pe o masina Windows sau una Linux care ruleaza un server samba.

smbadduser --> Schimba useri de sistem Linux pentru platforma Windows.

smbpasswd --> Folosita la update-ul fisierului "smbpasswd" file cu noi conturi.

set ------------> Citeste si scrie variabile.

setquota -----> Seteaza quota pe un anumit disc.

sort -----------> Sorteaza liniile dintr-un fisier in ordine alfabetica.

sndconfig ----> Folosita la probarea si configurarea unei placi de sunet.

su -------------> Schimba userul curent cu Super User (root).

spell ----------> Verifica dupa erori de scriere intr-un anumit fisier.

startx ---------> Incarca serverul X.

shutdown ----> Inchide sistemul local.

suspend ------> Pune un shell sa ruleze in background.

showmount --> Afiseaza informatii mount despre un server NFS.

swapon -------> Activeaza fisierul de swap.

swapoff -------> Dezactiveaza fisierul de swap.

testparm -------> Verifica parametrii daemonului Samba.

tar --------------> Compreseaza si decompreseaza arhivele ".tar".

timeconfig -----> Seteaza zona de timp pe sistem.

tac --------------> Afiseaza continutul unui fisier mai sus de ultima linie.

tail -----------> Afiseaza ultimele 10 randuri dintr-un fisier in consola.

talk -----------> Folosit la discutii cu alt utilizator de pe acelasi sistem.

tr -------------> Schimba un set de caractere cu un altul.

Page 54: Securizarea Unui Gateway

traceroute ---> Folosit la afisearea caii pe care o ia un pachet de date intr-o retea de la un host la altul.

top -----------> Afiseaza informatii despre aplicatiile care folosesc cel mai intens procesorul.

useradd ------> Adauga un utilizator pe sistem.

usermod -----> Modifica un utilizator pe sistem.

userdel -------> Sterge un utilizator de pe sistem.

umount -------> De-monteaza un anumit disc din sistem.

updatedb -----> Updateaza baza de date a sistemului. Se foloseste impreuna cu comanda "locate".

uname --------> Afiseaza informatii despre sistem precum versiunea de kernel si altele.

vmstat --------> Listeaza informatii despre utilizarea memoriei pe sistem.

vi -------------> Porneste un editor de text care ruleaza in consola.

whereis ------> Cauta documentatie si orice referinte despre o anumita comanda pe sistem.

who ----------> Afiseaza cine este logat pe sistem.

whoami ------> Afiseaza informatii despre utilizatorul actual.

which ---------> Gaseste intreaga cale a unui fisier.

write ----------> Este folosita pentru trimiterea de mesaje catre un alt utilizator de pe sistemul local.

whois ---------> Folosita la cautarea de informatii despre hostul si/sau IP-ul unui sistem din retea.

wall -----------> Scrie un mesaj catre toti utilizatorii logati in sistem.

xman ---------> Interfata grafica pentru sistemul de manuale.

xf86config --> Folosit la configurarea serverului X.

zcat ----------> Citeste fisiere care au fost compresate cu gzip.

pwd ----------> Arata directorul curent.

ls -------------> Listeaza continutul unui director.

ls -al -------> Listeaza ordonat toate fisierele si informatii despre aceastea dintr-un anumit director.

Page 55: Securizarea Unui Gateway

ls -alR -----> Listeaza ordonat toate fisierele si informatii despre aceastea dintr-un anumit director cat si din subdirectoare.

rm [fisier] ---> Sterge un fisier.

rm * ----------> Sterge toate fisierele din directorul curent.

mkdir [director] ------------------------> Creeaza un director.

rmdir [director] -------------------------> Sterge un director daca acesta este gol.

rm -r [director] -------------------------> Sterge toate fisierele din/si directorul dat.

mv [nume_vechi] [nume_nou] ------> Muta/Redenumeste un fisier sau director.

cp [fisier_vechi] [fisier_nou] ---------> Copiaza un fisier.

find / -name [nume_fisier] -print ----> Cauta tot serverul dupa un anumit fisier si il afiseaza.

cp -r [director] [noul_director] ------> Copiaza recursiv continutul unui director in altul.

1.7 Reguli si drepturi de fisiere

În Linux, spre deosebire de alte sisteme de operare, mai ales datorită faptului că este un sistem multiuser, vom întâlni un sistem special de administrare a drepturilor asupra fişierelor şi directoarelor preluat din UNIX.

Tipuri de utilizatori

Utilizatorii care pot accesa fişierele sau directoarele sunt împărţiţi pe trei categorii:

- owner - proprietarul, cel care a creat fişierul sau directorul

- group - un membru al grupului din care face parte proprietarul

- other - oricare alt utilizator, care nici nu deţine fişierul/directorul şi nici nu face parte din grupul proprietarului

Drepturi de acces pentru fişiere sunt împârţite în trei categorii:

- r - (read) citire

- w - (write) scriere

- x - (execute) execuţie

Page 56: Securizarea Unui Gateway

Drepturi de acces pentru directoare sunt împărţite tot în trei categorii, au aceeaşi simbolizare dar au altă semnificaţie

- r - (read) citire; semnifică dreptul de a vizualiza (lista) conţinutul directorului (comanda ls)

- w - (write) scriere; permite adăugarea şi ştergerea de fişiere

- x - (execute) execuţie; semnifică dreptul de a intra în director (comanda cd)

Vizualizarea şi interpretarea permisiunilor se face cu ajutorul comenzii:

ls -l

Să vedem ce informaţii oferă outputul acestei comenzi şi cum se foloseşte ea. Dacă dorim să vedem permisiunile unui fişier folosim:

ls -l numefişier

Dacă dorim să listăm toate fişierele şi directoarele din alt director, să spunem test, dăm comanda în directorul respectiv:

cd /calecătre/test ls -l

Să spunem că ceea ce am afişat mai jos este conţinutul directorului test şi să facem o analiză scurtă.

drwxrwxrwx 20 root root 1448 Jul 18 2012 Programe/

drwxrwxrwx 3 root root 72 Jul 18 2012 Music/

-rw-r--r-- 1 root root 185575 Jul 18 2012 Screenshot.png

-rw-rw-r-- 1 root root 4879 Jul 18 2012 shrek-text.scm

-rwxrwxrwx 1 root root 48970 Jul 18 2012 snapshot1.jpg*

-rwxrwxrwx 1 root root 125602 Jul 18 2012 snapshot2.jpg*

-rwxrwxrwx 1 root root 144053 Jul 18 2012 snapshot3.jpg*

Primul caracter poate fi “ – “ sau “ d “.

Page 57: Securizarea Unui Gateway

“ – “ denotă că avem de a face cu un fişier, iar “ d “ ne arată că este vorba despre un director. Deci în lista noastră primele două linii aparţin unor directoare iar celelalte cinci aparţin unor fişiere. Mai sunt şi alte caractere pentru alte tipuri de fişiere, cum ar fi:

l (legături simbolice),p (pipe),s (socket) etc. Cele două nume sunt al proprietarului (owner) şi respectiv al grupului.

Urmează data ultimei modificări şi apoi numele fişierului sau directorului.

Următoarele nouă caractere dau permisiunile de acces. De ce sunt nouă? Foarte simplu. Aşa cum aţi citit mai sus, sunt trei categorii de utilizatori şi trei feluri în care poate fi accesat un fişier, rezultând deci nouă combinaţii posibile. Trei pentru owner, trei pentru group şi ultimele trei pentru others.

Acolo unde caracterul care simbolizează un drept este înlocuit cu -, înseamnă că respectiva permisiune nu este acordată.

Cele două directoare au permisiuni activate pentru toţi utilizatorii sistemului: rwxrwxrwx.

La fel şi ultimele trei fişiere. Asta înseamnă că orice utilizator poate să le modifice sau să le acceseze după bunul plac. Primele două fişiere vedem că au acordate numai anumite drepturi pe care le puteţi identifica cu uşurinţă.

Modificarea permisiunilor

Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri în care poate fi apelată:

* Cu litere

Într-un prim mod de utilizare se folosesc următoarele convenţii: u - proprietar , g -grup , o - others, a - toţi(all), - retrage drepturile şi + adaugă drepturile. Dacă pentru fişierul:

-rw-r--r-- 1 root root 185575 Jul 18 2012 Screenshot.png

vrem să adăugăm drepturi de scriere (w) pentru grup folosim:

chmod g+w Screenshot.png

Rezultatul, dacă dăm:

ls -l

este:

Page 58: Securizarea Unui Gateway

-rw-rw-r-- 1 root root 185575 Jul 18 2012 Screenshot.png

Se observă apariţia dreptului de scriere pentru grup. Dacă vrem să dăm permisiuni de scriere şi citire (rw) pentru toţi utilizatorii, putem scrie:

chmod a+rw Screenshot.png

Rezultatul va fi:

-rw-rw-rw- 1 root root 185575 Jul 18 2012 Screenshot.png

Dacă vrem să retragem dreptul de scriere (w) putem scrie:

chmod a-rw Screenshot.png

* Cu cifre

Un alt mod de utilizare este folosirea scrierii permisiunilor sub forma zecimală. Este mai puţin intuitiv dar odată înţeles este destul de uşor de aplicat şi mai flexibil decât modul prezentat anterior.

Pentru fiecare tip de utilizator vom avea o valoare numerică ce va descrie toate cele trei permisiuni (rwx) şi care se obţine astfel:

- Pentru fiecare drept se acordă 1 dacă el este dat şi 0 dacă el este revocat. Va rezulta astfel un număr binar format din trei cifre. Să luăm cazul în care avem 111, adică acordăm toate permisiunile. Îl transformăm apoi în zecimal sub forma:

1*4+1*2+1*1=7 unde 1,2 şi 4 sunt puterile lui 2 (2^0=1, 2^1=2, 2^2=4).

Dacă aveam o serie de drepturi de tipul -wx vom avea 0*4+1*2+1*1=3. Acesta cum spuneam este numai pentru un tip de utilizator.

De exemplu pentru toate cele trei categorii, owner, group şi others , permisiunile rwxrwxrwx s-ar scrie după modelul de mai sus, luate trei câte trei 777.

Atunci comanda ar fi sub forma:

chmod 777 Screenshot.png

care ar avea ca rezultat:

-rwxrwxrwx 1 root root 185575 Jul 18 2012 Screenshot.png

Ca o modalitate uşoară de memorare a acestei metode, trebuie să ştiţi să faceţi sume din 1, 2 şi 4, funcţie de drepturile pe care doriţi să le acordaţi.

Page 59: Securizarea Unui Gateway

Modificarea proprietarului

Modificarea proprietarului (owner) se face folosind comanda chown. Dacă, să spunem, fişierul dat în exemplele de mai sus şi care are ownerul romikele din grupul romikele vrem să îl trecem sub proprietatea lui corin din grupul romikele, folosim comanda:

chown corin.romikele Screenshot.png

rezultatul va fi:

-rwxrwxrwx 1 alex root 185575 Jul 18 2012 Screenshot.png

Dacă nu cunoaşteţi grupul userului puteţi să nu îl precizaţi.

Observaţii

Dacă vrem să aplicăm comanda chmod pentru toate fişierele dintr-un director, folosim opţiunea -R recursive. Dacă vrem să dăm drepturi depline tuturor asupra fişierelor din directorul pclinuxos din lista de mai sus putem folosi:

chmod -R a+rwx Programe

sau:

chmod -R 777 Programe

Aveţi şi o serie de alte metode de modificare a permisiunilor din interiorul unor file managere cum ar fi mc unde lucrurile pot fi rezolvate mult mai uşor, chiar cu ajutorul mouseului. Trebuie să aveţi grijă cui şi ce permisiuni acordaţi utilizatorilor pe un sistem linux, securitatea acestuia depinzând mult de acest aspect.

Utilizatorul root poate acorda/modifica permisiunile tuturor utilizatorilor. Textul necesită completări cu privire la SUID şi SGID precum şi la bitul Sticky pentru directoare.

2. Administrarea sistemului

Page 60: Securizarea Unui Gateway

2.2 Administrarea sistemului din interfata grafica – Webmin

Webmin ne permite a ne administra propriul server LINUX de la distanta, ca si cum am fi in fata tastaturii de la serverul respectiv si toate acestea doar cu un simplu browser. Nu este la fel de performant ca si Cpanel sau Plesk, dar acesta varianta este solutie low-cost, fiind gratuit si in unele cazuri, chiar iti ofera o flexibilitate mai mare decat cele prezentate mai sus.

Acest panou de administrare are o interfata grafica de administrare a unui sistem Linux. Accesul la Webmin se face prin browser tastand adresa serverului in mod securizat (https), urmata de portul 10000. Sunt persoane care considera ca administrarea unui sistem Linux presupune utilizarea exclusiva a liniei de comanda spre exemplu prin conectarea la server prin Putty, insa cred ca orice utilitar ajutator este binevenit atunci cand vorbim de usurinta in administrarea sistemului.

Webmin in sine nu este o unealta care face minuni, insa este deseori de ajutor atunci cand avem nevoie de chestii basic si atata timp cat exista un modul disponibil pentru ce avem noi nevoie isi face treaba fara probleme. Din punct de vedere al securitatii nu este chiar cea mai potrivita metoda insa ea poate fi folosita cu succes de orice utilizator normal fara prea mari pretentii.

Webmin contine functionalitati de setare a conturilor de utilizator, a serverului apache, DNS, elemente legate de retea, (firewall, setari ale retelei), manager de fisiere, download sau upload de fisiere, posibilitatea restartarii sistemului, informatii legate de starea sistemului, consumulul de resurse si multe altele. Webmin foloseste propriul webserver, ceea ce prezinta un avantaj deoarece astfel permite administrarea webserverelor gen Apache care sunt instalate pe sistemul mama.

Instalarea panoului de control Webmin

1 ) Procurarea fisierului de pe site-ul oficial

root@ubuntu:/home/alex# wget prdownloads.sourceforge.net/webadmin/webmin_1.590_all.deb

Descarcarea fisierului webmin_1.590_all.deb se face strict de pe pagina oficiala a softului (http://www.webmin.com/download.html).

2 ) Instalare

Page 61: Securizarea Unui Gateway

root@ubuntu:/home/alex# dpkg -i webmin_1.590_all.deb

Selecting previously unselected package webmin.

(Reading database ... 31248 files and directories currently installed.)

Unpacking webmin (from webmin_1.590_all.deb) ...

dpkg: dependency problems prevent configuration of webmin:

webmin depends on libauthen-pam-perl; however:

Package libauthen-pam-perl is not installed.

webmin depends on libio-pty-perl; however:

Package libio-pty-perl is not installed.

webmin depends on apt-show-versions; however:

Package apt-show-versions is not installed.

dpkg: error processing webmin (--install):

dependency problems - leaving unconfigured

Processing triggers for ureadahead ...

ureadahead will be reprofiled on next reboot

Errors were encountered while processing:

webmin

Nu este nici o greseala in acest moment, in ciuda erorilor afisate, cea ce trebuie facut este sa instalam dependintele programului si acest lucru se face prin urmatoarea comanda:

root@ubuntu:/home/alex# apt-get install -f

Reading package lists... Done

Building dependency tree

Reading state information... Done

Correcting dependencies... Done

Page 62: Securizarea Unui Gateway

The following extra packages will be installed:

apt-show-versions libapt-pkg-perl libauthen-pam-perl libio-pty-perl

The following NEW packages will be installed:

apt-show-versions libapt-pkg-perl libauthen-pam-perl libio-pty-perl

0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.

1 not fully installed or removed.

Need to get 180 kB of archives.

After this operation, 697 kB of additional disk space will be used.

Do you want to continue [Y/n]? Y

In acest moment a indentificat in mod automat dependintele necesare pentru a finaliza instalarea programului Webmin si ne cere acordul nostru pentru a proceda transferul de dependinte (care vor fi instalate pe serverul nostru), dar ne afiseaza inclusiv dimensiunea pachetelor ce urmeaza a fi procesate. Pentru a ne confirma acordul nostru cu aceasta solicitare tastam “ y “ si apsam tasta ENTER.

3) Modul de accesare al panoului de control WEBMIN

Dupa confirmarea instalarii vom deschide un browser, de exemplu Internet Explorer si in el vom tasta https://localhost:10000, adresa care poate fi inlocuita la nevoie cu ip-ul serverului sau domeniul acestuia. Se va afisa ecranul de login unde vom introduce userul si parola userului de pe sistemul nostru linux, urmand ca la final sa fim intampinati de front page-ul de administrare al Webmin-ului.

Navigarea in Webmin este usoara, majoritatea optiunilor si setarilor de care dispunem fiind intuitive. Se pune insa intrebarea ce facem in cazul in care dorim sa adminsitram un server instalat pe sistem, insa acesta nu apare in panoul de administrare Webmin.

2.2 Monitorizare sistem

Page 63: Securizarea Unui Gateway

Comanda top afişează informaţii despre sistemul nostru de operare – Ubuntu Server 12.04 – procesele şi resursele din sistem, inclusiv CPU, RAM si utilizarea de memoriei swap şi numărul total de sarcini care ruleaza.

Odată lansat, utilitarul top ramane in rulare şi afişează statistici în timp real. Procesele sunt enumerate de numărul de identitate de proces, de-a lungul numele de comanda care a început procesul. Statisticile sunt sortate prin intermediul acestor categorii.

Page 64: Securizarea Unui Gateway

Coloana se afiseaza in felul urmator in consola sistemului:

PID: Numărul de proces si numărul de ID. USER: proprietar al procesului. PR: Prioritatea Procesul. Numărul mai mic, are prioritate mai mare. NI: The nice value of the process, which affects its priority. Virt: Cât de multa memorie virtuală este folosita de procesul curent. RES: Cât de multa memorie RAM fizică utilizează procesul, este măsurată în

kilobytes. SHR: Cât de mult de memorie partajată foloseste procesul curent. S: statutul actual al procesului (zombied, sleeping, running, uninterruptedly

sleeping, or traced). CPU%: Afisare statistica in procente cat % foloseste un proces din capacitatea

procesorului. MEM%: Procentul din memoria RAM fizic este utilizat de către proces. TIMP +: Cât de mult timp procesorul ruleaza procesul respectiv. COMMAND: Numele de comanda care a început procesul.

Pentru a ieşi din partea de sus, apăsaţi "Q".

Utilitarul top vine preinstalat cu sistemul de operare, considerat o unealta vitala pentru sistem, acesta poate fi lansat in executie de catre orice utilizator al sistemului.

Pentru a inchide un proces care este activ in sistem vom proceda in felul urmator:

Identificare procesului activ – ne uitam la coloana PID ( 4324 ) Necesita dreptul de administrator (root) pentru a lansa in executie comanda de

incetare proces – kill Introducem urmatoarea comanda in terminal:

root@SGateway:~$ kill -9 4324

Cifra 9 reprezinta semnalul special pentru oprire proces (kill), acest argument opreste procesul dorit.

Utilitarul pe care l-am adaugat in serverul SGateway, care are aceleasi proprietati ca si utilitarul top, este HTOP.

Page 65: Securizarea Unui Gateway

Acest utilitar este foarte usor de instalat si de utilizat, iar spre deosebire de utilitarul top are anumite imbunatatiri adaugate (despre acestea o sa discutam putin mai jos). Instalarea acestui program se face printr-o singura comanda a programului de administrare pachete APT:

root@SGateway:~# apt-get install htop

Dupa lansarea in executie a comenzii care trimite catre sistem instalarea acestui program, ne afiseaza urmatoarele:

root@SGateway:~# apt-get install htop

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following NEW packages will be installed:

htop

0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.

Need to get 66.1 kB of archives.

After this operation, 184 kB of additional disk space will be used.

Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe htop i386 1.0.1-1 [66.1 kB]

Fetched 66.1 kB in 0s (107 kB/s)

Selecting previously unselected package htop.

(Reading database ... 58590 files and directories currently installed.)

Unpacking htop (from .../archives/htop_1.0.1-1_i386.deb) ...

Processing triggers for man-db ...

Setting up htop (1.0.1-1) ...

root@SGateway:~#

In acest moment programul a fost adaugat in sistem si se lanseaza in executie prin simpla tastare a numelui de program:

root@SGateway:~# htop

Page 66: Securizarea Unui Gateway

Dupa ce am lansat in executie programul htop ne afiseaza in terminalul nostru informatiile despre sistemul nostru de operare.

Diferentele dintre top si htop sunt urmatoarele:

Htop permite parcurgerea verticala si orizontala a informatiilor, oferind posibilitatea de a vizualiza complet lina de comanda

Htop este mult mai uşor decât utilitarul top. De exemplu: pentru a ucide un proces de care aveţi nevoie este suficient a defila în jos cu tastele – săgeti – pentru a selecta un proces, iar printr-o simplă apăsare a taste-i F9 şi procesul a fost închis.

Page 67: Securizarea Unui Gateway

2.3 SAMBA: comuinicarea cu retelele Windows

Este una dintre cele mai importante cerinte pe care le-a adoptat Linux in meniul de afaceri in special, este abilitatea de cooperare cu retele Microsoft Windows.

Nici Linux si nici Windows nu vor disparea prea curand. Accesul transparent in retea, independent de sistemul de operare ales de catre utilizator este un scop in sine. Intrucat Windows nu e cea mai cunoscuta companie in cea ce priveste varietatea de protocoalea de retea, rolul de a umple acest gol a ramas in sarcina sistemului Linux.

Pachetul software cunoscut sub numele de “SAMBA” a fost initial dezvoltat in Australia de catre Adrew Tridgell. E vorba de un proiect open source distribuit sub licenta GPL. La el si-a adus contribuia un grup de oameni din intreaga lume ce a reustaurat cu grija, folosind reverse-engineering, protocoale utilizate de Microsoft, atat pe cele documentate, cat si pe cele nedocumentate.

Lucrul este cu atat mai dificil cu cat strategia Microsoft pentru pastrarea pozitiei sale de lider cuprinde si schimbarea protocoalelor, folosirea de formate incompatibile de fisiere si asa mai departe.

Mai simplu spus, Samba furnizeaza functionalitate completa de retea SMB pentru Linux – aproximativ toate functiile disponibile pe sistemele Windows. Un computer Linux poate vizualiza partajarile facute sau poate avea acces la imprimantele din retelele Windows. De asemenea, este mult mai usor de configurat un sistem Linux ca server de fisiere sau pentru partajarea de imprimante in locul serverelor Windows NT sau 2000.

In realitate multe departamente IT din cadrul companiilor au facut acest pas de a inlocui sistemele server Windows NT cu sisteme server Linux, fara ca macar sa-si intrerupa activitatea.

Pe actualul server “ SGateway ” (Ubuntu Server 12.04), am configurat o astfel de retea SAMBA. Aceasta retea contine trei statii de lucru cu sistemul de operare Windows XP Professional (Client 1, Client 2, Client 3), iar toata actiunea si conectivitatea se petrece in mod vuirtual cu ajutorul programului Wmware 8.0.

Masinile virtuale au un continut independent de informatii si fisiere, cea ce ne permite sa facem o astfel de simulare “reala”.

Instalare SAMBA pas cu pas (step by step)

1) Instalarea serverului SAMBA

Page 68: Securizarea Unui Gateway

Instalarea programului SAMBA se face foarte usor, datorita pachetelor specifice distributiei Ubuntu – bazata pe Debian, printr-o singură comanda se efectuează instalarea acestuia:

apt-get install samba

In conţinutul serverului nostru SGateway, programul SAMBA are dependintele urmatoare: samba-common si libcup2:

root@SGateway:/home# apt-get install samba samba-common libcup2

Configurarea serverului se face strict in fisierul /etc/samba/smb.conf :

root@SGateway:/home# mcedit /etc/samba/smb.conf

In sectiunea Authentication trebuie sa eliminăm caracterul “#” (comment) de la linia security = user , astfel in cat sa ne afiseze in felul urmator:

[...]# "security = user" is always a good idea. This will require a Unix account# in this server for every user accessing the server. See# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html# in the samba-doc package for details. security = user[...]

Acest lucru permite utilizatorilor din sistemul Linux pentru a se conecta la serverul Samba.

Închideţi fişierul şi reporniţi serverul Samba, ca modificarile sa fie active:

root@ubuntu:/home# /etc/init.d/restart smbd

2) Adăugarea fisierelor de acces pentru SambaAcum adaugăm un folder unde toţi utilizatorii au acces la fisierele oferite de serverul Samba:

Page 69: Securizarea Unui Gateway

mkdir -p /home/shares/allusers

chown -R root:users /home/shares/allusers/

chmod -R ug+rwx,o+rx-w /home/shares/allusers/

La sfârşitul fişierului /etc/samba/smb.conf adăugaţi următoarele linii:

root@SGateway:/home# mcedit /etc/samba/smb.conf

[...][allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes

Dacă doriţi ca toţi utilizatorii să fie capabil să citească şi să scrie la directoarele lor de origine prin intermediul serverului Samba, adăugaţi următoarele linii în /etc/samba/smb.conf:

[...] [case] comment = Pagina principală Directoare navigat = nu utilizatori valabile =% S = da permisiuni de scriere a crea masca = 0700 masca de director = 0700

Se va restarta sereverului Samba prin executia urmatoare:

root@ubuntu:/home# /etc/init.d/restart smbd

 

3) Adugarea utilizatorilor si administrarea acestoraAm adaugat un utilizator pe nume alexandru . Avem posibilitatea să adăugam un număr

nelimitat de utilizatori, doar înlocuim numele de utilizator alexandru, cu numele de utilizator dorit, în comanda de mai jos:

Page 70: Securizarea Unui Gateway

useradd alexandru -m -G users

Stabilim o parolă pentru alexandru , în baza de date de utilizator de sistem Linux.

passwd alexandru

Introducem o parola pentru noul utilizator si acum, adăugaţi utilizatorul în baza de date de utilizator Samba:

smbpasswd-a alexandru

Introducem o parolă pentru noul utilizator.

In momentul de fata masinile noastre virtuale (Client 1, Client 2, Client 3) recunosc serverul Samba si pot face transfer de date ( Server – Client, Client – Server, Client – Client).

Page 71: Securizarea Unui Gateway

3. Atacuri informatice

3.1 Cine ne ataca si ce vor de la noi ?

Persoanele care sunt intr-o conitnuua cautare de scapari informatice si sunt dornite de afirmare, strict pentru a-si etala “ce au reusit ei sa dobandeasca si ce pot face ei” sunt in permanenta vizate de niste riscuri fabuloase de mari – aceste patrunderi fara acordul administratorului sau companiei care detine server, orice actiune se pedepseste in istanta (in functie de juristictia fiecarei tari in parte ).

Aceste persoane pot folosi aceste scapari informatice pentru:

a provoca rau scopuri persoane sustragere de informatii spionaj scopuri materiale

3.2 Un model de atac

Acest colaps al fazelor, dintr-un compromise al sistemului, constituie propria mea taxonomie. Găsesc facilă această modalitate de clasificare a metodelor utilizate de atacatori pentru a obţine acces la sistem şi a-şi şterge urmele.

Tipuri de atacuri

Există două mari categorii de atacuri asupra sistemelor prin intermediul reţelei. Primul tip este denial-of-service (DoS). El este similar cu nesupunerea civililor care protestează zgomotos, împiedicand în acest mod orice comunicare. Acest tip de atac este cel mai separator atunci când dumneavoastră sunteţi victima, însă nu vă distruge iremediabil datele din sistem.

A două mare categorie de atacuri constă în cele ce au drept ţinta compromiterea sistemului (system compromise). Acest lucru se întamplă atunci când un atacator obţine accesul cel puţin la citirea unor informaţii pe care n-aţi fi dorit sa le citească nimeni. In cel mai rău caz se

Page 72: Securizarea Unui Gateway

poate întâmpla ca atacatorul să preia controlul complet al sistemului. Evident, această a doua categorie este cea mai gravă.

Etape ale atacurilor prin reţea

Un atac ce are ca scop compromiterea sistemului este condus în etape.

1 Recunoaştere

Prima faza este recunoaşterea (reconnaissance). Această etapa are doua variante, pasivă si activă. Recunoasterea pasivă constă în urmărirea traficului din reţea pentru a descoperi sisteme gazdă, adresă, resurse, utilizatori etc. Pentru aceste tehnici de recunoaştere se folosesc anumite softuri care permit investigarea pachetelor din reţea.

Este destul de dificil să detectaţi sniffing-ul pasiv in reţea . Din fercire, abilitatea de a efectua tehnica sniffing-ului pasiv necesită aprecierea de reţeaua ţintă (sau o reţea adiacentă reţelei ţinta: trebuie sau nu să aveţi încredere in reţeaua pusă la dispoziţie de ISP?)

Recunoaşterea activă are loc atunci când atacatorul trimite pachete de informaţii către reţeaua dumneavoastră în încercarea de a-i descoperi întinderea, sistemele gazdă, utilizatorii, vulnerabilităţile şi aşa mai departe. Instrumentele precum nmap beneficiează de functionalităţi importante atat în ceea ce priveşte explorarea reţelelor, cât şi pentru a ascunde identitatea sistemului atacator. Oricum, nu aveţi nevoie de asemenea instrumente. Pot fi folosite şi cele ca Ping, Telnet sau Finger.

De asemenea, pot fi folosite şi sistemele e-mail. Recunoaşterea activă poate fi şi ea considerată “inginerie socială” (social engineering) sau de-a dreptul spionaj.

Un exemplu clar de “inginerie socială” care a fost aplicat şi nu exista doar acest exemplu, ele sunt foarte multe. O echipa a fost solicitată pentru verificarea unei reţele în cadrul unei mici companii.

Persoana respectivă care a fost trimisă la faţa locului nu a fost văzută şi-a petrecut puţin timp pentru a le identifica ISP-ul. După care a folosit propria imprimantă color pentru a fabrica o mică legitimaţie cu sigla ISP-ului desenată pe ea. Aceasta a fost laminată la o bibliotecă publică.

In urmatoarea zi a facut o vizită cu un laptop pe umăr. A arătat legitimaţia şi le-a spus ca trebuie să schimbe unele configuraţii pe sistemul router. A fost dus imediat la locul unde se afla acesta.

A conectat sistemul sau propriu la reţea şi laptopul lui rula un mic program scris în limbajul de programare #C care nu facea altceva decât să captureze primul kb de date de pe fiecare socket conectat la portul 23 (portul folosit de Telnet). S-a fâtâit puţin pe lângă sistemul router fară să schimbe nimic. După vreo 10 minute i-a cerut ingerului de reţea să anunţe fiecare

Page 73: Securizarea Unui Gateway

om că trebuie să se conecteze pentru teste. Cei mai mulţi l-au ascultat imediat, le-a mulţumit şi a plecat.

Câteva zile după aceea, persoana respectivă s-a intors la companie si le-a înmânat o lista cu numele de utilizatori si parolele corespunzatoare acestora. Au fost stupefiaţi şi nu puteam să inteleagă cum a reuşit să facă acel lucru.

2 Compromiterea

După etapa de recunoaştere urmează aceea de compromitere. In această fază, atacatorul deţine unele informaţii specifice despre reţeaua dumneavoastră şi despre sistemele conectate la aceasta. El (sau ea) a ales sa exploateze una sau mai multe vulnerabilităţi cunoscute. Va exploata una sau mai multe din slăbiciunile reţelei pentru a compromite unul sau mai multe conturi de pe sistem.

3 Ştergerea urmelor

Următoarea fază constă in ştergerea urmelor. Aici atacatorul va încerca să elimine toate semnele care ar putea demasca prezenţa lui in sistem.

Consolidarea

Următoarea fază este consolidarea. In aceasta etapa atacatorul va mări numărul de conturi şi sisteme compromise şi va creea intrări adiţionale prin care va putea pătrunde, în cazul în care rutele iniţiale au fost găsite şi blocate.

In această fază nu prea mai aveţi multe de făcut. Singura dumneavoastră şansă de a ţine la distantă atacatorul este deconectarea de la reţea şi reinstalarea de la 0 a sistemelor, asigurându-vă că de această dată aţi luat toate măsurile şi aţi instalat toate acele plictisitoare pachete actualizate pentru securitate de care dispuneţi de la producător.

Desigur, cu cât detectaţi şi anihilaţi un atac mai repede cu atât mai bine. Odată ajunşi în faza de consolidare atacatorii devin dificil de ţinut la distanţă, deoarece, în general ,ei deţin deja toate drepturile unui administrator de reţea şi, probabil, au compromis sistemul în mai multe feluri.

Singura metodă sigură de a scăpa de asemenea probleme este deconectarea de la reţea si reinstalarea tututor informaţiilor de la 0, de pe medii disponibile doar pentru citire. Chiar şi acest lucru pune probleme dacă aveţi date şi cod ce trebuiesc restaurate de pe copiile de siguranţă.

In afară de cazul in care ştiţi exact când a fost compromis sistemul şi aveţi o copie de siguranţă ce nu a fost montată decât înaintea datei de compromitere, nu trebuie sa aveţi incredere în acele copii de siguranţă ale datelor sau ale codului.

Page 74: Securizarea Unui Gateway

Amprente şi alte indicii

Aşa cum un ucigaş vă lasă la locul crimei amprente şi alte semne, indicii, cei ce compromit securitatea sistemelor prin reţea vor lasă unele probe la locul faptei. Instrumentele de “atac” de astăzi combină fazele de compromitere cu cele de ştergere a urmelor şi de consolidare.

Urgenţa necesară intervenţiei în cazul acestor atacuri face de mai multe ori mai dificilă detectarea intruşilor. Inainte de aceste instrumente să fi fost dezvoltate, se scurgea un interval considerabil de timp între faza de compromitere a unui sistem şi manipularea acestuia si a fişierelor log pentru a masca prezenţa atacurilor. In zilele noastre, aceste evenimente pot fi despărţite în timp doar de câteva milisecunde.

Evident, devine foarte important de ştiut când au fost modificate fişierele critice pentru sistem, cine au fost autorii pentru aceste schimbări şi de ce. Adesea, asta e singura metoda prin care putem spune că atacul asupra unui sistem a ajuns in faza de compromitere.

Ceea ce va trebuie in acest caz reprezintă echivalentul informatic al unui medic legist, cineva care poate să descopere amprenetele şi celelalte indicii din etapa de compromitere al unui sistem descoperit, conectat la retea. Acest expert este Tripwire.

3.3 Tripwire

Versiunea Tripwire de care ne ocupăm aici este disponibilă pentru versiunea Debian. Tripwire este unul dintre acele produse care şi-au facut debutul ca free software, însă acum este distribuit sub o licenţa comercială de către autorii săi.

Ce este Tripwire ?

Aşadar, ce e cu acest Tripwire? Aşa cum o sugereaza şi numele, reprezintă un instrument care vă alertează când un intrus a pătruns in sistemul dumneavoastră. Veţi furniza un fişier de configurare ân care specificaţi numele fişierelor şi al directoarelor ce trebuiesc urmărite şi apoi veţi preciza nivelul la care se realizează supravegherea (ce anume reprezintă o modificare?).

O schimbare de permisiune asupra unui fişier va fi considerată o schimbare a acestuia sau numai modificarea conţinutului fişierului va fi luat in evidenţă?) Din acel moment, veţi fi preveniţi de orice modificare adusă unuia din fişierele supravegheate.

Cum funcţionează ?

Page 75: Securizarea Unui Gateway

Tripwire funcţionează folosind aşa-numiţii algoritmi de rezumare ai mesajelor (message digest algorithms). Această tehnologie este similară cu aceea care sta la baza semnăturilor digitale. Defapt, o semnnatură digitală reprezintă o rezumare de mesaj criptată cu o cheie privată.

O funcţie de rezumare a mesajor este un algoritm construit astfel încât este imposibil ca aplicând funcţia pe două mesaje distincte, având o anumită dimensiune, să se obţină acelaşi rezultat. Există câteva asemenea funcţii, iar utilitarul menţionat ca utilitarul Tripwire foloseşte toate funcţiile urmatoare in procesul de verificare a fişierelor :

MD5 Snefru CRC32 CRC16 MD4 MD2

Tripwire stochează rezultatele tuturor acestor funcţii într-un fişier bază de date. Această bază de date va trebui, probabil, montată ulterior pe un sistem de fişiere disponibil numai pentru citire. Veţi rula apoi periodic utilitarul Tripwire pentru a verifica dacă fişierele de pe sistemul dumneavoastră corespund semnăturilor acestora din baza de date.

Tripwire va genera atunci un raport pentru fişierele adăugate, şterse sau modificate. Acest raport trebuie verificat. Schimbările prevăzute trebuie folosite în vederea actualizarii bazei de date. Orice schimbare neaşteptată poate indica amprenta unui intrus şi va trebui investigate.

Trebuiesc luate in calcul aceste modalitaţi şi tehnici de siguranţă pentru sistemului nostru ca să ştim cum o să fim atacaţi şi pe unde anume, ca să ne putem consolida siguranţa datelor, sistemelor, telecomunicaţiilor şi aşa mai departe. In acest scop de cunoaştere vine către noi un mare suport atât tehnic si software din partea lui BackTrack.

BackTrack a avut o evoluţie în masivă creştere înca de la varianta BackTrack 2.0, la ora actuală este la versiunea 5.0 R2 – unealtă software de securitate poate fi gasită pe site-ul oficial http://www.backtrack-linux.org – şi este folosită in special de hackeri pentru descoperirea vulnerabilităţilor din sistem.

Aici o sa facem o mică paranteză in legatură cu confuziile create pe plan mondial, mai exact, ce este un hacker ? Un hacker este o persoana care are la bază foarte multe cunoştinţe in legatură cu programarea – un programator avansat – şi acesta descoperă micile mecanizme greşite dintr-un sistem, greşeli, erori, bug-uri cum vreţi sa le numiţi dumneavoastră.

Descoperind aceste bug-uri din sistem, poate salva compania în care rulează acel sistem de la un dezastru sau o scurgere masivă de informaţii.

Page 76: Securizarea Unui Gateway

Există şcoli specializate pentru o asemenea meserie de hacker, aici putem observa exemplu celor de la EC-Council (http://www.eccouncil.org) unde se face pregătire la nivel avansat pe fiecare domeniu informatic in parte: exploatarea de vulnerabilităţi, penetrarea sistemelor de operare, arhitecţi de reţea etc.

Aceste specializări sunt strict “Ethical hacking”, adică doar pentru scopuri demonstrative si constructive, nu pentru a face rau! Comunitaţile de “Ethical Hacker” au luat amploare chiar şi la noi in ţara, dar la nivel de discuţii, nu şi de specializare – www.hackpedia.info .

Concluzia care este trasă? Hacker-ul nu este o persoana care distruge şi aici se complică lucrurile.

3.4 Ce sunt hackerii?

Hackerii sunt pasionaţi ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt consideraţi infractori, în majoritatea statelor lumii. Hackerii adevăraţi nu „distrug”, de obicei, pagini inofensive, cum ar fi paginile personale. Ţintele obişnuite ale atacurilor hackerilor sunt sistemele importante, care au protecţii avansate şi conţin informaţii strict secrete, cum ar fi bazele de date ale Pentagonului sau cele de la NASA.

Odată obţinute, aceste fişiere (informaţii) sunt publicate pe tot Internet-ul, pentru a fi vizionate sau folosite de cât mai multe persoane. Orice hacker advărat trebuie să respecte un „Cod de legi al hackerilor”, care este bine stabilit, cunoscut şi respectat. Hackeri amatori Există „hackeri” care atacă ţinte aleatoare, oriunde şi oricând au ocazia.

De exemplu, atacurile tot mai frecvente asupra Yahoo şi Hotmail au blocat motoarele de căutare şi conturile de mail respective pentru câteva zile, aducând prejudicii de milioane de dolari. Aceste atacuri (care reprezintă o încălcare destul de gravă a „Codul de legi al hackerilor”) au de obicei în spate persoane care „au fost curioşi numai să vadă ce se întâmplă” sau „au dorit să se distreze”.

Aceşti atacatori virtuali nu sunt hackeri adevăraţi, pentru că nu-şi scriu singuri nuke - urile (programele pentru bombardare - nucleare) pe care le folosesc, procurându-şi-le de pe Internet sau din alte surse. Aceşti hackeri amatori sunt singurii care ajung în faţa justiţiei. Motivul este simplu.

Acei hackeri adevăraţi care îşi pot scrie singuri nuke - urile, sunt, de obicei destul de inteligenţi pentru a face anumite sisteme care să inducă în eroare pe toţi aceea care ar încerca să determine sursa atacului.

Page 77: Securizarea Unui Gateway

3.5 Ce sunt Crackerii?

Crackerii reprezintă un stil anumit de hacker, care sunt specializaţi în „spargerea” programelor shareware, sau care necesită un anumit cod serial.

Singurii care sunt prejudiciaţi de această categorie de hackeri sunt cei care scriu şi proiectează programele „sparte”. Sistemele de protecţie ale aplicaţiilor respective pot fi „înfrânte” prin două metode:

- Introducerea codului, care poate fi găsit fie pe Internet, fie cu ajutorul unui program asemănător cu OSCAR 2000, care este o bibliotecă de coduri;

- A doua metodă este folosită pentru sistemele de protecţie mai avansate, care necesită chei hardware (care se instalează pe porturile paralele ale computerului şi trimit un semnal codat de câte ori le este cerut de către programul software), sunt patch-urile. Ele sunt progrămele care sunt făcut special pentru anumite aplicaţii software, care odată lansate modifică codul executabil, inhibând instrucţiunile care cer cheia hardware. Patch-urile şi bibliotecile de coduri seriale se găsesc cel mai des pe Internet.

Ele sunt făcute de anumite persoane (care sunt câteodată foşti angajaţi ai firmelor care au scris software-ul respectiv) care vor doar să aducă pagube firmei proiectante. Deşi pare ciudat, cracking - ul este considerată „piraterie computerizată”, reprezentând o infracţiune serioasă. Totuşi, foarte rar sunt depistaţi cei care plasează patch-uri şi coduri seriale pe Internet. Setul de unelte al unui hacker precum am mai precizat, hackerii adevăraţi îşi scriu singuri software-ul ce le e necesar.

Multe dintre aceste programe, după ce sunt testate, sunt publicate pe Internet. Bineînţeles, programele folosite pentru „spargerea” serverelor de la Pentagon sau pentru decodarea fişierelor codate pe 64 biţi nu se vor găsi aşa de uşor pe Net, ele fiind ţinute secrete de realizatorii lor.

Prezentăm în continuare câteva dintre programele pentru hackerii amatori: BoGUI BackOrifice. Un produs al The Dead Cow Cult, Bogui reprezintă un program de control al computerelor din reţeaua dumneavoastră locală. Comenzi ca System Lockup (sau Restart) nu-l vor prea bine dispune pe utilizatorul computerului ţintă.

Singura problemă a acestui program este că toate comenzile sunt pachete transmise unui virus troian, astfel încât, dacă computer-ul destinaţie nu este infectat, bombardamentul cu Back Orifice nu va avea nici un efect. Net Nuke.

Acest program are o mulţime de versiuni, deşi toate au acelaşi efect şi mod de operare: trimit un pachet nedefragmentabil prin reţea, astfel încât când computer-ul ţintă va încerca să-l defragmenteze, nu va reuşi decât să blocheze portul de reţea. Mail Nukers. Sunt programe care

Page 78: Securizarea Unui Gateway

bombardează o căsuţă de poştă electronică cu un număr mare de mesaje (care de obicei depăşeşte 10000). Acest bombardament duce la blocarea sau chiar pierderea unei căsuţe de e-mail.

Majoritatea acestor programe au opţiuni care permit trimiterea de mail-uri anonime. Aceste programe pot fi procurate de către oricine foarte uşor de pe Internet. Din păcate, unele dintre ele sunt folosite şi ca un mediu de răspândire a viruşilor, care pot avea efecte secundare foarte grave. Oricum, nu este recomandată abuzarea de aceste programe sau folosirea lor în scopuri (prea) distrugătoare.

3.6 Protecţii

Dacă într-o zi chiar dumneavoastră veţi fi una dintre nefericitele victime ale atacului unui hacker răutăcios? Cum vă puteţi apăra reţeaua, baza de date sau pagina de pe web ? Acestea probleme sunt importante pentru foarte mulţi utilizatori de computere, care utilizează în mod regulat Internet-ul. Există protecţii împotriva atacurile hackerilor. Singura problemă este aceea că regulile şi protecţiile sunt făcute pentru a fi încălcate. Deci, oricât de complexe şi de sigure ar părea sistemele dumneavoasră de securitate, ele pot fi ocolite şi „sparte”.

Există totuşi anumite metode care, deocamdată, ar putea îngreuna puţin viaţa hackerilor, mai ales a spammeri-lor (acesta fiind cel mai folosit în ultimul timp).

Aceste ar trebui în primul rând aplicate de providerii de Internet (ISP):

- Va trebui eliminate toate fişierele necunoscute de pe servere (care ar uşura atacurile hackerilor), astfel încât se va ţine o strictă evidenţă a lor;

- Eliminarea pachetelor care au alt header decât propria adresă de IP (pachete măsluite). Ele pot fi folosite de unii utilizatori sub pretextul necesitării anonimatului.Există însă alte modalităţii de aţi păstra anonimatul, folosind sisteme de criptare şi a unor servere specializate;

- Interzicerea comportamentelor specifice scanării porturilor. Astfel se pot dezactiva programele care scanează zeci de mii de porturi din întreaga lume, pentru a face o listă cu cele vulnerabile;

- Scanarea atentă a serverelor de „sniffere”, programele care reţin informaţiile importante care intră şi ies dintr-un server (username-uri, parole, numere de cărţi de credit etc);

- Pe lângă metodele de protecţie prezentate mai sus există şi multe multe altele, mai mult sau mai puţin vulnerabile;

- În orice caz, până la aducerea securităţii la un nivel acceptabil mai este mult de lucru.

Page 79: Securizarea Unui Gateway

3.7 Ce sunt hackerii cu adevărat ? Ce vor ei de fapt ?

Acestea sunt întrebări la care numai un hacker adevărat poate răspunde (ceea ce nu se întâmplă prea des).

Vom încerca totuşi să explicăm câteva din scopurile lor:

Adevăr. Mulţi dintre hackeri „sparg” cele mai ciudate şi complexe coduri de la Pentagon şi NASA în speranţa ca vor reuşi să demonstreze existenţa „omuleţilor verzi” sau a altor „teorii ale conspiraţiei”. Superioritate. Demonstrarea superiorităţii lor faţă de „marii” programatori, sistemele informatice şi serverele care le aparţin este scopul multor hackeri.

Distracţie. Unii hackerii fac „distrugeri” masive doar pentru a se distra pe seama celor care îşi văd munca distrusă în câteva secunde. Protest. „Distrug” anumite site-uri de web sau baze de date fiindcă nu sunt de acord cu informaţia transmisă de ele.

Bani. Uneori se „sparg” bazele de date de la bănci, pentru a transfera câteva milioane de dolari în contul propriu.

Aceste operaţiuni sunt foarte riscante, necesită experienţă în domeniu, nefiind încercate de prea mulţi hackeri. Anumiţi hackeri, care au demonstrat de ce sunt în stare, fără a aduce pagube semnificative, devin consultanţi în probleme de securitate computerizată. Ei poartă numele de „hackeri în alb”. În câteva luni se va descoperi o nouă metodă de hacking care să depăşească cu mult cunoştiinţele hackerului respectiv.

Concluzia că hackerii sunt „o specie ce nu poate evolua în captivitate”. Într-adevăr, „viaţa de hacker” este foarte incitantă, tentantă, nostimă şi interesantă, dar în acelaşi timp foarte riscantă şi periculoasă. Majoritatea statelor lumii consideră hackingul o infracţiune foarte gravă, pentru care pedeapsa meritată este considerată de obicei interzicerea folosirii computerului.

Printre cei mai cunoscuti hackeri din lume se afla un tanar pe nume Jonathan James, care la varsta de doar 16 ani a reusit sa sparga mai multe coduri ale NASA si mai multe coduri din sistemul de aparare al SUA. Jonathan a facut toate aceste lucruri foarte simplu, in opinia lui, reusind sa fure softuri in valoare de 1,7 milioane de dolari, dar si mai multe parole ale unor angajati din cadrul institutiei, avand astfel acces la multe mail-uri “sensibile”.

Pentru că la vremea când a comis delictul era minor, nu a primit decât o pedeapsa de 6 luni de inchisoare, pe care le-a efectuat la reşedinţa sa. Dacă Jonathan ar fi fost adult, s-ar fi ales cu o pedeapsă de peste 10 ani de inchisoare. Argumentul tânărului? "Am vrut să văd pana unde pot merge”.

Un alt caz este acela al lui Adrian Lamo, un alt tanar din SUA. Supranumit si “hackerul fara casa”, acesta a accesat doar din internet caffe-uri baze de date ale unor site-uri precum

Page 80: Securizarea Unui Gateway

Yahoo, Bank of America sau Microsoft, căutând puncte slabe ale acestora. A reuşit să spargă codurile şi apoi a informat companiile respective de punctele slabe pe care le au.

Când un "white hat hacker" este angajat, având acceptul companiei totul este legal, dar ceea ce Adrian Lamo a făcut, a fost ilegal, acesta neavând permisiunea site-urilor pentru a accesa baze de date. Pentru delictul comis a primit 6 luni de inchisoare pe care de asemenea le-a efectuat la reşedinţa sa. Kevin Mitnick sau "hacker poster boy", este probabil “cel mai cautat om de pe internet”, după spusele poliţiei. Faima pe care acesta şi-a construit-o incălcând legea pe www i-a adus şi "privilegiul de a fi subiectul a două ecranizări: "Freedom Downtime" si "Takedown". La fel ca unul dintre fondatorii Apple, Steve Wozniak, Kevin a început prin a-şi procura abonamente de transport in comun, falsificându-le de pe internet, prin accesarea bazei de date a companiei de transport. Insă nu acest obicei i-a adus faima.

După doar câteva luni a reuşit să intre în sistemul de apărare nationala a S.U.A. şi să fure codurile de acces, având astfel cale liberă spre bombele nucleare ale Americii, asta dupa ce mai furase câteva dintre cele mai importante coduri de acces pentru conturile din banci ale mai multor corporaţii, reuşind să dea peste cap sistemul de telefonie fixă de pe Coasta de Vest a Americii.

Un hacker foarte faimos este şi Kevin Poulsen, cunoscut şi sub pseudonimul “Black Dante”. Poulsen a reuşit să spargă mai multe coduri pe internet şi apoi să işi cumpere un Porsche nou nout, aceasta fiind prima abatere de la normele legale. Dar ceea ce l-a facut cel mai celebru a fost momentul în care a reuşit sa acceseze baza de date a sistemului de telefonie mobila din SUA şi să blocheze rând pe rând mai toate reţelele de telecomunicaţie.

Pentru modul în care a procedat Poulsen a fost asemuit cu celebrul personaj de filmul "tăcerea mieilor", Hannibal Lecter. De asemenea, Poulsen a reuşit să intre în baza de date a FBI, având astfel acces la dosarele multor cazuri celebre ale Americii. Hackerul a fost prins în timp ce işi facea cumparaturile la un supermarket.

Nici Romania nu duce lipsă de cazuri în care hackerii au facut probleme autorităţilor. Cazul “Vladutz” este unul foarte recent şi nu este decât vârful iceberg-ului din aceest domeniu în ţara noastră. Vlad Duiculescu, tânărul de 20 de ani care a reuşit să spargă sistemele de securitate ale companiei eBay, a fost punctul de plecare al unei colaborări între autorităţile americane şi cele romane pentru prevenirea şi combaterea criminalităţii informatice.

Zvonurile în cazul Duiculescu spun că site-ul eBay a renunţat la acuzaţii, oferindu-i un loc de munca tânărului român şi totodata şansa de a trece de la “black hat hacking” la “white hat hacking”.

Page 81: Securizarea Unui Gateway

Exemplele prezentate mai sus sunt acele persoane de care noi trebuie să ne ferim, iar dacă nu reuşim să ne asigurăm singuri sistemele informatice, iar dacă ne depaşeşte situaţia în anumite momente, e bine să apelăm la firme specializate in domeniu. De preferat ca orice companie care deţine sisteme formatice, să aibe un buget alocat strict pentru intervenţii de urgenţă asupra problemelor tehnice – firme autorizate şi specializate în securitatea sistemelor informatice.

4. Securizarea sistemului

4.1 Reguli si drepturi de fisiere

În Linux, spre deosebire de alte sisteme de operare, mai ales datorită faptului că este un sistem multiuser, vom întâlni un sistem special de administrare a drepturilor asupra fişierelor şi directoarelor preluat din UNIX.

Tipuri de utilizatori

Utilizatorii care pot accesa fişierele sau directoarele sunt împărţiţi pe trei categorii:

- owner - proprietarul, cel care a creat fişierul sau directorul

- group - un membru al grupului din care face parte proprietarul

- other - oricare alt utilizator, care nici nu deţine fişierul/directorul şi nici nu face parte din grupul proprietarului

Drepturi de acces pentru fişiere sunt împârţite în trei categorii:

- r - (read) citire

- w - (write) scriere

- x - (execute) execuţie

Drepturi de acces pentru directoare sunt împărţite tot în trei categorii, au aceeaşi simbolizare dar au altă semnificaţie

- r - (read) citire; semnifică dreptul de a vizualiza (lista) conţinutul directorului (comanda ls)

- w - (write) scriere; permite adăugarea şi ştergerea de fişiere

- x - (execute) execuţie; semnifică dreptul de a intra în director (comanda cd)

Vizualizarea şi interpretarea permisiunilor se face cu ajutorul comenzii:

ls -l

Page 82: Securizarea Unui Gateway

Să vedem ce informaţii oferă outputul acestei comenzi şi cum se foloseşte ea. Dacă dorim să vedem permisiunile unui fişier folosim:

ls -l numefişier

Dacă dorim să listăm toate fişierele şi directoarele din alt director, să spunem test, dăm comanda în directorul respectiv:

cd /calecătre/test ls -l

Să spunem că ceea ce am afişat mai jos este conţinutul directorului test şi să facem o analiză scurtă.

drwxrwxrwx 20 root root 1448 Jul 18 2012 Programe/

drwxrwxrwx 3 root root 72 Jul 18 2012 Music/

-rw-r--r-- 1 root root 185575 Jul 18 2012 Screenshot.png

-rw-rw-r-- 1 root root 4879 Jul 18 2012 shrek-text.scm

-rwxrwxrwx 1 root root 48970 Jul 18 2012 snapshot1.jpg*

-rwxrwxrwx 1 root root 125602 Jul 18 2012 snapshot2.jpg*

-rwxrwxrwx 1 root root 144053 Jul 18 2012 snapshot3.jpg*

Primul caracter poate fi “ – “ sau “ d “.

“ – “ denotă că avem de a face cu un fişier, iar “ d “ ne arată că este vorba despre un director. Deci în lista noastră primele două linii aparţin unor directoare iar celelalte cinci aparţin unor fişiere. Mai sunt şi alte caractere pentru alte tipuri de fişiere, cum ar fi:

l (legături simbolice),p (pipe),s (socket) etc. Cele două nume sunt al proprietarului (owner) şi respectiv al grupului.

Urmează data ultimei modificări şi apoi numele fişierului sau directorului.

Următoarele nouă caractere dau permisiunile de acces. De ce sunt nouă? Foarte simplu. Aşa cum aţi citit mai sus, sunt trei categorii de utilizatori şi trei feluri în care poate fi accesat un fişier, rezultând deci nouă combinaţii posibile. Trei pentru owner, trei pentru group şi ultimele trei pentru others.

Page 83: Securizarea Unui Gateway

Acolo unde caracterul care simbolizează un drept este înlocuit cu -, înseamnă că respectiva permisiune nu este acordată.

Cele două directoare au permisiuni activate pentru toţi utilizatorii sistemului: rwxrwxrwx.

La fel şi ultimele trei fişiere. Asta înseamnă că orice utilizator poate să le modifice sau să le acceseze după bunul plac. Primele două fişiere vedem că au acordate numai anumite drepturi pe care le puteţi identifica cu uşurinţă.

Modificarea permisiunilor

Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri în care poate fi apelată:

* Cu litere

Într-un prim mod de utilizare se folosesc următoarele convenţii: u - proprietar , g -grup , o - others, a - toţi(all), - retrage drepturile şi + adaugă drepturile. Dacă pentru fişierul:

-rw-r--r-- 1 root root 185575 Jul 18 2012 Screenshot.png

vrem să adăugăm drepturi de scriere (w) pentru grup folosim:

chmod g+w Screenshot.png

Rezultatul, dacă dăm:

ls -l

este:

-rw-rw-r-- 1 root root 185575 Jul 18 2012 Screenshot.png

Se observă apariţia dreptului de scriere pentru grup. Dacă vrem să dăm permisiuni de scriere şi citire (rw) pentru toţi utilizatorii, putem scrie:

chmod a+rw Screenshot.png

Rezultatul va fi:

-rw-rw-rw- 1 root root 185575 Jul 18 2012 Screenshot.png

Dacă vrem să retragem dreptul de scriere (w) putem scrie:

Page 84: Securizarea Unui Gateway

chmod a-rw Screenshot.png

* Cu cifre

Un alt mod de utilizare este folosirea scrierii permisiunilor sub forma zecimală. Este mai puţin intuitiv dar odată înţeles este destul de uşor de aplicat şi mai flexibil decât modul prezentat anterior.

Pentru fiecare tip de utilizator vom avea o valoare numerică ce va descrie toate cele trei permisiuni (rwx) şi care se obţine astfel:

- Pentru fiecare drept se acordă 1 dacă el este dat şi 0 dacă el este revocat. Va rezulta astfel un număr binar format din trei cifre. Să luăm cazul în care avem 111, adică acordăm toate permisiunile. Îl transformăm apoi în zecimal sub forma:

1*4+1*2+1*1=7 unde 1,2 şi 4 sunt puterile lui 2 (2^0=1, 2^1=2, 2^2=4).

Dacă aveam o serie de drepturi de tipul -wx vom avea 0*4+1*2+1*1=3. Acesta cum spuneam este numai pentru un tip de utilizator.

De exemplu pentru toate cele trei categorii, owner, group şi others , permisiunile rwxrwxrwx s-ar scrie după modelul de mai sus, luate trei câte trei 777.

Atunci comanda ar fi sub forma:

chmod 777 Screenshot.png

care ar avea ca rezultat:

-rwxrwxrwx 1 root root 185575 Jul 18 2012 Screenshot.png

Ca o modalitate uşoară de memorare a acestei metode, trebuie să ştiţi să faceţi sume din 1, 2 şi 4, funcţie de drepturile pe care doriţi să le acordaţi.

Modificarea proprietarului

Modificarea proprietarului (owner) se face folosind comanda chown. Dacă, să spunem, fişierul dat în exemplele de mai sus şi care are ownerul romikele din grupul romikele vrem să îl trecem sub proprietatea lui corin din grupul romikele, folosim comanda:

chown corin.romikele Screenshot.png

rezultatul va fi:

-rwxrwxrwx 1 alex root 185575 Jul 18 2012 Screenshot.png

Page 85: Securizarea Unui Gateway

Dacă nu cunoaşteţi grupul userului puteţi să nu îl precizaţi.

Observaţii

Dacă vrem să aplicăm comanda chmod pentru toate fişierele dintr-un director, folosim opţiunea -R recursive. Dacă vrem să dăm drepturi depline tuturor asupra fişierelor din directorul pclinuxos din lista de mai sus putem folosi:

chmod -R a+rwx Programe

sau:

chmod -R 777 Programe

Aveţi şi o serie de alte metode de modificare a permisiunilor din interiorul unor file managere cum ar fi mc unde lucrurile pot fi rezolvate mult mai uşor, chiar cu ajutorul mouseului. Trebuie să aveţi grijă cui şi ce permisiuni acordaţi utilizatorilor pe un sistem linux, securitatea acestuia depinzând mult de acest aspect.

Utilizatorul root poate acorda/modifica permisiunile tuturor utilizatorilor. Textul necesită completări cu privire la SUID şi SGID precum şi la bitul Sticky pentru directoare.

4.2 Configurare SSH – SECURE SHELL

SSH, Secure SHell, este sistemul cel mai des intalnit pentru conectarea la distanta si fiind cel mai atacat de asa numiti “hackeri” – persoane raufacatoare.

Pentu o securitate sporita si fara griji trebuie sa respectam anumite etape de configurare ale acestui protocol de comunicare:

Schimbarea portului serverului SSH

Portul ce vine setat implicid este 22 dar de preferat e sa il schimbati , de preferat un port care poate deruta atacatorul . Puteti pune ca de exemplu 444 , 222 . etc… nu puneti ce scriu eu , puteti pune ce doriti dar sa nu cele pe care deja sunt folosite de alte servicii . Pentru modificarea portului se deschide fisierul (/etc/ssh/sshd_config) si se cauta linia: Port ssh 22 , in loc de 22 puneti portul dorit .

Schimbarea protocolului

Page 86: Securizarea Unui Gateway

Serverul ssh poate comunica folosind protocoalele SSHv1 si SSHv2. SSHv1 este protocolul vechi, vulnerabil si e recomandat sa nu mai fie folosit pe nici un sistem aflat intr-un mediu care necesita securitate.

In schimb serverul ssh poate fi obligat sa foloseasca doar SSHv2 astfel scazand riscul ca serverul sa fie accesat de un atacator care stie cum sa exploateze vulnerabilitatile SSHv1.

Pentru a configura serverul ssh sa foloseasca doar protocolul SSHv2 trebuie sa cautam in fisierul de configurare (/etc/ssh/sshd_config) linia urmatoare: Protocol 2,1 , veti ,1 si lasam numai 2 .

Schimbarea adreseiServerul SSH asculta de toate adresele IP , dat putem face in asa fel sa asculte doar numai de o singuta adresa IP.

De exemplu, daca dorim ca serverul ssh sa asculte conexiuni doar pe adresa 79.112.***.*** vom modifica fisierul de configurare ( /etc/ssh/sshd_config) in felul urmator: ListenAddress 79.112.***.***

Blocarea accesului ca rootScopul unui hacker este de a avea acces ca superuser pe sistem ceea ce in majoritatea cazurilor presupune cunoasterea parolei utilizatorului root .Pentru o mai buna securitate e bine sa nu permitem logarea pe ssh ca root. Daca avem nevoie de acces ca superuser pe sistem ne putem loga ca simplu utilizator iar apoi folosind comanda su ne putem schimba in root. Blocarea accesului ca root se face modificand din nou fisierul de configurare ( /etc/ssh/sshd_config ) si schimband linia: PermitRootLogin yes , In loc de yes punem no .

Restrictionarea accesului la ssh pentru un grup restrans de utilizatoriDaca serverul are un numar mare de utilizatori din care doar o parte trebuie sa aiba acces se poate folosi directiva AllowUsers care permite mentionarea utilizatorilor cu acces ssh , adica numai userilor administratori .

Pentru acest lucru trebuie sa editam fisierul de configurare ( /etc/ssh/sshd_config ) si sa adaugam o linie de forma: AllowUsers administrator tester developer

Restrictionarea accesului ssh de la o anumita adresa IPPentru a putea face ascest lucru avem nevoie de un numar restrans de adrese IP (ex. 79.112.123.0 si 79.112.123.100) modificam fisierul (/etc/hosts.allow) si adaugam cele doua adrese de forma:

Page 87: Securizarea Unui Gateway

sshd: 79.112.123.0sshd: 79.112.123.100

Va permite conectarea adreselor IP ce sunt cuprinse intre 79.112.112.0 si 79.112.123.100Daca doriti sa lasati sa aiba acces numai 2 adrese Ip si restul sa nu aiba acces va trebui sa editati acelsi fisier ( /etc/hosts.allow ) si adaugam urmatoarele 3 linii:

sshd:79.112.123.10:allowsshd:79.112.123.79:allowsshd:ALL:deny

Acum accesul la server se poate face doar pe baza de chei . Chiar daca atacatorul cunoaste parola utilizatorului cu acces la ssh dar nu are cheia privata nu va putea face nimic pentru a se loga.In toate cazurile prezentate mai sus va trebui sa restartati serverul , ramineti logati ca root si dati comanda:

reboot

Daca sunteti deja familiarizati cu instrumentele R, RSH (Remote Shell) si RCP (Remote Copy), atunci va puteti imagina utilitarele SSH si SCP ca niste replici ale acestora, pentru tehnologia de criptar. Daca nu sunteti familiarizati cu sistemele R, nu este nici o problema. Folosirea RSH poate fi comparata cu parasirea propriului Proche cu motorul pornit si usile descuitate pentru o plimbare pentru 5 ore.

Multi dintre administratorii de sisteme pur si simplu sterg aceste utilitare din sistem – atat sunt de nesigure din punct de vedere al securitatii. In schimb, ne vom concentra asupra comparatiei SSH cu Telnet, precum si a SCP cu FTP.

Intr-o sesiune Telnet un socket TCP este deschis de pe sistemul client catre sistemul server. Exista unele configuratii care se pot face la nivelul aplicatiei al protocolului in cea ce priveste comportamentul terminalului, insa odata conexiunea stabilita, cea ce se intampla consta in numai apasari de taste de la un capat si iesirea de la consola la celalalt. Toate aceste date trec din retea in “clar”.

SSH functioneaza diferit. SSH foloseste un sistem criptografic cu cheie publica similar cu cel folosit de PGP. Este un pic mai complicat, de vreme ce sunt folosite chei pentru ca un sistem sa se autentifice in fata altuia si, optional, poate fi intrebuintat pentru validarea la conectare a utilizatorilor intr-un sistem.

Atunci cand serverul SSH cunoscut sub numele de SSHD, este instalat pentru prima data, este generate o pereche de chei. Defapt, sunt generate 2 perechi de chei, una pentru criptare si

Page 88: Securizarea Unui Gateway

alta pentru DSA, Digital Signature Algorithm – algoritmul de semnatura digitala. In general nu trebuie sa va preocupati de acest lucru. Procesul de generare al cheilor arata cam asa :

Generating RSA keys: …ooooooO………ooooooO

Key generation complete.

Your identification has been saved in /etc/ssh/ssh_host_key.

Your public key has been saved in /etc/ssh/ssh_host_key.pub.

The key fingerprint is:

f8:fc:e8:43:be:15:59:c4:b5:44:48:ae:1b:d1:9e:a1 root@SGateway

Generating DSA parameter and key.

Your identification has been saved in /etc/ssh/ssh_host_dsa_key.

Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.

The key fingerpint is:

f9:cc:9c:da:50:ea:ad:a7:12:3a:4b:2d:11:50:13 root@SGateway

Acum sa vedem ce se intampla atunci cand va conectati dintr-o masina Windows pentru prima data prin intermediul programului PuTTy la serverul nostru dorit:

The server’s host key is not cached in the registry. You have not guarantee that the server is the computer you think is.

The server’s rsa2 key fingerprint is:

Ssh-rsa 2048 98:eb:f6:3d:4d:0a:c6:ac:46:1a:67:2c:69:7a:54:d8

If you trust this host, hit Yes to add the key to Putty’s cache and carryon connecting.

If you want carry on connecting just once, without adding the key to the cache, hit No.

If you do not trust this host, hit Cancel to abandon the connection.

Dupa ce am acceptat si am efectuat click pe “OK” in fereastra programului nostrum PuTTy este afisat urmatorul mesaj prin care remarcam ca am ajuns in etapa de logare in sistemul Linux:

Page 89: Securizarea Unui Gateway

Login as: root

[email protected]’s password: ******* ( si asapam tasta ENTER )

Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

*Documentation: https://help.ubuntu.com/

You have a new mail

Last login: Thu Jul 12 02:32:29 2012 from 192.168.126.1

root@SGateway:~#

In momentul de fata ne-am logat ca administrator (root) in sistemul Linux prin protocolul de transfer SSH (Secure Shell) – portul acestui protocol standard este 22, recomandat este ca acesta sa fie schimbat pentru a evita atacurile de tip BruteForce de catre “rau facatori”.

Este destul de riscant ca aceste date de logare – cele ale utilizatorului root – sa nu fie divulgate din motive de securitate si pe cat posibil sa lucram logat ca Super User cat mai limitat. Sugerat este ca atunci cand este nevoie de apelarea unor comenzi care necesita drept de administrator, sa se foloseasca comanda sudo.

Acest protocol SSH, ne este foarte util in momentul in care avem in administrare un server sau mai multe. De ce ? Pentru ca nu este necesar sa fim prezenti la fata locului sa inspectam de la tastatura serverului problema intervenita, modificarele ce urmeaza a fi facute sau imbunatatiri. Controlul si accesul de la distanta prin acest protocol SSH este destinat pentru administrare de la distanta (se poate face aceasta logare din orice loc din tara sau continent, este necesar doar conexiune la internet).

Acum vom prezenta cateva informatii utile despre serverul actual care ruleaza pe o masina virtuala VMware unde avem instalat Ubuntu Sever si de asemenea mai sunt instalate 3 masini virtuale si fiecare masina virtual are un sistem de operare prorpiu – Microsoft Windows XP Professional.

Page 90: Securizarea Unui Gateway

Bibliografie

[1] Dragos Tudor Acostachioaie, “Administrarea si configurarea sistemelor LINUX”, Editura Polirom, Bucuresti, 2004

[2] Dragos Tudor Acostachioaie, “Securitatea sistemelor LINUX”, Editura Polirom, Bucuresti, 2004

[3] Michael Schwarz, Jeremy Anderson, Peter Curtis, Steven Murphy, “Instrumente LINUX”, Editura NICULESCU, Bucuresti, 2006

[4] http://www.wikipedia.org

[5] http://www.ubuntu.com