O listă de control al accesului (ACL) este o listă de reguli care controlează și filtrează traficul pe baza adreselor IP sursă și destinație sau a numerelor de port. Acest lucru se întâmplă fie prin permiterea pachetelor, fie prin blocarea pachetelor de la o interfață de pe un router, comutator, firewall etc.
Întrările individuale sau declarațiile dintr-o listă de acces se numesc intrări de control al accesului (ACE). Fiecare intrare ACE definește un flux de trafic (sursă/destinație) care va fi permis sau blocat.
Pe lângă controlul și filtrarea traficului într-o rețea, ACL-urile pot fi folosite și ca măsură de securitate pentru conectarea la router, permițând doar adresele IP sau rețelele necesare pentru accesarea routerului prin telnet (sau, de preferință, cu SSH).
Acestea au, de asemenea, mai multe alte utilizări, cum ar fi controlul accesului de management, filtrarea anunțurilor de rute, filtrarea ieșirii de depanare, identificarea traficului pentru criptare în scenariile VPN etc.
Listele de acces sunt, în principiu, un instrument de potrivire a pachetelor interesante care pot fi supuse apoi la diferite tipuri de operațiuni speciale.
La dispozitivele Cisco avem două tipuri principale de ACL-uri. Acestea sunt Listele standard de control al accesului și Listele extinse de control al accesului.
- Listele standard de acces
Listele standard de acces sunt forma de bază a listei de acces de pe routerele Cisco care pot fi folosite pentru a potrivi pachetele după câmpul de adresă IP sursă din antetul pachetului. Aceste liste de acces sunt mai simplu de creat și de înțeles, dar opțiunile de potrivire a pachetelor sunt, de asemenea, limitate doar la adresa sursă.
- Liste de acces extinse
Dacă doriți să potriviți pachetele pe ceva mai mult decât pe adresa IP sursă, veți avea nevoie de o listă de acces extinsă: numerotată sau numită. Listele de acces extinse pot filtra pe adresele IP sursă și destinație sau pe o combinație de adrese și alte câteva câmpuri, cum ar fi porturile TCP/UDP etc.
Atât listele de acces standard cât și cele extinse pot fi scrise în format numerotat sau numit, care sunt doar moduri diferite de a scrie listele de acces.
În termeni de funcționalitate, listele de acces numerotate și cele numite sunt echivalente. Ceea ce puteți realiza cu o listă de acces numerotată poate fi realizat și cu o listă de acces numită echivalentă, iar acest lucru este valabil atât pentru ACL-urile standard, cât și pentru cele extinse.
Câteva persoane preferă formatul numit, deoarece este probabil mai ușor de citit, dar ambele formate sunt utilizate pe scară largă în practică și ambele sunt importante pentru examenul de certificare Cisco.
Vă rugăm să consultați Tabelul 1 pentru a afla intervalul de numere care pot fi utilizate pentru a crea liste de acces numerotate standard și extinse.
Tabelul 1 Intervale de numere pentru listele de acces
Tipul listei de acces | Intervale de numere |
Liste de acces standard IP | 1-99 |
Liste de acces standard IP (interval extins) | 1300-1999 |
Liste de acces extins la IP | 100-199 |
Liste de acces extins la IP (interval extins) | 2000-2699 |
Vom avea în vedere aceste liste de control al accesului, modul în care acestea funcționează și cum să le configurăm pe routerele Cisco.
Vă rugăm să aruncați o privire la figura 1 de mai jos, pe care o vom folosi pentru toate exemplele noastre de configurare.
Scenariul constă într-un singur router R1 cu două interfețe Fa0/0 și Fa0/1 conectate la rețeaua internă și, respectiv, la Internet.
Listele de acces ar avea ca scop controlul accesului la Internet de către utilizatorii din rețeaua internă. Aceste liste de acces ar fi aplicate interfeței Fa0/0 în direcția de intrare.
Figura 1 Aplicarea listei de acces
Exemple de configurare a listei de acces standard
Lista standard de control al accesului vă va permite fie să permiteți, fie să refuzați traficul de la o anumită adresă IP sursă sau rețea IP.
Crearea listelor de acces standard numerotate
Vom începe prin configurarea unei liste de acces standard mai întâi în format numerotat și apoi în format numit. Lista de acces ar trebui să-i permită lui Bob să acceseze Internetul în timp ce blochează tot accesul pentru Smith, înregistrând de asemenea încercările nereușite ale lui Smith.
Să vedem cum putem face acest lucru folosind o listă de acces standard în format numerotat.
R1>enable
R1#configure terminal
Introduceți comenzile de configurare, câte una pe linie. Încheiați cu CNTL/Z.
R1(config)#access-list 1 permit host 192.168.1.3
R1(config)#access-list 1 deny host 192.168.1.7 log
R1(config)#
În exemplul de configurare de mai sus am folosit cuvântul cheie host pentru a identifica gazdele individuale, dar același rezultat poate fi obținut și prin utilizarea măștii inverse 0.0.0.0.0.
Să aplicăm acum această listă de acces la interfața Fa0/0 în direcția de intrare.
R1(config)#interface Fa0/0
R1(config-if)#ip access-group 1 ?
in in inbound packets
out outbound packets
R1(config-if)#ip access-group 1 in
R1(config-if)#end
R1#
Listele de acces cu nume au un număr de la 1 la 99. Atunci când puneți o listă de acces pe un router va trebui să identificați listele de acces cu un număr, de exemplu lista de acces 1, așa cum se arată mai sus.
În fiecare listă de acces va exista un „deny all” implicit la sfârșitul ACL-ului, chiar dacă nu îl specificați în mod explicit. Așadar, dacă ați configurat lista de acces în felul următor, iată ce ar face aceasta.
show access-list 1
Lista de acces va fi:
access-list 1 permit host 192.168.1.3
access-list 1 deny host 192.168.1.1.7 log
access-list 1 deny any
Crearea listelor de acces standard cu nume
Să creăm acum o listă de acces în format cu nume și să o aplicăm pe interfața Fa0/0, pentru a obține același efect. Aici, vom folosi masca inversă în loc de cuvântul cheie host pentru a potrivi gazdele individuale.
R1>enable
R1#configure terminal
Intrați comenzile de configurare, câte una pe linie. Terminați cu CNTL/Z.
R1(config)#ip access-list standard Filter
R1(config-std-nacl)#permit 192.168.1.3 0.0.0.0.0
R1(config-std-nacl)#deny 192.168.1.7 0.0.0.0.0.0 log
R1(config-std-nacl)#interface Fa0/0
R1(config-if)#ip access-group Filter in
R1(config-if)#end
R1#
Exemple de configurare a listelor de acces extinse
O listă extinsă de control al accesului vă va permite să refuzați sau să permiteți traficul de la anumite adrese IP, și porturi.
De asemenea, vă oferă posibilitatea de a controla tipul de protocol care poate fi transferat, cum ar fi ICMP, TCP, UDP și așa mai departe. Intervalul listelor extinse de control al accesului este de la 100 la 199 pentru ACL-uri numerotate.
Un exemplu de ACL extinsă numerotată:
access-list 110 permit tcp 92.128.2.0 0 0.0.0.0.255 any eq 80
ACL 110 va permite traficul care vine de la orice adresă din rețeaua 92.128.2.0 (rețeaua sursă) către orice IP de destinație pe portul 80.
Declarația „any” este acolo pentru a permite traficul către orice IP de destinație pe portul 80. Prima declarație de rețea din comanda access-list (adică 92.128.2.0 0.0.0.0.255) se referă la sursa traficului, iar cea de-a doua declarație de rețea (cuvântul cheie „any” în exemplul nostru) se referă la destinația traficului.
Un alt exemplu:
access-list 111 permit ip 192.168.1.1.0 0.0.0.0.255 192.168.2.0 0.0.0.0.255
Configurația de mai sus va permite tot traficul IP din rețeaua sursă 192.168.1.1.0/24 către rețeaua de destinație 192.168.2.0/24.
Rețineți, de asemenea, că masca de subrețea în configurația ACL este întotdeauna reprezentată cu o mască inversă (adică în loc să folosim 255.255.255.255.0 folosim 0.0.0.255).
Crearea listelor de acces extinse numerotate
Acum vom configura o listă de acces extinsă mai întâi în format numerotat și apoi în format numit. Lista de acces ar trebui să-i permită lui Bob (din diagrama noastră de rețea de mai sus) să acceseze serverele Web de pe Internet, în timp ce blochează tot accesul Web pentru Smith, înregistrând, de asemenea, încercările nereușite ale lui Smith de a deschide un site web.
Să vedem cum putem face acest lucru folosind o listă de acces extinsă în format numerotat.
R1>enable
R1#configure terminal
Introduceți comenzile de configurare, una pe linie. Terminați cu CNTL/Z.
R1(config)#access-list 100 permit tcp host 192.168.1.3 any eq www
R1(config)#access-list 100 deny tcp host 192.168.1.3 any eq www
R1(config)#access-list 100 deny tcp host 192.168.1.7 any eq www log
R1(config)#interface Fa0/0
R1(config-if)#ip access-group 100 in
R1(config-if)#end
R1#
Crearea listelor de acces extinse numite
Acum, să configurăm aceeași listă de acces extinsă în format numit.
R1>enable
R1#configure terminal
Intrați comenzile de configurare, una pe linie. Terminați cu CNTL/Z.
R1(config)#ip access-list extended Filter
R1(config-ext-nacl)#permit tcp 192.168.1.3 0.0.0.0 any eq www
R1(config-ext-nacl)#deny tcp 192.168.1.7 0.0.0.0.0.0 any eq www log
R1(config-ext-nacl)#interface Fa0/0
R1(config-if)#ip access-group Filter in
R1(config-if)#end
R1#
Am acoperit pe scurt listele de acces în acest articol. Puteți verifica ce liste de acces există pe dispozitivul Cisco utilizând comanda show access-lists.
Un test final al listelor de acces se face prin generarea efectivă a traficului pe care lista de acces ar trebui să îl permită sau să îl refuze și să vedeți rezultatele.
Cum se aplică ACL
După ce ați setat ACL-ul va trebui să specificați în ce direcție doriți să opereze pe interfața care va fi aplicată (de intrare sau de ieșire).
De exemplu „in” înseamnă intrare pe interfață și „out” înseamnă ieșire de pe interfață. ACL-ul este apoi aplicat pe o interfață specifică folosind comanda „access-group”.
Puteți identifica o listă de acces dându-i un nume sau un număr, așa cum am discutat mai sus. Iată un set de comenzi pe care le veți folosi:
Router(config)#interface serial 0
Router(config-if)#ip access-group 111 out
Utilizarea listelor de acces pentru a securiza accesul Telnet la un router
De asemenea, puteți securiza liniile telnet pe un router prin intermediul ACL. Acest lucru vă va permite să permiteți accesul la conectarea telnet doar pentru anumite gazde sau rețele. Iată un exemplu de configurare a modului în care ați putea face acest lucru.
access-list 25 permit 192.168.2.0 0.0.0.0.255
line vty 0 4
access-class 25 in
Cu această ACL implementată, veți permite doar gazdelor din rețeaua 192.168.2.0/24 să aibă acces la conectarea VTY. Toate încercările din alte rețele vor fi blocate.
Un alt exemplu: Să spunem că avem o anumită stație de management (10.1.1.1.1) căreia ar trebui să i se permită accesul la router prin telnet. Toate celelalte gazde ar trebui să fie blocate.
access-list 10 permit host 10.1.1.1.1
line vty 0 4
access-class 10 in
.