Modifiera IPv4 ACL

Standard ACL placering      |      Säkerhet med ACL


Efter att en ACL har konfigurerats kan det bli nödvändigt att ändra den. ACL med flera ACE-poster kan vara komplexa att konfigurera, och Ibland ger de inte det förväntade resultatet. Av dessa anledningar kan ACL behöva modifieras för att uppnå önskat filtrering. Det finns två huvudsakliga metoder för att modifiera en ACL:

  • Använd en textredigerare
  • Använda sekvensnummer

ACL modifiering med en textredigerare

När en ACL innehåller flera ACE-poster är det rekommenderat att skapa och redigera den i en textredigerare. Detta möjliggör:

  • Planering av ACL-regler innan de implementeras.
  • Enkel redigering och korrigering.
  • Möjlighet att kopiera och klistra in den färdiga ACL:n på routern.

Exempel:

Anta att ACL 1, som ska styra internetåtkomst, felaktigt har registrerats med 19 istället för 192 som den första oktetten. Den aktuella konfigurationen ser ut så här:

R1# show run | section access-list
access-list 1 deny 19.168.10.10
access-list 1 permit 192.168.10.0 0.0.0.255
R1#

För att korrigera felet:

  1. Kopiera ACL från routern och klistra in den i en textredigerare.
  2. Gör nödvändiga ändringar.
  3. Ta bort den felaktiga ACL från routern, annars kommer de nya ACE-posterna bara att läggas till i den befintliga ACL:n.
  4. Kopiera och klistra in den korrigerade ACL tillbaka på routern.

Anta att ACL 1 nu har korrigerats måste den gamla ACL:n tas bort och den nya läggas in igen:

R1(config)# no access-list 1
R1(config)# access-list 1 deny 192.168.10.10
R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)#

Sekvensnummer

En ACE-post i en ACL kan även tas bort eller läggas till genom att använda ACL:s sekvensnummer.

  • Sekvensnummer tilldelas automatiskt när en ACE matas in.
  • Dessa nummer listas i kommandot show access-lists, men inte show running-config.

I det tidigare exemplet har den felaktiga ACE-posten i ACL1 sekvensnummer 10, vilket visas här:

R1# show access-lists

Standard IP access list 1
10 deny 19.168.10.10
20 permit 192.168.10.0, wildcard bits 0.0.0.255

För att korrigera felet med sekvensnummer:

  1. Gå in i ACL konfigurationsläget.
  2. Ta bort den felaktiga ACE-posten med sekvensnummer 10.
  3. Lägg till den korrekta ACE-posten med sekvensnummer 10.
  4. Verifiera ändringarna med show access-lists.
R1# configure terminal
R1(config)# ip access-list standard 1
R1(config-std-nacl)# no 10
R1(config-std-nacl)# 10 deny host 192.168.10.10
R1(config-std-nacl)# end
R1# show access-lists
Standard IP access list 1
10 deny 192.168.10.10
20 permit 192.168.10.0, wildcard bits 0.0.0.255

Modifiera en namngiven ACL – Exempel

Namngivna ACL kan också använda sekvensnummer för att lägga till eller ta bort ACE-poster. Följande exempel visar hur ACL NO-ACCESS modifieras med sekvensnummer.

Steg 1: Visa aktuell ACL-konfiguration

R1# show access-lists

Standard IP access list NO-ACCESS
10 deny 192.168.10.10
20 permit 192.168.10.0, wildcard bits 0.0.0.255

I denna ACL nekas endast datorn 192.168.10.10, medan alla andra enheter i nätverket 192.168.10.0/24 tillåts enligt ACE 20
Problemet:
Datorn 192.168.10.5 borde också nekas, men om vi bara lägger till en ny ACE kommer den att placeras sist i ACL:n. Detta innebär att ACE 20 fortfarande tillåter datorn innan den når den nya regeln, vilket gör att den fortfarande har åtkomst.
Lösningen:
Vi lägger till en ny ACE med sekvensnummer 15 för att neka 192.168.10.5 innan ACE 20.

R1# configure terminal
R1(config)# ip access-list standard NO-ACCESS
R1(config-std-nacl)# 15 deny 192.168.10.5
R1(config-std-nacl)# end
R1#

Observera att nyckelordet ”hostinte används. Det är valfritt vid specifikation av en enskild IP-adress.

Steg 2: Verifiera ändringen

R1# show access-lists
Standard IP access list NO-ACCESS
15 deny 192.168.10.5
10 deny 192.168.10.10
20 permit 192.168.10.0, wildcard bits 0.0.0.255
R1#

ACL:n har nu en ny ACE 15 som effektivt blockerar 192.168.10.5 innan ACE 20 tillåter övriga enheter i nätverket. Observera att sekvensnummer 15 visas före sekvensnummer 10. Vi kan förvänta oss att ordningen på ACE-poster sker automatiskt i den ordning de programmeras in (i exemplet 10 – 15 – 20). Dock organiserar IOS ACE-posterna enligt en speciell hashfunktion som optimerar ACL för att först söka efter ACE-poster för datorer och sedan ACE-poster för nätverk.
Notera: Hashfunktionen ligger utanför denna kursens omfattning.

Statistik för matchade ACE-poster

Kommandot ”show access-lists” visar hur många gånger varje ACE har matchats.

R1# show access-lists
Standard IP access list NO-ACCESS
10 deny 192.168.10.10 (20 matches)
20 permit 192.168.10.0, wildcard bits 0.0.0.255 (64 matches)
  • ACE 10 har matchats 20 gånger (datorn 192.168.10.10 har nekats 20 gånger).
  • ACE 20 har matchats 64 gånger (trafik från nätverket har tillåtits 64 gånger).

Observera att det implicita ”deny any” i slutet av ACL:n visas inte i denna statistik. För att spåra hur många paket som nekats av den implicita ”deny any” måste du lägga till en manuell regel:

R1(config)# ip access-list standard NO-ACCESS
R1(config-std-nacl)# 99 deny any log

”deny any log” genererar statistik för alla paket som implicit nekas.

Rensa ACL-statistik

För att återställa ACL:s statistik används kommandot:

R1# clear access-list counters

Eller för att rensa en specifik ACL:

R1# clear access-list counters NO-ACCESS

Verifiera att statistiken har nollställts

R1# show access-lists

Standard IP access list NO-ACCESS
10 deny 192.168.10.10
20 permit 192.168.10.0, wildcard bits 0.0.0.255

R1#

Efter att ha rensat loggarna visas inte längre matchnings statistik.


Standard ACL placering      |      Säkerhet med ACL