För att vara mer exakt när du matchar en viss nätverkstrafik används utökade åtkomstlistor. Utökade åtkomstlistor är svårare att konfigurera och kräver mer processortid än standardåtkomstlistorna, men de möjliggör en mycket mer detaljerad kontrollnivå.
Med utökade åtkomstlistor kan du utvärdera ytterligare paketinformation, t.ex.:
- käll- och destinations-IP-adress
- typ av TCP/IP-protokoll (TCP, UDP, IP…)
- käll- och destinationsportnummer
Två steg krävs för att konfigurera en utökad åtkomstlista:
1. Konfigurera en utökad åtkomstlista med följande kommando:
(config) access list NUMBER permit|deny IP_PROTOCOL SOURCE_ADDRESS WILDCARD_MASK DESTINATION_ADDRESS WILDCARD_MASK PROTOCOL_INFORMATION
2. Tillämpa en åtkomstlista på ett gränssnitt med följande kommando:
(config) ip access-group ACL_NUMBER in | out
Numren för utökade åtkomstlistor finns i intervall från 100 till 199 och från 2000 till 2699. Du bör alltid placera utökade ACL:er så nära källan till de paket som utvärderas som möjligt.
För att bättre förstå begreppet utökade åtkomstlistor kan du tänka på följande exempel:
Vi vill ge administratörens arbetsstation (10.0.0.0.1/24) obegränsad åtkomst till Server (192.168.0.1/24). Vi vill också neka all typ av åtkomst till Server från användarens arbetsstation (10.0.0.0.2/24).
Först skapar vi ett uttalande som tillåter administratörens arbetsstation åtkomst till Server:
Näst måste vi skapa ett uttalande som nekar användarens arbetsstation åtkomst till Server:
Sist måste vi tillämpa åtkomstlistan på gränssnittet Fa0/0 på R1:
Detta kommer att tvinga routern att utvärdera alla paket som kommer in i Fa0/0. Om administratören försöker komma åt Server kommer trafiken att tillåtas på grund av det första påståendet. Men om Användaren försöker få tillgång till Server kommer trafiken att förbjudas på grund av det andra ACL-uttalandet.
I slutet av varje åtkomstlista finns ett uttryckligt deny all-uttalande, så det andra ACL-uttalandet var egentligen inte nödvändigt. Efter att ha tillämpat en åtkomstlista kommer all trafik som inte uttryckligen tillåts att nekas.
På höger sida har vi en Server som fungerar som webbserver och lyssnar på port 80. Vi måste tillåta Användaren att komma åt webbplatser på S1 (port 80), men vi måste också neka andra typer av åtkomst.
För det första måste vi tillåta trafik från Användaren till Serverns port 80. Det kan vi göra med följande kommando:
Med hjälp av nyckelordet tcp kan vi filtrera paket efter käll- och målportar. I exemplet ovan har vi tillåtit trafik från 10.0.0.0.2 (användarens arbetsstation) till 192.168.0.1 (server) på port 80. Den sista delen av påståendet, eq 80, anger destinationsporten 80.
Då det i slutet av varje åtkomstlista finns ett implicit deny all-uttalande behöver vi inte definiera fler uttalanden. Efter att ha tillämpat en åtkomstlista kommer all trafik som inte kommer från 10.0.0.0.2 och går till 192.168.0.1, port 80 att nekas.
Vi måste tillämpa åtkomstlistan på gränssnittet:
Vi kan verifiera om konfigurationen lyckades genom att försöka få åtkomst till Server från användarens arbetsstation med olika metoder. Till exempel misslyckas ping:
Telnätning till port 21 misslyckas:
Däremot kan vi komma åt Server på port 80 med hjälp av vår webbläsare: