Pentru a fi mai precisă atunci când se potrivește un anumit trafic de rețea, se utilizează listele de acces extinse. Listele de acces extinse sunt mai dificil de configurat și necesită mai mult timp de procesare decât listele de acces standard, dar ele permit un nivel de control mult mai granular.
Cu listele de acces extinse, puteți evalua informații suplimentare despre pachete, cum ar fi:
- adresa IP sursă și destinație
- tipul de protocol TCP/IP (TCP, UDP, IP…)
- numerele porturilor sursă și destinație
Sunt necesari doi pași pentru a configura o listă de acces extinsă:
1. configurați o listă de acces extinsă folosind următoarea comandă:
(config) access list NUMBER permit|deny IP_PROTOCOL SOURCE_ADDRESS WILDCARD_MASK DESTINATION_ADDRESS WILDCARD_MASK PROTOCOL_INFORMATION
2. aplicați o listă de acces la o interfață folosind următoarea comandă:
(config) ip access-group ACL_NUMBER in | out
Numele listelor de acces extinse sunt în intervale de la 100 la 199 și de la 2000 la 2699. Întotdeauna ar trebui să plasați ACL-urile extinse cât mai aproape posibil de sursa pachetelor care sunt evaluate.
Pentru a înțelege mai bine conceptul de liste de acces extinse, luați în considerare următorul exemplu:
Vrem să permitem stației de lucru a administratorului (10.0.0.1/24) accesul nerestricționat la Server (192.168.0.1/24). De asemenea, vom refuza orice tip de acces la Server de la stația de lucru a utilizatorului (10.0.0.0.2/24).
În primul rând, vom crea o instrucțiune care va permite accesul stației de lucru a administratorului la Server:
În continuare, trebuie să creăm o instrucțiune care va interzice accesul stației de lucru a utilizatorului la Server:
În cele din urmă, trebuie să aplicăm lista de acces la interfața Fa0/0 de pe R1:
Aceasta va forța routerul să evalueze toate pachetele care intră pe Fa0/0. Dacă administratorul încearcă să acceseze Server, traficul va fi permis, din cauza primei declarații. Cu toate acestea, dacă utilizatorul încearcă să acceseze Server, traficul va fi interzis, din cauza celei de-a doua declarații ACL.
La sfârșitul fiecărei liste de acces există o declarație explicită „deny all”, astfel încât cea de-a doua declarație ACL nu era cu adevărat necesară. După aplicarea unei liste de acces, orice trafic care nu este permis în mod explicit va fi refuzat.
În partea dreaptă, avem un Server care servește ca server web, ascultând pe portul 80. Trebuie să permitem Utilizatorului să acceseze site-urile web de pe S1 (portul 80), dar trebuie, de asemenea, să refuzăm alt tip de acces.
În primul rând, trebuie să permitem traficul de la Utilizator către portul 80 al Serverului. Putem face acest lucru folosind următoarea comandă:
Cu ajutorul cuvântului cheie tcp, putem filtra pachetele după porturile sursă și destinație. În exemplul de mai sus, am permis traficul de la 10.0.0.0.2 (stația de lucru a utilizatorului) la 192.168.0.1 (server) pe portul 80. Ultima parte a declarației, eq 80, specifică portul de destinație 80.
Din moment ce la sfârșitul fiecărei liste de acces există o declarație implicită deny all, nu trebuie să mai definim nicio declarație. După aplicarea unei liste de acces, orice trafic care nu provine din 10.0.0.2 și se îndreaptă către 192.168.0.1, portul 80 va fi refuzat.
Trebuie să aplicăm lista de acces la interfață:
Potem verifica dacă configurația noastră a avut succes încercând să accesăm Serverul de la stația de lucru a utilizatorului folosind diferite metode. De exemplu, ping-ul va eșua:
Telnetul la portul 21 va eșua:
Cu toate acestea, vom putea accesa Serverul pe portul 80 folosind browser-ul nostru: