Dla tych z Państwa, którzy są zaznajomieni z listami kontroli dostępu, prawdopodobnie wiedzą, że istnieje wiele różnych typów list kontroli dostępu. Mamy listy kontroli dostępu dla IP w wersji 4, dla IP w wersji 6, dla IPX, dla DECnet, dla AppleTalk i lista ta ciągnie się w nieskończoność. Za co jesteście odpowiedzialni? W tym momencie jesteśmy odpowiedzialni za IP w wersji 4 i na tym się skupiamy, na IP w wersji 4. I możemy podzielić listy kontroli dostępu IP w wersji 4 na dwa różne typy, standardowe i rozszerzone. Jaka jest różnica?
- Standardowa ACL
- Sprawdza adres źródłowy ACL
- Zezwala lub odmawia całego zestawu protokołów
- Rozszerzona ACL
- Sprawdza adres źródłowy i docelowy
- Ogólnie zezwala lub odmawia określonych protokołów i aplikacji
- Źródłowy i docelowy port TCP i UDP
- Typ protokołu (IP, ICMP, UDP, TCP lub numer protokołu)
Cóż, to są parametry, których oni szukają i chcę, abyś przeczytał standard, czego ten standard tutaj szuka? Co sprawdza? Chcę, żebyś to przeczytał. I zamierzam pokazać sposób na zapamiętanie tego. Tak więc widzisz, że standard nie patrzy na miejsce docelowe, co praktycznie rzecz biorąc nie jest zbyt użyteczne. Brak możliwości szukania miejsca docelowego jest dość ograniczający, zazwyczaj chcesz szukać skąd przychodzi i dokąd zmierza. Ale standardowa lista dostępu ma coś wspólnego z adresem źródłowym, prawda? Jest to litera S, jest to świetny sposób, aby zapamiętać, że standardowe listy dostępu szukają tylko źródła.
Rozszerzone listy kontroli dostępu, lub rozszerzone ACL, z drugiej strony, są o wiele bardziej potężne, mogą patrzeć na źródło i miejsce docelowe, mogą patrzeć na protokoły warstwy transportowej, takie jak TCP i User Data Protocol, lub UDP. Mogą patrzeć na protokoły warstwy aplikacji poprzez TCP i UDP, takie jak HTTP, FTP, Trivial File Transport Protocol lub TFTP, DNS, secure sockets layer i secure shell. Brzmi to dużo, więc jak zapamiętać, że rozszerzone listy dostępu mogą odpowiadać za znacznie więcej niż standardowe listy kontroli dostępu? Cóż, kiedy odnosiliśmy się do naszych standardowych list kontroli dostępu, zwróciliśmy uwagę, że sprawdzają one tylko adres źródłowy. Standard zaczyna się od S, źródło zaczyna się od S również.
Więc pamiętam to jako standard, tylko źródło, S i S, podczas gdy w przypadku rozszerzonej, mamy wszystko inne. Tak więc E pomaga nam zapamiętać wszystko. Teraz są pewne rzeczy, których nie możemy dopasować. Nie możemy dopasować numerów sekwencji, numerów potwierdzeń, nie możemy dopasować wielu flag w TCP na przykład, możemy dopasować jedną z nich i wysłać bit. Ale jest to o wiele bardziej inkluzywne i dzięki temu jesteśmy bliżej wszystkiego. Pamiętajcie, że kiedy je wprowadzamy, mamy dwa zestawy składni, mamy starą składnię i mamy nową składnię. Stara składnia jest numerowana, nowa składnia jest nazwana, a składnia numerowana jest trochę skomplikowana. Nie spotykamy się z numerycznymi nazwami tak często. W numerowanej standardowej liście dostępu, mamy od 1 do 99. Istnieje rozszerzony zakres, od którego trzymamy się z daleka, nie ma już powodu, aby go używać. Od 1300 do 1999, nie używamy tego, ok, trzymaj się z daleka. Ale jeden do 99 jest standardowy, 100 do 199 jest rozszerzony i sposób, aby zapamiętać ten zakres jest to, że zawsze kończą się na 99s, każdy pojedynczy zakres kończy się 99 coś. I kiedy rozszerzamy do wartości trzycyfrowej, kiedy przeskakujemy z dwóch cyfr na trzy cyfry, rozszerzamy i dlatego otrzymujemy rozszerzony zakres listy dostępu IP.
IPv4 ACL Type | Number Range / Identifier |
---|---|
Numbered Standard | 1-99, 1300-1999 |
Numbered Extended | 100-199, 2000-2699 |
Nazwa (Standardowa i Rozszerzona) | Nazwa |
Ale to jest składnia, za którą szczerze mówiąc jesteśmy bardziej odpowiedzialni, ale mamy ją już od większej części dekady, nazwane listy kontroli dostępu. W rzeczywistości jest to już ponad dekada, o której mówimy. Jaka jest korzyść z nazwanej listy kontroli dostępu? Cóż nazwana lista kontroli dostępu, po pierwsze, pozwala nam zapewnić opisową nazwę. Więc zamiast naszej listy kontroli dostępu o nazwie 79 możemy podać nazwę opisową, a nazwa ta może pomóc nam zrozumieć, co lista kontroli dostępu jest przeznaczony do osiągnięcia. Ale to z czego naprawdę korzystamy używając nazwanych list kontroli dostępu to możliwość ich edycji, dodawania i usuwania wpisów w ramach tej ACL.
Widzisz, z numerowanymi listami kontroli dostępu, jeśli potrzebujesz dodać wpis, kiedy idziesz do interfejsu wiersza poleceń i chcesz dodać wpis, to będzie on rozpatrywany przed wpisem, który już tam masz. Teraz nie możesz po prostu wejść tam i po prostu umieścić tam, nie ma sposobu, aby to zrobić ze składnią do tworzenia tego. Więc jesteś ograniczony w swoich możliwościach edycji, co musisz zrobić? Wymazać wszystko i stworzyć od nowa. Więc Notatnik przychodzi z pomocą. W porządku, ale z nazwanej listy kontroli dostępu, mamy możliwość, aby przejść do nazwanej listy kontroli dostępu składni, dodać, przenieść, usunąć, zmienić te wpisy w liście kontroli dostępu, jak widzimy fit.
Więc dużo bardziej potężne, nazwanej listy kontroli dostępu składni. Ale nie zrozum nas źle tutaj. Numerowana identyfikacja listy kontroli dostępu, taka jak 1, 2, 3, 4 lub 100 czy 150, to nadal jest nazwa listy kontroli dostępu. I zobaczysz to później, wykorzystaj składnię nazwanej listy kontroli dostępu, aby edytować numerowaną listę kontroli dostępu. To jest całkiem fajne i damy ci możliwość edycji i naprawić swoje błędy z numerowanej listy kontroli dostępu bez konieczności wysadzenia całej rzeczy i usunąć go. Tak więc naprawdę świetna składnia i nauczysz się jej i pokochasz ją i zobaczymy ją całą, całą składnię jak będziemy razem przechodzić przez ten kurs.
Standardowe numerowane ACL
Standardowa lista dostępu, czego szukają? Pytam się Ciebie, czego szukają? Szukają parametru source i tutaj możemy to zobaczyć. Więc nie będą się martwić o nagłówek ramki warstwy 2, będą patrzeć na nagłówek pakietu, będą patrzeć na pole źródła w nagłówku pakietu i dopasowywać wyłącznie w oparciu o to. Nie będą więc sięgać głębiej w warstwę transportową. Żaden z nich nie zagłębia się w dane. Musiałbyś użyć jakichś zaawansowanych funkcji firewalla, aby filtrować na podstawie danych.
Oto to, na co czekaliśmy, składnia, i nie jest ona zbyt skomplikowana, zwróć na to uwagę. Nie jest przesadnie skomplikowana. Po pierwsze i najważniejsze, konfigurujemy numerowane listy kontroli dostępu w trybie konfiguracji globalnej. Wpisujemy access-list, a następnie podajemy numer listy dostępu. Więc to są standardowe listy kontroli dostępu IPv4, jakie są zakresy numerów? Od 1 do 99 i od 1300 do 1999. Kiedy podamy dowolną liczbę z tych możliwych wartości, nasz router automatycznie wie, że tworzymy standardową listę kontroli dostępu IPv4 i poda nam poprawną składnię, której należy użyć.
Nie pozwoli nam wprowadzić parametrów, które nie są akceptowane przez standardową listę kontroli dostępu IP w wersji 4. Więc wpiszesz zły numer, jeśli wpiszesz 101, gdzie próbujesz stworzyć standardową listę kontroli dostępu IP w wersji 4, to poda ci składnię dla rozszerzonej listy kontroli dostępu, prawda? Więc bądź ostrożny z numeracją, wybierz właściwe numery, a następnie określisz, co chcesz, aby się stało z tym ruchem. Czy chcesz zezwolić? Czy chcesz odmówić? Możesz również umieścić uwagę, co to jest uwaga? Jest to po prostu opis. Więc możesz opisać tą listę kontroli dostępu, więc kiedy przejrzysz listę kontroli dostępu później, będziesz wiedział do czego ona służy.
R1(config)#R1(config)#access-list 1 ?deny Określenie pakietów do odrzuceniapermit Określenie pakietów do przekazaniaremark Komentarz do wpisu na liście dostępuR1(config)#access-list 1 permit ?Hostname lub A.B.C.D Address to matchany Any Any source hosthost Pojedynczy adres hostaR1(config)#access-list 1 permit 172.16.0.0 ?/nn or A.B.C.D Wildcard bitslog Log Log matches against this entry<cr>R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 ?log Log matches against this entry<cr>R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255R1(config)#
Then we have our source, what is the source? Pamiętasz, jak wcześniej patrzyliśmy na adresy i kombinacje masek wieloznacznych… Cóż, źródło to adres źródłowy, punkt startowy, którego chcemy użyć do porównania zakresów. Więc jeśli spojrzymy na nasz przykład, mamy 172.16.0.0 jako adres, źródło, a następnie maskę. Co to jest maska? Uważaj tutaj, to nie jest, powtarzam, to nie jest maska podsieci. To jest maska wieloznaczna. To jest miejsce, gdzie wprowadzamy maskę wieloznaczną. Więc w naszym przykładzie 0.0.255.255, więc jaki jest zakres adresów, które ta lista kontroli dostępu, którą właśnie stworzyliśmy, będzie sprawdzać? 172.16.0.0 do 172.16.255.255.
Więc widzisz jak ważna jest maska wieloznaczna, i zrozumienie co ona robi, pomoże ci w tworzeniu i odczytywaniu tych list. Jest tu napisane, że jest domyślna maska wieloznaczna, potraktuj to z przymrużeniem oka, twój system operacyjny ogólnie rzecz biorąc nie zaakceptuje już składni, gdy wprowadzisz jakikolwiek wpis wewnątrz listy kontroli dostępu, w którym brakuje maski wieloznacznej. Ok, więc to jest stare zachowanie i nie jest reprezentatywne dla niczego, co jest ostatnio. Kiedy wprowadzamy wpis taki jak ten, który widzimy w trybie konfiguracji globalnej z access-list, to jest to tylko jeden wpis. Pamiętajmy, że gdybyśmy chcieli dodać kolejny wpis, nadal mielibyśmy access-list 1, a potem będziemy budować kolejną sekwencję permit lub deny. access-list 1 ponownie, access-list 1 ponownie, jeśli chcemy budować coraz większą listę kontroli dostępu. Jaki jest minimalny rozmiar listy kontroli dostępu?
Minimalny rozmiar to jedna deklaracja zezwolenia. Tak myślę, że nie może być tylko jedna deklaracja deny, to byłoby bezużyteczne, chyba że logujesz się, ale to nie pozwoliłoby niczemu przejść. A maksimum to cokolwiek możesz sobie wymarzyć i na co masz wytrzymałość. Kiedy już udoskonalisz swoją listę kontroli dostępu w trybie konfiguracji globalnej, jak widzimy tutaj, możesz ją zatwierdzić. Ale aby pokazać listy dostępu, polecenie i że w rzeczywistości pokazać wszystkie listy dostępu, IPv4, IPv6, lista dostępu do adresu Mac, IPX, AppleTalk, ale zazwyczaj mamy tylko IPv4 i może być obecnie niektóre IPv6.
R1#show access-listsStandardowa lista dostępu IP 110 permit 172.16.0.0, wildcard bits 0.0.255.255
I widzimy jeden wpis. Chwileczkę, chwileczkę, wpisaliśmy permit 172.16 z tą maską wieloznaczną, co to za 10? Czym jest ta 10, która właśnie ożyła na naszej liście dostępu? 10 to automatyczny numer sekwencji, który jest dodawany do listy dostępu. Domyślnie będzie to 10. Jeśli mielibyśmy stworzyć kolejny wpis…więc wpiszemy access-list 1 permit 192.168.1.0 0.0.0.255, to automatycznie zostanie mu nadany numer sekwencji. I to będzie 20, następny na liście i następny będzie 30 i 40 i 50, to jest sposób w jaki je śledzimy, numer sekwencji, kolejność w jakiej je stworzyliśmy.
I to jest ważne, pamiętasz jak mówiliśmy, jeśli chcemy edytować listę kontroli dostępu, możemy chcieć dodać wpis tu i tam, ale możemy to zrobić tylko z nazwaną składnią, nie jesteśmy w stanie tego zrobić tutaj z tą standardową składnią numeracji, ale te numery sekwencji będą czynnikiem definiującym, gdzie nasz wpis idzie. Jeśli dodać lub przenieść lub usunąć lub zmienić i zobaczymy, że później, zobaczymy, że później tylko wtedy, gdy wejdziemy do nazwanej składni listy kontroli dostępu, jak te numery sekwencji mogą być używane i manipulowane na naszą korzyść.
Usuwanie listy dostępu jest bardzo proste, pamiętaj, że potężne no polecenia, wpisz w no access-list, a następnie numer listy dostępu, który chcesz usunąć. Bądź ostrożny, bądź ostrożny. Załóżmy, że wpisałeś no access-list 1 permit 172.16.0.0 0.0.255.255. Chcesz więc usunąć standardowy wpis listy dostępu, który utworzyłeś wcześniej. Wpisujesz no i podajesz całą komendę, którą wpisałeś wcześniej, czy to usunie tylko ten jeden wpis? Powtórzę, czy to usunie tylko ten jeden wpis? Na pierwszą myśl, tak, to na pierwszą myśl, ale jeśli spróbujesz tego i przetestujesz to? Nie, to nie jest to, co się stanie. To nie usunie tylko tego jednego wpisu, co zrobi? Pozbędzie się całej rzeczy, więc niektórzy z was mieli z tym styczność. To naprawdę dziwaczne zachowanie IOS.
R1#config t
Wprowadź komendy konfiguracyjne, po jednej na linię. Zakończ CNTL/Z.
R1(config)#no access-list 1
R1(config)#end
R1#sh access-lists
R1#
Normalnie, kiedy wprowadzamy konkretne polecenie i wpisujemy je jako no, to po prostu usuwa to jedno polecenie. Tutaj musimy być bardzo ostrożni ze składnią, nie ważne co, mówisz no access list, daj mu numer. Nie obchodzi mnie, co się stanie potem, to będzie zniszczyć całą listę dostępu i wiele zły dzień został spowodowany przez to zachowanie.