1.Wstęp
2.Konfiguracja list dostępu
3.Zasady tworzenia list dostępu
4.Konfiguracja standardowych list dostępu
5.Konfiguracja rozszerzonych list dostępu
6.Nazywanie list dostępu
7.Dostęp do linii wirutalnych routera
8.Weryfikacja list dostępu
Listy dostępu są mechaniezmem filtracji pakietów przetwarzanych przez router. Ich zastosowanie może być bardzo różne. Są wykorzystywane do selekcji ruchu podlegającego ochronie IPSec (IPSec jest protokołem bezpieczeństwa, zapewniającym integralność i poufność danych, oraz uwierzytelnienie na poziomie warstwy IP między wymieniającymi dane urządzeniami).
Z tematem list dostępu jest związane pojęcie masek wildcard (dzikie maski). Maski wildcard są podobne do masek w notacji adresów IP. Różnią się tym, że mają odwrtotny zapis, bity, które są ważne wynoszą 0, a bity nieistotne wynoszą 1.
| Przykład | Decymalnie | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Sprawdzenie wszystkich bitów | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Sprawdzenie czterech pierwszych bitów w oktecie | 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| Sprawdzenie ostatnich dwóch bitów w oktecie | 252 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| Nie są sprawdzane żadne bity w oktecie | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Dzikie maski zawsze definiuja bloki adresów wielkości 1, 2, 4, 8, 16 .. . Bloki adresów muszą zaczynac się od
2 n.
Przykłady
Adresy pasujące do zakresu 1.1.1.1 do 1.1.1.255 będą definiowane przez maske wildcard jako:
1.1.1.0 0.0.0.255
Blok adresów 172.16.1.8 do 172.16.1.15 bedzie definiowany jako:
172.16.1.8 0.0.0.7
Oznacza to, że pierwszy adres będzie miał wartość 172.16.1.8 (ostatni oktet binarnie to 0001000). Maska 0.0.0.7 oznacza, że ostatnie trzy bity nie będą miały znaczenia. Więc pasować będą aż do adresu 172.16.1.15 (ostatni oktet binarnie to 0001111). Trzeba zaznaczyć, że blok adresów nie może zaczynac sie np. od adresu 172.16.1.10 i kończyć na adresie 172.16.1.17. Zawsze początkiem bloku musi być liczba, której bity odpowiadające masce sa równe 0.
Aby skonfigurować listy dostępu należy wykonać dwie czynności:
Aby skonfigurowac listy trzeba:
| Numer Listy | Opis |
| 1-99 | Standardowa IP |
| 100-199 | Rozszerzona IP |
| 200-299 | Lista mostkowa (typ protokołu) |
| 600-699 | AppleTalk |
| 700-799 | Mostkowa (adres MAC) |
| 800-899 | Standardowa IPX |
| 900-999 | Rozszerzona IPX |
| 1000-1099 | IPX SAP |
| 1100-1199 | ozszerzona mostkowa (MAC i kod dostawcy) |
| 1200-1299 | Zbiorcza IPX |
| 1300-1999 | Standardowa IP z rozszerzonym zakresem numeracji |
| 2000-2699 | Rozszerzona IP z rozszerzonym zakresem numeracji |
O czym należy pamiętać tworząc listę dostępu.
Standardowa lista dostępu jest ciągiem reguł zabraniających lub zezwalających na ruch pakietów badając ich adres źródłowy IP. Standardowe listy dostępu przetwarzają pakiety w inny sposób dla ruchu wchodzącego i dla ruchu wychodzącego.
Standardowe listy dostępu tworzy się za pomocą polecenia access-list. Każda reguła w liście wymaga jednego polecenia access-list
access-list numer listy {deny|permit} {adres żródłowy [maska wildcard] | [log]}
Aby przypisać listę do interfejsu należy zastosowac polecenie ip access-group. Każdy interfejs może mieć przypisane dwie listy dostępu, dla ruchu wchodzącego i wychodzącego.
Jeśli przypisane są obie listy, muszą być tego samego typu. Składnia polecenia wygląda następująco.
ip access-group numer listy {in | out}
Usuwanie całej listy polega na wydanieu polecenia no accel-list numer listy. Należy je wprowadzić w trybie konfiguracji. Usuwanie przypisania listy do interfejsu wykonuje się za pomocą polecenia no access-group numer listy wydanego w trybie konfiguracji interfejsu.
Podobnie, aby przypisać lisę do lini terminalowej należy zastosować polecenie ip access-class w trybie konfiguracji linii. Parametry polecenia są identyczne jak w przypadku polecenia ip access-group. Oczywiście jeśli celem jest ograniczenie dostępu do zdalnego łączenia się z routerem sens ma użycie tylko słowa in.
Aby skrócić wpisywanie długich, złożonych list dostępu można skorzystać w niektórych przypadkach z domyślnych masek. Jeśli nie zostanie wpisana żadna maska, zawsze przyjmowana jest domyslnie maska 0.0.0.0 .
| Zapis | Interperetacja |
|---|---|
| access-list 1 permit 10.1.1.3 | access-list 1 permit 10.1.1.3 0.0.0.0 |
| access-list 1 permit 172.16.21.3 | access-list 1 permit 172.16.21.3 0.0.0.0 |
| access-list 1 permit 192.168.244.196 | access-list 1 permit 192.168.244.196 0.0.0.0 |
| access-list 1 permit host 192.168.244.196 | access-list 1 permit 192.168.244.196 0.0.0.0 |
Rozszerzone listy dostępu pozwalają na bardziej szczegółowe dobieranie reguł filtracji niż standardowe listy. Pozwalają na uwzględnienie jako kryterium filtracji numerów portów docelowych warstwy transportowej, rodzajów protokołów oraz adresów IP nadawcy i odbiorcy. Podobnie jak listy standardowe są przeglądane od góry do dołu, aż do pierwszego trafienia. Po takim pierwszym dopasowaniu następujae akcja permit lub deny odpowiednio zezwalająca na przejście lub blokująca pakiet.
Router sparawdza każy pakiet pod kątem adresów IP, portów i opcji protokołu. Jeśli po dopasowaniu akcją jest deny, pakiet jest odrzucany, a do nadawcy wysyłany jest komunikat ICMP o nieosiągalności hosta.
Rozszerzone listy dostępu tworzy się za pomocą polecenia access-list. W przypadku list rozszerzonych składnia polecenia jest następująca:
access-list numer listy [dynamic nazwa-dyn [timeout minuty] {deny|permit} protokół źródło wildcard-źródło odbiorca wildcard-odbiorca [precendence proirytet] [tos tos] [log]
| Parametr | opis |
| numer listy | Identyfikuje listę. Numer z zakresu 100-199 |
| dynamic nazwa-dyn | (opcjonalnie)Identyfikuję listę jako lis edynamiczną. Znajduje zastosowanie w zabezpieczeniach lock and key |
| timeout minuty | (opcjonalnie) Wyznacza limit ważności list dynamicznuych w minutach |
| deny|permit | Specyfikuje akcję |
| protokół | Oznacza numer lub nazwę protokołu pasażerskiego IP Może to być jesdna z poniższych nazw:
|
| źródło i odbiorca | Adres IP w notacji aaa.bbb.ccc.ddd . Można również użyc słowa kluczowego
any dla określenia dowolnego adresu |
| precedence proirytet | (opcjonalnie) Dopasowuje pakiety zgodnie z polem precedence w nagłówku IP. Dopuszczlne wrtości (numeryczne lub jako nazwa) to:
|
| tos tos | (opcjonalnie)Dopasowuje pakiety zgodnie z polem Type of Service
nagłówka IP. Dopuszczalne wrtości to:
|
| log | (Opcjonalnie) powoduje wysłanie informacji o "trafieniu" w regułę mechanizmu syslog |
Jeśli potrzebne jest filtrowanie ruchu TCP access-list tcp. Jego składnia to:
access-list numer-listy [dynamic nazwa-dyn [timeout minuty]] {deny|permit} tcp źródło żródło-wildcard [operator port[port]] odbiorca odb-wildcard [operator port [port]] [established] [precedence precedence] [tos tos] [log]
To polecenie posiada swoje unikalne parametry.
| Parametr | Opis | |
| tcp | Określa, że lista bierze pod uwage parametry protokołu TCP | |
| operator | (opcjonalnie) Określa jak dopasowane mają byc numery portu w datagramach z parametrem pot Dozwolone wartości to:
| |
| port | (opcjonalnie) Określa numer portu z zakresu 0 do 65535 lub nazwa usługi reprezętująca port |
|
| established | Dopasowanie datagramu z ustawionymi bitami ACK lub RST. Pozwala na kontrolowanie ruchu ustanowionych sesji. Ta metoda ie utrzymuje stanu sesji, a tylko bada zawartość flag w datagramie |
Ponieważ rozszerzone listy dostępu mogą filtrować pakiety na podstawie adresów nadawców, ich lokalizacja nie jest tak istotna
jak w przypadku list standardowych. Jeśli zadaniem listy jest minimalizacja nasycenia sieci i maksymalizacja wydajności to można je umieścic na routerach bliskich
zabronionym adrsom źródłowym. Jeśli listy mają zapewnić maksymalną kontrolę nad przepływem pakietów, należy je umieszczać jak najbliżej chronionych hostów. Należy unikać stosowania list dostępu
na urządzeniach szkieletu sieci, bo wprowadzaja one opóźnienia. Oto kilka ogólnych zasad na temam tworzenia list dostępu:
Utworzenie listy:
routerA(config)#ip access-list extended testSprawdzenie listy:
routerA(config-ext-nacl)#permit ip any host 1.1.1.1 routerA(config-ext-nacl)#permit ip any host 2.2.2.2 routerA(config-ext-nacl)#permit ip any host 3.3.3.3
routerA#sh ip access-lists
Extended IPaccesslist test
permit ip any host 1.1.1.1
permit ip any host 2.2.2.2
permit ip any host 3.3.3.3
Usunięcie linii drugiej:routerA(config)#ip access-list extended test routerA(config-ext-nacl)#no permit ip any host 2.2.2.2Ponowne sprawdzenie zawartości listy:
routerA#sh ip access-lists
Extended IPaccess list test
permit ip any host 1.1.1.1
permit ip any host 3.3.3.3
Omawiane do tej pory listy dostępu służyły do filtrowania ruchu przechodzącego przez router.
Istnieje jednak możliwość filtrowania ruchu przychodzącego do samego routera (np. telnet na
linie wirtualne). Dla tego typu ruchu mogą byc zastosowane tylko standardowe listy dostęp.
Aby zezwolic na połączenie telnet tylko ze stacji o IP 192.168.14.2 na RouterA, konfiguracja listy będzie wyglądać
następująco:
routerA(config)#access-list 2 permit 192.168.14.2 routerA(config)#line vty 0 4 routerA(config-line)#access-class 2 in
Oprócz tworzenia list dostępu istotna jest też ich weryfikacja i zarządzanie. Aby wyswietlić wszystkie listy
dostępu należy użyc polenenia show access-lists.
Można również użyć polecenia, ze wskazaniem konkretnego protokołu:
show ip access-list.
W przypadku, gdy chcemy wyświetlić zawartość jednej listy, podajemy jej numer:
show access-list 100.
Można również zastosować polecenie show runing-config. Polecenie show line pozwala
zobaczyć listy przypisane do linii wirtualnych routera, show line vty 0 4
Aby zobaczyć listy przypisane do interfejsu można skorzystać z polecenia show ip interface ethernet0