For dem af jer, der er bekendt med adgangskontrollister, er I sikkert klar over, at der findes mange forskellige typer af adgangskontrollister. Vi har adgangskontrollister for IP version 4, for IP version 6, for IPX, for DECnet, for AppleTalk og listen kan fortsætte og fortsætte og fortsætte og fortsætte. Hvad er du ansvarlig for? Vi er ansvarlige for IP version 4 på nuværende tidspunkt, og det er der vores fokus er, IP version 4. Og vi kan opdele IP version 4 adgangskontrollisterne i to forskellige typer, standard og udvidet. Hvad er forskellen her?

  • Standard ACL
    • Kontrollerer ACL-kildeadresse
    • Godkender eller afviser hele protokolpakken
  • Udvidet ACL
    • Kontrollerer kilde- og destinationsadresse
    • Generelt tillader eller afviser specifikke protokoller og applikationer
      • Kilde- og destinations TCP- og UDP-porte
      • Protokoltype (IP, ICMP, UDP, TCP eller protokolnummer)

Jamen det er, hvilke parametre de kigger efter, og jeg vil have dig til at læse standard, hvad kigger denne standard efter her? Hvad kontrollerer den? Jeg vil have dig til at læse det. Og jeg vil vise en måde at huske det på. Så du kan se, at standard ikke kigger på destination, hvilket praktisk talt ikke er særlig nyttigt. Manglen på at kunne kigge efter en destination er ret begrænsende, da man normalt ønsker at kigge efter, hvor den kommer fra og hvor den skal hen. Men en standard adgangsliste har noget til fælles med kildeadresse, ikke sandt? Det er bogstavet S, det er en god måde at huske på, at standard adgangslister kun kigger på kilden.

Extended access control lists, eller udvidede ACL’er, på den anden side, de er langt mere kraftfulde, de kan kigge på kilde og destination, de kan kigge på transportlagsprotokoller som TCP og User Data Protocol, eller UDP. De kan se på protokoller i applikationslaget over TCP og UDP, f.eks. HTTP, FTP, Trivial File Transport Protocol eller TFTP, DNS, Secure Sockets Layer og Secure Shell. Det lyder af meget, så hvordan husker vi, at udvidede adgangslister kan passe til så meget mere end standard adgangskontrollister? Nå, men da vi henviste til vores standard adgangskontrollister, påpegede vi, at den kun kontrollerer kildeadressen. Standard starter med S, kilde starter også med S.

Så jeg husker det som standard, kun kilde, S og S, hvorimod vi med udvidet har alt andet. Så E’et hjælper os med at huske det hele. Nu er der visse ting, som vi ikke kan matche. Vi kan ikke matche sekvensnumre, kvitteringsnumre, vi kan ikke matche mange af flagene i TCP for eksempel, vi kan matche et af dem og sende bit. Men det er langt mere omfattende, og derfor er vi tættere på alt. Husk på, at når vi indtaster disse, har vi to sæt af syntaks, vi har den gamle syntaks og vi har den nye syntaks. Og vi vil udsætte dig for begge dele.

Den gamle syntaks er nummereret, den nye syntaks er navngivet, og den nummererede syntaks, den er lidt tricky. Vi støder ikke så ofte på numeriske navne. I nummererede standard adgangslister har vi en til 99. Der er et udvidet område, som vi holder os væk fra, der er ingen grund til at bruge det længere. 1300 til og med 1999 bruger vi ikke, okay, undgå det. Men 1 til 99 er standard, 100 til 199 er udvidet, og den måde at huske dette område på er, at de altid slutter på 99’er, hvert eneste område slutter med 99 et eller andet. Og når vi udvider til en trecifret værdi, når vi hopper fra to cifre til tre cifre, udvider vi, og derfor får vi den udvidede IP access list range.

IPv4 ACL Type Nummerområde/identifikator
Nummereret Standard 1-99, 1300-1999
Nummereret Udvidet 100-199, 2000-2699
Named (Standard and Extended) Name

Men det er den syntaks, som vi ærlig talt er mere ansvarlige for, men som vi har haft i det meste af et årti nu, nemlig navngivne adgangskontrollister. Faktisk er det over et årti, mens vi taler. Hvad er fordelen ved en navngiven adgangskontrolliste? For det første giver en navngiven adgangskontrolliste os mulighed for at give et beskrivende navn. Så i stedet for at vores adgangskontrolliste hedder 79 kan vi give et beskrivende navn, og dette navn kan hjælpe os med at forstå, hvad adgangskontrollisten er designet til at opnå. Men det, vi virkelig nyder godt af ved at bruge navngivne adgangskontrollister, er muligheden for at redigere dem, tilføje og slette poster i den pågældende ACL.

Med nummererede adgangskontrollister vil man, hvis man skal tilføje en post, når man går til kommandolinjeinterfacet og vil tilføje en post, blive kigget på den før en post, man allerede har derinde. Nu kan man ikke bare gå ind og sætte en ind der, det kan man ikke gøre med syntaksen til at oprette den. Så du er begrænset i dine redigeringsmuligheder, hvad skal du gøre? Du skal slette det hele og oprette det igen. Så Notepad er praktisk. Okay, men med named access control list har vi mulighed for at gå ind i syntaksen for named access control list, tilføje, flytte, slette, ændre disse poster i access control list, som vi ønsker det.

Så meget mere kraftfuld, den named access control list-syntaks. Men misforstå os ikke her. Den nummererede adgangskontrollisteidentifikation som f.eks. 1, 2, 3, 4 eller 100 eller 150, det er stadig navnet på adgangskontrollisten. Og du vil se det senere, at du kan bruge syntaksen for navngivne adgangskontrollister til at redigere en nummereret adgangskontrolliste. Det er ret fedt, og vi vil give dig mulighed for at redigere og rette dine fejl med din nummererede adgangskontrolliste uden at du behøver at blæse det hele væk og fjerne det. Så en rigtig god syntaks, og du vil lære den, og du vil elske den, og vi vil se det hele, hele syntaksen, efterhånden som vi kommer igennem dette kursus sammen.

Standard nummererede ACL’er

Standard access list, what do they look for? Jeg spørger dig, hvad leder de efter? De kigger efter kildeparameteren, og her kan vi se det. Så de vil ikke bekymre sig om lag 2-rammehovedet, de vil kigge på pakkehovedet, de vil kigge på kildefeltet i pakkehovedet og matche udelukkende på baggrund af dette. Så de vil ikke gå dybere ind i transportlaget. Og ingen af disse går ind i dataene, okay. Du ville være nødt til at bruge nogle avancerede firewallfunktioner til at filtrere baseret på data.

Her er det, vi har ventet på, syntaksen, og den er ikke overdrevent kompliceret, læg mærke til det. Det er ikke overdrevent kompliceret. Først og fremmest konfigurerer vi nummererede adgangskontrollister i global konfigurationstilstand. Vi skriver access-list, og derefter angiver vi adgangslistens nummer. Så dette er standard IPv4 adgangskontrollister, hvad er nummerintervallerne? 1 til 99 og 1300 til 1999. Når vi angiver et nummer ud af disse mulige værdier, ved vores router automatisk, at vi opretter en standard IPv4-adgangskontrolliste, og den vil give dig den korrekte syntaks, som du skal bruge:

Den vil ikke lade dig indsætte parametre, som ikke er acceptable for standard IP version 4 adgangskontrollisten. Så hvis du indtaster det forkerte nummer, hvis du indtaster en 101, hvor du forsøger at oprette en standard IP version 4 adgangskontrolliste, vil den give dig syntaksen for en udvidet adgangskontrolliste, ikke sandt? Så vær forsigtig med din nummerering, vælg de rigtige numre, og så kan du angive, hvad du vil have, der skal ske med denne trafik. Ønsker du at tillade den? Vil du afvise den? Du kan også tilføje en bemærkning, hvad er en bemærkning? Det er bare en beskrivelse. Så du kan beskrive denne adgangskontrolliste, så når du senere gennemgår adgangskontrollisten, ved du, hvad den er beregnet til.

R1(config)#
R1(config)#access-list 1 ?

deny Angiver pakker, der skal afvises
permit Angiver pakker, der skal videresendes
remark Kommentar til adgangslistepost

R1(config)#access-list 1 permit ?

Hostname eller A.B.C.D Adresse, der skal matches

any Enhver kildevært

host En enkelt værtsadresse

R1(config)#access-list 1 permit 172.16.0.0 ?

/nn eller A.B.C.D Jokerbits

log Log overholdelser i forhold til denne post

<cr>

R1(config)#access-list 1 permit 172.16.0.0.0.0.255.255 ?

log Log matcher mod denne post

<cr>

R1(config)#access-list 1 permit 172.16.0.0.0.0.0.255.255
R1(config)#

Så har vi vores kilde, hvad er kilden? Husk, tidligere da vi kiggede på adresser og wildcard mask kombinationer… Kilden er kildeadressen, det startpunkt, som vi ønsker at bruge til sammenligning af området. Så hvis vi ser på vores eksempel, har vi 172.16.0.0.0 som adresse, kilde og derefter maske. Hvad er masken? Vær forsigtig her, det er ikke, jeg gentager, det er ikke subnetmasken. Det er wildcard-masken. Det er her, vi indsætter wildcard-masken. Så i vores eksempel 0.0.255.255.255, så hvad er det område af adresser, som denne adgangskontrolliste, som vi lige har lavet, skal kontrollere? 172.16.0.0.0 til 172.16.255.255.255.

Så du kan se, hvor vigtig denne wildcard-maske er, og hvis du forstår, hvad den gør, vil det hjælpe dig med at lave dem og læse dem. Der står her, at der er en standard wildcard maske, tag det med et gran salt, dit operativsystem vil generelt set ikke længere acceptere syntaksen, når du indsætter en post inde i din adgangskontrolliste, der mangler en wildcard maske. Okay, det er altså gammel adfærd og ikke repræsentativ for noget nyt. Når vi indsætter en post som den, vi ser i global konfigurationstilstand med access-list, er der kun tale om én post. Husk på, at hvis vi ønsker at tilføje endnu en post, vil vi stadig have access-list 1, og så vil vi opbygge den næste permit- eller deny-sekvens. access-list 1 igen, access-list 1 igen, hvis vi ønsker at opbygge en større og større adgangskontrolliste. Hvad er minimumsstørrelsen af en adgangskontrolliste?

En minimumsstørrelse ville være én permit-erklæring. Ja, der kan vel ikke bare være én deny-erklæring, det ville være ubrugeligt, medmindre du logger, men det ville ikke lukke noget igennem. Og maksimum er hvad du kan drømme om, og hvad du har udholdenhed til. Når du har perfektioneret din adgangskontrolliste i global konfigurationstilstand, som vi ser her, kan du validere den. Men for at vise adgangslister, kommandoen og det vil faktisk vise alle adgangslister, IPv4, IPv6, Mac-adresse adgangsliste, IPX, AppleTalk, men normalt har vi kun IPv4 og måske nu om dage nogle IPv6.

R1#show access-lists
Standard IP access list 1

10 permit 172.16.0.0.0, wildcard bits 0.0.255.255

Og vi kan se den ene post. Vent nu lige lidt, vent lige lidt, vi har sat permit 172.16 ind med denne wildcard-maske, hvad er 10’eren der? Hvad er det for en 10’er, der lige er sprunget ud til live inde i vores adgangsliste? 10 er et automatisk sekvensnummer, der tilføjes til adgangslisten. Det vil som standard være 10. Hvis vi skulle oprette en anden post … så vi skriver access-list 1 permit 192.168.1.1.0 0.0.0.0.255, ville den automatisk få et sekvensnummer. Og det ville være 20, den næste på listen og den næste vil være 30 og 40 og 50, det er sådan vi holder styr på dem, sekvensnummeret, den rækkefølge vi har oprettet dem i.

Og det er vigtigt, husk hvordan vi sagde, at hvis vi vil redigere adgangskontrollisten, vil vi måske tilføje en post her og der, men det kan vi kun gøre med navngiven syntaks, det kan vi ikke gøre her med denne standard nummereringssyntaks, men disse sekvensnumre vil være den definerende faktor for, hvor vores post kommer til at ligge. Hvis vi tilføjer eller flytter eller sletter eller ændrer, og det vil vi se senere, det vil vi først se senere, når vi går ind i den navngivne syntaks for adgangskontrollister, hvordan disse sekvensnumre kan bruges og manipuleres til vores fordel.

Fjernelse af en adgangsliste er meget let, husk den kraftige no-kommando, skriv no access-list og derefter nummeret på den adgangsliste, du ønsker at fjerne. Vær forsigtig, vær forsigtig. Lad os sige, at du har indtastet no access-list 1 permit 172.16.0.0.0 0.0.255.255. Du ønsker altså at fjerne en standard adgangslistepost, som du har oprettet tidligere. Du skriver no og angiver hele den kommando, som du skrev før, vil det fjerne netop denne ene post? Jeg vil gentage det, vil det fjerne kun den ene post? Ved første tanke, ja, det er ved første tanke, men hvis du prøver det, og du har testet det? Nej, det er ikke det, der vil ske. Det vil ikke fjerne bare denne ene post, hvad vil det gøre? Den vil fjerne det hele, så nogle af jer derude har været udsat for dette. Det er virkelig bizar opførsel i IOS.

R1#config t
Indtast konfigurationskommandoer, en pr. linje. Afslut med CNTL/Z.
R1(config)#no access-list 1
R1(config)#end
R1#sh access-lists
R1#

Normalt, når vi indtaster en specifik kommando, og vi sætter den ind som et no, fjerner den bare denne ene kommando. Her skal vi være meget forsigtige med syntaksen, ligegyldigt hvad, du siger no access list, giv det et nummer. Jeg er ligeglad med hvad der sker bagefter, det vil knuse hele adgangslisten, og mange dårlige dage er blevet forårsaget af denne adfærd.

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg