![]() |
IPv6 Implementation Guide, Cisco IOS XE Release 3S
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Implementing Traffic Filters for IPv6 Security
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contents
Implementing Traffic Filters for IPv6 SecurityLast Updated: August 1, 2012
This module describes how to configure Cisco IOS XE IPv6 traffic filter and firewall features for your Cisco networking devices. These security features can protect your network from degradation or failure and also from data loss or compromised security resulting from intentional attacks and from unintended but damaging mistakes by well-meaning network users.
Finding Feature InformationYour software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required. Restrictions for Implementing Traffic Filters for IPv6 Security
Information About Implementing Traffic Filters for IPv6 Security
Access Control Lists for IPv6 Traffic FilteringThe standard ACL functionality in IPv6 is similar to standard ACLs in IPv4. Access lists determine what traffic is blocked and what traffic is forwarded at router interfaces and allow filtering based on source and destination addresses, inbound and outbound to a specific interface. Each access list has an implicit deny statement at the end. IPv6 ACLs are defined and their deny and permit conditions are set using the ipv6 access-list command with the deny and permit keywords in global configuration mode. Named and tagged ACLs are both supported in IPv6:
IPv6 Packet InspectionThe following header fields are all used for IPv6 inspection--traffic class, flow label, payload length, next header, hop limit, and source or destination address. For further information on and descriptions of the IPv6 header fields, see RFC 2474. Tunneling SupportIPv6 packets tunneled in IPv4 are not inspected. If a tunnel terminates on a router, and IPv6 traffic exiting the tunnel is nonterminating, then the traffic is inspected. Virtual Fragmentation ReassemblyWhen virtual fragmentation reassembly (VFR) is enabled, VFR processing begins after ACL input lists are checked against incoming packets. The incoming packets are tagged with the appropriate VFR information. Access Class Filtering in IPv6Filtering incoming and outgoing connections to and from the router based on an IPv6 ACL is performed using the ipv6 access-class command in line configuration mode. The ipv6 access-class command is similar to the access-class command, except the IPv6 ACLs are defined by a name. If the IPv6 ACL is applied to inbound traffic, the source address in the ACL is matched against the incoming connection source address and the destination address in the ACL is matched against the local router address on the interface. If the IPv6 ACL is applied to outbound traffic, the source address in the ACL is matched against the local router address on the interface and the destination address in the ACL is matched against the outgoing connection source address. We recommend that identical restrictions are set on all the virtual terminal lines because a user can attempt to connect to any of them. IPv6 Template ACLWhen user profiles are configured using vendor-specific attribute (VSA) Cisco AV-pairs, similar per-user IPv6 ACLs may be replaced by a single template ACL. That is, one ACL represents many similar ACLs. By using IPv6 template ACLs, you can increase the total number of per-user ACLs while minimizing the memory and Ternary Content Addressable Memory (TCAM) resources needed to support the ACLs. The IPv6 Template ACL feature can create templates using the following ACL fields:
ACL names are dynamically generated by this feature; for example:
SSO ISSU Support for Per-User IPv6 ACL for PPP SessionsThe SSO/ISSU Support for per-User IPv6 ACL for PPP Sessions feature reproduces IPv6 ACLs on the active Route Processor to the standby RP and provides a consistent stateful switchover and in-service software upgrade experience for active sessions. The feature also extends the ability to maintain Template ACLs (IPv6 only or dual stack) through ISSU and SSO. Both named and tagged ACLs can be configured and applied in the following ways:
The table below shows information about support for functionality and SSO for these ACL configurations: How to Implement Traffic Filters for IPv6 Security
Configuring IPv6 Traffic FilteringCreating and Configuring an IPv6 ACL for Traffic Filtering
DETAILED STEPS Applying the IPv6 ACL to an InterfaceSUMMARY STEPS
DETAILED STEPS Controlling Access to a vty
Creating an IPv6 ACL to Provide Access Class FilteringSUMMARY STEPS
DETAILED STEPS Applying an IPv6 ACL to the Virtual Terminal LineSUMMARY STEPS
DETAILED STEPS Enabling IPv6 Template ProcessingSUMMARY STEPS
DETAILED STEPS Troubleshooting IPv6 Security Configuration and OperationSUMMARY STEPS
DETAILED STEPS Configuration Examples for Implementing Traffic Filters for IPv6 Security
Example Configuring an Access List on the Router
Example: Route Processor Forwarding Manager ACL ConfigurationRouter# show running-config interface port-channel 3.2 Building configuration... Current configuration : 328 bytes ! interface Port-channel3.2 encapsulation dot1Q 2 primary GigabitEthernet0/0/4 secondary GigabitEthernet1/2/4 ip address 10.1.1.1 255.255.255.0 ipv6 address 2001:DB8:1111:1111::1/64 ipv6 traffic-filter OutFilter_IPv6 out ipv6 nd reachable-time 180000 ipv6 nd ra suppress ipv6 ospf 100 area 0 snmp trap link-status end Router# show ipv6 access-list OutFilter_IPv6 IPv6 access list OutFilter_IPv6 permit icmp any any mld-query sequence 30 permit icmp any any router-advertisement sequence 40 deny 103 any any sequence 50 permit icmp any any packet-too-big sequence 60 deny icmp any any sequence 70 deny ipv6 2404:1A8:1100:9::/64 any sequence 74 deny ipv6 2404:1A8:1100:10::/64 any sequence 75 permit ipv6 any 2050::/16 log-input sequence 80 deny ipv6 2404:1A8:1100:13::/64 any sequence 90 deny ipv6 2404:1A8:1100:14::/64 any sequence 100 deny ipv6 2408:40:2000::/35 2408:40:2000::/35 dscp default sequence 110 permit ipv6 any any (3974749339 matches) sequence 120 Router# show platform software access-list R0 statistics Forwarding Manager Access-list Messaging Statistics Set Log Threshold: 0, Interval: 0 IPv4 Access-list Entry Add: 1, Delete: 0 IPv4 Access-list Bind: 0, Unbind: 0 IPv4 Access-list Resequence: 0, Delete: 1 IPv6 Access-list Entry Add: 82, Delete: 0 IPv6 Access-list Bind: 3003, Unbind: 0 IPv6 Access-list Resequence: 0, Delete: 0 Access-list Sync Start: 0, End: 0 CPP Match Add: 0, Replace: 0, ACK Success: 0, ACK Error: 0 CPP Match Delete: 0, ACK Success: 0, ACK Error: 0 CPP Action Edit: 0, ACK Success: 0, ACK Error: 0 CPP Action Replace: 0, ACK Success: 0, ACK Error: 0 CPP Bind: 0, ACK Success: 0, ACK Error: 0 CPP Unbind: 0, ACK Success: 0, ACK Error: 0 Router# show platform software access-list R1 name OutFilter_IPv6 ace 100 Access-list: OutFilter_IPv6 Access-list Entry Sequence: 100 Type: Permanent, Operation: Add Action: Deny Destination Address: ::, Length: 00 Source Address: 2404:1a8:1100:14::, Length: 0x24 Example: Forwarding Processor Forwarding Manager ACL ConfigurationRouter# show platform software access-list F0 statistics Forwarding Manager Access-list Messaging Statistics Set Log Threshold: 0, Interval: 0 IPv4 Access-list Entry Add: 0, Delete: 0 IPv4 Access-list Bind: 0, Unbind: 0 IPv4 Access-list Resequence: 0, Delete: 1 IPv6 Access-list Entry Add: 82, Delete: 0 IPv6 Access-list Bind: 3003, Unbind: 0 IPv6 Access-list Resequence: 0, Delete: 0 Access-list Sync Start: 0, End: 0 CPP Match Add: 86, Replace: 0, ACK Success: 86, ACK Error: 0 CPP Match Delete: 4, ACK Success: 4, ACK Error: 0 CPP Action Edit: 83, ACK Success: 83, ACK Error: 0 CPP Action Replace: 0, ACK Success: 0, ACK Error: 0 CPP Bind: 3003, ACK Success: 3003, ACK Error: 0 CPP Unbind: 0, ACK Success: 0, ACK Error: 0 Router# show platform software access-list F0 name OutFilter_IPv6 ace 100 Access-list: OutFilter_IPv6 Access-list Entry Sequence: 100 Match Class Index: 11 Epoch: 0 State: Downloaded Requested Operation: No-op Issued Operation: No-op Type: Permanent Action: Deny Router# access-list F0 name OutFilter_IPv6 ace 100 max-records 20 Access-list: OutFilter_IPv6 Access-list Index: 2, Protocol: IPv6, Type: IPv6 Security References: 2001, Classifier References: 0, Shared target: 2001 Pending Download Access-list Entry: 0 Pending Acknowledgements Matches: 0, Actions: 0 Downloaded Access-list Entry: 12 Total Access-list Entry after pending updates are processed: 12 AOM object identifier: 141 State: Normal Number of Access-list Entry Shown: 3 ACE Number Class Index State ------------------------------------------------------------------- 100 11 Downloaded 110 12 Downloaded 120 13 Downloaded The following command summarizes the number of entries and references in the access list:
Router# show platform software access-list F0 summary
Access-list Index Num Ref Num ACEs
--------------------------------------------------------------------------
icmp2 1 1 2
OutFilter_IPv6 2 2001 12
p11 3 1000 3
Example Applying an IPv6 Access List to an Interface
Example: Applying the Route Processor Forwarding Manager ACL to an InterfaceThe following examples show how to configure and verify the Route Processor Forwarding Manager access list application to Gigabit Ethernet interface 1/0/1: Router(config)# interface GigabitEthernet 1/0/1 Router(config-if)# ip access-group test in Router# show platform software access-list R0 statistics Forwarding Manager Access-list Messaging Statistics Set Log Threshold: 0, Interval: 0 IPv4 Access-list Entry Add: 1, Delete: 0 IPv4 Access-list Bind: 0, Unbind: 0 IPv4 Access-list Resequence: 0, Delete: 1 IPv6 Access-list Entry Add: 82, Delete: 0 IPv6 Access-list Bind: 3003, Unbind: 0 IPv6 Access-list Resequence: 0, Delete: 0 Access-list Sync Start: 0, End: 0 CPP Match Add: 0, Replace: 0, ACK Success: 0, ACK Error: 0 CPP Match Delete: 0, ACK Success: 0, ACK Error: 0 CPP Action Edit: 0, ACK Success: 0, ACK Error: 0 CPP Action Replace: 0, ACK Success: 0, ACK Error: 0 CPP Bind: 0, ACK Success: 0, ACK Error: 0 CPP Unbind: 0, ACK Success: 0, ACK Error: 0 Router# show platform software access-list R0 bind interface Port-channel1.2 Interface: Port-channel1.2, Index: 35, Protocol: IPv6, Direction: Output Access-list: OutFilter_IPv6 Operation: Add Example: Applying the Forwarding Processor Forwarding Manager ACL to an InterfaceThe following examples show how to configure and verify the Forwarding Processor Forwarding Manager access list application to Gigabit Ethernet interface 1/0/1: Router(config)# interface GigabitEthernet 1/0/1 Router(config-if)# ip access-group test in Router# show platform software access-list F0 statistics Forwarding Manager Access-list Messaging Statistics Set Log Threshold: 0, Interval: 0 IPv4 Access-list Entry Add: 0, Delete: 0 IPv4 Access-list Bind: 0, Unbind: 0 IPv4 Access-list Resequence: 0, Delete: 1 IPv6 Access-list Entry Add: 82, Delete: 0 IPv6 Access-list Bind: 3003, Unbind: 0 IPv6 Access-list Resequence: 0, Delete: 0 Access-list Sync Start: 0, End: 0 CPP Match Add: 86, Replace: 0, ACK Success: 86, ACK Error: 0 CPP Match Delete: 4, ACK Success: 4, ACK Error: 0 CPP Action Edit: 83, ACK Success: 83, ACK Error: 0 CPP Action Replace: 0, ACK Success: 0, ACK Error: 0 CPP Bind: 3003, ACK Success: 3003, ACK Error: 0 CPP Unbind: 0, ACK Success: 0, ACK Error: 0 The following example provides a summary of the access list with number of entries and number of references:
Router# show platform software access-list F0 summary
Access-list Index Num Ref Num ACEs
--------------------------------------------------------------------------
icmp2 1 1 2
OutFilter_IPv6 2 2001 12
p11 3 1000 3
m1 4 1 2
p1 5 0 3
Example: IPv6 Template ACL ProcessingIn this example, the contents of ACL1 and ACL2 are the same, but the names are different: ipv6 access-list extended ACL1 (PeerIP: 2001:1::1/64) permit igmp any 2003:1::1/64 permit icmp 2002:5::B/64 any permit udp any host 2004:1::5 permit udp any host 2002:2BC::a permit icmp host 2001:BC::7 host 2003:3::7 ipv6 access-list extended ACL2 (PeerIP: 2007:2::7/64) permit igmp any 2003:1::1/64 permit icmp 2002:5::B/64 any permit udp any host 2004:1::5 permit udp any host 2002:2BC::a permit icmp host 2001:BC::7 host 2003:3::7 The template for these ACLs is as follows: ipv6 access-list extended Template_1 permit igmp any 2003:1::1/64 permit icmp 2002:5::B/64 any permit udp any host 2004:1::5 permit udp any host 2002:2BC::a permit icmp host 2001:BC::7 host 2003:3::7 Example Displaying Access List StatisticsThe following example output for ACL statistics provides information about the counter aggregation and poll timer:
Router# show ipv6 access-list OutFilter_IPv6
IPv6 access list OutFilter_IPv6
permit icmp any any mld-query sequence 30
permit icmp any any router-advertisement sequence 40
deny 103 any any sequence 50
permit icmp any any packet-too-big sequence 60
deny icmp any any sequence 70
deny ipv6 2001:DB8:1100:9::/64 any sequence 74
deny ipv6 2001:DB8:1100:10::/64 any sequence 75
permit ipv6 any 2050::/16 log-input sequence 80
deny ipv6 2001:DB8:1100:13::/64 any sequence 90
deny ipv6 2001:DB8:1100:14::/64 any sequence 100
deny ipv6 2001:DB8:2000::/35 2408:40:2000::/35 dscp default sequence 110
permit ipv6 any any (175392444 matches) sequence 120
Additional ReferencesRelated Documents
MIBsRFCs
Technical Assistance
Feature Information for Implementing Traffic Filters for IPv6 SecurityThe following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental. © 2012 Cisco Systems, Inc. All rights reserved.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|