Trust Sec
Trust Sec
Guide
For Cisco Catalyst Switches
All other trademarks mentioned in this document or Website 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. (0711R)
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.
Preface xi
Configuring Credentials and AAA for a Cisco TrustSec Seed Device 3-2
Configuration Examples for Seed Device 3-3
Configuring Credentials and AAA for a Cisco TrustSec Non-Seed Device 3-3
Configuration Examples for Non-Seed Device 3-4
Enabling Cisco TrustSec Authentication and MACsec in 802.1X Mode on an Uplink Port 3-5
Configuration Examples for 802.1X on Uplink Port 3-6
Configuring Cisco TrustSec and MACsec in Manual Mode on an Uplink Port 3-7
Feature History for Trustsec NDAC 3-7
Configuration Examples for Manual Mode and MACsec on an Uplink Port 3-9
Regenerating SAP Key on an Interface 3-10
Feature History for SAP Key Regeneration 3-10
Automatically Configuring a New or Replacement Password with the Authentication Server 3-26
Additional References for Configuring Cisco TrustSec SGACL High Availability 5-4
Related Documents 5-4
Technical Assistance 5-5
Feature Information for Cisco TrustSec SGACL High Availability 5-6
Overview 8-2
Filter Rules 8-2
Types of SXP Filtering 8-2
APPENDIX A Notes for Catalyst 3000 and 2000 Series Switches and Wireless LAN Controller 5700 Series A-1
GLOSSARY
INDEX
Organization
This guide includes the following chapters and appendixes:
Conventions
This document uses the following conventions:
Convention Indication
bold font Commands and keywords and user-entered text appear in bold font.
italic font Document titles, new or emphasized terms, and arguments for which you supply
values are in italic font.
[ ] Elements in square brackets are optional.
{x | y | z } Required alternative keywords are grouped in braces and separated by
vertical bars.
[x|y|z] Optional alternative keywords are grouped in brackets and separated by
vertical bars.
string A nonquoted set of characters. Do not use quotation marks around the string or
the string will include the quotation marks.
courier font Terminal sessions and information the system displays appear in courier font.
< > Nonprinting characters such as passwords are in angle brackets.
[ ] Default responses to system prompts are in square brackets.
!, # An exclamation point (!) or a pound sign (#) at the beginning of a line of code
indicates a comment line.
Tip Means the following information will help you solve a problem.
Caution Means reader be careful. In this situation, you might perform an action that could result in equipment
damage or loss of data.
Timesaver Means the described action saves time. You can save time by performing the action described in
the paragraph.
Warning Means reader be warned. In this situation, you might perform an action that could result in
bodily injury.
Note Cisco TrustSec IEEE 802.1X links are not supported on platforms supported in the Cisco IOS XE Denali
and Everest releases, and hence only the Authenticator is supported; the Supplicant is not supported.
Authentication
Server (AS)
Switch 1
Switch 2
Host 1
Cisco TrustSec
Switch
253096
Protected
Unprotected link
Each participant in the Cisco TrustSec authentication process acts in one of the following roles:
• Supplicant—An unauthenticated device connected to a peer within the Cisco TrustSec domain, and
attempting to join the Cisco TrustSec domain.
• Authentication server—The server that validates the identity of the supplicant and issues the policies
that determine the supplicant’s access to services within the Cisco TrustSec domain.
• Authenticator—An authenticated device that is already part of the Cisco TrustSec domain and can
authenticate new peer supplicants on behalf of the authentication server.
When the link between a supplicant and an authenticator first comes up, the following sequence of events
typically occurs:
1. Authentication (802.1X)—The supplicant is authenticated by the authentication server, with the
authenticator acting as an intermediary. Mutual authentication is performed between the two peers
(supplicant and authenticator).
2. Authorization—Based on the identity information of the supplicant, the authentication server
provides authorization policies, such as security group assignments and ACLs, to each of the linked
peers. The authentication server provides the identity of each peer to the other, and each peer then
applies the appropriate policy for the link.
3. Security Association Protocol (SAP) negotiation—When both sides of a link support encryption, the
supplicant and the authenticator negotiate the necessary parameters to establish a security
association (SA).
When all three steps are complete, the authenticator changes the state of the link from the unauthorized
(blocking) state to the authorized state, and the supplicant becomes a member of the Cisco TrustSec
domain.
Cisco TrustSec uses ingress tagging and egress filtering to enforce access control policy in a scalable
manner. Packets entering the domain are tagged with a security group tag (SGT) containing the assigned
security group number of the source device. This packet classification is maintained along the data path
within the Cisco TrustSec domain for the purpose of applying security and other policy criteria. The final
Cisco TrustSec device on the data path, either the endpoint or network egress point, enforces an access
control policy based on the security group of the Cisco TrustSec source device and the security group of
the final Cisco TrustSec device. Unlike traditional access control lists based on network addresses, Cisco
TrustSec access control policies are a form of role-based access control lists (RBACLs) called security
group access control lists (SGACLs).
Note Ingress refers to packets entering the first Cisco TrustSec-capable device encountered by a packet on its
path to the destination and egress refers to packets leaving the last Cisco TrustSec-capable device on the
path.
Authentication
This section includes the following topics:
• Cisco TrustSec and Authentication, page 1-3
• Device Identities, page 1-6
• Device Credentials, page 1-6
• User Credentials, page 1-6
Device authentication
User authentication
Policy acquisition
AS
Cisco TrustSec
Switch 2
187008
Switch 1
The implementation of EAP-FAST for Cisco TrustSec has the following enhancements:
• Authenticate the authenticator—Securely determines the identity of the authenticator by requiring
the authenticator to use its PAC to derive the shared key between itself and the authentication server.
This feature also prevents you from configuring RADIUS shared keys on the authentication server
for every possible IP address that can be used by the authenticator.
• Notify each device of the identity of its peer—By the end of the authentication exchange, the
authentication server has identified both the supplicant and the authenticator. The authentication
server conveys the identity of the authenticator, and whether the authenticator is Cisco
TrustSec-capable, to the supplicant by using additional type-length-value parameters (TLVs) in the
protected EAP-FAST termination. The authentication server also conveys the identity of the
supplicant, and whether the supplicant is Cisco TrustSec-capable, to the authenticator by using
RADIUS attributes in the Access- Accept message. Because each device knows the identity of its
peer, it can send additional RADIUS Access-Requests to the authentication server to acquire the
policy to be applied on the link.
In 802.1X, the authenticator must have IP connectivity with the authentication server because it has to
relay the authentication exchange between the supplicant and the authenticator using RADIUS over
UDP/IP. When an endpoint device, such as a PC, connects to a network, it is obvious that it should
function as a supplicant. However, in the case of a Cisco TrustSec connection between two network
devices, the 802.1X role of each network device might not be immediately apparent to the other network
device.
Instead of requiring manual configuration of the authenticator and supplicant roles for two adjacent
switches, Cisco TrustSec runs a role-selection algorithm to automatically determine which switch
functions as the authenticator and which functions as the supplicant. The role-selection algorithm
assigns the authenticator role to the switch that has IP reachability to a RADIUS server. Both switches
start both the authenticator and supplicant state machines. When a switch detects that its peer has access
to a RADIUS server, it terminates its own authenticator state machine and assumes the role of the
supplicant. If both switches have access to a RADIUS server, the first switch to receive a response from
the RADIUS server becomes the authenticator and the other switch becomes the supplicant.
By the end of the Cisco TrustSec authentication process, the authentication server has performed the
following actions:
• Verified the identities of the supplicant and the authenticator.
• Authenticated the user if the supplicant is an endpoint device.
At the end of the Cisco TrustSec authentication process, both the authenticator and the supplicant know
the following:
• Device ID of the peer
• Cisco TrustSec capability information of the peer
• Key used for the SAP
Device Identities
Cisco TrustSec does not use IP addresses or MAC addresses as device identities. Instead, you assign a
name (device ID) to each Cisco TrustSec-capable switch to identify it uniquely in the Cisco TrustSec
domain. This device ID is used for the following:
• Looking up the authorization policy
• Looking up passwords in the databases during authentication
Device Credentials
Cisco TrustSec supports password-based credentials. Cisco TrustSec authenticates the supplicants
through passwords and uses MSCHAPv2 to provide mutual authentication.
The authentication server uses these credentials to mutually authenticate the supplicant during the
EAP-FAST phase 0 (provisioning) exchange where a PAC is provisioned in the supplicant. Cisco
TrustSec does not perform the EAP-FAST phase 0 exchange again until the PAC expires, and only
performs EAP-FAST phase 1 and phase 2 exchanges for future link bringups. The EAP-FAST phase 1
exchange uses the PAC to mutually authenticate the authentication server and the supplicant. Cisco
TrustSec uses the device credentials only during the PAC provisioning (or reprovisioning) steps.
When the supplicant first joins the Cisco TrustSec domain, the authentication server authenticates the
supplicant and pushes a shared key and encrypted token to the supplicant with the PAC. The
authentication server and the supplicant use this key and token for mutual authentication in all future
EAP-FAST phase 0 exchanges.
User Credentials
Cisco TrustSec does not require a specific type of user credential for endpoint devices. You can choose
any type of user authentication method that is supported by the authentication server, and use the
corresponding credentials. For example, the Cisco Secure Access Control System (ACS) version 5.1
supports MSCHAPv2, generic token card (GTC), or RSA one-time password (OTP).
SGACL Policies
Using security group access control lists (SGACLs), you can control the operations that users can
perform based on the security group assignments of users and destination resources. Policy enforcement
within the Cisco TrustSec domain is represented by a permissions matrix, with source security group
numbers on one axis and destination security group numbers on the other axis. Each cell in the body of
the matrix can contain an ordered list of SGACLs which specifies the permissions that should be applied
to packets originating from the source security group and destined for the destination security group.
Figure 1-3 shows an example of a Cisco TrustSec permissions matrix for a simple domain with three
defined user roles and one defined destination resource. Three SGACL policies control access to the
destination server based on the role of the user.
SGACL-A
Egress Policy permit ip
Role Destination
(Security Group) Server X (111)
SGACL-B
User A (10) SGACL-A
permit tcp src dst eq 80
Source
276898
deny ip
By assigning users and devices within the network to security groups and applying access control
between the security groups, Cisco TrustSec achieves role-based topology-independent access control
within the network. Because SGACLs define access control policies based on device identities instead
of IP addresses as in traditional ACLs, network devices are free to move throughout the network and
change IP addresses. As long as the roles and the permissions remain the same, changes to the network
topology do not change the security policy. When a user is added to the switch, you simply assign the
user to an appropriate security group and the user immediately receives the permissions of that group.
Note SGACL policies are applied to traffic that is generated between two host devices, not to traffic that is
generated from a switch to an end host device.
Using role-based permissions greatly reduces the size of ACLs and simplifies their maintenance. With
Cisco TrustSec, the number of access control entries (ACEs) configured is determined by the number of
permissions specified, resulting in a much smaller number of ACEs than in a traditional IP network. The
use of SGACLs in Cisco TrustSec typically results in a more efficient use of TCAM resources compared
with traditional ACLs.
Figure 1-4 shows how the SGT assignment and the SGACL enforcement operate in a Cisco TrustSec
domain.
SGACL enforcement
SGT = 3
3 3 DGT = 4
187009
user PC
SGT imposition
Step 1 The host PC transmits a packet to the web server. Although the PC and the web server are not members
of the Cisco TrustSec domain, the data path of the packet includes the Cisco TrustSec domain.
Step 2 The Cisco TrustSec ingress switch modifies the packet to add an SGT with security group number 3, the
security group number assigned by the authentication server for the host PC.
Step 3 The Cisco TrustSec egress switch enforces the SGACL policy that applies to source group 3 and
destination group 4, the security group number assigned by the authentication server for the web server.
Step 4 If the SGACL allows the packet to be forwarded, the Cisco TrustSec egress switch modifies the packet
to remove the SGT and forwards the packet to the web server.
Note Applies to Catalyst 4500-E Series Switches, Catalyst 4500-X Series Switches, Catalyst 4900M,
Catalyst 4948E, and Catalyst 4948E-F Series Switches.
When logging is enabled in SGACL, the switch logs the following information:
• The source security group tag (SGT) and destination SGT
• The SGACL policy name
• The packet protocol type
• The action performed on the packet
The log option applies to individual ACEs and causes packets that match the ACE to be logged. The first
packet logged by the log keyword generates a syslog message. Subsequent log messages are generated
and reported at five-minute intervals. If the logging-enabled ACE matches another packet (with
characteristics identical to the packet that generated the log message), the number of matched packets is
incremented (counters) and then reported.
To enable logging, use the log keyword in front of the ACE definition in the SGACL configuration. For
example, permit ip log.
The following is a sample log, displaying source and destination SGTs, ACE matches (for a permit or
deny action), and the protocol, that is, TCP, UDP, IGMP, and ICMP information:
*Jun 2 08:58:06.489: %C4K_IOSINTF-6-SGACLHIT: list deny_udp_src_port_log-30 Denied
udp 24.0.0.23(100) -> 28.0.0.91(100), SGT8 DGT 12
In addition to the existing ‘per cell’ SGACL statistics, which can be displayed using the show cts
role-based counters command, you can also display ACE statistics, by using the show ip access-list
sgacl_name command. No additional configuration is required for this.
The following example shows how you can use the show ip access-list command to display the ACE
count:
Switch # show ip access-control deny_udp_src_port_log-30
Role-based IP access list deny_udp_src_port_log-30 (downloaded)
10 deny udp src eq 100 log (283 matches)
20 permit ip log (50 matches)
• Peer SGT—Indicates the security group to which the peer belongs. If the peer is not trusted, all
packets received from the peer are tagged with this SGT. If the device does not know whether any
SGACLs are associated with the peer’s SGT, the device may send a follow-up request to the
authentication server to download the SGACLs.
• Authorization expiry time—Indicates the number of seconds before the policy expires. A Cisco
TrustSec device should refresh its policy and authorization before it times out. The device can cache
the authentication and policy data and reuse it after a reboot if the data has not expired. In Cisco IOS
Release 12.2(33)SXI, only policy data and environment data is cached.
Tip Each Cisco TrustSec device should support some minimal default access policy in case it is not able to
contact the authentication server to get an appropriate policy for the peer.
Supplicant
supplican AT AS
Authentication
Authentication
authentication Authentication
Authentication
authentication
Authorization
Authorization
authorization
Authorization
Authorization
authorization
SAP negotiation
187007
Link Security
When both sides of a link support 802.1AE Media Access Control Security (MACsec), a security
association protocol (SAP) negotiation is performed. An EAPOL-Key exchange occurs between the
supplicant and the authenticator to negotiate a cipher suite, exchange security parameters, and manage
keys. Successful completion of all three tasks results in the establishment of a security association (SA).
Depending on your software version, crypto licensing, and link hardware support, SAP negotiation can
use one of the following modes of operation:
• Galois/Counter Mode (GCM)—Specifies authentication and encryption
• GCM authentication (GMAC)—Specifies authentication and no encryption
• No Encapsulation—Specifies no encapsulation (clear text)
• Null—Specifies encapsulation, no authentication and no encryption
All modes except No Encapsulation require Cisco TrustSec-capable hardware.
For Cisco Catalyst 6500 series switches, Cisco IOS Release 12.2(50)SY and later releases, Cisco
TrustSec uses AES-128 GCM and GMAC, compliant with the IEEE 802.1AE standard.
SGT tagging
Cisco TrustSec
HostB SXP protocol exchange
(1.1.1.1) IP:1.1.1.1: SGT:3
IP:1.1.1.2: SGT:5
187011
You must manually configure an SXP connection between a peer without Cisco TrustSec hardware
support and a peer with Cisco TrustSec hardware support. The following tasks are required when
configuring the SXP connection:
• If you require SXP data integrity and authentication, you must configure the same SXP password
on both peer devices. You can configure the SXP password either explicitly for each peer connection
or globally for the device. Although an SXP password is not required, we recommend its use.
• You must configure each peer on the SXP connection as either an SXP speaker or an SXP listener.
The speaker device distributes the IP-to-SGT mapping information to the listener device.
• You can specify a source IP address to use for each peer relationship or you can configure a default
source IP address for peer connections where you have not configured a specific source IP address.
If you do not specify any source IP address, the device will use the interface IP address of the
connection to the peer.
SXP allows multiple hops. That is, if the peer of a device lacking Cisco TrustSec hardware support also
lacks Cisco TrustSec hardware support, the second peer can have an SXP connection to a third peer,
continuing the propagation of the IP-to-SGT mapping information until a hardware-capable peer is
reached. A device can be configured as an SXP listener for one SXP connection as an SXP speaker for
another SXP connection.
A Cisco TrustSec device maintains connectivity with its SXP peers by using the TCP keepalive
mechanism. To establish or restore a peer connection, the device will repeatedly attempt the connection
setup using a configurable retry period until the connection is successful or until the connection is
removed from the configuration.
TrustSec
domain
Unprotected link
Protected link
Switch 1
TrustSec
domain
Non-TrustSec
domain
Switch 2
253097
To support Cisco TrustSec Layer 3 SGT Transport, any device that will act as a Cisco TrustSec ingress
or egress Layer 3 gateway must maintain a traffic policy database that lists eligible subnets in remote
Cisco TrustSec domains as well as any excluded subnets within those regions. You can configure this
database manually on each device if they cannot be downloaded automatically from the
Cisco Secure ACS.
A device can send Layer 3 SGT Transport data from one port and receive Layer 3 SGT Transport data
on another port, but both the ingress and egress ports must have Cisco TrustSec-capable hardware.
Note Cisco TrustSec does not encrypt the Layer 3 SGT Transport encapsulated packets. To protect the packets
traversing the non-TrustSec domain, you can configure other protection methods, such as IPsec.
Two mutually exclusive modes, ingress and egress, are supported for the Cisco TrustSec reflector. The
default is pure mode, in which neither reflector is enabled. A Cisco TrustSec ingress reflector is
configured on an access switch facing a distribution switch, while a Cisco TrustSec egress reflector is
configured on a distribution switch.
Ingress Reflector
A Cisco TrustSec ingress reflector is implemented on an access switch, where the Cisco
TrustSec-incapable switching module is on the Cisco TrustSec domain edge and the Cisco
TrustSec-capable supervisor engine uplink port connects to a Cisco TrustSec-capable distribution
switch.
The following conditions must be met before the Cisco TrustSec ingress reflector configuration is
accepted:
• The supervisor engine must be Cisco TrustSec-capable.
• Any Cisco TrustSec-incapable DFCs must be powered down.
• A Cisco TrustSec egress reflector must not be configured on the switch.
• Before disabling the Cisco TrustSec ingress reflector, you must remove power from the
Cisco TrustSec-incapable switching modules.
Egress Reflector
A Cisco TrustSec egress reflector is implemented on a distribution switch with Layer 3 uplinks, where
the Cisco TrustSec-incapable switching module faces an access switch. The Cisco TrustSec egress
reflector is supported only on Layer 3 uplinks, and is not supported on Layer 2 interfaces, SVIs,
subinterfaces, or tunnels, and is not supported for NAT traffic.
The following conditions must be met before the Cisco TrustSec egress reflector configuration is
accepted:
• The supervisor engine or DFC switching module must be Cisco TrustSec-capable.
• Cisco TrustSec must not be enabled on non-routed interfaces on the supervisor engine uplink ports
or on the Cisco TrustSec-capable DFC switching modules.
• Before disabling the Cisco TrustSec egress reflector, you must remove power from the Cisco
TrustSec-incapable switching modules.
• A Cisco TrustSec ingress reflector must not be configured on the switch.
VRF-Aware SXP
The SXP implementation of Virtual Routing and Forwarding (VRF) binds an SXP connection with a
specific VRF. It is assumed that the network topology is correctly configured for Layer 2 or Layer 3
VPNs, with all VRFs configured before enabling Cisco TrustSec.
SXP VRF support can be summarized as follows:
• Only one SXP connection can be bound to one VRF.
• Different VRFs may have overlapping SXP peer or source IP addresses.
• IP–SGT mappings learned (added or deleted) in one VRF can be updated only in the same VRF
domain. The SXP connection cannot update a mapping bound to a different VRF. If no SXP
connection exits for a VRF, IP–SGT mappings for that VRF won’t be updated by SXP.
• Multiple address families per VRF is supported. Therefore, one SXP connection in a VRF domain
can forward both IPV4 and IPV6 IP-SGT mappings.
• SXP has no limitation on the number of connections and number of IP–SGT mappings per VRF.
Configuration Overview
This guide documents elementary Cisco TrustSec configuration procedures for Cisco Catalyst switches
and includes a TrustSec command reference.
For network-wide deployment configurations, see the section, “Cisco TrustSec Configuration How-to
Documents.”
A network-wide deployment includes the configuration, interoperability, and management of multiple
devices, which may include the Cisco Identity Services Engine (Cisco ISE), The Cisco Secure Access
Control System (Cisco ACS), Cisco IP Telephones, Cisco routers, Cisco network appliances, etc.
White papers and presentations explaining the Cisco TrustSec Solution are at the following URL:
http://www.cisco.com/en/US/netsol/ns1051/index.html
Default Settings
Table 2-1 lists the default settings for Cisco TrustSec parameters.
Parameters Default
Cisco TrustSec Disabled.
SXP Disabled.
SXP default password None.
SXP reconciliation period 120 seconds (2 minutes).
SXP retry period 60 seconds (1 minute).
Cisco TrustSec Caching Disabled.
Additional Documentation
Release-Specific Documents
Platform-Specific Documents
Detailed Steps
Command Purpose
Step 1 Device# cts credentials id device-id Specifies the Cisco TrustSec device ID and password
password password for this switch to use when authenticating with other
Cisco TrustSec devices with EAP-FAST. The
device-id argument has a maximum length of 32
characters and is case sensitive.
Step 2 Device# configure terminal Enters global configuration mode.
Step 3 Device(config)# aaa new-model Enables AAA.
Step 4 Device(config)# aaa authentication dot1x Specifies the 802.1X port-based authentication
default group radius method as RADIUS.
Step 5 Device(config)# aaa authorization Configures the switch to use RADIUS authorization
network mlist group radius for all network-related service requests.
• mlist—The Cisco TrustSec AAA server group.
Step 6 Device(config)# cts authorization list Specifies a Cisco TrustSec AAA server group.
mlist Non-seed devices will obtain the server list from the
authenticator.
Step 7 Device(config)# aaa accounting dot1x Enables 802.1X accounting using RADIUS.
default start-stop group radius
Step 8 Device(config)# radius-server host Specifies the RADIUS authentication server host
ip-addr auth-port 1812 acct-port 1813 address, service ports, and encryption key.
pac key secret
• ip-addr—The IP address of the authentication
server.
• secret—The encryption key shared with the
authentication server.
Command Purpose
Step 9 Device(config)# radius-server vsa send Configures the switch to recognize and use
authentication vendor-specific attributes (VSAs) in RADIUS
Access-Requests generated by the switch during the
authentication phase.
Step 10 Device(config)# dot1x Globally enables 802.1X port-based authentication.
system-auth-control
Step 11 Device(config)# exit Exits configuration mode.
Note You must also configure the Cisco TrustSec credentials for the switch on the Cisco Identity Services
Engine (Cisco ISE) or the Cisco Secure Access Control Server (Cisco ACS).
To enable NDAC and AAA on a non-seed switch so that it can join the Cisco TrustSec domain, perform
these steps:
Detailed Steps
Command Purpose
Step 1 Device# cts credentials id device-id Specifies the Cisco TrustSec device ID and password
password password for this switch to use when authenticating with other
Cisco TrustSec devices with EAP-FAST. The
device-id argument has a maximum length of 32
characters and is case sensitive.
Step 2 Device# configure terminal Enters global configuration mode.
Step 3 Device(config)# aaa new-model Enables AAA.
Step 4 Device(config)# aaa authentication dot1x Specifies the 802.1X port-based authentication
default group radius method as RADIUS.
Step 5 Device(config)# aaa authorization Configures the switch to use RADIUS authorization
network mlist group radius for all network-related service requests.
• mlist—Specifies a Cisco TrustSec AAA server
group.
Step 6 Device(config)# aaa accounting dot1x Enables 802.1X accounting using RADIUS.
default start-stop group radius
Step 7 Device(config)# radius-server vsa send Configures the switch to recognize and use
authentication vendor-specific attributes (VSAs) in RADIUS
Access-Requests generated by the switch during the
authentication phase.
Step 8 Device(config)# dot1x Globally enables 802.1X port-based authentication.
system-auth-control
Step 9 Device(config)# exit Exits configuration mode.
Note You must also configure the Cisco TrustSec credentials for the switch on the Cisco Identity Services
Engine, or the Cisco Secure ACS.
Catalyst 3850/3650 example for access VLAN, where propagate SGT is not the default:
Note This feature is not supported on platforms that support Cisco IOS XE Denali and Everest Releases.
You must enable Cisco TrustSec authentication on each interface that will connect to another Cisco
TrustSec device. To configure Cisco TrustSec authentication with 802.1X on an uplink interface to
another Cisco TrustSec device, perform this task:
Detailed Steps
Command Purpose
Step 1 Device# configure terminal Enters global configuration mode.
Step 2 Device(config)# interface type slot/port Enters interface configuration mode for the uplink
interface.
Step 3 Device(config-if)# cts dot1x Configures the uplink interface to perform NDAC
authentication.
Command Purpose
Step 4 Device(config-if-cts-dot1x)# [no] sap (Optional) Configures 802.1AE MACsec with the SAP
mode-list mode1 [mode2 [mode3 [mode4]]] operation mode on the interface. The interface will
negotiate with the peer for a mutually-acceptable
mode. List the acceptable modes in your order of
preference. Choices for mode are:
• gcm— Authentication and encryption
• gmac— Authentication, no encryption
• no-encap— No encapsulation
• null— Encapsulation, no authentication,
no encryption
Note MACsec with SAP is not supported on the
Catalyst 3K switches.
You can manually configure Cisco TrustSec on an interface. You must manually configure the interfaces
on both ends of the connection. No authentication occurs; policies can be statically configured or
dynamically downloaded from an authentication server by specifying the server’s device identity.
Detailed Steps
Command Purpose
Step 1 Device# configure terminal Enters global configuration mode.
Step 2 Device(config)# interface type slot/port Enters interface configuration mode for the uplink
interface.
Step 3 Device(config-if)# cts manual Enters Cisco TrustSec manual configuration mode.
Command Purpose
Step 4 Device(config-if-cts-manual)# [no] sap pmk (Optional) Configures the SAP pairwise master key
key [mode-list mode1 [mode2 [mode3 (PMK) and operation mode. SAP is disabled by
[mode4]]]]
default in Cisco TrustSec manual mode.
• key—A hexadecimal value with an even number
of characters and a maximum length of 32
characters.
The SAP operation mode options are:
• gcm— Authentication and encryption
• gmac— Authentication, no encryption
• no-encap— No encapsulation
• null— Encapsulation, no authentication or
encryption
Note MACsec with SAP is not supported on the
Catalyst 3K switches.
Command Purpose
Step 9 Device(config-if)# no shutdown Enables the interface and enables Cisco TrustSec
authentication on the interface.
Step 10 Device(config-if)# exit Exits interface configuration mode.
Identity Port Mapping (IPM) configures a physical port such that a single SGT is imposed on all traffic
entering the port; this SGT is applied on all IP traffic exiting the port until a new binding is learned. IPM
is configured as follows:
• CTS Manual interface configuration mode with the policy static sgt tag command
• CTS Manual interface configuration mode with the policy dynamic identity peer-name command
where peer-name is designated as non-trusted in the Cisco ACS or Cisco ISE configuration.
IPM is supported for the following ports:
• Routed ports
• Switchports in access mode
• Switchports in trunk mode
When manually configuring Cisco TrustSec on an interface, consider these usage guidelines and
restrictions:
• If no SAP parameters are defined, MACsec encapsulation or encryption will not be performed.
• If the selected SAP mode allows SGT insertion and an incoming packet carries no SGT, the tagging
policy is as follows:
– If the policy static command is configured, the packet is tagged with the SGT configured in the
policy static command.
– If the policy dynamic command is configured, the packet is not tagged.
• If the selected SAP mode allows SGT insertion and an incoming packet carries an SGT, the tagging
policy is as follows:
– If the policy static command is configured without the trusted keyword, the SGT is replaced
with the SGT configured in the policy static command.
– If the policy static command is configured with the trusted keyword, no change is made to the
SGT.
– If the policy dynamic command is configured and the authorization policy downloaded from
the authentication server indicates that the packet source is untrusted, the SGT is replaced with
the SGT specified by the downloaded policy.
– If the policy dynamic command is configured and the downloaded policy indicates that the
packet source is trusted, no change is made to the SGT.
Before configuring Cisco TrustSec, refer to the guidelines mentioned in Catalyst 3850, Catalyst 3650
Switches, and Wireless LAN Controller 5700 Series under Configuration Guidelines and Restrictions
section.
Catalyst 3850 TrustSec interface configuration in manual mode:
Switch# configure terminal
Switch(config)# interface gig 1/0/5
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# policy dynamic identity my_cisco_ise_id
Switch(config-if-cts-manual)# exit
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
Device(config-if)# end
The ability to manually refresh encryption keys is often part of network administration security
requirements. SAP key refresh ordinarily occurs automatically, triggered by combinations of network
events and non-configurable internal timers.
Detailed Steps
Command Purpose
Step 1 cts rekey interface interface_type Forces renegotiation of SAP keys on MACsec link.
slot/port
Example:
c6500switch# cts rekey int gig 1/1
Detailed Steps
Command Purpose
Step 1 show cts interface [interface_type Displays TrustSec-related interface configuration.
slot/port | brief | summary]
Example:
c6500switch# show cts interface brief
Selected cipher:
Cache Info:
Expiration : 23:32:40 PDT Jun 22 2009
Cache applied to link : NONE
Expiration : 23:32:40 PDT Jun 22 2009
Statistics:
authc success: 1
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 0
sap fail: 0
authz success: 1
authz fail: 0
port auth fail: 0
StartPeriod = 30
AuthPeriod = 30
HeldPeriod = 60
MaxStart = 3
Credentials profile = CTS-ID-profile
EAP profile = CTS-EAP-profile
Dot1x Info for GigabitEthernet3/1
-----------------------------------
PAE = AUTHENTICATOR
PortControl = FORCE_AUTHORIZED
ControlDirection = Both
HostMode = SINGLE_HOST
QuietPeriod = 60
ServerTimeout = 0
SuppTimeout = 55
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 0
sap fail: 0
authz success: 0
authz fail: 0
port auth fail: 0
L3 IPM: disabled.
In normal Cisco TrustSec operation, the authentication server assigns an SGT to the device for packets
originating from the device. You can manually configure an SGT to be used if the authentication server
is not accessible, but an authentication server-assigned SGT will take precedence over a
manually-assigned SGT.
To manually configure an SGT on the device, perform this task:
Detailed Steps
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sgt tag Configures the SGT for packets sent from the device.
The tag argument is in decimal format. The range is 1
to 65533.
Step 3 Switch(config)# exit Exits configuration mode.
For Identity Port Mapping in cts interface manual mode, see the following section:
• Configuring Cisco TrustSec and MACsec in Manual Mode on an Uplink Port, page 3-7
Subnet-to-SGT Mapping
Subnet-to-SGT mapping binds an SGT to all host addresses of a specified subnet. TrustSec imposes the
SGT on an incoming packet when the packet’s source IP address belongs to the specified subnet. The
subnet and SGT are specified in the CLI with the cts role-based sgt-map net_address/prefix sgt
sgt_number global configuration command. A single host may also be mapped with this command.
In IPv4 networks, SXPv3, and more recent versions, can receive and parse subnet net_address/prefix
strings from SXPv3 peers. Earlier SXP versions convert the subnet prefix into its set of host bindings
before exporting them to an SXP listener peer.
For example, the IPv4 subnet 198.1.1.0/29 is expanded as follows (only 3 bits for host addresses):
• Host addresses 198.1.1.1 to 198.1.1.7–tagged and propagated to SXP peer.
• Network and broadcast addresses 198.1.1.0 and 198.1.1.8— not tagged and not propagated.
To limit the number of subnet bindings SXPv3 can export, use the cts sxp mapping network-map
global configuration command.
Subnet bindings are static, there is no learning of active hosts. They can be used locally for SGT
imposition and SGACL enforcement. Packets tagged by subnet-to-SGT mapping can be propagated on
Layer 2 or Layer 3 TrustSec links.
For IPv6 networks, SXPv3 cannot export subnet bindings to SXPv2 or SXPv1 peers.
Default Settings
There are no default settings for this feature.
Restrictions
Detailed Steps
Command Purpose
Step 1 config t Enters global configuration mode.
Example:
switch# config t
switch(config)#
Step 2 [no] cts sxp mapping network-map bindings Configures the Subnet to SGT Mapping host count
constraint. The bindings argument specifies the
maximum number of subnet IP hosts that can be
bound to SGTs and exported to the SXP listener.
• bindings—(0 to 65,535)
Example:
switch(config)# cts sxp mapping network-map 10000 default is 0 (no expansions performed)
Step 3 [no] cts role-based sgt-map (IPv4) Specifies a subnet in CIDR notation. Use the
ipv4_address/prefix sgt number [no] form of the command to unconfigure the Subnet
to SGT mapping. The number of bindings specified
in Step 2 should match or exceed the number of host
addresses in the subnet (excluding network and
broadcast addresses). The sgt number keyword
specifies the Security Group Tag to be bound to
every host address in the specified subnet.
• ipv4_address—Specifies the IPv4 network
address in dotted decimal notation.
• prefix—(0 to 30). Specifies the number of bits in
the network address.
Example:
switch(config)# cts role-based sgt-map • sgt number (0–65,535). Specifies the Security
10.10.10.10/29 sgt 1234 Group Tag (SGT) number.
Command Purpose
Step 4 [no] cts role-based sgt-map (IPv6) Specifies a subnet in colon hexadecimal
ipv6_address::prefix sgt number notation. Use the [no] form of the command to
unconfigure the Subnet to SGT mapping.
The number of bindings specified in Step 2 should
match or exceed the number of host addresses in the
subnet (excluding network and broadcast
addresses). The sgt number keyword specifies the
Security Group Tag to be bound to every host
address in the specified subnet.
• ipv6_address—Specifies IPv6 network address
in colon hexadecimal notation.
• prefix—(0 to128). Specifies the number of bits
in the network address.
Example: • sgt number—(0 to 65,535). Specifies the
switch(config)# cts role-based sgt-map Security Group Tag (SGT) number.
2020::/64 sgt 1234
Step 5 exit Exits global configuration mode.
Example:
switch(config)# exit
switch#
Step 6 show running-config | include search_string Verifies that the cts role-based sgt-map and the
cts sxp mapping network-map commands are in
the running configuration.
Example:
switch# show running-config | include sgt 1234
switch# show running-config | include network-map
Step 7 copy running-config startup-config Copies the running configuration to the startup
configuration.
Example:
switch# copy running-config startup-config
Command Purpose
show cts sxp connections Displays the SXP speaker and listener
connections with their operational status.
show cts sxp sgt-map Displays the IP to SGT bindings exported to the
SXP listeners.
show running-config Verifies that the Subnet to SGT configurations
commands are in the running configuration file.
Step 1 Configure SXP speaker/listener peering between Switch1 (1.1.1.1) and Switch 2 (2.2.2.2).
Switch1# config t
Switch1(config)# cts sxp enable
Switch1(config)# cts sxp default source-ip 1.1.1.1
Switch1(config)# cts sxp default password 1syzygy1
Switch1(config)# cts sxp connection peer 2.2.2.2 password default mode local speaker
Step 5 On Switch2, verify the subnet-to-SGT expansion from Switch1. There should be two expansions for the
10.10.10.0/30 subnetwork, six expansions for the 11.11.11.0/29 subnetwork, and 14 expansions for the
192.168.1.0/28 subnetwork.
Switch2# show cts sxp sgt-map brief | include 101|11111|65000
IPv4,SGT: <10.10.10.1 , 101>
IPv4,SGT: <10.10.10.2 , 101>
IPv4,SGT: <11.11.11.1 , 11111>
IPv4,SGT: <11.11.11.2 , 11111>
IPv4,SGT: <11.11.11.3 , 11111>
IPv4,SGT: <11.11.11.4 , 11111>
IPv4,SGT: <11.11.11.5 , 11111>
IPv4,SGT: <11.11.11.6 , 11111>
IPv4,SGT: <192.168.1.1 , 65000>
Step 7 Save the configurations on Switch 1 and Switch 2 and exit global configuration mode.
Switch1(config)# copy running-config startup-config
Switch1(config)# exit
Switch2(config)# copy running-config startup-config
Switch2(config)# exit
VLAN-to-SGT Mapping
The VLAN-to-SGT mapping feature binds an SGT to packets from a specified VLAN. This simplifies
the migration from legacy to TrustSec-capable networks as follows:
• Supports devices that are not TrustSec-capable but are VLAN-capable, such as, legacy switches,
wireless controllers, access points, VPNs, etc.
• Provides backward compatibility for topologies where VLANs and VLAN ACLs segment the
network, such as, server segmentation in data centers.
The VLAN-to-SGT binding is configured with the cts role-based sgt-map vlan-list global
configuration command.
When a VLAN is assigned a gateway that is a switched virtual interface (SVI) on a TrustSec-capable
switch, and IP Device Tracking is enabled on that switch, then TrustSec can create an IP-to-SGT binding
for any active host on that VLAN mapped to the SVI subnet.
IP-SGT bindings for the active VLAN hosts are exported to SXP listeners. The bindings for each mapped
VLAN are inserted into the IP-to-SGT table associated with the VRF the VLAN is mapped to by either
its SVI or by the cts role-based l2-vrf command.
VLAN-to-SGT bindings have the lowest priority of all binding methods and are ignored when bindings
from other sources are received, such as from SXP or CLI host configurations. Binding priorities are
listing in the “Binding Source Priorities” section on page 3-26.
Default Settings
There are no default settings.
• Create a VLAN on the TrustSec switch with the same VLAN_ID of the incoming VLAN.
• Create an SVI for the VLAN on the TrustSec switch to be the default gateway for the endpoint
clients.
• Configure the TrustSec switch to apply an SGT to the VLAN traffic.
• Enable IP Device tracking on the TrustSec switch.
• Verify that VLAN-to-SGT mapping occurs on the TrustSec switch.
Command Purpose
Step 1 config t Enters global configuration mode.
Example:
TS_switchswitch# config t
TS_switchswitch(config)#
Step 2 vlan vlan_id Creates VLAN 100 on the TrustSec-capable
gateway switch and enters VLAN configuration
Example:
submode.
TS_switch(config)# vlan 100
TS_switch(config-vlan)#
Command Purpose
Step 3 [no] shutdown Provisions VLAN 100.
Example:
TS_switch(config-vlan)# no shutdown
Step 4 exit Exits VLAN configuration mode and returns to
global configuration mode.
Example:
TS_switch(config-vlan)# exit
TS_switch(config)#
Step 5 interface type slot/port Enters interface configuration mode.
Example:
TS_switch(config)# interface vlan 100
TS_switch(config-if)#
Step 6 ip address slot/port Configures Switched Virtual Interface (SVI) for
VLAN 100.
Example:
TS_switch(config-if)# ip address 10.1.1.2 255.0.0.0
Step 7 [no] shutdown Enables the SVI.
Example:
TS_switch(config-if)# no shutdown
Step 8 exit Exits VLAN interface configuration mode and
returns to global configuration mode.
Example:
TS_switch(config-if)# exit
TS_switch(config)#
Step 9 cts role-based sgt-map vlan-list vlan_id Assigns the specified SGT to the specified VLAN.
sgt sgt_number
Example:
TS_switch(config)# cts role-based sgt-map
vlan-list 100 sgt 10
Step 10 Configure SISF policy before you proceed to the next step. Refer Configuring SISF Policy and
Attaching to a Port.
Step 11 show cts role-based sgt-map {ipv4_netaddr (Optional) Displays the VLAN-to-SGT mappings.
| ipv4_netaddr/prefix | ipv6_netaddr|
ipv6_netaddr/prefix | all [ipv4 | ipv6] |
host {ipv4__addr | ipv6_addr} | summary
[ipv4 | ipv6]
Example:
TS_switch# cts role-based sgt-map all
Step 12 show ip device tracking {all|interface|ip|mac} (Optional) Verifies the operational status of IP
Device tracking.
Example:
TS_switch# show ip device tracking all
Step 13 copy running-config startup-config (Optional) Copies the running configuration to the
startup configuration.
Example:
TS_switch# copy running-config
startup-config
The Switch Integrated Security Features (SISF) policy is configured on both the VLAN and on the
physical port. The SISF policy is attached to a VLAN to learn the VLAN-specific address binding. The
purpose of attaching the SISF policy to a physical port is to learn IPv4 and IPv6 addresses on the physical
port.
Command Purpose
Step 1 device-tracking policy name Configures a policy for feature device-tracking and
enters device tracking configuration mode.
Example:
Device(config)# device-tracking policy
policy1
Step 2 trusted-port Configures a port to become a trusted port.
Example:
Device(config-device-tracking)#
trusted-port
Step 3 limit address-count max-number Configures the maximum number of addresses for a
port.
Example:
Device(config-device-tracking)# limit
address-count 100
Step 4 device-role node Specifies that the device attached to the port is a
node.
Example:
Device(config-device-tracking)# device-role node
Step 5 tracking enable Overrides default tracking behavior.
Example:
Device(config-device-tracking)# tracking
enable
Step 6 exit Exits device tracking configuration mode and enters
global configuration mode.
Example:
Device(config-device-tracking)# exit
Step 7 vlan configuration vlan_id Configures the VLAN ID and enters VLAN
configuration mode.
Example:
Device(config)# vlan configuration 20
Step 8 device-tracking attach-policy name Applies a policy for feature device-tracking on the
VLAN.
Example:
Device(config-vlan-config)#
device-tracking attach-policy policy1
Step 9 ipv6 nd suppress Applies the IPv6 neighbor discovery (ND) suppress
feature on the VLAN.
Example:
Device(config-vlan-config)# ipv6 nd
suppress
Step 10 exit Exits VLAN configuration mode and enters global
configuration mode.
Example:
Device(config-vlan-config)# exit
Command Purpose
Step 11 interface type number Configures the interface and enters interface
configuration mode.
Example:
Device(config)# interface
GigabitEthernet5/2
Step 12 switchport Modifies an interface that is in Layer 3 mode into
Layer 2 mode for Layer 2 configuration.
Example:
Device(config-if)# switchport
Step 13 switchport mode access Sets the interface type to access mode.
Example:
Device(config-if)# switchport mode access
Step 14 switchport access vlan vlan-id Sets access mode characteristics of the interface and
configures VLAN when the interface is in access
Example:
Device(config-if)# switchport access vlan
mode.
20
Step 15 access-session host-mode multi-host Allows hosts to gain access to a controlled port and
specifies that all subsequent clients are allowed
Example:
Device(config-if)# access-session
access after the first client is authenticated.
host-mode multi-host
Step 16 access-session closed Prevents preauthentication access on a port.
Example:
Device(config-if)# access-session closed
Step 17 access-session port-control auto Enables port-based authentication and causes the
port to begin in the unauthorized state, allowing only
Example:
Device(config-if)# access-session
Extensible Authentication Protocol over LAN
port-control auto (EAPOL) frames to be sent and received through the
port.
Step 18 device-tracking attach-policy name Applies a policy for feature device-tracking on a
port.
Example:
Device(config-if)# device-tracking
attach-policy policy1
Step 19 end Exits interface configuration mode and returns to
privileged EXEC mode.
Example:
Device(config-if)# end
Command Purpose
show cts role-based sgt-map Displays IP address to SGT bindings.
show device-tracking database Displays the state of the IPv4 and IPv6 neighbor
binding entries in a binding table.
Configuration Example for VLAN-to-SGT Mapping for a Single Host Over an Access Link
In the following example, a single host connects to VLAN 100 on an access switch. The access switch
has an access mode link to a Catalyst 6500 series TrustSec software-capable switch. A switched virtual
interface on the TrustSec switch is the default gateway for the VLAN 100 endpoint (IP Address
10.1.1.1). The TrustSec switch imposes Security Group Tag (SGT) 10 on packets from VLAN 100.
Step 2 Configure the interface to the TrustSec switch as an access link. Configurations for the endpoint access
port are omitted in this example.
access_switch(config)# interface gigabitEthernet 6/3
access_switch(config-if)# switchport
access_switch(config-if)# switchport mode access
access_switch(config-if)# switchport access vlan 100
Step 6 (Optional) PING the default gateway from an endpoint (in this example, host IP Address 10.1.1.1).
Verify that SGT 10 is being mapped to VLAN 100 hosts.
TS_switch# show cts role-based sgt-map all
10.1.1.1 10 VLAN
Step 7 (Optional) Displays the state of the IPv4 and IPv6 neighbor binding entries in a binding table.
TS_switch# show device-tracking database
Network Layer Address Link Layer Address Interface vlan prlvl age state
Time left
ARP 192.0.2.1 001f.e21c.09b6 Gi5/2 20 0011 8s
REACHABLE 12 s
L 192.0.2.2 c464.1395.c700 Vl20 20 0100 45s
REACHABLE
ND 2001:DB8::1 0000.0000.00fd Gi5/2 20 0000 13s UNKNOWN
(47 s)
L 2001:DB8::1 c464.1395.c700 Vl20 20 0100 43s
REACHABLE
ND 2001:DB8:1::1 001f.e21c.09b6 Gi5/2 20 0011 0s
REACHABLE 20 s
ND 2001:DB8:0:ABCD::1 001f.e21c.09b6 Gi5/2 20 0011 3s
REACHABLE 17 s try 0
ND 2001:DB8::FFFE:FFFF:FFFF 001f.e21c.09b6 Gi5/2 20 0011 12s
REACHABLE 7 s try 0
L 2001:DB8::2 c464.1395.c700 Vl20 20 0100 42s
REACHABLE
Use the cts role-based sgt-map interface global configuration command to specify either a specific
SGT number, or a Security Group Name (whose SGT association is dynamically acquired from a Cisco
ISE or a Cisco ACS access server).
In cases where Identity Port Mapping (cts interface manual sub mode configuration) and L3IF-SGT
require different IP to SGT bindings, IPM takes precedence. All other conflicts among IP to SGT binding
are resolved according to the priorities listing in the “Binding Source Priorities” section on page 3-26.
Default Settings
There are no default settings.
Command Purpose
Step 1 Device# configure terminal Enters global configuration mode.
Step 2 Device(config)# cts role-based sgt-map An SGT is imposed on ingress traffic to the specified
interface type slot/port [security-group interface.
name | sgt number]
• interface type slot/port—Displays list of
available interfaces.
• security-group name— Security Group name to
SGT pairings are configured on the Cisco ISE or
Cisco ACS.
Device(config)# cts role-based sgt-map • sgt number—(0 to 65,535). Specifies the Security
interface gigabitEthernet 1/1 sgt 77 Group Tag (SGT) number.
Step 3 Device(config)# exit Exits configuration mode.
Step 4 Device# show cts role-based sgt-map all Verify that ingressing traffic is tagged with the
specified SGT.
Command Purpose
show cts role-based sgt-map all Displays all IP address-to-SGT bindings.
Step 2 Verify that the ingressing traffic to the interface is tagged appropriately.
Device# show cts role-based sgt-map all
IP Address SGT Source
============================================
15.1.1.15 4 INTERNAL
17.1.1.0/24 3 L3IF
21.1.1.2 4 INTERNAL
31.1.1.0/24 3 L3IF
31.1.1.2 4 INTERNAL
43.1.1.0/24 3 L3IF
49.1.1.0/24 3 L3IF
50.1.1.0/24 3 L3IF
50.1.1.2 4 INTERNAL
51.1.1.1 4 INTERNAL
52.1.1.0/24 3 L3IF
81.1.1.1 5 CLI
102.1.1.1 4 INTERNAL
105.1.1.1 3 L3IF
111.1.1.1 4 INTERNAL
6. LOCAL—Bindings of authenticated hosts which are learned via EPM and device tracking. This type
of binding also include individual hosts that are learned via ARP snooping on L2 [I]PM configured
ports.
7. INTERNAL—Bindings between locally configured IP addresses and the device own SGT.
Command Purpose
Step 1 Device# configure terminal Enters global configuration mode.
Step 2 Device(config)# [no] cts server deadtime (Optional) Specifies how long a server in the group
seconds should not be selected for service once it has been
marked as dead. The default is 20 seconds; the range
is 1 to 864000.
Step 3 Device(config)# [no] cts server (Optional) Enables RADIUS load balancing for the
load-balance method least-outstanding Cisco TrustSec private server group and chooses the
[batch-size transactions]
server with the least outstanding transactions. By
[ignore-preferred-server]
default, no load balancing is applied. The default
transactions is 25.
The ignore-preferred-server keyword instructs the
switch not to try to use the same server throughout a
session.
Step 4 Device(config)# [no] cts server test (Optional) Configures the server-liveliness test for a
{server-IP-address | all} {deadtime specified server or for all servers on the dynamic
seconds | enable | idle-time seconds}
server list. By default, the test is enabled for all
servers. The default idle-time is 60 seconds; the range
is from 1 to 14400.
Step 5 Device(config)# exit Exits configuration mode.
Step 6 Device# show cts server-list Displays status and configuration details of a list of
Cisco TrustSec servers.
This example shows how to configure server settings and how to display the Cisco TrustSec server list:
Device# configure terminal
Device(config)# cts server load-balance method least-outstanding batch-size 50
ignore-preferred-server
Device(config)# cts server test all deadtime 20
Device(config)# cts server test all enable
Device(config)# cts server test 10.15.20.102 idle-time 120
Device(config)# exit
Batch size = 50
Ignore preferred server
Server Group Deadtime = 20 secs (default)
Global Server Liveness Automated Test Deadtime = 20 secs
Global Server Liveness Automated Test Idle Time = 60 mins
Global Server Liveness Automated Test = ENABLED (default)
Note This feature is not supported on Cisco Catalyst 9400 Series Switches.
As an alternative to manually configuring the password between the switch and the authentication
server, you can initiate a password negotiation from the switch. To configure the password negotiation,
perform this task:
Command Purpose
Step 1 Device# cts change-password server Initiates a password negotiation between the switch
ip-address port {key secret | a-id a-id} and the authentication server.
• ip-address—The IP address of the authentication
Note Effective with Cisco server.
IOS Release 15.1(1)SY,
the cts • port—The UDP port of the authentication server.
change-password • key secret—The RADIUS shared secret of the
command is not authentication server.
available in Cisco IOS
• a-id a-id—The A-ID associated with the
software.
authentication server.
Note This feature is not supported on Cisco Catalyst 9400 Series Switches.
In cases where a hardware keystore is not present or is unusable, you can configure the switch to use a
software emulation of the keystore. To configure the use of a software keystore, perform this task:
Command Purpose
Step 1 Device# configure terminal Enters global configuration mode.
Step 2 Device(config)# cts keystore emulate Configures the switch to use a software emulation of
the keystore instead of the hardware keystore.
Step 3 Device(config)# exit Exits configuration mode.
Step 4 Device# show keystore Displays the status and contents of the keystore. The
stored secrets are not displayed.
This example shows how to configure and verify the use of a software keystore:
Device# configure terminal
Device(config)# cts keystore emulate
Device(config)# exit
Device# show keystore
• When SXP is configured between a Catalyst 3750-X switch and another switch, SGACL policies are
not enforced on Catalyst 3750-X series switches. SGACL policies are downloaded for the
destination SGT, but policy statements are not applied to the traffic that is initiated from the source
SGT.
IP device tracking must be enabled on both switches and these switches should have Layer2
adjacency configured between them so that Catalyst 3750-X can tag packets with the corresponding
SGT learned via the SXP protocol.
You can enable IP device tracking on Catalyst 3750-X switches by using the ip device tracking
maximum <number> command. Based on your topology, configure the number of IP clients using
the number argument. We do not recommend configuring a high number of IP clients on
ports/interfaces.
IP device tracking is enabled by default on all ports in Cisco IOS Release 15.2(1)E, and in Catalyst
3750-X switches using this release image, SGACL policy enforcement happens.
The following restriction apply to the Cisco Catalyst 6500 Series Switches:
• CTS SGACLs are enforced for punt (CPU bound) traffic by default.
The following restriction apply to the Cisco Catalyst 3650 Series Switches and Cisco Catalyst 3850
Series Switches:
• CTS SGACLs cannot be enforced for punt (CPU bound) traffic due to hardware limitations.
Step 1 Configuration of SGACL policies should be done primarily through the Policy Management function of
the Cisco Secure ACS or the Cisco Identity Services Engine (see the Configuration Guide for the Cisco
Secure ACS or the Cisco Identity Services Engine User Guide).
If you are not using AAA on a Cisco Secure ACS or a Cisco ISE to download the SGACL policy
configuration, you can manually configure the SGACL mapping and policies (see the “Manually
Configuring SGACL Policies” section on page 4-7).
Note An SGACL policy downloaded dynamically from the Cisco Secure ACS or a Cisco ISE will
override any conflicting locally-defined policy.
Step 2 To enable SGACL policy enforcement on egress traffic on routed ports, enable SGACL policy
enforcement globally as described in the “Enabling SGACL Policy Enforcement Globally” section on
page 4-2.
Step 3 To enable SGACL policy enforcement on switched traffic within a VLAN, or on traffic that is forwarded
to an SVI associated with a VLAN, enable SGACL policy enforcement for specific VLANs as described
in the “Enabling SGACL Policy Enforcement on VLANs” section on page 4-5.
The same configuration commands that are used for enforcement of IPv4 traffic apply for IPv6 traffic as well.
To enable SGACL policy enforcement on routed interfaces, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts role-based Enables Cisco TrustSec SGACL policy enforcement
enforcement on routed interfaces.
Detailed Steps
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface gigabitethernet 6/2 Specifies interface on which to enable or
disable SGACL enforcement.
Step 3 Switch(config-if)# cts role-based enforcement Enables Cisco TrustSec SGACL policy
enforcement on routed interfaces.
Step 4 Switch(config-if)# do show cts interface Verifies that SGACL enforcement is enabled.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] cts role-based Enables device level monitor mode.
monitor enable
By default device level monitor mode is enabled. If
device monitor mode is disabled, monitor mode
information is still downloaded from ISE but not
applied on device until this configuration is turned on.
Step 3 Switch(config)# [no] cts role-based Enables monitor mode for IPv4/IPv6 RBACL
monitor permissions from {sgt_num} to (SGT-DGT pair).
{dgt_num}][ipv4 | ipv6]
Step 4 Switch(config)# show cts role-based Displays the SGACL policies and details about the
permissions from {sgt_num} to monitor mode feature for each pair. The command
{dgt_num}][ipv4 | ipv6] [details]
output displays monitored if per cell monitor mode is
enabled for the <SGT-DGT> pair
Step 5 Switch(config)# show cts role-based Displays all SGACL enforcement statistics for IPv4
counters [ipv4 | ipv6] and IPv6 events.
Detailed Steps
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts role-based Enables Cisco TrustSec SGACL policy enforcement
enforcement vlan-list vlan-list on the VLAN or VLAN list.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] cts role-based Enables device level monitor mode.
monitor all
By default device level monitor mode is enabled. If
device monitor mode is disabled, monitor mode
information is still downloaded from ISE but not
applied on device until this configuration is turned
on.
Step 3 Switch(config)# [no] cts role-based Enables monitor mode for IPv4/IPv6 RBACL
monitor permissions from {sgt_num} to (SGT-DGT pair).
{dgt_num}][ipv4 | ipv6]
Step 4 Switch(config)# show cts role-based Displays the SGACL policies and details about the
permissions from {sgt_num} to monitor mode feature for each pair. The command
{dgt_num}][ipv4 | ipv6] [details]
output displays monitored if per cell monitor mode
is enabled for the <SGT-DGT> pair
Step 5 Switch(config)# show cts role-based Displays all SGACL enforcement statistics for IPv4
counters [ipv4 | ipv6] and IPv6 events.
Note The show cts role-based counters CLIs for IPv4 and IPv6 traffic are separate, but the
displayed values for IPv4 and IPv6 are combined.
Note An SGACL policy downloaded dynamically from the Cisco ISE or Cisco ACS overrides any conflicting
manually configured policy.
Note When configuring SGACLs and Role-Based access control lists (RBACLs), the named access control
lists (ACLs) must start with an alphabet.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 ip access-list role-based rbacl-name Creates a Role-based ACL and enters Role-based ACL
configuration mode.
Example:
Switch(config)# ip access-list
role-based allow_webtraff
Step 3 {[sequence-number] | default | permit | Specifies the access control entries (ACEs) for the
deny | remark} RBACL.
You can use most of the commands and options
allowed in extended named access list configuration
mode, with the source and destination fields omitted.
Press Enter to complete an ACE and begin the next.
For full explanations of ACL configuration, keywords,
and options, see, Security Configuration Guide:
Access Control Lists, Cisco IOS XE Release 3S.
The following ACE commands or keywords are not
supported:
Example: • reflect
Switch(config-rb-acl)#10 permit tcp dst • evaluate
eq 80 dst eq 20
• time-range
Step 4 Switch(config-rb-acl)# exit Exits to global configuration mode.
Step 5 [no] cts role-based permissions {default Binds SGTs and DGTs to the RBACL. The
|[from {sgt_num | unknown} to {dgt_num | configuration is analogous to populating the
unknown}]{rbacls | ipv4 rbacls}
permission matrix configured on the Cisco ISE or the
Cisco Secure ACS.
• Default—Default permissions list
• sgt_num—0 to 65,519. Source Group Tag
• dgt_num—0 to 65,519. Destination Group Tag
• unknown—SGACL applies to packets where the
security group (source or destination) cannot be
determined.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 access-list Creates a named IPv6 SGACL and enters IPv6
role-based sgacl-name role-based ACL configuration mode.
Step 3 Switch(config-ipv6rb-acl)# [no] {permit Specifies the access control entries (ACEs) for the
| deny} protocol [dest-option | IPv6 SGACL.
dest-option-type {doh-number |
doh-type}] [dscp cp-value] [flow-label You can use most of the commands and options
fl-value] [mobility | mobility-type allowed in extended named access list configuration
{mh-number | mh-type}] [routing |
mode, with the source and destination fields omitted.
routing-type routing-number] [fragments]
[log | log-input] [sequence seqno] The following ACE commands or keywords are not
supported:
• reflect
• evaluate
• time-range
Step 4 Switch(config-ipv6rb-acl)# exit Exits IPv6 role-based ACL configuration mode.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts role-based Specifies the default SGACLs. The default policies are
permissions default [ipv4 | ipv6] applied when no explicit policy exists between the
sgacl-name1 [sgacl-name2 [sgacl-name3
...]]]
source and destination security groups.
Step 3 Switch(config)# cts role-based Specifies the SGACLs to be applied for a source
permissions from {source-sgt | unknown} security group (SGT) and destination security group
to {dest-sgt | unknown} [ipv4 | ipv6]
sgacl-name1 [sgacl-name2 [sgacl-name3
(DGT). Values for source-sgt and dest-sgt range from
...]]] 1 to 65533. By default, SGACLs are considered to be
IPv4.
• from—Specifies the source SGT.
• to—Specifies the destination security group.
• unknown—SGACL applies to packets where the
security group (source or destination) cannot be
determined.
Note An SGACL policy downloaded dynamically
from the ACS will override any conflicting
manual policy.
To display the contents of the SGACL policies permissions matrix, perform this task:
Command Purpose
Step 1 Switch# show cts role-based permissions Displays the list of SGACL of the default policy.
default [ipv4 | ipv6 | details]
Switch# show cts role-based permissions Displays the contents of the permissions matrix,
[from {source-sgt | unknown}] [to {dest-sg including SGACLs downloaded from the
| unknown}] [ipv4 | ipv6] [details]
authentication server and manually configured on
the switch.
Using the keywords, you can display all or part of the permissions matrix:
• If the from keyword is omitted, a column from the permissions matrix is displayed.
• If the to keyword is omitted, a row from the permissions matrix is displayed.
• If the from and to keywords are omitted, the entire permissions matrix is displayed.
• If the from and to keywords are specified, a single cell from the permissions matrix is displayed and
the details keyword is available. When details is entered, the ACEs of the SGACL of the single cell
are displayed.
This example shows how to display the content of the SGACL policies permissions matrix for traffic
sourced from security group 3:
Switch# show cts role-based permissions from 3
Command Purpose
Step 1 cts refresh policy {peer [peer-id] Performs an immediate refresh of the SGACL policies from
| sgt [sgt_number| the authentication server.
default|unknown]}
• If a peer-id is specified, only the policies related to the
specified peer connection are refreshed. To refresh all
peer policies, press Enter without specifying an ID.
• If an SGT number is specified, only the policies related
to that SGT are refreshed. To refresh all security group
tag policies, press Enter without specifying an SGT
number. Select default to refresh the default policy.
Switch3850# cts refresh policy Select unknown to refresh unknown policy.
peer my_cisco_ise
Note Table 1 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.
Cisco TrustSec Security Group access control lists (SGACLs) support the high availability functionality
in switches that support the Cisco StackWise technology. This technology provides stateful redundancy
and allows a switch stack to enforce and process access control entries.
There is no Cisco TrustSec-specific configuration to enable this functionality, which is supported in
Cisco IOS XE Denali 16.2.1 and later.
This chapter consists of these sections:
• Prerequisites for Cisco TrustSec SGACL High Availability, page 5-1
• Restrictions for Cisco TrustSec SGACL High Availability, page 5-1
• Information About Cisco TrustSec SGACL High Availability, page 5-1
• Verifying Cisco TrustSec SGACL High Availability, page 5-2
• Additional References for Configuring Cisco TrustSec SGACL High Availability, page 5-4
• Feature Information for Cisco TrustSec SGACL High Availability, page 5-5
Note Cisco TrustSec credential that consists of the device ID and password details is run as a command on the
active switch.
The following is sample output from the show cts role-based permissions command on the standby
switch:
Device-stby# show cts role-based permissions
IPv4 Role-based permissions default (monitored):
default_sgacl-01
Deny IP-00
IPv4 Role-based permissions from group 10:SGT_10 to group 15:SGT_15:
SGACL_3-01
IPv4 Role-based permissions from group 14:SGT_14 to group 15:SGT_15:
multple_ace-14
RBACL Monitor All for Dynamic Policies : FALSE
RBACL Monitor All for Configured Policies : FALSE
After a stateful switchover, run the following commands on the active switch to verify the feature:
The following is sample output from the show cts pacs command:
Device# show cts pacs
AID: A3B6D4D8353F102346786CF220FF151C
PAC-Info:
PAC-type = Cisco Trustsec
AID: A3B6D4D8353F102346786CF220FF151C
I-ID: CTS_ED_21
A-ID-Info: Identity Services Engine
Credential Lifetime: 17:22:32 IST Mon Mar 14 2016
PAC-Opaque:
000200B80003000100040010A3B6D4D8353F102346786CF220FF151C0006009C00030100E044B2650D8351FD06
F23623C470511E0000001356DEA96C00093A80538898D40F633C368B053200D4C9D2422A7FEB4837EA9DBB89D1
E51DA4E7B184E66D3D5F2839C11E5FB386936BB85250C61CA0116FDD9A184C6E96593EEAF5C39BE08140AFBB19
4EE701A0056600CFF5B12C02DD7ECEAA3CCC8170263669C483BD208052A46C31E39199830F794676842ADEECBB
A30FC4A5A0DEDA93
Refresh timer is set for 01:00:05
The following is sample output from the show cts environment-data command:
Device# show cts environment-data
The following is sample output from the show cts role-based permissions command after a stateful
switchover:
Device# show cts role-based permissions
Related Documents
Related Topic Document Title
Cisco IOS commands Cisco IOS Master Commands List, All Releases
Cisco TrustSec configuration guide Cisco TrustSec Switch Configuration Guide
Managing Switch Stacks “Managing Switch Stacks” chapter in the Software Configuration
Guide, Cisco IOS XE Denali 16.1.1 (Catalyst 3850 Switches)
Technical Assistance
Description Link
The Cisco Support and Documentation website http://www.cisco.com/cisco/web/support/index.html
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID
and password.
Note Table 1 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.
Note Starting with Cisco IOS XE Release 16.5.1a, LAN Base License will support SXP configuration on
Cisco Catalyst 3850 and Cisco Catalyst 3650 platforms.
The following restrictions are applicable when running Cisco TrustSec in enforcement mode or inline
tagging mode. These restrictions do not apply when these switches are used as an SXP speaker:
• An IP subnet address cannot be statically mapped to a Security Group Tag (SGT). You can only map
IP addresses to an SGT. While configuring IP address-to-SGT mappings, the IP address prefix must
be 32. (Applicable to Catalyst 3560-X and 3750-X Series Switches)
• If a port is configured in multi-authentication mode, all hosts connecting to that port must be
assigned the same SGT. When a host tries to authenticate, it must be assigned the same SGT as the
SGT assigned to a previously authenticated host. If a host tries to authenticate, and it has a different
SGT to that of a previously authenticated host, the VLAN port to which these hosts belong is
error-disabled. (Applicable to Catalyst 3560-X and 3750-X Series Switches)
• Cisco TrustSec enforcement mode on a VLAN trunk line supports only up to eight VLANs. If more
than eight VLANs are configured on a VLAN trunk link and Cisco TrustSec is enabled on those
VLANs, the switch ports on those VLAN trunk links will be error-disabled. (Applicable to Catalyst
3560-X, 3750-X, and 3850 Series Switches)
• Switches can assign SGT and apply the corresponding Security Group access control list (SGACL)
to end hosts based on SGT Exchange Protocol (SXP) listening only if the end hosts are Layer 2
adjacent to the switch. (Applicable to Catalyst 3560-X and 3750-X Series Switches)
snooping and IP device tracking. The access device transmits that association or binding through SXP
to Cisco TrustSec hardware-capable egress devices. These devices maintain a table of source IP-to-SGT
bindings. Packets are filtered on the egress interface by Cisco TrustSec hardware-capable devices by
applying security group access control lists (SGACLs). SXP passes IP-to-SGT bindings from
authentication points to upstream devices in the network. This process allows security services on
switches, routers, or firewalls to learn identity information from access devices.
SGTs can be assigned through any of the following Endpoint Admission Control (EAC) access methods:
• 802.1X port-based authentication
• MAC Authentication Bypass (MAB)
• Web Authentication
SXP uses TCP as the transport protocol, and the TCP port 64999 for connection initiation. SXP uses
Message Digest 5 (MD5) for authentication and integrity check. It has two defined roles—speaker
(initiator) and listener (receiver).
SGT Assignment
The Security Group Tag (SGT) of a packet can be assigned at the port level when the packet comes
tagged on a Cisco TrustSec link, or when a single endpoint authenticates on a port.
SGT of an incoming packet is determined in the following ways:
• When a packet that is tagged with an SGT comes on a trust port, the tag of the packet is considered
as the SGT of the packet.
• When a packet is tagged with an SGT, but comes on an untrusted port, the SGT of the packet is
ignored and the peer SGT is configured for the port.
• When a packet does not have an SGT, the peer SGT is configured for a port.
• Cisco TrustSec only allows a single host device to authenticate on a port (except for voice and data
using separate VLANs). When a host is directly connected to a port, only a single peer SGT exists
for that port. All packet from that port is assigned the same SGT.
The following methods of assigning SGTs are supported:
• IPM (dot1x, MAB, and Web Authentication)
• VLAN-to-SGT mapping Established when an authentication method provides an SGT for an
authenticated entry already has an assigned IP address. A switch process monitors endpoint sessions
and detects changes or removal of IP-to-SGT binding.
Note This feature is supported only on Cisco Catalyst 6500 Series Switches.
You can configure Layer 3 SGT Transport on Cisco TrustSec gateway devices on the edges of a network
domain that has no Cisco TrustSec-capable devices.
When configuring Cisco TrustSec Layer 3 SGT transport, consider these usage guidelines and
restrictions:
• The Cisco TrustSec Layer 3 SGT transport feature can be configured only on ports that support
hardware encryption.
• Traffic and exception policies for Cisco TrustSec Layer 3 SGT transport have the following
restrictions:
– The policies must be configured as IP extended or IP named extended ACLs.
– The policies must not contain deny entries.
– If the same ACE is present in both the traffic and exception policies, the exception policy takes
precedence. No Cisco TrustSec Layer 3 encapsulation will be performed on packets matching
that ACE.
• Traffic and exception policies can be downloaded from the authentication server (if supported by
your Cisco IOS Release) or manually configured on the device. The policies will be applied based
on the following rules:
– If a traffic policy or an exception policy is downloaded from the authentication server, it will
take precedence over any manually configured traffic or exception policy.
– If the authentication server is not available but both a traffic policy and an exception policy have
been manually configured, the manually configured policies will be used.
– If the authentication server is not available but a traffic policy has been configured with no
exception policy, no exception policy is applied. Cisco TrustSec Layer 3 encapsulation will be
applied on the interface based on the traffic policy.
– If the authentication server is not available and no traffic policy has been manually configured,
no Cisco TrustSec Layer 3 encapsulation will be performed on the interface.
Step 1 Enable the Cisco TrustSec feature (see the “Configuring Identities, Connections, and SGTs” chapter).
Step 2 Enable Cisco TrustSec SXP (see the “Enabling Cisco TrustSec SXP” section on page 6-5).
Step 3 Configure SXP peer connections (see the “Configuring an SXP Peer Connection” section on page 6-5).
Detailed Stepss
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] cts sxp enable Enables SXP for Cisco TrustSec.
Step 3 Switch(config)# end Exits global configuration mode and returns to
privileged EXEC mode
Note If a default SXP source IP address is not configured and you do not configure an SXP source address in
the connection, the Cisco TrustSec software derives the SXP source IP address from existing local IP
addresses. The SXP source address might be different for each TCP connection initiated from the switch.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Command Purpose
Step 2 Switch(config)# cts sxp connection Configures the SXP address connection.
peer peer-ipv4-addr
[source src-ipv4-addr] The optional source keyword specifies the IPv4
password {default | none] mode {local | address of the source device. If no address is specified,
peer} {speaker | listener} the connection will use the default source address, if
[vrf vrf-name]
configured, or the address of the port.
The password keyword specifies the password that
SXP will use for the connection using the following
options:
• default—Use the default SXP password you
configured using the cts sxp default password
command.
• none—Do not use a password.
The mode keyword specifies the role of the remote
peer device:
• local—The specified mode refers to the local
device.
• peer—The specified mode refers to the peer
device.
• speaker—Default. Specifies that the device is the
speaker in the connection.
• listener—Specifies that the device is the listener
in the connection.
The optional vrf keyword specifies the VRF to the
peer. The default is the default VRF.
Step 3 Switch(config)# exit Exits global configuration mode and returns to
privileged EXEC mode
Step 4 Switch# show cts sxp connections (Optional) Displays the SXP connection information.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sxp default password Configures the SXP default password. You can enter
[0 | 6 | 7] password either a clear text password (using the 0 or no option)
or an encrypted password (using the 6 or 7 option).
The maximum password length is 32 characters.
Step 3 Switch(config)# end# Exits global configuration mode and returns to
privileged EXEC mode.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sxp default Configures the SXP default source IP address.
source-ip src-ip-addr
Step 3 Switch(config)# end Exits global configuration mode and returns to
privileged EXEC mode.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sxp reconciliation Changes the SXP reconciliation timer. The default
period seconds value is 120 seconds (2 minutes). The range is from 0
to 64000.
Step 3 Switch(config)# end Exits global configuration mode and returns to
privileged EXEC mode.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sxp retry period Changes the SXP retry timer. The default value is 120
seconds seconds (2 minutes). The range is from 0 to 64000.
Step 3 Switch(config)# end Exits global configuration mode and returns to
privileged EXEC mode.
Detailed Steps
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# cts sxp log binding-changes Enables logging for IP to SGT binding changes.
Step 3 Switch(config)# end Exits global configuration mode and returns to
privileged EXEC mode.
Note This feature is supported only on Cisco Catalyst 6500 Series Switches.
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] cts policy layer3 (Optional) Specifies the fallback traffic policy to be
{ipv4 | ipv6} traffic acl-name applied when the authentication server is not available
for downloading the traffic policy.
• acl-name—The name of a traditional interface
ACL already configured on the device.
See the additional usage notes following this task.
Step 3 Switch(config)# [no] cts policy layer3 (Optional) Specifies the fallback exception policy to
{ipv4 | ipv6} exception acl-name be applied when the authentication server is not
available for downloading the exception policy.
See the additional usage notes following this task.
Step 4 Switch(config)# interface Specifies an interface and enters interface
type slot/port configuration mode.
Step 5 Switch(config-if)# [no] cts layer3 (Configured on a Cisco TrustSec-capable physical
{ipv4 | ipv6} trustsec forwarding port) Specifies that egress traffic on this interface will
use Cisco TrustSec Layer 3 SGT transport
encapsulation as determined by the traffic and
exception policies.
Switch(config-if)# [no] cts layer3 (Configured on a routed port or SVI) Specifies that
{ipv4 | ipv6} policy egress traffic on this interface will use Cisco TrustSec
Layer 3 SGT transport encapsulation as determined by
the traffic and exception policies.
Step 6 Switch(config-if)# end Exits interface configuration and returns to privileged
EXEC mode.
Step 7 Switch# show cts policy layer3 {ipv4 | (Optional) Displays the Layer 3 SGT transport
ipv6} configuration on the interfaces.
The following example shows how to configure the SXP peer connection between Switch B, the listener,
and Switch A, the speaker:
Switch# configure terminal
Switch(config)# cts sxp enable
Switch(config)# cts sxp default password Cisco123
Switch(config)# cts sxp default source-ip 10.20.2.2
Switch(config)# cts sxp connection peer 10.10.1.1 password default mode local listener
Note This feature is supported only on Cisco Catalyst 6500 Series Switches.
The following example shows how to configure Layer 3 SGT Transport to a remote Cisco TrustSec
domain:
Switch# configure terminal
Switch(config)# ip access-list extended traffic-list
Switch(config-ext-nacl)# permit ip any 10.1.1.0 0.0.0.255
Switch(config-ext-nacl)# exit
Switch(config)# ip access-list extended exception-list
Switch(config-ext-nacl)# permit ip any 10.2.2.0 0.0.0.255
Switch(config-ext-nacl)# exit
Switch(config)# cts policy layer3 ipv4 traffic traffic-sgt
Command Purpose
Step 1 Switch# show cts sxp connections Displays detailed information about the SXP status
and connections.
Step 1 Switch# show cts sxp connections [brief] Displays brief information about the SXP status and
connections.
The following is sample output from the show cts sxp connections command:
Switch# show cts sxp connections
SXP : Enabled
Default Password : Set
Default Source IP: 10.10.1.1
Connection retry open period: 10 secs
Reconcile period: 120 secs
Retry open timer is not running
----------------------------------------------
Peer IP : 10.20.2.2
Source IP : 10.10.1.1
Conn status : On
Conn Version : 2
Connection mode : SXP Listener
Connection inst# : 1
TCP conn fd : 1
TCP conn password: default SXP password
Duration since last state change: 0:00:21:25 (dd:hr:mm:sec)
Total num of SXP Connections = 1
The following is sample output from the show cts sxp connections brief command:
Switch# show cts sxp connections brief
SXP : Enabled
Default Password : Set
Default Source IP: Not Set
Connection retry open period: 120 secs
Reconcile period: 120 secs
Retry open timer is not running
-----------------------------------------------------------------------------
Peer_IP Source_IP Conn Status Duration
-----------------------------------------------------------------------------
10.1.3.1 10.1.3.2 On 6:00:09:13 (dd:hr:mm:sec)
Note Table 1 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.
SGT Exchange Protocol Cisco IOS Release The SGT Exchange Protocol (SXP) propagates the
12.2(50)SY Security Group Tags (SGTs) across network devices that
do not have hardware support for Cisco TrustSec.
Cisco IOS Release
15.2(3)E In Cisco IOS Release 12.2(50)SY, this feature was
introduced on Cisco Catalyst 6500 Series Switches.
Cisco IOS Release
15.2(4)E1 In Cisco IOS Release 15.2(3)E, this feature was
introduced on Cisco Catalyst 2960-CX Series Switches.
In Cisco IOS Release 15.2(4)E1, this feature was
introduced on Cisco Catalyst 3560-CX Series Switches.
VRF-Aware SGT
Cisco TrustSec uses security group tags (SGTs) to ensure that packets passing through the Cisco
TrustSec network can be properly identified and applied with security and other access control policies.
The SGT implementation of VRF binds a Security Group Tag (SGT) Exchange Protocol (SXP)
connection to a specific VRF. The assumption is that the network topology is configured for Layer 2 or
Layer 3 VPNs, with all VRFs configured before enabling Cisco TrustSec.
Note Cisco IOS XE 3.9.2E on Catalyst 4500 Series Switch supports VRF aware SGT only for Layer 3 VLAN.
The IP–SGT bindings learned while a VRF assignment is active are also added to the Forwarding
Information Base (FIB) table associated with the VRF and the IP protocol version. If an SVI becomes
active for a VLAN, the VRF-to-VLAN assignment becomes inactive and all bindings learned on the
VLAN are moved to the FIB table associated with the SVI’s VRF.
The VRF-to-VLAN assignment is retained even when the assignment becomes inactive. It is reactivated
when the SVI is removed or when the SVI IP address is removed. When reactivated, the IP–SGT
bindings are moved back from the FIB table associated with the SVI’s VRF to the FIB table associated
with the VRF assigned by the cts role-based l2-vrf command.
Starting with Cisco IOS XE 3.9.2E, you can assign SGT to End-point IDs (EIDs) in LISP configuration,
with the VRF aware SGT feature.
Step 3 Switch(config)# interface type number Enables an interface and enters interface configuration mode.
Related Documents
Related Topic Document Title
Cisco IOS commands Cisco IOS Master Commands List, All Releases
Cisco TrustSec configuration guide Cisco TrustSec Switch Configuration Guide
Managing Switch Stacks “Managing Switch Stacks” chapter in the Software Configuration
Guide, Cisco IOS XE Denali 16.3.1 (Catalyst 3850 Switches)
Technical Assistance
Description Link
The Cisco Support and Documentation website http://www.cisco.com/cisco/web/support/index.html
provides online resources to download documentation,
software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve
technical issues with Cisco products and technologies.
Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID
and password.
Note Table 1 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.
8-1
Chapter 8 IP-Prefix and SGT-Based SXP Filtering
Information About IP-Prefix and SGT-Based SXP Filtering
Overview
The IP-to-SGT filtering allow systems to selectively import or export only bindings of interest. In an
SXP connection, a filter can be configured on a device that acts either as a speaker or a listener, based
on the filtering that happens during the export or import of bindings.
In the case of bidirectional SXP connections, filters are applied in either of the directions, based on
whether a speaker or listener filter is configured. If a peer is a part of both the speaker and the listener
filter groups, then filtering is applied in both directions.
Filters can be applied either on a peer-to-peer basis or globally (applicable to all SXP connections). In
both cases, the filter can be applied on the speaker or the listener.
Filter Rules
A filter that needs to be applied on a device is created with a set of filter rules. Each filter rule specifies
the action or actions to be taken for bindings with specific SGT values and/or IP-prefix values. Each
binding is matched against the values specified in the filter rules; if a match is found, the corresponding
action specified in the filter rule is applied. An action that can be applied on a selected binding is either
a permit or a deny action. When a filter is enabled on the speaker or listener during the export or import
of IP-SGT bindings, the bindings are filtered based on the filter rules.
If a rule is not specified for a binding in a filter list, the catch-all rule that is configured in the filter-list
is executed. In the absence of a catch-all rule, the corresponding binding is implicitly denied.
Note The peer command is not available for the global listener and global speaker filter-group.
The following example shows how to create a default SGT rule that permits bindings corresponding to
all SGTs:
Device(config)# cts sxp filter-list filter_1
Device(config-filter-list)# permit sgt all
The following sample output from the show cts sxp filter-group speaker command displays SXP
speaker filter groups:
Device# show cts sxp filter-group speaker group1
Filter-group: group1
Filter-name: filter1
Peer-list: 172.16.0.1 192.168.0.1
The following sample output from the show cts sxp filter-group listener command displays SXP
listener filter groups:
Device# show cts sxp filter-group listener
The following sample output from the show cts sxp filter-group speaker detailed command displays
detailed information about SXP speaker filter groups:
Device# show cts sxp filter-group speaker group1 detailed
Filter-group: group1
Filter-name: filter1
Filter-rules:
10 deny sgt 30
20 deny prefix 10.1.0.0/16
30 permit sgt 60-100
Peer-list: 172.16.0.1 192.168.0.1
The following sample output from the show cts sxp filter-group command displays information about
all configured filter groups:
Device# show cts sxp filter-group
Listener Group:
Filter-group: group1
Filter-name: filter1
Peer-list: 172.16.0.1 192.168.0.1
Filter-group: group2
Filter-name: filter1
Peer-list: 192.0.2.1, 198.51.100.1, 203.0.113.1
Speaker Group:
Filter-group: group3
Filter-name: filter1
Peer-list: 172.16.0.1 192.168.0.13
Filter-group: group2
Filter-name: filter1
Peer-list: 192.0.2.1, 198.51.100.1, 203.0.113.1
The following sample output from the show sxp filter-group detailed command displays detailed
information about all configured SXP filter groups:
Device# show cts sxp filter-group detailed
Listener Group:
Filter-group: group1
Filter-name: filter1
Filter-rules:
10 deny sgt 30
20 deny prefix 172.16.0.0/16
30 permit sgt 60-100
Peer-list: 172.16.0.1, 192.168.0.13
Filter-group: group2
Filter-name: filter1
Filter-rules:
10 deny sgt 30
20 deny prefix 172.16.0.0/16
30 permit sgt 60-100
Peer-list: 192.0.2.1, 198.51.100.1, 203.0.113.1
Speaker Group
Filter-group: group3
Filter-name: filter1
Filter-rules:
10 deny sgt 30
20 deny prefix 172.16.0.0/16
30 permit sgt 60-100
Peer-list: 10.10.10.1, 172.16.0.1, 192.168.0.13
Filter-group: group2
Filter-name: filter1
Filter-rules:
10 deny sgt 30
The following message is generated when the number of rules configured in a single filter reaches 95%
of the maximum number of rules allowed for a filter list:
CTS SXP filter rules exceed [ ] threshold. Reached count of [count] out of [max] in filter
[filter-name].
The following message is generated when the number of rules configured in a single filter reaches the
maximum number of allowed rules, and no more rules can be added.
Reached maximum filter rules. Could not add new rule in filter [filter-name]
The following message is generated when the number of filter lists that is configured reaches 95% of the
maximum number of allowed filter lists:
CTS SXP filter rules exceed %[ ] threshold. Reached count of [count] out of [max]
The following message is generated when the number of filter lists that is configured reaches the
maximum number of allowed filter lists, and no more filter lists can be added:
Reached maximum filter count. Could not add new filter
The SGT tag received in a packet from a trusted interface is propagated to the network, and is also be
used for Identity firewall classification. When IPsec support is added, the received SGT tag is shared
with IPSec for SGT tagging.
A network device at the ingress of Cisco TrustSec cloud needs to determine the SGT of the packet
entering the Cisco TrustSec cloud so that it can tag the packet with that SGT when it forwards it into the
Cisco TrustSec cloud. The SGT of a packet can be determined with these methods:
SGT field on Cisco TrustSec header: If a packet is coming from a trusted peer device, it is assumed that
the Cisco TrustSec header carries the correct SGT field. This situation applies to a network that is not
the first network device in the Cisco TrustSec cloud for the packet.
SGT lookup based on source IP address: In some cases, the administrator may manually configure a
policy to decide the SGT of a packet based upon the source IP address. An IP address to SGT table can
also be populated by the SXP protocol.
L2 Inline Tagging is supported for IPv6 multicast traffic with unicast source IPv6 addresses.
Note This section is applicable only for Cisco Catalyst 9000 Series Switches beginning from Cisco IOS XE
16.8.x release.
The following scenarios explain how SGT is determined for a packet that flows from a primary device,
which has Network Address Translation (NAT) enabled on both ingress and egress ports, to a secondary
device:
Note All ports that are used for the flow must have CTS manual and trusted configured on both devices.
• If inline tagging is enabled between both devices and SGT tag is not changed with CLI:
In this case, on the primary device Cisco TrustSec is enforced on the SGT tag corresponding to the
packet's source IP. The same SGT tag is tagged to the NAT IP. On the secondary device, Cisco
TrustSec is enforced on the SGT tag corresponding to the packet's source IP also.
For example, a packet is received on the primary device with a source IP 192.0.2.5 and SGT tag 133.
Cisco TrustSec is enforced for the SGT tag 133 on the primary device. After NAT translation the
packet's IP changes to 198.51.100.10 and tagged to the SGT tag 133. On the secondary device, the
packet is received with IP address 198.51.100.10 and SGT tag 133. Cisco TrustSec is enforced with
SGT tag 133 on the secondary device.
• If inline tagging is enabled between both devices and SGT tag is changed with CLI:
In this case, on the primary device Cisco TrustSec is enforced on the SGT tag corresponding to the
packet's source IP. The SGT tag is changed by CLI but the SGT tag corresponding to the packets's
source IP is tagged to the packet's NAT IP. On the secondary device, Cisco TrustSec is enforced on
the SGT tag corresponding to the packet's source IP also.
For example, a packet is received on the primary device with a source IP 192.0.2.5 and SGT tag 133.
Cisco TrustSec is enforced for the SGT tag 133 on the primary device. The SGT tag is changed to
200 with CLI. After NAT translation the packet’s IP changes to 198.51.100.10 but tagged to the SGT
tag 133. On the secondary device, the packet is received with IP address 198.51.100.10 and SGT tag
133. Cisco TrustSec is enforced on the SGT tag 133 on the secondary device.
• If inline tagging is disabled (SGT is populated through SXP protocol on the secondary device) and
SGT tag is changed with CLI:
In this case, on the primary device Cisco TrustSec is enforced on the SGT tag corresponding to the
packet's source IP. The SGT to Post Nat IP is defined through CLI and is learnt on the primary
device. On the secondary device, Cisco TrustSec is enforced on the SGT tag corresponding to the
NAT IP, if there is no direct Cisco TrustSec link between primary and secondary device and IP to
SGT bindings are learnt through SXP in secondary device.
For example, a packet is received on the primary device with a source IP 192.0.2.5 and SGT tag 133.
After NAT translation the source IP changes to 198.51.100.10, for which the SGT is defined through
CLI as 200. Cisco TrustSec is enforced for the SGT tag 133 on the primary device. On the secondary
device, IP to SGT binding is received through SXP and Cisco TrustSec is enforced on the SGT tag
200 on the secondary device.
Command Purpose
Step 1 Device# enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 2 Device# configure terminal Enters global configuration mode.
Step 3 Device(config)# interface Configures the interface on which Cisco TrustSec SGT
{gigabitethernet port | vlan number} authorization and forwarding is enabled, and enters
interface configuration mode.
Step 4 Device(config-if)# cts manual Enables Cisco TrustSec SGT authorization and
forwarding on the interface, and enters Cisco TrustSec
manual interface configuration mode.
Step 5 Device(config-if-cts-manual)# propagate Enables Cisco TrustSec SGT propagation on an
sgt interface.
• Use this command in situations where the peer
device is not capable of receiving SGT over
Ethernet packets (that is, when a peer device does
not support Cisco Ethertype CMD 0x8909 frame
format).
Step 6 Device(config-if-cts-manual)# policy Configures a static SGT ingress policy on the interface
static sgt tag [trusted] and defines the trustworthiness of an SGT received on
the interface.
Command Purpose
Step 7 Device(config-if-cts-manual)# end Exits Cisco TrustSec manual interface configuration
mode and enters privileged EXEC mode.
Step 8 Device# show cts interface brief Displays Cisco TrustSec configuration statistics for
the interface.
Interface Gigabit Ethernet Gi1/0/1
Cisco TrustSec is enabled, mode:
MANUAL
Propagate SGT: Enabled
Peer SGT assignment: Trusted
Interface GigabitEthernet0/3
Cisco TrustSec is disabled.
Note This feature is not supported on Catalyst 3650, 3850, 9300, 9400, and 9500 Series Switches.
Note The Cisco TrustSec supervisor ingress reflector and the Cisco TrustSec egress reflector are mutually
exclusive. Do not enable both functions.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# [no] platform cts ingress Activates the Cisco TrustSec supervisor ingress
reflector.
Step 3 Switch(config)# exit Exits configuration mode.
Step 4 Switch# show platform cts Displays Cisco TrustSec reflector mode (Ingress,
Egress, Pure, or No CTS).
Note Before disabling the Cisco TrustSec ingress reflector, you must remove power from the Cisco
TrustSec-incapable switching modules.
To configure the Cisco TrustSec egress reflector function, perform this task.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# [no] platform cts egress Activates the Cisco TrustSec egress reflector.
Step 3 Switch(config)# exit Exits configuration mode.
Step 4 Switch# show platform cts Displays Cisco TrustSec reflector mode (Ingress,
Egress, Pure, or No CTS).
Note Before disabling the Cisco TrustSec egress reflector, you must remove power from the Cisco
TrustSec-incapable switching modules.
Note During extended outages, the Cisco TrustSec cache information is likely to become outdated.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# [no] cts cache enable Enables caching of authentication, authorization and
environment-data information to DRAM. The default
is disabled.
The no form of this command deletes all cached
information from DRAM and non-volatile storage.
Step 3 Switch(config)# [no] cts cache When DRAM caching is enabled, enables DRAM
nv-storage {bootdisk: | bootflash: | cache updates to be written to non-volatile storage.
disk0:} [directory dir-name]
Also enables DRAM cache to be initially populated
from non-volatile storage when the device boots.
Step 4 Switch(config)# exit Exits configuration mode.
This example shows how to configure Cisco TrustSec caching, including non-volatile storage:
Switch# configure terminal
Switch(config)# cts cache enable
Switch(config)# cts cache nv-storage bootdisk:
Switch(config)# exit
Command Purpose
Step 1 Switch# clear cts cache Clears the cache for Cisco TrustSec connection
[authorization-policies [peer] | information.
environment-data | filename filename |
interface-controller [type slot/port]]
Note Table 1 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.
Client list:
Interface MAC Address Domain Status Session ID
Gi2/1 000c.293a.048e DATA Authz Success AC1AD01F0000000904BBECD8
For additional information on configuring MAB authentication, see the configuration guide for your
access switch.
Client list:
Interface MAC Address Domain Status Session ID
Gi2/1 000c.293a.048e DATA Authz Success AC1AD01F0000000A04CD41AC
To verify that the port has successfully authenticated, use the show mab interface command.
switch# show mab interface gigabitEthernet 2/1 details
MAB details for GigabitEthernet2/1
-------------------------------------
Mac-Auth-Bypass = Enabled
Client list:
Interface MAC Address Domain Status Session ID
Gi2/1 000c.293a.048e DATA Authz Success AC1AD01F0000000904BBECD8
For additional information on FAS, see the Cisco document, Flexible Authentication Order, Priority, and
Failed Authentication at the following URL:
http://www.ciscosystems.com.pe/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6638/application_n
ote_c27-573287_ps6638_Products_White_Paper.html
The following example enables DHCP snooping and IP device tracking on an access switch:
switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# ip dhcp snooping
switch(config)# ip dhcp snooping vlan 10
switch(config)# no ip dhcp snooping information option
switch(config)# ip device tracking
To verify that the correct SGT is bound to an endpoint IP address, use the show cts role-based sgt-map
command.
switch# show cts role-based sgt-map all
clear cts cache Clears TrustSec cache file by type, filename or all
cache files.
clear cts counter Clears counters for a single TrustSec interface or
for all interfaces
clear cts credentials Clears all Cisco TrustSec credentials, including
all PACs.
clear cts environment-data Clears TrustSec environment data from cache.
clear cts macsec Clears MACsec counters for a specified interface.
clear cts pac Clears a PAC or all PACs from the keystore.
clear cts policy Clears the peer authorization policy of a TrustSec
peer.
clear cts role-based counters Displays role-based access control enforcement
statistics for SGTs and DGTs.
clear cts server Removes the specified authentication server.
Debug Commands
debug authentication event Displays debugging information about
Authentication Manager events.
debug authentication feature Displays debugging information about specific
features.
debug condition cts Filters Cisco TrustSec debugging messages by
interface name, peer ID, peer-SGT or Security
Group name.
debug condition cts peer-id Filters Cisco TrustSec debugging messages by the
Peer ID.
debug condition cts security-group Filters Cisco TrustSec debugging messages by the
security group name.
debug cts Enables the debugging of Cisco TrustSec
operations.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines This command is only for the seed device. Non-seed devices obtain the TrustSec AAA server list from
their TrustSec authenticator peer as a component of their TrustSec environment data.
Examples The following example displays an AAA configuration of a TrustSec seed device:
Switch# cts credentials id Switch1 password Cisco123
Switch# configure terminal
Switch(config)# aaa new-model
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# aaa authorization network MLIST group radius
Switch(config)# cts authorization list MLIST
Switch(config)# aaa accounting dot1x default start-stop group radius
Switch(config)# radius-server host 10.20.3.1 auth-port 1812 acct-port 1813 pac key
AbCe1234
Switch(config)# radius-server vsa send authentication
Switch(config)# dot1x system-auth-control
Switch(config)# exit
cts cache
To enable caching of TrustSec authorization and environment data information to DRAM and NVRAM,
use the cts cache command. Use the no form of the command to disable caching.
[no] cts cache {enable | nv-storage {bootflash: [dir] | disk0: [dir] | disk1: [dir] | sup-bootflash:
[image]}}
SupportedUserRoles Administrator
Usage Guidelines The cts cache command enables caching of authentication, authorization and environment-data
information to DRAM. Caching is for the maintenance and reuse of information obtained through
authentication and authorization. Keystore provides for secure storage of a device's own credentials
(passwords, certificates, PACs) either in the software or on a specialized hardware component. In the
absence of a dedicated hardware keystore, a software emulation keystore is created using DRAM and
NVRAM.
Cisco TrustSec creates a secure cloud of devices in a network by requiring that each device authenticate
and authorize its neighbors with a trusted AAA server (Cisco Secure ACS 5.1 or more recent) before
being granted access to the TrustSec network. Once the authentication and authorization is complete, the
information could be valid for some time. If caching is enabled, that information can be reused, allowing
the network device to bring up links without having to connect with the ACS. And expediting the
formation of the Cisco TrustSec cloud upon reboot, improving network availability, and reducing the
load on the ACS. Caching can be stored in volatile memory (information does not survive a reboot) or
nonvolatile memory (information survives a reboot).
cts change-password
Note Effective with Cisco IOS Release 15.1(1)SY, the cts change-password command is not available in
Cisco IOS software.
To change the password between the local device and the authentication server, use the cts
change-password privileged EXEC command.
cts change-password server ipv4_address udp_port {a-id hex_string | key radius_key} [source
interface_list]
Defaults None.
SupportedUserRoles Administrator
Usage Guidelines The cts change-password command allows an administrator to change the password used between the
local device and the Cisco Secure ACS authentication server, without having to reconfigure the
authentication server.
Note The cts change-password is supported on Cisco Secure ACS, 5.1 and later versions.
For Catalyst 6500 switches with dual-supervisor chassis, the hardware-based keystores must be
manually synchronized when inserting a second supervisor linecard. A password change process may be
invoked to make both active and standby supervisors have the same device password.
Examples The following example shows how to change the Cisco TrustSec password between a Catalyst 6500
switch and a Cisco Secure ACS:
switch# cts change-password server 192.168.2.2 88 a-id ffef
cts credentials
Use the cts credentials command in privileged EXEC mode to specify the TrustSec ID and password of
the network device. Use the clear cts credentials command to delete the credentials.
Syntax Description credentials id cts_id Specifies the Cisco TrustSec device ID for this device to use when
authenticating with other Cisco TrustSec devices with EAP-FAST. The cts-id
variable has a maximum length of 32 characters and is case sensitive.
password cts_pwd Specifies the password for this device to use when authenticating with other
Cisco TrustSec devices with EAP-FAST.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines The cts credentials command specifies the Cisco TrustSec device ID and password for this switch to use
when authenticating with other Cisco TrustSec devices with EAP-FAST. The Cisco TrustSec credentials
state retrieval is not performed by the nonvolatile generation process (NVGEN) because the Cisco
TrustSec credential information is saved in the keystore, and not in the startup configuration. The device
can be assigned a Cisco TrustSec identity by the Cisco Secure Access Control Server (ACS), or a new
password auto-generated when prompted to do so by the ACS. These credentials are stored in the
keystore, eliminating the need to save the running configuration. To display the Cisco TrustSec device
ID, use the show cts credentials command. The stored password is never displayed.
To change the device ID or the password, reenter the command. To clear the keystore, use the clear cts
credentials command.
Note When the Cisco TrustSec device ID is changed, all Protected Access Credentials (PACs) are flushed from
the keystore because PACs are associated with the old device ID and are not valid for a new identity.
Examples The following example shows how to configure the Cisco TrustSec device ID and password:
Switch# cts credentials id cts1 password password1
CTS device ID and password have been inserted in the local keystore. Please make sure that
the same ID and password are configured in the server database.
The following example show how to change the Cisco TrustSec device ID and password to cts_new and
password123, respectively:
Switch# cts credentials id cts_new pacssword password123
A different device ID is being configured.
This may disrupt connectivity on your CTS links.
Are you sure you want to change the Device ID? [confirm] y
TS device ID and password have been inserted in the local keystore. Please make sure that
the same ID and password are configured in the server database.
The following sample output displays the Cisco TrustSec device ID and password state:
Switch# show cts credentials
cts dot1x
To configure the Cisco TrustSec reauthentication timer on an interface, and to enter the CTS dot1x
interface configuration mode (config-if-cts-dot1x), use the cts dot1x command. Use the no form of the
command to disable the timers on an interface.
SupportedUserRoles Administrator
Usage Guidelines Before configuring the TrustSec dot1x reauthentication timer, configure dot1x globally from the
interface. The Cisco TrustSec dot1x configuration governs TrustSec NDAC, and not TrustSec EAC
processes.
Examples The following example shows a Catalyst 6500 Series switch enter Cisco TrustSec configuration mode
without first enabling dot1x in interface configuration mode:
Switch(config-if)# cts dot1x
Warning: Global dot1x is not configured, CTS will not run until dot1x is enabled
. (Gi3/1)
Switch(config-if-cts-dot1x)# ?
CTS dot1x configuration commands:
default Set a command to its defaults
exit Exit from CTS dot1x sub mode
no Negate a command or set its defaults
timer CTS timer configuration
Syntax Description timer reauthentication Sets the Cisco TrustSec reauthentication timer to the default values.
SupportedUserRoles Administrator
Usage Guidelines The default value of the Cisco TrustSec reauthentication timer is 3600 seconds. When this timer expires,
the device reauthenticates to the Cisco TrustSec network (NDAC).
Examples The following example shows how to reset the Cisco TrustSec reauthentication timer to the global
default values:
Switch # configure terminal
Switch(config)# interface gigabitEthernet 3/1
Switch(config-if)# cts dot1x
Switch(config-if-cts-dot1x)# default timer reauthentication
SupportedUserRoles Administrator
Usage Guidelines This command sets the TrustSec reauthentication timer. When this timer expires, the device
reauthenticates to the Cisco TrustSec network (NDAC).
Examples The following example shows how to set the reauthentication timer to 44 seconds:
Switch(config-if-cts-dot1x)# timer reauthentication 44
cts layer3
To enable Cisco TrustSec Layer 3 transport gateway interfaces, and to apply exception and traffic
policies to the interfaces, use the cts layer 3 interface configuration command.
SupportedUserRoles Administrator
Usage Guidelines Use the cts policy layer3 global configuration command to specify which traffic and exception
commands to apply to the Cisco TrustSec Layer 3 gateway. Use the cts layer3 interface configuration
command to enable the Cisco TrustSec Layer 3 gateway interface and to apply the traffic and exception
policies.
Examples The following example shows how to enable a Cisco TrustSec Layer 3 Transport gateway interface:
Switch# configure terminal
Switch(config)# interface gigabitEthernet 6/1
Switch(config-if)# cts layer3 ipv4 trustsec forwarding
Switch(config-if)# cts layer3 ipv4 trustsec
Switch(config-if)# cts layer3 ipv4 policy
cts manual
To enter Cisco TrustSec manual mode, use the cts manual command in interface configuration mode.
cts manual
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use the cts manual command to enter the TrustSec manual interface configuration in which policies and
the Security Association Protocol (SAP) are configured on the link. If the sap or policy sub-commands
are not configured, it is as if the interface is not configured for TrustSec.
When cts manual command is configured, 802.1X authentication is not performed on the link. Use the
policy subcommand to define and apply policies on the link. By default no policy is applied. To
configure MACsec link-to-link encryption, the SAP negotiation parameters must be defined. By default
SAP is not enabled. The same SAP Pairwise master key (PMK) should be configured on both sides of
the link (that is, a shared secret).
Examples The following example shows how to enter the Cisco TrustSec manual mode:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface giga 2/1
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# ?
CTS manual configuration commands:
default Set a command to its defaults
exit Exit from CTS manual sub mode
no Negate a command or set its defaults
policy CTS policy for manual mode
propagate CTS SGT Propagation configuration for manual mode
sap CTS SAP configuration for manual mode
Syntax Description ipv4 exception access_list (Optional) Specifies an already defined access control list (ACL) that
defines exceptions to the IPv4 Level 3 traffic policy.
ipv4 traffic access_list Specifies an already defined ACL listing the IPv4 Trustsec-enabled
subnets and gateways.
ipv6 exception access_list (Optional) Specifies an already defined ACL that defines exceptions to
the IPv6 Level 3 traffic policy.
ipv6 traffic access_list Specifies an already defined ACL listing the IPv6 Trustsec-enabled
subnets and gateways.
SupportedUserRoles Administrator
Usage Guidelines The Cisco TrustSec Layer 3 transport permits Layer 2 SGT-tagged traffic from TrustSec-enabled
network segments to be transported over non-TrustSec network segments by the application and removal
of a Layer 3 encapsulation at specified Cisco TrustSec Layer 3 gateways. A traffic policy is an access
list that lists all the TrustSec-enabled subnets and their corresponding gateway addresses. An exception
policy is an access list that lists the traffic on which the Cisco TrustSec Layer 3 transport encapsulation
must not be applied.
Specify the traffic and exception policies with the cts policy layer3 {ipv4 | ipv6} traffic access_list and
the cts policy layer3 {ipv4 | ipv6} exception access_list global configuration commands. Apply the
traffic and exception policies on the Cisco TrustSec Level 3 gateway interface with the cts layer3 {ipv4
| ipv6} policy interface configuration command. Enable the Cisco TrustSec Level 3 gateway interface
with the cts layer3 {ipv4 | ipv6} trustsec forwarding interface configuration command.
Configure Cisco TrustSec Layer 3 SGT transport with these usage guidelines and restrictions:
• The Cisco TrustSec Layer 3 SGT transport feature can be configured only on ports that support
hardware encryption.
• Traffic and exception policies for Cisco TrustSec Layer 3 SGT transport have the following
restrictions:
– The policies must be configured as IP extended or IP-named extended ACLs.
– The policies must not contain deny entries.
– If the same ACE is present in both the traffic and exception policies, the exception policy takes
precedence. No Cisco TrustSec Layer 3 encapsulation will be performed on packets matching
that ACE.
• Traffic and exception policies can be downloaded from the authentication server (if supported by
your Cisco IOS Release) or manually configured on the device with the ip access-list global
configuration command. The policies will be applied based on these rules:
– If a traffic policy or an exception policy is downloaded from the authentication server, it will
take precedence over any manually configured traffic or exception policy.
– If the authentication server is not available but both a traffic policy and an exception policy have
been manually configured, the manually configured policies will be used.
– If the authentication server is not available but a traffic policy has been configured with no
exception policy, no exception policy is applied. Cisco TrustSec Layer 3 encapsulation will be
applied on the interface based on the traffic policy.
– If the authentication server is not available and no traffic policy has been manually configured,
no Cisco TrustSec Layer 3 encapsulation will be performed on the interface.
Examples The following example shows how to configure Layer 3 SGT transport to a remote Cisco TrustSec
domain:
Switch# configure terminal
Switch(config)# ip access-list extended traffic-list
Switch(config-ext-nacl)# permit ip any 10.1.1.0 0.0.0.255
Switch(config-ext-nacl)# exit
Switch(config)# ip access-list extended exception-list
Switch(config-ext-nacl)# permit ip any 10.2.2.0 0.0.0.255
Switch(config-ext-nacl)# exit
Switch(config)# cts policy layer3 ipv4 traffic traffic-sgt
Switch(config)# cts policy layer3 ipv4 exception exception-list
Switch(config)# interface gi2/1
Switch(config-if)# cts layer3 trustsec ipv4 forwarding
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# exit
cts refresh
To refresh the TrustSec peer authorization policy of all or specific Cisco TrustSec peers, or to refresh the
SGACL policies downloaded to the switch by the authentication server, use the cts refresh command in
privileged EXEC mode.
cts refresh {environment-data | policy {peer [peer_id] | sgt [sgt_number | default | unknown]}}
Defaults None
SupportedUserRoles Administrator
Usage Guidelines To refresh the Peer Authorization Policy on all TrustSec peers, enter cts policy refresh without
specifying a peer ID.
The peer authorization policy is initially downloaded from the Cisco ACS at the end of the EAP-FAST
NDAC authentication success. The Cisco ACS is configured to refresh the peer authorization policy, but
the cts policy refresh command can force immediate refresh of the policy before the Cisco ACS timer
expires. This command is relevant only to TrustSec devices that can impose Security Group Tags (SGTs)
and enforce Security Group Access Control Lists (SGACLs).
Examples The following example shows how to refresh the TrustSec peer authorization policy of all peers:
The following sample output displays the TrustSec peer authorization policy of all peers:
VSS-1# show cts policy peer
cts rekey
To regenerate the Pairwise Master Key used by the Security Association Protocol (SAP), use the
cts rekey privileged EXEC command.
Syntax Description interface type slot/port Specifies the Cisco TrustSec interface on which to regenerate the SAP key.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines SAP Pair-wise Master Key key (PMK) refresh ordinarily occurs automatically, triggered by
combinations of network events and non-configurable internal timers related to dot1X authentication.
The ability to manually refresh encryption keys is often part of network administration security
requirements. To manually force a PMK refresh use the cts rekey command.
TrustSec supports a manual configuration mode where dot1X authentication is not required to create
link-to-link encryption between switches. In this case, the PMK is manually configured on devices on
both ends of the link with the sap pmk Cisco TrustSec manual interface configuration command.
Cisco TrustSec NDAC/SAP is supported only on K10 switch which has XgStub2. It is supported on both
uplink (where K10 acts as supplicant) and down link with linecard that has XgStub2 (where K10 acts as
authenticator).
Examples The following example shows how to regenerate the PMK on a specified interface.
switch# cts rekey interface gigabitEthernet 2/1
cts role-based policy trace {ipv4 | ipv6} {tcp | udp} source_host ip_address eq {protocol name |
wellknown_port_num} dest_host ip_address eq {protocol name | wellknown_port_num}
[interface type slot/port | security-group {sgname sg_name | sgt sgt_num} | vlan vlan_id | vrf
vrf_name]
cts role-based policy trace {ipv4 | ipv6} {ip_port_num | icmp | ip} source_host ip_address
dest_host ip_address [interface type slot/port | security-group {sgname sg_name | sgt
sgt_num} | vlan vlan_id | vrf vrf_name]
protocol name | Specifies either the host-to-host protocol name or its well-known port
wellknown_port_num number when UDP or TCP is selected as the Internet Protocol.
Supported protocols and their associated well-known port numbers are as
follows:
• 0 to 65535—Protocol Port number space.
• biff—Biff (mail notification, comsat, 512)
• bootpc—Bootstrap Protocol (BOOTP) client (68)
• bootps—Bootstrap Protocol (BOOTP) server (67)
• discard—Discard (9)
• dnsix—DNSIX security protocol auditing (195)
• domain—Domain Name Service (DNS, 53)
• echo—Echo (7)
• isakmp—Internet Security Association and Key Management Protocol
(500)
• mobile-ip—Mobile IP registration (434)
• nameserver—IEN116 name service (obsolete, 42)
• netbios-dgm—NetBios datagram service (138)
• netbios-ns—NetBios name service (137)
• netbios-ss—NetBios session service (139)
• non500-isakmp—Internet Security Association and Key Management
Protocol (4500)
• ntp—Network Time Protocol (123)
• pim-auto-rp—PIM Auto-RP (496)
• rip—Routing Information Protocol (router, in.routed, 520)
• snmp—Simple Network Management Protocol (161)
• snmptrap—SNMP Traps (162)
• sunrpc—Sun Remote Procedure Call (111)
• syslog—System Logger (514)
• tacacs—TAC Access Control System (49)
• talk—Talk (517)
• tftp—Trivial File Transfer Protocol (69)
• time—Time (37)
• who—Who service (rwho, 513)
• xdmcp—X Display Manager Control Protocol (177)
eq Boolean operator (equals). Matches packets with the specified host-to-host
protocol or well-known port number from the specified host or interface.
Used only for TCP and UDP packets.
dest_host ip_address Specifies the IP address and port of the destination host.
interface type slot/port (Optional) Specifies the source interface type, slot, and physical port
number.
security-group (Optional) Specifies the Security Group name or the Security Group Tag
{sgname sg_name | sgt number.
sgt_num}
vlan vlan_id (Optional) 0 to 4094. Specifies the VLAN identifier.
vrf vrf_name (Optional) Specifies the virtual routing and forwarding instance name.
SupportedUserRoles Administrator
Usage Guidelines The cts role-based policy trace procedure is summarized as follows:
1. Discover the network path.
Know the topology of the entire TrustSec network before executing the command. Standard network
discovery methods such as IP traceroute, Cisco Discovery Protocol, or other methods can be used
to obtain this information.
2. Starting from the host and continuing to the farthest node; log-in to each device in the path.
3. Execute the cts role-based policy trace command on each device.
Based on the input arguments, the command output reports the outgoing SGT value and SGACL
entry/ACE. Apply the SGT value from the output as the input SGT on the next switch in the path.
If you do not provide the (optional) SGT argument in the command line, the output reports the SGT
assigned to the packet along with any available binding information.
For example, a packet may be dropped because a device is blocking UDP packets, which may
indicate a problem with an SGACL configuration or SGACL refresh obtained from another device,
such as the Cisco Integrated Services Engine (Cisco ISE). The policy trace command would
identify on which device the SGACL was enforced and which ACE was blocking.
Examples The following example shows how to specify a source interface on the source host for an xdmcp over
UDP packet.
switch# cts role-based policy trace ipv4 udp host 10.2.2.1 eq 177 host 10.1.1.2 eq 80 int
giga 1/1
Input Qualifiers:
====================
Input Interface : Gi 1/1
Packet Parameters:
=====================
Protocol : UDP
Source IP Address : 10.2.2.1
Source Port : 177
Destination IP Address : 10.1.1.2
Destination Port : 80
Result:
==========
Source SGT mapped to Int Gi 1/1 : 6
Destination IP: 10.1.1.2 SGT: 5 Source:CLI
The following example traces an HTTP over UDP packet from an IPv6 host:
switch# cts role-based policy trace ipv6 udp host 2001::3 eq 80 host 2003::4 eq 90
Input Qualifiers:
====================
Packet Parameters:
=====================
Protocol : UDP
Source IP Address : 2001::3
Source Port : 80
Destination IP Address : 2003::4
Destination Port : 90
Result:
==========
Source IP: 5111::3 SGT: 16 Source:CLI
Destination IP: 13::4 SGT: 17 Source:CLI
cts role-based
Use the cts role-based global configuration command to manually configure SGT impositions, TrustSec
NetFlow parameters, and SGACL enforcement. Use the no form of the command to remove the
configurations.
[no] cts role-based permissions default {access-list | ipv4 | ipv6} access-list access-list . . .
[no] cts role-based permissions from {sgt | unknown to {sgt | unknown}} {access-list | ipv4 |
ipv6} access-list . access-list, . . .
[no] cts role-based sgt-map interface interface_type slot/port {security-group | sgt} sgt_number
[no] cts role-based sgt-map vlan-list [vlan_ids| all] slot/port sgt sgt_number
Syntax Description l2-vrf instance_name (Optional) Specifies Layer 2 virtual routing and
forwarding (VRF) instance name.
enforcement Enables SGACL enforcement on the local device for all
Layer 3 Cisco TrustSec interfaces.
interface interface_type The specified SGT is mapped to traffic from this logical
or physical Layer 3 interface.
vlan-list vlan-ids Specifies VLAN IDs. Individual VLAN IDs are
separated by commas, a range of IDs specified with a
hyphen.
all (Optional) Specifies all VLAN IDs.
with-enforcement Enables SGT caching where SGACL enforcement is
enabled.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines If you do not have a Cisco Identity Services Engine, Cisco Secure ACS, dynamic Address Resolution
Protocol (ARP) inspection, Dynamic Host Control Protocol (DHCP) snooping, or Host Tracking
available on your switch to automatically map SGTs to source IP addresses, you can manually map an
SGT to the following with the cts role-based sgt-map command:
• A single host IPv4 or IPv6 address
• All hosts of an IPv4 or IPv6 network or subnetwork
• VRFs
• Single or multiple VLANs
• A Layer 3 physical or logical interface
VRF-to-SGT Bindings
The vrf keyword specifies a virtual routing and forwarding table previously defined with the vrf
definition global configuration command. The IP-SGT binding specified with the cts role-based
sgt-map vrf global configuration command is entered into the IP-SGT table associated with the
specified VRF and the IP protocol version which is implied by the type of IP address entered.
VLAN-to-SGT Mapping
The cts role-based sgt-map vlan-list command binds an SGT with a specified VLAN or a set of
VLANs. The keyword all is equivalent to the full range of VLANs supported by the switch and is not
preserved in the nonvolatile generation (NVGEN) process. The specified SGT is bound to incoming
packets received in any of the specified VLANs.
The system uses discovery methods such as DHCP and/or ARP snooping (a.k.a. IP device tracking) to
discover active hosts in any of the VLANs mapped by this command. Alternatively, the system could
map the subnet associated with the SVI of each VLAN to the specified SGT. SXP shall export the
resulting bindings as appropriate for the type of binding.
The bindings for each mapped VLAN is inserted into the IP-SGT table that is associated with the VRF,
the VLAN is mapped to by either its SVI or by the cts role-based l2-vrf command.
Role-based Enforcement
Use the [no] cts role-based enforcement command to globally enable or disable SGACL enforcement
for Cisco TrustSec-enabled Layer 3 interfaces in the system.
Note The terms Role-based Access Control and Role-based ACLs that appear in the Cisco TrustSec CLI
command description is equivalent to Security Group Access Control List (SGACL) in Cisco TrustSec
documentation.
VLAN Enforcement
Use the [no] cts role-based enforcement vlan-list {vlan-ids | all} command to enable or disable
SGACL enforcement for Layer 2 switched packets and for Layer 3 switched packets on an SVI interface.
The vlan-ids argument can be a single VLAN ID, a list of VLAN IDs, or VLAN ID ranges.
The keyword all is equivalent to the full range of VLANs supported by the platform (For example, the
Catalyst 6500 VLAN range is from 1 to 4094). SGACLs are enforced on all VLANs of all specified lists.
The keyword all is not preserved in the nonvolatile generation (NVGEN) process.
Note SGACL enforcement is not enabled by default on VLANs. The cts role-based enforcement vlan-list
command must be issued to enable SGACL enforcement on VLANs.
Note When a VLAN in which a role-based access control (RBAC) is enforced has an active SVI, the RBAC
is enforced for both Layer 2 and Layer3 switched packets within that VLAN. Without an SVI, the RBAC
is enforced only for Layer 2 switched packets, because no Layer 3 switching is possible within a VLAN
without an SVI.
Note Static policies can be defined for individual cells in the SGT matrix. Dynamic policies from ACS,
however, are defined for the entire row or column. Dynamic and static policies cannot be used together.
Assuming both row and column are downloaded, the static cell <SGT, DGT> will be overridden by the
dynamic policy for SGT or DGT even if those policies do not have an explicit cell for <SGT, DGT>.
The statically configured policy defined by this command is restored after connectivity with ACS is lost
and not regained before a covering policy from ACS is expired. This command is intended as a fallback
policy or during testing or experimenting with RBACL enforcement.
• The from clause specifies the source SGT and the to clause specifies the destination SGT. Both a
from clause and a to clause must be specified. Either clause can specify numeric value for SGT in
the range from 0 to 65533 or one of the keywords unknown, or multicast-unknown.
• unknown—Selects RBACLs that are applied for unicast packets whose source SGT or destination
SGT cannot be determined by the system.
• multicast-unknown—Selects RBACLs of a multicast send or multicast receive policy when the
SGT of the multicast stream cannot be determined.
• rbacl name—Name of an RBACL already defined. The RBACL could be an RBACL that was
defined by CLI (using ip access-list role-based name) or an RBACL that was defined by policy
downloaded from ACS.
• ipv4 (optional) keyword indicates that RBACLs attached by this command are IPv4 RBACLs. This
is the default and if neither IPv4 nor IPv6 are specified, the command will expect each of the given
<rbacl name> to be an IPv4 RBACL.
• ipv6 keyword indicates that the RBACLs attached by this command are IPv6 RBACLs. It is
mandatory to specify the keyword ipv6 when attaching IPv6 RBACLs. The command will not make
an attempt to figure out on its own the IP protocol version from the attached RBACLs.
The cts role-based permissions default [ipv4 | ipv6] <rbacl name>+ command defines, replaces, or
deletes the list of RBACLs of the unicast default policy. This policy remains in effect as long as no
dynamic unicast default policy is downloaded from ACS.
The cts role-based permissions multicast-send-default <rbacl name>+ command defines, replaces, or
deletes the list of RBACLs of the multicast send default policy. This policy remains in effect as long as
no dynamic multicast send default policyis downloaded from ACS.
The cts role-based permissions multicast-receive-default <rbacl name> command defines, replaces,
or deletes the single RBACL of the multicast receive default policy. This policy remains in effect as long
as no dynamic multicast receive default policy has been downloaded from ACS.
For Flexible NetFlow overview and configuration information, see the following documents:
Getting Started with Configuring Cisco IOS Flexible NetFlow
http://www.cisco.com/en/US/docs/ios/fnetflow/configuration/guide/get_start_cfg_fnflow.html
Cisco IOS Flexible NetFlow Configuration Guide, Release 15.0SY
http://www.cisco.com/en/US/docs/ios-xml/ios/fnetflow/configuration/15-0sy/fnf-15-0sy-book.html
Examples In the following example, a Catalyst 4500 series switch binds host IP address 10.1.2.1 to SGT 3 and
10.1.2.2 to SGT 4. These bindings are forwarded by SXP to an SGACL enforcement switch.
Switch# (config)# cts role-based sgt-map host 10.1.2.1 sgt 3
Switch(config)# cts role-based sgt-map host 10.1.2.2 sgt 4
In the following example, VLAN 57, and 89 through 101 is added to VRF l2ipv4. The VRF was
created with the vrf global configuration command.
cts server
To configure RADIUS server group load balancing, use the cts server command in global configuration
mode. Use the no form of the command to disable load balancing.
Syntax Description deadtime timer_secs Specifies how long a server in the group should not be
selected for service once it has been marked as dead. The
default is 20 seconds; the range is from 1 to 864000.
load-balance method least-outstanding Enables RADIUS load balancing for the Cisco TrustSec
private server group and chooses the server with the least
outstanding transactions. By default, no load balancing is
applied.
batch-size transactions (Optional) The number of transactions to be assigned per
batch. The default is 25.
Defaults
Deadtime 20 seconds
Batch-size 25 transactions
SupportedUserRoles Administrator
Usage Guidelines Use the key-wrap keyword when operating the switch in FIPS mode.
Examples The following example shows how to configure server settings and how to display the Cisco TrustSec
server list:
Switch# configure terminal
Switch(config)# cts server load-balance method least-outstanding batch-size 50
ignore-preferred-server
Switch(config)# exit
cts server test {ipv4_address | all} {deadtime seconds | enable | idle-time minutes}
SupportedUserRoles Administrator
Usage Guidelines Because the server-liveness is enabled by default, you may receive failed authentication messages from
the user CTS-Test-Server. The server-liveness probes a specified RADIUS server or all servers in the
dynamic server list, and when a RADIUS server does not respond, the switch will mark it as down and
sends the failed authentication message. You can disable these messages by using the no cts server test
command.
To configure a password for the CTS-Test-Server user, configure the username command in global
configuration mode.
Examples The following example shows how to configure server settings and how to display the Cisco TrustSec
server list:
Switch# configure terminal
Switch(config)# cts server load-balance method least-outstanding batch-size 50
ignore-preferred-server
Switch(config)# cts server test all deadtime 20
Switch(config)# cts server test all enable
Switch(config)# cts server test 10.15.20.102 idle-time 120
Switch(config)# exit
The following example shows how to configure a password for the CTS-Test-Server user:
Switch(config)# username CTS-Test-Server password 0 Password123
cts sgt
To manually assign a Security Group Tag (SGT) number to a network device, use the cts sgt command
in global configuration mode. Use the no form of the command to remove the tag.
Syntax Description tag-number Configures the SGT for packets sent from this device. The tag argument is in
decimal format. The range is from 1 to 65533.
SupportedUserRoles Administrator
Usage Guidelines In Cisco TrustSec, the authentication server assigns an SGT to the device for packets originating from
the device. You can manually configure an SGT to be used if the authentication server is not accessible,
but an authentication server-assigned SGT will take precedence over a manually assigned SGT.
Examples The following example shows how to manually configure an SGT on the network device:
Switch# configure terminal
Switch(config)# cts sgt 1234
Switch(config)# exit
cts sxp
To configure SXP on a network device, use the cts sxp global configuration command. Use the no form
of this command to disable SXP configurations.
[no] cts sxp connection peer ip4_address password {default | none} mode {local | peer}
[speaker | listener] [vrf vrf_name]
[no] cts sxp connection peer ip4_address source ip4_address password {default | none} mode
{local | peer} [speaker | listener] [vrf vrf_name]
Syntax Description connection peer ip4_address Specifies the peer SXP address.
password {default | none} Specifies the password that SXP uses for peer connection using the
following options:
• default—Use the default SXP password configured using the
cts sxp default password command.
• none—Do not use a password.
Maximum password length is 32 characters.
mode {local | peer} Specifies the role of the remote peer device:
• local—The specified mode refers to the local device.
• peer—The specified mode refers to the peer device.
network-map bindings Specifies the maximum number of subnet host address-to-SGT
bindings permitted when expanding subnets for IP–SGT tagging
and export. Enter 0 for no expansion. Valid values are from 0 to
65535.
speaker | listener speaker—Default. Specifies that the device is the speaker in the
connection.
listener—Specifies that the device is the listener in the connection.
vrf vrf_name (Optional) Specifies the VRF to the peer. Default is the default
VRF.
default password Configures the SXP default password. You can enter either a clear
0 unencrypted_pwd | text password (using the 0 or no option) or an encrypted password
6 encrypted_key | (using the 6 or 7 option). The maximum password length is 32
7 encrypted_key | characters.
cleartext_pwd
source-ip ip4_address (Optional) Specifies the IPv4 address of the source device. If no
address is specified, the connection uses the default source address
(if configured), or the address of the port.
enable Enables SGT Exchange Protocol over TCP (SXP) for Cisco
TrustSec.
log binding-changes Enables logging for IP-to-SGT binding changes. Default is off.
reconciliation period seconds Changes the SXP reconciliation timer. The range is from 0 to
64000. Default is 120 seconds (2 minutes).
retry period seconds Changes the SXP retry timer. The range is from 0 to 64000. Default
is 120 seconds (2 minutes).
Defaults
password none
SupportedUserRoles Administrator
Release Modification
12.2(53)SE2 This command was implemented on Catalyst 3750(X) series switches
without log binding-changes keyword).
12.2(50)SY The mapping keyword was added.
Usage Guidelines This command enables SXP, determines the SXP password, the peer speaker/listener relationship, and
the reconciliation period.
When an SXP connection to a peer is configured with the cts sxp connection peer command, only the
connection mode can be changed. The vrf keyword is optional. If a VRF name is not provided or a VRF
name is provided with name “default,” the connection is set up in the default routing or forwarding
domain.
The default setting for an SXP connection password is none. Because SXP connection is configured per
IP address, a device with many peers can have many SXP connections. The cts sxp default password
command sets the default SXP password to be optionally used for all SXP connections configured on the
device. The SXP password can be cleartext or encrypted. The default is type 0 (cleartext). If the
encryption type is 6 or 7, the encryption password argument must be a valid type 6 or type 7 ciphertext.
Use the no cts sxp default password command to delete the SXP password.
The cts sxp default source-ip command sets the default source IP address that SXP uses for all new TCP
connections when a source IP address is not specified. Pre-existing TCP connections are not affected
when this command is entered. If neither the default nor the peer-specific source IP address is
configured, then the source-IP address will be derived from existing local IP addresses and could
potentially be different for each TCP connection initiated from the device.
SXP connections are governed by three timers:
• Retry timer
• Delete Hold Down timer
• Reconciliation timer
Retry Timer
The Retry timer is triggered if at least one SXP connection that is not up. A new SXP connection is
attempted when this timer expires. Use the cts sxp retry period command to configure this timer value.
The default value is 120 seconds. The range is from 0 to 64000 seconds. A zero value results in no retry
being attempted.
Reconciliation Timer
After a peer terminates an SXP connection, an internal Delete Hold-down timer starts. If the peer
reconnects before the Delete Hold Down timer expires, the SXP Reconciliation timer starts. While the
SXP Reconciliation period timer is active, the Cisco TrustSec software retains the SGT mapping entries
learned from the previous connection and removes invalid entries. The default value is 120 seconds (2
minutes). Setting the SXP reconciliation period to 0 seconds disables the timer and causes all entries
from the previous connection to be removed. Use the cts sxp reconciliation period command to
configure this timer.
Examples The following example shows how to enable SXP, and configure the SXP peer connection on SwitchA,
a speaker, for connection to SwitchB, a listener:
SwitchA# configure terminal
SwitchA#(config)# cts sxp enable
SwitchA#(config)# cts sxp default password Cisco123
SwitchA#(config)# cts sxp default source-ip 10.10.1.1
SwitchA#(config)# cts sxp connection peer 10.20.2.2 password default mode local speaker
The following example shows how to configure the SXP peer connection on SwitchB, a listener, for
connection to SwitchA, a speaker:
SwitchB# configure terminal
SwitchB(config)# cts sxp enable
SwitchB(config)# cts sxp default password Cisco123
SwitchB(config)# cts sxp default source-ip 10.20.2.2
SwitchB(config)# cts sxp connection peer 10.10.1.1 password default mode local listener
Syntax Description authorization-policies [peer | sgt] Clears all cached SGT and peer authorization policies.
environment-data Clears environment data cache file.
filename file Specifies filename of cache file to clear.
interface-controller type slot/port Specifies the interface controller cache to clear.
Defaults None
SupportedUserRoles Administrator
Examples The following example deletes environment data from the cache:
Switch# clear cts cache environment-data
Note Clearing peer authorization and SGT policies are relevant only to TrustSec devices capable of
enforcing SGACLs.
Syntax Description type slot/port (Optional) Specifies the interface type, slot, and port of the
interface to clear.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines The clear cts counter command clears the Cisco TrustSec counters specific to the selected interface. If
no interface is specified, all of the TrustSec counters on all TrustSec interfaces are cleared.
Examples The following example shows how to clear Cisco TrustSec statistics for GigabitEthernet interface 3/1,
and then verify with the show cts interface command (a fragment of the show command output is
displayed):
Switch# clear cts counter gigabitEthernet3/1
Switch# show cts interface gigabitEthernet3/1
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
authz success: 0
authz fail: 0
port auth fail: 0
<snip>
Defaults None
SupportedUserRoles Administrator
Defaults None
SupportedUserRoles Administrator
Examples The following example shows how to clear environment data from cache:
Switch# clear cts environment-data
SupportedUserRoles Administrator
Examples The following example shows how to clear the counters on a GigabitEthernet interface on a Catalyst
6500 series switch:
Switch# clear cts macsec counters interface gigabitEthernet 6/2
Syntax Description A-ID hexstring Specifies the authenticator ID (A-ID) of the PAC to be removed from the
keystore.
all Specifies that all PACs on the device be deleted.
Defaults None
SupportedUserRoles Administrator
Syntax Description peer peer_id Specifies the peer ID of the TrustSec peer device.
sgt sgt Specifies the Security Group Tag (SGT) of the TrustSec peer device in
hexadecimal.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines To clear the peer authorization policy of all TrustSec peers, use the clear cts policy peer command
without specifying a peer ID. To clear the Security Group tag of the TrustSec peer, use the clear cts
policy sgt command.
Examples The following example shows how to clear the peer authorization policy of the TrustSec peer with the
peer ID peer1:
Switch# clear cts policy peer peer1
Delete all peer policies? [confirm] y
clear cts role-based counters from {sgt_num | unknown} [ipv4 | ipv6 | to {sgt_num | unknown}
[ipv4 | ipv6]]
SupportedUserRoles Administrator
Usage Guidelines Use the clear cts role-based counters command to clear the Security Group ACL (SGACL)
enforcement counters.
Specify the source SGT with the from keyword and the destination SGT with the to keyword. The
counters for the entire permission matrix are cleared when both the from and to keywords are omitted.
The default keyword clears the statistics of the default unicast policy.
Examples The following example shows how to clear all role-based counters:
Switch# clear cts role-based counters ipv4
Role-based counters
From To SW-Denied HW-Denied SW-Permitted HW_Permitted
2 5 129 89762 421 7564328
3 5 37 123456 1325 12345678
3 7 0 65432 325 2345678
Syntax Description ip-address IPv4 address of the AAA server to be removed from the server list.
SupportedUserRoles Administrator
Usage Guidelines This command removes a server configuration from the list of Cisco Trustsec AAA servers configured
using the cts authorization list command, or the AAA server list provisioned by the Cisco TrustSec
authenticator peer.
Examples The following example removes the AAA server 10.10.10.1 from the Cisco TrustSec AAA server list.
Switch# clear cts server 10.10.10.1
default sap
Defaults None
SupportedUserRoles Administrator
[no] debug condition cts {peer-id peer-id | security-group {name sg_name | tag tag_number}}
SupportedUserRoles Administrator
Usage Guidelines When any of the debug cts commands are enbled, debugging messages for the specified Cisco TrustSec
service is logged. The debug condition cts command filters these debugging messages by setting match
conditions for Peer ID, SGT or Security Group Name.
For SXP messages, debug conditions can be set for source and destination IP addresses. To filter by VRF,
or IP-to-SGT bindings, use the conditional debug commands—debug condition ip, and debug
condition vrf.
The debug conditions are not saved in the running-configuration file.
Examples In following example, messages for debug cts ifc events and debug cts authentication details are
filtered by peer-id, SGT, and SGN. Interface Controller (ifc) and Authentication debug messages are
displayed only if the messages contain the peer-id=“Zoombox” or security-group tag = 7 or
security-group name=“engineering”:
switch# debug condition cts peer-id Zoombox
Condition 1 set
switch# show debug condition
Condition 1: cts peer-id Zoombox (0 flags triggered)
In the following example, SXP connection and mapping database messages are filtered by IP address
and SGT. Only SXP debug messages that contain IP address 10.10.10.1, or security-group tag = 8, or
security-group name = “engineering” are displayed.
switch# debug condition ip 10.10.10.1
Condition 1 set
switch# debug condition cts security-group tag 8
Condition 2 set
switch# debug condition cts security-group name engineering
Condition 3 set
default sap
Syntax Description dynamic identity Defaults to the peer policy downloaded from the AAA server.
policy static sgt Defaults to no policy. That is, no SGT is applied to the ingress traffic.
policy propagate sgt Changes SGT propagation mode to ON.
sap Specifies default SAP values. (GCM-Encrypt, null)
SupportedUserRoles Administrator
Usage Guidelines To restore the Cisco TrustSec manual interface configuration mode parameters to default values, use the
default command.
Examples The following example shows how to restore the default dynamic policy and SGT propagation policies
of a Cisco TrustSec-enabled interface:
Switch# config t
Switch(config)# interface gigbitEthernet 6/1
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# default policy dynamic identity
Switch(config-if-cts-manual)# default propagate sgt
Syntax Description destination group-tag Matches destination fields for the Cisco TrustSec Security Group Tag (SGT).
source group-tag Matches source fields for the Cisco TrustSec Security Group Tag (SGT).
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Flexible NetFlow accounts for packets dropped by SGACL enforcement when SGT and DGT flow
objects are configured in the flow record with standard 5-tuple flow objects.
Use the flow record and flow exporter global configuration commands to configure a flow record, and
a flow exporter, then use the flow monitor command to add them to a flow monitor.
To collect only SGACL dropped packets, use the [no] cts role-based {ip | ipv6} flow monitor dropped
global configuration command.
Examples The following example configures an IPV4 Flow Record (5-tuple, direction, SGT, DGT):
Switch(config)# flow record cts-record-ipv4
Switch(config-flow-record)# match ipv4 protocol
Switch(config-flow-record)# match ipv4 source address
Switch(config-flow-record)# match ipv4 destination address
Switch(config-flow-record)# match transport source-port
Switch(config-flow-record)# match transport destination-port
Switch(config-flow-record)# match flow direction
Switch(config-flow-record)# match flow cts source group-tag
Switch(config-flow-record)# match flow cts destination group-tag
Switch(config-flow-record)# collect counter packets
platform cts
To enable the TrustSec egress or ingress reflector, use the platform cts command in global configuration
mode. Use the no form of the command to disable the reflector.
Syntax Description egress Specifies the egress TrustSec reflector to be enabled or disabled.
ingress Specifies the ingress TrustSec reflector to be enabled or disabled.
SupportedUserRoles Administrator
Examples The following example shows how to enable the Cisco TrustSec ingress reflector on a Catalyst 6500
switch:
switch(config)# platform cts egress
The following example shows how to disable the Cisco TrustSec ingress reflector on a Catalyst 6500
switch:
switch(config)# no platform cts egress
SupportedUserRoles Administrator
Usage Guidelines Use the policy command to apply a policy when manually configuring a TrustSec link. The default is
no policy which passes all traffic without applying an SGT. The sap cts manual mode command must
also be configured to bring up a TrustSec link.
If the selected SAP mode allows SGT insertion and an incoming packet carries no SGT, the tagging
policy is as follows:
• If the policy static command is configured, the packet is tagged with the SGT configured in the
policy static command.
• If the policy dynamic command is configured, the packet is not tagged.
If the selected SAP mode allows SGT insertion and an incoming packet carries an SGT, the tagging
policy is as follows:
• If the policy static command is configured without the trusted keyword, the SGT is replaced with
the SGT configured in the policy static command.
• If the policy static command is configured with the trusted keyword, no change is made to the SGT.
• If the policy dynamic command is configured and the authorization policy downloaded from the
authentication server indicates that the packet source is untrusted, the SGT is replaced with the SGT
specified by the downloaded policy.
The authorization policy can specify the peer's SGT, peer SGT assignment trust state, RBACLs for
the associated peer SGT, or an interface ACL.
• If the policy dynamic command is configured and the downloaded policy indicates that the packet
source is trusted, no change is made to the SGT.
For statically configured SGTs no RBACL is applied, but traditional interface ACL can be configured
separately for traffic filtering if required.
Examples The following example shows how to apply SGT 3 to incoming traffic from the peer, except for traffic
already tagged (the interface that has no communication with a Cisco Secure ACS server):
Switch# configure terminal
Switch(config)# interface gigabitethernet 2/1
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# sap pmk 1234abcdef mode-list gcm null no-encap
Switch(config-if-cts-manual)# policy static sgt 3 trusted
Switch(config-if-cts-manual)# exit
Switch(config-if)# no shutdown
Switch(config-if)# end
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 1
sap fail: 0
authz success: 5
authz fail: 0
port auth fail: 0
Ingress:
control frame bypassed: 0
sap frame bypassed: 0
esp packets: 0
unknown sa: 0
invalid sa: 0
inverse binding failed: 0
auth failed: 0
replay error: 0
Egress:
control frame bypassed: 0
esp packets: 0
sgt filtered: 0
sap frame bypassed: 0
unknown sa dropped: 0
unknown sa bypassed: 0
platform-cts
To exempt control Protocol Data Units (PDUs) from Cisco Meta Data (CMD) tagging, or to enable
subnet security group tag (SGT) derivation for switched traffic, configure the platform-cts command in
global configuration mode. To disable either function, enter the no version of the command.
Syntax Description stub l2-control-pdu Enables exemption of control PDUs from CMD tagging.
cmd-exempt
subnet-sgt l2traffic Enables SGT derivation for switched traffic.
enable
Defaults SGT derivation and CMD tagging exemption are both disabled by default.
SupportedUserRoles Administrator
An SGT may be a source user group tag or a destination user group tag. A source user group tag is added
by a switch that is close to the source of the packet, and a destination user group tag is added by a switch
in the same network, but closer to the destination of the packet.
The addition of the source user group tag for both switched and routed packets is handled by the
forwarding engine of switch, with the help of the Forward Information Base (FIB). The addition of a
destination user group tag for a routed packet is also handled by the forwarding engine, but the addition
of a destination user group tag for a switched packet is handled by the input ACL engine, with the help
of input ACL TCAM entries.
When you add a new SGT binding, the new entry is programmed into the first available free space in the
TCAM block - in the order of entry. For example, if you add entries in the order shown below, the generic
entry (1.0.0.0/8) is programmed in the lowest index, and not the specific entry (1.0.0.1).
Switch(config)#cts role-based sgt-map 1.0.0.0/8 sgt 20 !!Generic entry
Switch(config)#cts role-based sgt-map 1.0.0.1 sgt 10 !!Specific entry
TCAM search progresses from the lowest index of the block to the highest index and search stops when
the first matching entry is found. When traffic ingresses the switch, the above entries mean that for a
packet with destination IP address 1.0.0.1, the TCAM lookup is matched to generic entry 1.0.0.0/8 and
destination user group tag 20 is assigned, even though you have made a more specific entry for packets
with the destination address 1.0.0.1.
To program TCAM entries in an optimal way and to ensure that TCAM search matches specific entries
(when they are available), enter the platform-cts subnet-sgt l2traffic enable command in global
configuration mode.
Note Before you enable or disable [no] platform-cts subnet-sgt l2traffic enable, ensure that you
have disabled Cisco TrustSec global enforcement, that is, ensure that you have configured the
no cts role-based enforcement command in global configuration mode.
The [no] platform-cts subnet-sgt l2traffic enable command applies to IPv4 and 1Pv6 addresses.
Use the show running-config command in privileged EXEC mode to know if platform-cts subnet-sgt
l2traffic enable command is enabled. For example:
Switch(config)# platform-cts subnet-sgt l2traffic enable
Switch(config)# end
Switch# show running-config | in platform-cts
platform-cts subnet-sgt l2traffic enable
Note When you configure the propagate sgt Cisco TrustSec manual interface configuration command
on a link, a Catalyst 4500 switch adds the CMD header in the L2 frame header for all packets,
control and data.
If a peer switch is unable to process a layer 2 frame (and drops such packets), then consider exempting
CMD tagging by entering the platform-cts stub l2-control-pdu cmd-exempt command in global
configuration mode. By enabling the command, you can exempt the control PDUs leaving a Catalyst
4500 switch, from CMD tagging, and also accept packets transmitted on a Cisco TrustSec-enabled link
without a CMD tag.
For example, certain linecards in the Cisco Nexus 7000 Series cannot process a Layer 2 packet unless it
has a 802.1Q tag. If such a line card is a peer for a Catalyst 4500 switch, you may encounter the following
situation and may want to configure the command:
A trunk port on the Catalyst 4500 switch transmits selected control packets through a native VLAN.
Further, the packets are transmitted with a CMD tag (because the corresponding interfaces are
configured to add a CMD header), but without a 802.1Q tag (either because native VLAN tagging is not
enabled or because some control packets do not support tagging), then such packets are dropped by the
peer. Configure the platform-cts stub l2-control-pdu cmd-exempt command to prevent such pack
drops.
Note For the CMD tagging exemption to work as expected, configure the platform-cts stub
l2-control-pdu cmd-exempt command in global configuration mode first and then the cts
manual command in interface configuration mode. If cts manual is already configured, then
disable and reenable on the required interfaces.
The CMD tagging exemption option is not meant for, and does not serve as a workaround for these cases:
Certain linecards in the Cisco Nexus 7000 Series can process a L2 frame that has a CMD tag, only if
there is a 802.1Q tag. If the link between a Catalyst 4500 and a Nexus 7000 device is an access link then
you can assume that the packet is without 802.1Q tag (on an access port on a Catalyst 4500 switch, both
data and control packet go out without a 802.1Q tag).
Similarly, you cannot use this command in case of a trunk port, where data packets go out with 802.1Q
tag on tagged VLANs and without 802.1Q tag on a native VLAN.
Use the show running-config command in privileged EXEC mode to know if platform-cts stub
l2-control-pdu cmd-exempt command is enabled.
Defaults SGT propagation is enabled by default in CTS dot1x and CTS manual interface configuration modes.
SupportedUserRoles Administrator
Usage Guidelines SGT propagation (SGT tag encapsulation) is enabled by default in both CTS dot1x and CTS manual
interface configuration modes. A TrustSec-capable port can support Layer-2 MACsec and SGT
encapsulation, and negotiates the most secure mode with the peer for the transmittal of the SGT tag and
data.
MACsec is an 802.1AE standard-based link-to-link protocol used by switches and servers. A peer can
support MACsec, but not SGT encapsulation. In such a case, it is recommended that this Layer 2 SGT
propagation be disabled with the no propagate sgt CTS dot1x interface configuration command.
To re-enable the SGT propagation enter the propagate sgt command. Use the show cts interface
command to verify the state of SGT propagation. Only the disabled state is saved in the nonvolatile
generation (NVGEN) process.
Examples The following example shows how to disable SGT propagation on a TrustSec-capable interface:
Switch(config) interface gigabitethernet 6/1
Switch(config-if) cts dot1x
Switch(config-if-cts-dot1x)# no propagate sgt
Selected cipher:
SupportedUserRoles Administrator
Usage Guidelines Security Group Tag propagation is enabled by default in both CTS dot1x and CTS manual modes. To
disable SGT processing, enter the no propagate sgt command. To re-enable SGT, enter the propagate
sgt command. Only the no propagate sgt state is saved when issuing a CLI command that invokes the
nonvolatile generation (NVGEN) process (for example, copy system running-config).
A TrustSec-capable interface can support MACsec (Layer 2 802.1AE security) and SGT tagging. In a
manual CTS interface configuration, disable SGT propagation on the Cisco TrustSec-capable interface
if you are only implementing MACsec.
A Cisco TrustSec capable port can extract and accept SGT from packets, and it can assign a default to
SGT to untagged packets received, or ignore a received SGT tag and override it with a configured default
SGT.
The precise behavior is affected by the Cisco TrustSec mode (dot1x or manual), the type of policy in
manual mode (static or dynamic), and the trust attribute configured or downloaded in peer policy or
dynamic policy.
This behavior is governed by the following table:
Table 12-1
Table 12-1
Examples The following example shows how to disable SGT tagging on a manually-configured TrustSec-capable
interface:
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# sap pmk FFFE
Switch(config-if-cts-manual)# no propagate sgt
Switch(config-if-cts-manual)# exit
Switch(config-if)# exit
Switch(config)# exit
Switch# show running-config
. . .
interface GigabitEthernet6/2
ip address 172.16.4.12 255.255.255.0
cts manual
no propagate sgt
sap pmk 000000000000000000000000000000000000000000000000000000000000FFFE
. . .
[no] sap mode-list {gcm-encrypt | gmac | no-encap | null} [gcm-encrypt | gmac | no-encap | null]
Syntax Description mode-list Lists the advertised SAP authentication and encryption modes (prioritized
from the highest to the lowest).
gcm-encrypt Specifies the Galois Message Authentication Code (GMAC) authentication
with Galois Counter Mode (GCM) encryption.
gmac Specifies GMAC authentication without any encryption.
no-encap Specifies no encapsulation.
null Specifies that no encapsulation, authentication, and encryption is required.
Defaults The default encryption is sap modelist gcm-encrypt null. When a peer interface do not support dot1x,
802.1AE MACsec, or 802.REV layer-2 link encryption, the default encryption is null.
SupportedUserRoles Administrator
Usage Guidelines Use the sap mode-list command to specify the authentication and encryption method to use during dot1x
authentication.
The Security Association Protocol (SAP) is an encryption key derivation and exchange protocol based
on a draft version of the 802.11i IEEE protocol. SAP is used to establish and maintain the 802.1AE
link-to-link encryption (MACsec) between interfaces that support MACsec.
After a dot1x authentication, before the SAP exchange begins, both sides (supplicant and authenticator)
receives the Pairwise Master Key (PMK) and the MAC address of the peer’s port from the Cisco Secure
Access Control Server (Cisco Secure ACS). If 802.1X authentication is not possible, SAP, and the PMK
can be manually configured between two interfaces in CTS manual configuration mode.
If a device is running Cisco TrustSec-aware software but the hardware is not Cisco TrustSec-capable,
disable encapsulation with the sap modelist no-encap command.
Use the timer reauthentication command to configure the reauthentication period to be applied to the
Cisco TrustSec link in case the period is not available from the Cisco Secure ACS. The default
reauthentication period is 86,400 seconds.
Note Because TrustSec NDAC, and SAP are supported only on a switch-to-switch link, dot1x must be
configured in multihost mode. The authenticator PAE starts only when dot1x system-auth-control is
enabled globally.
Examples The following example shows how to specify that SAP is negotiating the use of Cisco TrustSec
encapsulation with GCM cipher, or null-cipher as a second choice, but cannot accept Cisco TrustSec
encapsulation if the peer does not support Cisco TrustSec encapsulation in hardware.
Switch(config-if-cts-dot1x)# sap modelist gcm-encrypt null no-encap
[no] sap pmk hex_value [modelist {gcm-encrypt | gmac | no-encap | null} [gcm-encrypt | gmac
| no-encap | null]
Syntax Description pmk hex_value Specifies the Hex-data PMK (without leading 0x; enter even number of hex
characters, or else the last character is prefixed with 0.).
modelist Specifies the list of advertised modes (prioritized from highest to lowest).
gcm-encrypt Specifies the Galois Message Authentication Code (GMAC) authentication
with Galois Counter Mode (GCM) encryption.
gmac Specifies the GCM authentication without any encryption.
no-encap Specifies no encapsulation.
null Specifies that encapsulation, authentication, and encryption are not present.
Defaults The default encryption is sap modelist gcm-encrypt null. When the peer interface does not support
dot1x, 802.1AE MACsec, or 802.REV layer-2 link encryption, the default encryption is null.
SupportedUserRoles Administrator
Usage Guidelines The Security Association Protocol (SAP) is an encryption key derivation and exchange protocol based
on a draft version of the 802.11i IEEE protocol. In a TrustSec configuration, keys are used for MACsec
link-to-link encryption between two interfaces.
If 802.1X authentication is not possible, SAP, and the Pairwise Master Key (PMK) can be manually
configured between two interfaces with the sap pmk command. When using 802.1X authentication, both
sides (supplicant and authenticator) receive the PMK and the MAC address of the peer’s port from the
Cisco Secure Access Control Server.
Examples The following example shows how to configure SAP on a Gigabit Ethernet interface:
Switch(config)# interface gigabitEthernet 2/1
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# sap pmk FFFEE mode-list gcm-encrypt
show cts
To display states and statistics related to Cisco TrustSec, use the show cts command in privileged EXEC
mode.
show cts [authorization entries | credentials | environment-data | interface {type slot/port | vlan
vlan_number | keystore | macsec counters interface type slot/port [delta] | pacs | policy
layer3 [ipv4 | ipv6] | policy peer peer_id | provisioning | role-based counters | role-based
flow | role-based permissions | role-based sgt-map | server-list | sxp connections | sxp
sgt-map]
Defaults None
SupportedUserRoles Administrator
Examples The following is sample output from the show cts command:
Switch# show cts
Defaults None
SupportedUserRoles Administrator
Examples The following is sample output from the show cts authorization entries command:
Switch# show cts authorization entries
Peer-name = Unknown-0000
Peer-SGT = 0-AD23BDF78
Entry State = COMPLETE
Entry last refresh = 01:30:37 UTC Sat Dec 8 2007
session queuesize = 0
Peer policy last refresh = 01:30:37 UTC Sat Dec 8 2007
SGT policy last refresh = 01:30:37 UTC Sat Dec 8 2007
Peer policy refresh time = 0
Peer-name = Unknown-FFFF
Peer-SGT = FFFF-ABC876234
Entry State = COMPLETE
Entry last refresh = 01:30:37 UTC Sat Dec 8 2007
session queuesize = 0
Peer policy last refresh = 00:20:37 UTC Sat Dec 8 2007
SGT policy last refresh = 01:30:37 UTC Sat Dec 8 2007
Peer policy refresh time = 0
SGT policy refresh time = 2000
Policy expires in 0:00:29:27 (dd:hr:mm:sec)
Policy refreshes in 0:00:29:27 (dd:hr:mm:sec)
Retry_timer = not running
Cache data applied = NONE
Entry status = SUCCEEDED
Defaults None
SupportedUserRoles Administrator
Examples This following sample output displays the type of credentials that is used for Cisco TrustSec
authentication.
Switch# show cts credentials
Defaults None
SupportedUserRoles Administrator
Examples The following sample outputs displays the environment data on a Cisco Catalyst 6500 series switch:
Switch# show cts environment-data
====================
Current state = WAITING_RESPONSE
Last status = Failed
Environment data is empty
State Machine is running
Retry_timer (60 secs) is running
Syntax Description type slot/port (Optional) Specifies an interface type and slot and port number. A
verbose output for this interface is returned.
brief (Optional) Displays abbreviated status for all Cisco TrustSec
interfaces.
summary (Optional) Displays a tabular summary of all Cisco TrustSec interfaces
with 4 or 5 key status fields for each interface.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use the show cts interface command without keywords to display verbose status for all Cisco TrustSec
interfaces.
Examples The following sample output displays verbose status for all Cisco TrustSec interfaces:
Switch# show cts interface
Selected cipher:
Current receive SPI: 0
Current transmit SPI: 0
Current Transient Session Key:
27C2DF9D 7C686B03 C930D003 95F83737
6AC0276C 8160FE3C 0C33EF9A C01FCBAC
Current Offset:
27C2DF9D 7C686B03 C930D003 95F83737
6AC0276C 8160FE3C 0C33EF9A C01FCBAC
Statistics:
authc success: 1
authc reject: 18
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 0
sap fail: 0
authz success: 1
authz fail: 0
port auth fail: 0
Ingress:
control frame bypassed: 0
sap frame bypassed: 0
esp packets: 0
unknown sa: 0
invalid sa: 0
inverse binding failed: 0
auth failed: 0
replay error: 0
Egress:
control frame bypassed: 0
esp packets: 0
sgt filtered: 0
sap frame bypassed: 0
unknown sa dropped: 0
unknown sa bypassed: 0
MaxReq = 2
TxPeriod = 30
The following is sample output from the show cts interface brief command:
Switch# show cts interface brief
The following is sample output from the show cts interface summary command:
Switch# show cts interface summary
The following sample output shows the Cisco TrustSec information on an interface for the Authenticator
role where the reauthentication period is configured on the Authentication Server and the
reauthentication value acquired from the server is applied on the interface. The "Reauth starts in approx."
timer indicates the time left until the next reauthentication:
Switch# show cts interface gigabitethernet 2/3
Statistics:
authc success: 1
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
authz success: 1
authz fail: 0
port auth fail: 0
The following is sample output from the show cts interface summary command. This command
displays interface information for both Layer 2 and Layer 3. IPv4 and IPv6 encapsulation and policy
states are also displayed.
Switch# show cts interface summary
The following is sample output displays Cisco TrustSec interface information for the manual mode:
Switch# show cts interface gigabitethernet 2/2
Cache Info:
Expiration : Never expires
Cache applied to link : NONE
Expiration : Never expires
Statistics:
authc success: 0
authc reject: 0
authc failure: 0
authc no response: 0
authc logoff: 0
sap success: 3
sap fail: 0
authz success: 3
authz fail: 0
port auth fail: 0
Syntax Description interface interface_type slot/port Specifies the Cisco TrustSec MACsec interface.
delta Displays counter values since the last time the counters were
cleared.
SupportedUserRoles Administrator
Usage Guidelines If Security Associations (SA) are installed (through NDAC or sap (cts interface do1x) or sap (cts
manual) commands), the active SA counters are displayed. Only one SA is active at a time. Supported
values for SAs are 1 and 2. The delta keyword lists the counter values after the clear cts macsec
counters interface command was issued.
Examples The following sample output displays the MACsec counters of a manually configured Cisco TrustSec
uplink interface on a Catalyst 6500 series switch:
Switch# show cts macsec counters interface gigabitEthernet 6/2
InErrors = 0
OutErrors = 0
ifInDiscards = 0
ifInUnknownProtos = 0
ifOutDiscards = 0
dot1dDelayExceededDiscards = 0
txCRC = 0
linkChange = 0
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use this command to identify the Network Device Admission Control (NDAC) authenticator and to
verify NDAC completion.
Examples The following sample output displays the Protected Access Credential (PAC) received from a Cisco ACS
with the authenticator ID (A-ID–Info):
Switch# show cts pacs
AID: 1100E046659D4275B644BF946EFA49CD
PAC-Info:
PAC-type = Cisco Trustsec
AID: 1100E046659D4275B644BF946EFA49CD
I-ID: device1
A-ID-Info: acs1
Credential Lifetime: 13:59:27 PDT Jun 5 2010
PAC-Opaque: 000200B000030001000400101100E046659D4275B644BF946EFA49CD0006009400
0301008285A14CB259CA096487096D68D5F34D000000014C09A6AA00093A808ACA80B39EB656AF0B
CA91F3564DF540447A11F9ECDFA4AEC3A193769B80066832495B8C40F6B5B46B685A68411B7DF049
A32F2B03F89ECF948AC4BB85CF855CA186BEF8E2A8C69A7C0BE1BDF6EC27D826896A31821A7BA523
C8BD90072CB8A8D0334F004D4B627D33001B0519D41738F7EDDF3A
Refresh timer is set for 00:01:24
AID: CAFECAFECAFECAFECAFECAFECAFECAFE
PAC-Info:
PAC-type = tunnel
AID: CAFECAFECAFECAFECAFECAFECAFECAFE
I-ID: kyoto
A-ID-Info: "CTS-ACS on ACS1"
Credential Lifetime: Apr 06 2002 01:00:31 UTC
PAC-Opaque:
00020082000100040010DEADBEEFDEADBEEF1111111111111111000600540000000158EDE58522C8698794F2F2
4F2623F8D26D78414DE33B102E6E93EDE53B8EFF0061FC14C1E1CCF14A04F69DAC79FE9F1BCD514893AC87B0AD
B476D2CB9CBF75788C5B8C3AE89E5322E4A124D4CB6A616B306E1DDD38CCE3E634E64E17BBD31957B0579DBC
Refresh timer is set for 2w1d
Defaults None
SupportedUserRoles Administrator
Usage Guidelines A traffic or exception policy may be configured locally, or obtained from the Cisco Secure ACS.
Examples The following is sample output from the show cts policy3 command:
Switch# show cts policy layer3 ipv4
Defaults None
SupportedUserRoles Administrator
Examples The following sample output displays the Cisco TrustSec peer authorization policy of all peers:
VSS-1# show cts policy peer
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use this command to display the queue for protected access credential (PAC) provisioning jobs.
Reprovisioning occurs when PACs expire or devices are reconfigured.
Examples The following sample output displays a list of AAA servers that the Cisco TrustSec provisioning driver
is retrying for PAC-provisioning:
Switch# show cts provisioning
A-ID: 0b2d160f3e4dcf4394262a7f99ea8f63
Server 41.16.19.201, using existing PAC
Req-ID EB210008: callback func 418A8990, context 290F14D0
A-ID: Unknown
Server 41.16.19.203, using shared secret
Req-ID 49520002: callback func 40540CF0, context AE000007
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Specify the name of an RBACL to display information about it or the show cts rbacl command displays
information about all RBACLs.
Examples The following sample output displays information about all RBACLs:
Switch# show cts rbacl
name = RBACL1001-6e928b43045978b25f739d4f1562d0e6
refcnt = 1
flag = 0x0
staled = FALSE
RBACL ACEs:
permit icmp host-unreachable
deny tcp
permit udp
name = RBACL101-9e11409565e40823c245430be8c35144
refcnt = 7
flag = 0x0
staled = FALSE
RBACL ACEs:
permit icmp host-unreachable
deny tcp
permit udp
name = RBACL0099-d381deab1fa777901f9d5c2301b3d677
refcnt = 1
flag = 0x0
staled = FALSE
RBACL ACEs:
deny tcp
permit udp
name = RBACL102-1c6ca50a2a6135972b28cf99a82027ed
refcnt = 2
flag = 0x0
staled = FALSE
RBACL ACEs:
permit ip
name = RBACL901-4241cdc840708c99a8cf8dbc271cc295
refcnt = 6
flag = 0x0
staled = FALSE
RBACL ACEs:
permit icmp host-unreachable
deny tcp
permit udp
permit ip
SupportedUserRoles Administrator
Usage Guidelines Use the show cts role-based counters command to display the Security Group ACL (SGACL)
enforcement statistics. Use the clear cts role-based counters to reset all or a range of statistics.
Specify the source SGT with the from keyword and the destination SGT with the to keyword. All
statistics are displayed when both the from and to keywords are omitted.
The default keyword displays the statistics of the default unicast policy. When neither ipv4 nor ipv6 are
specified this command displays only IPv4 counters.
Examples The following sample output displays all enforcement statistics for IPv4 and IPv6 events:
Switch# show cts role-based counters
Role-based counters
Defaults None
SupportedUserRoles Administrator
Examples The following is sample output from the show cts role-based flow command:
Defaults None
SupportedUserRoles Administrator
Usage Guidelines This show command displays the content of the RBACL permission matrix. You can specify the source
SGT by using the from keyword and the destination SGT by using the to keyword. When both from and
to are specified the RBACLs of a single cell are displayed. An entire column is displayed when only the
to keyword is used. An entire row is displayed when the from keyword is used.
The entire permission matrix is displayed when both the from clause and to keywords are omitted.
The command output is sorted by destination SGT as a primary key and the source SGT as a secondary
key. The RBACLs for each cell is displayed in the same order they are defined in the configuration or
acquired from Cisco ACS.
The details keyword is provided when a single cell is selected by specifying both from and to keywords.
When the details keyword is specified the ACEs of the RBACLs of a single cell are displayed.
Examples The following is sample output from the show cts role-based permissions command:
Switch# show cts role-based permissions
srb3
srb5
Role-based permissions from group 3 to group 7:
srb4
The following is sample output from the show cts role-based permissions from to command:
Switch# show cts role-based permissions from 2 to 5
show cts role-based sgt-map {ipv4_dec | ipv4_cidr | ipv6_hex | ipv6_cidr | all [ipv4 | ipv6] | host
{ipv4_decimal | ipv6_dec} | summary [ipv4 | ipv6] | vrf instance_name {ipv4_dec | ipv4_cidr
| ipv6_dec | ipv6_cidr | all {ipv4 | ipv6} | host {ipv4_decimal | ipv6_dec} |summary {ipv4 |
ipv6}}
Syntax Description ipv4_dec IPv4 address in dot-decimal notation. For example (208.77.188.166)
ipv4_cidr IPv4 address range in Classless Inter-Domain Routing (CIDR) For example,
10.0.0.0/8, where the /8 signifies that the 8 most significant bits identify the
networks, and the 24 least-significant bits, the hosts.
ipv6_hex IPv6 address in hexadecimal separated by colons. For example,
2001:db8:85a3::8a2e:370:7334.
ipv6_cidr A range of IPv6 address in hexadecimal CIDR notation.
host ipv4_decimal | Specifies mappings for a specific IPv4 or IPv6 host. Use dot decimal and hex
ipv6_hex colon notation for IPv4 and IPv6 respectively.
all Specifies all mappings to be displayed.
summary ipv4 | ipv6 Summary of IPv4 or IPv6 mappings. Displays both IPv4 and IPv6 if you do
not specify a keyword.
vrf instance_name Specifies a VPN routing and forwarding instance for mappings.
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use this command to verify that source IP addresses to the appropriate Security Group Tags bindings are
correct. This command shows information about active IP-SGT bindings for the specified IP host address
or subnet.
This command displays a single binding when host IP address is specified. It displays all the bindings
for IP addresses within a given subnet if <network>/<length> is specified.
A summary of the active bindings by source is displayed at the end of the keyword all output and also if
the keyword summary is entered.
Examples The following sample output displays the bindings of IP address and SGT source names:
Switch# show cts role-based sgt-map all
Defaults None
SupportedUserRoles Administrator
Examples The following sample output displays the Cisco TrustSec RADIUS server list:
Switch> show cts server-list
Defaults None
SupportedUserRoles Administrator
Usage Guidelines Use the cts sxp connections command to view the status of the network device SXP configuration. Use
the cts sxp sgt-map command to display the current source IP-to-SGT mapping database.
Examples The following sample output displays the default SXP configuration:
Switch# show cts sxp connections
SXP : Disabled
Default Password : Not Set
Default Source IP: Not Set
Connection retry open period: 120 secs
Reconcile period: 120 secs
Retry open timer is not running
There are no SXP Connections.
SXP : Enabled
Default Password : Set
Default Source IP: Not Set
Connection retry open period: 10 secs
Reconcile period: 120 secs
Retry open timer is not running
-----------------------------------------------------------------------------
Peer_IP Source_IP Conn Status Duration
-----------------------------------------------------------------------------
2.2.2.1 2.2.2.2 On 0:00:02:14 (dd:hr:mm:sec)
3.3.3.1 3.3.3.2 On 0:00:02:14 (dd:hr:mm:sec)
SXP : Enabled
Default Password : Set
Default Source IP: Not Set
Connection retry open period: 10 secs
Reconcile period: 120 secs
Retry open timer is not running
----------------------------------------------
Peer IP : 2.2.2.1
Source IP : 2.2.2.2
Set up : Peer
Conn status : On
Connection mode : SXP Listener
Connection inst# : 1
TCP conn fd : 1
TCP conn password: not set (using default SXP password)
Duration since last state change: 0:00:01:25 (dd:hr:mm:sec)
----------------------------------------------
Peer IP : 3.3.3.1
Source IP : 3.3.3.2
Set up : Peer
Conn status : On
Connection mode : SXP Listener
TCP conn fd : 2
TCP conn password: not set (using default SXP password)
Duration since last state change: 0:00:01:25 (dd:hr:mm:sec)
The following sample output is from an SXP listener with a torn down connection to the SXP speaker.
Source IP-to-SGT mappings are held for 120 seconds, the default value of the Delete Hold Down timer.
Switch# show cts sxp connections
SXP : Enabled
Default Password : Set
Default Source IP: Not Set
Connection retry open period: 10 secs
Reconcile period: 120 secs
Retry open timer is not running
----------------------------------------------
Peer IP : 2.2.2.1
Source IP : 2.2.2.2
Set up : Peer
Conn status : Delete_Hold_Down
Connection mode : SXP Listener
Connection inst# : 1
TCP conn fd : -1
TCP conn password: not set (using default SXP password)
Delete hold down timer is running
Duration since last state change: 0:00:00:16 (dd:hr:mm:sec)
----------------------------------------------
Peer IP : 3.3.3.1
Source IP : 3.3.3.2
Set up : Peer
Conn status : On
Connection inst# : 1
TCP conn fd : 2
TCP conn password: not set (using default SXP password)
Duration since last state change: 0:00:05:49 (dd:hr:mm:sec)
The following sample output displays the current Source IP-to-SGT mapping database learned through
SXP:
Switch# show cts sxp sgt-map
The following sample output displays a brief summary of the current Source IP-to-SGT mapping
database:
Switch# show cts sxp sgt-map brief
Defaults None
SupportedUserRoles Administrator
Usage Guidelines This command shows all the records stored in the keystore. The stored secrets are not revealed.
Syntax Description interface type slot/port Specifies the interface type, slot and port for which to display status.
SupportedUserRoles Administrator
Syntax Description reauthentication seconds Specifies the reauthentication timer in seconds. Valid values are from 0
to 2147483. 0 disables the dot1x reauthentication.
SupportedUserRoles Administrator
Usage Guidelines Use the timer reauthentication command to configure a dot1x reauthentication period if the
authentication server does not specify a period. If no reauthentication period is specified, the default is
86,400 seconds.
To disable dot1x reauthentication, use the no form of the command or specify a period of 0 seconds. Use
the default timer reauthentication command to restore the default value.
Examples The following example shows how to set the 802.1X reauthentication period for 48 hours (17,2800
seconds):
Switch# configure terminal
Switch(config)# interface gigabitEthernet 6/1
Switch(config-if)# cts dot1x
Switch(config-if-cts-dot1x)# timer reauthentication 172800
debug cts
To enable the debugging of Cisco TrustSec operations, use the debug cts aaa command in privileged
EXEC mode. To disable the debugging, use the no form of this command.
[no] debug cts [aaa | all | authentication {details | events} | authorization [aaa | all | events | rbacl
| snmp] | cache | coa events | dp {info | error | packets} | environment-data [aaa | all | events]
| error | fips events | ha {config | core | infra} | ifc {cache | events | snmp} | layer3-trustsec
| provisioning {events | packets} | relay {event | pak} | sap {events | packets | pakdump} |
server-list | states | sxp {conn | error | internal | mdb | message}]
SupportedUserRoles Administrator
Examples The following example show how to enable Cisco TrustSec debugging:
Switch# debug cts
Default cts debugging is on
Catalyst 3850, Catalyst 3650 Switches, and Wireless LAN Controller 5700 Series
• Cisco TrustSec can be configured only on physical interfaces, not on logical interfaces.
• Cisco TrustSec for IPv6 is not supported.
• Dynamic binding of IP-SGT is not supported for hosts on Layer 3 physical routed interfaces because
the IP Device Tracking feature for Layer 3 physical interfaces is not supported.
• If you configure an interface with Cisco TrustSec on Catalyst 3850 and Catalyst 3650 switches using
cts manual command and disable the interface immediately, link flap occurs. It is recommended to
disable the interface using the shut command before configuring Cisco TrustSec.
• Cisco TrustSec cannot be configured on a pure bridging domain with IPSG feature enabled. You
must either enable IP routing or disable the IPSG feature in the bridging domain.
• Cisco TrustSec on the switch or controller supports up to 255 security group destination tags for
enforcing security group ACLs.
• Cisco TrustSec MACSec for switch-to-switch security is supported only on switches running the IP
base or IP services feature set. It is not supported on switches running the NPE or LAN base feature
set.
• For Cisco IOS Release 3.7E and later, Cisco TrustSec VLAN-to-SGT binding cannot be enabled in
pure bridging domain. You have to either manually enable IP device tracking on the ports in the
VLAN, or enable SVI interface for the VLAN.
Note None of the previous restrictions exist for deriving either Source Security Tag for any type of
traffic, or DGT for routed traffic (i.e. traffic forwarded between ports of different VLANs or
subnets).
• The platform-cts subnet-sgt l2traffic command enables support for subnet based DGT derivation
for switched (Layer 2) traffic. See the platform-cts command in the Cisco TrustSec Command
Summary section in this document for detailed usage guidelines.
• In Cisco IOS XE 3.8.xE and earlier releases, IP-SGT mappings are not VRF-aware.
Note An SVI is required for routed (Layer 3) IPv4/IPv6 traffic also. However, router traffic will
always have an SVI that is up and running.
• In Cisco IOS XE 3.10.xE and later releases, IPv6 unicast routing must be enabled to derive source
user group and destination user group for IPv6 Layer 2 traffic.
The ipv6 unicast-routing command must be enabled to use Cisco TrustSec, and derive source user
group and destination user group for Layer 2 clients. For IPv6 routing, routing entries are added only
if the ipv6 unicast-routing command is enabled. This routing entry is used to derive the source user
group for Layer 2 traffic. After updating the routing table, details are passed to the access control
list (ACL) manager to create Content-Addressable Memory (CAM) entries to derive the destination
user group for switched IPv6 traffic.
Note IPv6 unicast routing must be enabled for routed (Layer 3) IPv6 traffic also. However; for routed
traffic the ipv6 unicast-routing command is enabled by default.
• Subnet Security Group Tag (SGT) entries will create entries with network prefix, broadcast address
and matching unicast IP or IPv6 addresses in the Layer 2 destination user group derivation TCAM
block, if these entries are already available in the FIB.
• The IP-SGT mapping configured on a switch takes precedence over the source user group value
present in the command header of the incoming traffic, even if the ingress port is in the trusted state.
• Cisco TrustSec enforcement is not supported on logical interfaces in Cisco IOS XE Release 3.8.5E
and later releases.
• The limit for Layer 2 destination user group derivation is given below:
IPv4 IPv6
Software Hash 2500 1500
TCAM 2000 1000
IPv4
Software Hash 2000
TACM 2000
• IPv6 Layer 2 destination user-group derivation will not work on an interface, if an IPv6 ACL that
has ACEs configured with partially-masked lower 48 bit source address is applied in the ingress
direction.
• By default, both IPv4 and IPv6 SGACL enforcement is disabled on all interfaces. It can be enabled
by specifying a VLAN ID with the cts role-based enforcement vlan-list vlan-id command. This
command will enable IPv4/IPv6 SGACL enforcement on all ports on the VLAN.
• The cts role-based sgt-map vlan-list all command binds the SGT with the full range of VLANs
supported by the switch and is not preserved in the nonvolatile generation (NVGEN) process. The
specified SGT is bound to incoming packets received in any of the specified VLANs. The system
uses discovery methods such as DHCP or ARP snooping (also known as IP device tracking) to
discover active hosts in any of the VLANs mapped by this command. Alternatively, the system
could map the subnet associated with the SVI of each VLAN to the specified SGT.
• IPv6 SGACL enforcement and IPv6 ACEs that have partially-masked lower 48 bit source address
in the egress direction cannot co-exist on an interface.
• In the case of IPv6 fragmented Cisco TrustSec packets without an encapsulating security protocol
(ESP) header, there is a chance of packet parse errors happening, and packets getting dropped.
• A host that is marked as untrusted and authenticated in Cisco ISE is assigned the device SGT on the
authentication switch. However, when the same host is marked as trusted, and re-authenticated, the
existing device SGT mapping is not removed from the switch, and the new mapping does not come
into effect until the port is shutdown and brought up again.
Flexible NetFlow can account for packets dropped by SGACL enforcement when SGT and DGT flow
objects are configured in the flow record with the standard 5-tuple flow objects
Use the flow record and flow exporter global configuration commands to configure a flow record, and
a flow exporter, then use the flow monitor command to add them to a flow monitor. Use the show flow
show commands to verify your configurations.
To collect only SGACL dropped packets, use the [no] cts role-based {ip | ipv6} flow monitor dropped
global configuration command.
For Flexible NetFlow overview and configuration information, see the following documents:
Flexible NetFlow Configuration Guide, Cisco IOS Release 15S
http://www.cisco.com/en/US/docs/ios-xml/ios/fnetflow/configuration/15-s/fnf-15-s-book.html
Catalyst 6500 Release 15.0SY Software Configuration Guide
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/15.0SY/configuration/guide/15_0_sy_
swcg.html
Sample Configurations
;; For Ipv6 only the following are supported in Cisco IOS Release 12.2(50)SY
Switch(config-if)# ipv6 address 2022::22:1:1:11/64
Switch(config-if)# ipv6 flow monitor cts-monitor-ipv6 input
Switch(config-if)# ipv6 flow monitor cts-monitor-ipv6 unicast input
Switch(config-if)# ipv6 flow monitor cts-monitor-ipv6 output
Switch(config-if)# ipv6 flow monitor cts-monitor-ipv6 unicast output
FIPS Support
The Federal Information Processing Standard (FIPS) certification documents for Catalyst 6500 series
switch software and hardware combinations are posted on the following website:
http://www.cisco.com/web/strategy/government/security_certification/net_business_benefit_seccert_fi
ps140.html
The Catalyst 6500 Series FIPS certification documents describe the FIPS concepts and implementation
per software/hardware combination.
Numeric
802.1AE IEEE 802.1AE defines a Layer 2 hop-by-hop encryption process used between Cisco TrustSec
hardware-capable devices. TrustSec uses SAP for the key management and cipher negotiation
mechanism.
A
Authenticator A network device that is a member of a TrustSec network can authenticate a network device attempting
to join the TrustSec network, in the role of authenticator to supplicant device. NDAC is the process by
which the supplicant device is admitted into the TrustSec Network.
C
CTS Cisco Trusted Security, or Cisco TrustSec, or TrustSec.
E
EAC Endpoint Admission Control. A process of assigning SGT values to a specific IP address of the
endpoint. Depending on hardware and software support, an SGT can be assigned to a source IP address
with 802.1X authentication, MAC Authentication Bypass, Web Authentication Bypass, manual
assignment, or IPM.
EAP Extensible Authentication Protocol. EAP-FAST is the EAP variant used in TrustSec networks for
NDAC authentication.
I
IPM Identity-to-port mapping. A method for a switch to define the identity on a port to which an endpoint
is connected, and to use this identity to look up a particular SGT value in the Cisco Secure ACS server.
M
MACSec Media Access Control Security based on IEEE 802.1AE to provide hop-to-hop link encryption. A
TrustSec hardware-capable device can establish a MACSec link with a TrustSec hardware-capable
peer.
N
NDAC Network Device Admission Control. A mutual authentication mechanism between CTS devices to
authenticate and authorize its peer using an 802.1X process. EAP-FAST is used as the EAP type.
Non-seed Device Non-seed devices do not have direct IP connectivity to the Cisco Secure ACS and require other devices
to authenticate and authorize them onto the TrustSec network, such as a seed device or a device already
enrolled in the TrustSec network.
R
RBAC Role-based Access Control. An access control mechanism based on the role of the endpoints. RBAC is
different from group based access control in a sense that RBAC can take multiple role factors to derive
final policy for a particular entity.
RBACL Role-based Access Control List. Often used to characterize SGACL because TrustSec uses the RBAC
features of the Cisco Secure ACS.
S
SAP Security Association Protocol, negotiates keys and cipher suite for link encryption after successful
authentication and authorization for NDAC. SAP is derived from the 802.11i standard. SAP negotiation
can be automatically initiated after NDAC process or the PMK can be statically configured on an
interface.
Seed Device The seed device is the first TrustSec hardware-capable device to authenticate against the Cisco Secure
ACS for TrustSec policy authorization. The seed device becomes the authenticator for the next TrustSec
supplicant device, which in turn becomes an authenticator to its supplicant devices.
SGACL Security Group Access Control List. A Layer 3 to Layer 4 access control list that filters according to
the value of SGTs. Usually, filtering occurs at an egress port of the CTS domain.
SGT Security Group Tag. A Layer-2 tag inserted in an Ethernet frame to classify traffic based on role. The
tag process occurs at the ingress of the CTS domain. SGTs are defined in the Cisco Secure ACS
configuration.
Supplicant In TrustSec, a network device without a direct connection to the Cisco Secure ACS which is requesting
TrustSec authentication from an authenticated TrustSec network device (an authenticator) NDAC is the
process by which the supplicant device is admitted into the TrustSec network.
SXP SGT Exchange Protocol. Allows devices with SXP support to build a source IP-to-SGT binding table,
and then transfers the table to TrustSec hardware-capable devices through an out-of-bound TCP
connection using MD5-based authentication.
T
TrustSec Trusted Security. Same as Cisco Trusted Security (CTS).
TrustSec A network device that can tag traffic with SGTs, enforce SGACLs, and establish a MACSec connection
Hardware-capable with a TrustSec peer.
TrustSec A network device that can establish NDAC and SXP connections with a TrustSec peer.
Software-capable
E M
Troubleshooting
SGACL and SGT behavior 12-28
TrustSec
SGACLs 1-7