Asigurarea Securitatii Retelelor de Calculatoare cu Ajutorul Listelor de Control al Accesului

Cuprins:

1.Introducere

2.Abordarea problemei securității datelor dintr-o rețea

2.1 Securitatea unei rețele de calculatoare

2.2 Modelul de Securitate pentru o rețea

2.3 Tipuri de atacuri într-o rețea

2.4 Firewall

3. Liste de control a accesului

3.1 Filtrarea pachetelor

3.2 Generalitati

3.2.1 Ce este o listă de control a accesului?

3.2.2 Funcționalitatea unui ACL

3.2.3 Asignarea unui numar sau nume unei liste de control a accesului

3.2.4 Poziționarea unei liste de control a accesului într-un router

3.3 Configurarea unei liste de acces a controlului

3.3.1 Introducerea datelor într-o listă de control a accesului

3.3.2 Masca Wildcard a unei liste de control a accesului

3.3.3 Implementarea unei liste de control a accesului pe o interfață a router-ului

3.3.4 Editarea unei liste de control a accesului

3.3.5 Remarci în lista de control a accesului

3.3.6 Monitorizarea și verificarea unei liste de control a accesului

3.3.7 Debug-ul listei de control a accesului

3.4 Recomandări generale privind configurarea ACL-urilor

3.5 Avantajele folosirii listelor de control a accesului

4. Clasificarea ACL-urilor

4.1 Complexe

4.1.1 ACL-uri dinamice (Lock-and-Key)

4.1.2 ACL-uri reflexive

4.1.3 ACL-uri bazate pe timp

4.2 Statice

4.2.1 ACL-uri standard

4.2.2 ACL-uri extinse

4.3 Comparație intre ACL-urile complexe și ACL-urile statice

5. Pentru ce sunt folosite ACL-urile?

5.1 Utilizarea ACL-urilor pentru a opri atacurile asupra unei rețele

5.2 Utilizarea ACL-urilor pentru telnet și accesul SSH

6. Asigurarea securitații unei rețele de calculatoare utilizând liste de control a accesului. Aplicație practică

6.1 Materiale folosite

6.1.1 VMware Workstation 4.0.4

6.1.2 Windows XP SP3

6.1.3 GNS3-1.3.3

6.1.4 WireShark

6.1.5 Cisco IOS

6.2 Prezentarea situației

6.3 Configurația și funcționalitatea rețelei

6.4 Implementarea securitații rețelei de calculatoare. Editarea listelor de acces și testarea lor

6.4.1 Asigurarea securității prin implementarea unor politici în interiorul rețelei

6.4.2 Politici de securitate pentru accesul din Internet spre interiorul rețelei

6.4.3 Politici de securitate pentru accesul din interiorul rețelei către Internet

6.4.4 Oprirea atacurilor de tipul IP Spoofing si Denial of Service

7. Concluzii

8. Bibliografie

1.Introducere

Odată cu dezvoltarea rețelelor de calculatoare și, mai ales, cu dezvoltarea industriei Internetului, au apărut activități conexe care oferă o informare alternativă în toate domeniile vieții, oferind posibilitatea conectării instantanee la informație.

Practic, dezvoltarea internetului a dus la apariția unei noi branșe numite e-commerce, oamenii căutând să își rezolve tot mai mult problemele folosind Internetul. În prezent nu există organizație/firmă/universitate care să nu dispună de servere Web accesibile din Internet pe care se găsesc pagini cu informații despre serviciile și produsele oferite.

            Dezvoltarea rețelelor și dependența acestora de unul sau mai multe servere a atras potențiali atacatori. Din acest motiv și pentru că toate aceste activități pot cauza pierderi mari unei persoane fizice sau unei companii în cazul în care rețeaua de calculatoare prin care datele sunt transmise sau legătura dintre utilizator și serverul executând nu este securizată, se pune din ce în ce mai mare preț pe securizarea rețelelor. Așadar, un aspect foarte important, chiar crucial, il constituie securitatea informațiilor. Această nevoie de a securiza și a verifica autenticitatea datelor transmise într-o rețea apare la toate nivelurile arhitecturale ale rețelelor conectate la Internet.

Potențialele atacuri asupra unei rețele determină administratorii de sistem să aplice diferite măsuri pentru protejarea rețelei și interzicerea accesului utilizatorilor neautorizați. Printre măsurile adoptate se număra: măsuri de protecție fizică a echipamentelor prin securizarea perimetrului rețelei, utilizarea unor metode de autentificare a utilizatorilor, monitorizarea utilizatorilor și a rețelei pentru a preveni apariția unor vulnerabilități, instalarea de sisteme firewall și nu în ultimul rând instalarea listelor de control al accesului pe echipamentele active de rețea.

Tema acestei lucrări de diplomă este “Asigurarea securității rețelelor de calculatoare cu ajutorul listelor de control al accesului”. Prezenta lucrare este realizată dintr-o parte teoretică la care este adăugată și o parte de aplicație practică.

În aceasta lucrare vor fi abordate probleme ce vizează securitatea unei rețele utilizând liste de control ale accesului. Pentru a aborda această problemă de securitate a unei rețele voi crea o aplicație practică folosind simulatorul GNS3, fiind un emulator perfect pentru simularea unor rețele complexe.

În capitoul unu este abordată o scurtă prezentare a rețelelor de calculatoare, evoluția rețelei, dar și despre nevoia de a securiza o rețea de calculatoare.

În capitolul doi voi prezenta problema de securitate a unei rețele de calculatoare. Voi descrie modelul de securitate într-o rețea, câteva tipuri de atacuri existente într-o rețea și în cele din urmă voi vorbi despre firewall și securizarea rețelei.

În capitolul trei voi prezenta filtrarea pachetelor, voi enunța definiția și funcționalitatea lor, dar și unde se poziționează o listă de control a accesului. În acest capitol vor mai fi prezentate configurarea unei liste de control a accesului și avantajele pe care le prezintă o astfel de listă .

În capitolul patru voi face o clasificare a listelor de control a accesului, va fi prezentată și o comparație între cele două mari categorii de liste de control a accesului.

Utilitatea folosirii listelor de control a accesului într-o rețea de calculatoare va fi abordată în capitolul cinci.

Capitolul șase va fi partea în care voi prezenta aplicația practică a proiectului de licență cu ajutorul simulatorului GNS3.

În capitolul șapte, adică ultimul capitol, vor fi prezentate cele mai importante idei despre listele de control a accesului.

2. Abordarea problemei securității datelor dintr-o rețea

Problema securitații datelor dintr-o rețea este una dintre cele mai importante probleme ale rețelei, posibil chiar cea mai vitală. Această abordare a problemei securității datelor dintr-o rețea necesită identificarea cerințelor de functionare, cât și identificarea amenințărilor eventuale. Pentru a încerca rezolvarea acestei probleme se face o analiză. Această analiză este formată din 3 etape:

– etapa 1 constă într-o analiză a vulnerabilităților: identificarea slăbiciunilor unei rețele;

– etapa 2 constă într-o evaluare a amenințărilor: slăbiciunile unei rețele duc la apariția problemelor de securitate, avand ca rezultat interferarea cu cerințele de funcționare;

-etapa 3 constă într-o analiză a riscurilor: ce probleme pot crea în rețea.

După analiza problemei de securitate este nevoie de definirea politicilor de securitate:

– evaluarea amenițărilor care trebuie eliminate și care pot fi tolerate;

– resursele care trebuie protejate și la ce nivel;

– mijloacele ce trebuie folosite pentru implementarea securității;

– prețul care trebuie plătit pentru aceste măsuri de securitate;

Selecția serviciilor de securitate este ultima măsură care poate fi adoptată pentru sporirea securității unei rețele. Această măsură constă în alegerea unor funcții de gestiune a securității.

2.1 Securitatea unei retele de calculatoare

În zilele noastre, securitatea unei rețele a ajuns parte integrată în domeniul rețelelor de calculatoare. Aceasta implică tehnologii, protocoale, sisteme, tool-uri, tehnici și instrumente pentru a ajuta la securizarea unei rețele, dar și pentru a opri atacurile rău-intenționate făcute asupra unei rețele. Există două mari modalități pentru a asigura securitatea unei rețele: protecția la nivel fizic și protecția la nivel informațional.

Protecția la nivel fizic

Măsurile privind protecția la nivelul fizic al securității unei rețele sunt: protecția împotriva intruziunilor și protecția pentru echipamente.

O rețea nu se poate considera securizată dacă nu are un mininum de protective la nivelul echipamentelor din cadrul ei.

Măsuri pentru protecția echipamentului:

protecție împotriva furtului;

protecție împotriva distrugerilor naturale (inundații, incendii, cutremure)

protective împotriva căderilor de tensiune (existența unor generatoare, instalare de siguranțe specializate de protecție la supratensiune)

Protecția împotriva intruziunilor se referă la asigurarea unei securitați perimetrală. Pentru a asigura o astfel de securizare se vor folosi sisteme de supraveghere, alarme, sisteme de acces bazat pe controlul biometric, acces bazat pe cartele, chei etc. Existența unor anumite drepturi diferențiate de acces pentru persoane distincte este o altă măsură împotriva intruziunilor

Protecția la nivel informațional

Securizarea la nivel informațional se bazează pe protejarea tuturor informațiilor accesibile utilizatorilor acreditați sau a măsurilor luate contra utilizatorilor răuvoitori. Aceste protective la nivel informațional, ca și protecția la nivel fizic, se împart de asemenea în două mari categorii: securizarea la nivel de “intruziune” și securizarea la nivel de “acces”.

Totalitatea măsurilor de protecție care limitează accesul la informație a persoanelor din afara rețelei, dar și existența unor măsuri de protecție internă față de utilizatorii rețelei se numește securizarea la nivel de “intruziune”.

Pentru a oferi securitatea la nivel de “acces” se implementează sisteme de logare bazate pe conturi și/sau parole, prin criptări de date etc.

Așadar, pentru a asigura securitatea într-o rețea de calculatoare se vor securiza la nivel de acces echipamentele și se va ține cont de următoarele 3 aspecte deosebit de importante:

-confidențialitatea: este caracteristică rețelei de asigurare a accesului la informație doar de catre persoanele care sunt autorizate cu acest drept;

-integritatea: este cea care garantează că informația nu a fost alterată de persoane neautorizate;

-disponibilitatea: poate fi definită ca fiind timpul de operabilitate a rețelei și resurselor din cadrul ei.

Pentru o administrare mai ușoară, International Organization for Standardization (ISO)/International Electrotechnical Commission(IEC) a creat 12 domenii ale securității rețelelor:

Evaluarea Riscului  e primul pas în administrarea riscului și determină valoarea cantitativă și calitativă a riscului legat de o situație specifică sau o amenințare cunoscută.

Politica de Securitate  este un document care tratează măsurile coercitive și comportamentul membrilor unei organizații și specifică cum vor fi accesate datele, ce date sunt accesibile și cui.

Organizarea Securității Informației e un model de guvernare elaborat de o organizație pentru securitatea informației.

Administrarea Bunurilor reprezintă un inventar potrivit unei scheme clasificate pentru bunurile informaționale.

Securitatea Resurselor Umane definește procedurile de securitate privind angajarea, detașarea și părăsirea de către un angajat a organizației din care va face, face sau a făcut parte.

Securitatea Fizica și a Mediului descrie măsurile de protecție pentru centrele de date din cadrul unei organizații.

Administrarea Comunicațiilor și Operațiunilor descrie controalele de securitate pentru rețele și sisteme.

Controlul Accesului priveste restricțiile aplicate accesului direct la rețea, sisteme, aplicații și date.

Achiziția, Dezvoltarea și Păstrarea Sistemelor Informatice   definește aplicarea măsurilor de securitate în aplicații.

Administrarea Incidentelor de Securitate a Informației tratează cum anticipează și răspunde sistemul la breșele de securitate.

Administrarea Continuității Afacerii descrie măsurile de protecție, întreținere și recuperare a proceselor critice pentru afacere și sisteme.

Conformitatea descrie procesul de asigurare a conformității cu politicile de securitate a informației, standarde și reguli.[1]

Securizarea rețelei mai presupune și implementarea unor metode hardware sau software care vor asigura următoarele aspecte:

Informațiile să nu fie interceptate decât de persoanele special autorizate;

Informațiile care circulă în acea rețea să nu fie modificate;

Realizarea unor conexiuni ilegale la retea folosindu-se de identitatea unor utilizatori sau a unor calculatoare existente în rețea;

Serviciile destinate anumitor categorii de utilizatori ai rețelei să fie accesibile doar acestora.

Asigurarea securitații unei rețele de calculatoare este atuul cel mai important în câștigarea încrederii clienților și a partenerilor. Este necesară o îmbunătațire continuă a sistemului de Securitate, deoarece un sistem poate deveni vulnerabil la un moment dat din cauza avansării tehnicilor de atac asupra unei rețele.

Amenințările se pot clasifica în 2 mari categorii:

Amenințări neintenționate:

Calamități naturale, dezastre;

Defectări de echipamente ale unei rețele;

Pene de curent, în cazul în care nu există un generator de urgență;

Greșeli umane în programarea sau manipularea datelor.

Amenințări intenționate:

Furtul unui echipament al rețelei;

Atacuri (la nivel logic):

Unul dintre cele mai răspandite atacuri la nivel logic este atacul din curiozitate;

Pentru a testa securitatea unui sistem;

Pentru distrugerea sau a furtului de date/ informații.

2.2 Modelul de securitate pentru o retea

Modelul de Securitate pentru o rețea este format din mai multe straturi. Aceste straturi pot fi văzute ca niște niveluri de securitate pentru datele care trebuie protejate. Există două tipuri de securitate : fizică și logică.

Securitatea fizică reprezintă nivelul exterior, constând în încuierea echipamentelor, asigurarea pazei, a controlului accesului etc. Backup-urile reprezintă cea mai mare problemă, dar o altă problemă destul de importantă este siguranța suporților de salvare. [2]

Securitatea logică reprezintă metodele software, controlul accesului fiind asigurat de ele. Această securitate logică este împărțită la rândul ei în două mari categorii: niveluri de securitate ale accesului și niveluri de securitate ale serviciilor. [2]

Securitatea accesului este format din:

accesul la sistem – determină când și dacă accesul la rețea este permis utilizatorilor specificand și condițiile. Acesta poate efectua și o deconectare forțată în anumite situații.

accesul la cont – determină valabilitatea numelui și a parolei utilizatorului care încearcă să se conecteze.

drepturile de acces – determină privilegiile de care dispune un utilizator.

Securitatea serviciilor este cea care se ocupă de controlul accesului la serviciile unei rețele. Ea este formată din:

controlul serviciilor – este cel ce se ocupa de funcțiile de raportare și de avertizare ale stării serviciilor, dar și de dezactivarea sau activarea unor servicii pe care le oferă rețeaua respectivă.

drepturile la servicii – transmit unui cont cum poate folosi un data service.

Figura 1 : Model de securitate al unui sistem informatic

Odată ce conexiunea logică a fost stabilită, contul de acces va fi validat de subsistemul de securitate al accesului. El va monitoriza toată activitatea pe care un utilizator o va avea și va lua măsurile ce trebuie luate atunci când cererile utilizatorului depăsesc drepturile care i-au fost specificate. Un sistem perfect va permite accesul prin nivelurile de securitate descrise mai sus, respectând ordinea de trecere de “sus” în “jos”, fără a sări peste niciunul.

Principiile enunțate mai sus sunt valabile și pentru securitatea la nivel de gazdă. Pentru un sistem care este conectat la Internet vom distinge urmatoarele caracteristici:

entitățile care au acces local la acea mașină, dar și ce drepturi li se oferă;

serviciile oferite către exterior;

sistemul de operare. [3]

2.3 Tipuri de atacuri într-o rețea

Atacurile de securitate asupra unei rețele se împart în trei categorii:

atacuri de recunoaștere;

DoS ( Denial of Service);

atacuri de acces la sistem.

Atacuri de recunoaștere

Această categorie de atac asupra unei rețele implica o modalitate de mapare și descoperire neautorizată a sistemelor, a vulnerabilităților sau servicilor rețelei. Acest procedeu constă în recoltarea de informații despre rețea, ca apoi, de cele mai multe ori să fie precedat de un atac de tip Denial of Service. Atacatorul va lansa în execuție o serie de comenzi ping, determinând astfel adresele IP active; următorul pas pe care un atacator îl va face va fi aflarea porturilor sau a serviciilor de rețea active, folosindu-se de un program de tipul port scanner. Pe baza porturilor deschise, atacatorul poate determina versiunea și tipul aplicațiilor active, cât și al sistemului de operare care ruleaza pe masina victimă. În urma informațiilor aflate, atacatorul poate exploata vulnerabilitățile și poate lansa atacul asupra rețelei.

Atacuri Denial of Service

Acest tip de atac se bazează pe trimiterea unui numar foarte mare de cereri sau crearea unor cantitati imense de informative care au ca scop încetinirea, întreruperea sau chiar suspendarea unui serviciu. Dupa un acest tip de atac, calculatorul victimă nu mai este capabil să-și foloseasca în întregime resursele de care dispune, ajugând în situația de a fi incapabil de a răspunde chiar și cererilor legitime. Câteva exemple de astfel de atacuri:

ping of death: se bazează pe modificarea porțiunii IP din header, indicând că există mai multe date în pachetul trimis decat în mod real; acest atac are ca rezultat căderea întregului sistem;

SYN flood attack: acest tip de atac va deschide aleatoriu mai multe porturi TCP, astfel, sistemul va fi ocupat de cereri false;

fragmentarea și reasamblarea pachetelor: exploatarea unui bug buffer-overrun existent.

Figura 2: Atacuri Denial of Service

Atacuri de acces la sistem

Această categorie de atac se bazează pe abilitățile atacatorului de a obține accesul la un sistem pentru care acesta nu deține contul și parola. Pentru a obține accesul neautorizat, de obicei atacatorul folosește un script, hack sau orice alt instrument care poate duce la exploatarea vulnerabilității sistemului sau a aplicației.

exploatarea unei parole ușor de ghicit:

atacuri “Brute force” sau cele bazate pe dicționare;

folosirea unor instrumente pentru spart parole.

exploatarea unor servicii slab configurate :

FTP, TFTP și accesul de la distanța asupra regiștriilor;

servicii remote sau prin spoofing;

servicii pentru partajarea fișierelor precum Windows File Sharing și NFS.

exploatarea de vulnerabilități ale aplicațiilor:

manipularea greșita a datelor de intrare.

buffer overflows:

exploatarea slăbiciunilor protocoalelor.

TCP session hijack, fragmentarea;

cai troieni;

social engineering:

atacatorul devine administratorul rețelei cu scopul de a obține informații primite de la utilizatori;

acest tip de atac se bazeaza pe strangerea de informații confidențiale: parole sau detalii financiare.

accesul neautorizat se bazează pe citirea, copierea, mutarea sau scrierea fișierelor pentru blocarea atacatorului;

man-in-the middle:

atacatorul se pozitioneaza între expeditor și destinatar cu scopul de a intercepta, monitoriza și controla traficul existent între cele două entitați, modificând conținutul. [4]

Figura 3: Atac de acces la sistem

2.4 Firewall

Un firewall, în rețelele de calculatoare, reprezintă un sistem sau un grup de sisteme care implementează politici de restrângere sau control al traficului între două sau mai multe rețele, având următoarele proprietăți:

tot traficul dintre rețele trece prin el, oricare ar fi sensul de transmisie;

ajută la filtrarea traficului, permițând trecerea traficului autorizat de tipul politicii de securitate dorite;

este rezistent la atacurile de spargere, penetrare, ocolire;

Firewall-ul este folosit pentru a proteja segmentele unei rețele extinse, dar cel mai des folosit este pentru protejarea rețelelor private ale unei instituții/firme/bănci care sunt conectate la internet. Pentru ca un firewall să fie eficient, să asigure controlul traficului, trebuie așezat în punctul de conexiune dintre rețeau externă și rețeaua internă. În cazul în care există mai multe puncte de acces catre rețeaua externă, se vor plasa și în aceste puncte firewall-uri, în caz contrar nu se poate asigura controlul traficului, deoarece atacatori pot ocoli prin acele puncte de acces care nu au acest sistem de control al traficului.

Firewall-ul nu este reprezentat de un simplu router sau calculator ce asigură securitatea în rețea, el implementează anumite politici de securitate, de autentificare a clientilor, control al accesului sau de configurare a unei rețele. [5]

Figura 4: Firewall

Firewall-urile pot fi categorisite în patru mari clase:

firewall-uri dedicate: sunt reprezentate de mașini pe care se rulează un sistem de operare creat special pentru a translata adrese și a filtra pachete;

firewall-uri de routere: sunt reprezentate de un software special instalat pe routere;

firewall-uri de server: sunt implementate peste un sistem de operare de rețea;

firewall-uri personale: sunt implementate doar pe PC-urile personale, prevenind atacurile doar asupra PC-ului care ruleaza, nefiind optimizate pentru toata reteaua;

Pe langă controlul accesului, un firewall se poate folosi și pentru:

a monitoriza comunicațiile între rețeaua externă și cea internă (volumul traficului, ce servicii sunt folosite, care a fost distribuția în timp, care a fost frecvența accesarii etc.);

criptarea în rețelele virtuale;

a înregistra sau a intercepta comunicațiile dintre cele doua rețele

Avantajele utilizarii unui firewall

Într-o rețea de calculatoare în care nu se definitește nici un firewall securitatea acelei rețele se va baza doar pe securitatea fiecarui calculator din acea rețea. Problema apare atunci cand rețeaua este foarte mare, securitatea fiecărui calculator va fi asigurată mult mai greu. Pentru a evita astfel de probleme este recomandată utilizarea unui firewall care asigură și câteva avantaje:

Protecția serviciilor vulnerabile: realizată prin blocarea sau filtrarea celor mai expuse servicii;

Impunerea unei politici a accesului în rețea : folosit pentru a controla accesul într-o rețea privată; un exemplu ar fi acela de a accesa unele calculatoare din exterior, iar alte calculatoare să nu poata fi accesibile din exterior;

Asigurarea securității prin firewall duce la un cost mult mai mic fața de securitatea pe fiecare calculator în parte;

Întărirea caracterului privat al informației: un firewall blochează serviciile DNS, finger (acestea culeg informatii prețioase pentru atacatori);

Monitorizarea si realizarea de statistici.

Dezavantajele folosirii unui firewall

Pe langă multele avantaje, un firewall prezintă și câteva dezavantaje, neputând rezolva toate probleme de securitate cu care se confruntă o rețea.

Restricționarea accesului la unele servicii: aceasta ar fi o problemă atunci când un utilizator dorește accesarea unui anumit serviciu și el este blocat;

Posibilitatea existenței “unor uși secrete”;

Nu poate asigura securitatea împotriva atacurilor venite din interior;

Cea mai mare problemă a unui firewall este reducerea vitezei de comunicare cu exteriorul;

Fiabilitatea rețelei.

Pentru a asigura o mai bună securitate este recomandată folosirea unui firewall împreuna cu alte mecanisme și sisteme specializate în asigurarea securitații rețelei.

Un firewall are urmatoarele componente:

politici de control al acesului la servicii;

filtrarea pachetelor;

mecanisme de autentificare;

porțile de nivel aplicație și servicii proxy.

Politica de control al accesului la servicii ne explică exact ce servicii vor fi permise și care nu, cazuri de excepții, dar și în ce condiții vor putea fi acceptate. Va exista un echilibru între protejarea rețelei de diferite riscuri și asigurarea accesului la resurse a utilizatorului. Se va defini politica de acces la servicii, se va reprezenta politica de nivel înalt, urmând să fie definită politica de proiectare pentru firewall-ul respectiv.

Politica de proiectare are la baza urmatoarele doua subpolitici:

ceea ce nu este permis in mod explicit este interzis;

ceea ce nu este interzis in mod explicit este permis (aceasta subpolitica ofera brese in sistemul de securitate al firewall-ului, deoarece poate fi ocolit).

Eficacitatea unui firewall depinde de cele trei caracteristici: arhitectura, politica de proiectare și, nu în ultimul rând, de politica de acces la servicii.

Mecanismele principale prin care un firewall asigură securitatea unei rețele de calculatoare sunt translatarea adreselor și filtrarea pachetelor. Pentru a asigura o mai bună securitate a rețelei aceste două mecanisme sunt folosite împreună.

Tipuri de firewall

Firewall-urile sunt de două tipuri:

1. Firewall de filtrare a pachetelor: blochează pachetele specificate.

2. Serverele Proxy: stabilesc conexiuni de rețea pentru calculatoarele LAN-ului către exterior.

Filtrarea pachetelor

Figura 5: Filtrarea unor pachete

Filtrarea pachetelor este unul dintre cele mai eficiente mecanisme de securitate folosit de firewall. Acesta realizează filtrarea pachetelor pe baza anumitor reguli create de utilizator.

Regulile de filtrare a unui pachet sunt formate din două parți:

partea care identifică pachetul: adresa sursă/destinație, adresa de rețea sursă/destinație, protocolul, portul sursă/destinație, tipul mesajului, interfața ieșire/intrare, etc.

partea în care se specifică cum va fi tratat pachetul: dacă pachetul va fi respins, acceptat sau ignorant.

2. Serverele proxy

Figura 6 : Amplasarea unui server proxy

Aceste serverele sunt folosite pentru a monitoriza și controla traficul rețelei, lucrează la nivel de aplicație și datele sunt reținute într-o zonă de cache. Acest lucru duce la scăderea traficului în rețea, crescând și lățimea de bandă. Servele proxy sunt de două tipuri: aplicație (așteaptă de la clienți cererile, după care le rezolvă) și socks( mapează porturile).

3. Liste de control al accesului

3.1 Filtrarea Pachetelor

Filtrarea pachetelor se ocupă cu analiza pachetelor ce intră, traversează sau ies prin router. Aceasta este făcută printr-o componetă firewall denumită și router protector. Prin intermediul filtrării pachetelor se dorește un acces la rețea controlat. Acest control se va realiza pe baza unor reguli stabilite de administratorul rețelei, conform politicii de securitate ale organizației respective.

Un dispozitiv ce acționează ca un filtru de pachete este ruterul, acesta controlând pachetele în funcție de cum este configurat. Când pachetul de date ajunge la ruter acesta va extrage unele informații din antetul pachetului și acționează în funcție de regulile de filtrare aplicate. Acesta poate elimina, ruta sau chiar respinge pachetul. Respingerea este eliminarea, dar cu o eroare vizibilă folosită de unele protocoale pentru a elimina timeout-ul generat de eliminarea silențioansă. Filtrarea de pachete acționează la nivelul Internet pentru TCP/IP și pentru modelul OSI la nivel rețea.

Cum un ruter este un dispozitiv de nivelul trei, acesta folosește reguli de filtrare a pachetelor folosindu-se de adresa ip sursă și adresa ip destinație, portul sursă și portul destinație sau folosindu-se de protocolul de transfer. Folosirea acestor reguli duc la implementarea listelor de control al accesului (ACL).

Listele de control al accesului extrag informațiile din antetul pachetului testând informațiile culese după anumite reguli impuse de administratorul rețelei. După testarea informațiilor extrase, listele de control al accesului pot permite sau respinge pachetul pe baza adresei IP sursă, adresei IP destinație sau pe baza tipul mesajului. Aceste liste pot controla accesul la rețea și pe baza informațiilor, superioare nivelului trei, extrase din antetul unui pachet. De exemplu în funcție de portul sursă sau destinație TCP/UDP.

Figura 7 : Filtrarea pachetelor pentru modelul OSI

Un exemplu de filtrare a pachetelor este următorul: userilor din rețeaua A li se va permite trimiterea de email-uri, iar useri din rețeaua B nu vor putea trimite. Prin urmare pachetele trimise din rețeaua A vor trece doar daca portul destinație este egal cu 25, iar pachetele provenite din reteaua B vor fi lăsate să treacă doar daca portul destinație este diferit de 25.

Figura 8 : Filtrarea unui pachet după verificarea portului

3.2 Generalitati

3.2.1 Ce este o listă de control al accesului?

O listă de control al accesului este, în esență, o listă de condiții care clasifică pachetele și sunt într-adevăr la îndemână atunci cand avem nevoie să ne exercităm controlul asupra traficului rețelei. O listă de control al accesului este un instrument de alegere folosit pentru luarea deciziilor în astfel de situații. Una dintre cele mai comune și mai simplu de înțeles în utilizarea listelor de acces pentru aplicarea politicilor de securitate este filtrarea de pachetele nedorite. Administratorul de rețea se “înarmează” cu puterea de a aplica aproape orice politică de securitate pe care acesta o poate inventa. Prin condițiile impuse de administratorul rețelei și de nevoile de securitate ale organizației, listele de control al accesului specifică dacă unui pachet i se va permite trecerea sau nu pe o anumită interfață pe care este aplicată lista de acces. Controlul de acces la o rețea este folosit și pentru a reduce traficul în acea rețea, astfel încât a reduce consumul resurselor rețelei. [6]

Crearea listelor de control al accesului este cu adevărat o serie de mulțime de programări de declarații if-then, ceea ce inseamna că dacă o condiție este îndeplinită atunci se ia o anumită acțiune. În cazul în care o condiție specificată nu este întâlnită nu se întamplă nimic și se evaluează următoarea declarație. Declarațiile listelor de acces al controlului sunt de fapt filtre de pachete, în care pachetele sunt comparate, categorisite. Odată ce listele sunt construite ele pot fi aplicate pe orice interfață a router-ului inbound sau outbound. Aplicarea unei liste de control al accesului face ca router-ul să analizeze fiecare pachet ce traversează interfața și să ia măsurile corespunzătoare. Există trei reguli foarte importante atunci când un pachet este comparat cu o listă de control:

Pachetul este întotdeauna comparat cu fiecare linie a listei, compararea făcându-se secvențial și se va începe întotdeauna cu prima linie, se va trece la a 2 linie, după a 3 și tot așa;

Pachetul este comparat cu fiecare linie până se va face match pachetului. Odată ce s-a realizat match-ul cu o condiție a listei se va lua o acțiune pentru pachetul respectiv, iar comparațiile cu liniile următoare se vor opri;

O listă de control are la sfarsitul ei o condiție implicită de “deny”. În cazul în care nu va fi indeplinită nicio condiție a listei, atunci pachetul va fi aruncat. Această condiție nu va apărea explicit, fiind una invizibilă.

Listele de control al accesului se pot folosi pentru:

a filtra pachetele ce trec printr-un router (deny sau accept);

a limita accesul la liniiile virtuale (vty);

a filtra traficul care este generat de protocoale de routare (liste de distribuție);

a prioritiza traficul pentru QoS, astfel se încadrează un anumit pattern într-o clasă;

PAT și NAT;

VPN-uri;

debug și logging;

a modifica atributele și politicile BGP (route maps).

O listă de control al accesului poate fi configurată per direcție ( IN sau OUT), per protocol sau per interfață. Nu se pot aplica mai multe liste de control al accesului pe aceeași interfață, directivă sau protocol.

3.2.2 Functionalitatea unui ACL

Listele de control al accesului sunt o multitudine de reguli care duc la un control al pachetelor care intră, traversează router-ul sau ies printr-o interfață a unui router. Pe pachetele ce sunt generate de router nu se vor aplica liste de control al accesului. Se pot configura liste de acces pentru pachetele care vor intra pe o interfață, dar și pentru pachetele ce ies dintr-un router pe o interfață:

Inbound ACL-uri:

sunt folosite pentru pachetele ce intră pe o interfață a ruterului;

acestea vor fi procesate inainte de a fi rutate;

au o eficiență ridicată deoarece evită încărcarea ruterului;

pachetul va fi aruncat în cazul în care nu va trece de verificarea cu ACL-ul, în caz contrar, deci va trece de această verificare, atunci pachetul va fi procesat pentru rutare.

Figura 9 : Aplicarea unei liste de control al accesului inbound

Outbound ACL-uri:

sunt folosite pentru pachetele venite din rețeaua locală și rutate către interfața de ieșire a ruterului;

după rutare, vor fi procesate de ACL-ul definit pe interfața de ieșire.

Figura 10 : Aplicarea unei liste de control al accesului outbound

Principiul de funcționare a unei liste de acces este unul destul de simplu. Acesta implică o serie de teste care vor analiza informațiile extrase de la antele de nivel 3 sau 4 al pachetelor, urmând ca fiecare test să intoarcă un rezultat ce va fi scris sub forma binara: deny sau permit. Toate pachetele care vor circula pe sensul în care va fi definit un ACL se vor confrunta cu testele existente în acea listă de acces. Se va realiza o parcurgere secvențială și se va opri atunci când traficul se va încadra într-unul dintre testele existente, moment în care se va aplica acțiunea corespunzătoare testului respectiv. În funcție de rezultat, dacă testul va returna permit, pachetul va fi lăsat să treacă la fel ca și în lipsa unui ACL, în caz contrar, adică testul va întoarce rezultatul deny, pachetul va fi ignorant fără a trimite nicio notificare.

În mod evident, ordinea instrucțiunilor este extrem de importantă, iar instrucțiuniile se vor executa exact în ordinea în care sunt găsite. La sfârșitul oricărui ACL se va găsi o declarație implicită: “deny any”.

Figura 11: Funcționalitatea unei liste de acces

Asignarea unui număr sau nume unei liste de control al accesului

Atunci când vom configura o listă de control al accesului pe o interfață a unui router, trebuie să ținem cont că putem să-i atribuim un număr sau un nume unic. Această atribuire depinde de protocolul pentru care se vor aplica regulile de filtrare. Unele protocoale oferă posibilitatea de a le atribui atat număr, cât și nume, altele nu oferă această posibilitate.

Protocoalele care oferă listelor de acces o modalitate de a fi identificate de nume sunt: IP, Appolo Domain, IPX, NetBIOS IPX, ISO CLNS, Source-routing bridging NetBios.

Regulile de atribuire a unui numărul unei liste de control al accesului sunt urmatoarele:

ACL-ului standard i se va atribui un număr din intervalul 1-99 sau un număr din intervalul 1300-1999;

ACL-ului extins i se va atribui un număr din intervalul 100-199 sau un număr din intervalul 2000-2699;

Comanda folosită pentru crearea unei liste de acces cu număr este: access-list NR.

Atunci când este asignat un nume unei liste de control al accesului trebuie să îndeplinim următoarele cerințe:

numele poate conține caractere alfanumerice;

este indicat ca numele să fie scris cu litere mari;

numele nu poate conține spații sau semne de punctuație și neaparat trebuie să înceapă cu o literă;

se pot șterge sau adăuga intrări ACL-urilor.

Comanda folosită pentru crearea unei liste de acces cu nume este:

ip access-list { standard| extended} nume

Tabelul următor prezintă intervalul de numere atribuite unei liste de acces al controlului, valabil pentru fiecare protocol.

Tabel 1 : Numere atribuite unei liste de acces per protocol [7]

Pozitionarea unei liste de control al accesului intr-un router

Pentru unele protocoale se pot aplica chiar și două liste de control al accesului la o interfață: o listă de acces de intrare și o listă de acces de ieșire. Alte protocoale creeaza posibilitatea definirii unei singure liste de control al accesului care va verifica pachetele atât inbound, cât și outbound.

Lista trebuie organizată cât mai bine, adică testele cele mai semnificative trebuie să fie declarate în partea cât mai de sus a listei.

Pentru ca o listă de control al accesului să aiba o eficiență cât mai bună trebuie îndeplinite următoarele reguli:

O listă de control al accesului standard trebuie plasată cât mai aproape de destinație, filtrarea făcându-se doar pe baza informației din câmpul sursă al pachetelor și toate destinațiile vor fi afectate. Acesta ar fi un motiv pentru care se dorește evitarea folosirii acestor tipuri de liste în rețeaua noastră.

O listă de control al accesului extinsă trebuie plasată cât mai aproape de sursă, filtrarea se face pe baza parametrilor de adresare de nivel 3 sau nivel 4. Prin plasarea cât mai aproape de sursă se evită încărcarea lățimii de bandă, deoarece traficul nu va traversa întreaga rețea doar pentru a fi negat.

Configurarea unei liste de control al accesului

3.3.1 Introducerea datelor într-o listă de control al accesului

Configurarea unei liste de control al accesului standard

O listă de control al accesului standard filtrează doar pe baza adresei sursă. Sursa pachetelor va fi specificată sub forma unui wildcard mask (reprezintă inversul binar al măștii) și a unei adrese.

Se doreste crearea unui ACL standard care are identificatorul 40 și va permite accesul stațiilor care fac parte din rețeaua 168.192.3.0/24 către orice destinație. Astfel, se va folosi comanda:

Router(config)#access-list 40 permit 168.192.3.0 0.0.0.255

Se pot adăuga noi reguli ACL-ului standard creat mai sus, comenzile fiind adăugate în ACL-ul 40 în ordinea în care vor fi introduse. De exemplu, vom permite accesul în rețea a stațiilor din rețeaua 192.20.0.0/16, dar o stație din această rețea, de exemplu stația cu ip-ul 192.20.10.2 va avea accesul interzis. Se vor folosi urmatoarele comenzi:

Router(config)#access-list 40 deny host 192.20.10.2

Router(config)#access-list 40 permit 192.20.0.0 0.0.255.255

Pentru a vizualiza toate ACL-urile create vom folosi comanda show access-lists. Aplicarea unui ACL pe interfața unui ruter se face cu următoarea comanda:

Router(config-if)#access-group 40 in

Comenzile:

Router(config)#line vty 0 4

Router(config-line)#access

Router(config-line)#access-class 40 in , sunt folosite pentru a aplica un ACL standard terminalelor virtuale ale routerului.

Nu se pot edita sau adăuga reguli în mijlocul unui ACL. Pentru a evita ștergerea și refacerea listei este indicat să se folosească un editor de texte.

Se presupune topologie de rețea, având configurația următoare:

Figura 12 : Topologie rețea

Se dorește declararea unei liste de control al accesului standard care nu v-a permite traficului din rețeaua 192.168.3.0 să ajungă în rețele 192.168.1.0 și 192.168.2.0.

Figura 13 : Definirea unei liste de acces standard

Se va verifica conectivitatea dintre cele trei rețele dându-se ping de la rețea cu adresa ip 192.168.3.0 către celelate două rețele. Se va observa că lista declarată mai sus nu are nici un efect. Pentru asta se va activa lista de acces.

Figura 14 : Verificare conexiune1

Figura 15 : Verificare conexiune2

Pentru a activa lista de acces declarată mai sus, este nevoie ca aceasta sa fie asignată pe interfață. Următoarea imaginea va ilustra asignarea unei liste de acces pe interfața unui ruter.

Figura 16 : Asignare listă de acces

După activare se poate observa că lista de control este eficientă, blocând traficul din rețeaua cu adresa ip 192.168.3.0.

Figura 17 : Verificare conexiune 3

În imaginea următoare voi folosi comanda pentru a afișa lista de control creată mai sus, dar și alte liste ce au fost create anterior.

Figura 18 : Afișare listă

Se poate șterge lista prin punerea în fața comenzii a cuvantului „no” sau prin ștergerea counteri-lor listelor de acces. În imaginea de mai jos sunt ilustrate comenzile pentru ștergerea listelor și efectele lor.

Figura 19 : Ștergere listă de acces

Configurarea unei liste de control al accesului extinse

Aceste liste pun la dispoziție mai multe reguli de filtrare a pachetului. Un ACL extins filtrează după adresa sursă și în plus se poate face filtrarea după: protocol, adresa destinație , port sursă și port destinație. [8]

Sintaxa unui ACL extins:

access-list [numar] permit/deny [protocol] [inf_sursa] [inf_dest]

Câmpul [numar]: 100-199, 2000-2699;

Câmpul [protocol]: icmp, udp, tcp, ip ( se vor considera TCP, dar si UDP), protocoale de rutare;

Câmpurile [inf_sursa] și [inf_dest]: sunt reprezentate de host, any, servicii, adresă, operatori pentru porturi (eq, neq, range, gt, lt urmate de unul dintre cele două protocoale: UDP și TCP sau de numărul portului) și flag-uri (rst, established, tos, ack, syn, etc – câmpuri antetelor de nivelul 3 si 4);

Voi configura un ACL extins care să îndeplinească cerințele următoare:

Accesul stației 172.192.3.1 va fi interzis la portul 23 indiferent de server;

Oricare stație ce face parte din rețeaua 172.192.0.0/16 va putea să-și realizeze conexiunea TCP către orice server web;

Router(config)#access-list 150 deny tcp host 172.192.3.1 any eq telnet

Router(config)#access-list 150 permit tcp 172.192.0.0 0.0.255.255 any eq www

Pentru a aplica un ACL extins pe interfașa sau un terminal virtual se folosesc aceleași comenzi ca în cazul unui ACL standard.

Figura 20: Definirea și afișarea unei liste de acces extinsă

Configurarea unei liste de control al accesului cu nume

Listele de acces cu nume sunt doar un alt mod de a crea liste standard sau extinse. Ele au fost create pentru a ușura munca administratorilor. Odată ce se acumulează liste de acces pe interfața unui router, evidența bazată pe numere va fi mult mai dificil de urmărit, așa că cel care crează lista de acces are posibilitatea să denumească lista de acces în așa fel încât să nu existe întrebări de forma: ”Ce este ACL-ul acesta? Este important? Am nevoie de el?”. Numele ACL-ului poate defini chiar scopul pentru care a fost creat. Într-o astfel de listă se pot face declarații în orice poziție liberă cu avantajul că lista nu mai trebuie rescrisă.

Următoarele comenzi vor defini un ACL standard cu nume:

ip access-list standard PERMIT_SERVERS

permit host 172.123.12.3

permit host 172.123.12.20

permit any ,

iar pentru a afișa ACL-ul format se va folosi comanda show access-lists.

Figura 21 : Definirea și afișarea unei liste de acces cu nume

3.3.2 Masca Wildcard a unei liste de control al accesului

Masca Wildcard este folosită împreună cu liste de acces pentru a specifica un host individual, o rețea sau pentru specificarea range-ului unei singure sau a mai multor rețele. Se folosesc blocuri de diferite lungimi (64, 32, 16, 8 sau 4 biti) pentru a specifica range-ul unei rețele, ele reprezentând cheia pentru a înțelege cum funcționează masca wildcard. [8]

Pentru a specifica range-ul de adrese trebuie să alegem “următoarea” cea mai mare dimensiune a unui bloc, în funcție de necesitatea noastră.[8] De exemplu dacă vom avea nevoie să alocăm pentru 36 de rețele, vom avea nevoie de blocul ce are mărimea de 64. Dacă se dorește alocarea unui spațiu pentru 19 hosturi vom alege blocul ce are mărimea 32.

Wildcard este folosit împreună cu adresa gazdă sau cu o rețea pentru a-i specifica router-ului ce interval de adrese trebuie filtrat. Pentru a specifica un singur host adresa va arăta în felul urmator: 168.16.39.8 0.0.0.0

Cei patru zero reprezintă fiecare octet al adresei. Existența unui zero indică faptul că se va face un match între octetul de zero și octetul corespunzător adresei indicate. Pentru a indica faptul că un octet poate avea orice valoare, se va folosi valoarea 255. Următorul exemplu ne arată cum o subrețea cu masca pe 24 de biti este specificată cu ajutorul unei maști wildcard, spunându-i router-ului să facă match cu primii trei octeți, dar că cel de-al patrulea poate avea orice valoare: 168.16.39.0 0.0.0.255

O problemă este atunci când se dorește atribuirea unui mic interval dintr-o subrețea. Pentru a rezolva această problemă se vor folosi blocurile specificate mai sus. Deci nu vom putea, de exemplu, alege doar 24 rețele, deoarece trebuie specificat un range ce are valoarea unuia dintre blocurile de mai sus.

De exemplu, să presupunem că se dorește blocarea accesului unei parți din rețea, care variază de la 168.16.8.0-168.16.15.0. Pentru a realiza acest lucru vom avea nevoie de un bloc de 8, iar rețeaua va fi 168.16.8.0, cu masca wildcard 0.0.7.255. “7.255” determină router-ul să aleagă dimensiunea blocului. Prin cele două informații ip-ul și masca wildcard, router-ul știe că va trebui să înceapă de la 168.16.8.0 și să încheie la adresa 168.16.15.0, utilizănd un bloc cu lungimea de opt.

Atunci când lucrăm cu masca wildcard trebuie să ținem cont de următoarele două lucruri:

Fiecare dimensiune bloc trebuie să înceapă de la 0 sau sa fie un multiplu de marimea blocului. De exemplu, pentru un bloc cu mărimea de 32, range-ul va fi: 0-31, 32-63, etc.

Comanda „any” reprezinta acelasi lucru cu scrierea unei astfel de maști wildcard: 0.0.0.0 255.255.255.255.

În cazul aplicării unei măști wildcard unei liste de control al accesului se vor respecta următoarele reguli:

Bitii de 0 se vor verifica, se va realiza match între ei și adresa sursă sau destinație corespunzătoare acestora;

Bitii de 1 se vor ignora, nu se va realiza match între ei și adresa sursă sau destinație corespunzătoare acestora;

Figura 22 : Regulile folosite pentru măștile unei liste de acces

Tabel 2 : Regulile pentru măștile unei liste de acces

Masca wildcard este un instrument crucial atunci când se dorește crearea unei liste de acces, folosindu-se identic și atunci când se definesc liste de control al accesului standard sau extinse.

Implementarea unei liste de control al accesului pe o interfata a router-ului

Plasamentul și înțelegerea fluxului traficului este un lucru foarte important înainte de a implementa o listă de acces pe o interfață a unui router. Înțelegerea plasamentului și impactul unui ACL asupra traficului unei rețele sunt probleme frecvente pe care un administrator de rețea și le pune. Figura de mai jos descrie fluxul traficului pe o interfață a unui router. [9]

Figura 23 : Liste de acces de intrare/ieșire

După cum se poate observa în diagrama de mai sus, traficul circulă din rețea la interfața router-ului, iar exitul trece din interfața router-ului la rețea. În acest caz, profesioniștii care se ocupă de securitatea rețelei trebuie să manifeste o atenție deosebită. ACL-urile încep întâi cu o adresă sursă in configurație, iar apoi în destinația lor. În timp ce se configurează un ACL pe intrarea unei interfețe de rețea este important să observăm că toate rețelele locale sau gazde ar trebui să fie percepute ca surse, iar opusul se va aplica pentru interfața de ieșire.

Cel mai confuz lucru atunci când se lucrează cu ACL-uri este implementarea acestora pe interfața ce comunică cu o rețea externă. Revenind la diagrama de mai sus, se poate observa că traficul vine din rețeaua externă și adresele acesteia sunt considerate ca fiind adrese sursă, în timp ce toate adresele rețelei interne sunt adrese destinații. Pe interfața de ieșire, adresele rețelei interne sunt adrese sursă, iar adresele rețelei externe vor fi considerate adrese destinații.

Unele protocoale pun la dispoziție posibilitatea aplicării a două liste de acces pe o interfață: inbound și outbound. Dar există protocoale care au opțiunea de a aplica o singură listă de control al accesului care să verifice pachetele atat inbound, cât și outbound.

Editarea unei liste de control al accesului

Odată ce a fost configurată o listă de acces, aceasta nu mai poate fi editată prin schimbarea unui anumit statement. Ordinea acestor statement-uri reprezintă ordinea când au fost adăugate listei de control. Nu se pot insera noi statement-uri printre cele deja existente sau să putem șterge selectiv anumite linii ale listei de acces. Aceste lucruri reprezintă cea mai mare problemă atunci când se lucrează cu astfel de liste. Pentru a evita astfel problema, este recomandat ca lista ce se dorește a fi aplicată pe interfața unui ruter să fie definită într-un editor de texte, astfel încat să putem edita când și cum dorim lista înainte de a o aplica pe interfată. După terminarea definirii listei, se poate copia într-un ruter.

Voi presupune următorul scenariu:

O adresă a unui host din rețeaua noastră a fost introdusă greșit. Adresa IP a hostului era 192.168.2.70 și s-a introdus 192.168.2.67. Pentru a elimina această greșeală vom urma pașii următori:

Vom afișa listele de acces declarate prin utilizarea comenzii show running-config sau show access-lists .

Figura 24 : Afișarea listelor de acces folosind comanda show access-lists

Vom selecta textul din interfață prin selectare, ca mai apoi să-l copiem într-un editor de texte pentru a modifica textul.

Figura 25 : Copiere text

Figura 26 : Editare listă de acces

Voi dezactiva lista de acces folosind comanda no acces-list 1 . După modificările făcute listei se va copia din editor în interfața unde se dorește aplicarea listei, apoi se va rula apăsând butonul „enter”. Există posibilitatea ca să ruleze fară a apasa butonul „enter”.

Remarci în lista de control al accesului

Remarca în cadrul unei liste de acces este o armă foarte importantă în organizarea listelor. Aceasta pune la dispoziția administratorului posibilitatea adaugării unor comentarii/observații cu privire la intrările în listă, crescând capacitatea de a examina și înțelege pentru ce a fost definiă lista respectiva. O remarcă are un număr limitat de 100 de caractere, poziția ei este irelevanta, putând fi poziționată înainte sau după statusul deny sau permit.

Figura 27 : Declararea unei liste de acces ce conține o remarcă

Pentru a ușura munca administratorului de acces se folosesc aceste remarci în cadrul unei liste de acces. Pentru a vizualiza aceste remarci se folosește următoarea comanda: show run .

Figura 28 : Afișarea listei de acces cu nume

Monitorizarea și verificarea unei liste de control al accesului

Este întotdeauna bine să putem verifica configurația unui router. În tabelul de mai jos voi descrie câteva comenzi folosite pentru a verifica un router.

Tabel 3 : Comenzi pentru monitorizarea unei liste de acces [8]

Mai jos sunt capturi cu comenzile din tabelul de mai sus:

Figura 29 : Comanda „show access-list”

Figura 30 : Comanda „show access-list NR”

Figura 31 : Comanda „show ip access-lis”

Figura 32 : Comanda „show ip interface”

Figura 33 : Comanda „show running-config”

Debug-ul listei de control al accesului

Dacă se dorește verificarea configurației unei liste de acces se va folosi comanda următoare:

R# show access-list [numar|nume]

Rezultatul va permite monitorizarea numărului de pachete respinse sau acceptate, astfel putem determina dacă lista de acces funcționează corespunzător.

Există două tipuri de probleme ce pot fi întâmpinate la ACL-uri:

Un pachet ce trebuia blocat a fost lasat să treacă;

Un pachet ce trebuia să treacă a fost blocat.

Pentru a evita aceste probleme se poate realiza o depanare manuală a fiecarei liste folosind comanda urmatoare:

R# debug ip packet [numar|nume][detalii]

Primul parametru va peminte monitorizarea doar a pachetelor care sunt în corespondență cu intrările listei cu numărul/numele respectiv. Cel de-al doilea paramentru, „detalii”, va afișa informații detaliate despre pachete (exemplu: porturi sursa, porturi destinație, tipurile). Pentru a ieșii din modul de depanare se va folosi comanda „undebug all”.

Pentru a asigura o bună funcționalitate listei de acces este recomandat să folosim această comandă de depanare pentru a verifica și testa lista după ce a fost definită pe o interfață a router-ului.

Recomandari generale privind configurarea listelor de control al accesului

Listele de control al accesului sunt folosite ca un firewall pentru router-e, poziționându-se între rețeaua internă și rețeaua externă sau putând fi poziționate între două părți ale rețelei, pentru un control mai bun al traficului existent într-o anumită zonă a rețelei interne.

Pentru a beneficia de o securitate mai bună a unei liste de acces, configurarea trebuie făcută la limita router-router aflat la marginea rețelei interne, deoarece există un buffer folosit de rețeaua exterioară sau de o zonă mai puțin folosită din rețeaua proprie. Configurarea unei liste de acces se va face pentru fiecare protocol existent pe interfață unui router. Cu alte cuvinte, ar trebui definite astfel de liste pentru fiecare protocol activat pe o interfata dacă se dorește a avea un control asupra fluxului de trafic existent pentru protocolul respectiv. Putem configura liste de acces astfel încât traficul de intrare sau de ieșire, fie amândouă, sunt filtrate pe o interfață. Mai sunt folosite și pentru așa zisul policy routing, la filtrarea update-urilor și bineînțeles la oprirerea diferitelor atacuri cum ar fi: atacurile de tip DoS ( SYN attacks/smurf attacks), IP address spoofing, etc.

Figura 34 : Poziția unei liste de acces într-o rețea

De obicei, un administrator de rețea care folosește liste de control al accesului pentru a securiza rețeaua blochează IP-urile sursă :

ip-uri private care sunt specificare in RFC1918

ip-uri multicast 224.0.0.0/4

ip-uri care sunt rezervate adresei localhost 127.0.0.0/8

Unul dintre cele mai importante lucruri de care trebuie să ținem cont când definim o listă de acces este specificarea serviciilor folosite în managementul rețelei de calculatoare ( exemplu: telnet, snmp, ssh, etc).

Figura 35 : Adăugarea de statement-uri unei liste

Cele mai multe atacuri vin prin intermediul mesajelor de tip ICMP, deci va exista un statement în lista de acces declarată în care va filtra mesajele ICMP.

Dacă o listă de control al accesului se declară inbound, atunci se poate oferi permisiunea de trecere următoarelor mesaje de tipul ICMP:

Echo reply – Allows users to ping external hosts.

Source quench – Requests the sender to decrease the traffic rate of messages.

Unreachable – Unreachable messages are generated for packets that are administratively denied by an ACL.

Figura 36 : Mesaje ICMP pentru o listă inbound

Iar dacă o listă de control al accesului este declarată outbound, atunci se poate oferi permisiunea de trecere următoarelor mesaje de tipul ICMP:

Echo request – Allows users to ping external hosts.

Parameter problem – Informs the host of packet header problems.

Packet too big – Required for packet maximum transmission unit (MTU) discovery.

Source quench – Throttles down traffic when necessary.

Figura 37 : Mesaje ICMP pentru o listă outbound

Reguli pentru configurarea unei liste de control al accesului:

Figura 38 : Regulile unei liste de acces

Configurarea unei liste de control al accesului per-protocol: pentru fiecare protocol ce este activ pe interfata unui router este necesară definirea unei liste de acces.

Configurarea unei liste de control al accesului per-directie: aceste liste de acces definite pe o interfață controlează fluxul traficului existent pe o anumită direcție.

Configurarea unei liste de control al accesului pentru interfața: exista control al traficului pentru o anumita interfață a unui device.

Avantajele folosirii listelor de control al accesului

Există o varietate de motive pentru care folosim liste de acces. Motivul principal este de a oferi un nivel de bază pentru securitatea rețelei. Aceste liste nu sunt la fel de complexe pentru protecție ca firewall statefull, dar ele nu oferă protecție pe interfețe de viteză mai mari în cazul în care viteza este importantă și firewall-urile pot fi restrictive. ACL-urile sunt, de asemenea, folosite pentru a restricționa actualizări de rutare de la colegii de rețea și pot avea un rol esențial în controlul definirii debitului pentru traficul de rețea. Cel mai important motiv pentru care se folosesc listele de control al accesului este ușurința cu care se pot implementa, precum și calitatea ridicată a securității pe care acestea o pot oferi unei retele de calculatoare.

Dacă nu vor fi configurare ACL-uri pe interfețele unui router, toate pachetele ce vor traversa router-ul vor fi permise pe toate interfețele router-ului, astfel putând apărea probleme ce periclitează siguranța rețelei. Acestea asigura un nivel primar de securitate pentru accesarea rețelei.

Listele de control al accesului pot oferi permisiunea unui host de a accesa o parte a rețelei și pot interzice unui alt host accesarea aceleiași zonă de rețea. În figura de mai jos host-ului A îi este permisă accesarea rețelei Resurse Umane, dar host-ul B nu poate accesa această parte de rețea. Se mai pot folosi și pentru filtrarea tipului de trafic. De exemplu, putem permite traficul de e-mail și blocarea traficului Telnet.

Figura 39 : Filtrarea traficului

4. Clasificarea listelor de control al accesului

Există mai multe tipuri de liste de control al accesului. În funcție de necesitatea de securitate, administratorul rețelei poate alege următoarele liste de control al accesului:

După criteriile de filtare, listele de control al accesului (se mai numesc și liste de control al accesului statice – reprezentând acele liste de acces care nu-și schimbă structura) pot fi:

Liste de control al accesului standard;

Liste de control al accesului extinse.

Al doilea tip este reprezentat de listele de control al accesului complexe (în anumite situații acestor liste li se pot adăuga noi reguli de filtrare):

Liste de control al accesului dinamice (Lock-and-Key);

Liste de control al accesului bazate pe timp;

Liste de control al accesului reflexive.

4.1 Liste de control al accesului complexe

Atunci când există funcționalități suplimentare pe listele de acces standard sau extinse, se vor defini liste care se numesc liste de control al accesului complexe sau de mari dimensiuni. Ele sunt de trei tipuri: dinamice, bazate pe timp și reflexive.

4.1.1 ACL-uri dinamice (Lock-and-Key)

Listele de control al accesului dinamice sau Lock-and-Key sunt folosite doar pentru filtrarea traficului IP. Acest tip de listă, în pricipiu, se bazează pe conectivitatea Telnet față de router, autentificare și liste de control al accesului extinse. Ele pot fi configurate în rețea folosindu-se listele de acces extinse dinamic. Acest lucru poate fi folosit în combinație cu alte liste de acces standard și cu liste statice de acces extinse.

Atunci când se configurează o lista Lock-and-Key, utilizatorul poate oferi acces temporar unui IP care în mod normal este blocat. La declanșare, această listă, reconfigurează interfața pentru a se oferi o permisiune temporară utilizatoriilor de a accesa hostul dorit. Ulterior, interfața va fi din nou reconfigurată pentru a ajunge la starea inițială. Pentru ca un utilizator să poată avea acces la un host printr-un router care are pe interfața definită o listă de acces dinamică trebuie ca, în primul rând, utilizatorul să deschidă o sesiune Telnet către router. După inițierea unei sesiuni standard Telnet, lista încearcă în mod automat autentificarea user-ului. Dacă el va fi autentificat cu succes, atunci i se va oferi accesul temporar la hostul dorit.

Aceste liste oferă aceleași beneficii ca și listele de control al accesului statice standard și extinse, dar în plus oferă și următoarele avantaje:

Folosesc un mecanism individual de autentificare a utilizatoriilor;

Asigură un management simplu pentru rețelele mari;

În cele mai multe cazuri, acestea reduc cantitatea de prelucrare a traficului;

Reduc posibilitatea de penetrare a rețelei de către hackeri.

Când se folosesc ACL-urile dinamice?

Voi descrie mai jos două cazuri când se pot folosi aceste liste de acces:

Atunci când se dorește ca un utilizator (sau un grup de utilizatori) să acceseze un host dintr-o rețea. Utilizatorul (sau grupul de utilizatori) va fi autentificat cu ajutorul listei dinamice, apoi i se va permite accesul pentru o perioadă de timp limitată către hostul respectiv.

Atunci când se dorește ca un subset de hosturi dintr-o rețea locală să acceseze un host care este protejat de un firewall. Cu liste de tipul lock-and-key putem oferi accesul la acel host subsetului de hosturi. Este necesară ca autentificarea să fie făcută prin intermediul unui server + TACACS sau prin alte servere de securitate, înainte ca să-i fie permis accesul.

Cum lucreaza ACL-urile dinamice?

Un user deschide o sesiune de tip Telnet la limita unui router (firewall) configurat cu o astfel de listă. User-ul se conectează prin terminalul virtual la portul router-ului.

Software-ul Cisco recepționează pachetul Telnet, deschide o sesiune Telnet, solicită o parolă și efectuează un proces de autentificare a utilizatorului. Utilizatorul trebuie să treacă de autentificare înainte ca accesul la router sa-i fie permis. Procesul de autentificare poate fi făcut de router sau de un server de securitate central, cum ar fi TACACS sau RADIUS.

Atunci când utilizatorul trece de autentificare, acestea sunt înregistrate în afara sesiunii Telnet și software-ul creează o intrare temporară în lista de control al accesului dinamic (pentru fiecare configurare creată, intrarea temporară poate fi limitată la un range de rețele la care i se oferă acces temporar utilizatorului).

User-ul schimbă datele prin intermediul firewall-ului.

Intrarea temporară creată în lista de acces este ștearsă de software atunci când se termină timpul alocat sau de către administratorul de sistem. Timeout-ul poate fi configurat ca un timeout inactiv sau ca un timeout absolut.

Intrarea temporară creată în lista de acces dinamică nu este ștearsă automat atunci când utilizatorul termină sesiunea de lucru, ea fiind ștearsă atunci când se ajunge la acel timeout sau până când este eliminată de administratorul sistemului.

Figura 40 : Modul de funcționare a unei liste de control al accesului dinamică

Lock and key permite accesul unui eveniment extern (de exemplu o sesiune Telnet) pentru a deschide firewall-ul. În timpul acestei acțiuni, router-ul este predispus unui atac de tipul spoofing.

Atunci când lock-and-key se declanșează, este creată dinamic o intrare temporară în firewall pentru accesul user-ului. În timp ce această deschidere există, un alt host ar putea clona adresa utilizatorului autentificat pentru a obține acces în spatele firewall-ului. Lock-and-Key nu determină care adresă face acel atac de tipul spoofing, problema fiind clasificată în acest caz ca o îngrijorare pentru utilizator. Spoofing-ul este o problemă inerentă pentru toate listele de control al accesului și lock-and-key nu abordează în mod deosebit acest tip de atac.

Pentru a preveni atacul de tipul spoofing, se configurează o criptare astfel încât traficul să fie criptat de la hostul gazdă la un asigurat al router-ului și decriptat local pe interfața router-ului unde este definit lock-and-key. Tot traficul care folosește lock-and-key va fi criptat la intrarea în router. În acest fel hackerii nu pot clona adresa sursă deoarece nu pot duplica criptarea sau să se autentifice.

După configurarea unui lock-and-key pe o interfață, performanța router-ului poate fi afectată în următoarele moduri:

Când un lock-and-key este declanșat, lista de control al accesului dinamică forțează o listă de acces să fie reconstruită pe „silicon switching engine-SSE”. Acest lucru duce la încetinirea router-ului.

Aceste liste necesită facilitatea unui timeout idle (chiar dacă timeout-ul este default) și prin urmare SSE-ul nu poate fi pornit.

Atunci când utilizatorii declanșează un lock-and-key al unui router, vor fi create intrări suplimentare listei de acces de pe interfața router-ului. Intrările vor fi eliminate dinamic din listă după ce timeout-ul va expira. Listele de acces mari pot deteriora performanța schimbului de pachete, deci dacă observați probleme referitoare la performanță ar trebui să revizuiți configurația router-ului pentru a vedea dacă este nevoie de o eliminare a intrărilor temporare ale listelor de acces generate de către lock-and-key.

Tabel 4 : Configurarea unei liste de acces dinamică [10]

Recomandări privind configurarea listelor de control al accesului dinamic:

nu se va defini decât o listă de acces dinamică pentru fiecare lista declarată, deoarece doar prima listă dinamică definită va fi luată în considerare;

numele asignat listei va fi unul unic;

lista dinamică va avea aceleași atribute pe care le are și lista statică, iar atributele intrărilor temporare vor fi moștenite de la lista statică;

va fi configurat ca și protocol Telnet-ul pentru ca user-ii să aibă posibilitatea deschideri unei sesiuni și să se poată autentifica;

timeout-ul va fi configurat astfel încât intrarea să poată rămâne în listă până va fi eliminată manual de către administratorul sistemului;

dacă vom configura un timeout inactiv, valoarea timeout-ului inactiv trebuie să fie egală cu valoarea timeout-ului inactiv al WAN-ului;

dacă vor fi configurate amândouă timeout-urile, adică cel inactiv și absolut, atunci cel absolut trebuie să fie mai mare decât cel de inactivitate;

se va folosi comanda „access-list dynamic-extend” doar în cazul în care user-ului nu îi ajunge timpul alocat;

toate intrările ce sunt adăugate dinamic vor fi puse la începutul listei;

niciodată nu vor fi scrise în NVRAM intrările temporare ale listei.

Pentru a verifica dacă o listă de acces dinamică a fost configurată corect pe un router, putem să verificăm conexiunea prin solicitarea unui user să o testeze. Deci, utilizatorul va fi hostul căruia i se va permite accesul pe baza listei de acces dinamic, iar acesta va trebui să se autentifice prin AAA și să fie autorizat să configureze. Utilizatorul va trimite o sesiune Telnet la router, va permite sesiunii să închidă, iar apoi va încerca să acceseze un host din partea cealalată a router-ului. Utilizatorul trebuie să încerce să acceze hostul folosind protocolul IP.

Următorul exemplu ilustrează cazul în care utilizatorul s-a autentificat cu succes. Se poate observa că sesiunea Telnet va fi închisă după introducerea parolei și este autentificat. Intrarea temporară la lista dinamică este creată și hostul care a lansat sesiunea Telnet va avea acces.

R% telnet compani

Trying 168.52.21.1 …

Connected to compani.exemplu.com.

User Acces Verification

Password: Connection closed by foreign host

Pentru a vizualiza listele de acces dinamic definite pe router putem folosi comanda show access-lists .

Comanda :

R# clear access-template [ nr_lista|nume] [dinamic_nume] [sursa] [destinatie] ștergere listele de acces dinamice specificate.

Fie dată următoarea topologie. Se va configura o listă de acces dinamică pe interfața routerului R3 (LAN3).

Figura 41 : Topologie rețea

În topologia de mai sus, user-ul PC2 este administratorul rețelei și dorește să acceseze un PC din rețeaua 10.1.3.0 /24, rețea aflată la granița router-ului LAN3.

Se va configura o listă de acces dinamică pentru a permite traficul FTP și HTTP prin router-ul LAN3, dar acest lucru va fi posibil doar pentru o perioadă limitată de timp. Pentru a facilita acest lucru, lista de control al accesului va fi configurată pe interfața S0/1 a router-ului.

Primul pas în realizarea a ceea ce mi-am propus este crearea unei logări cu nume și parolă. Voi alege username-ul Anton și parola 1234. Pentru asta trebuiesc executate următoarele comenzi:

.

Figura 42 : Creare logare

Pasul al doilea este deschiderea unei conexiuni de tipul telnet la router de către un utilizator. Va fi configurată să fie deschisă timp de 15 minute și să se închidă automat chiar dacă este accesată sau nu.

Figura 43 : Definirea unei conexiuni telnet

Cel de-al treilea pas constă în aplicarea listei de acces dinamică pe interfața S0/0 a router-ului LAN3.

Figura 44 : Aplicarea listei pe intrefața s0/0

Odată ce userul se autentifică prin telnet, autocomanda devine efectivă și sesiunea telnet este incheiată. Acum, userul poate accesa rețeaua 10.1.3.0 \24. Fereastra sesiunii se va închide după 5 minute de inactivitate. Pentru asta, se vor executa următoarele comenzi:

Figura 45 : Închidere sesiune după 5 minute de inactivitate

4.1.2 ACL-uri reflexive

Listele de control al accesului reflexive permit pachetelor să fie filtrate pe baza informațiilor aflate la nivelele superioare. Se pot folosi listele de acces reflexive pentru a permite traficului aflat în sesiuni provenite de la rețeaua noastră să treacă, dar care refuză traficul din afara rețelei. Aceasta este efectuată de către filtrarea reflexivă, care este un tip de filtrare de sesiune.

Ele pot fi definite doar cu ajutorul listelor de control al accesului extinse, având parametru un nume și împreună cu alte liste de acces statice, excluzându-se definirea acestora cu ajutorul listelor de acces numerotate sau standard cu nume.

Figura 46 : Funcționalitatea listelor de control al accesului reflexive

Care sunt beneficiile acestor liste?

Listele de acces reflexive reprezintă un aspect foarte important al securității rețelei noastre împotriva hackerilor de rețea, putând fi incluse într-o apărare firewall. Aceste liste furnizează un grad de protecție împotriva spoofing-ului și câtorva atacuri de tipul denial-of-service. Listele de acces reflexive sunt ușor de manevrat, iar comparativ cu listele de control al accesului de bază oferă un control mult mai comprehensiv vizavi de pachetele care pătrund rețeaua.

Ce este o listă de control al accesului reflexivă?

Listele de control al accesului reflexive sunt similare în mai multe privințe cu alte liste de acces. Acestea cuprind declarații de condiții (intrări) care definesc criteriile pentru permiterea pachetelor IP. Evaluarea acestor condiții este făcută în ordine, iar atunci când se va face match nu se vor mai face evaluări și pachetul este respins sau i se va permite trecerea în funcție de rezultatul match-ului. Ele se disting în mare parte față de alte tipuri de liste de acces, având doar intrări temporare care sunt create automat atunci când se inițializează o nouă sesiune IP și, implicit, sunt eliminate atunci când expiră sau este terminată sesiunea.

Listele de acces reflexive nu sunt în sine aplicate pe interfața router-ului, ci sunt imbricate într-o listă extinsă cu nume, care este aplicată pe interfața router-ului. În același timp, listele de acces reflexive nu posedă condiția prestabilită implicit „deny all traddic” de la sfârșitul oricărei liste de acces, tocmai datorită suprapunerii.

Împreună cu listele standard de bază și listele de acces extinse se poate aproxima sesiunea de filtrare prin intemediul cuvântului cheie „established” și folosind comanda „permit”. Cuvântul cheie „established” filtreză pachetele TCP bazate pe oricare dintre biții ACK sau RST ar fi setat (setarea bițiilor ACK sau RST indică faptul că pachetul nu este primul în sesiune, și așadar, faptul că pachetul aparține unei sesiuni stabilite). Acest criteriu de filtrare ar fi o parte a unei liste de acces aplicată permanent unei interfețe a unui router.

Dar listele de acces reflexive asigură o variantă mai sigură a sesiunii de filtrare, care este mai greu de imitat deoarece criteriile de filtrare trebuie să fie potrivite înainte ca unui pachet să-i fie permisă intrarea (de exemplu, nu doar biții ACK si RST sunt controlați, ci și adresele sursă, destinație și numerele portului). De asemenea, filtrarea sesiunii folosește filtre temporare care sunt eliminate când o sesiune este încheiată. Acest lucru limitează oportunitatea atacului hacker-ului la o fereastră de timp mai mică.

Mai mult decât atât, metoda precedentă de folosire a cuvântului cheie „established” este disponibilă doar pentru pachetele TCP. Pentru celelalte protocoale de nivel superior (UDP, ICMP, etc.) trebuie, așadar, fie ca tot traficul care vine să fie permis, ori ca toate posibilele perechi de adrese sursă-destinație și host-port pentru fiecare protocol să fie definite (acest lucru poate epuiza spatiul NVRAM).

Unde se configurează listele de acces reflexive?

Listele de control al accesului reflexive se configurează la marginea router-router care transmit traficul dintre o rețea internă și o retea externă. De cele mai multe ori acestea sunt routere firewall.

Cum funcționează listele de acces reflexive?

O listă de control al accesului reflexivă este declanșată atunci când o nouă sesiune IP de un nivel superior (TCP sau UDP) este inițializată din interiorul rețelei noastre cu un pachet care se deplasează către rețeaua externă. Odată activată, lista de acces reflexivă generează o nouă intrare temporară. Această intrare va permite traficului să acceseze rețeaua noastră dacă acesta este parte a sesiunii, însa nu va permite traficului să intre în rețea dacă el nu face parte din sesiune.

Spre exemplu, dacă un pachet TCP outbound este direcționat către afara rețelei noastre și dacă pachetul este primul pachet al sesiunii TCP, atunci va fi creată o nouă intrare temporară a listei de acces reflexivă. Această intrare este adăugată listei care se aplică traficului inbound. Intrarea temporară va avea specificațiile urmatoare:

O intrare de tip „permit”;

Intrarea specifică același protocol (TCP) ca originalul pachet TCP outbound;

Intrarea specifică aceleași adrese sursă și destinație ca pachetul TCP outbound, cu excepția faptului că adresele sunt schimbate;

Intrarea specifică aceleași sursă și destinație numere port ca pachetul original TCP outbound, cu excepția că numerele port sunt schimbate (caracteristicile acestea sunt aplicate doar în cazul pachetelor TCP și UDP; alte protocoale, ca ICMP și IGMP nu posedă numere port și, astfel, alte criterii se vor aplica);

Traficul TCP inbound va fi evaluat împotriva intrării până cand aceasta va expira. Dacă un pachet TCP inbound se potrivește intrării, atunci pachetul inbound va fi redirecționat în rețeaua noastră;

Intrarea va expira (sau va fi eliminată) după ce ultimul pachet al sesiunii traversează prin interfața router-ului;

Dacă niciun pachet care să aparțină sesiunii deschise nu este detectat într-o perioadă de timp configurată (perioada timeout), atunci intrarea va expira.

Intrările temporare ale listelor de acces reflexive sunt elimintate la sfârșitul sesiunii. Pentru sesiunile TCP intrările sunt eliminate la 5 secunde după ce sunt detectate două seturi de biți FIN sau imediat ce un pachet TCP se potrivește cu setul de biți RST (două seturi de biți FIN existenți într-o sesiune indică faptul că acea sesiune este pe cale să se termine; fereastra de 5 secunde permite să se închidă cu eleganță sesiunea; un set de biți RST indică o închidere bruscă a sesiunii). În caz contrar, intrarea temporară este eliminată după ce niciun pachet al sesiunii nu a putut fi detectat pentru o perioadă configurată de timp (perioada timeout).

Pentru UDP și alte protocoale, sfârșitul sesiunii este determinat diferit față de protocolul TCP. Deoarece alte protocoale sunt considerate servicii fără conexiune (fara sesiune), nu există nicio sesiune care să monitorizeze informația încorporată în pachete. Prin urmare, sfârșitul unei sesiuni este considerat atunci când niciun pachet al sesiunii nu a fost descoperit într-o perioadă de timp configurată (perioada timeout).

Listele de acces reflexive au unele restricții. Ele nu funcționează cu unele aplicații care folosesc numere port care se schimbă în timpul unei sesiuni. De exemplu, dacă numerele port ale unui pachet de returnare sunt diferite față de pachetul original, pachetul de returnare va fi refuzat chiar dacă pachetul este de fapt parte a aceleași sesiuni. Un exemplu este aplicația TCP cu cererea FTP care folosește numere port care se schimbă. În cazul listelor reflexive, dacă se inițiază o cerere FTP dinăuntrul rețelei noastre, cererea nu va fi terminată. În schimb, trebuie utilizat pasivul FTP când se creează cereri din interiorul rețelei noastre.

Listele de acces reflexive se pot configura pe interfața externă sau pe interfața internă (interfața conectându-se la o rețea externă sau interfața conectându-se la o rețea internă). Mai jos voi descrie cele două cazuri.

În prima topologie vor fi configurate liste de control al accesului reflexive pentru interfața externă Serial1. Aceasta va împiedica traficul să intre în router și implicit în rețeaua internă, excepție făcând traficul ce aparține sesiunii deja stabilite în cadrul rețelei interne.

Figura 47 : Aplicarea listei reflexive

În cea de-a doua topologie listele de control al accesului reflexive vor fi setate pe interfața internă Ethernet 0. Acest fapt va permite traficului extern să acceseze serviciile din zona Demilitarized (DMZ), precum și serviciile DNS, însă va împiedica traficul IP să părtrundă în rețeaua internă, excepție făcând traficul ce face parte din sesiuni deja stabilite în cadrul rețelei interne.

Figura 48 : Aplicarea listei reflexive 2

Definirea listelor de acces reflexive se face astfel:

Se va folosi o intrare într-o listă de acces extinsă cu nume, această intrare folosind cuvântul cheie „reflect”;

Dacă se va configura lista de control al accesului pentru o interfață externă, atunci lista de acces extinsă cu nume va trebui să fie aplicată outbound traficului;

Dacă se va configura o listă de control al accesului pentru o interfață internă, atunci lista de acces extinsă cu nume trebuie să fie aplicată inbound traficului.

Pentru a defini listele de control al accesului reflexive, se folosesc următoarele comenzi, începând cu modul de configurație global:

Tabel 5 : Configurarea unei liste reflexive [11]

Fie dată următoarea topologie în care se va configura o listă de acces reflexivă.

Figura 49 : Topologie rețea

Topologia de mai sus ne va arăta cum un administrator de rețea aplică o listă de acces reflexivă pentru a permite traficului de tip ICMP „outbound” și „inbound”, în timp ce este permis doar traficul de tip TCP existent în interiorul rețelei. Deasemenea tot traficul ce nu este de tipulul ICMP sau TCP va fi respins. Această listă de acces reflexivă va fi aplicată „outbound” pe interfața routerului R2.

Primul pas în rezolvarea acestei probleme este contruirea listei reflexive. Pentru asta voi permite routerului să urmărească traficul inițiat din retele exterioare. Pentru rezolvarea problemei presupuse mai sus voi configura routerul în modul următor:

Figura 50 : Definirea listei reflexive

Al doilea pas constă în definirea unei politici de intrare ce se bazează pe monitorizarea de către router a traficului ce intră în rețeaua internă și verificarea traficului de unde a fost inițiat, doar dacă a fost inițiat din interior. Este necesară crearea unei legături între „OUTBFILTERS”, numit „TCPTRAFFICK” și „INBFILTERS” ale listei de control al accesului reflexivă. Pentru asta, pe interfata routerului i se va defini urmatoarea configuratie:

Figura 51 : Definirea listei reflexive INNFILTERS

Pasul trei, și ultimul pas, constă în aplicarea listei de acces reflexive pe interfața routerului atât „inbound”, cât și „outbound”. Următoarele comenzi vor rezolva această problemă.

Figura 52 : Aplicarea listelor reflexive pe interfața f0/0

După parcurgerea celor trei pași lista va arăta în felul următor:

Figura 53 : Afișarea listelor definite

După ce am definit lista de acces reflexivă cu restricțiile dorite este nevoie să testăm eficiența sa. Mai jos se pot urmări efectele listei:

Figura 54 : Testarea eficienței listelor 1

Figura 55 : Testarea eficienței listelor 2

În primele două imagini se poate observa că traficul din rețeaua internă nu este afectat, în cazul în care se execută comanda „ping” din rețeaua 10.1.2.0 către celelalte două rețele: 10.1.3.0 și 10.1.1.0, se primesc reply-uri. Efectele acestea se pot observa și pentru rețeaua 10.1.3.0 care triminte un ping către celelalte două rețele: 10.1.2.0 și 10.1.1.0. Dar dacă se încearcă trimiterea unui ping din rețeaua 10.1.1.0 către celelalte rețele, adică către 10.1.2.0 sau 10.1.3.0, se poate observa în imaginea de mai jos că nu există reply-uri, îi este trimis un mesaj în care i se comunică PC1-ului că nu poate comunica cu cele două calculatoare din rețelele de mai sus.

Figura 56 : Testarea eficienței listelor 3

4.1.3 ACL-uri bazate pe timp

Ce sunt ACL-urile bazate pe timp?

ACL-urile bazate pe timp sunt tipuri de liste de control al accesului care permit accesul la rețea în funcție de oră sau de zi. Funcția sa este similară cu a unei liste de acces extinsă, dar implementarea sa este facută prin crearea unui interval de timp care definește anumite ore ale unei zile sau chiar săptămâni. Intervalul de timp este creat pentru a fi identificat printr-un nume specific și se va face referință la el printr-o funcție. Restricțiile timpului sunt impuse cu ajutorul funcției. Acestea sunt utile atunci când se dorește impunerea unei resticții pe traficul de intrare sau ieșire într-o anumită perioadă a zilei. De exemplu, vom aplica o listă de control al accesului bazată pe timp dacă se dorește ca accesul la internet să fie făcut doar într-un anumit interval orar al zilei sau se permite accesul la un anumit server doar în timpul orelor de curs. Intervalul de timp se bazează pe ceasul de sistem al router-ului. Sincronizarea funcționează cel mai bine cu NTP (Network Time Protocol), dar se poate folosi fără probleme și ceasul router-ului.

Figura 57 : Liste de control al accesului bazate pe timp

Avantajele folosirii unei liste de control al accesului bazate pe timp:

Oferă un control mult mai mare administratorului rețelei pentru a permite sau a refuza accesul la resursele retelei;

Permite administratorului rețelei să controleze mesajele de logare. Intrările unui ACL pot autentifica traficul în anumite perioade ale zilei, dar nu în mod constant. Prin urmare, administratorul rețelei poate refuza pur și simplu accesul la rețea fără a analiza jurnalele generate în timpul orelor de vârf.

Tabelul 6 : Configurarea unei liste de acces bazate pe timp

Câteva observații importante atunci când se lucrează cu liste de acces bazate pe timp:

Intervalul de timp, adică time-range, va avea un nume unic, va începe întotdeauna cu o literă și nu va conține spații;

Când va fi folosit argumentul „absolut”, lista de acces bazată pe timp poate fi folosită doar o singură dată;

Acest argument poate avea și timp de început, cât și timp de sfârșit, adică un interval sau doar unul dintre aceste două caracteristici. Dacă va avea doar timp de început sa va considera că se sfârșeste în anul 2035, iar dacă va avea doar timp de sfârșit, timpul de început va fi considerat atunci când se va aplica acea listă;

Argumentul time-range poate fi aplicat atât pe o listă care este numerotată cât și pe o listă cu nume;

Comanda „periodic” se va putea folosi ori de câte ori se va configura intervalul de timp.

Liste de control al accesului statice

ACL-uri standard

Listele de acces standard filtrează traficul existent într-o rețea doar pe baza adresei IP sursă.

Figura 58 : Pachetul IP

Listele de acces ajută router-ul să controleze pachetele existente în rețea pe baza unor criterii definite de administratorul rețelei. Scopul acestei filtrări este prevenirea traficului nedorit în rețea sau fie prevenirea atacurilor de penetrare a rețelei de către hackeri sau pur și simplu pentru limitarea accesului unor angajați ai firmei. Astfel, aceste liste pur și simplu fac parte din politicile de securitate ale firmei.

De asemenea, ele pot fi utilizate pentru a filtra actualizările de routare, pentru prioritizarea pachetelor și pentru filtrarea pachetelor într-un VPN.

Atunci când se definește o listă de control al accesului standard, administratorul de rețea trebuie să știe ce pachet dorește să filtreze și unde să poziționeze lista în rețea.

De exemplu, unuia dintre calculatoarele (le vom denumi pe fiecare, iar acestuia ii vom da numele Bob) unei rețele nu i se va permite accesul la server1, iar unui alt calculator (acesta se va numi Larry), din aceeasi rețea, i se va oferi această permisiune. Topologia de mai jos va ilustra rețeaua noastră:

Figura 59 : Topologie rețea

Se pot defini liste de acces pentru filtrarea traficului pe oricare interfață a celor trei routere. Punctele cele mai importante unde se pot aplica aceste liste sunt marcate cu săgeți cu linie întreruptă, deoarece traficul ce trebuie filtrat este cel provenit de la calculatorul pe care l-am numit „Bob”. Se va aplica o listă de acces standard pentru a opri accesul acestuia la server1. Aceasta poate fi aplicată fie pe R1, fie pe R3. Deci vor fi două întrebări: „Pe care router se aplică lista?” și „Pe ce interfață trebuie aplicată lista?”. În cazul în care lista a fost aplicată pe R1, mai jos voi ilustra procesul intern pe care îl execută router-ul atunci când filtrează pachetele.

Figura 60 : Operatiile unui router

În general, putem filtra pachetele de intrare și ieșire definind o listă de acces pe fiecare interfață a router-ului. Câteva caracteristici ale unei liste de acces:

Pachetele pot fi filtrare când intră pe interfață, înainte de decizia de routare;

Pachetele pot fi filtrare când ies pe interfață, după decizia de routare;

„Deny” este cuvântul cheie folosit de softul unui router Cisco pentru a sugera că pachetul va fi filtrat;

„Permit” este cuvântul cheie folosit de softul unui router Cisco pentru a sugera că pachetul nu va fi filtrat;

La sfârșitul fiecărei liste de acces va exista statement-ul implicit „deny all traffic”. Prin urmare, dacă pachetul nu s-a potrivit cu niciun statement al listei de acces, acesta va fi blocat.

Configurarea unei liste de control al accesului standard

Comanda pentru definirea unui ACL standard este următoarea:

access-list nr {permit|deny} sursa [wildcard_sursa]

Un ACL este o listă de comenzi, ordinea fiind cea în care au fost introduse în listă. Dacă la un moment dat apare o potrivire între pachet și un statement al ACL-ului atunci pachetului i se va permite să treacă sau va fi respins în funcție de cuvântul cheie pe care îl va avea statement-ul: permit sau deny. ACL-urile standard au numere între 1 și 99 sau 1300 și 1999. Există trei pați atunci când se configurează o astfel de listă:

Pasul 1: Locul (routerul și interfața) și direcția (in sau out) pe interfață:

ACL-urile standard trebuie plasate cât mai aproape de destinație.

Filtrarea este făcută doar după IP-ul sursă.

Pasul 2: Se va ține cont de configurarea făcută:

Lista are la bază o căutare secvențială, cu alte cuvinte dacă se găsește o potrivire cu unul dintre statement-urile listei și informațiile existente în header-ul pachetului, verificarea se termină și se va decide ce se va întampla cu pachetul, dacă este respins sau dacă i se va da voie să treacă mai departe.

Dacă nu va exista nicio potrivire, pachetul va fi respins deoarece există un statement implicit la finalul ACL-ului.

Pasul 3: Activarea ACL-ului pe router-ul și direcția corecte se face folosind următoarea comandă: ip access-group nr {in|out} .

Tabel 7 : Comenzile folosite pentru o listă de acces standard [12]

Tabel 8 : Lista parametriilor listelor de acces standard [12]

ACL-uri extinse

Listele de control al accesului vor fi identificate după numărul aflat în intervalul 100-199 și intervalul 2000-2699, inclusiv. Vor fi plasate cât mai aproape de sursă, deoarece ele cuprind informațiile atât despre sursă, cât și despre destinație. Acestea filtreaza traficul după informațiile următoare: adresa IP sursă-destinație aflată în header-ul pachetului sau după unele câmpuri aflate în header-ul de nivel 4. Aceste informații sunt următoarele: porturile sursă și destinație, putând filtra și după un anumit protocol.

Figura 61 : Aplicarea unei liste extinse

La fel ca listele standard, cele extinse pot fi definite pe interfață atât pentru pachetele care ies, cât și pentru cele care intră, fiind tot o căutare secvențială. Diferența dintre cele două tipuri de liste este varietatea de câmpuri ale pachetului pentru care se face comparația. O declarație a unei liste extinse poate examina mai multe părți ale header-ului pachetului, dar ca pachetul să poată fi respins sau să-i fie permisă trecerea trebuie ca toți parametrii să se potrivească declarației. Parametrii pot fi: tipul protocolului, adresa IP sursă, portul sursă, adresa IP a destinației și, nu în ultimul rând, numărul portului destinație. Existența unui număr de protocol este posibilă doar dacă protocolul va fi configurat UDP sau TCP.

Această comparația mai amănunțită face ca aceste liste extinse să fie mult mai utile și complexe față de listele standard.

Figura 62 : Header-ul Pachetului IP

Tabel 9 : Comparație între liste de acces extinse și standard [13]

Tabel 10 : Comenzile folosite pentru o listă de acces standard [13]

Pentru filtrarea după un anumit port sau a unui tip de mesaj, se pot folosi următorii operanzi:

Eq: match-ul se face doar pachetelor care au portul egal cu cel definit în listă;

Gt: match-ul se face doar pachetelor care au portul mai mare decât cel definit în listă;

Host: doar hostul cu IP destinație egal cu IP-ul definit în listă;

Lt: match-ul se face doar pachetelor care au portul mai mic decât cel definit în listă;

Neq: match-ul se face doar pachetelor care nu au portul egal cu cel definit în listă;

Range: match-ul se face doar pachetelor care au numărul portului în intervalul dat;

Comparație între ACL dinamice și ACL statice

Un avantaj foarte mare pe care ACL-urile dinamice îl au față de ACL-urile statice este acela că pot primii noi reguli. Acest aspect poate ajuta foarte mult un administrator de rețea, nemaifiind nevoit să șteargă toată lista și putând insera noi reguli în ACL-ul dinamic. Un control foarte bun asupra accesului la resursele unei rețele se poate realiza definind ACL-uri dinamice și utilizatori cărora li se dă drept de acces la rețea. Aceștia au acces la resurse o perioadă predefinită de timp. Prin folosirea listelor reflexive s-a putut observa că se realizează o blocare totală a celor din exterior care doresc să acceseze rețeaua, fără a bloca accesul din interior spre exterior. Iar dacă avem nevoie ca unele filtrări să fie făcute într-o anumită perioadă, atunci listele bazate pe timp sunt cea mai bună alegere.

De ce folosim liste de control al accesului?

Există o varietate de motive pentru care sunt utilizate listele de control al accesului. Primul motiv este că oferă un nivel de securitate de bază, iar pentru o rețea și pentru administratorul de rețea aceste liste reprezintă un instrument foarte la îndemână și foarte ușor de folosit. Nu oferă o protecție așa de complexă și de profundă ca un firewall, dar poate oferi protecție pentru traficul ce traversează o interfață a unui router, neinfluențând viteza traficului așa cum o poate face un firewall, impunând niște restricții. Un alt motiv destul de important pentru a folosi liste de acces este că acestea pot restricționa update-urile de routare pe care le pot face colegii de rețea și mai pot avea un rol destul de important în definirea debitului rețelei.

O rețea de calculatoare se poate confrunta cu o multitudine de atacuri, cel mai des întâlnit fiind atacul de tipul Dos (denial of service). Prin folosirea listelor de acces putem evita ca rețeaua să cadă la aceste atacuri. Aceste liste pot detecta atacurile făcute în sistem sau chiar le pot preveni.

Următoarele atacuri pot fi prevenite folosind liste de acces:

Atacuri de tip spoofing;

Atacuri SYN ;

Atacurile de tipul Smurf;

Filtrarea mesajelor ICMP, acest trafic fiind folosit de cele mai multe ori pentru a produce atacuri de tipul denial of service (DoS).

5.1 Utilizarea ACL-urilor pentru a opri atacurile asupra unei rețele

Pentru un mai bun control asupra securității unei rețele, administratorul respectivei rețele poate folosi aceste liste de control al accesului. Cu ajutorul lor este întărită securitatea routere-lor și, implicit, securitatea respectivei rețele este sporită. Lista de control al accesului poate fi văzută de fapt ca o tabelă pe care router-ul o folosește pentru a păstra lista IP-urilor cărora li se oferă dreptul de a trece de router. Știm din capitolele anterioare că lista de control al accesului poate fi configurată în așa fel încât să le fie permis accesul doar anumitor IP-uri. Prin această caracteristică listele de acces vor fi folosite împotriva atacurilor ce se încearcă asupra unei rețele. Câteva atacuri ce pot fi oprite folosind liste de control al accesului: Smurf Attack, SYN attack, IP spoofing, Denial of Service (prin filtrarea traficului ICMP, acesta este folosit de cele mai multe ori în tipul acesta de atac) și așa mai departe.

De departe cele mai periculoase atacuri ce pot fi făcute unei rețele de calculatoare sunt atacurile de tipul Denial of Service. Scopul acestui atac este de a întrerupe un server sau serviciu prin trimiterea unei imense cantități de informație inutilă sau prin crearea unui numar imens de cereri. Aceste atacuri folosesc în cele mai multe cazuri IP spoofing pentru că atacatorul încearcă să-și ascundă adresa de unde execută aceste tipuri de atac. Atacatorul folosește de cele mai multe ori adrese private, pentru a simula o gazdă ce este parte a rețelei care este atacată. Pentru a securiza rețeaua de calculatoare se iau măsuri suplimentare, cum ar fi blocarea unor adrese ce pot duce la spargerea măsurilor de securitate impuse rețelei. Următoarele adrese trebuie blocate de către administratorul rețelei pentru a spori securitatea:

Adresele private din RFC 1918:

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

Adresele IP de tipul loopback:

127.0.0.0/8

Adresele IP ce se află în intervalul de adrese multicast:

224.0.0.0/4

Adresele IP de tipul broadcast:

255.255.255.255

Cum am spus și mai sus, o listă de acces al controlui poate fi folosită și împotriva atacurilor de tipul smurf attack. Acest atac se bazează pe trimiterea unui număr foarte mare de pachete false „echo ICMP” sau prin trimiterea unor cereri de tipul ping către aderesele de broadcast cu scopul multiplicarii acestor pachete și, mai apoi, să fie trimise la adrese false. Dacă echipamentele de routare au definită această funcție de translatare, adică „Layer3 broadcast to Layer2 broadcast”, atunci o mare majoritate din hosturile rețelei vor răspunde cererii făcute, ICMP ehco request, cu mesajul ICMP echo reply, fapt ce va duce la multiplicarea traficului. Pentru a împiedica un astfel de atac se va folosi o listă de acces ce va bloca traficul de brodcast direcționat din rețea, fapt ce va duce la prevenirea folosirii rețelei pe post de „bounce site”. Mai jos este declarată o listă de control al accesului care va preveni un astfel de atac:

Atacul SYN flood va deschide mai multe porturi TCP, făcând la întamplare acest lucru, pentru ca sistemul să fie ocupat cu rezolvarea unor cereri false, astfel încat sesiunile reale să nu mai poată avea loc. Pentru realizarea acestui tip de atac se pot folosi programe specializate sau chiar analizoare de protocoale. Cel ce dorește să aplice un atac de tipul acesta va trimite pachete cu flagul SYN setat, având adresa sursă falsă. Cel ce a fost atacat va trimite înapoi atacatorului SYN-ACK, dar nu va răspunde niciodată cu un ACK, deoarece conexiunea se dorește să rămână într-o stare de „half opened”. În cele din urmă se vor depăși resursele disponibile, iar acest lucru va duce la incapacitatea de conectare a țintei la alte servicii.

Figura 63 : O conexiune corectă între 2 useri

Figura 64 : Atacul de tipul SYN Flood

În cazul în care anumite hosturi din rețeaua noastră de calculatoare sau chiar rețeaua în sine nu oferă servicii către exterior, ca de exemplu un host din rețea care este un server web, atunci putem bloca, folosind liste de control al accesului, conexiunea către exterior. Mai jos este declarată o listă de control al accesului ce va bloca accesul către exterior.

O problemă apare atunci când hostul care este ținta atacului oferă un anumit serviciu și necesită conexiune cu exteriorul. Pentru această problemă, Cisco pune la dispoziția routere-lor sale o configurare numită „TCP INTERCEPT”. Acest feature implementează un soft ce protejează serverul împotriva atacurilor de tipul SYN Flood, descris mai sus ca un atact de tipul Denial-of-Service.

Acest „TCP Intercept” ajută la prevenirea atacurilor de tipul SYN Flood prin interceptarea și validarea cererilor TCP de conectare. În modul de interceptare, softul acesta sincronizează pachetele de la clienți la servere, folosindu-se de o listă de control al accesului extinsă. Softul stabilește o conexiune cu clientul în numele serverului destinație și, dacă are succes, stabilește conexiunea cu serverul în numele clientului și leagă cele două jumătăți de conexiuni create transparent. Astfel, conexiunea de la hosturi la server nu va fi pierdută. Softul continuă să intercepteze și să trimită pachetele pe toată durata conexiunii. Numărul de cereri SYN pe secundă și numărul curent de conexiuni concurente proxi depind de memorie, procesor, platformă, dar și de alți factori.

În cazul existenței unor cereri nelegitime, soft-ul reacționează „agresiv” cu timeout-ul conexiunilor „half-open” pentru a proteja serverul, permițând cererile valide.

Atunci când se stabilește politica de securitate a rețelei, folosind această metodă „TCP Intercept”, vom putea alege să interceptăm toate cererile sau doar cele care provin din unele rețele specificate sau doar cele destinate serverelor specificate. De asemenea, putem configura și o rată de conectare, dar și pragul de restartare. Există și un mod ceas, în care cererile de conexiune trec prin router. Dacă o conexiune nu are loc în timpul configurat, atunci se va încerca o nouă conectare.

Figura 65 : TCP Intercept

Tabel 11 : Comenzi TCP Intercept [14]

5.2 Utilizarea ACL-urilor pentru Telnet și accesul SSH

Interfețele active ale unui router dintr-o rețea pot fi accesate de către utilizatori în rețea dacă nu sunt securizate corespunzator. Utilizatorii sau hackerii pot încerca o accesare a rețelei folosindu-se de accesul VTY. Pentru a opri acest lucru, cel mai bine este folosirea unei liste de acces standard pentru a limita accesul oricărei adrese ce dorește să se conecteze la rețea. Se pot folosi și liste de acces extinse, dar cum ele se aplică inbound, vor fi mult mai greu de aplicat și gestionat în cazul în care există o multitudine de interfețe de configurat.

Restricționarea accesului VTY este o tehnică ce ne permite nouă, ca administratori de rețea, să definim ce adrese IP sau rețele pot avea acces Telnet la procesul de routare EXEC. Putem controla stația de lucru administrativă sau rețeaua care gestionează router-ul, definind o listă de acces și o declarație access-class configurată pe liniile VTY. De asemenea, putem folosi această tehnică împreună cu SSH pentru a îmbunătăți securitatea rețelei.

Comanda access-class restricționează conexiunile de intrare sau ieșire pentru un anumit VTY și adresele într-o listă de acces.

Cele două tipuri de liste, standard și extinse, se aplică pachetelor ce traversează router-ul, nefiind concepute pentru blocarea pachetelor ce provin din router. O listă de acces extinsă nu va împiedica o sesiunie inițiată dintr-un router în mod implicit.

Filtrarea Telnet sau traficul SSH este considerată ca fiind o funcție a unei liste de acces extinsă, deoarece filtrarea se face după un protocol de nivel superior. Cu toate acestea, prin folosirea comenzii access-class pentru a filtra traficul de sesiuni Telnet/SSH de intrare sau ieșire după adresa sursă, o listă de acces standard este suficientă.

Sintaxa comenzii pentru un „access-class” este următoarea:

R(config-line)#access-class nr {in[vrf-alo]|out}

Paramentrul „in” va restricționa conexiuniile de intrare între adresele din lista noastră de acces și device-ul pe care îl folosim (router, swich, etc.);

Parametrul „out” va restricționa conexiuniile de ieșire între device-ul nostru (router, swich, etc.) și adresele listei noastre de acces.

Se vor respecta următoarele reguli atunci când se vor configura liste de acces folosindu-se de VTY:

Pot fi aplicate la VTY amândouă tipurile de liste de acces: numerotate sau numite;

Pe toate VTY-urile ar trebui definite restricții identice, deoarece există posibilitatea ca un utilizator să dorească să se conecteze la oricare dintre ele.

După configurarea listelor de acces pe liniile VTY este foarte important să se verifice funcționalitatea lor. În figura de mai sus, ne sunt prezentate două dispozitive care se conectează la R1 folosindu-se de SSH. Lista de acces 21 este configurată pe liniile VTY ale router-ului R1. PC1 se conectează cu succes, iar PC2 eșuează în a stabili o conexiune SSH. Astfel, listele au fost configurate corect, deoarece am definit în listă ca PC-ul care are adresa IP 192.168.10.0 /24, în cazul nostru PC1, să îi fie permis accesul VTY, în timp ce restul PC-urilor au accesul refuzat.

Asigurarea securității unei rețele de calculatoare utilizând liste de control al accesului. Aplicație practică

6.1 Materiale folosite în realizarea aplicației practice

Pentru realizarea aplicației practice avem nevoie de următoarele programe:

1. VMware Workstation 4.0.4

2. Windows XP SP3

3. GNS3-1.3.3

4. WireShark

5. Cisco IOS

6. Damm Small linux

6.1.1 VMware Workstation 10.0.1

Este un program ce reunește o multitudine de software-uri ce implementează o mașina virtuală unde se poate încărca un sistem de operare pe arhitecturi x86 sau x86-64, reprezentate de Windows, diferite tipuri de BSD, Linux, etc. Acest program pune la dispoziția utilizatorului rularea simultană a mai multor sisteme de operare. Această aplicație este folosită pentru testarea conectivității rețelei la Internet sau în rețea și pentru a vizualiza efectele politicilor de securitate implementate pe interfețele ruterelor.

Crearea unei mașini virtuale este posibilă dacă sunt urmați următorii pași:

1. În secțiunea „Welcome to Vmware Player” alegem opțiunea „Create a New Virtual Machine” sau „File -> New -> Virtual Machine”.

2. Se va bifa opțiunea „ Typical” după care se va apăsa butonul „Next”.

3. Se va alege opțiunea „ Installer disc image file”, după care trebuie să alegem imaginea sistemului de operare dorit, apăsând butonul „Browse”.

4. Se va bifa sistemul de operare în funcție de sistemul de operare ales pentru a fi instalat pe mașina virtuala. Eu voi folosi pentru aplicație Windows Xp pentru Internet și Damm Small Linux pentru administratorul rețelei.

5. Vom denumi mașina virtuală, alegem locația unde va fi salvată, apoi click „Next”.

6. Se va configura mașina în funcție de necesitatea utilizării ei, apoi se va apăsa butonul „Finish”

Figura 66 : VMware

6.1.2 Windows XP SP3

Este un sistem de operare dezvoltat de Microsoft ce nu necesită resurse mari pentru buna funcționare. Motivul pentru care acest sistem de operare a fost ales pentru simulare este că oferă un echilibru între viteză, dimensiune și funcționalitate.

Figura 67 : Windows Xp

6.1.3 GNS3-1.3.3

GNS3 ( Graphical Network Simulator-3), așa cum îi spune și numele, este un simulator pentru rețelele de calculatoare. Oferă posibilitatea utilizatoriilor de a combina dispozitivele reale cu cele virtuale, acest lucru ducând la o simulare a unor rețele complexe. El folosește un software de simulare „ Dynamips” pentru a simula CISCO IOS ( Cisco Internetwork Operating System). Acesta reprezintă un sistem de operare pentru routere.

După instalare, GNS3 trebuie configurat pentru a putea fi utilizat:

Se va alege o imagine IOS: Edit -> IOS image and hypervisors -> Browse

Se aleg device-urile ce se vor folosi, introducându-le în workspace prin „Drag and Drop”.

Pentru a configura interfața unui ruter se va selecta routerul -> click dreapta -> alegem opțiunea Configure -> Slots. În funcție de nevoile noastre de configurare se aleg tipuri de interfețe.

Pentru ca un router să funcționeze, el trebuie pornit. Se va selecta routerul -> click dreapta -> alegem opțiunea start.

Pentru a configura un router avem nevoie să deschidem consola. Se va proceda la fel ca la punctul 4, doar că se va alege opțiunea Console.

Pentru a calcula valoarea IDLE PC se va alege opțiunea Idle PC.

Figura 68 : GNS3

WireShark

Este o aplicație ce se utilizează la monitorizarea pachetelor de date. Se folosește atunci cand există probleme în rețea și nu se cunoaște sursa, în analiza traficului, dezvoltarea protocoalelor de comunicare și a produselor software, în scopuri educaționale. În această aplicație îl voi folosi pentru analiza traficului existent pe interfețele routerelor din rețea și pentru troubleshooting.

Cisco IOS

Internetwork Operating System, adică Cisco IOS, este un sistem de operare folosit pentru o mare parte a routerelor Cisco. Acestea îmbină funcții de comutare, rutare, operațiuni de rețea și telecomunicații, toate fiind integrate într-un mic sistem de operare. Acesta pune la dispoziție mai multe moduri de operare, deoarece a fost proiectat ca un sistem modal de operare. Fiecare mod de operare are o zona proprie unde acționează:

Global configuration mode: configurarea globală

Priviledged exec mode: comenzi de monitorizare, testare, debugging sau de manipulare a fișierelor de configurare

User executive mode: opțiuni limitate, operații de bază; se vor executa doar comenzi pentru monitorizare

Există și alte moduri de configurare a unor anumite interfete sau servicii

Prezentare situație

Am construit topologia unei unitați militare în care se vor folosi liste de control al accesului pentru a susține cererea foarte mare de comunicații sigure și rapide. În această rețea locală voi interconecta mai multe subrețele ale unității militare, dar va trebui să asigurăm și interconectivitatea unitații militare la Internet și cu o altă unitate militară. Cazul prezentat necesită luarea de măsuri de siguranță în plus datorită conectării a unității la Internet, dar și datorită comunicării cu o altă unitate militara. Vor exista următoarele zone ce trebuiesc protejate în funcție de importanța lor:

Cea mai importantă zonă este LAN-ul comandantului, aici se vor lua măsuri speciale , fiind cea mai securizată zonă a rețelei.

Următoarea zonă ca importanță este zona în care există documentele clasificate. Aici, accesul este permis doar comandatului și accesul la Internet va fi blocat.

Zona facultății și a studențiilor vor avea măsuri de securitate mai scăzute față de restul zonelor. Accesul la Internet va fi posibil doar în anumite intervale, de exemplu pentru zona „ Facultate” accesul la Internet va fi posibil doar în timpul programului 8:00-16:00, iar pentru zona „Studenti” accesul este permis doar în timpul pauzelor. Doar cei care sunt din LAN-ul “Facultate” vor putea comunica cu comandatul, dar bineînțeles doar după ce se vor autentifica ca făcând parte din LAN-ul menționat. Niciunul din LAN-urile de mai sus nu vor putea comunica cu o altă unitate și nici nu vor avea acces către zona în care există documente clasificate.

Va exista și un LAN „Administrator” care se va ocupa de administrarea rețelei.Aici se vor implementa politici de securitate pentru accesul din exterior către interior, dar și viceversa, adică din interior către exterior. Acest administrator trebuie să ofere condițiile următoare:

Siguranța rețelei

Servicii ce oferă calitate ridicată

Nivelul de performanță va fi ridicat

Integritatea și securitatea datelor

O disponibilitate permanentă

Rețeaua unitații militare va putea comunica cu o altă unitate militara și bineînțeles va avea acces și la Internet, zona publică. În topologia creată voi ilustra aceste două lucruri prin crearea unei rețele „ Unitate Exterioara” și a unei rețele „Internet”.

Deci, topologia creată va avea următoarele elemente:

Rețeaua privată a unității militare, formată din :

LAN-ul „Comandant”

LAN-ul „Documente Clasificate”

LAN-ul „Facultate”

LAN-ul „Studenti”

LAN-ul „Administrator”

Și alte zone reprezentate de:

Rețeaua Unitate Exterioară

Rețeaua Internet

Pentru a realiza simularea situației de mai sus am construit topologia următoare:

Figura 69 : Topologia rețelei

Configurația mașinilor virtuale ( configurate ca servere pentru LAN-uri) și a routere-lor pentru topoglogia de mai sus este următoarea:

Tabel 12 : Configurarea rețelei

Configurația și funcționalitatea rețelei

Pentru ca rețeaua să fie funcțională trebuie configurate routerele, PC-urile și Serverele LAN-urilor. Configurarea routerelor se va face în următorul mod:

Routerul R1 va fi configurat pe interfețe în următorul mod:

R1#confi t

R1(config)#interface FastEthernet0/0

R1(config-if)#ip address dhcp

R1(config-if)#no sh

R1(config-if)#exit

R1(config)#interface Serial0/0

R1(config-if)#ip address 192.168.3.2 255.255.255.0

R1(config-if)#no sh

R1(config-if)#exit

R1(config)#interface Serial0/1

R1(config-if)#ip address 192.168.5.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#exit

Routerul R2 va fi configurat pe interfețe în următorul mod:

R2#conf t

R2(config)#interface FastEthernet0/0

R2(config-if)#ip address 172.16.1.1 255.255.255.0

R2(config-if)#no sh

R2(config-if)#exit

R2(config)#interface Serial0/0

R2(config-if)#ip address 192.168.1.2 255.255.255.0

R2(config-if)#no sh

R2(config-if)#exit

R2(config)#interface FastEthernet0/1

R2(config-if)#ip address 172.16.2.1 255.255.255.0

R2(config-if)#no sh

R2(config-if)#exit

R2(config)#interface Serial0/1

R2(config-if)#ip address 192.168.6.1 255.255.255.0

R2(config-if)#no sh

R2(config-if)#exit

Routerul R3 va fi configurat pe interfețe în următorul mod:

R3#conf t

R3(config)#interface FastEthernet0/0

R3(config-if)#ip address 10.16.3.1 255.255.255.0

R3(config-if)#no sh

R3(config-if)#exit

R3(config)#interface Serial0/0

R3(config-if)#ip address 192.168.2.2 255.255.255.0

R3(config-if)#no sh

R3(config-if)#exit

R3(config)#interface Serial0/1

R3(config-if)#ip address 192.168.6.2 255.255.255.0

R3(config-if)#no sh

R3(config-if)#exit

Routerul R4 va fi configurat pe interfețe în următorul mod:

R4#conf t

R4(config)#interface Serial0/0

R4(config-if)#ip address 192.168.3.1 255.255.255.0

R4(config-if)#no sh

R4(config-if)#exit

R4(config)#interface Serial0/1

R4(config-if)#ip address 192.168.4.1 255.255.255.0

R4(config-if)#no sh

R4(config-if)#exit

R4(config)#interface Serial0/2

R4(config-if)#ip address 192.168.2.1 255.255.255.0

R4(config-if)#no sh

R4(config-if)#exit

R4(config)#interface Serial0/3

R4(config-if)#ip address 192.168.1.1 255.255.255.0

R4(config-if)#no sh

R4(config-if)#exit

Routerul R5 va fi configurat pe interfețe în următorul mod:

R5#conf t

R5(config)#interface FastEthernet0/0

R5(config-if)#ip address 172.16.4.1 255.255.255.0

R5(config-if)#no sh

R5(config-if)#exit

R5(config)#interface Serial0/0

R5(config-if)#ip address 192.168.5.2 255.255.255.0

R5(config-if)#no sh

R5(config-if)#exit

R5(config)#interface Serial0/1

R5(config-if)#ip address 192.168.7.2 255.255.255.0

R5(config-if)#no sh

R5(config-if)#exit

R5(config)#interface Serial0/2

R5(config-if)#ip address 192.168.4.2 255.255.255.0

R5(config-if)#no sh

R5(config-if)#exit

Routerul R6 va fi configurat pe interfețe în următorul mod:

R6#conf t

R6(config)#interface FastEthernet0/0

R6(config-if)#ip address 172.16.5.1 255.255.255.0

R6(config-if)#no sh

R6(config-if)#exit

R6(config)#interface Serial0/0

R6(config-if)#ip address 192.168.7.1 255.255.255.0

R6(config-if)#no sh

R6(config-if)#exit

Pentru ca LAN-urile să comunice între ele trebuie ca să declarăm rute statice pentru fiecare router, altfel spus funcționalitatea rețelei depinde de cum sunt declarate aceste rutere. Pentru fiecare router se vor declara următoarele rute:

Pentru routerul R1 se vor declara următoarele route statice:

R1#conf t

R1(config)#

ip route 10.16.3.0 255.255.255.0 192.168.2.2

ip route 10.16.3.0 255.255.255.0 192.168.3.1

ip route 172.16.1.0 255.255.255.0 192.168.1.2

ip route 172.16.2.0 255.255.255.0 192.168.1.2

ip route 172.16.4.0 255.255.255.0 192.168.5.2

ip route 172.16.4.0 255.255.255.0 192.168.4.2

ip route 172.16.5.0 255.255.255.0 192.168.7.1

ip route 192.168.1.0 255.255.255.0 192.168.3.1

ip route 192.168.2.0 255.255.255.0 192.168.3.1

ip route 192.168.4.0 255.255.255.0 192.168.3.1

ip route 192.168.7.0 255.255.255.0 192.168.5.2

ip route 192.168.7.0 255.255.255.0 192.168.4.2

Pentru routerul R2 se vor declara următoarele route statice:

R2#conf t

R2(config)#

ip route 0.0.0.0 0.0.0.0 192.16.1.1

ip route 0.0.0.0 0.0.0.0 Serial0/0

ip route 0.0.0.0 0.0.0.0 192.168.1.1

ip route 172.16.1.0 255.255.255.0 192.168.6.2

ip route 172.16.4.0 255.255.255.0 192.168.1.1

ip route 172.16.4.0 255.255.255.0 192.168.4.2

ip route 172.16.5.0 255.255.255.0 192.168.7.1

ip route 192.168.2.0 255.255.255.0 192.168.1.1

ip route 192.168.3.0 255.255.255.0 192.168.1.1

ip route 192.168.4.0 255.255.255.0 192.168.1.1

ip route 192.168.6.0 255.255.255.0 10.16.3.1

ip route 192.168.7.0 255.255.255.0 192.168.4.2

Pentru routerul R3 se vor declara următoarele route statice:

R3#conf t

R3(config)#

ip route 0.0.0.0 0.0.0.0 Serial0/0

ip route 172.16.1.0 255.255.255.0 192.168.6.1

ip route 172.16.2.0 255.255.255.0 192.168.6.1

ip route 172.16.4.0 255.255.255.0 192.168.4.2

ip route 172.16.5.0 255.255.255.0 192.168.7.1

ip route 192.168.3.0 255.255.255.0 192.168.2.1

ip route 192.168.4.0 255.255.255.0 192.168.2.1

ip route 192.168.7.0 255.255.255.0 192.168.4.2

Pentru routerul R4 se vor declara următoarele route statice:

R4#conf t

R4(config)#

ip route 0.0.0.0 0.0.0.0 192.168.6.1

ip route 0.0.0.0 0.0.0.0 192.168.3.2

ip route 10.16.3.0 255.255.255.0 192.168.2.2

ip route 172.16.1.0 255.255.255.0 192.168.6.1

ip route 172.16.1.0 255.255.255.0 192.168.1.2

ip route 172.16.2.0 255.255.255.0 192.168.6.1

ip route 172.16.2.0 255.255.255.0 192.168.1.2

ip route 172.16.4.0 255.255.255.0 192.168.4.2

ip route 172.16.5.0 255.255.255.0 192.168.7.1

ip route 192.168.7.0 255.255.255.0 192.168.4.2

ip route 192.168.133.0 255.255.255.0 192.16.3.2

Pentru routerul R5 se vor declara următoarele route statice:

R5#conf t

R5(config)#

ip route 0.0.0.0 0.0.0.0 192.168.4.1

ip route 0.0.0.0 0.0.0.0 Serial0/2

ip route 10.16.3.0 255.255.255.0 192.168.2.2

ip route 172.16.1.0 255.255.255.0 192.168.4.1

ip route 172.16.2.0 255.255.255.0 192.168.4.1

ip route 172.16.5.0 255.255.255.0 192.168.7.1

ip route 192.168.1.0 255.255.255.0 192.168.4.1

ip route 192.168.2.0 255.255.255.0 192.168.4.1

ip route 192.168.3.0 255.255.255.0 192.168.4.1

Pentru routerul R6 se vor declara următoarele rute statice:

R6#conf t

R6(config)#

ip route 0.0.0.0 0.0.0.0 Serial0/0

ip route 10.16.3.0 255.255.255.0 192.168.2.2

ip route 172.16.1.0 255.255.255.0 192.168.1.2

ip route 172.16.2.0 255.255.255.0 192.168.1.2

ip route 172.16.4.0 255.255.255.0 192.168.7.2

ip route 192.168.1.0 255.255.255.0 192.168.4.1

ip route 192.168.2.0 255.255.255.0 192.168.4.1

ip route 192.168.3.0 255.255.255.0 192.168.4.1

ip route 192.168.4.0 255.255.255.0 192.168.7.2

ip route 192.168.5.0 255.255.255.0 192.168.7.2

După configurarea interfețelor și a ruterelor, voi da comanda show ip interface brief și comanda show ip route static pentru a vizualiza configurarea routerelor, iar configurarea va arată ca în imaginile de mai jos: .

Figura 70 : Configurare router R1

Figura 71 : Configurare router R2

Figura 72 : Configurare router R3

Figura 73 : Configurare router R4

Figura 74 : Configurare router R5

Figura 75 : Configurare router R6

După configurarea routerelor voi testa funcționalitatea rețelei. Pentru a verifica acest lucru se va da comanda ping . Pentru început nu vor exista restricții, după ce voi aplica listele de control al accesului, nu va mai exista un acces total. Prin imaginile de mai jos am arătat că rețeaua este funcțională, neexistând nicio restricție între LAN-urile unității și accesul la Internet va fi fără restricții.

Verificarea conexiunii LAN-ului „Comandant” în rețeaua unității și accesul acestei subrețele la Internet și către o unitate exterioară. În imaginile de mai jos putem observa această situație:

Verificarea funcționalității de la PC Comandant

Figura 76 : Conexiune Comandant (1)

Figura 77 : Conexiune Comandant (2)

Verificarea funcționalității de la serverul Comandant

Figura 78 : Conexiune Comandant (3)

Figura 79 : Conexiune Comandant (4)

Verificarea conexiunii LAN-ului „Documente Clasificate” în rețeaua unității și accesul acestei subrețele la Internet și către o unitate exterioară. În imaginile de mai jos putem observa această situație:

Verificarea funcționalității de la PC Documente Clasificate

Figura 80 : Conexiune Documente Clasificate (1)

Figura 81 : Conexiune Documente Clasificate (2)

Verificarea funcționalității de la serverul Documente Clasificate

Figura 82 : Conexiune Documente Clasificate (3)

Figura 83 : Conexiune Documente Clasificate (4)

Verificarea conexiunii LAN-ului „Facultate” în rețeaua unității și accesul acestei subrețele la Internet. În imaginile de mai jos putem observa această situație:

Verificarea funcționalității de la PC Facultate

Figura 84 : Conexiune Facultate (1)

Verificarea functionalitatii de la Server Facultate

Figura 85 : Conexiune Facultate (2)

În imaginea de mai jos se poate observa că accesul din Internet în rețeaua internă a unității militare este permisă. Acest lucru poate duce la probleme serioase pentru rețea, punând în pericol securitatea și integritatea rețelei.

Figura 86 : Accesul din Internet

Din imaginea de mai sus se poate observa că se poate face accesul din Internet în unitatatea militară. Pentru a opri acest lucru voi implementa o listă de control al accesului aplicată pe interfața routerului R1.

Pentru a face conexiunea cu Internetul am creat o mașină virtuală cu sistemul de operate Windows XP care va fi conectată la interfața vmnet8, având o conexiune cu sistemul de tipul NAT. Această setare oferă o facilitate sistemului virtual prin primirea unei adrese IP prin DHCP, ca mai apoi acest IP să fie scos în Internet cu ajutorul unui router virtual. Deci, mașina virtuala ce are setată interfața NAT, în acest caz mașina virtuală „Internet”, așteaptă pachetul de date trimis din rețeaua internă, translatează adresa mașinii virtuale în adresa hostului ce a trimis pachetul, transmițând pachetul către rețeaua externă, în acest caz către Internet. Atunci când datele sunt trimise din Internet către rețeaua noastră privată, mașina virtuală Internet primește datele, înlocuiește adresa de rețea cu cea a mașinii virtuale și va transmite datele către hostul ce trebuia să primească datele. Această operațiune se produce automat, ne mai fiind nevoie ca routerul să fie configurat pentru a permite accesul către Internet din rețeaua internă.

Odată ce rețeaua a fost configurată în modul „NAT” am rezolvat și problema translatării adreselor din interiorul rețelei într-o singură adresă IP publică. Această configurație va avea o adresă IP unică primită prin DHCP ce va reprezenta adresa IP publică a rețelei.

Implementarea securității rețelei. Editarea listelor de control al accesului și testarea lor

Pentru a avea o securitate ridicată a unității este nevoie de implementarea unor măsuri de securitate interioară, măsuri pentru controlul accesului din Internet către rețeaua internă sau din rețeaua internă către Internet, dar și măsuri pentru evitarea atacurilor ce se pot efectua asupra rețelei.

6.4.1 Asigurarea securității prin implementarea unor politici de securitate în interiorul rețelei

Implementarea politicilor de securitate în interiorul rețelei se referă la impunerea unor restricții în zonele cele mai importante din rețeaua unității.

Cea mai vulnerabilă zonă a rețelei, implicit cea mai importantă, o reprezintă LAN-ul „Comandant”. Zona aceasta va avea anumite restricții, printre care :

Accesul din LAN-ul „Studenți” nu va fi posibil;

Accesul din LAN-ul „Facultate” va fi posibil doar după o autentificare și doar într-un anumit interval orar;

Accesul din LAN-ul „Documente Clasificate” nu va fi permis;

Accesul din LAN-ul „Unitate Exterioara” va fi permis doar prin autentificare;

Accesul din LAN-ul „Comandant” către întreaga rețea sau către exterior, adică Internet sau rețeaua unității exterioare se va face fără restricții.

Problema de mai sus se poate rezolva cu o simpla listă extinsă aplicată pe interfața f0/0 a routerului R1. Aceasta listă extinsă va conține cuvântul „established”, creând un mic firewall pe router. Acesta va permite traficul doar de tipul TCP reply, verificând doar flagurile ACK sau RST aflate în hedearul TCP. Folosirea opțiunii acesteia în lista extinsă va permite segmentelor TCP să treacă, dar marea problemă este că nu se poate folosi pentru traficul ICMP sau UDP.

Pentru a nu mai exista probleme în legatura cu filtrarea tuturor tipurilor de trafic voi defini o listă reflexivă pe care o voi aplica inbound pe interfața f0/0 a routerului R1, iar o listă de acces, tot reflexiva, declarată outbound. Aceasta ne pune la dispoziție mai multe criterii în a verifica pachetele, iar filtrarea se poate face după porturi, IP destinație sau IP sursă, etc. Mai jos este definită lista reflexivă:

Lista de control al accesului reflexivă ce se va ocupa de filtrarea traficului inbound și de adăugarea unor noi intrări temporare cu adrese IP în lista ce este aplicată pe interfața f0/0 a routerului R1 este următoarea:

R2#conf t

R2(conf)#ip access-list extended INBFILTERS

R2(config-ext-nacl)#permit ip 172.16.1.0 0.0.0.255 any reflect CMD_T

R2(config-ext-nacl)#exit

R2(config)#

A doua listă reflexivă este aplicată outbound interfeței f0/0 și trebuie luate în considerare și unele probleme ce pot apărea în cazul în care hostul nu a fost găsit. În cazul în care nu există acel host în rețeaua unității sau în unitatea exterioară, va fi trimis un mesaj „Destination unreachable” din pachetul ICMP. Acesta nu va putea ajunge înapoi în LAN-ul „Comandant” deoarece nu va fi lasat sa treacă de catre routerul R2. Trebuie luate în considerare setarea flag-ului DF, ritmul de trimitere a datelor, câmpul TTL sau chiar impunerea unor condiții de accesibilitate asupra unor hosturi dintr-o rețea, o rețea anume sau chiar asupra unor protocoale.

Se va putea accesa rețeaua comandantului și din LAN-urile „Facultate” și „Unitate Exterioara” pentru asta am adăugat în a doua listă reflexiva ultimele două statement-uri.

R2(config)#ip access-list extended OUTBFILTERS

R2(config-ext-nacl)#evaluate CMD_T

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 time-exceeded

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 packet-too-big

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 unreachable

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 source-quench

R2(config-ext-nacl)#permit ip 172.16.4.0 0.0.0.255 any reflect CMD_T

R2(config-ext-nacl)#permit ip 10.16.3.0 0.0.0.255 any reflect CMD_T

R2(config-ext-nacl)#exit

R2(config)#

Următorul pas în configurarea routerului R1 este aplicarea inbound și outbound pe interfața f0/0 a celor doua liste definite mai sus. Pentru asta se vor executa următoarele comenzi:

R2(config)#interface f0/0

R2(config-if)#ip access-group INBFILTERS in

R2(config-if)#ip access-group OUTBFILTERS out

Figura 87 : Verificarea conexiunii după aplicarea listelor de acces (1)

Figura 88 : Verificarea conexiunii la Internet dupa aplicarea listelor de acces (2)

Următoarea restricție constă în comunicarea LAN-urilor „Facultate” și „Unitatea Exterioara” cu LAN-ul „Comandant”. Comunicarea dintre LAN-ul „Facultate” și comandament se va face doar printr-o autentificare și doar în intervalul programului de lucru, adică de luni până vineri și doar în intervalul orar 8:00-16:00.

Un host din rețeaua facultății se poate conecta la rețeaua comandatului doar după ce introduce username-ul „acces_cmd” și parola „F1234”.

Pentru rezolvarea acestor restricții am ales o listă bază pe timp, care va fi combinată cu o listă de acces reflexivă și una dinamică.

Primul pas în realizarea unei liste de control al accesului bază pe timp este crearea unui time-range.

R2#conf t

R2(config)#time-range ORAR_FAC

R2(config-time-range)#periodic Monday Tuesday Wednesday Thursday Friday 8:00 to 16:00

R2(config-time-range)#exit

Al doilea pas constă în crearea listei de control al accesului care este formată din cele trei liste complexe:

R2(config)#ip access-list extended ACC_FAC_CMD

R2(config-ext-nacl)#permit tcp 172.16.4.0 0.0.0.255 172.16.1.0 0.0.0.255 time-range ORAR_FAC

R2(config-ext-nacl)#permit tcp any host 192.168.1.2 eq telnet

R2(config-ext-nacl)#dynamic flist timeout 5 permit ip 172.16.4.0 0.0.0.255 172.16.1.0 0.0.0.255

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 source-quench

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 packet-too-big

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 time-exceeded

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 unreachable

R2(config-ext-nacl)#evaluate CMD_T

R2(config-ext-nacl)#exit

R2(config)#

Ultimul pas este aplicarea listei pe interfata s0/0 a routerului R2:

R2(config)#interface s0/0

R2(config-if)#ip access-group ACC_FAC_CMD in

R2(config-if)#exit

Figura 89 : Accesul prin telnet

Doar comandamentul poate comunica cu o unitate exterioara. Pentru acest lucru va exista o autentificare din partea comandamentului atunci când se dorește accesarea server-ului unității exterioare. LAN-ul unitate exterioară nu poate fi accesat din nicio altă parte decât din comandament, iar comunicarea din LAN-ul unitații exterioare către orice altă rețea, înafară de rețeaua comandamentului, este strict interzisă. Voi defini trei liste de control al accesului:

Prima listă este o listă extinsă ce va bloca accesul din și spre orice rețea din rețeaua unității. Aceasta va fi aplicată inbound pe interfața s0/0 a routerului

R3.

R3#conf t

R3(config)#ip access-list extended DENY_TRAFIC

R3(config-ext-nacl)#deny tcp any any

R3(config-ext-nacl)#exit

R3(config)#

A doua va fi o listă dinamică ce va permite accesul telnet în LAN-ul „Unitate Exterioara” doar comandamentului. Pentru aceasta am stabilit un timeout la 5 minute, o parolă „1234” și un username „comandant”. Aceasta va fi aplicată inbound pe interfața s0/1 a routerului R3.

R3(config)# ip access-list extended T_CMD_EXT

R3(config-ext-nacl)#permit tcp any host 192.168.6.2 eq telnet

R3(config-ext-nacl)#dynamic ex_list timeout 5 permit ip 172.16.1.0 0.0.0.255 10.16.3.0 0.0.0.255

R3(config-ext-nacl)#permit icmp any 10.16.3.0 0.0.0.255 source-quench

R3(config-ext-nacl)#permit icmp any 10.16.3.0 0.0.0.255 packet-too-big

R3(config-ext-nacl)#permit icmp any 10.16.3.0 0.0.0.255 time-exceeded

R3(config-ext-nacl)#permit icmp any 10.16.3.0 0.0.0.255 unreachable

R3(config-ext-nacl)#evaluate TRAFIC_UEX

R3(config-ext-nacl)#exit

R3(config)#

Cea de-a treia listă este o listă reflexivă folosită pentru deblocarea pachetelor ce au fost blocate de a doua listă. Va fi aplicată tot inbound pe interfața f0/0 a routerului R3.

R3(config)# ip access-list extended T_EXT

R3(config-ext-nacl)#permit ip 10.16.3.0 0.0.0.255 any reflect TRAFIC_UEX

R3(config-ext-nacl)#exit

Aplicarea listelor se va face în următorul mod:

R3(config)#interface s0/0

R3(config-if)#ip access-group DENY_TRAFIC in

R3(config-if)#exit

R3(config)#interface s0/1

R3(config-if)#ip access-group T_CMD_EXT in

R3(config-if)#exit

R3(config)#interface f0/0

R3(config-if)#ip access-group T_EXT in

Următorul pas este crearea parolei și a username-ului:

R2(config)#username acces_cmd password 1234

Voi adăuga opțiunea de prelungire a timeout-ului prin reautentificare:

R1(config)#access-list dynamic-extend

Stabilesc modul de autentificare (voi folosi baza locală de date) iar timeout-ul va fi setat de 5 minute:

R1(config)#line vty 0 4

R1(config-line)#login local

R1(config-line)#autocommand access-enable host timeout 5

Figura 90 : Accesul prin telnet din LAN-ul Unitate Exterioară

Figura 91 : Verificare conexiune pentru LAN-ul Unitate Exterioară

Va exista și o autentificare atunci când se dorește trimiterea unor pachete dintr-o unitate exterioară către comandament. Va fi o autentificare de tipul telnet cu un username acces_cmd ,o parola „1234” și un timeout de 5 minute. Acesta va avea setata și opțiunea de prelungire a timeout-ului printr-o reautentificare. Pentru aceasta voi defini o listă dinamică combinată cu o listă reflexivă ce va fi aplicată pe interfața s0/1 a routerului R2.

R2#conf t

R2(config)#ip access-list extended ACC_UNIT_EX

R2(config-ext-nacl)#permit tcp any host 192.168.6.1 eq telnet

R2(config-ext-nacl)#dynamic ulist timeout 5 permit ip 10.16.3.0 0.0.0.255 172.16.1.0 0.0.0.255

R2(config-ext-nacl)# #permit icmp any 172.16.1.0 0.0.0.255 source-quench

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 packet-too-big

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 time-exceeded

R2(config-ext-nacl)#permit icmp any 172.16.1.0 0.0.0.255 unreachable

R2(config-ext-nacl)#evaluate CMD_T

R2(config-ext-nacl)#exit

Următorul pas este crearea parolei și a username-ului:

R2(config)#username acces_cmd password 1234

Voi adăuga opțiunea de prelungire a timeout-ului prin reautentificare:

R1(config)#access-list dynamic-extend

Stabilesc modul de autentificare (voi folosi baza locala de date) iar timeout-ul va fi setat de 5 minute:

R1(config)#line vty 0 4

R1(config-line)#login local

R1(config-line)#autocommand access-enable host timeout 5

Ultimul pas este aplicarea listei definite pe interfața s0/1 a routerului R2:

R2(config)#interface s0/1

R2(config-if)#ip access-group ACC_UNIT_EX in

R2(config-if)#exit

R2(config)#

Figura 92 : Accesul prin telnet din LAN-ul Unitate Exterioară către LAN-ul Comandant

6.4.2 Policiti de securitate pentru accesul din Internet spre interiorul rețelei și din interiorul rețelei către Internet

Politica de securitate pentru accesul din Internet spre rețeaua unității militare constă în blocarea tuturor hosturilor din Internet să acceseze rețeaua internă, dar dacă un host din rețeaua unității militare dorește să acceseze o resursă din Internet i se va permite trecerea, dar va exista și o excepție în care LAN-ul „Documente Clasificate” din unitatea militară nu va avea acces la Internet. Se vor declara două time-range, unul atribuit perioadei când se permite accesul facultății la Internet și cel de-al doilea LAN-ului „Studenți”.

R1(config)#time-range INT_FAC

R1(config-time-range)#periodic Monday Tuesday Wednesday Thursday Friday 8:00 to 16:00

R1(config-time-range)#exit

R1(config)#time-range INT_STD

R1(config-time-range)#periodic weekdays 12:00 to 16:00

R1(config-time-range)#exit

Mai jos sunt definite listele ce filtreaza accesul la Internet:

R1(config)#ip access-list extended TRAFIC_INT_IN

R1(config-ext-nacl)# permit ip 172.16.1.0 0.0.0.255 any reflect T_INTERNET

R1(config-ext-nacl)# permit ip 172.16.4.0 0.0.0.255 any time-range INT_FAC reflect T_INTERNET

R1(config-ext-nacl)# permit ip 172.16.5.0 0.0.0.255 any time-range INT_STD reflect T_INTERNET

R(config-ext-nacl)# exit

R1(config)# ip access-list extended TRAFIC_INT_OUT

R1(config-ext-nacl)# evaluate T_INTERNET

R1(config-ext-nacl)# permit icmp any 172.16.0.0 0.0.255.255 source-quench

R1(config-ext-nacl)# permit icmp any 172.16.0.0 0.0.255.255 time-exceeded

R1(config-ext-nacl)# permit icmp any 172.16.0.0 0.0.255.255 unreachable

R1(config-ext-nacl)# deny tcp any 172.16.0.0 0.0.255.255 eq 80

R1(config-ext-nacl)# exit

Ultimul pas este aplicarea listelor pe interfata s0/0 a routerului R1

R1(config)#interface s0/0

R1(config-if)#ip access-group TRAFIC_INT_IN in

R1(config-if)#ip access-group TRAFIC_INT_OUT out

6.4.3 Policiti de securitate ce constau în blocarea atacurilor de tipul IP Spoofing și Denial of Service

Pentru a bloca un atac de tipul IP Spoofing se va aplica o listă de acces la intrarea în rețeaua unității, implicit pe interfața s0/0 a routerului R4. Această listă constă în interzicerea IP-urilor din RFC 1918 sau de tipul lookback. Lista de mai jos blochează aceste tipuri de atacuri:

R4(config)#ip access-list extended IP_SPO_IN

R4(config-ext-nacl)# deny ip any 172.16.0.0 0.0.255.255

R4(config-ext-nacl)# deny ip 172.16.0.0 0.0.255.255 any

R4(config-ext-nacl)# deny ip any 192.168.0.0 0.0.255.255

R4(config-ext-nacl)# deny ip 192.168.0.0 0.0.255.255 any

R4(config-ext-nacl)#permit ip any any

R4(config-ext-nacl)#exit

R4(config)#

Atacul Denial of Service constă în mai multe tipuri de atacuri, printre care atacul de tipul SYN Flood, smurf atack, etc.

Atacul de tipul smurf atack constă în răspunderea cu echo-replay a tuturor hosturilor din rețeaua noastră atunci când se dorește accesarea serverului web și acest lucru ar duce la supraîncărcare, implicit la blocarea rețelei. Pentru acest lucru se va defini o listă de acces pe interfața s0/0 a routerului R1 ce va bloca toate adresele de brodcast a LAN-urilor rețelei:

R4(config)#ip access-list extended SMUR_A_IN

R4(config-ext-nacl)#deny ip any host 192.168.1.255

R4(config-ext-nacl)#deny ip any host 192.168.2.255

R4(config-ext-nacl)#deny ip any host 192.168.4.255

R4(config-ext-nacl)#deny ip any host 192.168.5.255

R4(config-ext-nacl)#deny ip any host 192.168.6.255

R4(config-ext-nacl)#deny ip any host 192.168.7.255

R4(config-ext-nacl)#deny ip any host 172.16.1.255

R4(config-ext-nacl)#deny ip any host 172.16.4.255

R4(config-ext-nacl)#deny ip any host 172.16.5.255

Un alt atac este de tipul Denial of Service este SYN Flood. Atacul acesta poate fi oprit prin utilizarea unui feature „TCP intercept”. Se va defini o listă cu adresa IP a server-ului:

R1#conf t

R1(config)#access-list 120 permit tcp any 100.100.100.4 0.0.0.0

R1(config)#ip tcp intercept list 120 -activarea

R1(config)#ip intercept mode intercept -modul de operare

R1(config)#ip tcp intercept drop-mode oldest – renunțarea la conexiune în cazul unui atac

8.Concluzii

Listele de control al accesului pot fi definite folosindu-ne de numere sau de nume. Pentru a defini liste de acces cu nume se va folosi unul dintre cele două cuvinte cheie extended sau standard deorece routerul nu are capacitatea de a decide ce tip de listă este.

O interfață poate avea definit numai o singură listă de control al accesului. În schimb, lista poate avea definite câte statement-uri are nevoie administratorul rețelei.

Dacă se dorește adăugarea unui noi reguli unei liste de acces, acest lucrul este posibil, dar această regulă va fi adăugată la sfârșitul celorlalte reguli definite deja listei. Nu se poate face o inserare între reguli.

Verificarea pachetului atunci când ajunge pe interfața routerului se face în următorul mod: Routerul verifică fiecare regulă în concordanță cu acel pachet, în ordinea definiri lor. Dacă va avea loc una dintre cele două acțiuni deny sau permit verificarea pachetului va înceta. Deci, ordinea definirii statement-urilor în cadrul unei liste de acces este foarte importantă.

Atunci când pe un router nu este definită nici o lista de acces tot traficul va fi permis, dar dacă va fi declarată chiar și o lista de control al accesului cu o anumită regulă, atunci acel trafic ce nu va fi specificat pe acea listă va fi implicit interzis. La sfârșitul fiecărei liste de acces este declarată implicit regula următoare: deny any any.

Listele de control al accesului sunt utilizate pentru a spori securitatea și a crește performața unei rețele prin impunerea unor politici. De exemplu, dacă se dorește interzicerea traficului video în interiorul acelei rețele, dar și blocarea acesului unei alte stații dintr-o altă rețea se va aplica o listă ce va bloca acest tip de trafic și accesul în interiorul rețelei.

Aceste liste de acces vor furniza un control semnificativ al traficului.

Cu ajutorul acestor liste putem decide ce tip de trafic să blocăm sau să forwardez la interfața routerului.

Accesul unei anumite părți a rețelei poate fi făcut folosind o listă de acces.

9.Bibliografie

Similar Posts