You are on page 1of 71

Access Control Lists (ACLs)

Accessing the WAN – Chapter 5


Modified by Tony Chen

08/20/2008

ITE I Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1
Notes:
 If you see any mistake on my PowerPoint slides or if
you have any questions about the materials, please
feel free to email me at chento@cod.edu.
Thanks!

Tony Chen
College of DuPage
Cisco Networking Academy

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 2
Objectives
 In this chapter, you will learn to:
– Explain how ACLs are used to secure a medium-size
enterprise branch office network, including the concept of
packet filtering, the purpose of ACLs, how ACLs are used to
control access, and the types of Cisco ACLs.
– Configure standard ACLs in a medium-size enterprise
branch office network, including defining filtering criteria,
configuring standard ACLs to filter traffic, and applying
standard ACLs to router interfaces.
– Configure extended ACLs in a medium-size enterprise
branch office network, including configuring extended ACLs
and named ACLs, configuring filters, verifying and
monitoring ACLs, and troubleshooting extended ACL issues.
– Describe complex ACLs in a medium-size enterprise branch
office network, including configuring dynamic, reflexive, and
timed ACLs, verifying and troubleshooting complex ACLs,
and explaining relevant caveats.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 3
Objectives
 These are examples of IP ACLs that can be configured
in Cisco IOS Software:
–Standard ACLs
–Extended ACLs
–Dynamic (lock and key) ACLs
–IP-named ACLs
–Reflexive ACLs
–Time-based ACLs that use time ranges
–Commented IP ACL entries
–Context-based ACLs
http://www.cisco.com/en/US/tech/tk648/tk3
–Authentication proxy 61/technologies_configuration_example09
–Turbo ACLs 186a0080100548.shtml

–Distributed time-based ACLs


ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 4
A TCP Conversation
 ACLs enable you to control traffic in and out of
your network.
–ACL control can be as simple as permitting or denying
network hosts or addresses.
–However, ACLs can also be configured to control network
traffic based on the TCP port being used.
–[Tony] Also, UDP, ICMP, time, and ……..

 To understand how an ACL works, let us look at


the dialogue when you download a webpage.
–The TCP data segment identifies the port matching the
requested service. For example, HTTP is port 80, SMTP is
port 25, and FTP is port 20 and port 21.
–TCP packets are marked with flags:
•a SYN starts (synchronizes) the session;
•an ACK is an acknowledgment that an expected packet was
received,
•a FIN finishes the session.
•A SYN/ACK acknowledges that the transfer is synchronized.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 5
Packet Filtering
 Packet filtering, sometimes called static packet
filtering, controls access to a network by analyzing
the incoming and outgoing packets and passing or
halting them based on stated criteria.
–These rules are defined using ACLs.
–An ACL is a sequential list of permit or deny statements
that apply to IP addresses or upper-layer protocols.
 The ACL can extract the following information from
the packet header, test it against its rules, and make
"allow" or "deny" decisions based on:
–Source IP address
–Destination IP address
–ICMP message type
–TCP/UDP source port
–TCP/UDP destination port
–And ……….

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 6
Packet Filtering
Router(config)#access-list 101 deny ?
<0-255> An IP protocol number
ahp Authentication Header Protocol
eigrp Cisco's EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
igmp Internet Gateway Message Protocol
igrp Cisco's IGRP routing protocol
ip Any Internet Protocol
ipinip IP in IP tunneling
nos KA9Q NOS compatible IP over IP tunneling
ospf OSPF routing protocol
pcp Payload Compression Protocol
pim Protocol Independent Multicast
tcp Transmission Control Protocol
udp User Datagram Protocol

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 7
Packet Filtering Example
 For example, you could say,
–Only permit web access to users from
network A.
–Deny web access to users from network B,
but permit them to have all other access."

 This is just a simple example. You


can configure multiple rules to
further permit or deny services to
specific users. You can also filter
packets at the port level using an
extended ACL, which is covered in
Section 3.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 8
What is an ACL?
 By default, a router does not have any ACLs
configured and therefore does not filter traffic.
–Traffic that enters the router is routed according to the
routing table.
 An ACL is a router configuration script that controls
whether a router permits or denies packets to pass
based on criteria found in the packet header.
–As each packet comes through an interface with an
associated ACL, the ACL is checked from top to bottom,
one line at a time, looking for a pattern matching the
incoming packet.
•[Tony]: It stops when it finds a matching statement.
–The ACL applying a permit or deny rule to determine the
fate of the packet.
•[Tony]: If ACL cannot find a matching statement from the list,
the default action is deny the traffic.
–ACLs can be configured to control access to a network or
subnet.
•[Tony]: It can control into and out of the network, or subnet,
or, single host.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 9
What is an ACL?
 Here are some guidelines for using ACLs:
–Use ACLs in firewall routers positioned between
your internal network and an external network
•such as the Internet.
–Use ACLs on a router positioned between two
parts of your network
•to control traffic entering or exiting a specific part of
your internal network.
–Configure ACLs on border routers
•routers situated at the edges of your networks.
•This provides a very basic buffer from the outside
network, or between a less controlled area of your
own network and a more sensitive area of your
network.
–Configure ACLs for each network protocol
configured on the border router interfaces.
•You can configure ACLs on an interface to filter
inbound traffic, outbound traffic, or both.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 10
ACL: The Three Ps
 ACL: The Three Ps:
–One ACL per protocol - An ACL must be
defined for each protocol enabled on the interface.
–One ACL per direction - ACLs control traffic in
one direction at a time on an interface. Two
separate ACLs must be created to control inbound
and outbound traffic.
–One ACL per interface - ACLs control traffic for
an interface, for example, Fast Ethernet 0/0.
 The router in the example has two interfaces
configured for IP, AppleTalk and IPX.
–This router could require 12 separate ACLs
• one ACL for each protocol,
• times two for each direction,
• times two for the number of ports.
• 3 protocols X 2 directions X 2 directions = 12

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 11
ACLs perform the following tasks
 Limit network traffic to increase network performance.
–If corporate policy does not allow video traffic, ACLs can block video traffic.
 Provide traffic flow control.
–ACLs can restrict the delivery of routing updates.
–If updates are not required because of network conditions, bandwidth is preserved.
 Provide a basic level of security for network access.
–ACLs can allow one host to access a part of the network and prevent others from
accessing the same area.
 Decide which types of traffic to forward or block at the router interfaces.
–For example, an ACL can permit e-mail traffic, but block all Telnet traffic.
 Control which areas a client can access on a network.
 Screen hosts to permit or deny access to network services.
–ACLs can permit or deny a user to access file types, such as FTP or HTTP.
 ACLs inspect network packets based on criteria, such as source address,
destination address, protocols, and port numbers.
 ACL can classify traffic to enable priority processing down the line.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 12
ACL Operation
 ACLs are configured either to apply to
inbound traffic or to apply to outbound
traffic.
–Inbound ACLs - An inbound ACL is efficient
• it saves the overhead of routing lookups if
packet is discarded.
• If the packet is permitted by the tests, it is
then processed for routing.
–Outbound ACLs - Incoming packets are
routed to the outbound interface, and then
they are processed through the outbound
ACL.
 ACLs do not act on packets that
originate from the router itself.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 13
ACL Operation - Inbound ACLs
 ACL statements operate in sequential order.
–They evaluate packets against the ACL, from the top
down, one statement at a time.
 If a packet header and an ACL statement match, the
rest of the statements in the list are skipped,
–and the packet is permitted or denied as determined by
the matched statement.
 If a packet header does not match an statement, the
packet is tested against the next statement in the list.
–This matching process continues until the end of the list.
 A final implied (IMPLICIT) statement covers all packets
for which conditions did not test true.
–This final statement is often referred to as the "implicit
deny any statement" or the "deny all traffic" statement.
–Because of this statement, an ACL should have at least
one permit statement in it; otherwise, the ACL blocks all
traffic.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 14
ACL Operation - Outbound ACLs
 Before a packet is forwarded to an outbound
interface, the router checks the routing table to see if
the packet is routable.
–If the packet is not routable, it is dropped.
 Next, the router checks to see whether the outbound
interface is grouped to an ACL.
 If the outbound interface is not grouped to an ACL,
–The packet is sent directly to the outbound interface.
 If the outbound interface is grouped to an ACL,
–the packet is not sent out on the outbound interface
until it is tested by the combination of ACL statements
that are associated with that interface.
 A final implied (IMPLICIT) statement covers all
packets for which conditions did not test true.
–This final statement is often referred to as the "implicit
deny any statement" or the "deny all traffic" statement.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 15
ACL and Routing and ACL Processes on a Router
 As a frame enters an interface, the router checks the destination Layer 2 address.
 If the frame is accepted and the router checks for an ACL on the inbound interface.
 If an ACL exists, the packet is now tested against the statements in the list.
– If the packet matches a statement, the packet is either accepted or rejected.
 If the packet is accepted in the interface, it is then checked against routing table entries to
determine the destination interface and switched to that interface.
 Next, the router checks whether the destination interface has an ACL.
– If an ACL exists, the packet is tested against the statements in the list.
 If there is no ACL or the packet is accepted, the packet is encapsulated in the new Layer 2
protocol and forwarded out the interface to the next device.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 16
2 Types of Cisco ACLs: standard and extended
 Standard ACLs
– Standard ACLs allow you to permit or deny traffic from
source IP addresses.
– The destination of the packet and the ports involved do
not matter.
– The example allows all traffic from network
192.168.30.0/24 network.
• Because of the implied "deny any" at the end, all other
traffic is blocked with this ACL.

 Extended ACLs
– Extended ACLs filter IP packets based on several
attributes, for example, protocol type, source and IP
address, destination IP address, source TCP or UDP
ports, destination TCP or UDP ports, and optional
protocol type information for finer granularity of control.
– In the figure, ACL 103 permits traffic originating from
any address on the 192.168.30.0/24 network to any
destination host port 80 (HTTP).

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 17
How a Standard ACL Works
 A standard ACL is a sequential collection of permit and deny conditions that apply
to source IP addresses.
– The destination of the packet and the ports involved are not covered.
– Because the software stops testing conditions after the first match, the order of the
conditions is critical.
– If no conditions match, the address is rejected.
 The two main tasks involved in using ACLs are as follows:
– Step 1. Create an access list by specifying an access list number or name and access
conditions.
– Step 2. Apply the ACL to interfaces or terminal lines.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 18
Example of the order of the conditions is critical.
 Because the software stops testing conditions after the first match, the order of
the conditions is critical.

access-list 101 permit IP host 10.1.1.2 host 172.16.1.1


access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1
access-list 101 permit udp host 10.1.1.2 host 172.16.1.1

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 19
Numbering and Naming ACLs
 Using numbered ACLs is an effective method
for determining the ACL type on smaller
networks.
–Regarding numbered ACLs, in case you are
wondering why numbers 200 to 1299 are
skipped, it is because those numbers are used
by other protocols.
–This course focuses only on IP ACLs. For
example, numbers 600 to 699 are used by
AppleTalk, and numbers 800 to 899 are used by
IPX.
–However, a number does not inform you of the
purpose of the ACL.
 Starting with Cisco IOS Release 11.2, you can
use a name to identify a Cisco ACL.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 20
Numbering and Naming ACLs
 When configuring ACLs on a
router, each ACL must be
uniquely identified by assigning
a number to it.
–(the number scheme)

Access-list 5 permit … Access-list 1 permit …


Access-list 5 permit … Access-list 2 permit …
Access-list 5 permit … OR Access-list 3 permit …
Access-list 5 permit … Access-list 4 permit …
Access-list 5 permit … Access-list 5 permit …

One group with the number 5 different groups


5

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 21
Where to Place ACLs
 ACLs can act as firewalls to filter packets and eliminate unwanted traffic. Every
ACL should be placed where it has the greatest impact on efficiency.
 The basic rules are:
–Locate extended ACLs as close as possible to the source of the traffic denied. This
way, undesirable traffic is filtered without crossing the network infrastructure.
–Because standard ACLs do not specify destination addresses, place them as close to
the destination as possible.

Source Destination
ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 22
Where to Place ACLs
 Standard ACL: In the figure, the administrator
wants to prevent traffic originating in the
192.168.10.0/24 network from getting to the
192.168.30.0/24 network.
–An standard ACL on the outbound interface of R1
denies R1 the ability to send traffic to other places
as well.
–The solution is to place a standard ACL on the
inbound interface of R3 to stop all traffic from the
source address192.168.10.0/24.
–A standard ACL only concern with source IP
addresses.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 23
Where to Place ACLs
 Extended ACL: Placement must be determined in the
control of the network administrator extends.
 In this figure, the administrator of the 192.168.10.0/24
and 192.168.11.0/24 (referred to as Ten and Eleven)
wants to deny Telnet and FTP traffic from Eleven to the
192.168.30.0/24 (Thirty). At the same time, other traffic
must be permitted to leave Ten.
 There are several ways to do this.
1. An extended ACL on R3 blocking Telnet and FTP from
Eleven would accomplish the task, but the solution also
still allows unwanted traffic to cross the entire network,
only to be blocked at the destination.
2. Use an outbound extended, “Telnet and FTP traffic from
Eleven is not allowed to go to Thirty." Place this extended
ACL on the outbound S0/0/0 port of R1.
•A disadvantage of this is that traffic from Ten would also be
processing by the ACL, even though traffic is allowed.
–The better solution is to place an extended ACL on the
inbound Fa0/2 of R1. This ensures that packets from
Eleven do not enter R1, and cannot cross over into Ten.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 24
General Guidelines for Creating ACLs
 Using ACLs requires attention to detail and great care. Mistakes can be
costly in terms of downtime, troubleshooting efforts, and poor network
service.
 Before starting to configure an ACL, basic planning is required.
 The figure presents guidelines that form the basis of an ACL best
practices list.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 25
General Guidelines for Creating ACLs: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 26
General Guidelines for Creating ACLs: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 27
Entering Criteria Statements
 Recall that when traffic comes into the router, it is
compared to ACL statements based on the order that
the entries occur in the router. The router continues to
process the ACL statements until it has a match.
–For this reason, you should have the most frequently
used ACL entry at the top of the list.
–If no matches are found when the router reaches the end
of the list, the traffic is denied because there is an
implied deny for traffic.
–A single-entry ACL with only one deny entry has the
effect of denying all traffic. You must have at least one
permit statement in an ACL or all traffic is blocked.
 For example, the two ACLs (101 and 102) in the
figure have the same effect.
–Network 192.168.10.0 would be permitted to access
network 192.168.30.0 while 192.168.11.0 would not be
allowed.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 28
Standard ACL Logic
 In the figure, packets that come in Fa0/0 are checked for their source addresses:
–access-list 2 deny 192.168.10.1
–access-list 2 permit 192.168.10.0 0.0.0.255
–access-list 2 deny 192.168.0.0 0.0.255.255
–access-list 2 permit 192.0.0.0 0.255.255.255
 If packets are permitted, they are routed through the router to an output interface.
If packets are not permitted, they are dropped at the incoming interface.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 29
Configuring a Standard ACL
 To configure a standard ACLs, you must
–First: create the standard ACL
–Second: activate the ACL on an interface.
 The access-list global configuration command defines
a standard ACL with a number in the range of 1 to 99.
– Cisco IOS Software Release 12.0.1 extended these numbers by
allowing 1300 to 1999 to provide a maximum of 798 possible
standard ACLs. These additional numbers are referred to as
expanded IP ACLs.

 Router(config)#access-list access-list-number [deny


| permit | remark] source [source-wildcard] [log]
 For example, to create a numbered ACL designated
10 that would permit network 192.168.10.0 /24, you
would enter:
– R1(config)# access-list 10 permit 192.168.10.0 0.0.0.255

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 30
Remove and Remark a Standard ACL
 Remove ACL
–To remove the ACL, the global configuration no
access-list command is used.
–Issuing the show access-list command confirms
that access list 10 has been removed.
 Remark ACL
–The remark keyword is used for documentation
and makes access lists a great deal easier to
understand.
–Each remark is limited to 100 characters.
–When reviewing the ACL in the configuration, the
remark is also displayed.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 31
ACL Wildcard Masking
 ACLs statements include wildcard masks.
–A wildcard mask is a string of binary digits telling the
router which parts of the subnet number to look at.
–The numbers 1 and 0 in the mask identify how to treat
the corresponding IP address bits.
–Wildcard masks are referred to as an inverse mask.
•Unlike a subnet mask in which binary 1 is equal to a match
and binary 0 is not a match, the reverse is true.

 Wildcard masks and subnet masks differ in the way


they match binary 1s and 0s. Wildcard masks use the
following rules to match binary 1s and 0s: Another key point of
wildcard mask is which it
–Wildcard mask bit 0 - Match the corresponding bit value does not has to be
in the address contiguous 1 and 0 like
–Wildcard mask bit 1 - Ignore the corresponding bit value subnetmask.
in the address
 The table in the figure shows the results of applying a
0.0.255.255 wildcard mask to a 32-bit IP address.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 32
ACL Wildcard Masks to Match IP Subnets
 The first example the wildcard mask stipulates that every bit
in the IP 192.168.1.1must match exactly.
– The wildcard mask is 0.0.0.0.
 In the second example, the wildcard mask stipulates that
anything will match.
– The wildcard mask is 255.255.255.255.
 In the third example, the wildcard mask stipulates that it will
match any host within the 192.168.1.0 /24 network.
– The wildcard mask is 0.0.0.255.
 The second figure are more complicated.
 In example 1, the first two octets and first four bits of the third
octet must match exactly.
– This checks for 192.168.16.0 to 192.168.31.0
– The wildcard mask is 0.0.15.255.
 Example 2 , a wildcard mask that matches the first two
octets, and the least significant bit in the third octet.
– The result is a mask that would permit or deny all hosts from
odd subnets (/24) from the 192.168.0.0 major network.
– The wildcard mask is 0.0.254.255.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 33
ACL Wildcard Masks to Match IP Subnets
 Although you could accomplish the result with two statements:
– R1(config)# access-list 10 permit 192.168.10.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.11.0 0.0.0.255

 It is far more efficient to configure the wildcard mask such as:


– R1(config)# access-list 10 permit 192.168.10.0 0.0.3.255

 That may not seem more efficient, but when you consider if you wanted to match
network 192.168.16.0 to 192.168.31.0 :
– R1(config)# access-list 10 permit 192.168.16.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.17.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.18.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.19.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.20.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.21.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.22.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.23.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.24.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.25.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.26.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.27.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.28.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.29.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.30.0 0.0.0.255
– R1(config)# access-list 10 permit 192.168.31.0 0.0.0.255

 You can see that configuring the following wildcard mask makes it far more efficient:
– R1(config)# access-list 10 permit 192.168.16.0 0.0.15.255

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 34
ACL Wildcard Masks to Match IP Subnets
 Calculating wildcard masks can be difficult, but you can do it
easily by subtracting the subnet mask from 255.255.255.255.
 Example 1: assume you wanted to permit access to all users in
the 192.168.3.0 network.
– Because the subnet mask is 255.255.255.0, you could take the
255.255.255.255 and subtract from the subnet mask.
– The solution produces the wildcard mask 0.0.0.255.
 Example 2: Now assume you wanted to permit network access
for the 14 users in the subnet 192.168.3.32 /28. The subnet mask
for the IP subnet is 255.255.255.240,
– take 255.255.255.255 and subtract the subnet mask
255.255.255.240
– The solution this time produces the wildcard mask 0.0.0.15.
 Example 3: assume you wanted to match only networks
192.168.10.0 and 192.168.11.0.
– take 255.255.255.255 and subtract the subnet mask 255.255.254.0.
– The result is 0.0.1.255.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 35
Wildcard Bit Mask Keywords
 The keywords host and any help identify the most
common uses of wildcard masking.
–The host option substitutes for the 0.0.0.0 mask. This
mask states that all IP address bits must match or only
one host is matched.
–The any option substitutes for the IP address and
255.255.255.255 mask.
•This mask says to ignore the entire IP address or to accept
any addresses.

 Example for keyword any:


–Instead of entering
•R1(config)# access-list 1 permit 0.0.0.0 255.255.255.255,
–you can use
•R1(config)# access-list 1 permit any

 Example for keyword host:


–Instead of entering
•R1(config)# access-list 1 permit 192.168.10.10 0.0.0.0,
–you can use
•R1(config)# access-list 1 permit host 192.168.10.10.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 36
Applying Standard ACL to Interfaces
 After a standard ACL is configured, it is linked to an
interface using the ip access-group command:
–Router(config-if)#ip access-group {access-list-number |
access-list-name} {in | out}
 To remove an ACL from an interface,
–Use the no ip access-group command on the interface,
–then enter the global no access-list command to remove
the entire ACL.
 Example 1: use an ACL to permit a single network.
– This ACL allows only traffic from source network 192.168.10.0
to be forwarded out on S0/0/0. Traffic from networks other than
192.168.10.0 is blocked.
– The first line identifies the ACL as access list 1. It permits traffic
that matches the selected parameters.
•access-list 1 permit 192.168.10.0 0.0.0.255
•The unseen implicit deny all other traffic.
– The ip access-group 1 out interface configuration command
links and ties ACL 1 to the Serial 0/0/0 interface as an outbound
filter.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 37
Applying Standard ACL to Interfaces
 Example 2: an ACL that denies a specific host.
–The first command deletes the previous ACL 1.
–The next ACL statement, denies the PC1 host located at
192.168.10.10. Every other host on the 192.168.10.0 /24
network is permitted.
–The implicit deny statement matches other network.
Example 1
–The ACL is again reapplied to interface S0/0/0 in an
outbound direction.
 Example 3: an ACL that denies a specific host.
–This ACL replaces the previous example but still blocks
traffic from the host PC1. It also permits all other LAN Example 2
traffic to exit from router R1.
–The first command deletes the previous version of ACL 1
and the next ACL statement denies the PC1 host located
at 192.168.10.10. Example 3
–The third line is new and permits all hosts from the
192.168.x.x /16 networks.
–The ACL is again reapplied to interface S0/0/0 in an
outbound direction.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 38
Using an ACL to Control VTY Access
 Cisco recommends using SSH for administrative
connections to routers and switches.
–If the Cisco IOS software image on your router does not
support SSH, you can partially improve the security of
administrative lines by restricting VTY access.
 Restricting VTY access is a technique that allows you to
define which IP addresses are allowed Telnet access to
the router EXEC process.
–Filtering Telnet traffic is typically considered an extended IP
ACL function because it filters a higher level protocol.
–You can control which administrative workstation or network
manages your router with an ACL and an access-class
statement to your VTY lines.
•access-class access-list-number {in | out}
•The parameter in restricts incoming connections
•The parameter out restricts outgoing connections.
The password should
go before the login
 For example, the ACL in the figure is configured to permit command.
networks 192.168.10.0 and 192.168.11.0 access to VTYs
0 - 4. FYI: The command is
– All other networks are denied access to the VTYs. “access-class” not “ip
access-class”.
ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 39
Editing Numbered ACLs
 When configuring ACL, the statements are added in
the order that they are entered at the end of the ACL.
–There is no built-in editing feature that allows you to edit
a change in an ACL.
–You cannot selectively insert or delete lines.
 It is strongly recommended that any ACL be
constructed in a text editor such as Notepad.
– [Tony] Please do not create ACL from scratch in a text
editor. You will make a lot of mistake. Only use it to edit
ACL not creating ACL.
 For an existing ACL, Here are the steps to edit ACL:
– Step 1. Display the ACL using the show running-config
command.
– Step 2. Highlight the ACL, copy it, and then paste it into
Notepad.
– Step 3. In global configuration mode, disable the access list
using the no access-list 20 command. Otherwise, the new
statements would be appended to the existing ACL.
– Step 4: Paste the new ACL into the configuration of the router.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 40
Editing Numbered ACLs
 It should be mentioned that when using the no
access-list command, no ACL is protecting your
network. Also, be aware that if you make an error in
the new list, you have to disable it and troubleshoot
the problem. In that case, again, your network has no
ACL during the correction process.

Effect of delete ACL


without disable it. ?????

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 41
Commenting ACLs
 You can use the remark keyword to include
comments about entries in any ACL.
–The remarks make the ACL easier for you to understand
and scan. Each remark line is limited to 100 characters.
 To include a comment for IP numbered standard or
extended ACLs,
–access-list access-list number remark remark
command.
–To remove the remark, use the no form of this
command.
 For an entry in a named ACL,
–use the remark configuration command.
–To remove the remark, use the no form of this
command.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 42
Creating Standard Named ACLs
 Naming an ACL makes it easier to understand.
–For example, an ACL to deny FTP could be called
NO_FTP.
–When you identify your ACL with a name, the
configuration command syntax are slightly different.
 The steps to create a standard named ACL.
– Step 1. Starting from the global configuration mode, use the ip
access-list command to create a named ACL.
•ACL names are alphanumeric, must be unique and must
not begin with a number.
– Step 2. From the named ACL configuration mode, use the
permit or deny statements to specify one or more conditions for
determining if a packet is forwarded or dropped.
– Step 3. Return to privileged EXEC mode with the end command.

 In the figure, the screen output shows the commands


used to configure a standard named ACL on router
R1, interface Fa0/0 that denies host 192.168.11.10
access to the 192.168.10.0 network.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 43
Creating Standard Named ACLs
 Capitalizing ACL names is not required, but
makes them stand out when viewing the
running-config output.
–ACL names can be up to 31 characters in length;
–ACL names are case sensitive
–ACL names can include the dash (-), the underscore (_),
and the period (.).
–ACL names must start with an alphabetic character, and
must be unique from all other ACLs of all types on the
switch router.
–You cannot use keywords from any command as an
ACL name.

http://www.cisco.com/univercd/cc/td/doc/product/l3
sw/8540/12_1/lhouse/sw_confg/8500acl.htm

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 44
Monitoring and Verifying ACLs
 When you finish an ACL configuration, use Cisco IOS show
commands to verify the configuration.
–In the figure the top example shows the Cisco IOS syntax to display the
contents of all ACLs.
–The bottom example shows the result of issuing the show access-lists
command on router R1. The capitalized ACL names, SALES and ENG
stand out in the screen output.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 45
Editing Names ACLs
 Named ACLs have a big advantage over numbered
ACLs in that they are easier to edit.
–Starting with Cisco IOS 12.3, named IP ACLs allow you
to delete individual entries in a specific ACL.
–You can use sequence numbers to insert statements
anywhere in the named ACL.
–If you are using an earlier Cisco IOS version, you can
add statements only at the bottom of the named ACL.
 The example in the figure shows an ACL applied to
the S0/0/0 interface of R1. It restricted access to the
web server. Looking at this example,
–In the first show command output, you can see that the
ACL named WEBSERVER has three numbered lines.
–To grant another workstation access in the list only
requires inserting a numbered line. The workstation with
the IP address 192.168.11.10 is being added.
–The final show command output verifies that the new
workstation is now allowed access. http://www.cisco.com/univercd/cc/t
d/doc/product/software/ios123/123
newft/123t/123t_7/gtaclace.htm
ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 46
Extended ACLs
 Extended ACLs are used more often than standard ACLs because they provide a greater
range of control and, therefore, add to your security solution.
– Extended ACLs check the source packet addresses,
– They also check the destination address, protocols and port numbers (or services).
– For example, an extended ACL can simultaneously allow e-mail traffic from a network to a
specific destination while denying file transfers and web browsing.
– The ACL first filters on the source address, then on the port and protocol of the source. It then
filters on the destination address, then on the port and protocol of the destination, and makes a
final permit-deny decision.
 For more precise traffic-filtering control, you can use extended ACLs numbered 100 to 199
and 2000 to 2699 providing a total of 799 possible extended ACLs.

The same
process
repeated
again for the
outgoing
interface

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 47
Extended ACLs: Ports and Services
 The ability to filter on protocol and port
number allows you to build very specific
extended ACLs.
– The figure shows some examples of
how an administrator specifies a TCP or
UDP port number by placing it at the
end of the extended ACL statement.
– Logical operations can be used, such
as equal (eq), not equal (neq), greater
than (gt), and less than (lt).

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 48
Configuring Extended ACLs
 The procedural steps for configuring extended ACLs are
the same as for standard ACLs
– first create the extended ACL
– then activate it on an interface.
 For example, the network administrator needs to restrict
Internet access to allow only web browsing.
– ACL 103 applies to traffic leaving 192.168.10.0 network,
• It allows traffic to go to any destination ports 80 (HTTP) and
443 (HTTPS) only.
– ACL 104 applies to traffic coming into the network.
• ACL 104 blocking all incoming traffic, except for the
established connections.
• HTTP establishes connections starting with the request and
then exchange of ACK, FIN, and SYN messages.
• A match occurs if the TCP datagram has the ACK or reset
(RST) bits set, which indicates that the packet belongs to an
existing connection.
• This parameter allows responses to traffic that originates
from the 192.168.10.0 /24 network to return to s0/0/0.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 49
Applying Extended ACLs to Interfaces
 Recall that we want to allow users to
browse both insecure and secure
websites.
 First consider whether the traffic you want
to filter is going in or out.
– In the example in the figure, R1 has two
interfaces. It has a serial port, S0/0/0,
and a Fast Ethernet port, Fa0/0.
• The Internet traffic coming in is going in
the S0/0/0 interface,
• but is going out the Fa0/0 interface to
reach PC1.
– The example applies the ACL to the
serial interface in both directions.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 50
Applying Extended ACLs to Interfaces
 Example: Deny FTP
– Denying FTP traffic from subnet 192.168.11.0 going
to 192.168.10.0, but permitting all other traffic.
– Remember that FTP requires ports 20 and 21,
therefore you need to specify to deny FTP.
– With extended ACLs, you can choose to use port
numbers as in the example, or to call out a well-
known port by name.
• access-list 114 permit tcp 192.168.20.0 0.0.0.255 any
eq ftp
• access-list 114 permit tcp 192.168.20.0 0.0.0.255 any
eq ftp-data

 Example: Deny Telnet


– Denies Telnet traffic from 192.168.11.0 going out
interface Fa0/0, but allows all other IP traffic from
any other source to any destination out Fa0/0.
– Note the use of the any keywords, meaning from
anywhere going to anywhere.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 51
Creating Named Extended ACLs
 You can create named extended ACLs in
essentially the same way you created named
standard ACLs.
– Step 1. Starting in the global configuration
mode, use the ip access-list extended name
command to define a named extended ACL.
– Step 2. In named ACL configuration mode,
specify the conditions you want to allow or
deny.
– Step 3. Return to privileged EXEC mode and
verify your ACL with the show access-lists
[number | name] command.
– Step 4. As an option and recommended step,
save your entries in the configuration file with
the copy running-config startup-config
command.
 To remove a named extended ACL, use the no
ip access-list extended name global
configuration command.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 52
What are Complex ACLs?
 The table in the figure summarizes the three
categories of complex ACLs.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 53
What are Dynamic ACLs?
 Lock-and-key is a traffic filtering security feature
that uses dynamic ACLs, which are sometimes
referred to as lock-and-key ACLs.
–Dynamic ACLs are dependent on Telnet
connectivity, authentication (local or remote), and
extended ACLs.
–Dynamic ACL configuration starts with the
application of an extended ACL to block traffic
through the router. Users who want to traverse the
router are blocked by the extended ACL until they
use Telnet to connect to the router and are
authenticated.
–The Telnet connection is then dropped, and a
single-entry dynamic ACL is added to the
extended ACL that exists.
–This permits traffic for a particular period; idle
and absolute timeouts are possible.
 In the figure the user at PC1 is an administrator that
requires a back door access to the 192.168.30.0 /24
network located on router R3. A dynamic ACL has
been configured to allow FTP and HTTP on router R3
access but only for a limited time.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 54
When to Use Dynamic ACLs
 When to Use Dynamic ACLs
–When you want a specific remote user or group of remote users to
access a host within your network, connecting from their remote hosts via
the Internet.
–When you want a subset of hosts on a local network to access a host on
a remote network that is protected by a firewall.
 Benefits of Dynamic ACLs
–Use of a challenge mechanism to authenticate individual users
–Simplified management in large internetworks
–In many cases, reduction of the amount of router processing that is
required for ACLs
–Reduction of the opportunity for network break-ins by network hackers
–Creation of dynamic user access through a firewall, without
compromising other configured security restrictions

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 55
Dynamic ACL Examples
 Consider a requirement for a network
administrator on PC1 to gain periodic
access to the network (192.168.30.0 /
24) through router R3.
 To facilitate this requirement a dynamic
ACL is configured on the serial
interface S0/0/1 on router R3.
 Although a detailed description of the
configuration for a dynamic ACL is
outside the scope of this course, it is
useful to review the configuration steps.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 56
What are Reflexive ACLs?
 Network administrators use reflexive ACLs to
allow IP traffic for sessions originating from their
network while denying IP traffic for sessions
originating outside the network.
–The router examines the outbound traffic and
when it sees a new connection, it adds an entry to
a temporary ACL to allow replies back in.
–Reflexive ACLs contain only temporary entries.
–These entries are automatically created when a
new IP session begins, for example, with an
outbound packet, and the entries are
automatically removed when the session ends.
 Reflexive ACLs can be defined only with
extended named IP ACLs.
–They cannot be defined with numbered or
standard named ACLs or with other protocol
ACLs.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 57
What are Reflexive ACLs?
 Reflexive ACLs provide a truer form of session filtering
than an extended ACL that uses the established
parameter introduced earlier.
–Although similar in concept to the established parameter,
reflexive ACLs also work for UDP and ICMP, which have
no ACK or RST bits.
–The established option also does not work with
applications that dynamically alter the source port for the
session traffic.
–The permit established statement only checks ACK and
RST bits-not source and destination address.
 Benefits of Reflexive ACLs:
–Help secure your network against network hackers and
can be included in a firewall defense.
–Provide a level of security against spoofing and certain
DoS attacks.
• For example, source and destination addresses and port
numbers, not just ACK and RST bits, are checked.
–Simple to use and, compared to basic ACLs, provide
greater control over which packets enter your network.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 58
Reflexive ACL Example
 The figure shows an example for which the
administrator needs a reflexive ACL that
permits ICMP outbound and inbound traffic,
while it permits only TCP traffic that has been
initiated from inside the network.
 Assume that all other traffic will be denied.
 The reflexive ACL is applied to the outbound
interface of R2.
 Although the complete configuration for
reflexive ACLs is outside the scope of this
course, the figure shows an example of the
steps that are required to configure a reflexive
ACL.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 59
What are Time-based ACLs?
 Time-based ACLs are similar to extended ACLs
in function, but they allow for access control
based on time.
–To implement time-based ACLs, you create a
time range that defines specific times of the day
and week.
–You identify the time range with a name and
then refer to it by a function. The time restrictions
are imposed on the function itself.
 Time-based ACLs have many benefits:
–Offers the network administrator more control
over permitting or denying access to resources.
–Allows network administrators to control logging
messages.
• ACL entries can log traffic at certain times of the
day, but not constantly.
• Therefore, administrators can simply deny
access without analyzing the many logs that are
generated during peak hours.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 60
Time-Based ACLs
 Time Based ACL Example
–Although the complete configuration details for
time-based ACLs are outside the scope of this
course, the following example shows the steps
that are required.
–In the example, a Telnet connection is permitted
from the inside network to the outside network
on Monday, Wednesday, and Friday during
business hours.
–The time range relies on the router system
clock. The feature works best with Network
Time Protocol (NTP) synchronization, but the
router clock can be used.
 Step 1. Define the time range to implement
the ACL and give it a name-
EVERYOTHERDAY, in this case.
 Step 2. Apply the time range to the ACL.
 Step 3. Apply the ACL to the interface.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 61
Troubleshooting Common ACL Errors
Most common errors are entering ACL statements in the wrong order and not
applying adequate criteria to your rules.
 Error 1: Host 192.168.10.10 has no TELNET
connectivity with 192.168.30.12. Can you
see the error in the output of the show
access-lists command?
–Solution - Look at the order of the ACL
statements. Host 192.168.10.10 has no
connectivity with 192.168.30.12 because of
the order of rule 10 in the access list.
–Because the router processes ACLs from the
top down, statement 10 denies host
192.168.10.10, so statement 20 does not get
processed.
–Statements 10 and 20 should be reversed.
–The last line allows all other non-TCP traffic
that falls under IP (ICMP, UDP, and so on).

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 62
Troubleshooting Common ACL Errors
 Error 2: The 192.168.10.0 /24 network
cannot use TFTP to connect to the
192.168.30.0 /24 network. Can you
see the error in the output of the show
access-lists command?
–Solution - The 192.168.10.0 /24 network
cannot use TFTP to connect to the
192.168.30.0 /24 network because
TFTP uses the transport protocol UDP.
–Statement 30 in access list 120 allows
all other TCP traffic. Because TFTP
uses UDP, it is implicitly denied.
Statement 30 should be ip any any. This ACL is applied to Fa0/0 of
R1 in the incoming direction.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 63
Troubleshooting Common ACL Errors
 Error 3: The 192.168.10.0 /24 network can use Telnet to
connect to 192.168.30.0 /24, but this connection should
not be allowed. Can you see the error?
–Solution - The 192.168.10.0 /24 network can use
Telnet to connect to the 192.168.30.0 /24 network,
because the Telnet port number in statement 10 of
access list 130 is listed in the wrong position.
–Statement 10 currently denies any source with a port
number that is equal to Telnet trying to establish a
connection to any IP address.
–If you want to deny Telnet traffic inbound on S0, you
should deny the destination port number that is equal
to Telnet, for example, deny tcp any any eq telnet.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 64
Troubleshooting Common ACL Errors
 Error 4: Host 192.168.10.10 can use Telnet
to connect to 192.168.30.12, but this
connection should not be allowed. Analyze
the output from the show access-lists
command.
–Solution - Host 192.168.10.10 can use Telnet
to connect to 192.168.30.12 because there
are no rules that deny host 192.168.10.10 or
its network as the source.
–Statement 10 of access list 140 denies the
router interface from which traffic would be
departing. However, as these packets depart
the router, they have a source address of
192.168.10.10 and not the address of the
router interface. This ACL is applied to Fa0/0 of
R1 in the incoming direction.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 65
Troubleshooting Common ACL Errors
 Error 5: Host 192.168.30.12 can
use Telnet to connect to
192.168.10.10, but this connection
should not be allowed. Can you
find the error?
–Solution - Host 192.168.30.12 can
use Telnet to connect to
192.168.10.10 because of the
direction in which access list 150 is
applied to the S0/0 interface.
Statement 10 denies the source
address of 192.168.30.12, but that
address would only be the source if
the traffic were outbound on S0/0,
not inbound.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 66
Troubleshooting Common ACL Errors: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 67
Troubleshooting Common ACL Errors: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 68
Troubleshooting Common ACL Errors: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 69
Troubleshooting Common ACL Errors: Activity

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 70
Chapter Summary
 In this chapter, you have learned to:
–Explain how ACLs are used to secure a medium-size enterprise
branch office network, including the concept of packet filtering, the
purpose of ACLs, how ACLs are used to control access, and the
types of Cisco ACLs. Tony Chen COD
–Configure standard ACLs Cisco
inNetworking Academy
a medium-size enterprise branch office
network, including defining filtering criteria, configuring standard ACLs
to filter traffic, and applying standard ACLs to router interfaces.
–Configure extended ACLs in a medium-size enterprise branch office
network, including configuring extended ACLs and named ACLs,
configuring filters, verifying and monitoring ACLs, and troubleshooting
extended ACL issues.
–Describe complex ACLs in a medium-size enterprise branch office
network, including configuring dynamic, reflexive, and timed ACLs,
verifying and troubleshooting complex ACLs, and explaining relevant
caveats.

ITE 1 Chapter 6 © 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 71

You might also like