En åtkomstkontrollista, eller ACL, är en uppsättning regler som används för att styra och filtrera nätverkstrafik. Dessa regler tillämpas på nätverksenheter som routrar och switchar för att bestämma vilken trafik som ska tillåtas eller nekas att passera genom routers interface. Varje regel, eller åtkomstkontrollpost (ACE, Access Control Entry), specificerar kriterier baserade på paketinformation som IP-adresser, protokolltyp och portnummer. Genom att sekventiellt jämföra inkommande eller utgående paket mot dessa regler, kan ACL effektivt filtrera trafik för att öka säkerheten, hantera bandbredd eller implementera säkerhetspolicyer för nätverksanvändning.
Generellt fattar routrar beslut om vidarebefordran baserat på information i så kallad paketets huvud (header). Trafik som anländer till en router-interface leds enbart utifrån information i routing-tabellen. Routern jämför destinations-IP-adressen med rutter i routing-tabellen för att hitta den bästa matchningen och sedan vidarebefordra paketet baserat på den bästa matchande rutten. Det är just samma process som kan användas för att filtrera trafik med hjälp av en åtkomstkontrollista (ACL).
Som standard är en router inte konfigurerad med några ACL. När en ACL dock tillämpas på ett interface, utför routern den ytterligare uppgiften att utvärdera alla nätverkspaket när de passerar genom interfacet för att avgöra om paketet kan vidarebefordras.
En ACL använder en sekventiell lista av tillåt (permit)- eller neka-satser (deny), kända som åtkomstkontrollposter (ACEs).
Obs: ACE, eller Access Control Entry, kallas ofta för ACL-satser eller ACL-villkor, även känd som ”ACL statements” på engelska.
När nätverkstrafik passerar genom ett interface som är konfigurerat med en ACL, jämför routern informationen inuti paketet mot varje ACE i sekventiell ordning för att avgöra om paketet matchar någon av ACEs. Denna process kallas paketfiltrering.
ACL uppgifter
Flera funktioner som routrar hanterar kräver användning av ACL för att identifiera nätverkstrafik. Listan nedan inkluderar några av dessa funktioner/uppgifter med exempel.
- Begränsa nätverkstrafiken för att öka nätverksprestanda
- En företagspolicy förbjuder videotrafik på nätverket för att minska nätverksbelastningen.
- En policy kan verkställas med ACL för att blockera videotrafik.
- Tillhandahålla trafikflödeskontroll:
- En företagspolicy kräver att trafik för routing-protokoll begränsas till vissa länkar endast.
- En policy kan genomföras med ACL för att begränsa leveransen av routing-uppdateringar till endast de som kommer från en känd källa.
- Tillhandahålla en grundläggande nivå av säkerhet för nätverksåtkomst:
- Företagspolicy kräver att åtkomst till nätverksresurser för personal begränsas till endast auktoriserade användare.
- En policy kan verkställas med ACL för att begränsa åtkomsten endast till angivna nätverk.
- Filtrera trafik baserat på trafiktyp:
- Företagspolicy kräver att e-posttrafik tillåts in i ett nätverk, men att Telnet-åtkomst nekas.
- En policy kan genomföras med ACL för att filtrera trafik efter typ.
- Reglera åtkomst till nätverkstjänster:
- Företagspolicy kräver att åtkomst till vissa filtyper (t.ex. FTP eller HTTP) begränsas till användargrupper.
- En policy kan implementeras med ACL för att styra användares åtkomst till nätverkstjänster baserat på deras grupptillhörighet.
- Ge prioritet till vissa typer av nätverkstrafik:
- Företagstrafik specificerar att rösttrafik ska vidarebefordras så snabbt som möjligt för att undvika avbrott.
- En policy kan genomföras med ACL och QoS-tjänster för att identifiera rösttrafik och bearbeta den omedelbart.
Paketfiltrering
Paketfiltrering kontrollerar åtkomsten till ett nätverk genom att analysera inkommande och/eller utgående paket och vidarebefordra dem eller kassera dem baserat på angivna kriterier. Paketfiltrering kan ske på Lager 3 eller Lager 4, som visas i figuren.
ACL typer
Cisco-routrar stöder två typer av ACL:
- Standard ACL – ACL filtrerar endast på Lager 3 med användning av endast avsändarens (source) IPv4-adress.
- Extended ACL – ACL filtrerar på Lager 3 med användning av source och/eller destinations IPv4-adress. De kan också filtrera på Lager 4 med användning av TCP-, UDP-portar och valfri protokolltyp information för finare kontroller.
ACL funktioner
ACL (Access Control List) definierar en uppsättning regler som ger förbättrad kontroll över paket som tas emot av inkommande (inbound) interface, vidarebefordras genom routern, och slutligen skickas ut genom routerns utgående (outbound) interface.
Notera: ACL filtrerar inte på paket som har sitt ursprung från routern själv.
En inkommande ACL filtrerar paket innan de dirigeras vidare till det utgående interfacet. Denna metod är effektiv då ACL först avgör om paketet ska tillåtas eller nekas innan någon routing sker. Om paketet tillåts, bearbetas det sedan för vidare routing. Inkommande ACL:er är optimala för att filtrera paket där det anslutna nätverket till det inkommande interfacet är den enda källan till trafik som behöver granskas.
En utgående ACL filtrerar paket efter att de har blivit dirigerade mot sina destinationer, oavsett vilket inkommande interface de anlände från. Paketen dirigeras först till det utgående interfacet och bearbetas därefter av den utgående ACL. Denna typ av ACL är särskilt effektiv när samma filtreringsregler ska tillämpas på paket från flera olika inkommande interfacen innan de passerar ut genom samma utgående interface.
När en ACL tillämpas på ett interface, följs en specifik procedur. Här är stegen som tas när trafik når ett router-interface där en inkommande standard IPv4 ACL är konfigurerad.
- Routern extraherar avsändarens (source) IPv4-adress från paketets huvud.
- Routern börjar överst i en ACL och jämför source IPv4-adress mot varje ACE i sekventiell ordning.
- När en matchning uppstår utför routern instruktionen—antingen tillåter eller nekar paketet. Eventuella kvarvarande ACE i ACL:en analyseras inte.
- Om source IPv4-adressen inte matchar något av ACE-posterna i den tillämpade ACL kasseras paketet automatiskt. Detta beror på att det finns en implicit nekande regel (deny ACE) som automatiskt tillämpas på alla ACL:er.
Det sista ACE-sats i en ACL är alltid en implicit deny som blockerar all trafik. Som standard är denna ACE automatiskt implementerat i slutet av en ACL även om den är dolt och inte visas i konfigurationen.
Notera: En ACL måste ha åtminstone ett permit-post annars kommer all trafik att nekas på grund av den implicita deny-ACE-satsen.