ACL

Vi börjar med att definiera en åtkomst kontrollista, Access Control List. En ACL är en uppsättning av IOS-kommandon som styr huruvida en router vidarebefordrar paket baserat på styrinformation som finns i varje paket och regler gällande nätverkstrafik. Vi kan också tolka ACL som en samling av villkor som ska uppfyllas innan paket tas emot och när paket vidarebefordras. Vi kan ställa in så många villkor som vi vill ha i en och samma åtkomst-kontrollista, dessa villkor är kända som ACL entries.

Bild 1: Filtrera nätverkstrafik

Förutom att filtrera bort oönskad nätverkstrafik används ACL för flera andra ändamål, t.ex. prioritering av trafik för QoS (Quality of Services), hantering av varningar, begränsning av fjärråtkomst, felsökning, VPN och mycket mer. På grund av dess komplexitet tas inte dessa användningsområden av ACL på CCNA-nivå. CCNA-nivå omfattar endast grundläggande användningar av ACL, såsom filtrering av trafiken och blockering av specifika host.

När och hur kan routrar filtrera paket?

Paketfiltrering sker i L3 och L4 skikt, alltså i Nätverksskikt och transportskikt. Dock inkluderas inte ACL inställningar eller konfigurationer som default för routrar, det är därför routrar inte filtrerar nätverkstrafik från början. Normalt hanterar routrar paket som följande:

  • Packet kommer i kontakt med ett interface (Entrance)
  • Routern gör sitt vägval och tar ett vidarebefordringsbeslut
  • Paket lämnar routern via ett interface (Exit)

Vi kan inte filtrera ett paket mitt i routerns pakethantering eftersom vidarebefordringsbeslutsprocessen har sin egen logik och bör inte interfereras för filtreringsändamål. Nätverkstrafik filtreras av routrar endast när paket kommer in i ett interface och när ett paket tar sig ut genom ett interface.

  • ACL-villkor som tillämpas vid ingång-interface definieras som inkommande filter, “Inbound filter“.
  • ACL-villkor som tillämpas vid utgång-interface definieras som utgående filter, “Outbound filter“.
Bild 2: Inbound – Outbound filter

Inkommande filter filtrerar trafiken innan router startar vidarebefordringsbeslutet. Utgående filter filtrerar trafiken efter att routern har tagit vidarebefordringsbeslutet.

Ett ACL-filtrering har två handlingar; tillåt och neka (permit and deny). Vi kan tillåta vissa typer av nätverkstrafik medan vi kan blockera andra.

Typer av ACL

Det finns två typer av ACL som identifieras numeriskt:

  • Standard ACL (1 – 99 och 1300 – 1999). Standard ACL filtrerar på tredje skiktet (Nätverksskiktet)
  • Extended ACL (100 – 199 och 2000 – 2699). Extended ACL filtrerar på tredje och fjärde skikt (Nätverk- och Transport skikt).

Standard ACL har funnits från början och är en grundläggande komponent av Cisco IOS. Paketfiltreringen görs baserat på paketets IP-adress (source) och placeras nära till mottagare.

Dagens nätverkssäkerhet är betydligt mer utmanande än filtrering av nätverkstrafik baserat på endast source IP-adresser. Det krävs mer avancerade filtrerings teknik för att säkra dagens nätverk. Utökade (Extended) ACL tar detta ansvar. Utökad ACL kan filtrera ett paket baserat på source IP-adress, destinations IP-adress, portnummer, protokoll och med mera.

Named ACLs

ACL har utvecklats till ett mer avancerade arbetssätt så att de kan också identifieras med namn. Syntaxen är annorlunda när man använder namngiven ACL:

  • Standard ACL identifieras normalt med ett nummer från intervallet 1 till 99 eller 1300 – 1999
    • Router(config)# access-list 10
  • Standard ACL kan också identifieras med ett namn
    • Router (config) ip access-list standard Block_Telnet
  • Extended ACL identifieras med ett nummer från intervallet 100 till 199 eller 2000 till 2699
    • Router(config)# access-list 100
  • Extended ACL kan också identifieras med ett namn
    • Router (config) ip access-list extended Block_Telnet

Allmänt hantering för ACL

Vad ska man tänka på när man konfigurerar ACL?

Bild 3: Antal ACL per interface
  • Ett visst interface på en router får en ACL för inkommande IPv4 nätverkstrafik och en ACL för utgående IPv4 nätverkstrafik.
  • Ett visst interface på en router får en ACL för inkommande IPv6 nätverkstrafik och en ACL för utgående IPv6 nätverkstrafik.
  • Har router två interfaces då kommer router att ha sammanlagt åtta ACL (se bild 3)
  • ACL villkor lista bearbetas alltid uppifrån och ner i sekventiell ordning.
  • När en match hittas i ACL för ett visst paket kommer ingen ytterligare kontroller att göras.
  • Interfacen kommer att vidta åtgärder baserade på matchning i ACL-villkor.
  • Det finns två möjliga åtgärder Permit och Deny.
  • Vid Permit får paketet passera genom interfacet.
  • Vid Deny kasseras paketet omgående.
  • Varje ACL har ett standardförnekande uttalande i slutet av listan, deny any.
  • Om en ACL-lista inte innehåller något villkor men den är tillämpad till ett interface blockerar detta ACL allt nätverkstrafik.
  • Standard ACL kan bara filtrera source-IP-adressen.
  • Standard ACL bör placeras nära destination.
  • Extended ACL bör placeras nära source.
  • Vi kan bara ha en ACL applicerad på ett interface i varje riktning; inkommande eller utgående.
  • ACL kan bara filtrera den trafik som kommer från nätverket och passerar ett interface, inte den trafik som kommer från routern själv. Det är därför man bör säga nätverkstrafik istället datatrafik.