- About This Guide
- Index
- Glossary
-
- Configuring IPSec and ISAKMP
- Configuring L2TP over IPSec
- Setting General VPN Parameters
- Configuring Tunnel Groups, Group Policies, and Users
- Configuring IP Addresses for VPN
- Configuring Remote Access VPNs
- Configuring Network Admission Control
- Configuring Easy VPN on the ASA 5505
- Configuring the PPPoE Client
- Configuring LAN-to-LAN VPNs
- Configuring Clientless SSL VPN
- Configuring AnyConnect VPN Client Connections
- Configuring AnyConnect Host Scan
Adding an Extended Access List
This chapter describes how to configure extended access lists (also known as access control lists), and it includes the following sections:
- Information About Extended Access Lists
- Licensing Requirements for Extended Access Lists
- Guidelines and Limitations
- Default Settings
- Configuring Extended Access Lists
- Monitoring Extended Access Lists
- Configuration Examples for Extended Access Lists
- Where to Go Next
- Feature History for Extended Access Lists
Information About Extended Access Lists
Access lists are used to control network access or to specify traffic for many features to act upon. An extended access list is made up of one or more access control entries (ACE) in which you can specify the line number to insert the ACE, the source and destination addresses, and, depending upon the ACE type, the protocol, the ports (for TCP or UDP), or the ICMP type. You can identify all of these parameters within the access-list command, or you can use objects for each parameter.
Licensing Requirements for Extended Access Lists
|
|
---|---|
This section includes the guidelines and limitations for this feature.
Supported in single and multiple context mode.
Supported only in routed and transparent firewall modes.
Additional Guidelines and Limitations
The following guidelines and limitations apply to creating an extended access list:
- Enter the access list name in uppercase letters so that the name is easy to see in the configuration. You might want to name the access list for the interface (for example, INSIDE), or you can name it for the purpose for which it is created (for example, NO_NAT or VPN).
- Typically, you identify the ip keyword for the protocol, but other protocols are accepted. For a list of protocol names, see the “Protocols and Applications” section.
- You can specify the source and destination ports only for the TCP or UDP protocols. For a list of permitted keywords and well-known port assignments, see the “TCP and UDP Ports” section. DNS, Discard, Echo, Ident, NTP, RPC, SUNRPC, and Talk each require one definition for TCP and one for UDP. TACACS+ requires one definition for port 49 on TCP.
- When you specify a network mask, the method is different from the Cisco IOS software access-list command. The ASA uses a network mask (for example, 255.255.255.0 for a Class C mask). The Cisco IOS mask uses wildcard bits (for example, 0.0.0.255).
Default Settings
Table 15-1 lists the default settings for extended access list parameters.
Configuring Extended Access Lists
This section shows how to add and delete an access control entry and access list, and it includes the following topics:
Adding an Extended Access List
An access list is made up of one or more access control entries (ACEs) with the same access list ID. To create an access list you start by creating an ACE and applying a list name. An access list with one entry is still considered a list, although you can add multiple entries to the list.
Prerequisites
(Optional) Create an object or onject group according to the “Configuring Objects and Groups” section.
Guidelines
To delete an ACE, enter the no access-list command with the entire command syntax string as it appears in the configuration. To remove the entire access list, use the clear configure access-list command.
Detailed Steps
|
|
---|---|
{ protocol | object-group prot_grp_id } { source_address mask | object nw_obj_id | object-group nw_grp_id } { dest_address mask | object nw_obj_id | object-group nw_grp_id } [ log [[ level ] [ interval secs ] | disable | default ]] [ inactive | time-range time_range_name ] (For TCP or UDP traffic, with ports) { tcp | udp | object-group prot_grp_id } { source_address mask | object nw_obj_id | object-group nw_grp_id } [ operator port | object-group svc_grp_id ] { dest_address mask | object nw_obj_id | object-group nw_grp_id } [ operator port | object-group svc_grp_id ] [ log [[ level ] [ interval secs ] | disable | default ]] [ inactive | time-range time_range_name ] { source_address mask | object nw_obj_id | object-group nw_grp_id } { dest_address mask | object nw_obj_id | object-group nw_grp_id } [ icmp_type | object-group icmp_grp_id ] [ log [[ level ] [ interval secs ] | disable | default ]] [ inactive | time-range time_range_name ] hostname(config)# access-list ACL_IN extended permit ip any any |
The line line_number option specifies the line number at which insert the ACE. If you do not specify a line number, the ACE is added to the end of the access list. The line number is not saved in the configuration; it only specifies where to insert the ACE. The deny keyword denies a packet if the conditions are matched. The permit keyword permits a packet if the conditions are matched. Instead of entering the protocol, IP address, or port directly in the command, you can use network objects, or protocol, network, port, or ICMP object groups using the object and object-group keyword. See “Configuring Objects and Groups” section for more information about creating objects. The protocol argument specifies the IP protocol name or number. For example UDP is 17, TCP is 6, and EGP is 47. The source_address specifies the IP address of the network or host from which the packet is being sent. Enter the host keyword before the IP address to specify a single address. In this case, do not enter a mask. Enter the any keyword instead of the address and mask to specify any address. For the TCP and UDP protocols only, the operator port option matches the port numbers used by the source or destination. The permitted operators are as follows:
The dest_address argument specifies the IP address of the network or host to which the packet is being sent. Enter the host keyword before the IP address to specify a single address. In this case, do not enter a mask. Enter the any keyword instead of the address and mask to specify any address. The icmp_type argument specifies the ICMP type if the protocol is ICMP. The time-range keyword specifies when an access list is activated. See the “Scheduling Extended Access List Activation” section for more information. The inactive keyword disables an ACE. To reenable it, enter the entire ACE without the inactive keyword. This feature enables you to keep a record of an inactive ACE in your configuration to make reenabling easier. For the log keyword, see Chapter20, “Configuring Logging for Access Lists” |
Adding Remarks to Access Lists
You can include remarks about entries in any access list, including extended, EtherType, IPv6, standard, and Webtype access lists. The remarks make the access list easier to understand.
To add a remark after the last access-list command you entered, enter the following command:
You can add remarks before each ACE, and the remark appears in the access list in this location. Entering a dash (-) at the beginning of the remark helps set it apart from the ACEs.
Monitoring Extended Access Lists
To monitor extended access lists, enter one of the following commands:
|
|
---|---|
|
|
|
Configuration Examples for Extended Access Lists
This section includes the following topics:
- Configuration Examples for Extended Access Lists (No Objects)
- Configuration Examples for Extended Access Lists (Using Objects)
Configuration Examples for Extended Access Lists (No Objects)
The following access list allows all hosts (on the interface to which you apply the access list) to go through the ASAe:
The following sample access list prevents hosts on 192.168.1.0/24 from accessing the 209.165.201.0/27 network. All other addresses are permitted.
If you want to restrict access to selected hosts only, then enter a limited permit ACE. By default, all other traffic is denied unless explicitly permitted.
The following access list restricts all hosts (on the interface to which you apply the access list) from accessing a website at address 209.165.201.29. All other traffic is allowed.
The following access list that uses object groups restricts several hosts on the inside network from accessing several web servers. All other traffic is allowed.
The following example temporarily disables an access list that permits traffic from one group of network objects (A) to another group of network objects (B):
To implement a time-based access list, use the time-range command to define specific times of the day and week. Then use the access-list extended command to bind the time range to an access list. The following example binds an access list named “Sales” to a time range named “New_York_Minute.”
Configuration Examples for Extended Access Lists (Using Objects)
The following normal access list that does not use object groups restricts several hosts on the inside network from accessing several web servers. All other traffic is allowed.
If you make two network object groups, one for the inside hosts, and one for the web servers, then the configuration can be simplified and can be easily modified to add more hosts:
Where to Go Next
Apply the access list to an interface. See the “Configuring Access Rules” section for more information.
Feature History for Extended Access Lists
Table 15-2 lists each feature change and the platform release in which it was implemented.