- Wprowadzenie do list dostępu (ACL) w sieciach Cisco
- Zastosowanie ACL na routerach Cisco
- Przykład 1: Blokowanie ruchu z określonego adresu IP
- Przykład 2: Zezwolenie na ruch HTTP tylko z jednej sieci
- Przykład 3: Logowanie odrzuconych pakietów
- Przykład 4: Ochrona przed spoofingiem
- Przykład 5: Priorytetyzacja ruchu VoIP
- Zastosowanie ACL na przełącznikach Cisco
- Przykład 1: Blokowanie ruchu między VLAN
- Przykład 2: Filtrowanie ruchu na porcie dostępu
- Przykład 3: Ochrona przed ARP spoofing
- Przykład 4: Filtrowanie multicast
- Przykład 5: Kontrola dostępu do serwera
- Tworzenie i konfiguracja standardowych ACL
- Przykład 1: Blokowanie pojedynczego hosta
- Przykład 2: Zezwolenie na sieć
- Przykład 3: Wielokrotne reguły
- Przykład 4: Użycie dzikiej karty
- Przykład 5: Aplikacja na przełączniku
- Tworzenie i konfiguracja rozszerzonych ACL
- Przykład 1: Blokowanie FTP
- Przykład 2: Zezwolenie na HTTP z jednej sieci
- Przykład 3: Filtrowanie ICMP
- Przykład 4: Wieloprotokołowe reguły
- Przykład 5: Z portami źródłowymi
- Nazwane ACL
- Przykład 1: Standardowa nazwana ACL
- Przykład 2: Rozszerzona nazwana ACL
- Przykład 3: Edycja nazwanej ACL
- Przykład 4: Wieloregułowa nazwana ACL
- Przykład 5: Nazwana ACL na przełączniku
- Inne aspekty obsługi ACL
- Przykład 1: Wyświetlanie ACL
- Przykład 2: Usuwanie ACL
- Przykład 3: Debugowanie ruchu
- Przykład 4: Sprawdzanie aplikacji ACL
- Przykład 5: Kopiowanie ACL
Wprowadzenie do list dostępu (ACL) w sieciach Cisco
Listy dostępu (Access Control Lists, ACL) stanowią fundamentalny mechanizm bezpieczeństwa w sieciach opartych na urządzeniach Cisco, takich jak routery i przełączniki. ACL umożliwiają filtrowanie ruchu sieciowego poprzez definiowanie reguł, które decydują o tym, czy pakiet danych zostanie przekazany, odrzucony czy też poddany dalszej obróbce. W kontekście urządzeń Cisco, ACL są nieodłącznym elementem konfiguracji, pozwalającym na kontrolę dostępu do zasobów sieciowych, ochronę przed nieautoryzowanym ruchem oraz optymalizację wydajności sieci.
W niniejszym artykule omówione zostaną zastosowania ACL na routerach i przełącznikach Cisco, wraz z szczegółowymi przykładami poleceń CLI, które można zrealizować w środowisku Cisco Packet Tracer. Artykuł skupia się na praktycznych aspektach konfiguracji, począwszy od podstawowych typów ACL, poprzez ich tworzenie i zarządzanie, aż po zaawansowane techniki debugowania. Wszystkie przykłady zostały przygotowane z myślą o środowisku laboratoryjnym, co pozwala na bezpieczne eksperymentowanie bez ryzyka wpływu na rzeczywistą infrastrukturę sieciową.
ACL w urządzeniach Cisco dzielą się na kilka kategorii: standardowe, rozszerzone oraz nazwane. Standardowe ACL filtrują ruch na podstawie adresu źródłowego, podczas gdy rozszerzone oferują większą precyzję, uwzględniając adresy źródłowe i docelowe, protokoły oraz porty. Nazwane ACL wprowadzają elastyczność poprzez możliwość edycji bez konieczności usuwania i ponownego tworzenia listy. Zastosowanie ACL różni się w zależności od typu urządzenia: na routerach służą głównie do kontroli ruchu między sieciami, natomiast na przełącznikach koncentrują się na filtrowaniu ruchu w warstwie drugiej modelu OSI.
W dalszej części artykułu przedstawione zostaną szczegółowe wyjaśnienia wraz z minimum pięcioma przykładami poleceń CLI dla każdego z kluczowych tematów. Przykłady te zostały skonstruowane w sposób umożliwiający bezpośrednie zastosowanie w Cisco Packet Tracer, z dokładnymi opisami kroków i oczekiwanych rezultatów. Czas czytania artykułu wynosi około 25 minut, co pozwala na dogłębne zrozumienie tematu bez pośpiechu.
Zastosowanie ACL na routerach Cisco
Routery Cisco wykorzystują ACL przede wszystkim do kontroli ruchu między różnymi sieciami lub interfejsami. ACL na routerach działają w warstwie trzeciej modelu OSI, filtrując pakiety na podstawie adresów IP, protokołów oraz innych parametrów. Głównym celem jest zapewnienie bezpieczeństwa poprzez blokowanie niepożądanego ruchu, takiego jak ataki typu DoS czy próby dostępu do wrażliwych zasobów. Ponadto, ACL mogą być używane do optymalizacji ruchu, na przykład poprzez priorytetyzację pakietów lub ograniczanie przepustowości dla określonych aplikacji.
W praktycznych scenariuszach, ACL na routerach służą do:
- Kontroli dostępu do sieci wewnętrznych z Internetu.
- Filtrowania ruchu między segmentami VLAN.
- Ochrony przed spoofingiem adresów IP.
- Implementacji polityk QoS poprzez klasyfikację pakietów.
- Logowania zdarzeń związanych z ruchem sieciowym.
Konfiguracja ACL na routerach wymaga zrozumienia kierunku aplikacji: inbound (ruch przychodzący) lub outbound (ruch wychodzący). W Cisco Packet Tracer można symulować te scenariusze, łącząc routery z przełącznikami i hostami, aby obserwować efekty filtrowania.
Przykład 1: Blokowanie ruchu z określonego adresu IP
W tym przykładzie tworzymy standardową ACL, która blokuje ruch z adresu 192.168.1.10 do dowolnego miejsca. ACL jest aplikowana na interfejsie wychodzącym.
Router(config)# access-list 1 deny 192.168.1.10 0.0.0.0 Router(config)# access-list 1 permit any Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ip access-group 1 out
Wyjaśnienie: Pierwsze polecenie tworzy ACL numer 1, odmawiając dostępu pakietom z adresu 192.168.1.10. Drugie polecenie pozwala na przejście wszystkich innych pakietów. Trzecie i czwarte aplikują ACL na interfejsie GigabitEthernet 0/0 w kierunku wychodzącym. W Packet Tracer można przetestować, wysyłając ping z hosta o adresie 192.168.1.10 – powinien zostać zablokowany.
Przykład 2: Zezwolenie na ruch HTTP tylko z jednej sieci
Rozszerzona ACL pozwala na filtrowanie ruchu HTTP (port 80) tylko z sieci 192.168.1.0/24.
Router(config)# access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80 Router(config)# access-list 101 deny ip any any Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ip access-group 101 in
Wyjaśnienie: ACL 101 zezwala na ruch TCP z sieci 192.168.1.0/24 do dowolnego adresu na porcie 80. Wszystkie inne pakiety są blokowane. Aplikacja na interfejsie przychodzącym. W symulacji, ruch HTTP z dozwolonej sieci przejdzie, a inne protokoły zostaną odrzucone.
Przykład 3: Logowanie odrzuconych pakietów
Dodanie opcji log do ACL umożliwia monitorowanie odrzuconych pakietów.
Router(config)# access-list 102 deny ip 192.168.2.0 0.0.0.255 any log Router(config)# access-list 102 permit ip any any Router(config)# interface Serial 0/0/0 Router(config-if)# ip access-group 102 in
Wyjaśnienie: ACL 102 blokuje ruch z sieci 192.168.2.0/24 i loguje zdarzenia. Pozostały ruch jest dozwolony. W Packet Tracer, po włączeniu logowania, można obserwować komunikaty w konsoli routera przy próbach dostępu.
Przykład 4: Ochrona przed spoofingiem
ACL może blokować pakiety z nieprawidłowymi adresami źródłowymi.
Router(config)# access-list 103 deny ip 10.0.0.0 0.255.255.255 any Router(config)# access-list 103 permit ip 192.168.1.0 0.0.0.255 any Router(config)# interface FastEthernet 0/0 Router(config-if)# ip access-group 103 in
Wyjaśnienie: ACL 103 blokuje pakiety z sieci prywatnych 10.0.0.0/8, zezwalając tylko na ruch z 192.168.1.0/24. To zapobiega spoofingowi. W symulacji, pakiety z fałszywymi adresami zostaną odrzucone.
Przykład 5: Priorytetyzacja ruchu VoIP
Użycie ACL do klasyfikacji pakietów VoIP dla QoS.
Router(config)# access-list 104 permit udp any any range 16384 32767 Router(config)# class-map voice Router(config-cmap)# match access-group 104 Router(config)# policy-map qos-policy Router(config-pmap)# class voice Router(config-pmap-c)# priority 1000
Wyjaśnienie: ACL 104 identyfikuje ruch RTP (VoIP) na portach dynamicznych. Następnie jest używany w polityce QoS do priorytetyzacji. W Packet Tracer, można symulować rozmowy VoIP i obserwować poprawę jakości.
Zastosowanie ACL na przełącznikach Cisco
Na przełącznikach Cisco ACL działają głównie w warstwie drugiej modelu OSI, koncentrując się na filtrowaniu ruchu w ramach VLAN lub między nimi. Przełączniki wspierają VLAN ACL (VACL), które filtrują ruch wewnątrz VLAN, oraz Router ACL (RACL), które kontrolują ruch między VLAN. ACL na przełącznikach są szczególnie przydatne w środowiskach korporacyjnych, gdzie wymagana jest ścisła kontrola dostępu między segmentami sieciowymi.
Kluczowe zastosowania obejmują:
- Izolację ruchu między VLAN.
- Kontrolę dostępu do portów przełącznika.
- Filtrowanie ruchu multicast.
- Ochronę przed atakami warstwy drugiej, takimi jak ARP spoofing.
- Implementację polityk bezpieczeństwa dla urządzeń końcowych.
W Cisco Packet Tracer, przełączniki takie jak Catalyst 2960 mogą być skonfigurowane z ACL, co pozwala na symulację scenariuszy bezpieczeństwa w małych sieciach.
Przykład 1: Blokowanie ruchu między VLAN
VACL blokuje ruch z VLAN 10 do VLAN 20.
Switch(config)# vlan access-map BLOCK_VLAN 10 Switch(config-access-map)# match ip address 10 Switch(config-access-map)# action drop Switch(config)# access-list 10 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 Switch(config)# vlan filter BLOCK_VLAN vlan-list 10,20
Wyjaśnienie: Tworzy się mapę dostępu VLAN, która dopasowuje ACL 10 i wykonuje akcję drop. ACL definiuje ruch między sieciami VLAN. W Packet Tracer, ruch między VLAN zostanie zablokowany.
Przykład 2: Filtrowanie ruchu na porcie dostępu
Port ACL (PACL) blokuje ruch z określonego hosta na porcie.
Switch(config)# access-list 11 deny host 192.168.1.100 Switch(config)# access-list 11 permit any Switch(config)# interface FastEthernet 0/1 Switch(config-if)# ip access-group 11 in
Wyjaśnienie: ACL 11 blokuje hosta 192.168.1.100, zezwalając innym. Aplikacja na porcie przychodzącym. W symulacji, host ten nie będzie mógł komunikować się przez ten port.
Przykład 3: Ochrona przed ARP spoofing
ACL może blokować nieprawidłowe pakiety ARP.
Switch(config)# arp access-list ARP_PROTECT Switch(config-arp-nacl)# permit ip host 192.168.1.1 mac host 0001.1234.5678 Switch(config-arp-nacl)# deny ip any mac any log Switch(config)# interface Vlan 1 Switch(config-if)# ip arp inspection filter ARP_PROTECT vlan 1
Wyjaśnienie: Lista ARP zezwala tylko na określone pary IP-MAC, blokując inne z logowaniem. W Packet Tracer, próby spoofingu zostaną wykryte i zablokowane.
Przykład 4: Filtrowanie multicast
Ograniczenie ruchu multicast do określonych grup.
Switch(config)# access-list 12 permit udp any 224.0.0.0 15.255.255.255 Switch(config)# access-list 12 deny ip any any Switch(config)# interface GigabitEthernet 0/1 Switch(config-if)# ip access-group 12 in
Wyjaśnienie: ACL 12 zezwala na ruch multicast (adresy 224.0.0.0/4), blokując inne. W symulacji, tylko dozwolony multicast przejdzie.
Przykład 5: Kontrola dostępu do serwera
VACL zezwala tylko na dostęp do serwera z jednej VLAN.
Switch(config)# access-list 13 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.100 Switch(config)# vlan access-map SERVER_ACCESS 10 Switch(config-access-map)# match ip address 13 Switch(config-access-map)# action forward Switch(config)# vlan filter SERVER_ACCESS vlan-list 10
Wyjaśnienie: ACL 13 definiuje dostęp z VLAN 10 do serwera. Mapa VLAN przekazuje ruch. W Packet Tracer, inne VLAN nie będą miały dostępu.
Tworzenie i konfiguracja standardowych ACL
Standardowe ACL w Cisco filtrują ruch wyłącznie na podstawie adresu źródłowego IP. Są proste w konfiguracji, ale mniej precyzyjne niż rozszerzone. Numerowane od 1 do 99, mogą być aplikowane na interfejsach routerów lub przełączników. W Packet Tracer, standardowe ACL są idealne do podstawowych scenariuszy filtrowania, takich jak blokowanie pojedynczych hostów lub sieci.
Proces tworzenia obejmuje: definiowanie listy, dodawanie reguł (deny/permit), aplikację na interfejsie. Reguły są przetwarzane sekwencyjnie, z domyślną regułą deny all na końcu.
Przykład 1: Blokowanie pojedynczego hosta
Router(config)# access-list 1 deny host 192.168.1.50 Router(config)# access-list 1 permit any Router(config)# interface Ethernet 0/0 Router(config-if)# ip access-group 1 out
Wyjaśnienie: Blokuje hosta 192.168.1.50, zezwala innym. Aplikacja wychodząca.
Przykład 2: Zezwolenie na sieć
Router(config)# access-list 2 permit 192.168.2.0 0.0.0.255 Router(config)# access-list 2 deny any Router(config)# interface Serial 0/0 Router(config-if)# ip access-group 2 in
Wyjaśnienie: Zezwala tylko na sieć 192.168.2.0/24, blokuje resztę. Przychodząca.
Przykład 3: Wielokrotne reguły
Router(config)# access-list 3 deny 192.168.3.0 0.0.0.255 Router(config)# access-list 3 permit 192.168.4.0 0.0.0.255 Router(config)# access-list 3 deny any Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ip access-group 3 in
Wyjaśnienie: Blokuje 192.168.3.0/24, zezwala 192.168.4.0/24, blokuje inne.
Przykład 4: Użycie dzikiej karty
Router(config)# access-list 4 permit 192.168.5.0 0.0.0.15 Router(config)# access-list 4 deny any Router(config)# interface FastEthernet 0/0 Router(config-if)# ip access-group 4 out
Wyjaśnienie: Zezwala na podsieć /28, blokuje inne.
Przykład 5: Aplikacja na przełączniku
Switch(config)# access-list 5 deny 192.168.6.0 0.0.0.255 Switch(config)# access-list 5 permit any Switch(config)# interface Vlan 10 Switch(config-if)# ip access-group 5 in
Wyjaśnienie: Na przełączniku, blokuje sieć na VLAN 10.
Tworzenie i konfiguracja rozszerzonych ACL
Rozszerzone ACL oferują większą kontrolę, filtrując na podstawie adresów źródłowych i docelowych, protokołów, portów oraz innych parametrów. Numerowane od 100 do 199, są bardziej złożone, ale umożliwiają precyzyjne polityki bezpieczeństwa. W Packet Tracer, rozszerzone ACL są niezbędne dla zaawansowanych scenariuszy, takich jak filtrowanie aplikacji.
Składnia obejmuje: access-list [numer] [akcja] [protokół] [źródło] [cel] [opcje]. Mogą być aplikowane podobnie jak standardowe.
Przykład 1: Blokowanie FTP
Router(config)# access-list 101 deny tcp any any eq 21 Router(config)# access-list 101 permit ip any any Router(config)# interface Ethernet 0/0 Router(config-if)# ip access-group 101 out
Wyjaśnienie: Blokuje FTP (port 21), zezwala innym.
Przykład 2: Zezwolenie na HTTP z jednej sieci
Router(config)# access-list 102 permit tcp 192.168.1.0 0.0.0.255 any eq 80 Router(config)# access-list 102 deny ip any any Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ip access-group 102 in
Wyjaśnienie: Tylko HTTP z 192.168.1.0/24.
Przykład 3: Filtrowanie ICMP
Router(config)# access-list 103 deny icmp any any echo Router(config)# access-list 103 permit ip any any Router(config)# interface Serial 0/0 Router(config-if)# ip access-group 103 out
Wyjaśnienie: Blokuje ping wychodzący.
Przykład 4: Wieloprotokołowe reguły
Router(config)# access-list 104 permit tcp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 eq 443 Router(config)# access-list 104 deny ip any any Router(config)# interface FastEthernet 0/0 Router(config-if)# ip access-group 104 in
Wyjaśnienie: HTTPS między sieciami.
Przykład 5: Z portami źródłowymi
Router(config)# access-list 105 permit udp any any eq 53 Router(config)# access-list 105 deny ip any any Router(config)# interface Vlan 20 Router(config-if)# ip access-group 105 out
Wyjaśnienie: Tylko DNS wychodzący.
Nazwane ACL
Nazwane ACL wprowadzają elastyczność poprzez możliwość edycji bez usuwania całej listy. Mogą być standardowe lub rozszerzone, identyfikowane przez nazwę zamiast numeru. W Packet Tracer, nazwane ACL ułatwiają zarządzanie w złożonych konfiguracjach.
Tworzenie: ip access-list [standard|extended] [nazwa]. Następnie dodawanie reguł w trybie konfiguracji listy.
Przykład 1: Standardowa nazwana ACL
Router(config)# ip access-list standard BLOCK_HOSTS Router(config-std-nacl)# deny host 192.168.1.100 Router(config-std-nacl)# permit any Router(config)# interface Ethernet 0/0 Router(config-if)# ip access-group BLOCK_HOSTS out
Wyjaśnienie: Blokuje hosta, zezwala innym.
Przykład 2: Rozszerzona nazwana ACL
Router(config)# ip access-list extended WEB_ACCESS Router(config-ext-nacl)# permit tcp 192.168.2.0 0.0.0.255 any eq 80 Router(config-ext-nacl)# deny ip any any Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ip access-group WEB_ACCESS in
Wyjaśnienie: Tylko HTTP z sieci.
Przykład 3: Edycja nazwanej ACL
Router(config)# ip access-list extended WEB_ACCESS Router(config-ext-nacl)# no 10 Router(config-ext-nacl)# 10 permit tcp 192.168.2.0 0.0.0.255 any eq 443
Wyjaśnienie: Usuwa regułę 10, dodaje nową dla HTTPS.
Przykład 4: Wieloregułowa nazwana ACL
Router(config)# ip access-list extended SECURE_TRAFFIC Router(config-ext-nacl)# permit tcp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255 eq 22 Router(config-ext-nacl)# permit icmp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255 Router(config-ext-nacl)# deny ip any any Router(config)# interface Serial 0/0 Router(config-if)# ip access-group SECURE_TRAFFIC out
Wyjaśnienie: SSH i ICMP między sieciami.
Przykład 5: Nazwana ACL na przełączniku
Switch(config)# ip access-list extended VLAN_FILTER Switch(config-ext-nacl)# deny ip 192.168.5.0 0.0.0.255 192.168.6.0 0.0.0.255 Switch(config-ext-nacl)# permit ip any any Switch(config)# vlan access-map FILTER_MAP 10 Switch(config-access-map)# match ip address VLAN_FILTER Switch(config-access-map)# action forward Switch(config)# vlan filter FILTER_MAP vlan-list 10
Wyjaśnienie: Filtrowanie między VLAN na przełączniku.
Inne aspekty obsługi ACL
Oprócz tworzenia, ACL wymagają zarządzania: edycji, usuwania oraz debugowania. Edycja nazwanych ACL jest prosta, podczas gdy numerowane wymagają usunięcia i ponownego utworzenia. Usuwanie obejmuje odłączenie od interfejsów i usunięcie listy. Debugowanie wykorzystuje polecenia show i debug do monitorowania.
Przykład 1: Wyświetlanie ACL
Router# show access-lists
Wyjaśnienie: Pokazuje wszystkie skonfigurowane ACL.
Przykład 2: Usuwanie ACL
Router(config)# no access-list 1 Router(config)# interface Ethernet 0/0 Router(config-if)# no ip access-group 1
Wyjaśnienie: Usuwa ACL i odłącza od interfejsu.
Przykład 3: Debugowanie ruchu
Router# debug ip packet detail Router# terminal monitor
Wyjaśnienie: Włącza debugowanie pakietów IP.
Przykład 4: Sprawdzanie aplikacji ACL
Router# show ip interface Ethernet 0/0
Wyjaśnienie: Pokazuje, czy ACL jest aplikowane na interfejsie.
Przykład 5: Kopiowanie ACL
Router(config)# ip access-list extended NEW_ACL Router(config-ext-nacl)# copy running-config startup-config
Wyjaśnienie: Zapisuje konfigurację, kopiując ACL.
