Table Of Contents
Configuring Access Rules
Information About Access Rules
General Information About Rules
Implicit Permits
Information About Interface Access Rules and Global Access Rules
Using Access Rules and EtherType Rules on the Same Interface
Implicit Deny
Inbound and Outbound Rules
Information About Extended Access Rules
Access Rules for Returning Traffic
Allowing Broadcast and Multicast Traffic through the Transparent Firewall Using Access Rules
Management Access Rules
Information About EtherType Rules
Supported EtherTypes and Other Traffic
Access Rules for Returning Traffic
Allowing MPLS
Licensing Requirements for Access Rules
Prerequisites
Guidelines and Limitations
Default Settings
Configuring Access Rules
Monitoring Access Rules
Configuration Examples for Permitting or Denying Network Access
Feature History for Access Rules
Configuring Access Rules
This chapter describes how to control network access through the ASASM using access rules and includes the following sections:
•
Information About Access Rules
•
Licensing Requirements for Access Rules
•
Prerequisites
•
Guidelines and Limitations
•
Default Settings
•
Configuring Access Rules
•
Monitoring Access Rules
•
Configuration Examples for Permitting or Denying Network Access
•
Feature History for Access Rules
Note
You use access rules to control network access in both routed and transparent firewall modes. In transparent mode, you can use both access rules (for Layer 3 traffic) and EtherType rules (for Layer 2 traffic).
To access the ASASM interface for management access, you do not also need an access rule allowing the host IP address. You only need to configure management access according to Chapter 34, "Configuring Management Access."
Information About Access Rules
You create an access rule by applying an extended or EtherType access list to an interface or globally for all interfaces.You can use access rules in routed and transparent firewall mode to control IP traffic. An access rule permits or denies traffic based on the protocol, a source and destination IP address or network, and optionally the source and destination ports.
For transparent mode only, an EtherType rule controls network access for non-IP traffic. An EtherType rule permits or denies traffic based on the EtherType.
This section includes the following topics:
•
General Information About Rules
•
Information About Extended Access Rules
•
Information About EtherType Rules
General Information About Rules
This section describes information for both access rules and EtherType rules, and it includes the following topics:
•
Implicit Permits
•
Information About Interface Access Rules and Global Access Rules
•
Using Access Rules and EtherType Rules on the Same Interface
•
Implicit Deny
•
Inbound and Outbound Rules
Implicit Permits
For routed mode, the following types of traffic are allowed through by default:
•
IPv4 traffic from a higher security interface to a lower security interface.
•
IPv6 traffic from a higher security interface to a lower security interface.
For transparent mode, the following types of traffic are allowed through by default:
•
IPv4 traffic from a higher security interface to a lower security interface.
•
IPv6 traffic from a higher security interface to a lower security interface.
•
ARPs in both directions.
Note
ARP traffic can be controlled by ARP inspection, but cannot be controlled by an access rule.
•
BPDUs in both directions.
For other traffic, you need to use either an extended access rule (IPv4), an IPv6 access rule (IPv6), or an EtherType rule (non-IPv4/IPv6).
Information About Interface Access Rules and Global Access Rules
You can apply an access rule to a specific interface, or you can apply an access rule globally to all interfaces. You can configure global access rules in conjunction with interface access rules, in which case, the specific interface access rules are always processed before the general global access rules.
Note
Global access rules apply only to inbound traffic. See the "Inbound and Outbound Rules" section.
Using Access Rules and EtherType Rules on the Same Interface
You can apply one access rule and one EtherType rule to each direction of an interface.
Implicit Deny
Access lists have an implicit deny at the end of the list, so unless you explicitly permit it, traffic cannot pass. For example, if you want to allow all users to access a network through the ASASM except for particular addresses, then you need to deny the particular addresses and then permit all others.
For EtherType access lists, the implicit deny at the end of the access list does not affect IP traffic or ARPs; for example, if you allow EtherType 8037, the implicit deny at the end of the access list does not now block any IP traffic that you previously allowed with an extended access list (or implicitly allowed from a high security interface to a low security interface). However, if you explicitly deny all traffic with an EtherType ACE, then IP and ARP traffic is denied.
If you configure a global access rule, then the implicit deny comes after the global rule is processed. See the following order of operations:
1.
Interface access rule.
2.
Global access rule.
3.
Implicit deny.
Inbound and Outbound Rules
The ASASM supports two types of access rules:
•
Inbound—Inbound access rules apply to traffic as it enters an interface. Global access rules are always inbound.
•
Outbound—Outbound access rules apply to traffic as it exits an interface.
Note
"Inbound" and "outbound" refer to the application of an access list on an interface, either to traffic entering the ASASM on an interface or traffic exiting the ASASM on an interface. These terms do not refer to the movement of traffic from a lower security interface to a higher security interface, commonly known as inbound, or from a higher to lower interface, commonly known as outbound.
An outbound access list is useful, for example, if you want to allow only certain hosts on the inside networks to access a web server on the outside network. Rather than creating multiple inbound access lists to restrict access, you can create a single outbound access list that allows only the specified hosts. (See Figure 32-1.) The outbound access list prevents any other hosts from reaching the outside network.
Figure 32-1 Outbound Access List
See the following commands for this example:
hostname(config)# access-list OUTSIDE extended permit tcp host 10.1.1.14
host 209.165.200.225 eq www
hostname(config)# access-list OUTSIDE extended permit tcp host 10.1.2.67
host 209.165.200.225 eq www
hostname(config)# access-list OUTSIDE extended permit tcp host 10.1.3.34
host 209.165.200.225 eq www
hostname(config)# access-group OUTSIDE out interface outside
Information About Extended Access Rules
This section describes information about extended access rules and includes the following topics:
•
Access Rules for Returning Traffic
•
Allowing Broadcast and Multicast Traffic through the Transparent Firewall Using Access Rules
•
Management Access Rules
Access Rules for Returning Traffic
For TCP and UDP connections for both routed and transparent mode, you do not need an access rule to allow returning traffic because the ASASM allows all returning traffic for established, bidirectional connections.
For connectionless protocols such as ICMP, however, the ASASM establishes unidirectional sessions, so you either need access rules to allow ICMP in both directions (by applying access lists to the source and destination interfaces), or you need to enable the ICMP inspection engine. The ICMP inspection engine treats ICMP sessions as bidirectional connections. To control ping, specify echo-reply (0) (ASASM to host) or echo (8) (host to ASASM).
Allowing Broadcast and Multicast Traffic through the Transparent Firewall Using Access Rules
In routed firewall mode, broadcast and multicast traffic is blocked even if you allow it in an access rule, including unsupported dynamic routing protocols and DHCP (unless you configure DHCP relay). Transparent firewall mode can allow any IP traffic through. This feature is especially useful in multiple context mode, which does not allow dynamic routing, for example.
Note
Because these special types of traffic are connectionless, you need to apply an extended access list to both interfaces, so returning traffic is allowed through.
Table 32-1 lists common traffic types that you can allow through the transparent firewall.
Table 32-1 Transparent Firewall Special Traffic
Traffic Type
|
Protocol or Port
|
Notes
|
DHCP
|
UDP ports 67 and 68
|
If you enable the DHCP server, then the ASASM does not pass DHCP packets.
|
EIGRP
|
Protocol 88
|
—
|
OSPF
|
Protocol 89
|
—
|
Multicast streams
|
The UDP ports vary depending on the application.
|
Multicast streams are always destined to a Class D address (224.0.0.0 to 239.x.x.x).
|
RIP (v1 or v2)
|
UDP port 520
|
—
|
Management Access Rules
You can configure access rules that control management traffic destined to the ASASM. Access control rules for to-the-box management traffic (defined by such commands as http, ssh, or telnet) have higher precedence than an management access rule applied with the control-plane option. Therefore, such permitted management traffic will be allowed to come in even if explicitly denied by the to-the-box access list.
Information About EtherType Rules
This section describes EtherType rules and includes the following topics:
•
Supported EtherTypes and Other Traffic
•
Access Rules for Returning Traffic
•
Allowing MPLS
Supported EtherTypes and Other Traffic
An EtherType rule controls the following:
•
EtherType identified by a 16-bit hexadecimal number, including common types IPX and MPLS unicast or multicast.
•
Ethernet V2 frames.
•
BPDUs, which are permitted by default. BPDUs are SNAP-encapsulated, and the ASASM is designed to specifically handle BPDUs.
•
Trunk port (Cisco proprietary) BPDUs. Trunk BPDUs have VLAN information inside the payload, so the ASASM modifies the payload with the outgoing VLAN if you allow BPDUs.
The following types of traffic are not supported:
•
802.3-formatted frames—These frames are not handled by the rule because they use a length field as opposed to a type field.
Access Rules for Returning Traffic
Because EtherTypes are connectionless, you need to apply the rule to both interfaces if you want traffic to pass in both directions.
Allowing MPLS
If you allow MPLS, ensure that Label Distribution Protocol and Tag Distribution Protocol TCP connections are established through the ASASM by configuring both MPLS routers connected to the ASASM to use the IP address on the ASASM interface as the router-id for LDP or TDP sessions. (LDP and TDP allow MPLS routers to negotiate the labels (addresses) used to forward packets.)
On Cisco IOS routers, enter the appropriate command for your protocol, LDP or TDP. The interface is the interface connected to the ASASM.
hostname(config)# mpls ldp router-id interface force
Or
hostname(config)# tag-switching tdp router-id interface force
Licensing Requirements for Access Rules
The following table shows the licensing requirements for this feature:
Model
|
License Requirement
|
All models
|
Base License.
|
Prerequisites
Before you can create an access rule, create the access list. See Chapter 14, "Adding an Extended Access List," and Chapter 15, "Adding an EtherType Access List," for more information.
Guidelines and Limitations
This section includes the guidelines and limitations for this feature.
Context Mode Guidelines
Supported in single and multiple context mode.
Firewall Mode Guidelines
Supported in routed and transparent firewall modes.
IPv6 Guidelines
Supports IPv6.
Per-User Access List Guidelines
•
If there is no per-user access list associated with a packet, the interface access rule is applied.
•
The per-user access list uses the value in the timeout uauth command, but it can be overridden by the AAA per-user session timeout value.
•
If traffic is denied because of a per-user access list, syslog message 109025 is logged. If traffic is permitted, no syslog message is generated. The log option in the per-user access list has no effect.
Default Settings
See the "Implicit Permits" section.
Configuring Access Rules
To apply an access rule, perform the following steps.
Detailed Steps
Command
|
Purpose
|
access-group access_list
{{in | out} interface interface_name
[per-user-override | control-plane] |
global}
Example:
hostname(config)# access-group acl_out in
interface outside
|
Binds an access list to an interface or applies it globally.
Specify the extended, EtherType, or IPv6 access list name. You can configure one access-group command per access list type per interface. You cannot reference empty access lists or access lists that contain only a remark.
For an interface-specific rule:
• The in keyword applies the access list to inbound traffic. The out keyword applies the access list to the outbound traffic.
• Specify the interface name.
• The per-user-override keyword (for inbound access lists only) allows dynamic user access lists that are downloaded for user authorization to override the access list assigned to the interface. For example, if the interface access list denies all traffic from 10.0.0.0, but the dynamic access list permits all traffic from 10.0.0.0, then the dynamic access list overrides the interface access list for that user.
For VPN remote access traffic, the behavior depends on whether there is a vpn-filter applied in the group policy and whether you set the per-user-override option:
– No per-user-override, no vpn-filter—Traffic is matched against the interface ACL (per the default no sysopt connection permit-vpn command).
– No per-user-override, vpn-filter—Traffic is matched first against the interface ACL, then against the VPN filter.
– per-user-override, vpn-filter—Traffic is matched against the VPN filter only.
See the "Configuring RADIUS Authorization" section on page 35-14 for more information about per-user access lists. See also the "Per-User Access List Guidelines" section.
• The control-plane keyword specifies if the rule is for to-the-box traffic.
For a global rule, specify the global keyword to apply the access list to
the inbound direction of all interfaces.
|
Examples
The following example shows how to use the access-group command:
hostname(config)# access-list acl_out permit tcp any host 209.165.201.3 eq 80
hostname(config)# access-group acl_out in interface outside
The access-list command lets any host access the global address using port 80. The access-group command specifies that the access-list command applies to traffic entering the outside interface.
Monitoring Access Rules
To monitor network access, enter the following command:
Command
|
Purpose
|
show running-config access-group
|
Displays the current access list bound to the interfaces.
|
Configuration Examples for Permitting or Denying Network Access
This section includes typical configuration examples for permitting or denying network access.
The following example adds a network object for inside server 1, performs static NAT for the server, and enables access to from the outside for inside server 1.
hostname(config)# object network inside-server1
hostname(config)# host 10.1.1.1
hostname(config)# nat (inside,outside) static 209.165.201.12
hostname(config)# access-list outside_access extended permit tcp any object inside-server1
eq www
hostname(config)# access-group outside_access in interface outside
The following example allows all hosts to communicate between the inside and hr networks but only specific hosts to access the outside network:
hostname(config)# access-list ANY extended permit ip any any
hostname(config)# access-list OUT extended permit ip host 209.168.200.3 any
hostname(config)# access-list OUT extended permit ip host 209.168.200.4 any
hostname(config)# access-group ANY in interface inside
hostname(config)# access-group ANY in interface hr
hostname(config)# access-group OUT out interface outside
For example, the following sample access list allows common EtherTypes originating on the inside interface:
hostname(config)# access-list ETHER ethertype permit ipx
hostname(config)# access-list ETHER ethertype permit mpls-unicast
hostname(config)# access-group ETHER in interface inside
The following example allows some EtherTypes through the ASASM, but it denies all others:
hostname(config)# access-list ETHER ethertype permit 0x1234
hostname(config)# access-list ETHER ethertype permit mpls-unicast
hostname(config)# access-group ETHER in interface inside
hostname(config)# access-group ETHER in interface outside
The following example denies traffic with EtherType 0x1256 but allows all others on both interfaces:
hostname(config)# access-list nonIP ethertype deny 1256
hostname(config)# access-list nonIP ethertype permit any
hostname(config)# access-group ETHER in interface inside
hostname(config)# access-group ETHER in interface outside
The following example uses object groups to permit specific traffic on the inside interface:
hostname (config)# object-group service myaclog
hostname (config-service)# service-object tcp source range 2000 3000
hostname (config-service)# service-object tcp source range 3000 3010 destinatio$
hostname (config-service)# service-object ipsec
hostname (config-service)# service-object udp destination range 1002 1006
hostname (config-service)# service-object icmp echo
hostname(config)# access-list outsideacl extended permit object-group myaclog interface
inside any
Feature History for Access Rules
Table 32-2 lists each feature change and the platform release in which it was implemented.
Table 32-2 Feature History for Access Rules
Feature Name
|
Platform Releases
|
Feature Information
|
|
|
7.0(1)
|
Controlling network access through the ASASM using access lists.
We introduced the following command: access-group.
|
|
|
8.3(1)
|
Global access rules were introduced.
We modified the following command: access-group.
|
| |
|
We modified the following commands: access-list extended.
|
| |
|
We modified the following command: access-list ethertype {permit | deny} is-is.
Not available in Version 8.5(1), 8.6(1), or 9.0(1).
|