Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
x (Catalyst
9500 Switches)
First Published: 2019-07-31
Last Modified: 2019-09-19
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS,
INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH
THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY,
CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of
the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS.
CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
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.
All printed copies and duplicate soft copies of this document are considered uncontrolled. See the current online version for the latest version.
Cisco has more than 200 offices worldwide. Addresses and phone numbers are listed on the Cisco website at www.cisco.com/go/offices.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com
go trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any
other company. (1721R)
© 2019 Cisco Systems, Inc. All rights reserved.
CONTENTS
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
iii
Contents
Configuration Examples for Switch Access with Passwords and Privilege Levels 17
Example: Setting or Changing a Static Enable Password 17
Example: Protecting Enable and Enable Secret Passwords with Encryption 17
Example: Setting a Telnet Password for a Terminal Line 17
Example: Setting the Privilege Level for a Command 17
Example: Configuring an Encrypted Preshared Key 18
Feature History for Controlling Switch Access with Passwords and Privileges 18
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
iv
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
v
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
vi
Contents
Example: Configuration of the AAA Server for First-Stage PPP Authentication and
Authorization 71
Example: Configuration of the AAA Server for Second-Stage Per-User Authentication and
Authorization 71
Example: Complete Configuration with TACACS 72
Example: Automated Double Authentication 75
Feature History for Configuring Authentication 76
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
vii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
viii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
ix
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
x
Contents
Configuring RADIUS Authorization for User Privileged Access and Network Services 170
Starting RADIUS Accounting 171
Configuring Settings for All RADIUS Servers 172
Configuring the Device to Use Vendor-Specific RADIUS Attributes 173
Configuring the Device for Vendor-Proprietary RADIUS Server Communication 174
Configuring CoA on the Device 175
Configuring RADIUS Source-Interface Under a RADIUS Server-Group 177
Monitoring CoA Functionality 178
Feature History for RADIUS 179
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xi
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xiii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xiv
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xv
Contents
Verifying Configuration for Server and User Authentication Using Digital Certificates 301
Configuration Examples for X.509v3 Certificates for SSH Authentication 302
Example: Configuring the SSH Server to Use Digital Certificates for Server Authentication 302
Example: Configuring the SSH Server to Verify Digital Certificates for User Authentication 302
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xvi
Contents
Feature Information for Secure Shell Algorithms for Common Criteria Certification 313
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xvii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xviii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xix
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xx
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxi
Contents
Attaching an IPv6 Neighbor Discovery Inspection Policy to a Layer 2 EtherChannel Interface 431
Attaching an IPv6 Neighbor Discovery Inspection Policy to VLANs Globally 431
Examples: Attaching an IPv6 Source Guard Policy to a Layer 2 EtherChannel Interface 447
Examples: Attaching an IPv6 Prefix Guard Policy to a Layer 2 EtherChannel Interface 447
Additional References for IPv6 First Hop Security 448
Feature History for IPv6 First Hop Security 448
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxiii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxiv
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxv
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxvi
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxvii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxviii
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxix
Contents
CHAPTER 35 Source Interface Selection for Outgoing Traffic with Certificate Authority 699
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxx
Contents
Information About Source Interface Selection for Outgoing Traffic with Certificate Authority 699
Certificates That Identify an Entity 699
Source Interface for Outgoing TCP Connections Associated with a Trustpoint 700
How to Configure Source Interface Selection for Outgoing Traffic with Certificate Authority 700
Configuring the Interface for All Outgoing TCP Connections Associated with a Trustpoint 700
Configuration Examples for Source Interface Selection for Outgoing Traffic with Certificate
Authority 702
Example:Source Interface Selection for Outgoing Traffic with Certificate Authority 702
Feature History for Source Interface Selection for Outgoing Traffic with Certificate Authority 703
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxxi
Contents
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
xxxii
CHAPTER 1
Controlling Switch Access with Passwords and
Privilege Levels
• Restrictions for Controlling Switch Access with Passwords and Privileges, on page 1
• Information About Controlling Switch Access with Passwords and Privileges, on page 2
• How to Configure Switch Access with Passwords and Privileges, on page 5
• Monitoring Switch Access with Passwords and Privileges, on page 17
• Configuration Examples for Switch Access with Passwords and Privilege Levels, on page 17
• Feature History for Controlling Switch Access with Passwords and Privileges, on page 18
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
1
Controlling Switch Access with Passwords and Privilege Levels
Information About Controlling Switch Access with Passwords and Privileges
• If the startup configuration of the device has convoluted type 9 secret (password that starts with $14$),
then a downgrade can only be performed to a release in which the convoluted type 9 secret is supported.
Convoluted type 9 secret is supported in Cisco IOS XE Gibraltar 16.11.2 and later releases. If the startup
configuration has convoluted type 9 secret and you downgrade to any release earlier than Cisco IOS XE
Gibraltar 16.11.2, you will be locked out of the device.
Before you downgrade to any release in which convoluted type 9 secret is not supported, ensure that the
type 9 secret (password that starts with $9$) must be part of the startup configuration instead of convoluted
type 9 secret (password that starts with $14$) or type 5 secret (password that starts with $1$).
If a device is upgraded from Cisco IOS XE Fuji 16.9.x, Cisco IOS XE Gibraltar 16.10.x, or Cisco IOS
XE Gibraltar 16.11.x to Cisco IOS XE Gibraltar 16.12.x, the type 5 secret is auto-converted to convoluted
type 9 secret (password that starts with $14$). For example: username user1 secret 5
$1$dNmW$7jWhqdtZ2qBVz2R4CSZZC0 is auto-converted to username user1 secret 9
$14$dNmW$QykGZEEGmiEGrE$C9D/fD0czicOtgaZAa1CTa2sgygi0Leyw3/cLqPY426. After the device is
upgraded, run the write memory command in privileged EXEC mode for the convoluted type 9 secret
to be permanently written into the startup configuration.
• Plain text passwords are converted to nonreversible encrypted password type 9.
Note This is supported in Cisco IOS XE Gibraltar 16.10.1 and later releases.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
2
Controlling Switch Access with Passwords and Privilege Levels
Default Password and Privilege Level Configuration
• If you want to use username and password pairs, but you want to store them centrally on a server instead
of locally, you can store them in a database on a security server. Multiple networking devices can then
use the same database to obtain user authentication (and, if necessary, authorization) information.
• You can also enable the login enhancements feature, which logs both failed and unsuccessful login
attempts. Login enhancements can also be configured to block future login attempts after a set number
of unsuccessful attempts are made.
Enable password and privilege level No password is defined. The default is level 15 (privileged EXEC
level). The password is not encrypted in the configuration file.
Enable secret password and privilege No password is defined. The default is level 15 (privileged EXEC
level level). The password is encrypted before it is written to the
configuration file.
Password Recovery
By default, any end user with physical access to the switch can recover from a lost password by interrupting
the boot process while the switch is powering on and then by entering a new password.
The password-recovery disable feature protects access to the switch password by disabling part of this
functionality. When this feature is enabled, the end user can interrupt the boot process only by agreeing to set
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
3
Controlling Switch Access with Passwords and Privilege Levels
Terminal Line Telnet Configuration
the system back to the default configuration. With password recovery disabled, you can still interrupt the boot
process and change the password, but the configuration file (config.text) and the VLAN database file (vlan.dat)
are deleted.
If you disable password recovery, we recommend that you keep a backup copy of the configuration file on a
secure server in case the end user interrupts the boot process and sets the system back to default values. Do
not keep a backup copy of the configuration file on the switch. If the switch is operating in VTP transparent
mode, we recommend that you also keep a backup copy of the VLAN database file on a secure server. When
the switch is returned to the default system configuration, you can download the saved files to the switch by
using the Xmodem protocol.
To re-enable password recovery, use the no system disable password recovery switch number|all global
configuration command.
Privilege Levels
Cisco devices use privilege levels to provide password security for different levels of switch operation. By
default, the Cisco IOS XE software operates in two modes (privilege levels) of password security: user EXEC
(Level 1) and privileged EXEC (Level 15). You can configure up to 16 hierarchical levels of commands for
each mode. By configuring multiple passwords, you can allow different sets of users to have access to specified
commands.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
4
Controlling Switch Access with Passwords and Privilege Levels
AES Password Encryption and Master Encryption Keys
Note • Type 6 encrypted password for the username password is supported from Cisco IOS XE Gibraltar 16.10.1
and later releases. Autoconversion to password type 6 is supported from Cisco IOS XE Gibraltar 16.11.1
and later releases.
• Type 6 username and password are backward compatible to Cisco IOS XE Gibraltar 16.10.x. If you
downgrade to any release earlier than Cisco IOS XE Gibraltar 16.10.1, the type 6 username and password
are rejected. After autoconversion, to prevent an administrator password from getting rejected during a
downgrade, migrate the passwords used for administrator logins (management access) to irreversible
password types manually.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
5
Controlling Switch Access with Passwords and Privilege Levels
Protecting Enable and Enable Secret Passwords with Encryption
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
6
Controlling Switch Access with Passwords and Privilege Levels
Protecting Enable and Enable Secret Passwords with Encryption
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
7
Controlling Switch Access with Passwords and Privilege Levels
Protecting Enable and Enable Secret Passwords with Encryption
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
8
Controlling Switch Access with Passwords and Privilege Levels
Protecting Enable and Enable Secret Passwords with Encryption
Or
Device(config)#
enable
algorithm-type
scrypt secret
cisco
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
9
Controlling Switch Access with Passwords and Privilege Levels
Disabling Password Recovery
Device(config)# end
Procedure
Device> enable
Step 3 system disable password recovery switch {all Disables password recovery.
| <1-9>}
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
10
Controlling Switch Access with Passwords and Privilege Levels
Setting a Telnet Password for a Terminal Line
Device(config)# end
What to do next
To remove disable password recovery, use the no system disable password recovery switch all global
configuration command.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
11
Controlling Switch Access with Passwords and Privilege Levels
Configuring Username and Password Pairs
Step 4 password password Sets a Telnet password for the line or lines.
Example: For password, specify a string from 1 to 25
Device(config-line)# password abcxyz543 alphanumeric characters. The string cannot start
with a number, is case sensitive, and allows
spaces but ignores leading spaces. By default,
no password is defined.
Procedure
Device> enable
Step 3 username name [privilege level] {password Sets the username, privilege level, and password
encryption-type password} for each user.
Example: • For name, specify the user ID as one word
or the MAC address. Spaces and quotation
Device(config)# username adamsample marks are not allowed.
privilege 1 password secret456
• You can configure a maximum of 12000
Device(config)# username 111111111111 clients each, for both username and MAC
mac attribute filter.
• (Optional) For level, specify the privilege
level the user has after gaining access. The
range is 0 to 15. Level 15 gives privileged
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
12
Controlling Switch Access with Passwords and Privilege Levels
Setting the Privilege Level for a Command
Step 4 Use one of the following: Enters line configuration mode, and configures
the console port (line 0) or the VTY lines (line
• line console 0
0 to 98).
• line vty 0 98
Example:
Device(config)# line console 0
or
Device(config)# line vty 0 98
Device(config-line)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
13
Controlling Switch Access with Passwords and Privilege Levels
Changing the Default Privilege Level for Lines
Step 4 enable password level level password Specifies the password to enable the privilege
level.
Example:
• For level, the range is from 0 to 15. Level
Device(config)# enable password level 14 1 is for normal user EXEC mode
SecretPswd14 privileges.
• For password, specify a string from 1 to
25 alphanumeric characters. The string
cannot start with a number, is case
sensitive, and allows spaces but ignores
leading spaces. By default, no password
is defined.
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
14
Controlling Switch Access with Passwords and Privilege Levels
Logging in to and Exiting a Privilege Level
Step 3 line vty line Selects the virtual terminal line on which to
restrict access.
Example:
Step 4 privilege exec level level Changes the default privilege level for the line.
Example: For level, the range is from 0 to 15. Level 1 is
for normal user EXEC mode privileges. Level
Device(config-line)# privilege exec level 15 is the level of access permitted by the enable
15 password.
Device(config-line)# end
What to do next
Users can override the privilege level you set using the privilege level line configuration command by logging
in to the line and enabling a different privilege level. They can lower the privilege level by using the disable
command. If users know the password to a higher privilege level, they can use that password to enable the
higher privilege level. You might specify a high level or privilege level for your console line to restrict line
usage.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
15
Controlling Switch Access with Passwords and Privilege Levels
Configuring an Encrypted Preshared Key
Procedure
Device> enable
Step 3 key config-key password-encrypt [text] Stores a type 6 encryption key in private
NVRAM.
Example:
• To key in interactively (using the Enter
Device(config)# key config-key key) and an encrypted key already exists,
password-encrypt you will be prompted for the following:
Old key, New key, and Confirm key.
• To key in interactively, but an encryption
key is not present, you will be prompted
for the following: New key and Confirm
key.
• When removing the password that is
already encrypted, you will see the
following prompt:
WARNING: All type 6 encrypted keys
will become unusable. Continue with
master key deletion? [yes/no]:"
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
16
Controlling Switch Access with Passwords and Privilege Levels
Monitoring Switch Access with Passwords and Privileges
Command Information
show privilege Displays the privilege level configuration.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
17
Controlling Switch Access with Passwords and Privilege Levels
Example: Configuring an Encrypted Preshared Key
Device> enable
Device# configure terminal
Device(config)# privilege exec level 14 configure
Device(config)# enable password level 14 SecretPswd14
Device(config)# end
Cisco IOS XE Everest Controlling Switch Password protection restricts access to a network or
16.5.1a Access with Passwords network device. Privilege levels define what
and Privileges commands users can enter after they have logged into
a network device.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a Controlling Switch Support for this feature was introduced on the
Access with Passwords C9500-32C, C9500-32QC, C9500-48Y4C, and
and Privileges C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
18
Controlling Switch Access with Passwords and Privilege Levels
Feature History for Controlling Switch Access with Passwords and Privileges
Cisco IOS XE Gibraltar Autoconversion of Type From this release, type 0 and 7 username and
16.11.1 0 and Type 7 Username password can be autoconverted to type 6.
and Password to Type 6
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
19
Controlling Switch Access with Passwords and Privilege Levels
Feature History for Controlling Switch Access with Passwords and Privileges
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
20
CHAPTER 2
Configuring Login Block
• Information About Login Enhancements-Login Block, on page 21
• How to Configure Login Enhancements-Login Block, on page 22
• Verifying Login Parameters, on page 24
• Configuration Examples for Login Enhancements-Login Block, on page 26
• Feature History for Login Enhancements-Login Block, on page 26
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
21
Configuring Login Block
Delays Between Successive Login Attempts
The primary intention of a dictionary attack, unlike a typical DoS attack, is to actually gain administrative
access to the device. A dictionary attack is an automated process to attempt to login by attempting thousands,
or even millions, of username/password combinations. (This type of attack is called a “dictionary attack”
because it typically uses, as a start, every word found in a typical dictionary as a possible password.) As scripts
or programs are used to attempt this access, the profile for such attempts is typically the same as for DoS
attempts; multiple login attempts in a short period of time.
By enabling a detection profile, the device can be configured to react to repeated failed login attempts by
refusing further connection request (login blocking). This block can be configured for a period of time, called
a “quiet period”. Legitimate connection attempts can still be permitted during a quiet period by configuring
an access-list (ACL) with the addresses that you know to be associated with system administrators.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
22
Configuring Login Block
Configuring Login Parameters
Procedure
Device> enable
Step 3 login block-for seconds attempts tries Configures your device for login parameters
within seconds that help provide DoS detection.
Example: Note This command must be issued
before any other login command
Device(config)# login block-for 100 can be used.
attempts 2 within 100
Step 4 login quiet-mode access-class {acl-name | (Optional) Although this command is optional,
acl-number} it is recommended that it be configured to
specify an ACL that is to be applied to the
Example:
device when the device switches to quiet mode.
When the device is in quiet mode, all login
Device(config)# login quiet-mode
access-class myacl requests are denied and the only available
connection is through the console.
If this command is not configured, then the
default ACL sl_def_acl is created on the device.
This ACL is hidden in the running
configuration. Use the show access-list
sl_def_acl to view the parameters for the default
ACL.
For example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
23
Configuring Login Block
Verifying Login Parameters
Device(config)# exit
Procedure
Device> enable
Examples
The following sample output from the show login command verifies that no login parameters have
been specified:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
24
Configuring Login Block
Verifying Login Parameters
The following sample output from the show login command verifies that the login block-forcommand
is issued. In this example, the command is configured to block login hosts for 100 seconds if 16 or
more login requests fail within 100 seconds; five login requests have already failed.
The following sample output from the show login command verifies that the device is in quiet mode.
In this example, the login block-for command was configured to block login hosts for 100 seconds
if 3 or more login requests fail within 100 seconds.
The following sample output from show login failures command shows all failed login attempts on
the device:
The following sample output from show login failures command verifies that no information is
presently logged:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
25
Configuring Login Block
Configuration Examples for Login Enhancements-Login Block
Cisco IOS XE Login Enhancements The Login Enhancements-Login Block feature allows users
Everest 16.5.1a -Login Block to enhance the security of a router by configuring options to
automatically block further login attempts when a possible
DoS attack is detected.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
26
CHAPTER 3
Configuring Authentication
Authentication provides a method to identify users, which includes the login and password dialog, challenge
and response, messaging support, and encryption, depending on the selected security protocol. Authentication
is the way a user is identified prior to being allowed access to the network and network services.
• Prerequisites for Configuring Authentication, on page 27
• Restrictions for Configuring Authentication, on page 27
• Information About Authentication, on page 27
• How to Configure Authentication, on page 43
• Configuration Examples for Authentication, on page 63
• Feature History for Configuring Authentication, on page 76
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
27
Configuring Authentication
Method Lists and Server Groups
sequence in which they are performed; it must be applied to a specific interface before any of the defined
authentication methods are performed. The only exception is the default method list (which is named “default”).
The default method list is automatically applied to all interfaces, except those that have a named method list
explicitly defined. A defined method list overrides the default method list.
A method list is a sequential list describing the authentication methods to be queried to authenticate a user.
Method lists enable you to designate one or more security protocols to be used for authentication, thus ensuring
a backup system for authentication in case the initial method fails. Cisco software uses the first listed method
to authenticate users. If that method fails to respond, the Cisco software selects the next authentication method
listed in the method list. This process continues until there is successful communication with a listed
authentication method, or all methods defined in the method list are exhausted.
Note that the software attempts authentication with the next listed authentication method only when there is
no response from the previous method. If authentication fails at any point in this cycle, that is, the security
server or local username database responds by denying the user access, then the authentication process stops
and no other authentication methods are attempted.
Using server groups, you can specify a subset of the configured server hosts and use them for a particular
service. For example, server groups allow you to define R1 and R2 as a server group, and define T1 and T2
as a separate server group. For example, you can specify R1 and T1 in the method list for authentication login,
while specifying R2 and T2 in the method list for PPP authentication.
Server groups also can include multiple host entries for the same server, as long as each entry has a unique
identifier. The combination of an IP address and a UDP port number creates a unique identifier, allowing
different ports to be individually defined as RADIUS hosts providing a specific AAA service. In other words,
this unique identifier enables RADIUS requests to be sent to different UDP ports on a server at the same IP
address. If two different host entries on the same RADIUS server are configured for the same service--for
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
28
Configuring Authentication
Login Authentication Using AAA
example, authentication--the second host entry configured acts as failover backup to the first one. Using this
example, if the first host entry fails to provide accounting services, the network access server will try the
second host entry configured on the same device for accounting services. (The RADIUS host entries will be
tried in the order in which they are configured.)
For more information about configuring server groups and about configuring server groups based on Dialed
Number Identification Service (DNIS) numbers, see the “Configuring RADIUS” or “Configuring TACACS+”
chapters.
Before you can use the enable password as the login authentication method, you need to define the enable
password. For more information about defining enable passwords, see chapter “Controlling Switch Access
with Passwords and Privilege Levels.”
Before you can use Kerberos as the login authentication method, you need to enable communication with the
Kerberos security server. For more information about establishing communication with a Kerberos server,
refer to the chapter “Configuring Kerberos.”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
29
Configuring Authentication
Login Authentication Using Local Password
Before you can use a line password as the login authentication method, you need to define a line password.
Before you can use RADIUS as the login authentication method, you need to enable communication with the
RADIUS security server. For more information about establishing communication with a RADIUS server,
refer to the chapter “Configuring RADIUS.”
Before you can use TACACS+ as the login authentication method, you need to enable communication with
the TACACS+ security server. For more information about establishing communication with a TACACS+
server, refer to the chapter “Configuring TACACS+.”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
30
Configuring Authentication
PPP Authentication Using AAA
This command specifies RADIUS servers 172.16.2.3, 172.16.2.17, and 172.16.2.32 as members of the group
loginrad.
To specify group loginrad as the method of user authentication at login when no other method list has been
defined, enter the following command:
Before you can use a group name as the login authentication method, you need to enable communication with
the RADIUS or TACACS+ security server. For more information about establishing communication with a
RADIUS server, refer to the chapter “Configuring RADIUS.” For more information about establishing
communication with a TACACS+ server, refer to the chapter “Configuring TACACS+.”
Before you can use Kerberos as the PPP authentication method, you need to enable communication with the
Kerberos security server. For more information about establishing communication with a Kerberos server,
refer to the chapter “Configuring Kerberos”.
Note Kerberos login authentication works only with PPP PAP authentication.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
31
Configuring Authentication
RADIUS Attribute 44 in Access Requests
Before you can use RADIUS as the PPP authentication method, you need to enable communication with the
RADIUS security server. For more information about establishing communication with a RADIUS server,
refer to the chapter “Configuring RADIUS.”
Before you can use TACACS+ as the PPP authentication method, you need to enable communication with
the TACACS+ security server. For more information about establishing communication with a TACACS+
server, refer to the chapter “Configuring TACACS+.”
This command specifies RADIUS servers 172.16.2.3, 172.16.2.17, and 172.16.2.32 as members of the group
ppprad.
To specify group ppprad as the method of user authentication at login when no other method list has been
defined, enter the following command:
Before you can use a group name as the PPP authentication method, you need to enable communication with
the RADIUS or TACACS+ security server. For more information about establishing communication with a
RADIUS server, refer to the chapter “Configuring RADIUS”. For more information about establishing
communication with a TACACS+ server, refer to the chapter “Configuring TACACS+.”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
32
Configuring Authentication
AAA Scalability for PPP Requests
The argument number defines the number of background processes earmarked to process AAA authentication
and authorization requests for PPP and can be configured for any value from 1 to 2147483647. Because of
the way the PPP manager handles requests for PPP, this argument also defines the number of new users that
can be simultaneously authenticated. This argument can be increased or decreased at any time.
Note Allocating additional background processes can be expensive. You should configure the minimum number
of background processes capable of handling the AAA requests for PPP.
Note By default, guest logins through ARAP are disabled when you initialize AAA. To allow guest logins, you
must use the aaa authentication arap {authentication-list | default command with either the guest or the
auth-guest keyword.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
33
Configuring Authentication
ARAP Authentication Using Line Password
Before you can use a line password as the ARAP authentication method, you need to define a line password.
Before you can use RADIUS as the ARAP authentication method, you need to enable communication with
the RADIUS security server. For more information about establishing communication with a RADIUS server,
refer to the chapter “Configuring RADIUS.”
Before you can use TACACS+ as the ARAP authentication method, you need to enable communication with
the TACACS+ security server. For more information about establishing communication with a TACACS+
server, refer to the chapter “Configuring TACACS+.”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
34
Configuring Authentication
NASI Authentication Using AAA
This command specifies RADIUS servers 172.16.2.3, 172.16.2.17, and 172.16.2.32 as members of the group
araprad.
To specify group araprad as the method of user authentication at login when no other method list has been
defined, enter the following command:
Before you can use a group name as the ARAP authentication method, you need to enable communication
with the RADIUS or TACACS+ security server. For more information about establishing communication
with a RADIUS server, refer to the chapter “Configuring RADIUS.” For more information about establishing
communication with a TACACS+ server, refer to the chapter “Configuring TACACS+.”
Before you can use the enable password as the authentication method, you need to define the enable password.
Before you can use RADIUS as the NASI authentication method, you need to enable communication with
the RADIUS security server.
Before you can use TACACS+ as the authentication method, you need to enable communication with the
TACACS+ security server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
35
Configuring Authentication
NASI Authentication Using Line Password
Before you can use a line password as the NASI authentication method, you need to define a line password.
This command specifies RADIUS servers 172.16.2.3, 172.16.2.17, and 172.16.2.32 as members of the group
nasirad.
To specify group nasirad as the method of user authentication at login when no other method list has been
defined, enter the following command:
Before you can use a group name as the NASI authentication method, you need to enable communication
with the RADIUS or TACACS+ security server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
36
Configuring Authentication
Password Protection at the Privileged Level
or
Device(config)# authentication enable default tacacs
Password:
The aaa authentication password-prompt command does not change any dialog that is supplied by a remote
TACACS+ or RADIUS server.
The aaa authentication password-prompt command works when RADIUS is used as the login method.
You will be able to see the password prompt defined in the command shown even when the RADIUS server
is unreachable. The aaa authentication password-prompt command does not work with TACACS+.
TACACS+ supplies the NAS with the password prompt to display to the users. If the TACACS+ server is
reachable, the NAS gets the password prompt from the server and uses that prompt instead of the one defined
in the aaa authentication password-prompt command. If the TACACS+ server is not reachable, the password
prompt defined in the aaa authentication password-prompt command may be used.
Use the following command in global configuration mode:
Device(config)# aaa authentication password-prompt “Enter your password now:”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
37
Configuring Authentication
How Double Authentication Works
Note We suggest that the network administrator restrict authorization at this first stage to allow only Telnet
connections to the local host.
In the second stage, the remote user must Telnet to the network access server to be authenticated. When the
remote user logs in, the user must be authenticated with AAA login authentication. The user then must enter
the access-profile command to be reauthorized using AAA. When this authorization is complete, the user
has been double authenticated, and can access the network according to per-user network privileges.
The system administrator determines what network privileges remote users will have after each stage of
authentication by configuring appropriate parameters on a security server. To use double authentication, the
user must activate it by issuing the access-profilecommand.
Caution Double authentication can cause certain undesirable events if multiple hosts share a PPP connection to a
network access server, as shown in the figure below. First, if a user, Bob, initiates a PPP session and activates
double authentication at the network access server (per the figure below), any other user will automatically
have the same network privileges as Bob until Bob’s PPP session expires. This happens because Bob’s
authorization profile is applied to the network access server’s interface during the PPP session and any PPP
traffic from other users will use the PPP session Bob established. Second, if Bob initiates a PPP session and
activates double authentication, and then--before Bob’s PPP session has expired--another user, Jane, executes
the access-profile command (or, if Jane Telnets to the network access server and autocommand
access-profileis executed), a reauthorization will occur and Jane’s authorization profile will be applied to the
interface--replacing Bob’s profile. This can disrupt or halt Bob’s PPP traffic, or grant Bob additional
authorization privileges Bob should not have.
Figure 2: Possibly Risky Topology: Multiple Hosts Share a PPP Connection to a Network Access Server
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
38
Configuring Authentication
CHAP or PAP Authentication
AAA to assign network access privileges associated with the remote host to the user. (We suggest that privileges
at this stage be restricted to allow the user to connect to the local host only by establishing a Telnet connection.)
When the user needs to initiate the second phase of double authentication, establishing a Telnet connection
to the local host, the user enters a personal username and password (different from the CHAP or PAP username
and password). This action causes AAA reauthentication to occur according to the personal username/password.
The initial rights associated with the local host, though, are still in place. By using the access-profile command,
the rights associated with the local host are replaced by or merged with those defined for the user in the user’s
profile.
To access the user profile after double authentication, use the following command in EXEC configuration
mode:
Device> access-profile merge ignore-sanity-checks
When CHAP is enabled on an interface and a remote device attempts to connect to it, the access server sends
a CHAP packet to the remote device. The CHAP packet requests or “challenges” the remote device to respond.
The challenge packet consists of an ID, a random number, and the host name of the local device.
When the remote device receives the challenge packet, it concatenates the ID, the remote device’s password,
and the random number, and then encrypts all of it using the remote device’s password. The remote device
sends the results back to the access server, along with the name associated with the password used in the
encryption process.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
39
Configuring Authentication
Enabling PPP Encapsulation
When the access server receives the response, it uses the name it received to retrieve a password stored in its
user database. The retrieved password should be the same password the remote device used in its encryption
process. The access server then encrypts the concatenated information with the newly retrieved password--if
the result matches the result sent in the response packet, authentication succeeds.
The benefit of using CHAP authentication is that the remote device’s password is never transmitted in clear
text. This prevents other devices from stealing it and gaining illegal access to the ISP’s network.
CHAP transactions occur only at the time a link is established. The access server does not request a password
during the rest of the call. (The local device can, however, respond to such requests from other devices during
a call.)
When PAP is enabled, the remote device attempting to connect to the access server is required to send an
authentication request. If the username and password specified in the authentication request are accepted, the
Cisco IOS XE software sends an authentication acknowledgment.
After you have enabled CHAP or PAP, the access server will require authentication from remote devices
dialing in to the access server. If the remote device does not support the enabled protocol, the call will be
dropped.
To use CHAP or PAP, you must perform the following tasks:
• Enable PPP encapsulation.
• Enable CHAP or PAP on the interface.
• For CHAP, configure host name authentication and the secret or password for each remote system with
which authentication is required.
Defines the authentication protocols supported and the order in which they are used. In this command, protocol1,
protocol2 represent the following protocols: CHAP, MS-CHAP, and PAP. PPP authentication is attempted
first using the first authentication method, which is protocol1. If protocol1 is unable to establish authentication,
the next configured protocol is used to negotiate authentication.
If you configure ppp authentication chap on an interface, all incoming calls on that interface that initiate a
PPP connection will have to be authenticated using CHAP; likewise, if you configure ppp authentication
pap, all incoming calls that start a PPP connection will have to be authenticated via PAP. If you configure
ppp authentication chap pap, the access server will attempt to authenticate all incoming calls that start a
PPP session with CHAP. If the remote device does not support CHAP, the access server will try to authenticate
the call using PAP. If the remote device does not support either CHAP or PAP, authentication will fail and
the call will be dropped. If you configure ppp authentication pap chap, the access server will attempt to
authenticate all incoming calls that start a PPP session with PAP. If the remote device does not support PAP,
the access server will try to authenticate the call using CHAP. If the remote device does not support either
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
40
Configuring Authentication
Inbound and Outbound Authentication
protocol, authentication will fail and the call will be dropped. If you configure the ppp authentication
command with the callin keyword, the access server will only authenticate the remote device if the remote
device initiated the call.
Authentication method lists and the one-time keyword are only available if you have enabled AAA; these
will not be available if you are using TACACS or extended TACACS. If you specify the name of an
authentication method list with the ppp authentication command, PPP will attempt to authenticate the
connection using the methods defined in the specified method list. If AAA is enabled and no method list is
defined by name, PPP will attempt to authenticate the connection using the methods defined as the default.
The ppp authentication command with the one-time keyword enables support for one-time passwords during
authentication.
The if-needed keyword is only available if you are using TACACS or extended TACACS. The ppp
authenticationcommand with the if-needed keyword means that PPP will only authenticate the remote device
via PAP or CHAP if they have not yet authenticated during the life of the current call. If the remote device
authenticated via a standard login procedure and initiated PPP from the EXEC prompt, PPP will not authenticate
via CHAP if ppp authentication chap if-needed is configured on the interface.
Caution If you use a list-name that has not been configured with the aaa authentication pppcommand, you disable
PPP on the line.
The access server uses the username and password specified by the ppp pap sent-username command to
authenticate itself whenever it initiates a call to a remote device or when it has to respond to a remote device’s
request for outbound authentication.
If the refuse keyword is not used, the device will not refuse any PAP authentication challenges received from
the peer.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
41
Configuring Authentication
Refusing CHAP Authentication Requests
(either from another vendor, or running an older version of the Cisco IOS XE software) to which a new (that
is, unknown) device has been added. The ppp chap password command allows you to replace several
username and password configuration commands with a single copy of this command on any dialer interface
or asynchronous group interface.
To enable a device calling a collection of devices to configure a common CHAP secret password, use the
following command in interface configuration mode:
Device(config-if)# ppp chap password secret
If the calling keyword is used, the device will refuse to answer CHAP authentication challenges received
from the peer, but will still require the peer to answer any CHAP challenges the device sends.
If outbound PAP has been enabled (using the ppp pap sent-username command), PAP is used as the
authentication method in the refusal packet.
This command (which is the default) specifies that the device will not authenticate to a peer requesting CHAP
authentication until the peer has authenticated itself to the device. The no ppp chap waitcommandspecifies
that the device will respond immediately to an authentication challenge.
Using MS-CHAP
Microsoft Challenge Handshake Authentication Protocol (MS-CHAP) is the Microsoft version of CHAP and
is an extension of RFC 1994. Like the standard version of CHAP, MS-CHAP is used for PPP authentication;
in this case, authentication occurs between a PC using Microsoft Windows NT or Microsoft Windows 95 and
a Cisco device or access server acting as a network access server.
MS-CHAP differs from the standard CHAP as follows:
• MS-CHAP is enabled by negotiating CHAP Algorithm 0x80 in LCP option 3, Authentication Protocol.
• The MS-CHAP Response packet is in a format designed to be compatible with Microsoft Windows NT
3.5 and 3.51, Microsoft Windows 95, and Microsoft LAN Manager 2.x. This format does not require the
authenticator to store a clear or reversibly encrypted password.
• MS-CHAP provides an authenticator-controlled authentication retry mechanism.
• MS-CHAP provides an authenticator-controlled change password mechanism.
• MS-CHAP defines a set of “reason-for failure” codes returned in the Failure packet message field.
Depending on the security protocols you have implemented, PPP authentication using MS-CHAP can be used
with or without AAA security services. If you have enabled AAA, PPP authentication using MS-CHAP can
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
42
Configuring Authentication
Domain Stripping
be used in conjunction with both TACACS+ and RADIUS. The table below lists the vendor-specific RADIUS
attributes (IETF Attribute 26) that enable RADIUS to support MS-CHAP.
Domain Stripping
The AAA Broadcast Accounting feature allows accounting information to be sent to multiple AAA servers
at the same time, that is, accounting information can be broadcast to one or more AAA servers simultaneously.
This functionality allows you to send accounting information to private and public AAA servers. It also
provides redundant billing information for voice applications.
The Domain Stripping feature allows domain stripping to be configured at the server group level.
Per-server group configuration overrides the global configuration. If domain stripping is not enabled globally,
but it is enabled in a server group, then it is enabled only for that server group. Also, if virtual routing and
forwarding (VRF)-specific domain stripping is configured globally and in a server group for a different VRF,
domain stripping is enabled in both the VRFs. VRF configurations are taken from server-group configuration
mode. If server-group configurations are disabled in global configuration mode but are available in server-group
configuration mode, all configurations in server-group configuration mode are applicable.
After the domain stripping and broadcast accounting are configured, you can create separate accounting
records as per the configurations.
If both domain-stripping and directed-request commands are enabled, domain stripping takes precedence
and directed request functionality will not work.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
43
Configuring Authentication
Configuring Login Authentication Using AAA
To configure login authentication by using AAA, use the following commands beginning in global configuration
mode:
Procedure
Device> enable
Step 5 line [aux | console | tty | vty] line-number Enters line configuration mode for the lines to
[ending-line-number] which you want to apply the authentication list.
Example:
Step 6 login authentication {default | list-name} Applies the authentication list to a line or set of
lines.
Example:
Device(config-line)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
44
Configuring Authentication
Configuring PPP Authentication Using AAA
What to do next
The list-name is a character string used to name the list you are creating. The method argument refers to the
actual method the authentication algorithm tries. The additional methods of authentication are used only if
the previous method returns an error, not if it fails. To specify that the authentication should succeed even if
all methods return an error, specify none as the final method in the command line.
For example, to specify that authentication should succeed even if (in this example) the TACACS+ server
returns an error, enter the following command:
Note Because the none keyword enables any user logging in to successfully authenticate, it should be used only
as a backup method of authentication.
To create a default list that is used when a named list is not specified in the login authentication command,
use the default keyword followed by the methods that are to be used in default situations. The default method
list is automatically applied to all interfaces.
For example, to specify RADIUS as the default method for user authentication during login, enter the following
command:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
45
Configuring Authentication
Configuring PPP Authentication Using AAA
Step 5 interface interface-type interface-number Enters interface configuration mode for the
interface to which you want to apply the
Example:
authentication list.
Device(config)# interface gigabitethernet
0/1/0
Step 6 ppp authentication {protocol1 [protocol2...]} Applies the authentication list to a line or set of
[if-needed] {default | list-name} [callin] lines. In this command, protocol1 and protocol2
[one-time][optional] represent the following protocols: CHAP,
MS-CHAP, and PAP. PPP authentication is
Example:
attempted first using the first authentication
method, specified by protocol1. If protocol1 is
Device(config)# ppp authentication
ms-chap ppp-auth unable to establish authentication, the next
configured protocol is used to negotiate
authentication.
Device(config)# end
What to do next
With the aaa authentication pppcommand, you create one or more lists of authentication methods that are
tried when a user tries to authenticate via PPP. These lists are applied using the ppp authentication line
configuration command.
To create a default list that is used when a named list is not specified in the ppp authentication command,
use the default keyword followed by the methods you want used in default situations.
For example, to specify the local username database as the default method for user authentication, enter the
following command:
The list-name is any character string used to name the list you are creating. The method argument refers to
the actual method the authentication algorithm tries. The additional methods of authentication are used only
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
46
Configuring Authentication
Configuring ARAP Authentication Using AAA
if the previous method returns an error, not if it fails. To specify that the authentication should succeed even
if all methods return an error, specify none as the final method in the command line.
For example, to specify that authentication should succeed even if (in this example) the TACACS+ server
returns an error, enter the following command:
Note Because none allows all users logging in to authenticate successfully, it should be used as a backup method
of authentication.
Procedure
Device> enable
Example:
Enables authentication for ARAP users.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
47
Configuring Authentication
Configuring ARAP Authentication Using AAA
Device(config)# line 1
Device(config-line)# autoselect
during-login
Device(config-line)# end
What to do next
The list-name is any character string used to name the list you are creating. The method argument refers to
the actual list of methods the authentication algorithm tries, in the sequence entered.
To create a default list that is used when a named list is not specified in the arap authentication command,
use the default keyword followed by the methods you want to use in default situations.
The additional methods of authentication are used only if the previous method returns an error, not if it fails.
To specify that the authentication should succeed even if all methods return an error, specify none as the final
method in the command line.
Note Because none allows all users logging in to be authenticated, it should be used as a backup method of
authentication.
For example, to create a default AAA authentication method list used with ARAP, use the following command:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
48
Configuring Authentication
Configuring NASI Authentication Using AAA
To create the same authentication method list for ARAP and name the list MIS-access, use the following
command:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
49
Configuring Authentication
Preventing an Access Request with a Blank Username from Being Sent to the RADIUS Server
Device(config-line)# end
What to do next
The list-name is any character string used to name the list you are creating. The method argument refers to
the actual list of methods that the authentication algorithm tries, in the sequence entered.
To create a default list that is used when a named list is not specified in the aaa authentication nasi command,
use the default keyword followed by the methods you want to use in default situations.
The additional methods of authentication are used only if the previous method returns an error, not if it fails.
To specify that the authentication should succeed even if all methods return an error, specify none as the final
method in the command line.
Note Because none allows all users logging in to be authenticated, it should be used as a backup method of
authentication.
Preventing an Access Request with a Blank Username from Being Sent to the
RADIUS Server
The following configuration steps provide the ability to prevent an Access Request with a blank username
from being sent to the RADIUS server. This functionality ensures that unnecessary RADIUS server interaction
is avoided, and RADIUS logs are kept short.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
50
Configuring Authentication
Configuring Message Banners for AAA Authentication
Step 4 aaa authentication suppress null-username Prevents an Access Request with a blank
username from being sent to the RADIUS
Example:
server.
Device(config)# aaa authentication
suppress null-username
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
51
Configuring Authentication
Configuring a Failed-Login Banner
Step 4 aaa authentication banner delimiter string Creates a personalized login banner.
delimiter
Example:
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
52
Configuring Authentication
Configuring AAA Packet of Disconnect
Step 4 aaa authentication fail-message delimiter Creates a message to be displayed when a user
string delimiter login fails.
Example:
Device(config)# end
Procedure
Device> enable
Step 3 aaa accounting network default start-stop Enables AAA accounting records.
radius
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
53
Configuring Authentication
Configuring Double Authentication
Step 6 radius server name non-standard Configures a RADIUS server and enters
RADIUS server configuration mode.
Example:
Device(config-radius-server)# address
ipv4 radius-host
Device(config-radius-server)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
54
Configuring Authentication
Enabling Automated Double Authentication
5. Use access control list AV pairs on the security server that the user can connect to the local host only by
establishing a Telnet connection.
6. (Optional) Configure the access-profilecommand as an autocommand. If you configure the autocommand,
remote users will not have to manually enter the access-profile command to access authorized rights
associated with their personal user profile.
Note If the access-profile command is configured as an autocommand, users will still have to Telnet to the local
host and log in to complete double authentication.
Follow these rules when creating the user-specific authorization statements (These rules relate to the default
behavior of the access-profile command):
• Use valid AV pairs when configuring access control list AV pairs on the security server.
• For remote users to use the interface’s existing authorization (that which existed prior to the second stage
authentication/authorization), but you want them to have different access control lists (ACLs), you should
specify only ACL AV pairs in the user-specific authorization definition. This might be desirable if you
set up a default authorization profile to apply to the remote host, but want to apply specific ACLs to
specific users.
• When these user-specific authorization statements are later applied to the interface, they can either be
added to the existing interface configuration or they can replace the existing interface
configuration--depending on which form of the access-profile command is used to authorize the user.
You should understand how the access-profile command works before configuring the authorization
statements.
• If you will be using ISDN or Multilink PPP, you must also configure virtual templates at the local host.
Note Automated double authentication, like the existing double authentication feature, is for Multilink PPP ISDN
connections only. Automated double authentication cannot be used with other protocols such as X.25 or SLIP.
Automated double authentication is an enhancement to the existing double authentication feature. To configure
automated double authentication, you must first configure double authentication by completing the following
steps:
1. Enable AAA by using the aaa-new model global configuration command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
55
Configuring Authentication
Configuring Automated Double Authentication
2. Use the aaa authentication command to configure your network access server to use login and PPP
authentication method lists, then apply those method lists to the appropriate lines or interfaces.
3. Use the aaa authorization command to configure AAA network authorization at login.
4. Configure security protocol parameters (for example, RADIUS or TACACS+).
5. Use access control list AV pairs on the security server that the user can connect to the local host only by
establishing a Telnet connection.
6. Configure the access-profilecommand as an autocommand. If you configure the autocommand, remote
users will not have to manually enter the access-profile command to access authorized rights associated
with their personal user profile.
Note If the access-profile command is configured as an autocommand, users will still have to Telnet to the local
host and log in to complete double authentication.
Follow these rules when creating the user-specific authorization statements (These rules relate to the default
behavior of the access-profile command):
• Use valid AV pairs when configuring access control list AV pairs on the security server.
• If you want remote users to use the interface’s existing authorization (that which existed prior to the
second stage authentication/authorization), but you want them to have different access control lists
(ACLs), you should specify only ACL AV pairs in the user-specific authorization definition. This might
be desirable if you set up a default authorization profile to apply to the remote host, but want to apply
specific ACLs to specific users.
• When these user-specific authorization statements are later applied to the interface, they can either be
added to the existing interface configuration, or replace the existing interface configuration--depending
on which form of the access-profile command is used to authorize the user. You should understand how
the access-profile command works before configuring the authorization statements.
• If you will be using ISDN or Multilink PPP, you must also configure virtual templates at the local host.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
56
Configuring Authentication
Troubleshooting Automated Double Authentication
Device(config)# ip trigger-authentication
timeout 120
Step 4 interface type number Configures an interface and enter the interface
configuration mode.
Example:
Device(config-if)# ip
rigger-authentication
Device(config-if)# end
Procedure
Device> enable
Step 2 show ip trigger-authentication Displays the list of remote hosts for which
automated double authentication has been
Example:
attempted (successfully or unsuccessfully).
Device# show ip trigger-authentication
Step 3 clear ip trigger-authentication Clears the list of remote hosts for which
automated double authentication has been
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
57
Configuring Authentication
Configuring Domain Stripping at the Server Group Level
Step 3 aaa group server radius server-name Adds the RADIUS server and enters server
group RADIUS configuration mode.
Example:
Device(config)# aaa group server radius • The server-name argument specifies the
rad1 RADIUS server group name.
Step 4 domain-stripping [strip-suffix word] Configures domain stripping at the server group
[right-to-left ] [prefix-delimiter word] level.
[delimiter word]
Example:
Device(config-sg-radius)#
domain-stripping delimiter
[email protected]
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
58
Configuring Authentication
Configuring Non-AAA Authentication Methods
Note If you configure line password protection and then configure TACACS or extended TACACS, the TACACS
username and password take precedence over line passwords. If you have not yet implemented a security
policy, we recommend that you use AAA.
Procedure
Device> enable
Step 3 line [aux | console | tty | vty] line-number Enters line configuration mode.
[ending-line-number]
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
59
Configuring Authentication
Establishing Username Authentication
Device(config-line)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
60
Configuring Authentication
Establishing Username Authentication
Step 4 username name [privilege level] (Optional) Sets the privilege level for the user.
Example:
Step 6 username name [noescape] [nohangup] (Optional) Sets a “no escape” login
environment.
Example:
Device(config)# end
What to do next
The keyword noescape prevents users from using escape characters on the hosts to which they are connected.
The nohangup feature does not disconnect after using the autocommand.
Caution Passwords will be displayed in clear text in your configuration unless you enable the service
password-encryption command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
61
Configuring Authentication
Defining PPP Authentication Using MS-CHAP
Procedure
Device> enable
Step 5 ppp authentication ms-chap [if-needed] Defines PPP authentication using MS-CHAP.
[list-name | default] [callin] [one-time]
Example:
Device(config-if)# end
What to do next
If you configure ppp authentication ms-chap on an interface, all incoming calls on that interface that initiate
a PPP connection will have to be authenticated using MS-CHAP. If you configure the ppp authentication
command with the callin keyword, the access server will only authenticate the remote device if the remote
device initiated the call.
Authentication method lists and the one-time keyword are only available if you have enabled AAA--they
will not be available if you are using TACACS or extended TACACS. If you specify the name of an
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
62
Configuring Authentication
Configuration Examples for Authentication
authentication method list with the ppp authentication command, PPP will attempt to authenticate the
connection using the methods defined in the specified method list. If AAA is enabled and no method list is
defined by name, PPP will attempt to authenticate the connection using the methods defined as the default.
The ppp authentication command with the one-time keyword enables support for one-time passwords during
authentication.
The if-needed keyword is only available if you are using TACACS or extended TACACS. The ppp
authenticationcommand with the if-needed keyword means that PPP will only authenticate the remote device
via MS-CHAP if that device has not yet authenticated during the life of the current call. If the remote device
authenticated through a standard login procedure and initiated PPP from the EXEC prompt, PPP will not
authenticate through MS-CHAP if ppp authentication chap if-needed is configured.
Note If PPP authentication using MS-CHAP is used with username authentication, you must include the MS-CHAP
secret in the local username/password database.
In this example, “default” is the name of the method list. The protocols included in this method list are listed
after the name, in the order they are to be queried. The default list is automatically applied to all interfaces.
When a remote user attempts to dial in to the network, the network access server first queries R1 for
authentication information. If R1 authenticates the user, it issues a PASS response to the network access server
and the user is allowed to access the network. If R1 returns a FAIL response, the user is denied access and
the session is terminated. If R1 does not respond, then the network access server processes that as an ERROR
and queries R2 for authentication information. This pattern would continue through the remaining designated
methods until the user is either authenticated or rejected, or until the session is terminated.
It is important to remember that a FAIL response is significantly different from an ERROR. A FAIL means
that the user has not met the criteria contained in the applicable authentication database to be successfully
authenticated. Authentication ends with a FAIL response. An ERROR means that the security server has not
responded to an authentication query. Because of this, no authentication has been attempted. Only when an
ERROR is detected will AAA select the next authentication method defined in the authentication method list.
Suppose the system administrator wants to apply a method list only to a particular interface or set of interfaces.
In this case, the system administrator creates a named method list and then applies this named list to the
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
63
Configuring Authentication
Example: Configuring Method Lists
applicable interfaces. The following example shows how the system administrator can implement an
authentication method that will be applied only to interface 3:
Device> enable
Device# configure terminal
Device(config)# Device(config)#
Device(config)# aaa authentication ppp server-group1 group radius group tacacs+ local none
Device(config)# interface gigabitethernet 1/0/3
Device(config-if)# ppp authentication chap server-group1
Device(config-if)# end
In this example, “apple” is the name of the method list, and the protocols included in this method list are listed
after the name in the order in which they are to be performed. After the method list has been created, it is
applied to the appropriate interface. Note that the method list name (apple) in both the AAAand PPP
authentication commands must match.
In the following example, the system administrator uses server groups to specify that only R2 and T2 are valid
servers for PPP authentication. To do this, the administrator must define specific server groups whose members
are R2 (172.16.2.7) and T2 (172.16.2.77), respectively. In this example, the RADIUS server group “rad2only”
is defined as follows using the aaa group server command:
Device> enable
Device# configure terminal
Device(config)# aaa group server radius rad2only
Device(config-sg-radius)# server 172.16.2.7
Device(config-sg-radius)# end
The TACACS+ server group “tac2only” is defined as follows using the aaa group server command:
Device> enable
Device# configure terminal
Device(config)# aaa group server tacacs+ tac2only
Device(config-sg-tacacs)# server 172.16.2.77
Device(config-sg-tacacs)# end
The administrator then applies PPP authentication using the server groups. In this example, the default methods
list for PPP authentication follows this order: group rad2only, group tac2only, and local:
Device> enable
Device# configure terminal
Device(config)# aaa authentication ppp default group rad2only group tac2only local
Device(config)# exit
If a method list is configured under VTY lines, the corresponding method list must be added to AAA. The
following example shows how to configure a method list under a VTY line:
Device> enable
Device# configure terminal
Device(config)# line vty 0 4
Device(config-line)# authorization commands 15 auth1
Device(config-line)# exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
64
Configuring Authentication
Example: RADIUS Authentication
If no method list is configured under VTY lines, the default method list must be added to AAA. The following
example shows a VTY configuration without a method list:
Device> enable
Device# configure terminal
Device(config)# line vty 0 4
Device(config-line)# end
The following example shows how to configure the default method list:
Device> enable
Device# configure terminal
Device(config)# aaa new-model
Device(config)# aaa authorization commands 15 default group tacacs+
Device(config)# exit
The lines in this sample RADIUS authentication and authorization configuration are defined as follows:
• The aaa authentication login radius-login group radius local command configures the router to use
RADIUS for authentication at the login prompt. If RADIUS returns an error, the user is authenticated
using the local database.
• The aaa authentication ppp radius-ppp if-needed group radius command configures the Cisco IOS XE
software to use PPP authentication using CHAP or PAP if the user has not already logged in. If the EXEC
facility has authenticated the user, PPP authentication is not performed.
• The aaa authorization exec default group radius if-authenticated command queries the RADIUS database
for information that is used during EXEC authorization, such as autocommands and privilege levels, but
only provides authorization if the user has successfully authenticated.
• The aaa authorization network default group radius command queries RADIUS for network authorization,
address assignment, and other access lists.
• The login authentication radius-login command enables the radius-login method list for line 3.
• The ppp authentication radius-ppp command enables the radius-ppp method list for serial interface 0.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
65
Configuring Authentication
Example: TACACS Authentication
The following example shows how to configure the router to prompt for and verify a username and password,
authorize the user’s EXEC level, and specify it as the method of authorization for privilege level 2. In this
example, if a local username is entered at the username prompt, that username is used for authentication.
If the user is authenticated using the local database, EXEC authorization using RADIUS will fail because no
data is saved from the RADIUS authentication. The method list also uses the local database to find an
autocommand. If there is no autocommand, the user becomes the EXEC user. If the user then attempts to
issue commands that are set at privilege level 2, TACACS+ is used to attempt to authorize the command.
Device> enable
Device# configure terminal
Device(config)# aaa authentication login default group radius local
Device(config)# aaa authorization exec default group radius local
Device(config)# aaa authorization command 2 default group tacacs+ if-authenticated
Device(config)# radius server radserver
Device(config-sg-radius)# address ipv4 10.2.3.1
Device(config-sg-radius)# exit
Device(config)# radius-server attribute 44 include-in-access-req
Device(config)# radius-server attribute 8 include-in-access-req
Device(config)# end
The lines in this sample RADIUS authentication and authorization configuration are defined as follows:
• The aaa authentication login default group radius local command specifies that the username and password
are verified by RADIUS or, if RADIUS is not responding, by the router’s local user database.
• The aaa authorization exec default group radius local command specifies that RADIUS authentication
information be used to set the user’s EXEC level if the user authenticates with RADIUS. If no RADIUS
information is used, this command specifies that the local user database be used for EXEC authorization.
• The aaa authorization command 2 default group tacacs+ if-authenticated command specifies TACACS+
authorization for commands set at privilege level 2, if the user has already successfully authenticated.
• The radius-server attribute 44 include-in-access-req command sends RADIUS attribute 44
(Acct-Session-ID) in access-request packets.
• The radius-server attribute 8 include-in-access-req command sends RADIUS attribute 8
(Framed-IP-Address) in access-request packets.
The lines in this sample TACACS+ authentication configuration are defined as follows:
• The aaa new-model command enables the AAA security services.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
66
Configuring Authentication
Example: Kerberos Authentication
• The aaa authentication command defines a method list, “test,” to be used on serial interfaces running
PPP. The keywords group tacacs+ means that authentication will be done through TACACS+. If
TACACS+ returns an ERROR of some sort during authentication, the keyword local indicates that
authentication will be attempted using the local database on the network access server.
• The interface command selects the line.
• The ppp authentication command applies the test method list to this line.
• The address ipv4 command identifies the TACACS+ daemon as having an IP address of 192.0.2.3.
• The key command defines the shared encryption key to be “key1.”
The following example shows how to configure AAA authentication for PPP:
Device(config)# aaa authentication ppp default if-needed group tacacs+ local
In this example, the keyword default means that PPP authentication is applied by default to all interfaces.
The if-needed keyword means that if the user has already authenticated by going through the ASCII login
procedure, then PPP is not necessary and can be skipped. If authentication is needed, the keywords group
tacacs+ means that authentication will be done through TACACS+. If TACACS+ returns an ERROR of some
sort during authentication, the keyword local indicates that authentication will be attempted using the local
database on the network access server.
The following example shows how to create the same authentication algorithm for PAP, but it calls the method
list “MIS-access” instead of “default”:
Device> enable
Device# configure terminal
Device(config)# aaa authentication ppp MIS-access if-needed group tacacs+ local
Device(config)# interface gigabitethernet 1/1/2
Device(config)# ppp authentication pap MIS-access
Device(config)# end
In this example, because the list does not apply to any interfaces (unlike the default list, which applies
automatically to all interfaces), the administrator must select interfaces to which this authentication scheme
should apply by using the interface command. The administrator must then apply this method list to those
interfaces by using the ppp authentication command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
67
Configuring Authentication
Example: AAA Scalability
The lines in this sample RADIUS AAA configuration are defined as follows:
• The aaa new-model command enables AAA network security services.
• The address ipv4 {hostname | host-address} command defines the name of the RADIUS server host.
• The key command defines the shared secret text string between the network access server and the
RADIUS server host.
• The radius-server configure-nas command defines that the Cisco router or access server will query the
RADIUS server for static routes and IP pool definitions when the device first starts up.
• The username command defines the username and password to be used for the PPP Password
Authentication Protocol (PAP) caller identification.
• The aaa authentication ppp dialins group radius local command defines the authentication method
list “dialins,” which specifies that RADIUS authentication, then (if the RADIUS server does not respond)
local authentication will be used on serial lines using PPP.
• The aaa authentication login admins local command defines another method list, “admins,” for login
authentication.
• The aaa authorization network default group radius local command is used to assign an address and
other network parameters to the RADIUS user.
• The aaa accounting network default start-stop group radius command tracks PPP usage.
• The aaa processes command allocates 16 background processes to handle AAA requests for PPP.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
68
Configuring Authentication
Example: Configuring Login and Failed-Login Banners for AAA Authentication
• The line command switches the configuration mode from global configuration to line configuration and
identifies the specific lines being configured.
• The autoselect ppp command allows a PPP session to start up automatically on these selected lines.
• The autoselect during-login command is used to display the username and password prompt without
pressing the Return key. After the user logs in, the autoselect function (in this case, PPP) begins.
• The login authentication admins command applies the “admins” method list for login authentication.
• The modem dialin command configures modems attached to the selected lines to only accept incoming
calls.
• The interface group-async command selects and defines an asynchronous interface group.
• The group-range command defines the member asynchronous interfaces in the interface group.
• The encapsulation ppp command sets PPP as the encapsulation method used on the specified interfaces.
• The ppp authentication pap dialinscommand applies the “dialins” method list to the specified interfaces.
The following example shows how to configure a failed-login banner that is displayed when a user tries to
log in to the system and fails, (in this case, the phrase “Failed login. Try again”). The asterisk (*) is used as
the delimiting character. RADIUS is specified as the default login authentication method.
Device> enable
Device# configure terminal
Device(config)# aaa new-model
Device(config)# aaa authentication banner *Unauthorized Access Prohibited*
Device(config)# aaa authentication fail-message *Failed login. Try again.*
Device(config)# aaa authentication login default group radius
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
69
Configuring Authentication
Example: AAA Packet of Disconnect Server Key
Note These configuration examples include specific IP addresses and other specific information. This information
is for illustration purposes only: your configuration will use different IP addresses, different usernames and
passwords, and different authorization statements.
Example: Configuration of the Local Host for AAA with Double Authentication
These two examples show how to configure a local host to use AAA for PPP and login authentication, and
for network and EXEC authorization. An example each is shown for RADIUS and for TACACS+.
In both the examples, the first three lines configure AAA with a specific server as the AAA server. The next
two lines configure AAA for PPP and login authentication, and the last two lines configure network and EXEC
authorization. The last line is necessary only if the access-profile command will be executed as an
autocommand.
The following example shows device configuration with a RADIUS AAA server:
Device> enable
Device# configure terminal
Device(config)# aaa new-model
Device(config)# radius server radserver
Device(config-sg-radisu)# address ipv4 secureserver
Device(config-sg-radius)# key myradiuskey
Device(config-sg-radius)# exit
Device(config)# aaa authentication ppp default group radius
Device(config)# aaa authentication login default group radius
Device(config)# aaa authorization network default group radius
Device(config)# aaa authorization exec default group radius
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
70
Configuring Authentication
Example: Configuration of the AAA Server for First-Stage PPP Authentication and Authorization
Example: Configuration of the AAA Server for First-Stage PPP Authentication and Authorization
This example shows a configuration on the AAA server. A partial sample AAA configuration is shown for
RADIUS.
TACACS+ servers can be configured similarly. (See the Complete Configuration with TACACS Example.)
This example defines authentication/authorization for a remote host named “hostx” that will be authenticated
by CHAP in the first stage of double authentication. Note that the ACL AV pair limits the remote host to
Telnet connections to the local host. The local host has the IP address 10.0.0.2.
The following example shows a partial AAA server configuration for RADIUS:
Example: Configuration of the AAA Server for Second-Stage Per-User Authentication and
Authorization
This section contains partial sample AAA configurations on a RADIUS server. These configurations define
authentication and authorization for a user with the username “user1,” who will be user-authenticated in the
second stage of double authentication.
TACACS+ servers can be configured similarly.
Three examples show sample RADIUS AAA configurations that could be used with each of the three forms
of the access-profile command.
The first example shows a partial sample AAA configuration that works with the default form (no keywords)
of the access-profile command. Note that only ACL AV pairs are defined. This example also sets up the
access-profile command as an autocommand.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
71
Configuring Authentication
Example: Complete Configuration with TACACS
The second example shows a partial sample AAA configuration that works with the access-profile merge
form of the access-profile command. This example also sets up the access-profile mergecommand as an
autocommand.
The third example shows a partial sample AAA configuration that works with the access-profile replace
form of the access-profile command. This example also sets up the access-profile replacecommand as an
autocommand.
This sample configuration shows authentication/authorization profiles on the TACACS+ server for the remote
host “hostx” and for three users, with the usernames “user_default,” “user_merge,” and “user_replace.”
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
72
Configuring Authentication
Example: Complete Configuration with TACACS
key = “mytacacskey”
default authorization = permit
#-----------------------------Remote Host (BRI)-------------------------
#
# This allows the remote host to be authenticated by the local host
# during fist-stage authentication, and provides the remote host
# authorization profile.
#
#-----------------------------------------------------------------------
user = hostx
{
login = cleartext “welcome”
chap = cleartext “welcome”
service = ppp protocol = lcp {
interface-config=”ip unnumbered fastethernet 0"
}
service = ppp protocol = ip {
# It is important to have the hash sign and some string after
# it. This indicates to the NAS that you have a per-user
# config.
inacl#3=”permit tcp any 172.21.114.0 0.0.0.255 eq telnet”
inacl#4=”deny icmp any any”
route#5=”10.0.0.0 255.0.0.0"
route#6=”10.10.0.0 255.0.0.0"
}
service = ppp protocol = ipx {
# see previous comment about the hash sign and string, in protocol = ip
inacl#3=”deny any”
}
}
#------------------- “access-profile” default user “only acls” ------------------
#
# Without arguments, access-profile removes any access-lists it can find
# in the old configuration (both per-user and per-interface), and makes sure
# that the new profile contains ONLY access-list definitions.
#
#--------------------------------------------------------------------------------
user = user_default
{
login = cleartext “welcome”
chap = cleartext “welcome”
service = exec
{
# This is the autocommand that executes when user_default logs in.
autocmd = “access-profile”
}
service = ppp protocol = ip {
# Put whatever access-lists, static routes, whatever
# here.
# If you leave this blank, the user will have NO IP
# access-lists (not even the ones installed prior to
# this)!
inacl#3=”permit tcp any host 10.0.0.2 eq telnet”
inacl#4=”deny icmp any any”
}
service = ppp protocol = ipx {
# Put whatever access-lists, static routes, whatever
# here.
# If you leave this blank, the user will have NO IPX
# access-lists (not even the ones installed prior to
# this)!
}
}
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
73
Configuring Authentication
Example: Complete Configuration with TACACS
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
74
Configuring Authentication
Example: Automated Double Authentication
Current configuration:
!
version 16.10
no service password-encryption
!
hostname myrouter
!
!
! **The following AAA commands are used to configure double authentication:
!
! **The following command enables AAA:
aaa new-model
! **The following command enables user authentication via the RADIUS AAA server:
!
aaa authentication login default none
aaa authentication ppp default group radius
! **The following command causes the remote user’s authorization profile to be
! downloaded from the AAA server to the router when required:
!
aaa authorization network default group radius
!
enable password mypassword
!
ip host blue 172.21.127.226
ip host green 172.21.127.218
ip host red 172.21.127.114
ip domain-name example.com
ip name-server 172.16.2.75
!
!
interface GigabitEthernet0/0/0
ip address 172.21.127.186 255.255.255.248
no ip route-cache
no ip mroute-cache
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
75
Configuring Authentication
Feature History for Configuring Authentication
no keepalive
ntp disable
no cdp enable
!
interface Virtual-Template1
ip unnumbered loopback0
no ip route-cache
no ip mroute-cache
!
! **The following command specifies that device authentication occurs via PPP CHAP:
ppp authentication chap
!
router eigrp 109
network 172.21.0.0
no auto-summary
!
ip default-gateway 172.21.127.185
no ip classless
ip route 172.21.127.114 255.255.255.255 172.21.127.113
! **Virtual profiles are required for double authentication to work:
virtual-profile virtual-template 1
dialer-list 1 protocol ip permit
no cdp run
! **The following command defines where the TACACS+ AAA server is:
tacacs server server1
address ipv4 172.16.57.35
! **The following command defines the key to use with TACACS+ traffic (required):
key mytacacskey
snmp-server community public RO
!
line con 0
exec-timeout 0 0
login authentication console
line aux 0
transport input all
line vty 0 4
exec-timeout 0 0
password lab
!
end
Cisco IOS XE Everest AAA Authentication provides a method to identify users, which
16.5.1a Authentication includes the login and password dialog, challenge and
response, messaging support, and encryption, depending on
Cisco IOS XE Fuji
the selected security protocol. Authentication is the way a
16.8.1a
user is identified prior to being allowed access to the network
and network services.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
76
Configuring Authentication
Feature History for Configuring Authentication
Cisco IOS XE Fuji AAA Support for this feature was introduced on the C9500-32C,
16.8.1a Authentication C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
77
Configuring Authentication
Feature History for Configuring Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
78
CHAPTER 4
Configuring Authorization
AAA authorization enables you to limit the services available to a user. When AAA authorization is enabled,
the network access server uses information retrieved from the user’s profile, which is located either in the
local user database or on the security server, to configure the user’s session. Once this is done, the user will
be granted access to a requested service only if the information in the user profile allows it.
• Prerequisites for Configuring Authorization, on page 79
• Information About Configuring Authorization, on page 80
• How to Configure Authorization, on page 83
• Configuration Examples for Authorization, on page 86
• Additional References for Configuring Authorization, on page 89
• Feature History for Configuring Authorization, on page 89
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
79
Configuring Authorization
Information About Configuring Authorization
Note The Cisco IOS XE software attempts authorization with the next listed method only when there is no response
from the previous method. If authorization fails at any point in this cycle--meaning that the security server or
local username database responds by denying the user services--the authorization process stops and no other
authorization methods are attempted.
When you create a named method list, you are defining a particular list of authorization methods for the
indicated authorization type.
Once defined, method lists must be applied to specific lines or interfaces before any of the defined methods
will be performed. The only exception is the default method list (which is named “default”). If the aaa
authorization command for a particular authorization type is issued without a named method list specified,
the default method list is automatically applied to all interfaces or lines except those that have a named method
list explicitly defined. (A defined method list overrides the default method list.) If no default method list is
defined, local authorization takes place by default.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
80
Configuring Authorization
Authorization Methods
• If-Authenticated: The user is allowed to access the requested function provided the user has been
authenticated successfully.
• None: The network access server does not request authorization information; authorization is not performed
over this line/interface.
• Local: The router or access server consults its local database, as defined by the username command, for
example, to authorize specific rights for users. Only a limited set of functions can be controlled via the
local database.
• RADIUS: The network access server requests authorization information from the RADIUS security
server. RADIUS authorization defines specific rights for users by associating attributes, which are stored
in a database on the RADIUS server, with the appropriate user.
Note With CSCuc32663, passwords and authorization logs are masked before being sent to the TACACS+, LDAP,
or RADIUS security servers. Use the aaa authorization commands visible-keys command to send unmasked
information to the TACACS+, LDAP, or RADIUS security servers.
Authorization Methods
To have the network access server request authorization information via a TACACS+ security server, use the
aaa authorization command with the group tacacs+ method keyword. For more specific information about
configuring authorization using a TACACS+ security server, refer to the chapter “Configuring TACACS+.”
For an example of how to enable a TACACS+ server to authorize the use of network services, including PPP
and ARA, see the TACACS Authorization Examples.
To allow users to have access to the functions they request as long as they have been authenticated, use the
aaa authorization command with the if-authenticated method keyword. If you select this method, all
requested functions are automatically granted to authenticated users.
There may be times when you do not want to run authorization from a particular interface or line. To stop
authorization activities on designated lines or interfaces, use the none method keyword. If you select this
method, authorization is disabled for all actions.
To select local authorization, which means that the router or access server consults its local user database to
determine the functions a user is permitted to use, use the aaa authorization command with the local method
keyword. The functions associated with local authorization are defined by using the username global
configuration command. For a list of permitted functions, refer to the chapter “Configuring Authentication.”
To have the network access server request authorization via a RADIUS security server, use the radius method
keyword. For more specific information about configuring authorization using a RADIUS security server,
refer to the Configuring RADIUS chapter.
To have the network access server request authorization via a RADIUS security server, use the aaa
authorization command with the group radius method keyword. For more specific information about
configuring authorization using a RADIUS security server, refer to the chapter Configuring RADIUS. For an
example of how to enable a RADIUS server to authorize services, see the RADIUS Authorization Example.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
81
Configuring Authorization
Method Lists and Server Groups
Note Authorization method lists for SLIP follow whatever is configured for PPP on the relevant interface. If no
lists are defined and applied to a particular interface (or no PPP settings are configured), the default setting
for authorization applies.
Authorization Types
Named authorization method lists are specific to the indicated type of authorization.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
82
Configuring Authorization
Authorization Attribute-Value Pairs
To create a method list to enable authorization that applies specific security policies on a per-user basis, use
the auth-proxy keyword. For detailed information on the authentication proxy feature, refer to the chapter
“Configuring Authentication Proxy” in the “Traffic Filtering and Firewalls” part of this book.
To create a method list to enable authorization for all network-related service requests (including SLIP, PPP,
PPP NCPs, and ARAP), use the network keyword.
To create a method list to enable authorization to determine if a user is allowed to run an EXEC shell, use the
exec keyword.
To create a method list to enable authorization for specific, individual EXEC commands associated with a
specific privilege level, use the commandskeyword. (This allows you to authorize all commands associated
with a specified command level from 0 to 15.)
To create a method list to enable authorization for reverse Telnet functions, use the reverse-access keyword.
For information about the types of authorization supported by the Cisco IOS XE software, refer to the AAA
Authorization Types.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
83
Configuring Authorization
Disabling Authorization for Global Configuration Commands
Step 4 Do one of the following: Enters the line configuration mode for the lines
to which you want to apply the authorization
• line [aux | console | tty | vty] line-number
method list.
[ending-line-number]
• interface interface-type interface-number Alternately, enters the interface configuration
mode for the interfaces to which you want to
Example: apply the authorization method list.
Device(config)# line 1
Step 5 Do one of the following: Applies the authorization list to a line or set of
lines.
• authorization{arap | commands level |
exec | reverse-access} {default | Alternately, applies the authorization list to an
list-name} interface or set of interfaces.
• ppp authorization{default | list-name}
Example:
Device(config-line)# authorization
commands default
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
84
Configuring Authorization
Configuring Authorization for Reverse Telnet
To disable AAA authorization for all global configuration commands, use the following command in global
configuration mode:
Command Purpose
config-commands
To disable AAA authorization on the console, use the following command in global configuration mode:
Note AAA authorization is disabled on the console by default. If AAA authorization is enabled on the console,
disable it by configuring the no aaa authorization console command during the AAA configuration stage.
AAA should be disabled on the console for user authentication.
Command Purpose
To configure a network access server to request authorization information from a TACACS+ or RADIUS
server before allowing a user to establish a reverse Telnet session, use the following command in global
configuration mode:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
85
Configuring Authorization
Configuration Examples for Authorization
Command Purpose
This feature enables the network access server to request reverse Telnet authorization information from the
security server, whether RADIUS or TACACS+. You must configure the specific reverse Telnet privileges
for the user on the security server itself.
The following example shows how to allow network authorization using TACACS+:
The following example shows how to provide the same authorization, but it also creates address pools called
“mci” and “att”:
Device> enable
Device# configure terminal
Device(config)# aaa authorization network default group tacacs+
Device(config)# interface gigabitethernet 01/1/
Device(config-if)# ip address-pool local
Device(config-if)# exit
Device(config)# ip local-pool mci 172.16.0.1 172.16.0.255
Device(config)# ip local-pool att 172.17.0.1 172.17.0.255
Device(config-if)# end
These address pools can then be selected by the TACACS daemon. A sample configuration of the daemon
follows:
user = mci_customer1 {
login = cleartext “some password”
service = ppp protocol = ip {
addr-pool=mci
}
}
user = att_customer1 {
login = cleartext “some other password”
service = ppp protocol = ip {
addr-pool=att
}
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
86
Configuring Authorization
Example: RADIUS Authorization
The lines in this sample RADIUS authorization configuration are defined as follows:
• The aaa authorization exec default group radius if-authenticated command configures the network
access server to contact the RADIUS server to determine if users are permitted to start an EXEC shell
when they log in. If an error occurs when the network access server contacts the RADIUS server, the
fallback method is to permit the CLI to start, provided the user has been properly authenticated.
The RADIUS information returned may be used to specify an autocommand or a connection access list be
applied to this connection.
• The aaa authorization network default group radius command configures network authorization via
RADIUS. This can be used to govern address assignment, the application of access lists, and various
other per-user quantities.
Note Because no fallback method is specified in this example, authorization will fail if, for any reason, there is no
response from the RADIUS server.
The lines in this sample TACACS+ reverse Telnet authorization configuration are defined as follows:
• The aaa new-model command enables AAA.
• The aaa authentication login default group tacacs+ command specifies TACACS+ as the default
method for user authentication during login.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
87
Configuring Authorization
Example: Reverse Telnet Authorization
• The aaa authorization reverse-access default group tacacs+ command specifies TACACS+ as the
method for user authorization when trying to establish a reverse Telnet session.
• The tacacs server command identifies the TACACS+ server.
• The timeout command sets the interval of time that the network access server waits for the TACACS+
server to reply.
• The key command defines the encryption key used for all TACACS+ communications between the
network access server and the TACACS+ daemon.
The following example shows how to configure a generic TACACS+ server to grant a user, pat, reverse Telnet
access to port tty2 on the network access server named “maple” and to port tty5 on the network access server
named “oak”:
user = pat
login = cleartext lab
service = raccess {
port#1 = maple/tty2
port#2 = oak/tty5
Note In this example, “maple” and “oak” are the configured host names of network access servers, not DNS names
or alias.
The following example shows how to configure the TACACS+ server (CiscoSecure) to grant a user named
pat reverse Telnet access:
user = pat
profile_id = 90
profile_cycle = 1
member = Tacacs_Users
service=shell {
default cmd=permit
}
service=raccess {
allow “c2511e0” “tty1” “.*”
refuse “.*” “.*” “.*”
password = clear “goaway”
Note CiscoSecure only supports reverse Telnet using the command line interface in versions 2.1(x) through version
2.2(1).
An empty “service=raccess {}” clause permits a user to have unconditional access to network access server
ports for reverse Telnet. If no “service=raccess” clause exists, the user is denied access to any port for reverse
Telnet.
For more information about configuring TACACS+, refer to the “Configuring TACACS” chapter. For more
information about configuring CiscoSecure, refer to the CiscoSecure Access Control Server User Guide ,
version 2.1(2) or greater.
The following example shows how to cause the network access server to request authorization from a RADIUS
security server before allowing a user to establish a reverse Telnet session:
Device> enable
Device# configure terminal
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
88
Configuring Authorization
Additional References for Configuring Authorization
The lines in this sample RADIUS reverse Telnet authorization configuration are defined as follows:
• The aaa new-model command enables AAA.
• The aaa authentication login default group radius command specifies RADIUS as the default method
for user authentication during login.
• The aaa authorization reverse-access default group radius command specifies RADIUS as the method
for user authorization when trying to establish a reverse Telnet session.
• The radius command identifies the RADIUS server.
• The key command defines the encryption key used for all RADIUS communications between the network
access server and the RADIUS daemon.
The following example shows how to send a request to the RADIUS server to grant a user named “pat” reverse
Telnet access at port tty2 on the network access server named “maple”:
Username = “pat”
Password = “goaway”
User-Service-Type = Shell-User
cisco-avpair = “raccess:port#1=maple/tty2”
The syntax "raccess:port=any/any" permits a user to have unconditional access to network access server ports
for reverse Telnet. If no "raccess:port={nasname }/{tty number }" clause exists in the user profile, the user
is denied access to reverse Telnet on all ports.
For more information about configuring RADIUS, refer to the chapter “Configuring RADIUS.”
Description Link
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
89
Configuring Authorization
Feature History for Configuring Authorization
These features are available on all releases subsequent to the one they were introduced in, unless noted
otherwise.
Cisco IOS XE AAA AAA authorization enables you to limit the services available to a
Everest 16.5.1a Authorization user. When AAA authorization is enabled, the network access server
uses information retrieved from the user’s profile, which is located
either in the local user database or on the security server, to configure
the user’s session. Once this is done, the user will be granted access
to a requested service only if the information in the user profile
allows it.
Support for this feature was introduced on all the models of the
Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji AAA Support for this feature was introduced on the C9500-32C,
16.8.1a Authorization C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of the
Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
90
CHAPTER 5
Configuring Accounting
The AAA accounting feature allows the services that users are accessing and the amount of network resources
that users are consuming to be tracked. When AAA accounting is enabled, the network access server reports
user activity to the TACACS+ or RADIUS security server (depending on which security method is
implemented) in the form of accounting records. Each accounting record contains accounting attribute-value
(AV) pairs and is stored on the security server. This data can then be analyzed for network management, client
billing, and auditing.
• Prerequisites for Configuring Accounting, on page 91
• Restrictions for Configuring Accounting, on page 91
• Information About Configuring Accounting, on page 92
• How to Configure AAA Accounting, on page 105
• Configuration Examples for AAA Accounting, on page 112
• Additional References for Configuring Accounting, on page 116
• Feature History for Configuring Accounting, on page 116
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
91
Configuring Accounting
Information About Configuring Accounting
Note The Cisco IOS software attempts accounting with the next listed accounting method only when there is no
response from the previous method. If accounting fails at any point in this cycle--meaning that the security
server responds by denying the user access--the accounting process stops and no other accounting methods
are attempted.
Accounting method lists are specific to the type of accounting being requested. AAA supports seven different
types of accounting:
• Network : Provides information for all PPP, SLIP, or ARAP sessions, including packet and byte counts.
• EXEC : Provides information about user EXEC terminal sessions of the network access server.
• Commands : Provides information about the EXEC mode commands that a user issues. Command
accounting generates accounting records for all EXEC mode commands, including global configuration
commands, associated with a specific privilege level.
• Connection : Provides information about all outbound connections made from the network access server,
such as Telnet, local-area transport (LAT), TN3270, packet assembler/disassembler (PAD), and rlogin.
• System : Provides information about system-level events.
• Resource : Provides “start” and “stop” records for calls that have passed user authentication, and provides
“stop” records for calls that fail to authenticate.
• VRRS : Provides information about Virtual Router Redundancy Service (VRRS).
Note System accounting does not use named accounting lists; only the default list for system accounting can be
defined.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
92
Configuring Accounting
Method Lists and Server Groups
When a named method list is created, a particular list of accounting methods for the indicated accounting type
are defined.
Accounting method lists must be applied to specific lines or interfaces before any of the defined methods are
performed. The only exception is the default method list (which is named “default”). If the aaa accounting
command for a particular accounting type is issued without specifying a named method list, the default method
list is automatically applied to all interfaces or lines except those that have a named method list explicitly
defined (A defined method list overrides the default method list). If no default method list is defined, then no
accounting takes place.
This section includes the following subsections:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
93
Configuring Accounting
Accounting Record Types
Note Passwords and accounting logs are masked before being sent to the TACACS+ or RADIUS security servers.
Use the aaa accounting commands visible-keys command to send unmasked information to the TACACS+
or RADIUS security servers.
Accounting Methods
The table below lists the supported accounting methods.
Keyword Description
group radius Uses the list of all RADIUS servers for accounting.
group tacacs+ Uses the list of all TACACS+ servers for accounting.
group group-name Uses a subset of RADIUS or TACACS+ servers for accounting as defined by the
server group group-name.
The method argument refers to the actual method the authentication algorithm tries. Additional methods of
authentication are used only if the previous method returns an error, not if it fails. To specify that the
authentication should succeed even if all other methods return an error, specify additional methods in the
command. For example, to create a method list named acct_tac1 that specifies RADIUS as the backup method
of authentication in the event that TACACS+ authentication returns an error, enter the following command:
To create a default list that is used when a named list is not specified in the aaa accountingcommand, use
the default keyword followed by the methods that are wanted to be used in default situations. The default
method list is automatically applied to all interfaces.
For example, to specify RADIUS as the default method for user authentication during login, enter the following
command:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
94
Configuring Accounting
AAA Accounting Types
Note Accounting method lists for SLIP follow whatever is configured for PPP on the relevant interface. If no lists
are defined and applied to a particular interface (or no PPP settings are configured), the default setting for
accounting applies.
• group group-name : To specify a subset of RADIUS or TACACS+ servers to use as the accounting
method, use the aaa accountingcommand with the group group-name method. To specify and define
the group name and the members of the group, use the aaa group server command. For example, use
the aaa group server command to first define the members of group loginrad:
This command specifies RADIUS servers 172.16.2.3, 172.16.2.17, and 172.16.2.32 as members of the group
loginrad.
To specify group loginrad as the method of network accounting when no other method list has been defined,
enter the following command:
Before a group name can be used as the accounting method, communication with the RADIUS or TACACS+
security server must be enabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
95
Configuring Accounting
Network Accounting
Client-Port-DNIS = “4327528”
Caller-ID = “562”
Acct-Status-Type = Start
Acct-Authentic = RADIUS
Service-Type = Framed
Acct-Session-Id = “0000000E”
Framed-IP-Address = “10.1.1.2”
Framed-Protocol = PPP
Acct-Delay-Time = 0
User-Id = “username1”
NAS-Identifier = “172.16.25.15”
Wed Jun 27 04:47:46 2001
NAS-IP-Address = “172.16.25.15”
NAS-Port = 5
User-Name = “username1”
Client-Port-DNIS = “4327528”
Caller-ID = “562”
Acct-Status-Type = Stop
Acct-Authentic = RADIUS
Service-Type = Framed
Acct-Session-Id = “0000000E”
Framed-IP-Address = “10.1.1.2”
Framed-Protocol = PPP
Acct-Input-Octets = 3075
Acct-Output-Octets = 167
Acct-Input-Packets = 39
Acct-Output-Packets = 9
Acct-Session-Time = 171
Acct-Delay-Time = 0
User-Id = “username1”
NAS-Identifier = “172.16.25.15”
Wed Jun 27 04:48:45 2001
NAS-IP-Address = “172.16.25.15”
NAS-Port = 5
User-Name = “username1”
Client-Port-DNIS = “4327528”
Caller-ID = “408”
Acct-Status-Type = Stop
Acct-Authentic = RADIUS
Service-Type = Exec-User
Acct-Session-Id = “0000000D”
Acct-Delay-Time = 0
User-Id = “username1”
NAS-Identifier = “172.16.25.15”
The following example shows the information contained in a TACACS+ network accounting record for a
PPP user who first started an EXEC session:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
96
Configuring Accounting
EXEC Accounting
Note The precise format of accounting packets records may vary depending on the security server daemon.
The following example shows the information contained in a RADIUS network accounting record for a PPP
user who comes in through autoselect:
The following example shows the information contained in a TACACS+ network accounting record for a
PPP user who comes in through autoselect:
EXEC Accounting
EXEC accounting provides information about user EXEC terminal sessions (user shells) on the network access
server, including username, date, start and stop times, the access server IP address, and (for dial-in users) the
telephone number the call originated from.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
97
Configuring Accounting
EXEC Accounting
The following example shows the information contained in a RADIUS EXEC accounting record for a dial-in
user:
The following example shows the information contained in a TACACS+ EXEC accounting record for a dial-in
user:
The following example shows the information contained in a RADIUS EXEC accounting record for a Telnet
user:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
98
Configuring Accounting
Command Accounting
Acct-Status-Type = Stop
Acct-Authentic = RADIUS
Service-Type = Exec-User
Acct-Session-Id = “00000010”
Acct-Session-Time = 14
Acct-Delay-Time = 0
User-Id = “username1”
NAS-Identifier = “172.16.25.15”
The following example shows the information contained in a TACACS+ EXEC accounting record for a Telnet
user:
Command Accounting
Command accounting provides information about the EXEC shell commands for a specified privilege level
that are being executed on a network access server. Each command accounting record includes a list of the
commands executed for that privilege level, as well as the date and time each command was executed, and
the user who executed it.
The following example shows the information contained in a TACACS+ command accounting record for
privilege level 1:
The following example shows the information contained in a TACACS+ command accounting record for
privilege level 15:
Note The Cisco implementation of RADIUS does not support command accounting.
Connection Accounting
Connection accounting provides information about all outbound connections made from the network access
server such as Telnet, LAT, TN3270, PAD, and rlogin.
The following example shows the information contained in a RADIUS connection accounting record for an
outbound Telnet connection:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
99
Configuring Accounting
Connection Accounting
The following example shows the information contained in a TACACS+ connection accounting record for
an outbound Telnet connection:
The following example shows the information contained in a RADIUS connection accounting record for an
outbound rlogin connection:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
100
Configuring Accounting
System Accounting
Login-IP-Host = “10.68.202.158”
Acct-Delay-Time = 0
User-Id = “username1”
NAS-Identifier = “172.16.25.15”
The following example shows the information contained in a TACACS+ connection accounting record for
an outbound rlogin connection:
The following example shows the information contained in a TACACS+ connection accounting record for
an outbound LAT connection:
System Accounting
System accounting provides information about all system-level events (for example, when the system reboots
or when accounting is turned on or off).
The following accounting record shows a typical TACACS+ system accounting record server indicating that
AAA Accounting has been turned off:
Wed Jun 27 03:55:32 2001 172.16.25.15 unknown unknown unknown start task_id=25
service=system
event=sys_acct reason=reconfigure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
101
Configuring Accounting
Resource Accounting
Note The precise format of accounting packets records may vary depending on the TACACS+ daemon.
The following accounting record shows a TACACS+ system accounting record indicating that AAA Accounting
has been turned on:
Wed Jun 27 03:55:22 2001 172.16.25.15 unknown unknown unknown stop task_id=23
service=system
event=sys_acct reason=reconfigure
Resource Accounting
The Cisco implementation of AAA accounting provides “start” and “stop” record support for calls that have
passed user authentication. The additional feature of generating “stop” records for calls that fail to authenticate
as part of user authentication is also supported. Such records are necessary for users employing accounting
records to manage and monitor their networks.
This section includes the following subsections:
The figure below illustrates a call setup sequence with normal call flow (no disconnect) and with AAA resource
failure stop accounting enabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
102
Configuring Accounting
AAA Resource Accounting for Start-Stop Records
Figure 5: Modem Dial-In Call Setup Sequence With Normal Flow and WIth Resource Failure Stop Accounting Enabled
The figure below illustrates a call setup sequence with call disconnect occurring before user authentication
and with AAA resource failure stop accounting enabled.
Figure 6: Modem Dial-In Call Setup Sequence With Call Disconnect Occurring Before User Authentication and With Resource Failure
Stop Accounting Enabled
The figure below illustrates a call setup sequence with call disconnect occurring before user authentication
and without AAA resource failure stop accounting enabled.
Figure 7: Modem Dial-In Call Setup Sequence With Call Disconnect Occurring Before User Authentication and Without Resource Failure
Stop Accounting Enabled
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
103
Configuring Accounting
AAA Accounting Enhancements
Figure 8: Modem Dial-In Call Setup Sequence With Resource Start-Stop Accounting Enabled
The table below shows the SNMP user-end data objects that can be used to monitor and terminate authenticated
client connections with the AAA session MIB feature.
SessionId The session identification used by the AAA Accounting protocol (same value as reported by
RADIUS attribute 44 (Acct-Session-ID)).
IpAddr The IP address of the session or 0.0.0.0 if an IP address is not applicable or unavailable.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
104
Configuring Accounting
Accounting Attribute-Value Pairs
IdleTime The elapsed time in seconds that the session has been idle.
Disconnect The session termination object used to disconnect the given client.
CallId The entry index corresponding to this accounting session that the Call Tracker record stored.
The table below describes the AAA summary information provided by the AAA session MIB feature using
SNMP on a per-system basis.
ActiveTableHighWaterMark Maximum number of sessions present at once since last system reinstallation.
DisconnectedSessions Total number of sessions that have been disconnected using since last system
reinstallation.
Note System accounting does not use named method lists. For system accounting, define only the default method
list.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
105
Configuring Accounting
Suppressing Generation of Accounting Records for Null Username Sessions
Step 3 aaa accounting {system | network | exec | Creates an accounting method list and enables
connection | commands level} {default | accounting. The argument list-name is a
list-name} {start-stop | stop-only | none} character string used to name the created list.
[method1 [method2...]]
Example:
Step 4 Do one of the following: Enters the line configuration mode for the lines
to which the accounting method list is applied.
• line [aux | console | tty | vty] line-number
[ending-line-number] or
• interface interface-type interface-number Enters the interface configuration mode for the
Example: interfaces to which the accounting method list
is applied.
Device(config)# line aux line1
Step 5 Do one of the following: Applies the accounting method list to a line or
set of lines.
• accounting {arap | commands level |
connection | exec} {default | list-name} or
• ppp accounting{default | list-name} Applies the accounting method list to an
Example: interface or set of interfaces.
Device(config-line)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
106
Configuring Accounting
Generating Interim Accounting Records
Command Purpose
Prevents
aaa accounting suppress
Device(config)# accounting
null-username records
from
being
generated
for
users
whose
username
string
is
NULL.
Command Purpose
When the aaa accounting updatecommandis activated, the Cisco IOS software issues interim accounting
records for all users on the system. If the keyword newinfo is used, interim accounting records are sent to the
accounting server every time there is new accounting information to report. An example of this would be
when IPCP completes IP address negotiation with the remote peer. The interim accounting record includes
the negotiated IP address used by the remote peer.
When used with the keyword periodic, interim accounting records are sent periodically as defined by the
number argument. The interim accounting record contains all of the accounting information recorded for that
user up to the time the interim accounting record is sent.
Caution Using the aaa accounting update periodic command can cause heavy congestion when many users are
logged in to the network.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
107
Configuring Accounting
Generating Interim Service Accounting Records
Procedure
Device> enable
Step 3 aaa accounting network default Configures the default accounting for all
network-related service requests and enters
Example:
accounting method list configuration mode.
Device(config)# aaa accounting network
default
Step 4 action-type {none | start-stop [periodic Specifies the type of action to be performed on
{disable | interval minutes}] | stop-only} accounting records.
Example: • (Optional) The periodic keyword specifies
periodic accounting action.
Device(cfg-acct-mlist)# action-type
start-stop • The interval keyword specifies the periodic
accounting interval.
Example:
• The value argument specifies the intervals
periodic interval 5 for accounting update records (in minutes).
• The disable keyword disables periodic
accounting.
Device(cfg-acct-mlist)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
108
Configuring Accounting
Generating Accounting Records for a Failed Login or Session
Note If RADIUS Attribute 85 is not in the user service profile, then the interim-interval value configured in
Generating Interim Accounting Records is used for service interim accounting records.
Procedure
Device> enable
Device(config)# end
aaa accounting send stop-record Generates “stop” records for users who fail to authenticate
authentication failure at login or during session negotiation using PPP.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
109
Configuring Accounting
Suppressing System Accounting Records over Switchover
to keep network start and stop records together, essentially “nesting” them within the framework of the EXEC
start and stop messages. For example, a user dialing in using PPP can create the following records: EXEC-start,
NETWORK-start, EXEC-stop, NETWORK-stop. By nesting the network accounting records, NETWORK-stop
records follow NETWORK-start messages: EXEC-start, NETWORK-start, NETWORK-stop, EXEC-stop.
To nest accounting records for user sessions, use the following command in global configuration mode:
aaa accounting redundancy suppress Suppresses the system accounting messages during
system-records switchover.
Command Purpose
Generates a “stop” record for any calls that do not reach user
Device(config)# aaa accounting authentication.
resource
method-list stop-failure group Note Before configuring this feature, the tasks described in
the Prerequisites for Configuring Accounting, on page
server-group 91 section must be performed, and SNMP must be
enabled on the network access server.
Command Purpose
Supports the ability to send a “start” record at each call setup. followed
Device(config)# aaa with a corresponding “stop” record at the call disconnect.
accounting
resource method-list Note Before configuring this feature, the tasks described in
start-stop group the Prerequisites for Configuring Accounting, on page
server-group 91 section must be performed, and SNMP must be
enabled on the network access server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
110
Configuring Accounting
AAA Broadcast Accounting
Command Purpose
no aaa accounting system The aaa accounting system guarantee-first command guarantees system
guarantee-first accounting as the first record, which is the default condition.
In some situations, users may be prevented from starting a session on the
console or terminal connection until after the system reloads, which can take
more than three minutes. To resolve this problem, use the no aaa accounting
system guarantee-first command.
Monitoring Accounting
No specific show command exists for either RADIUS or TACACS+ accounting. To obtain accounting records
displaying information about users logged in, use the following command in privileged EXEC mode:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
111
Configuring Accounting
Troubleshooting Accounting
show accounting Allows display of the active accountable events on the network and helps collect
information in the event of a data loss on the accounting server.
Troubleshooting Accounting
To troubleshoot accounting information, use the following command in privileged EXEC mode:
The lines in this sample RADIUS AAA configuration are defined as follows:
• The aaa new-model command enables AAA network security services.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
112
Configuring Accounting
Example: Configuring a Named Method List
• The aaa authentication login admins local command defines a method list, “admins”, for login
authentication.
• The aaa authentication ppp dialins group radius local command defines the authentication method
list “dialins”, which specifies that first RADIUS authentication and then (if the RADIUS server does not
respond) local authentication is used on serial lines using PPP.
• The aaa authorization network network1 group radius local command defines the network
authorization method list named “network1”, which specifies that RADIUS authorization is used on
serial lines using PPP. If the RADIUS server fails to respond, then local network authorization is
performed.
• The aaa accounting network network2 start-stop group radius group tacacs+ command defines the
network accounting method list named “network2”, which specifies that RADIUS accounting services
(in this case, start and stop records for specific events) are used on serial lines using PPP. If the RADIUS
server fails to respond, accounting services are handled by a TACACS+ server.
• The username command defines the username and password to be used for the PPP Password
Authentication Protocol (PAP) caller identification.
• The tacacs server command defines the name of the TACACS+ server host.
• The key command defines the shared secret text string between the network access server and the
TACACS+ server host.
• The radius server command defines the name of the RADIUS server host.
• The key command defines the shared secret text string between the network access server and the
RADIUS server host.
• The interface group-async command selects and defines an asynchronous interface group.
• The group-range command defines the member asynchronous interfaces in the interface group.
• Theencapsulation ppp command sets PPP as the encapsulation method used on the specified interfaces.
• Theppp authentication chap dialins command selects Challenge Handshake Authentication Protocol
(CHAP) as the method of PPP authentication and applies the “dialins” method list to the specified
interfaces.
• Theppp authorization network1 command applies the blue1 network authorization method list to the
specified interfaces.
• Theppp accounting network2 command applies the red1 network accounting method list to the specified
interfaces.
• The line command switches the configuration mode from global configuration to line configuration and
identifies the specific lines being configured.
• The autoselect ppp command configures the Cisco IOS XE software to allow a PPP session to start up
automatically on these selected lines.
• The autoselect during-login command is used to display the username and password prompt without
pressing the Return key. After the user logs in, the autoselect function (in this case, PPP) begins.
• The login authentication admins command applies the admins method list for login authentication.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
113
Configuring Accounting
Example: Configuring AAA Resource Accounting
• The modem dialin command configures modems attached to the selected lines to accept only incoming
calls.
The show accounting command yields the following output for the preceding configuration:
Active Accounted actions on tty1, User username2 Priv 1
Task ID 5, Network Accounting record, 00:00:52 Elapsed
task_id=5 service=ppp protocol=ip address=10.0.0.98
The table below describes the fields contained in the preceding output.
Field Description
Active Accounted actions on Terminal line or interface name user with which the user logged in.
accounting services.
Device(config)# aaa accounting exec default start-stop group radius
!Enable accounting for all network-related service requests and list the default method to
use
for all start-stop accounting services.
Device(config)# aaa accounting network default start-stop group radius
!Enable failure stop accounting.
Device(config)# aaa accounting resource default stop-failure group radius
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
114
Configuring Accounting
Example: Configuring AAA Broadcast Accounting
The broadcast keyword causes “start” and “stop” accounting records for network connections to be sent
simultaneously to server 10.0.0.1 in the group isp and to server 172.0.0.1 in the group isp_customer. If server
10.0.0.1 is unavailable, failover to server 10.0.0.2 occurs. If server 172.0.0.1 is unavailable, no failover occurs
because backup servers are not configured for the group isp_customer.
The broadcast keyword causes “start” and “stop” accounting records for network connection calls having
DNIS number 7777 to be sent simultaneously to server 10.0.0.1 in the group isp and to server 172.0.0.1 in
the group isp_customer. If server 10.0.0.1 is unavailable, failover to server 10.0.0.2 occurs. If server 172.0.0.1
is unavailable, no failover occurs because backup servers are not configured for the group isp_customer.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
115
Configuring Accounting
Example: AAA Session MIB
Device> enable
Device# configure terminal
Device(config)# aaa new-model
Device(config)# aaa authentication ppp default group radius
Device(config)# aaa authorization network default group radius
Device(config)# aaa accounting network default start-stop group radius
Device(config)# aaa session-mib disconnect
Device(config)# end
MIBs
• CISCO-AAA-SESSION-MIB To locate and download MIBs for selected platforms, Cisco IOS XE software
releases , and feature sets, use Cisco MIB Locator found at the following
URL:
http://www.cisco.com/go/mibs
RFCs
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/techsupport
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you
can subscribe to various services, such as the Product Alert Tool (accessed
from Field Notices), the Cisco Technical Services Newsletter, and Really
Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com
user ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
116
Configuring Accounting
Feature History for Configuring Accounting
These features are available on all releases subsequent to the one they were introduced in, unless noted
otherwise.
Cisco IOS XE Everest AAA Broadcast AAA broadcast accounting allows accounting information to
16.5.1a Accounting be sent to multiple AAA servers at the same time; that is,
accounting information can be broadcast to one or more AAA
servers simultaneously.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji AAA Broadcast Support for this feature was introduced on the C9500-32C,
16.8.1a Accounting C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Everest AAA Session MIB The AAA session MIB feature allows customers to monitor
16.5.1a and terminate their authenticated client connections using
SNMP.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji AAA Session MIB Support for this feature was introduced on the C9500-32C,
16.8.1a C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Everest Connection Connection accounting provides information about all outbound
16.5.1a Accounting connections made from the network access server, such as
Telnet, local-area transport, TN3270, packet
assembler/disassembler (PAD), and rlogin.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji Connection Support for this feature was introduced on the C9500-32C,
16.8.1a Accounting C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Everest AAA Interim AAA interim accounting allows accounting records to be sent
16.5.1a Accounting to the accounting server every time there is new accounting
information to report, or on a periodic basis.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji AAA Interim Support for this feature was introduced on the C9500-32C,
16.8.1a Accounting C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
117
Configuring Accounting
Feature History for Configuring Accounting
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
118
CHAPTER 6
Configuring Local Authentication and
Authorization
• How to Configure Local Authentication and Authorization, on page 119
• Monitoring Local Authentication and Authorization, on page 121
• Feature History for Local Authentication and Authorization, on page 121
Note To secure the switch for HTTP access by using AAA methods, you must configure the switch with the ip
http authentication aaa global configuration command. Configuring AAA authentication does not secure
the switch for HTTP access by using AAA methods.
Follow these steps to configure AAA to operate without a server by setting the switch to implement AAA in
local mode:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
119
Configuring Local Authentication and Authorization
Configuring the Switch for Local Authentication and Authorization
Step 4 aaa authentication login default local Sets the login authentication to use the local
username database. The default keyword
Example:
applies the local user database authentication
to all ports.
Device(config)# aaa authentication login
default local
Step 5 aaa authorization exec default local Configures user AAA authorization, check the
local database, and allow the user to run an
Example:
EXEC shell.
Device(config)# aaa authorization exec
default local
Step 6 aaa authorization network default local Configures user AAA authorization for all
network-related service requests.
Example:
Step 7 username name [privilege level] {password Enters the local database, and establishes a
encryption-type password} username-based authentication system.
Example: Repeat this command for each user.
• For name, specify the user ID as one word.
Device(config)# username your_user_name
privilege 1 password 7 secret567 Spaces and quotation marks are not
allowed.
• (Optional) For level, specify the privilege
level the user has after gaining access. The
range is 0 to 15. Level 15 gives privileged
EXEC mode access. Level 0 gives user
EXEC mode access.
• For encryption-type, enter 0 to specify that
an unencrypted password follows. Enter 7
to specify that a hidden password follows.
• For password, specify the password the
user must enter to gain access to the
switch. The password must be from 1 to
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
120
Configuring Local Authentication and Authorization
Monitoring Local Authentication and Authorization
Device(config)# end
Cisco IOS XE Everest Local Authentication and This feature helps AAA to operate without a server
16.5.1a Authorization by setting the device to implement AAA in local
mode.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a Local Authentication and Support for this feature was introduced on the
Authorization C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
121
Configuring Local Authentication and Authorization
Feature History for Local Authentication and Authorization
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
122
CHAPTER 7
Configuring AAA Dead-Server Detection
The AAA Dead-Server Detection feature allows you to configure the criteria to be used to mark a RADIUS
server as dead. If no criteria are explicitly configured, the criteria are computed dynamically on the basis of
the number of outstanding transactions. Using this feature will result in less deadtime and quicker packet
processing.
• Prerequisites for AAA Dead-Server Detection, on page 123
• Restrictions for AAA Dead-Server Detection, on page 123
• Information About AAA Dead-Server Detection, on page 123
• How to Configure AAA Dead-Server Detection, on page 124
• Configuration Examples for AAA Dead-Server Detection, on page 126
• Feature History for AAA Dead-Server Detection, on page 127
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
123
Configuring AAA Dead-Server Detection
Criteria for Marking a RADIUS Server As Dead
Note Both the time criterion and the tries criterion must be met for the server to be marked as dead.
The RADIUS dead-server detection configuration will result in the prompt detection of RADIUS servers that
have stopped responding. This configuration will also result in the avoidance of servers being improperly
marked as dead when they are swamped (responding slowly) and the avoidance of the state of servers being
rapidly changed from dead to live to dead again. This prompt detection of nonresponding RADIUS servers
and the avoidance of swamped and dead-to-live-to-dead-again servers will result in less deadtime and quicker
packet processing.
Each AAA RADIUS global and server groups can have its own deadtime configured. The deadtime configured
on the server group takes precedence over the global deadtime configuration. When a deadtime is configured
on any AAA RADIUS server group, it clears the existing dead timer on all global server groups that are
marked as dead, and not just the specified server group.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
124
Configuring AAA Dead-Server Detection
Verifying AAA Dead-Server Detection
Step 4 radius-server deadtime minutes Improves RADIUS response times when some
servers might be unavailable and causes the
Example:
unavailable servers to be skipped immediately.
Device(config)# radius-server deadtime
5
Step 5 radius-server dead-criteria [time seconds] Forces one or both of the criteria, used to mark
[tries number-of-tries] a RADIUS server as dead, to be the indicated
constant.
Example:
Device(config)# radius-server
dead-criteria time 5 tries 4
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
125
Configuring AAA Dead-Server Detection
Configuration Examples for AAA Dead-Server Detection
Device> enable
Step 2 debug aaa dead-criteria transactions Displays AAA dead-criteria transaction values.
Example:
Step 4 show aaa servers [private | public] Displays the status and number of packets that
are sent to and received from all public and
Example:
private authentication, authorization, and
accounting (AAA) RADIUS servers.
Device# show aaa server private
• The private keyword optionally displays
the AAA servers only.
• The public keyword optionally displays
the AAA servers only.
The following output example shows dead-criteria transaction information for a particular server group:
Device> enable
Device# debug aaa dead-criteria transactions
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
126
Configuring AAA Dead-Server Detection
Feature History for AAA Dead-Server Detection
The following output example shows that dead-server-detection information has been requested for a RADIUS
server at the IP address 172.19.192.80:
Device> enable
Device# show aaa dead-criteria radius 172.19.192.80 radius
Cisco IOS XE Everest AAA Dead-Server Detection This feature allows you to configure the criteria
16.5.1a to be used to mark a RADIUS server as dead.
Use the Cisco Feature Navigator to find information about platform and software image support. To access
Cisco Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
127
Configuring AAA Dead-Server Detection
Feature History for AAA Dead-Server Detection
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
128
CHAPTER 8
Configuring TACACS+
• Prerequisites for TACACS+, on page 129
• Information About TACACS+, on page 130
• How to Configure TACACS+, on page 133
• Monitoring TACACS+, on page 141
• Additional References for TACACS+, on page 141
• Feature History for TACACS+, on page 141
The following are the prerequisites for controlling switch access with TACACS+:
• You must have access to a configured TACACS+ server to configure TACACS+ features on your switch.
Also, you must have access to TACACS+ services maintained in a database on a TACACS+ daemon
typically running on a LINUX or Windows workstation.
• You need a system running the TACACS+ daemon software to use TACACS+ on your switch.
• To use TACACS+, it must be enabled.
• Authorization must be enabled on the switch to be used.
• Users must first successfully complete TACACS+ authentication before proceeding to TACACS+
authorization.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
129
Configuring TACACS+
Information About TACACS+
• To use any of the AAA commands listed in this section or elsewhere, you must first enable AAA with
the aaa new-model command.
• At a minimum, you must identify the host or hosts maintaining the TACACS+ daemon and define the
method lists for TACACS+ authentication. You can optionally define method lists for TACACS+
authorization and accounting.
• The method list defines the types of authentication to be performed and the sequence in which they are
performed; it must be applied to a specific port before any of the defined authentication methods are
performed. The only exception is the default method list (which, by coincidence, is named default). The
default method list is automatically applied to all ports except those that have a named method list
explicitly defined. A defined method list overrides the default method list.
• Use TACACS+ for privileged EXEC access authorization if authentication was performed by using
TACACS+.
• Use the local database if authentication was not performed by using TACACS+.
TACACS+ Overview
TACACS+ is a security application that provides centralized validation of users attempting to gain access to
your switch.
TACACS+ provides for separate and modular authentication, authorization, and accounting facilities. TACACS+
allows for a single access control server (the TACACS+ daemon) to provide each service—authentication,
authorization, and accounting—independently. Each service can be tied into its own database to take advantage
of other services available on that server or on the network, depending on the capabilities of the daemon.
The goal of TACACS+ is to provide a method for managing multiple network access points from a single
management service. Your switch can be a network access server along with other Cisco routers and access
servers.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
130
Configuring TACACS+
TACACS+ Operation
TACACS+, administered through the AAA security services, can provide these services:
• Authentication—Provides complete control of authentication through login and password dialog, challenge
and response, and messaging support.
The authentication facility can conduct a dialog with the user (for example, after a username and password
are provided, to challenge a user with several questions, such as home address, mother’s maiden name,
service type, and social security number). The TACACS+ authentication service can also send messages
to user screens. For example, a message could notify users that their passwords must be changed because
of the company’s password aging policy.
• Authorization—Provides fine-grained control over user capabilities for the duration of the user’s session,
including but not limited to setting autocommands, access control, session duration, or protocol support.
You can also enforce restrictions on what commands a user can execute with the TACACS+ authorization
feature.
• Accounting—Collects and sends information used for billing, auditing, and reporting to the TACACS+
daemon. Network managers can use the accounting facility to track user activity for a security audit or
to provide information for user billing. Accounting records include user identities, start and stop times,
executed commands (such as PPP), number of packets, and number of bytes.
The TACACS+ protocol provides authentication between the switch and the TACACS+ daemon, and it
ensures confidentiality because all protocol exchanges between the switch and the TACACS+ daemon are
encrypted.
TACACS+ Operation
When a user attempts a simple ASCII login by authenticating to a switch using TACACS+, this process occurs:
1. When the connection is established, the switch contacts the TACACS+ daemon to obtain a username
prompt to show to the user. The user enters a username, and the switch then contacts the TACACS+
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
131
Configuring TACACS+
Method List
daemon to obtain a password prompt. The switch displays the password prompt to the user, the user enters
a password, and the password is then sent to the TACACS+ daemon.
TACACS+ allows a dialog between the daemon and the user until the daemon receives enough information
to authenticate the user. The daemon prompts for a username and password combination, but can include
other items, such as the user’s mother’s maiden name.
2. The switch eventually receives one of these responses from the TACACS+ daemon:
• ACCEPT—The user is authenticated and service can begin. If the switch is configured to require
authorization, authorization begins at this time.
• REJECT—The user is not authenticated. The user can be denied access or is prompted to retry the
login sequence, depending on the TACACS+ daemon.
• ERROR—An error occurred at some time during authentication with the daemon or in the network
connection between the daemon and the switch. If an ERROR response is received, the switch
typically tries to use an alternative method for authenticating the user.
• CONTINUE—The user is prompted for additional authentication information.
After authentication, the user undergoes an additional authorization phase if authorization has been enabled
on the switch. Users must first successfully complete TACACS+ authentication before proceeding to
TACACS+ authorization.
3. If TACACS+ authorization is required, the TACACS+ daemon is again contacted, and it returns an
ACCEPT or REJECT authorization response. If an ACCEPT response is returned, the response contains
data in the form of attributes that direct the EXEC or NETWORK session for that user and the services
that the user can access:
• Telnet, Secure Shell (SSH), rlogin, or privileged EXEC services
• Connection parameters, including the host or client IP address, access list, and user timeouts
Method List
A method list defines the sequence and methods to be used to authenticate, to authorize, or to keep accounts
on a user. You can use method lists to designate one or more security protocols to be used, thus ensuring a
backup system if the initial method fails. The software uses the first method listed to authenticate, to authorize,
or to keep accounts on users; if that method does not respond, the software selects the next method in the list.
This process continues until there is successful communication with a listed method or the method list is
exhausted.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
132
Configuring TACACS+
TACACS+ Login Authentication
TACACS+ Accounting
The AAA accounting feature tracks the services that users are accessing and the amount of network resources
that they are consuming. When AAA accounting is enabled, the switch reports user activity to the TACACS+
security server in the form of accounting records. Each accounting record contains accounting attribute-value
(AV) pairs and is stored on the security server. This data can then be analyzed for network management, client
billing, or auditing.
Note Although TACACS+ configuration is performed through the CLI, the TACACS+ server authenticates HTTP
connections that have been configured with a privilege level of 15.
Identifying the TACACS+ Server Host and Setting the Authentication Key
Follow these steps to identify the TACACS+ server host and set the authentication key:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
133
Configuring TACACS+
Identifying the TACACS+ Server Host and Setting the Authentication Key
Procedure
Step 4 address {ipv4 | ipv6} ip address Configures the IP address for the TACACS
server.
Example:
Device(config-server-tacacs)# address
ipv4 10.0.1.12
Step 5 key [encryption-type] [key-string] Sets the authentication encryption key used for
all TACACS+ communications between the
Example:
access server and the TACACS+ daemon. This
Device(config-server-tacacs)# key 0 encryption key must match the key used on
auth-key
the TACACS+ daemon.
encryption-type is optional, and if nothing is
specified it is considered as clear text. Enter 0
to specify that an unencrypted key will follow.
Enter 6 to specify that an encrypted key will
follow. Enter 7 to specify that a hidden key
will follow.
Step 6 exit Exits the TACACS server mode and enters the
global configuration mode.
Example:
Device(config-server-tacacs)# exit
Step 8 aaa group server tacacs+ group-name (Optional) Defines the AAA server-group with
a group name, and enters server group
Example:
configuration mode.
Device(config)# aaa group server tacacs+
your_server_group
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
134
Configuring TACACS+
Configuring TACACS+ Login Authentication
Note To secure the device for HTTP access by using AAA methods, you must configure the device with the ip
http authentication aaa global configuration command. Configuring AAA authentication does not secure
the device for HTTP access by using AAA methods.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
135
Configuring TACACS+
Configuring TACACS+ Login Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
136
Configuring TACACS+
Configuring TACACS+ Authorization for Privileged EXEC Access and Network Services
Device(config)# line 2 4
Step 6 login authentication {default | list-name} Applies the authentication list to a line or set of
lines.
Example:
• If you specify default, use the default list
Device(config-line)# login authentication created with the aaa authentication login
default command.
• For list-name, specify the list created with
the aaa authentication login command.
Device(config-line)# end
Note Authorization is bypassed for authenticated users who log in through the CLI even if authorization has been
configured.
Follow these steps to specify TACACS+ authorization for privileged EXEC access and network services:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
137
Configuring TACACS+
Starting TACACS+ Accounting
Step 3 aaa authorization networkauthorization-list Configures the switch for user TACACS+
tacacs+ authorization for all network-related service
requests.
Example:
Step 4 aaa authorization exec defaulttacacs+ Configures the switch for user TACACS+
authorization if the user has privileged EXEC
Example:
access.
Device(config)# aaa authorization exec The exec keyword might return user profile
default tacacs+ information (such as autocommand
information).
Device(config)# end
Procedure
Device> enable
Step 3 aaa accounting network authorization-list Enables TACACS+ accounting for all
start-stop tacacs+ network-related service requests.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
138
Configuring TACACS+
Establishing a Session with a Device if the AAA Server is Unreachable
Device(config)# end
What to do next
To establish a session with a device if the AAA server is unreachable, use the aaa accounting system
guarantee-first command. It guarantees system accounting as the first record, which is the default condition.
In some situations, users might be prevented from starting a session on the console or terminal connection
until after the system reloads, which can take more than 3 minutes.
To establish a console or Telnet session with the router if the AAA server is unreachable when the router
reloads, use the no aaa accounting system guarantee-first command.
Priority will be given to the source-interface under the server-group configuration in case both methods are
configured.
To configure TACACS source-interface under a TACACS server-group, perform the following:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
139
Configuring TACACS+
Configuring TACACS Source-Interface Under a TACACS Server-Group
Procedure
Step 4 aaa group server tacacs group_name Groups different TACACS server hosts into
distinct lists and distinct methods and enters
Example:
server-group configuration mode.
Device(config-sg-tacacs+)# aa group
server tacacs rad-grp
Step 5 ip vrf forwarding vrf-name (Optional) Configures a VRF for the interface.
Example:
Device(config-sg-tacacs+)# ip vrf
forwarding vrf17
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
140
Configuring TACACS+
Monitoring TACACS+
Monitoring TACACS+
Table 8: Commands for Displaying TACACS+ Information
Command Purpose
show tacacs Displays TACACS+ server statistics.
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
141
Configuring TACACS+
Feature History for TACACS+
Cisco IOS XE Fuji 16.8.1a TACACS+ Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
142
CHAPTER 9
Configuring RADIUS
• Prerequisites for Configuring RADIUS, on page 143
• Restrictions for Configuring RADIUS, on page 144
• Information about RADIUS, on page 144
• How to Configure RADIUS, on page 165
• Monitoring CoA Functionality, on page 178
• Feature History for RADIUS, on page 179
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
143
Configuring RADIUS
Restrictions for Configuring RADIUS
RADIUS operation:
• Users must first successfully complete RADIUS authentication before proceeding to RADIUS
authorization, if it is enabled.
• For RADIUS over IPv6 configurations, users must enable IPv6 unicast routing by enabling the ipv6
unicast-routing command.
RADIUS Overview
RADIUS is a distributed client/server system that secures networks against unauthorized access. RADIUS
clients run on supported Cisco devices. Clients send authentication requests to a central RADIUS server,
which contains all user authentication and network service access information.
Use RADIUS in these network environments that require access security:
• Networks with multiple-vendor access servers, each supporting RADIUS. For example, access servers
from several vendors use a single RADIUS server-based security database. In an IP-based network with
multiple vendors’ access servers, dial-in users are authenticated through a RADIUS server that has been
customized to work with the Kerberos security system.
• Turnkey network security environments in which applications support the RADIUS protocol, such as in
an access environment that uses a smart card access control system.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
144
Configuring RADIUS
RADIUS Operation
• Networks already using RADIUS. You can add a Cisco device containing a RADIUS client to the network.
This might be the first step when you make a transition to a TACACS+ server. See the illustration:
Transitioning from RADIUS to TACACS+ Services below.
Figure 10: Transitioning from RADIUS to TACACS+ Services
• Network in which the user must only access a single service. Using RADIUS, you can control user access
to a single host, to a single utility such as Telnet, or to the network through a protocol such as IEEE
802.1x. For more information about this protocol, see the chapter Configuring IEEE 802.1x Port-Based
Authentication.
• Networks that require resource accounting. You can use RADIUS accounting independently of RADIUS
authentication or authorization. The RADIUS accounting functions allow data to be sent at the start and
end of services, showing the amount of resources (such as time, packets, bytes, and so forth) used during
the session. An Internet service provider might use a freeware-based version of RADIUS access control
and accounting software to meet special security and billing needs.
RADIUS Operation
When a user attempts to log in and authenticate to a device that is access controlled by a RADIUS server,
these events occur:
1. The user is prompted to enter a username and password.
2. The username and encrypted password are sent over the network to the RADIUS server.
3. The user receives one of the following responses from the RADIUS server:
• ACCEPT—The user is authenticated.
• REJECT—The user is either not authenticated and is prompted to re-enter the username and password,
or access is denied.
• CHALLENGE—A challenge requires additional data from the user.
• CHALLENGE PASSWORD—A response requests the user to select a new password.
The ACCEPT or REJECT response is bundled with additional data that is used for privileged EXEC or
network authorization. The additional data included with the ACCEPT or REJECT packets includes these
items:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
145
Configuring RADIUS
RADIUS Change of Authorization
A standard RADIUS interface is typically used in a pulled model where the request originates from a network
attached device and the response come from the queried servers. Cisco devices support the RADIUS CoA
extensions defined in RFC 5176 that are typically used in a pushed model and allow for the dynamic
reconfiguring of sessions from external AAA or policy servers.
Cisco devices supports these per-session CoA requests:
• Session reauthentication
• Session termination
• Session termination with port shutdown
• Session termination with port bounce
This feature is integrated with Cisco Secure Access Control Server (ACS) 5.1.
The RADIUS interface is enabled by default on Cisco devices. However, some basic configuration is required
for the following attributes:
• Security and Password—refer to the “Preventing Unauthorized Access to Your Switch” section in this
guide.
• Accounting—refer to the “Starting RADIUS Accounting” section in the Configuring Switch-Based
Authentication chapter in this guide.
Cisco IOS XE software supports the RADIUS CoA extensions defined in RFC 5176 that are typically used
in a push model to allow the dynamic reconfiguring of sessions from external AAA or policy servers. Per-session
CoA requests are supported for session identification, session termination, host reauthentication, port shutdown,
and port bounce. This model comprises one request (CoA-Request) and two possible response codes:
• CoA acknowledgement (ACK) [CoA-ACK]
• CoA nonacknowledgement (NAK) [CoA-NAK]
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
146
Configuring RADIUS
Change-of-Authorization Requests
The request is initiated from a CoA client (typically a AAA or policy server) and directed to the device that
acts as a listener.
The table below shows the RADIUS CoA commands and vendor-specific attributes (VSAs) supported by
Identity-Based Networking Services. All CoA commands must include the session identifier between the
device and the CoA client.
Session terminate This is a standard disconnect request and does not require a VSA.
Change-of-Authorization Requests
Change of Authorization (CoA) requests, as described in RFC 5176, are used in a push model to allow for
session identification, host reauthentication, and session termination. The model is comprised of one request
(CoA-Request) and two possible response codes:
• CoA acknowledgment (ACK) [CoA-ACK]
• CoA non-acknowledgment (NAK) [CoA-NAK]
The request is initiated from a CoA client (typically a RADIUS or policy server) and directed to the switch
that acts as a listener.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
147
Configuring RADIUS
RFC 5176 Compliance
This table shows the IETF attributes are supported for this feature.
24 State
31 Calling-Station-ID
44 Acct-Session-ID
80 Message-Authenticator
101 Error-Cause
This table shows the possible values for the Error-Cause attribute.
Value Explanation
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
148
Configuring RADIUS
CoA Request Response Code
Session Identification
For disconnect and CoA requests targeted at a particular session, the switch locates the session based on one
or more of the following attributes:
• Acct-Session-Id (IETF attribute #44)
• Audit-Session-Id (Cisco VSA)
• Calling-Station-Id (IETF attribute #31 which contains the host MAC address)
• IPv6 Attributes, which can be one of the following:
• Framed-IPv6-Prefix (IETF attribute #97) and Framed-Interface-Id (IETF attribute #96), which
together create a full IPv6 address per RFC 3162
• Framed-IPv6-Address
Unless all session identification attributes included in the CoA message match the session, the switch returns
a Disconnect-NAK or CoA-NAK with the “Invalid Attribute Value” error-code attribute.
If more than one session identification attribute is included in the message, all the attributes must match the
session or the switch returns a Disconnect- negative acknowledgment (NAK) or CoA-NAK with the error
code “Invalid Attribute Value.”
The packet format for a CoA Request code as defined in RFC 5176 consists of the fields: Code, Identifier,
Length, Authenticator, and Attributes in Type:Length:Value (TLV) format.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Authenticator |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attributes ...
+-+-+-+-+-+-+-+-+-+-+-+-+-
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
149
Configuring RADIUS
CoA ACK Response Code
Terminate session This is a standard disconnect request that does not require a VSA.
Session Reauthentication
The AAA server typically generates a session reauthentication request when a host with an unknown identity
or posture joins the network and is associated with a restricted access authorization profile (such as a guest
VLAN). A reauthentication request allows the host to be placed in the appropriate authorization group when
its credentials are known.
To initiate session authentication, the AAA server sends a standard CoA-Request message which contains a
Cisco VSA in this form: Cisco:Avpair=“subscriber:command=reauthenticate” and one or more session
identification attributes.
The current session state determines the switch response to the message. If the session is currently authenticated
by IEEE 802.1x, the switch responds by sending an EAPoL (Extensible Authentication Protocol over Lan)
-RequestId message to the server.
If the session is currently authenticated by MAC authentication bypass (MAB), the switch sends an
access-request to the server, passing the same identity attributes used for the initial successful authentication.
If session authentication is in progress when the switch receives the command, the switch terminates the
process, and restarts the authentication sequence, starting with the method configured to be attempted first.
If the session is not yet authorized, or is authorized via guest VLAN, or critical VLAN, or similar policies,
the reauthentication message restarts the access control methods, beginning with the method configured to
be attempted first. The current authorization of the session is maintained until the reauthentication leads to a
different authorization result.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
150
Configuring RADIUS
Session Termination
Session Termination
There are three types of CoA requests that can trigger session termination. A CoA Disconnect-Request
terminates the session, without disabling the host port. This command causes re-initialization of the authenticator
state machine for the specified host, but does not restrict that host access to the network.
To restrict a host’s access to the network, use a CoA Request with the
Cisco:Avpair="subscriber:command=disable-host-port" VSA. This command is useful when a host is known
to be causing problems on the network, and you need to immediately block network access for the host. When
you want to restore network access on the port, re-enable it using a non-RADIUS mechanism.
When a device with no supplicant, such as a printer, needs to acquire a new IP address (for example, after a
VLAN change), terminate the session on the host port with port-bounce (temporarily disable and then re-enable
the port).
CoA Disconnect-Request
This command is a standard Disconnect-Request. If the session cannot be located, the device returns a
Disconnect-NAK message with the “Session Context Not Found” error-code attribute. If the session is located,
the device terminates the session. After the session has been completely removed, the device returns a
Disconnect-ACK.
If the device fails-over to a standby device before returning a Disconnect-ACK to the client, the process is
repeated on the new active device when the request is re-sent from the client. If the session is not found
following re-sending, a Disconnect-ACK is sent with the “Session Context Not Found” error-code attribute.
Note A Disconnect-Request failure following command re-sending could be the result of either a successful session
termination before change-over (if the Disconnect-ACK was not sent) or a session termination by other means
(for example, a link failure) that occurred after the original command was issued and before the standby device
became active.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
151
Configuring RADIUS
Default RADIUS Configuration
occur when there is a VLAN change and the endpoint is a device (such as a printer) that does not have a
mechanism to detect a change on this authentication port. The CoA bounce port is carried in a standard
CoA-Request message that contains the following VSA:
Cisco:Avpair="subscriber:command=bounce-host-port"
Because this command is session-oriented, it must be accompanied by one or more of the session identification
attributes. If the session cannot be located, the device returns a CoA-NAK message with the “Session Context
Not Found” error-code attribute. If the session is located, the device disables the hosting port for a period of
10 seconds, re-enables it (port-bounce), and returns a CoA-ACK.
If the device fails before returning a CoA-ACK to the client, the process is repeated on the new active device
when the request is re-sent from the client. If the device fails after returning a CoA-ACK message to the client
but before the operation has completed, the operation is re-started on the new active device.
You identify RADIUS security servers by their hostname or IP address, hostname and specific UDP port
numbers, or their IP address and specific UDP port numbers. The combination of the IP address and the UDP
port number creates a unique identifier, allowing different ports to be individually defined as RADIUS hosts
providing a specific AAA service. This unique identifier enables RADIUS requests to be sent to multiple
UDP ports on a server at the same IP address.
If two different host entries on the same RADIUS server are configured for the same service—for example,
accounting—the second host entry configured acts as a fail-over backup to the first one. Using this example,
if the first host entry fails to provide accounting services, the %RADIUS-4-RADIUS_DEAD message appears,
and then the device tries the second host entry configured on the same device for accounting services. (The
RADIUS host entries are tried in the order that they are configured.)
A RADIUS server and the device use a shared secret text string to encrypt passwords and exchange responses.
To configure RADIUS to use the AAA security commands, you must specify the host running the RADIUS
server daemon and a secret text (key) string that it shares with the device.
The timeout, retransmission, and encryption key values can be configured globally for all RADIUS servers,
on a per-server basis, or in some combination of global and per-server settings.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
152
Configuring RADIUS
RADIUS Login Authentication
AAA Authorization
AAA authorization limits the services available to a user. When AAA authorization is enabled, the device
uses information retrieved from the user’s profile, which is in the local user database or on the security server,
to configure the user’s session. The user is granted access to a requested service only if the information in the
user profile allows it.
RADIUS Accounting
The AAA accounting feature tracks the services that users are using and the amount of network resources that
they are consuming. When you enable AAA accounting, the device reports user activity to the RADIUS
security server in the form of accounting records. Each accounting record contains accounting attribute-value
(AV) pairs and is stored on the security server. You can then analyze the data for network management, client
billing, or auditing.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
153
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Protocol is a value of the Cisco protocol attribute for a particular type of authorization. Attribute and value
are an appropriate attributevalue (AV) pair defined in the Cisco TACACS+ specification, and sep is = for
mandatory attributes and is * for optional attributes. The full set of features available for TACACS+
authorization can then be used for RADIUS.
For example, the following AV pair causes Cisco’s “multiple named IP address pools” feature to be activated
during IP authorization (during PPP’s Internet Protocol Control Protocol (IPCP) address assignment):
cisco-avpair= ”ip:addr-pool=first“
If you insert an “*”, the AV pair “ip:addr-pool=first” becomes optional. Note that any AV pair can be made
optional:
cisco-avpair= ”ip:addr-pool*first“
The following example shows how to cause a user logging in from a network access server to have immediate
access to EXEC commands:
cisco-avpair= ”shell:priv-lvl=15“
Other vendors have their own unique vendor-IDs, options, and associated VSAs. For more information about
vendor-IDs and VSAs, see RFC 2138, “Remote Authentication Dial-In User Service (RADIUS).”
Attribute 26 contains the following three elements:
• Type
• Length
• String (also known as data)
• Vendor-ID
• Vendor-Type
• Vendor-Length
• Vendor-Data
The figure below shows the packet format for a VSA encapsulated “behind” attribute 26.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
154
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Note It is up to the vendor to specify the format of their VSA. The Attribute-Specific field (also known as
Vendor-Data) is dependent on the vendor's definition of that attribute.
The table below describes significant fields listed in the Vendor-Specific RADIUS IETF Attributes table
(second table below), which lists supported vendor-specific RADIUS attributes (IETF attribute 26).
Field Description
Number All attributes listed in the following table are extensions of IETF attribute 26.
Vendor-Specific Command Codes A defined code used to identify a particular vendor. Code 9 defines Cisco VSAs, 311 defines
Microsoft VSAs, and 529 defines Ascend VSAs.
Sub-Type Number The attribute ID number. This number is much like the ID numbers of IETF attributes, except
it is a “second layer” ID number encapsulated behind attribute 26.
MS-CHAP Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
155
Configuring RADIUS
Vendor-Specific RADIUS Attributes
VPDN Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
156
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
157
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
158
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
159
Configuring RADIUS
Vendor-Specific RADIUS Attributes
H323 Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
160
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
161
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
162
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Miscellaneous Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
163
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
164
Configuring RADIUS
Vendor-Proprietary RADIUS Server Communication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
165
Configuring RADIUS
Identifying the RADIUS Server Host
Procedure
Step 3 radius server server name Specifies the name for the RADIUS server
configuration for Protected Access Credential
Example:
(PAC) provisioning, and enters RADIUS server
configuration mode.
Device(config)# radius server rsim
Step 4 address {ipv4 | ipv6}ip address{ auth-port (Optional) Specifies the RADIUS server
port number | acct-port port number} parameters.
Example: For auth-port port-number, specify the UDP
destination port for authentication requests. The
Device(config-radius-server)# address default is 1645. The range is 0 to 65536.
ipv4 124.2.2.12 auth-port 1612
For acct-port port-number, specify the UDP
destination port for authentication requests. The
default is 1646.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
166
Configuring RADIUS
Configuring RADIUS Login Authentication
Step 7 timeout seconds (Optional) Specifies the time interval that the
device waits for the RADIUS server to reply
Example:
before sending a request again. The range is 1
to 1000. This setting overrides the
Device(config-radius-server)# timeout 60
radius-server timeout global configuration
command setting.
Device(config-radius-server)# end
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
167
Configuring RADIUS
Configuring RADIUS Login Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
168
Configuring RADIUS
Defining AAA Server Groups
Step 5 line [console | tty | vty] line-number Enters line configuration mode, and configure
[ending-line-number] the lines to which you want to apply the
authentication list.
Example:
Device(config)# line 1 4
Step 6 login authentication {default | list-name} Applies the authentication list to a line or set of
lines.
Example:
• If you specify default, use the default list
Device(config-line)# login authentication created with the aaa authentication login
default command.
• For list-name, specify the list created with
the aaa authentication login command.
Procedure
Step 3 radius server name Specifies the name of the RADIUS server
configuration for Protected Access Credential
Example:
(PAC) provisioning and enters RADIUS server
Device(config)# radius server ISE configuration mode.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
169
Configuring RADIUS
Configuring RADIUS Authorization for User Privileged Access and Network Services
Step 4 address {ipv4 | ipv6} {ip-address | hostname} Configures the IPv4 address for the RADIUS
auth-port port-number acct-port port-number server accounting and authentication
parameters.
Example:
Device(config-radius-server)# address
ipv4 10.1.1.1 auth-port 1645 acct-port
1646
Note Authorization is bypassed for authenticated users who log in through the CLI even if authorization has been
configured.
Follow these steps to configure RADIUS authorization for user priviledged access and network services:
Procedure
Step 3 aaa authorization network authorization-list Configures the device for user RADIUS
radius authorization for all network-related service
requests.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
170
Configuring RADIUS
Starting RADIUS Accounting
Step 4 aaa authorization exec authorization-list Configures the device for user RADIUS
radius authorization if the user has privileged EXEC
access.
Example:
The exec keyword might return user profile
Device(config)# aaa authorization exec information (such as autocommand
list1 radius information).
What to do next
You can use the aaa authorization global configuration command with the radius keyword to set parameters
that restrict a user’s network access to privileged EXEC mode.
The aaa authorization exec radius local command sets these authorization parameters:
• Use RADIUS for privileged EXEC access authorization if authentication was performed by using
RADIUS.
• Use the local database if authentication was not performed by using RADIUS.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
171
Configuring RADIUS
Configuring Settings for All RADIUS Servers
Procedure
Step 3 radius server server name Specifies the name for the RADIUS server
configuration for Protected Access Credential
Example:
(PAC) provisioning, and enters RADIUS server
Device(config)# radius server rsim configuration mode.
Step 4 key string Specifies the shared secret text string used
between the switch and all RADIUS servers.
Example:
Device(config-radius-server)# key Note The key is a text string that must
your_server_key match the encryption key used on
the RADIUS server. Leading
spaces are ignored, but spaces
within and at the end of the key
are used. If you use spaces in your
key, do not enclose the key in
quotation marks unless the
quotation marks are part of the
key.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
172
Configuring RADIUS
Configuring the Device to Use Vendor-Specific RADIUS Attributes
Procedure
Step 3 radius-server vsa send [accounting | Enables the device to recognize and use VSAs
authentication] as defined by RADIUS IETF attribute 26.
Example: • (Optional) Use the accounting keyword
Device(config)# radius-server vsa send to limit the set of recognized
accounting vendor-specific attributes to only
accounting attributes.
• (Optional) Use the authentication
keyword to limit the set of recognized
vendor-specific attributes to only
authentication attributes.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
173
Configuring RADIUS
Configuring the Device for Vendor-Proprietary RADIUS Server Communication
Procedure
Step 3 radius server server name Specifies the name for the RADIUS server
configuration for Protected Access Credential
Example:
(PAC) provisioning, and enters RADIUS server
configuration mode.
Device(config)# radius server rsim
Step 4 address { ipv4 | ipv6 } ip address (Optional) Specifies the IP address of the
RADIUS server.
Example:
Device(config-radius-server)# address
ipv4 172.24.25.10
Device(config-radius-server)#
non-standard
Step 6 key string Specifies the shared secret text string used
between the device and the vendor-proprietary
Example:
RADIUS server. The device and the RADIUS
server use this text string to encrypt passwords
Device(config-radius-server)# key rad123
and exchange responses.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
174
Configuring RADIUS
Configuring CoA on the Device
Device(config-radius-server)# end
Procedure
Step 5 client {ip-address | name} [vrf vrfname] Specifies a RADIUS client from which a
[server-key string] device will accept CoA and disconnect
requests.
Example:
Device(config-locsvr-da-radius)# client
client1 vrf vrf1
Device(config-locsvr-da-radius)#
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
175
Configuring RADIUS
Configuring CoA on the Device
Step 7 port port-number Specifies the port on which a device listens for
RADIUS requests from configured RADIUS
Example:
clients.
Device(config-locsvr-da-radius)# port
25
Step 8 auth-type {any | all | session-key} Specifies the type of authorization the device
uses for RADIUS clients.
Example:
The client must match all the configured
Device(config-locsvr-da-radius)# attributes for authorization.
auth-type any
Device(config-locsvr-da-radius)# ignore
server-key
Step 12 authentication command disable-port ignore (Optional) Configures the device to ignore a
nonstandard command requesting that the port
Example:
hosting a session be administratively shut
down. Shutting down the port results in
Device(config)# authentication command
disable-port ignore termination of the session.
Use standard CLI or SNMP commands to
re-enable the port.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
176
Configuring RADIUS
Configuring RADIUS Source-Interface Under a RADIUS Server-Group
Device(config)# end
Priority will be given to the source-interface under the server-group configuration in case both methods are
configured.
To configure RADIUS source-interface under a RADIUS server-group, perform the following:
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
177
Configuring RADIUS
Monitoring CoA Functionality
Step 5 ip vrf forwarding vrf-name (Optional) Configures a VRF for the interface.
Example:
Device(config-sg-radius)# ip vrf
forwarding vrf17
Command Purpose
show aaa attributes protocol radius Displays AAA attributes of RADIUS commands.
Command Purpose
debug cmdhd [detail | error | events] Displays information for troubleshooting command headers.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
178
Configuring RADIUS
Feature History for RADIUS
Cisco IOS XE Fuji 16.8.1a RADIUS Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
179
Configuring RADIUS
Feature History for RADIUS
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
180
CHAPTER 10
RADIUS Server Load Balancing
The RADIUS Server Load Balancing feature distributes authentication, authorization, and accounting (AAA)
authentication and accounting transactions across RADIUS servers in a server group. These servers can share
the AAA transaction load and thereby respond faster to incoming requests.
This module describes the RADIUS Server Load Balancing feature.
• Prerequisites for RADIUS Server Load Balancing, on page 181
• Restrictions for RADIUS Server Load Balancing, on page 181
• Information About RADIUS Server Load Balancing, on page 182
• How to Configure RADIUS Server Load Balancing, on page 184
• Configuration Examples for RADIUS Server Load Balancing, on page 186
• Additional References for RADIUS Server Load Balancing, on page 191
• Feature History for RADIUS Server Load Balancing, on page 192
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
181
RADIUS Server Load Balancing
Information About RADIUS Server Load Balancing
The batch size is a user-configured parameter. Changes in the batch size may impact CPU load and network
throughput. As batch size increases, CPU load decreases and network throughput increases. However, if a
large batch size is used, all available server resources may not be fully utilized. As batch size decreases, CPU
load increases and network throughput decreases.
Note There is no set number for large or small batch sizes. A batch with more than 50 transactions is considered
large and a batch with fewer than 25 transactions is considered small.
Note If a server group contains ten or more servers, we recommend that you set a high batch size to reduce CPU
load.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
182
RADIUS Server Load Balancing
RADIUS Server Status and Automated Testing
The want server flag, an internal setting, is used when the same server must be used for all stages of a multistage
transaction regardless of the server cost. If the want server is not available, the transaction fails.
You can use the load-balance method least-outstanding ignore-preferred-server command if you have
either of the following configurations:
• Dedicated authentication server and a separate dedicated accounting server
• Network where you can track all call record statistics and call record details, including start and stop
records and records that are stored on separate servers
If you have a configuration where authentication servers are a superset of accounting servers, the preferred
server is not used.
Caution We recommend that you use a test user that is not defined on the RADIUS server for the RADIUS server
automated testing to protect against security issues that may arise if the test user is not correctly configured.
Note Use the test aaa group command to check load-balancing transactions.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
183
RADIUS Server Load Balancing
How to Configure RADIUS Server Load Balancing
Step 3 aaa group server radius group-name Enters server group configuration mode.
Example:
Device(config)# aaa group server radius
rad-sg
Step 4 server ip-address [auth-port port-number] Configures the IP address of the RADIUS
[acct-port port-number] server for the group server.
Example:
Device(config-sg-radius)# server
192.0.2.238 auth-port 2095 acct-port 2096
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
184
RADIUS Server Load Balancing
Troubleshooting RADIUS Server Load Balancing
Procedure
Step 1 Use the debug aaa test command to determine when an idle timer or dead timer has expired, when test packets
are sent, the status of the server, or to verify the server state.
The idle timer is used to check the server status and is updated with or without any incoming requests.
Monitoring the idle timer helps to determine if there are nonresponsive servers and to keep the RADIUS
server status updated to efficiently utilize available resources. For instance, an updated idle timer would help
ensure that incoming requests are sent to servers that are alive.
The dead timer is used either to determine that a server is dead or to update a dead server’s status appropriately.
Monitoring server selection helps to determine how often the server selection changes. Server selection is
effective in analyzing if there are any bottlenecks, a large number of queued requests, or if only specific servers
are processing incoming requests.
The following sample output from the debug aaa test command shows when the idle timer expired:
Example:
Device# debug aaa test
Step 2 Use the debug aaa sg-server selection command to determine the server that is selected for load balancing.
The following sample output from the debug aaa sg-server selection command shows five access requests
being sent to a server group with a batch size of three:
Example:
Device# debug aaa sg-server selection
Step 3 Use the test aaa group command to manually verify the RADIUS load-balanced server status.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
185
RADIUS Server Load Balancing
Configuration Examples for RADIUS Server Load Balancing
The following sample output shows the response from a load-balanced RADIUS server that is alive when the
username “test” does not match a user profile. The server is verified alive when it issues an Access-Reject
response to an authentication, authorization, and accounting (AAA) packet generated using the test aaa group
command.
Example:
Device# test aaa group SG1 test lab new-code
The lines in the current configuration of the preceding RADIUS command output are defined as follows:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
186
RADIUS Server Load Balancing
Example: Enabling Load Balancing for a Named RADIUS Server Group
• The aaa group server radius command shows the configuration of a server group with two member
servers.
• The load-balance command enables load balancing for global RADIUS server groups with the batch
size specified.
• The aaa authentication ppp command authenticates all PPP users using RADIUS.
• The aaa accounting command enables sending of all accounting requests to the AAA server when the
client is authenticated and then disconnected using the start-stop keyword.
The show debug sample output below shows the selection of the preferred server and the processing of requests
for the preceding configuration:
Device# show debug
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
187
RADIUS Server Load Balancing
Example: Monitoring Idle Timer
The following sample output from the show aaa servers command shows the AAA server status for the
named RADIUS server group configuration:
The sample output shows the status of two RADIUS servers. Both servers are alive, and no requests have
been processed since the counters were cleared 0 minutes ago.
Device# show aaa servers
Sates defination:
State: current UP. ===> this is IOSD state
Platform State from SMD: current UP. ====> This is wired BINOS i,e SMD
Platform State from WNCD (1) : current UP ===> This is wireless BINOS i.e WNCD instance 1
Platform State from WNCD (2) : current UP. ===> This is wireless BINOS i.e WNCD instance 2
Platform State from WNCD (3) : current UP
Platform State from WNCD (4) : current UP
Platform State from WNCD (5) : current UP
Platform State from WNCD (6) : current UP
Platform State from WNCD (7) : current UP
Platform State from WNCD (8) : current UP. ===> This is wireless BINOS i.e WNCD instance 8
The lines in the current configuration of the preceding RADIUS command output are defined as follows:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
188
RADIUS Server Load Balancing
Example: Configuring the Preferred Server with the Same Authentication and Authorization Server
• The aaa group server radius command shows the configuration of a server group.
• The radius server and address command defines the RADIUS server name and IP address of the
RADIUS server with authorization and accounting ports specified.
• The radius-server load-balance command enables load balancing for the RADIUS server with the batch
size specified.
The show debug sample output below shows test requests being sent to servers. The response to the test
request sent to the server is received, the server is removed from quarantine as appropriate, the server is marked
alive, and then the idle timer is reset.
Device# show debug
Example: Configuring the Preferred Server with the Same Authentication and
Authorization Server
The following example shows an authentication server group and an authorization server group that use the
same servers 209.165.200.225 and 209.165.200.226. Both server groups have the preferred server flag enabled.
Device> enable
Device# configure terminal
Device(config)# aaa group server radius authentication-group
Device(config-sg-radius)# server 209.165.200.225 key radkey1
Device(config-sg-radius)# server 209.165.200.226 key radkey2
Device(config-sg-radius)# exit
Device(config)# aaa group server radius accounting-group
Device(config-sg-radius)# server 209.165.200.225 key radkey1
Device(config-sg-radius)# server 209.165.200.226 key radkey2
Device(config-sg-radius)# end
When a preferred server is selected for a session, all transactions for that session will continue to use the
original preferred server. The servers 209.165.200.225 and 209.165.200.226 are load balanced based on
sessions rather than transactions.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
189
RADIUS Server Load Balancing
Example: Configuring the Preferred Server with Different Authentication and Authorization Servers
Device> enable
Device# configure terminal
Device(config)# aaa group server radius authentication-group
Device(config-sg-radius)# server 209.165.200.225 key radkey1
Device(config-sg-radius)# server 209.165.200.226 key radkey2
Device(config-sg-radius)# exit
Device(config)# aaa group server radius accounting-group
Device(config-sg-radius)# server 209.165.201.1 key radkey3
Device(config-sg-radius)# server 209.165.201.2 key radkey4
Device(config-sg-radius)# end
The authentication server group and the accounting server group do not share any common servers. A preferred
server is never found for accounting transactions; therefore, authentication and accounting servers are
load-balanced based on transactions. Start and stop records are sent to the same server for a session.
If all servers have equal transaction processing capability, one-third of all authentication transactions are
directed toward the server 209.165.201.1. Therefore, one-third of all accounting transactions are also directed
toward the server 209.165.201.1. The remaining two-third of accounting transactions are load balanced equally
between servers 209.165.201.1 and 209.165.201.2. The server 209.165.201.1 receives fewer authentication
transactions because the server 209.165.201.1 has outstanding accounting transactions.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
190
RADIUS Server Load Balancing
Example: Configuring the Preferred Server with Authentication Servers As a Superset of Authorization Servers
Device> enable
Device# configure terminal
Device(config)# aaa group server radius authentication-group
Device(config-sg-radius)# server 209.165.200.225 key radkey1
Device(config-sg-radius)# server 209.165.200.226 key radkey2
Device(config-sg-radius)# exit
Device(config)# aaa group server radius accounting-group
Device(config-sg-radius)# server 209.165.200.225 key radkey1
Device(config-sg-radius)# server 209.165.200.226 key radkey2
Device(config-sg-radius)# server 209.165.201.1 key radkey3
Device(config-sg-radius)# end
One-half of all authentication transactions are sent to the server 209.165.200.225 and the other half to the
server 209.165.200.226. Servers 209.165.200.225 and 209.165.200.226 are preferred servers for authentication
and accounting transaction. Therefore, there is an equal distribution of authentication and accounting transactions
across servers 209.165.200.225 and 209.165.200.226. The server 209.165.201.1 is relatively unused.
Initially, one-third of authentication transactions are assigned to each server in the authorization server group.
As accounting transactions are generated for more sessions, accounting transactions are sent to servers
209.165.200.225 and 209.165.200.226 because the preferred server flag is on. As servers 209.165.200.225
and 209.165.200.226 begin to process more transactions, authentication transactions will start to be sent to
server 209.165.201.1. Transaction requests authenticated by server 209.165.201.1 do not have any preferred
server setting and are split between servers 209.165.200.225 and 209.165.200.226, which negates the use of
the preferred server flag. This configuration should be used cautiously.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
191
RADIUS Server Load Balancing
Feature History for RADIUS Server Load Balancing
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/techsupport
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you
can subscribe to various services, such as the Product Alert Tool (accessed
from Field Notices), the Cisco Technical Services Newsletter, and Really
Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com
user ID and password.
Cisco IOS XE Everest 16.5.1a RADIUS Server Load Balancing The RADIUS Server Load
Balancing feature distributes
authentication, authorization, and
accounting (AAA) authentication
and accounting transactions across
servers in a server group. These
servers can share the AAA
transaction load and thereby
respond faster to incoming requests.
Support for this feature was
introduced on all the models of the
Cisco Catalyst 9500 Series
Switches.
Cisco IOS XE Fuji 16.8.1a RADIUS Server Load Balancing Support for this feature was
introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
192
CHAPTER 11
Configuring Kerberos
• Prerequisites for Kerberos, on page 193
• Information about Kerberos, on page 193
• How to Configure Kerberos, on page 197
• Monitoring the Kerberos Configuration, on page 197
• Feature History for Kerberos, on page 197
When you add or create entries for the hosts and users, follow these guidelines:
• The Kerberos principal name must be in all lowercase characters.
• The Kerberos instance name must be in all lowercase characters.
• The Kerberos realm name must be in all uppercase characters.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
193
Configuring Kerberos
Kerberos Overview
Note In the Kerberos configuration examples, the trusted third party can be any switch that supports Kerberos, that
is configured as a network security server, and that can authenticate users by using the Kerberos protocol.
Kerberos Overview
Kerberos is a secret-key network authentication protocol, which was developed at the Massachusetts Institute
of Technology (MIT). It uses the Data Encryption Standard (DES) cryptographic algorithm for encryption
and authentication and authenticates requests for network resources. Kerberos uses the concept of a trusted
third party to perform secure verification of users and services. This trusted third party is called the key
distribution center (KDC).
Kerberos verifies that users are who they claim to be and the network services that they use are what the
services claim to be. To do this, a KDC or trusted Kerberos server issues tickets to users. These tickets, which
have a limited life span, are stored in user credential caches. The Kerberos server uses the tickets instead of
user names and passwords to authenticate users and network services.
Note A Kerberos server can be any switch that is configured as a network security server and that can authenticate
users by using the Kerberos protocol.
The Kerberos credential scheme uses a process called single logon. This process authenticates a user once
and then allows secure authentication (without encrypting another password) wherever that user credential is
accepted.
This software release supports Kerberos 5, which allows organizations that are already using Kerberos 5 to
use the same Kerberos authentication database on the KDC that they are already using on their other network
hosts (such as UNIX servers and PCs).
Kerberos supports these network services:
• Telnet
• rlogin
• rsh
Term Definition
Authentication A process by which a user or service identifies itself to another service. For example, a
client can authenticate to a switch or a switch can authenticate to another switch.
Authorization A means by which the switch identifies what privileges the user has in a network or on
the switch and what actions the user can perform.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
194
Configuring Kerberos
Kerberos Overview
Term Definition
Credential A general term that refers to authentication tickets, such as TGTs2 and service credentials.
Kerberos credentials verify the identity of a user or service. If a network service decides
to trust the Kerberos server that issued a ticket, it can be used in place of re-entering a
username and password. Credentials have a default life span of eight hours.
Instance An authorization level label for Kerberos principals. Most Kerberos principals are of the
form user@REALM (for example, [email protected]). A Kerberos principal with
a Kerberos instance has the form user/instance@REALM (for example,
smith/[email protected]). The Kerberos instance can be used to specify the
authorization level for the user if authentication is successful. The server of each network
service might implement and enforce the authorization mappings of Kerberos instances
but is not required to do so.
Note The Kerberos principal and instance names must be in all lowercase
characters.
KDC3 Key distribution center that consists of a Kerberos server and database program that is
running on a network host.
Kerberized A term that describes applications and services that have been modified to support the
Kerberos credential infrastructure.
Kerberos realm A domain consisting of users, hosts, and network services that are registered to a Kerberos
server. The Kerberos server is trusted to verify the identity of a user or network service
to another user or network service.
Note The Kerberos realm name must be in all uppercase characters.
Kerberos server A daemon that is running on a network host. Users and network services register their
identity with the Kerberos server. Network services query the Kerberos server to
authenticate to other network services.
KEYTAB4 A password that a network service shares with the KDC. In Kerberos 5 and later Kerberos
versions, the network service authenticates an encrypted service credential by using the
KEYTAB to decrypt it. In Kerberos versions earlier than Kerberos 5, KEYTAB is referred
to as SRVTAB5.
Principal Also known as a Kerberos identity, this is who you are or what a service is according to
the Kerberos server.
Note The Kerberos principal name must be in all lowercase characters.
Service A credential for a network service. When issued from the KDC, this credential is encrypted
credential with the password shared by the network service and the KDC. The password is also
shared with the user TGT.
SRVTAB A password that a network service shares with the KDC. In Kerberos 5 or later Kerberos
versions, SRVTAB is referred to as KEYTAB.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
195
Configuring Kerberos
Kerberos Operation
Term Definition
TGT Ticket granting ticket that is a credential that the KDC issues to authenticated users. When
users receive a TGT, they can authenticate to network services within the Kerberos realm
represented by the KDC.
2
ticket granting ticket
3
key distribution center
4
key table
5
server table
Kerberos Operation
A Kerberos server can be a device that is configured as a network security server and that can authenticate
remote users by using the Kerberos protocol. Although you can customize Kerberos in a number of ways,
remote users attempting to access network services must pass through three layers of security before they can
access network services.
To authenticate to network services by using a device as a Kerberos server, remote users must follow these
steps:
A remote user who initiates a un-Kerberized Telnet session and authenticates to a boundary switch is inside
the firewall, but the user must still authenticate directly to the KDC before getting access to the network
services. The user must authenticate to the KDC because the TGT that the KDC issues is stored on the switch
and cannot be used for additional authentication until the user logs on to the switch.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
196
Configuring Kerberos
Authenticating to Network Services
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
197
Configuring Kerberos
Feature History for Kerberos
Cisco IOS XE Fuji Kerberos Support for this feature was introduced on
16.8.1a the C9500-32C, C9500-32QC,
C9500-48Y4C, and C9500-24Y4C models
of the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
198
CHAPTER 12
MACsec Encryption
• Prerequisites for MACsec Encryption, on page 199
• Restrictions for MACsec Encryption, on page 199
• Information About MACsec Encryption, on page 200
• How to Configure MACsec Encryption, on page 208
• Configuration Examples for MACsec Encryption, on page 231
• Additional References for MACsec Encryption, on page 252
• Feature History for MACsec Encryption, on page 252
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
199
MACsec Encryption
Information About MACsec Encryption
• The MACsec Cipher announcement is not supported for MACsec Extended Packet Numbering (XPN)
Ciphers and switch-to-switch MACsec connections.
• MACsec XPN Cipher Suites are not supported in switch-to-host MACsec connections.
• Certificate-based MACsec is supported only if the access-session is configured as closed or in multiple-host
mode. None of the other configuration modes are supported.
• If the dot1q tag vlan native command is configured globally, the dot1x reauthentication will fail on
trunk ports.
• MACsec XPN Cipher Suites do not provide confidentiality protection with a confidentiality offset.
• MACsec with Precision Time Protocol (PTP) is not supported.
• MACsec is not supported on Locator ID Separation Protocol (LISP) interfaces and Cisco Software-Defined
Access (SD-Access) solution.
• MACsec is not supported with Multicast VPN (mVPN).
• MACsec is not supported in Software-Defined Access deployments.
• should-secure access mode is supported on switch-to-switch ports only using PSK authentication.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
200
MACsec Encryption
MACsec Encryption Overview
Note When switch-to-switch MACSec is enabled, all traffic is encrypted, except the EAP-over-LAN (EAPOL)
packets.
Link layer security can include both packet authentication between switches and MACsec encryption between
switches (encryption is optional). Link layer security is supported on SAP-based MACsec.
Cisco TrustSec and Cisco SAP are meant only for switch-to-switch links and are not supported on switch
ports connected to end hosts, such as PCs or IP phones. MKA is supported on switch-to-host facing links as
well as switch-to-switch links. Host-facing links typically use flexible authentication ordering for handling
heterogeneous devices with or without IEEE 802.1x, and can optionally use MKA-based MACsec encryption.
Cisco NDAC and SAP are mutually exclusive with Network Edge Access Topology (NEAT), which is used
for compact switches to extend security outside the wiring closet.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
201
MACsec Encryption
MKA Policies
Note Starting with Cisco IOS XE 16.12.1 release, support for MKA with high availability has been introduced for
Cisco Catalyst 9500 High Performance Series Switches. The high availability feature enables a pair of route
processors to act as backup for each other. With high availability support for MKA if there is an active RP
failure, the stand-by RP takes over existing MKA sessions in a minimally-disruptive switchover.
The EAP framework implements MKA as a newly defined EAP-over-LAN (EAPOL) packet. EAP
authentication produces a master session key (MSK) shared by both partners in the data exchange. Entering
the EAP session ID generates a secure connectivity association key name (CKN). The switch acts as the
authenticator for both switch-to-switch and switch-to-host; and acts as the key server for switch-to-host. It
generates a random secure association key (SAK), which is sent to the client partner. The client is never a key
server and can only interact with a single MKA entity, the key server. After key derivation and generation,
the switch sends periodic transports to the partner at a default interval of 2 seconds.
The packet body in an EAPOL Protocol Data Unit (PDU) is referred to as a MACsec Key Agreement PDU
(MKPDU). MKA sessions and participants are deleted when the MKA lifetime (6 seconds) passes with no
MKPDU received from a participant. For example, if a MKA peer disconnects, the participant on the switch
continues to operate MKA until 6 seconds have elapsed after the last MKPDU is received from the MKA
peer.
Note Integrity check value (ICV) indicator in MKPDU is optional. ICV is not optional when the traffic is encrypted.
MKA Policies
You apply a defined MKA policy to an interface to enable MKA on the interface. Removing the MKA policy
disables MKA on that interface. You can configure these options:
• Policy name, not to exceed 16 ASCII characters.
• Confidentiality (encryption) offset of 0, 30, or 50 bytes for each physical interface
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
202
MACsec Encryption
Virtual Ports
Virtual Ports
Use virtual ports for multiple secured connectivity associations on a single physical port. Each connectivity
association (pair) represents a virtual port. In switch-to-switch, you can have only one virtual port per physical
port. In switch-to-host, you can have a maximum of two virtual ports per physical port, of which one virtual
port can be part of a data VLAN; the other must externally tag its packets for the voice VLAN. You cannot
simultaneously host secured and unsecured sessions in the same VLAN on the same port. Because of this
limitation, 802.1x multiple authentication mode is not supported.
The exception to this limitation is in multiple-host mode when the first MACsec supplicant is successfully
authenticated and connected to a hub that is connected to the switch. A non-MACsec host connected to the
hub can send traffic without authentication because it is in multiple-host mode. We do not recommend using
multi-host mode because after the first successful client, authentication is not required for other clients.
Virtual ports represent an arbitrary identifier for a connectivity association and have no meaning outside the
MKA Protocol. A virtual port corresponds to a separate logical port ID. Valid port IDs for a virtual port are
0x0002 to 0xFFFF. Each virtual port receives a unique secure channel identifier (SCI) based on the MAC
address of the physical interface concatenated with a 16-bit port ID.
MKA Statistics
Some MKA counters are aggregated globally, while others are updated both globally and per session. You
can also obtain information about the status of MKA sessions. See Example: Displaying MKA Information,
on page 245 for further information.
Note The lifetime of the keys need to be overlapped in order to achieve hitless key rollover.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
203
MACsec Encryption
Replay Protection Window Size
Single-Host Mode
The figure shows how a single EAP authenticated session is secured by MACsec by using MKA
Figure 12: MACsec in Single-Host Mode with a Secured Data Session
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
204
MACsec Encryption
Multiple-Domain Mode
Note Multi-host mode is not recommended because after the first successful client, authentication is not required
for other clients, which is not secure.
Multiple-Domain Mode
In standard (not 802.1x REV) 802.1x multiple-domain mode, a port is open or closed based on a single
authentication. If the primary user, a PC on data domain, is authenticated, the same level of network access
is provided to any domain connected to the same port. If a secondary user is a MACsec supplicant, it cannot
be authenticated and traffic would no flow. A secondary user, an IP phone on voice domain, that is a
non-MACsec host, can send traffic to the network without authentication because it is in multiple-domain
mode.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
205
MACsec Encryption
Limitations for MACsec Connections Across Intermediate Switches
Figure 14: Topology for ClearTag MACsec : MACsec Not Configured on the Intermediate Switches
Prior to Cisco IOS XE Fuji 16.8.1a, should-secure was supported for MKA and SAP. With should-secure
enabled, if the peer is configured for MACsec, the data traffic is encrypted, otherwise it is sent in clear text.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
206
MACsec Encryption
MKA/MACsec for Port Channel
Note Etherchannel links that are formed as part of the port channel can either be congruent or disparate i.e. the links
can either be MACsec-secured or non-MACsec-secured. MKA session between the port members is established
even if a port member on one side of the port channel is not configured with MACsec.
It is recommended that you enable MKA/MACsec on all the member ports for better security of the port
channel.
Note Only the MACsec Cipher Suite capabilities which are configured in the MKA policy are announced from the
authenticator to the supplicant.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
207
MACsec Encryption
How to Configure MACsec Encryption
• Secure Announcements (MKPDUs) : Secure announcements revalidate the MACsec Cipher Suite
capabilities which were shared previously through unsecure announcements.
Once the session is authenticated, peer capabilities which were received through EAPOL announcements are
revalidated with the secure announcements. If there is a mismatch in the capabilities, the MKA session tears
down.
Note The MKA session between the supplicant and the authenticator does not tear down even if the MACsec Cipher
Suite Capabilities configured on both do not result in a common cipher suite.
Procedure
Step 3 mka policy policy-name Identifies an MKA policy, and enters MKA
policy configuration mode. The maximum
Example:
policy name length is 16 characters.
Device(config)# mka policy mka_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
208
MACsec Encryption
Configuring an MKA Policy
Step 4 key-server priority Configures MKA key server options and set
priority (between 0-255).
Example:
Device(config-mka-policy)# key-server Note When value of key server priority
priority 200 is set to 255, the peer can not
become the key server. The key
server priority value is valid only
for MKA PSK; and not for MKA
EAPTLS.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
209
MACsec Encryption
Configuring Switch-to-host MACsec Encryption
Procedure
Step 3 interface type number Identifies the MACsec interface, and enters
interface configuration mode. The interface
Example:
must be a physical interface.
Device(config)# interface
GigabitEthernet 1/0/1
Step 4 switchport access vlanvlan-id Configures the access VLAN for the port.
Example:
Device(config-if)# switchport access
vlan 1
Step 7 authentication event linksec fail action (Optional) Specifies that the switch processes
authorize vlan vlan-id authentication link-security failures resulting
from unrecognized user credentials by
Example:
authorizing a restricted VLAN on the port after
Device(config-if)# authentication event a failed authentication attempt.
linksec fail action authorize vlan 1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
210
MACsec Encryption
Configuring Switch-to-host MACsec Encryption
Step 9 authentication linksec policy must-secure Sets the LinkSec security policy to secure the
session with MACsec if the peer is available.
Example:
If not set, the default is should secure.
Device(config-if)# authentication
linksec policy must-secure
Step 10 authentication port-control auto Enables 802.1x authentication on the port. The
port changes to the authorized or unauthorized
Example:
state based on the authentication exchange
Device(config-if)# authentication between the switch and the client.
port-control auto
Step 12 authentication timer reauthenticate (Optional) Enters a value between 1 and 65535
(in seconds). Obtains re-authentication timeout
Example:
value from the server. Default re-authentication
Device(config-if)# authentication timer time is 3600 seconds.
reauthenticate
Step 15 dot1x pae authenticator Configures the port as an 802.1x port access
entity (PAE) authenticator.
Example:
Device(config-if)# dot1x pae
authenticator
Step 16 spanning-tree portfast Enables spanning tree Port Fast on the interface
in all its associated VLANs. When the Port
Example:
Fast feature is enabled, the interface changes
Device(config-if)# spanning-tree directly from a blocking state to a forwarding
portfast
state without making the intermediate
spanning-tree state changes
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
211
MACsec Encryption
Configuring MKA MACsec using PSK
Step 18 show authentication session interface Verifies the details of the security status of the
interface-id details authorized session.
Example:
Device# show authentication session
interface GigabitEthernet 1/0/1
Step 19 show macsec interface interface-id Verifies the MACsec status on the interface.
Example:
Device# show macsec interface
GigabitEthernet 1/0/1
Procedure
Step 3 key chain key-chain-name macsec Configures a key chain and enters the key chain
configuration mode.
Example:
Device(config)# key chain keychain1
macsec
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
212
MACsec Encryption
Configuring MACsec MKA on an Interface using PSK
Step 6 key-string { [0|6|7] pwd-string | pwd-string} Sets the password for a key string. Only hex
characters must be entered.
Example:
Device(config-key-chain)# key-string
12345678901234567890123456789012
Step 7 lifetime local [start timestamp {hh::mm::ss | Sets the lifetime of the pre shared key.
day | month | year}] [duration seconds | end
timestamp {hh::mm::ss | day | month | year}]
Example:
Device(config-key-chain)# lifetime local
12:12:00 July 28 2016 12:19:00 July 28
2016
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
213
MACsec Encryption
Configuring Certificate-Based MACsec Encryption
Step 7 macsec replay-protection window-size frame Sets the MACsec window size for replay
number protection.
Example:
Device(config-if)# macsec
replay-protection window-size 10
What to do next
It is not recommended to change the MKA policy on an interface with MKA PSK configured when the session
is running. However, if a change is required, you must reconfigure the policy as follows:
1. Disable the existing session by removing macsec network-link configuration on each of the participating
node using the no macsec network-link command
2. Configure the MKA policy on the interface on each of the participating node using the mka policy
policy-name command.
3. Enable the new session on each of the participating node by using the macsec network-link command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
214
MACsec Encryption
Generating Key Pairs
Procedure
Step 3 crypto key generate rsa label label-name Generates a RSA key pair for signing and
general-keys modulus size encryption.
Example: You can also assign a label to each key pair
Device(config)# crypto key generate rsa using the label keyword. The label is referenced
label general-keys modulus by the trustpoint that uses the key pair. If you
2048 do not assign a label, the key pair is
automatically labeled <Default-RSA-Key>.
If you do not use additional keywords this
command generates one general purpose RSA
key pair. If the modulus is not specified, the
default key modulus of 1024 is used. You can
specify other modulus sizes with the modulus
keyword.
Step 5 show authentication session interface Verifies the authorized session security status.
interface-id
Example:
Device# show authentication session
interface gigabitethernet 0/1/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
215
MACsec Encryption
Configuring Enrollment using SCEP
Procedure
Step 3 crypto pki trustpoint server name Declares the trustpoint and a given name and
enters ca-trustpoint configuration mode.
Example:
Device(config)# crypto pki trustpoint
ka
Step 4 enrollment url url name pem Specifies the URL of the CA on which your
device should send certificate requests.
Example:
Device(ca-trustpoint)# enrollment url An IPv6 address can be added in the URL
http://url:80 enclosed in brackets. For example: http://
[2001:DB8:1:1::1]:80.
The pem keyword adds privacy-enhanced mail
(PEM) boundaries to the certificate request.
Step 5 rsakeypair label Specifies which key pair to associate with the
certificate.
Example:
Device(ca-trustpoint)# rsakeypair Note The rsakeypair name must
exampleCAkeys match the trust-point name.
Step 8 revocation-check crl Specifies CRL as the method to ensure that the
certificate of a peer has not been revoked.
Example:
Device(ca-trustpoint)# revocation-check
crl
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
216
MACsec Encryption
Configuring Enrollment Manually
Step 11 crypto pki authenticate name Retrieves the CA certificate and authenticates
it.
Example:
Device(config)# crypto pki authenticate
myca
Step 13 show crypto pki certificate trustpoint name Displays information about the certificate for
the trust point.
Example:
Device# show crypto pki certificate ka
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
217
MACsec Encryption
Configuring Enrollment Manually
Procedure
Step 3 crypto pki trustpoint server name Declares the trustpoint and a given name and
enters ca-trustpoint configuration mode.
Example:
Device# crypto pki trustpoint ka
Step 4 enrollment url url-name Specifies the URL of the CA on which your
device should send certificate requests.
Example:
Device(ca-trustpoint)# enrollment url An IPv6 address can be added in the URL
http://url:80 enclosed in brackets. For example: http://
[2001:DB8:1:1::1]:80.
The pem keyword adds privacy-enhanced mail
(PEM) boundaries to the certificate request.
Step 5 rsakeypair label Specifies which key pair to associate with the
certificate.
Example:
Device(ca-trustpoint)# rsakeypair
exampleCAkeys
Step 8 revocation-check crl Specifies CRL as the method to ensure that the
certificate of a peer has not been revoked.
Example:
Device(ca-trustpoint)# revocation-check
crl
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
218
MACsec Encryption
Configuring Enrollment Manually
Step 11 crypto pki enroll name Generates certificate request and displays the
request for copying and pasting into the
Example:
certificate server.
Device(config)# crypto pki enroll myca
Enter enrollment information when you are
prompted. For example, specify whether to
include the device FQDN and IP address in
the certificate request.
You are also given the choice about displaying
the certificate request to the console terminal.
The base-64 encoded certificate with or
without PEM headers as requested is displayed.
Step 12 crypto pki import name certificate Imports a certificate via TFTP at the console
terminal, which retrieves the granted
Example:
certificate.
Device(config)# crypto pki import myca
certificate The device attempts to retrieve the granted
certificate via TFTP using the same filename
used to send the request, except the extension
is changed from “.req” to “.crt”. For usage key
certificates, the extensions “-sign.crt” and
“-encr.crt” are used.
The device parses the received files, verifies
the certificates, and inserts the certificates into
the internal certificate database on the switch.
Note Some CAs ignore the usage key
information in the certificate
request and issue general purpose
usage certificates. If your CA
ignores the usage key
information in the certificate
request, only import the general
purpose certificate. The router
will not use one of the two key
pairs generated.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
219
MACsec Encryption
Configuring Switch-to-switch MACsec Encryption
Procedure
Step 3 interface type number Identifies the MACsec interface, and enters
interface configuration mode. The interface
Example:
must be a physical interface.
Device(config)# interface
gigabitethernet 0/2/1
Step 7 access-session host-mode multi-host Allows hosts to gain access to the interface.
Example:
Device(config-if)# access-session
host-mode multi-host
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
220
MACsec Encryption
Configuring MACsec XPN
Step 10 dot1x pae both Configures the port as an 802.1X port access
entity (PAE) supplicant and authenticator.
Example:
Device(config-if)# dot1x pae both
Step 13 show macsec interface interface-id Displays MACsec details for the interface.
Example:
Device# show macsec interface
GigabitEthernet 1/0/1
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
221
MACsec Encryption
Applying the XPN MKA Policy to an Interface
Step 4 macsec-cipher-suite { gcm-aes-128 | Configures cipher suite for deriving SAK with
gcm-aes-256 | gcm-aes-xpn-128 | 128-bit and 256-bit encryption for XPN.
gcm-aes-xpn-256}
Example:
Device(config-mka-policy)#
macsec-cipher-suite gcm-aes-xpn-256
Step 5 sak-rekey interval time-interval (Optional) Configures the SAK rekey interval
(in seconds). The range is from 30 to 65535.
Example:
By default, the SAK rekey interval occurs
Device(config-mka-policy)# sak-rekey automatically depending on the interface speed.
interval 50
Use the no form of this command to stop the
SAK rekey timer.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
222
MACsec Encryption
Configuring MKA/MACsec for Port Channel
Step 4 mka policy policy-name Applies the XPN MKA protocol policy to the
interface.
Example:
Device(config-if)# mka policy
mka-xpn-policy
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
223
MACsec Encryption
Configuring MKA/MACsec for Port Channel using PSK
Step 7 macsec replay-protection window-size frame Sets the MACsec window size for replay
number protection.
Example:
Device(config-if)# macsec
replay-protection window-size 0
Step 8 channel-group channel-group-number mode Configures the port in a channel group and sets
{auto | desirable} | {active | passive} | {on} the mode.
Example: Note You cannot configure ports in a
Device(config-if)# channel-group 3 mode channel group without configuring
auto active on MACsec on the interface. You
must configure the commands in
Step 3, 4, 5 and 6 before this step.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
224
MACsec Encryption
Configuring Port Channel Logical Interfaces for Layer 2 EtherChannels
Procedure
Step 3 interface port-channel channel-group-number Creates the port channel interface, and enters
interface configuration mode.
Example:
Device(config)# interface port-channel Note Use the no form of this command
1 to delete the port channel
interface.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
225
MACsec Encryption
Configuring Port Channel Logical Interfaces for Layer 3 EtherChannels
Procedure
Step 5 ip address ip-address subnet-mask Assigns an IP address and subnet mask to the
EtherChannel.
Example:
Device(config-if)# ip address 10.2.2.3
255.255.255.254
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
226
MACsec Encryption
Configuring an MKA Policy for Secure Announcement
Procedure
Step 3 mka policy policy-name Identifies an MKA policy and enters MKA
policy configuration mode. The maximum
Example:
policy name length is 16 characters.
Device(config)# mka policy mka_policy
Note The default MACsec cipher suite
in the MKA policy is
GCM-AES-128. If the device
supports both GCM-AES-128 and
GCM-AES-256 ciphers, we
recommend that you define and
use a user-defined MKA policy to
include both 128 and 256 bits
ciphers or only 256 bits cipher, as
may be required.
Step 4 key-server priority Configures MKA key server options and sets
priority between 0-255.
Example:
Device(config-mka-policy)# key-server Note When value of key server priority
priority 200 is set to 255, the peer cannot
become the key server. The key
server priority value is valid only
for MKA PSK. This does not
apply to MKA EAP-TLS.
Step 6 macsec-cipher-suite {gcm-aes-128 | Configures cipher suite for deriving SAK with
gcm-aes-256} 128-bit or 256-bit encryption.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
227
MACsec Encryption
Configuring Secure Announcement Globally
Procedure
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
228
MACsec Encryption
Configuring Cisco TrustSec MACsec
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
229
MACsec Encryption
Configuring Cisco TrustSec Switch-to-Switch Link Security in Manual Mode
• Before changing the configuration from MKA to Cisco TrustSec SAP and vice versa, we recommend
that you remove the interface configuration.
Beginning in privileged EXEC mode, follow these steps to manually configure Cisco TrustSec on an interface
to another Cisco TrustSec device:
Procedure
Step 4 sap pmk key [mode-list mode1 [mode2 (Optional) Configures the SAP pairwise master
[mode3 [mode4]]]] key (PMK) and operation mode. SAP is
disabled by default in Cisco TrustSec manual
Example:
mode.
Device(config-if-cts-manual)# sap pmk
1234abcdef mode-list gcm-encrypt no-encap • key: A hexadecimal value with an even
number of characters and a maximum
length of 32 characters.
Step 5 no propagate sgt Use the no form of this command when the peer
is incapable of processing a SGT. The no
Example:
propagate sgt command prevents the interface
Device(config-if-cts-manual)# no from transmitting the SGT to the peer.
propagate sgt
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
230
MACsec Encryption
Configuration Examples for MACsec Encryption
Step 8 show cts interface [interface-id |brief (Optional) Verify the configuration by
|summary] displaying TrustSec-related interface
characteristics.
Device> enable
Device# configure terminal
Device(config)# mka policy mka_policy
Device(config-mka-policy)# key-server priority 200
Device(config-mka-policy)# macsec-cipher-suite gcm-aes-128
Device(config-mka-policy)# confidentiality-offset 30
Device(config-mka-policy)# ssci-based-on-sci
Device(config-mka-policy)#end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
231
MACsec Encryption
Example: Configuring MACsec MKA using PSK
This example shows how to configure MACsec MKA on an interface using PSK.
Device> enable
Device# configure terminal
Device(config)# interface GigabitEthernet 0/0/0
Device(config-if)# mka policy mka_policy
Device(config-if)# mka pre-shared-key key-chain key-chain-name
Device(config-if)# macsec replay-protection window-size 10
Device(config-if)# end
The following is sample output of the show mka session command for the above configuration:
Device# show mka session
====================================================================================================
Et0/0 aabb.cc00.6600/0002 icv NO NO
In case of interoperability between two images, where one having the CKN behavior change, and one without
the CKN behavior change, the hex-string for the key must be a 64-character hex-string with zero padded for
it to work on a device that has an image with the CKN behavior change. See the examples below:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
232
MACsec Encryption
Example: Configuring MACsec MKA Using Certificate-Based MACsec Encryption
This example shows how to apply MACsec MKA XPN policy to an interface:
Device> enable
Device# configure terminal
Device(config)#interface Fo 1/0/1
Device(config-if)# mka policy mka-xpn-policy
Device(config-if)# end
The following is a sample output of the show mka sessions details command with 128-bit XPN Cipher Suite
configured:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
233
MACsec Encryption
Example: Configuring MACsec XPN
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
The following is sample output of the show mka sessions details command with 256-bit XPN Cipher Suite
configured:
Device# show mka sessions details
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
234
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
Device> enable
Device# configure terminal
Device(config)# key chain KC macsec
Device(config-key-chain)# key 1000
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
235
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# switchport
Device(config-if)# switchport mode trunk
Device(config-if)# no shutdown
Device(config-if)# end
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# switchport
Device(config-if)# switchport mode trunk
Device(config-if)# no shutdown
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
236
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
------+-------------+-----------+-----------------------------------------------
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# no switchport
Device(config-if)# ip address 10.25.25.3 255.255.255.0
Device(config-if)# no shutdown
Device(config-if)# end
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# no switchport
Device(config-if)# ip address 10.25.25.4 255.255.255.0
Device(config-if)# no shutdown
Device(config-if)# end
The following is sample output from the show etherchannel summary command:
------+-------------+-----------+-----------------------------------------------
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
237
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
Device> enable
Device# configure terminal
Device(config)# key chain KC macsec
Device(config-key-chain)# key 1000
Device(config-key-chain)# cryptographic-algorithm aes-128-cmac
Device(config-key-chain)# key-string FC8F5B10557C192F03F60198413D7D45
Device(config-key-chain)# exit
Device(config)# mka policy POLICY
Device(config-mka-policy)# key-server priority 0
Device(config-mka-policy)# macsec-cipher-suite gcm-aes-128
Device(config-mka-policy)# confidentiality-offset 0
Device(config-mka-policy)# exit
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# channel-group 2 mode active
Device(config-if)# macsec network-link
Device(config-if)# mka policy POLICY
Device(config-if)# mka pre-shared-key key-chain KC
Device(config-if)# exit
Device(config)# interface gigabitethernet 1/0/2
Device(config-if)# channel-group 2 mode active
Device(config-if)# macsec network-link
Device(config-if)# mka policy POLICY
Device(config-if)# mka pre-shared-key key-chain KC
Device(config-if)# end
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# switchport
Device(config-if)# switchport mode trunk
Device(config-if)# no shutdown
Device(config-if)# end
The following is sample output from the show etherchannel summary command:
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
238
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
------+-------------+-----------+-----------------------------------------------
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# no switchport
Device(config-if)# ip address 10.25.25.4 255.255.255.0
Device(config-if)# no shutdown
Device(config-if)# end
The following is sample output from the show etherchannel summary command:
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
239
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
------+-------------+-----------+-----------------------------------------------
Device> enable
Device# configure terminal
Device(config)# key chain KC macsec
Device(config-key-chain)# key 1000
Device(config-key-chain)# cryptographic-algorithm aes-128-cmac
Device(config-key-chain)# key-string FC8F5B10557C192F03F60198413D7D45
Device(config-key-chain)# exit
Device(config)# mka policy POLICY
Device(config-mka-policy)# key-server priority 0
Device(config-mka-policy)# macsec-cipher-suite gcm-aes-128
Device(config-mka-policy)# confidentiality-offset 0
Device(config-mka-policy)# exit
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# channel-group 2 mode desirable
Device(config-if)# macsec network-link
Device(config-if)# mka policy POLICY
Device(config-if)# mka pre-shared-key key-chain KC
Device(config-if)# exit
Device(config)# interface gigabitethernet 1/0/2
Device(config-if)# channel-group 2 mode desirable
Device(config-if)# macsec network-link
Device(config-if)# mka policy POLICY
Device(config-if)# mka pre-shared-key key-chain KC
Device(config-if)# end
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# switchport
Device(config-if)# switchport mode trunk
Device(config-if)# no shutdown
Device(config-if)# end
The following shows a sample output from the show etherchannel summary command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
240
MACsec Encryption
Example: Configuring MACsec MKA for Port Channel using PSK
------+-------------+-----------+-----------------------------------------------
Device 2
Device> enable
Device# configure terminal
Device(config)# interface port-channel 2
Device(config-if)# no switchport
Device(config-if)# ip address 10.25.25.4 255.255.255.0
Device(config-if)# no shutdown
Device(config-if)# end
The following is sample output from the show etherchannel summary command:
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
241
MACsec Encryption
Example: Configuring MACsec Cipher Announcement
------+-------------+-----------+-----------------------------------------------
===============================================================================
Interface Local-TxSCI Policy-Name Inherited
Key-Server
Port-ID Peer-RxSCI MACsec-Peers Status CKN
=========================================================================================
Te1/0/1 00a3.d144.3364/0025 POLICY NO NO
37 701f.539b.b0c6/0032 1 Secured
1000
The following is a sample output for show running-config interface interface-name command with EAPoL
announcement enabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
242
MACsec Encryption
Example: Configuring MACsec Cipher Announcement
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
243
MACsec Encryption
Example: Configuring MACsec Cipher Announcement
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
244
MACsec Encryption
Example: Displaying MKA Information
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
Applied Interfaces...
GigabitEthernet1/0/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
245
MACsec Encryption
Example: Displaying MKA Information
====================================================================================================
Interface Local-TxSCI Policy-Name Inherited Key-Server
Port-ID Peer-RxSCI MACsec-Peers Status CKN
====================================================================================================
Gi1/0/1 204c.9e85.ede4/002b p2 NO YES
43 c800.8459.e764/002a 1 Secured
0100000000000000000000000000000000000000000000000000000000000000
The following is a sample output from the show mka sessions interface interface-name command:
Device# show mka sessions interface GigabitEthernet 1/0/1
====================================================================================================
Interface Local-TxSCI Policy-Name Inherited Key-Server
Port-ID Peer-RxSCI MACsec-Peers Status CKN
====================================================================================================
Gi1/0/1 204c.9e85.ede4/002b p2 NO YES
43 c800.8459.e764/002a 1 Secured
0100000000000000000000000000000000000000000000000000000000000000
The following is sample output from the show mka sessions interface interface-name detail command.
Device# show mka sessions interface GigabitEthernet 1/0/1 detail
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
246
MACsec Encryption
Example: Displaying MKA Information
The following is a sample output from the show mka sessions details command:
Device# show mka sessions details
SAK Transmit Wait Time... 0s (Not waiting for any peers to respond)
SAK Retire Time.......... 0s (No Old SAK to retire)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
247
MACsec Encryption
Example: Displaying MKA Information
The following is a sample output from the show mka policy command:
Device# show mka policy
The following is a sample output from the show mka policy policy-name command:
Device# show mka policy p2
The following is a sample output from the show mka policy policy-name detail command:
Device# show mka policy p2 detail
Applied Interfaces...
GigabitEthernet1/0/1
The following is a sample output from the show mka statistics interface interface-name command:
Device# show mka statistics interface GigabitEthernet 1/0/1
CA Statistics
Pairwise CAKs Derived... 0
Pairwise CAK Rekeys..... 0
Group CAKs Generated.... 0
Group CAKs Received..... 0
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
248
MACsec Encryption
Example: Displaying MKA Information
SA Statistics
SAKs Generated.......... 1
SAKs Rekeyed............ 0
SAKs Received........... 0
SAK Responses Received.. 1
MKPDU Statistics
MKPDUs Validated & Rx... 89585
"Distributed SAK".. 0
"Distributed CAK".. 0
MKPDUs Transmitted...... 89596
"Distributed SAK".. 1
"Distributed CAK".. 0
The following is a sample output from the show mka summary command:
Device# show mka summary
====================================================================================================
Interface Local-TxSCI Policy-Name Inherited Key-Server
Port-ID Peer-RxSCI MACsec-Peers Status CKN
====================================================================================================
Gi1/0/1 204c.9e85.ede4/002b p2 NO YES
43 c800.8459.e764/002a 1 Secured
0100000000000000000000000000000000000000000000000000000000000000
Deleted (Secured).......... 0
Keepalive Timeouts......... 0
CA Statistics
Pairwise CAKs Derived...... 0
Pairwise CAK Rekeys........ 0
Group CAKs Generated....... 0
Group CAKs Received........ 0
SA Statistics
SAKs Generated............. 1
SAKs Rekeyed............... 0
SAKs Received.............. 0
SAK Responses Received..... 1
MKPDU Statistics
MKPDUs Validated & Rx...... 89589
"Distributed SAK"..... 0
"Distributed CAK"..... 0
MKPDUs Transmitted......... 89600
"Distributed SAK"..... 1
"Distributed CAK"..... 0
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
249
MACsec Encryption
Example: Displaying MKA Information
Session Failures
Bring-up Failures................ 0
Reauthentication Failures........ 0
Duplicate Auth-Mgr Handle........ 0
SAK Failures
SAK Generation................... 0
Hash Key Generation.............. 0
SAK Encryption/Wrap.............. 0
SAK Decryption/Unwrap............ 0
SAK Cipher Mismatch.............. 0
CA Failures
Group CAK Generation............. 0
Group CAK Encryption/Wrap........ 0
Group CAK Decryption/Unwrap...... 0
Pairwise CAK Derivation.......... 0
CKN Derivation................... 0
ICK Derivation................... 0
KEK Derivation................... 0
Invalid Peer MACsec Capability... 0
MACsec Failures
Rx SC Creation................... 0
Tx SC Creation................... 0
Rx SA Installation............... 0
Tx SA Installation............... 0
MKPDU Failures
MKPDU Tx......................... 0
MKPDU Rx Validation.............. 0
MKPDU Rx Bad Peer MN............. 0
MKPDU Rx Non-recent Peerlist MN.. 0
The following is a sample output from the show macsec interface command:
Device# show macsec interface HundredGigE 2/0/4
MACsec is enabled
Replay protect : enabled
Replay window : 0
Include SCI : yes
Use ES Enable : no
Use SCB Enable : no
Admin Pt2Pt MAC : forceTrue(1)
Pt2Pt MAC Operational : no
Cipher : GCM-AES-128
Confidentiality Offset : 0
Capabilities
ICV length : 16
Data length change supported: yes
Max. Rx SA : 16
Max. Tx SA : 16
Max. Rx SC : 8
Max. Tx SC : 8
Validate Frames : strict
PN threshold notification support : Yes
Ciphers supported : GCM-AES-128
GCM-AES-256
GCM-AES-XPN-128
GCM-AES-XPN-256
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
250
MACsec Encryption
Example: Displaying MKA Information
SCI : 3C5731BBB5850475
SC state : inUse(1)
Elapsed time : 7w0d
Start time : 7w0d
Current AN: 0
Previous AN: -
Next PN: 149757
SA State: inUse(1)
Confidentiality : yes
SAK Unchanged : yes
SA Create time : 00:04:41
SA Start time : 7w0d
SC Statistics
Auth-only Pkts : 0
Auth-only Bytes : 0
Encrypted Pkts : 0
Encrypted Bytes : 0
SA Statistics
Auth-only Pkts : 0
Auth-only Bytes : 0
Encrypted Pkts : 149756
Encrypted Bytes : 16595088
Port Statistics
Egress untag pkts 0
Egress long pkts 0
Port Statistics
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
251
MACsec Encryption
Additional References for MACsec Encryption
Standard/RFC Title
IEEE 802.1AE-2006 Media Access Control (MAC) Security
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
252
MACsec Encryption
Feature History for MACsec Encryption
Cisco IOS XE Everest MACsec Encryption MACsec is the IEEE 802.1AE standard for
16.5.1a authenticating and encrypting packets between two
MACsec-capable devices. Catalyst switches support
802.1AE encryption with MACsec Key Agreement
(MKA) encryption between the switch and host
device.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a MACsec Encryption Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Cisco IOS XE Gibraltar MKA with High MKA with high availability is supported.
16.12.1 Availability
Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
253
MACsec Encryption
Feature History for MACsec Encryption
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
254
CHAPTER 13
Configuring Secure Shell
• Configuring Secure Shell, on page 255
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
• For SSH to work, the switch needs an Rivest, Shamir, and Adleman (RSA) public/private key pair. This
is the same with Secure Copy Protocol (SCP), which relies on SSH for its secure transport.
• Download the required image on the device. The Secure Shell (SSH) server requires an IPsec (Data
Encryption Standard [DES] or 3DES) encryption software image; the SSH client requires an IPsec (DES
or 3DES) encryption software image.)
• Configure a hostname and host domain for your device by using the hostname and ip domain name
commands in global configuration mode.
• Generate a Rivest, Shamir, and Adleman (RSA) key pair for your device. This key pair automatically
enables SSH and remote authentication when the crypto key generate rsa command is entered in global
configuration mode.
Note To delete the RSA key pair, use the crypto key zeroize rsa global configuration command. Once you delete
the RSA key pair, you automatically disable the SSH server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
255
Configuring Secure Shell
Restrictions for Configuring Secure Shell
• Configure user authentication for local or remote access. You can configure authentication with or without
authentication, authorization, and accounting (AAA).
• The Secure Shell (SSH) server requires an IPsec (Data Encryption Standard [DES] or 3DES) encryption
software image; the SSH client requires an IPsec (DES or 3DES) encryption software image.)
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
• The Secure Shell (SSH) server and SSH client are supported on Data Encryption Standard (DES) (56-bit)
and 3DES (168-bit) data encryption software images only. In DES software images, DES is the only
encryption algorithm available. In 3DES software images, both DES and 3DES encryption algorithms
are available.
• Execution shell is the only application supported.
• The login banner is not supported in Secure Shell Version 1. It is supported in Secure Shell Version 2.
• The SFTP server is not supported.
SSH Server
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
The Secure Shell (SSH) Server feature enables an SSH client to make a secure, encrypted connection to a
Cisco device. This connection provides functionality that is similar to that of an inbound Telnet connection.
Before SSH, security was limited to Telnet security. SSH allows a strong encryption to be used with the Cisco
software authentication. The SSH server in Cisco software works with publicly and commercially available
SSH clients.
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
The Secure Shell (SSH) Integrated Client feature is an application that runs over the SSH protocol to provide
device authentication and encryption. The SSH client enables a Cisco device to make a secure, encrypted
connection to another Cisco device or to any other device running the SSH server. This connection provides
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
256
Configuring Secure Shell
RSA Authentication Support
functionality similar to that of an outbound Telnet connection except that the connection is encrypted. With
authentication and encryption, the SSH client allows for secure communication over an unsecured network.
The SSH client in Cisco software works with publicly and commercially available SSH servers. The SSH
client supports the ciphers of Data Encryption Standard (DES), 3DES, and password authentication. User
authentication is performed like that in the Telnet session to the device. The user authentication mechanisms
supported for SSH are RADIUS, TACACS+, and the use of locally stored usernames and passwords.
Note The SSH client functionality is available only when the SSH server is enabled.
Note The SSH client functionality is available only when the SSH server is enabled.
User authentication is performed like that in the Telnet session to the device. SSH also supports the following
user authentication methods:
• TACACS+
• RADIUS
• Local authentication and authorization
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
257
Configuring Secure Shell
How to Configure Secure Shell
• If you get CLI error messages after entering the crypto key generate rsa global configuration command,
an RSA key pair has not been generated. Reconfigure the hostname and domain, and then enter the crypto
key generate rsa command.
• When generating the RSA key pair, the message No host name specified might appear. If it does, you
must configure a hostname by using the hostname command in global configuration mode.
• When generating the RSA key pair, the message No domain specified might appear. If it does, you must
configure an IP domain name by using the ip domain name command in global configuration mode.
• When configuring the local authentication and authorization authentication method, make sure that AAA
is disabled on the console.
Procedure
Step 4 ip domain name domain_name Configures a host domain for your device.
Example:
Device(config)# ip domain name
your_domain
Step 5 crypto key generate rsa Enables the SSH server for local and remote
authentication on the device and generates an
Example:
RSA key pair. Generating an RSA key pair for
Device(config)# crypto key generate rsa the device automatically enables SSH.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
258
Configuring Secure Shell
Configuring an SSH Server
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
259
Configuring Secure Shell
Invoking an SSH Client
Step 4 ip ssh rekey {time time | volume volume} (Optional) Configures a time-based rekey or a
volume-based rekey for SSH.
Example:
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
Perform this task to invoke the Secure Shell (SSH) client. The SSH client runs in user EXEC mode and has
no specific configuration tasks.
Procedure
Step 2 ssh -l username -vrf vrf-name ip-address Invokes the SSH client to connect to an IP host
or address in the specified virtual routing and
Example:
forwarding (VRF) instance.
Device# ssh -l user1 -vrf vrf1 192.0.2.1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
260
Configuring Secure Shell
Configuration Examples for Secure Shell
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
The following is an example of the Secure Shell (SSH) control parameters configured for the server. In this
example, the timeout interval of 30 seconds has been specified. This timeout interval is used during the SSH
negotiation phase.
Device> enable
Device# configure terminal
Device(config)# ip ssh timeout 30
Device(config)# end
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
In the following example, the Secure Shell (SSH) client has been invoked to connect to IP address 192.0.2.1
in the specified virtual routing and forwarding (VRF) instance:
Device> enable
Device# ssh -1 user1 -vrf vrf1 192.0.2.1
Note Unless otherwise noted, the term “SSH” denotes “SSH Version 1” only.
To verify that the Secure Shell (SSH) server is enabled and to display the version and configuration data for
your SSH connection, use the show ip ssh command. The following example shows that SSH is enabled:
Device# show ip ssh
To verify the status of your SSH server connections, use the show ssh command. The following example
shows the SSH server connections on the device when SSH is enabled:
Device# show ssh
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
261
Configuring Secure Shell
Additional References for Secure Shell
SSH Version 2 Secure Shell Version 2 Support module in the Security Configuration Guide
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/techsupport
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you
can subscribe to various services, such as the Product Alert Tool (accessed
from Field Notices), the Cisco Technical Services Newsletter, and Really
Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com
user ID and password.
Cisco IOS XE Everest Secure Shell SSH is a protocol that provides a secure, remote
16.5.1a connection to a device. SSH provides more security
for remote connections than Telnet does by providing
strong encryption when a device is authenticated..
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
262
Configuring Secure Shell
Feature History for Configuring Secure Shell
Cisco IOS XE Fuji 16.8.1a Secure Shell Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
263
Configuring Secure Shell
Feature History for Configuring Secure Shell
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
264
CHAPTER 14
Secure Shell Version 2 Support
The Secure Shell Version 2 Support feature allows you to configure Secure Shell (SSH) Version 2. (SSH
Version 1 support was implemented in an earlier Cisco software release.) SSH runs on top of a reliable transport
layer and provides strong authentication and encryption capabilities. The only reliable transport that is defined
for SSH is TCP. SSH provides a means to securely access and securely execute commands on another computer
over a network. The Secure Copy Protocol (SCP) feature that is provided with SSH allows for the secure
transfer of files.
• Prerequisites for Secure Shell Version 2 Support, on page 265
• Restrictions for Secure Shell Version 2 Support, on page 266
• Information About Secure Shell Version 2 Support, on page 266
• How to Configure Secure Shell, on page 269
• Configuration Examples for Secure Shell Version 2 Support, on page 280
• Additional References for Secure Shell Version 2 Support, on page 285
• Feature History for Secure Shell Version 2 Support, on page 285
Note The SSH Version 2 server and the SSH Version 2 client are supported on your Cisco software, depending on
your release. (The SSH client runs both the SSH Version 1 protocol and the SSH Version 2 protocol. The
SSH client is supported in k9 images depending on your release.)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
265
Secure Shell Version 2 Support
Restrictions for Secure Shell Version 2 Support
Note SSH Version 1 is a protocol that has never been defined in a standard. If you do not want your device to fall
back to the undefined protocol (Version 1), you should use the ip ssh version command and specify Version
2.
The ip ssh rsa keypair-name command enables an SSH connection using the Rivest, Shamir, and Adleman
(RSA) keys that you have configured. Previously, SSH was linked to the first RSA keys that were generated
(that is, SSH was enabled when the first RSA key pair was generated). This behavior still exists, but by using
the ip ssh rsa keypair-name command, you can overcome this behavior. If you configure the ip ssh rsa
keypair-name command with a key pair name, SSH is enabled if the key pair exists or SSH will be enabled
if the key pair is generated later. If you use this command to enable SSH, you are not forced to configure a
hostname and a domain name, which was required in SSH Version 1 of the Cisco software.
Note The login banner is supported in SSH Version 2, but it is not supported in Secure Shell Version 1.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
266
Secure Shell Version 2 Support
Secure Shell Version 2 Enhancements
The Cisco SSH implementation has traditionally used 768-bit modulus, but with an increasing need for higher
key sizes to accommodate DH Group 14 (2048 bits) and Group 16 (4096 bits) cryptographic applications, a
message exchange between the client and the server to establish the favored DH group becomes necessary.
The ip ssh dh min size command configures the modulus size on the SSH server. In addition to this, the ssh
command was extended to add VRF awareness to the SSH client-side functionality through which the VRF
instance name in the client is provided with the IP address to look up the correct routing table and establish
a connection.
Debugging was enhanced by modifying SSH debug commands. The debug ip ssh command was extended
to simplify the debugging process. Before the simplification of the debugging process, this command printed
all debug messages related to SSH regardless of what was specifically required. The behavior still exists, but
if you configure the debug ip ssh command with a keyword, messages are limited to information specified
by the keyword.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
267
Secure Shell Version 2 Support
SSH And Switch Access
Note • Storing public keys on a server uses memory; therefore, the number of public keys configurable on an
SSH server is restricted to ten users, with a maximum of two public keys per user.
• RSA-based user authentication is supported by the Cisco server, but Cisco clients cannot propose public
key as an authentication method. If the Cisco server receives a request from an open SSH client for
RSA-based authentication, the server accepts the authentication request.
• For server authentication, configure the RSA public key of the server manually and configure the ip ssh
stricthostkeycheck command on the Cisco SSH client.
Note When you configure the snmp-server host command, the IP address must be the address of the PC that has
the SSH (telnet) client and that has IP connectivity to the SSH server.
You must also enable SNMP debugging using the debug snmp packet command to display the traps. The
trap information includes information such as the number of bytes sent and the protocol that was used for the
SSH session.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
268
Secure Shell Version 2 Support
How to Configure Secure Shell
Step 4 ip domain name name Configures a domain name for your device.
Example:
catalyst9k(config)# ip domain name
example.com
Step 5 crypto key generate rsa Enables the SSH server for local and remote
authentication.
Example:
catalyst9k(config)# crypto key generate
rsa
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
269
Secure Shell Version 2 Support
Configuring a Device for SSH Version 2 Using RSA Key Pairs
Step 3 ip ssh rsa keypair-name keypair-name Specifies the RSA key pair to be used for SSH.
Example: Note A Cisco device can have many
Device(config)# ip ssh rsa keypair-name RSA key pairs.
sshkeys
Step 4 crypto key generate rsa usage-keys label Enables the SSH server for local and remote
key-label modulus modulus-size authentication on the device.
Example: • For SSH Version 2, the modulus size must
Device(config)# crypto key generate rsa be at least 768 bits.
usage-keys label sshkeys modulus 768
Note To delete the RSA key pair, use
the crypto key zeroize rsa
command. When you delete the
RSA key pair, you automatically
disable the SSH server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
270
Secure Shell Version 2 Support
Configuring the Cisco SSH Server to Perform RSA-Based User Authentication
Step 4 ip domain name name Defines a default domain name that the Cisco
software uses to complete unqualified
Example:
hostnames.
host1(config)# ip domain name name1
Step 6 ip ssh pubkey-chain Configures SSH-RSA keys for user and server
authentication on the SSH server and enters
Example:
public-key configuration mode.
host1(config)# ip ssh pubkey-chain
• The user authentication is successful if
the RSA public key stored on the server
is verified with the public or the private
key pair stored on the client.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
271
Secure Shell Version 2 Support
Configuring the Cisco IOS SSH Client to Perform RSA-Based Server Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
272
Secure Shell Version 2 Support
Configuring the Cisco IOS SSH Client to Perform RSA-Based Server Authentication
Step 6 ip ssh pubkey-chain Configures SSH-RSA keys for user and server
authentication on the SSH server and enters
Example:
public-key configuration mode.
host1(config)# ip ssh pubkey-chain
Step 10 key-hash key-type key-name (Optional) Specifies the SSH key type and
version.
Example:
host1(conf-ssh-pubkey-server)# key-hash • The key type must be ssh-rsa for the
ssh-rsa key1 configuration of private/public key pairs.
• This step is optional only if the
key-string command is configured.
• You must configure either the key-string
command or the key-hash command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
273
Secure Shell Version 2 Support
Starting an Encrypted Session with a Remote Device
Note The device with which you want to connect must support a Secure Shell (SSH) server that has an encryption
algorithm that is supported in Cisco software. Also, you need not enable your device. SSH can be run in
disabled mode.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
274
Secure Shell Version 2 Support
Verifying the Status of the Secure Shell Connection
Device> enable
Device# exit
The following sample output from the show ssh command displays status of various SSH Version
1 and Version 2 connections for Version 1 and Version 2 connections:
-----------------------------------------------------------------------
Device# show ssh
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
275
Secure Shell Version 2 Support
Verifying the Secure Shell Version 2 Status
-------------------------------------------------------------------------
The following sample output from the show ssh command displays status of various SSH Version
1 and Version 2 connections for a Version 2 connection with no Version 1 connection:
-------------------------------------------------------------------------
Device# show ssh
The following sample output from the show ssh command displays status of various SSH Version
1 and Version 2 connections for a Version 1 connection with no Version 2 connection:
-------------------------------------------------------------------------
Device# show ssh
Device> enable
Step 2 show ip ssh Displays the version and configuration data for
SSH.
Example:
Device# exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
276
Secure Shell Version 2 Support
Monitoring and Maintaining Secure Shell Version 2
Examples
The following sample output from the show ip ssh command displays the version of SSH that is
enabled, the authentication timeout values, and the number of authentication retries for Version 1
and Version 2 connections:
-----------------------------------------------------------------------
Device# show ip ssh
The following sample output from the show ip ssh command displays the version of SSH that is
enabled, the authentication timeout values, and the number of authentication retries for a Version 2
connection with no Version 1 connection:
------------------------------------------------------------------------
Device# show ip ssh
The following sample output from the show ip ssh command displays the version of SSH that is
enabled, the authentication timeout values, and the number of authentication retries for a Version 1
connection with no Version 2 connection:
------------------------------------------------------------------------
Device# show ip ssh
Step 3 debug snmp packet Enables debugging of every SNMP packet sent
or received by the device.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
277
Secure Shell Version 2 Support
Monitoring and Maintaining Secure Shell Version 2
Example
The following sample output from the debug ip ssh command shows the connection is an SSH
Version 2 connection:
Device# debug ip ssh
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
278
Secure Shell Version 2 Support
Monitoring and Maintaining Secure Shell Version 2
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
279
Secure Shell Version 2 Support
Configuration Examples for Secure Shell Version 2 Support
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
280
Secure Shell Version 2 Support
Example: Setting an SNMP Trap
Device# exit
Password:
*Nov 17 12:50:53.199: SSH0: sent protocol version id SSH-1.99-Cisco-1.25
*Nov 17 12:50:53.199: SSH CLIENT0: protocol version id is - SSH-1.99-Cisco-1.25
*Nov 17 12:50:53.199: SSH CLIENT0: sent protocol version id SSH-1.99-Cisco-1.25
*Nov 17 12:50:53.199: SSH CLIENT0: protocol version exchange successful
*Nov 17 12:50:53.203: SSH0: protocol version id is - SSH-1.99-Cisco-1.25
*Nov 17 12:50:53.335: SSH CLIENT0: key exchange successful and encryption on
*Nov 17 12:50:53.335: SSH2 CLIENT 0: using method keyboard-interactive
Password:
Password:
Password:
*Nov 17 12:51:01.887: SSH2 CLIENT 0: using method password authentication
Password:
Password: lab
Device2>
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
281
Secure Shell Version 2 Support
Example: Enabling ChPass with a Blank Password Change
Password:
Old Password: cisco
New Password: cisco123
Re-enter New password: cisco123
Device2> exit
Password: cisco
Your password has expired.
Enter a new one now.
New Password: cisco123
Re-enter New password: cisco123
Device2> exit
Password:cisco1
Your password has expired.
Enter a new one now.
New Password: cisco
Re-enter New password: cisco12
The New and Re-entered passwords have to be the same.
Try again.
New Password: cisco
Re-enter New password: cisco
Device2>
Example: Enabling ChPass and Expiring the Password After Three Logins
In the following example, the ChPass feature is enabled and TACACS+ ACS is used as the back-end AAA
server. The password expires after three logins using the SSH keyboard interactive authentication method.
Device# ssh -l cisco. 10.1.1.3
Password: cisco
Device2> exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
282
Secure Shell Version 2 Support
Example: SNMP Debugging
Password: cisco
Device2> exit
Password: cisco
Device2> exit
Password: cisco
Your password has expired.
Enter a new one now.
New Password: cisco123
Re-enter New password: cisco123
Device2>
Device2# exit
Device1#
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
283
Secure Shell Version 2 Support
Examples: SSH Debugging Enhancements
The following is sample output from the debug ip ssh packet command. The output provides debugging
information about the SSH packet.
Device# debug ip ssh packet
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
284
Secure Shell Version 2 Support
Additional References for Secure Shell Version 2 Support
SSH Version Configuring Secure Shell chapter of the Security Configuration Guide
1
Standards
Standards Title
IETF Secure Shell Version 2 Draft Standards Internet Engineering Task Force website
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
285
Secure Shell Version 2 Support
Feature History for Secure Shell Version 2 Support
Cisco IOS XE Everest 16.5.1a Secure Shell Version 2 Support The Secure Shell Version 2 Support
feature allows you to configure
Secure Shell (SSH) Version 2 (SSH
Version 1 support was implemented
in an earlier Cisco IOS software
release). SSH runs on top of a
reliable transport layer and provides
strong authentication and
encryption capabilities. SSH
version 2 also supports AES
counter-based encryption mode.
Support for this feature was
introduced on all the models of the
Cisco Catalyst 9500 Series
Switches.
Cisco IOS XE Fuji 16.8.1a Secure Shell Version 2 Support Support for this feature was
introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
286
CHAPTER 15
SSH Support Over IPv6
Secure Shell (SSH) provides support for IPv6 addresses that enable a Cisco device to accept and establish
secure, encrypted connections with remote IPv6 nodes over an IPv6 transport.
• Prerequisites for SSH Support over IPv6, on page 287
• Information About SSH Support over IPv6, on page 287
• How to Configure SSH Support over IPv6, on page 288
• Configuration Examples for SSH Support over IPv6, on page 289
• Additional References for SSH Support over IPv6, on page 289
• Feature History for SSH Support over IPv6, on page 290
The basic restrictions for SSH over an IPv4 transport apply to SSH over an IPv6 transport. The use of locally
stored usernames and passwords is the only user authentication mechanism supported by SSH over an IPv6
transport. TACACS+ and RADIUS user authentication mechanisms are not supported over an IPv6 transport.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
287
SSH Support Over IPv6
How to Configure SSH Support over IPv6
client feature enables a Cisco device to make a secure, encrypted connection to another Cisco device or to
any other device running an SSH server. IPv6 enhancements to SSH consist of support for IPv6 addresses
that enable a Cisco device to accept and establish secure, encrypted connections with remote IPv6 nodes over
an IPv6 transport.
Procedure
Device> enable
Device(config)# exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
288
SSH Support Over IPv6
Configuration Examples for SSH Support over IPv6
Standard/RFC Title
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
289
SSH Support Over IPv6
Feature History for SSH Support over IPv6
Cisco IOS XE Everest 16.5.1a SSH Support over IPv6 SSH provides support for IPv6
addresses that enable a Cisco
device to accept and establish
secure, encrypted connections with
remote IPv6 nodes over an IPv6
transport.
Support for this feature was
introduced on all the models of the
Cisco Catalyst 9500 Series
Switches.
Cisco IOS XE Fuji 16.8.1a SSH Support over IPv6 Support for this feature was
introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
290
CHAPTER 16
Configuring SSH File Transfer Protocol
Secure Shell (SSH) includes support for SSH File Transfer Protocol (SFTP), which is a new standard file
transfer protocol introduced in SSHv2. This feature provides a secure and authenticated method for copying
device configuration or device image files.
• Prerequisites for SSH File Transfer Protocol, on page 291
• Restrictions for SSH File Transfer Protocol, on page 291
• Information About SSH Support over IPv6, on page 292
• How to Configure SSH File Transfer Protocol, on page 292
• Configuration Examples for SSH Support over IPv6, on page 293
• Additional References for SSH File Transfer Protocol, on page 294
• Feature History for SSH File Transfer Protocol, on page 294
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
291
Configuring SSH File Transfer Protocol
Information About SSH Support over IPv6
Configuring SFTP
Perform the following steps:
Procedure
Device> enable
Step 3 ip ssh source-interface interface-type Defines the source IP for the SSH session.
interface-number
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
292
Configuring SSH File Transfer Protocol
Performing an SFTP Copy Operation
Device(config)# exit
Command Purpose
Device# copy ios-file-system:file Copies a file from the local Cisco IOS file system to the
sftp://user:pwd@server-ip//filepath server.
Or Specify the username, password, IP address, and filepath
of the server.
Device# copy ios-file-system: sftp:
Device# copy sftp://user:pwd@server-ip Copies the file from the server to the local Cisco IOS
//filepath ios-file-system:file file system.
Or Specify the username, password, IP address, and filepath
of the server.
Device# copy sftp: ios-file-system:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
293
Configuring SSH File Transfer Protocol
Additional References for SSH File Transfer Protocol
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
294
Configuring SSH File Transfer Protocol
Feature History for SSH File Transfer Protocol
Cisco IOS XE Gibraltar 16.10.1 SSH File SSH includes support for
Transfer SFTP, a new standard file
Protocol transfer protocol
introduced in SSHv2.
Support for this feature
was introduced on all the
models of the Cisco
Catalyst 9500 Series
Switches.
Support for this feature
was introduced on the
C9500-32C, C9500-32QC,
C9500-48Y4C, and
C9500-24Y4C models of
the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
295
Configuring SSH File Transfer Protocol
Feature History for SSH File Transfer Protocol
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
296
CHAPTER 17
X.509v3 Certificates for SSH Authentication
• X.509v3 Certificates for SSH Authentication, on page 297
Use the default ip ssh server authenticate user command to remove the ip ssh server authenticate
user command from effect. The IOS secure shell (SSH) server then starts using the ip ssh server
algorithm authentication command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
297
X.509v3 Certificates for SSH Authentication
Digital Certificates
Digital Certificates
The validity of the authentication depends upon the strength of the linkage between the public signing key
and the identity of the signer. Digital certificates in the X.509v3 format (RFC5280) are used to provide identity
management. A chain of signatures by a trusted root certification authority and its intermediate certificate
authorities binds a given public signing key to a given digital identity.
Public key infrastructure (PKI) trustpoint helps manage the digital certificates. The association between the
certificate and the trustpoint helps track the certificate. The trustpoint contains information about the certificate
authority (CA), different identity parameters, and the digital certificate. Multiple trustpoints can be created
to associate with different certificates.
Configuring the SSH Server to Use Digital Certificates for Server Authentication
To configure the SSH server to use digital certificates for server authentication, perform this procedure:
Procedure
Step 3 ip ssh server algorithm hostkey Defines the order of host key algorithms. Only
{x509v3-ssh-rsa [ssh-rsa] | ssh-rsa the configured algorithm is negotiated with the
[x509v3-ssh-rsa]} secure shell (SSH) client.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
298
X.509v3 Certificates for SSH Authentication
Configuring the SSH Server to Verify Digital Certificates for User Authentication
Step 4 ip ssh server certificate profile Configures server certificate profile and user
certificate profile and enters SSH certificate
Example:
profile configuration mode.
Device(config)# ip ssh server certificate
profile
Step 6 trustpoint sign PKI-trustpoint-name Attaches the public key infrastructure (PKI)
trustpoint to the server certificate profile. The
Example:
SSH server uses the certificate associated with
Device(ssh-server-cert-profile-server)# this PKI trustpoint for server authentication.
trustpoint sign trust1
Configuring the SSH Server to Verify Digital Certificates for User Authentication
To configure the SSH Server to use digital certificates for user authentication, perform this procedure:
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
299
X.509v3 Certificates for SSH Authentication
Configuring the SSH Server to Verify Digital Certificates for User Authentication
Step 3 ip ssh server algorithm authentication Defines the order of user authentication
{publickey | keyboard | password} algorithms. Only the configured algorithm is
negotiated with the secure shell (SSH) client.
Example:
Device(config)# ip ssh server algorithm Note • The SSH server must have at
authentication publickey least one configured user
authentication algorithm.
• To use the certificate method
for user authentication, the
publickey keyword must be
configured.
• The ip ssh server algorithm
authentication command
replaces the ip ssh server
authenticate user command.
Step 4 ip ssh server algorithm publickey Defines the order of public key algorithms. Only
{x509v3-ssh-rsa [ssh-rsa] | ssh-rsa the configured algorithm is accepted by the SSH
[x509v3-ssh-rsa]} client for user authentication.
Example: Note The SSH client must have at least
Device(config)# ip ssh server algorithm one configured public key
publickey x509v3-ssh-rsa algorithm:
• ssh-rsa: public-key-based
authentication
• x509v3-ssh-rsa:
certificate-based
authentication
Step 5 ip ssh server certificate profile Configures server certificate profile and user
certificate profile and enters SSH certificate
Example:
profile configuration mode.
Device(config)# ip ssh server certificate
profile
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
300
X.509v3 Certificates for SSH Authentication
Verifying Configuration for Server and User Authentication Using Digital Certificates
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
301
X.509v3 Certificates for SSH Authentication
Configuration Examples for X.509v3 Certificates for SSH Authentication
Example: Configuring the SSH Server to Use Digital Certificates for Server Authentication
This example shows how to configure the SSH Server to use digital certificates for server
authentication.
Device> enable
Device# configure terminal
Device(config)# ip ssh server algorithm hostkey x509v3-ssh-rsa
Device(config)# ip ssh server certificate profile
Device(ssh-server-cert-profile)# server
Device(ssh-server-cert-profile-server)# trustpoint sign trust1
Device(ssh-server-cert-profile-server)# end
Example: Configuring the SSH Server to Verify Digital Certificates for User Authentication
This example shows how to configure the SSH server to verify user's digital certificate for user
authentication.
Device> enable
Device# configure terminal
Device(config)# ip ssh server algorithm authentication publickey
Device(config)# ip ssh server algorithm publickey x509v3-ssh-rsa
Device(config)# ip ssh server certificate profile
Device(ssh-server-cert-profile)# user
Device(ssh-server-cert-profile-user)# trustpoint verify trust2
Device(ssh-server-cert-profile-user)# end
Cisco IOS XE Everest X.509v3 Certificates for The X.509v3 Certificates for SSH Authentication
16.5.1a SSH Authentication feature uses the X.509v3 digital certificates in server
and user authentication at the SSH server side.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
302
X.509v3 Certificates for SSH Authentication
Feature History for X.509v3 Certificates for SSH Authentication
Cisco IOS XE Fuji 16.8.1a X.509v3 Certificates for Support for this feature was introduced on the
SSH Authentication C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
303
X.509v3 Certificates for SSH Authentication
Feature History for X.509v3 Certificates for SSH Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
304
CHAPTER 18
SSH Algorithms for Common Criteria Certification
• Information About SSH Algorithms for Common Criteria Certification, on page 305
• How to Configure SSH Algorithms for Common Criteria Certification, on page 307
• Configuration Examples For SSH Algorithms for Common Criteria Certification, on page 311
• Verifying SSH Algorithms for Common Criteria Certification , on page 312
• Feature Information for Secure Shell Algorithms for Common Criteria Certification , on page 313
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
305
SSH Algorithms for Common Criteria Certification
Cisco IOS SSH Client Algorithms
2. aes192-cbc
3. aes256-cbc
4. 3des
Cisco IOS SSH clients support the Message Authentication Code (MAC) algorithms in the following order:
Supported Default HMAC order:
1. hmac-sha2-256
2. hmac-sha2-512
3. hmac-sha1
4. hmac-sha1-96
Cisco IOS SSH clients support only one host key algorithm and do not need a CLI configuration.
Supported Default Host Key order:
1. x509v3-ssh-rsa
2. ssh-rsa
Cisco IOS SSH clients support the Message Authentication Code (MAC) algorithms in the following order:
Supported Default HMAC order:
1. hmac-sha2-256
2. hmac-sha2-512
3. hmac-sha1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
306
SSH Algorithms for Common Criteria Certification
How to Configure SSH Algorithms for Common Criteria Certification
4. hmac-sha1-96
Cisco IOS SSH clients support only one host key algorithm and do not need a CLI configuration.
Supported Default Host Key order:
1. x509v3-ssh-rsa
2. ssh-rsa
Configuring an Encryption Key Algorithm for a Cisco IOS SSH Server and Client
Procedure
Step 3 ip ssh {server | client} algorithm encryption Defines the order of encryption algorithms in
{aes128-ctr | aes192-ctr | aes256-ctr | the SSH server and client. This order is
aes128-cbc | aes192-cbc | aes256-cbc | presented during algorithm negotiation.
3des-cbc }
Note The Cisco IOS SSH server and
Example: client must have at least one
Device(config)# ip ssh server algorithm configured encryption algorithm.
encryption aes128-ctr aes192-ctr
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
307
SSH Algorithms for Common Criteria Certification
Troubleshooting Tips
Device(config)# end
Troubleshooting Tips
If you try to disable the last encryption algorithm in the configuration, the following message is displayed
and the command is rejected:
Configuring a MAC Algorithm for a Cisco IOS SSH Server and Client
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
308
SSH Algorithms for Common Criteria Certification
Troubleshooting Tips
Device(config)# end
Troubleshooting Tips
If you try to disable the last MAC algorithm in the configuration, the following message is displayed and the
command is rejected:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
309
SSH Algorithms for Common Criteria Certification
Troubleshooting Tips
Device> enable
Step 3 ip ssh server algorithm hostkey Defines the order of host key algorithms. Only
{x509v3-ssh-rsa | ssh-rsa} the configured algorithm is negotiated with the
Cisco IOS secure shell (SSH) client.
Example:
Note The Cisco IOS SSH server must
Device(config)# ip ssh server algorithm have at least one configured host
hostkey x509v3-ssh-rsa ssh-rsa key algorithm:
• x509v3-ssh-rsa—X.509v3
certificate-based
authentication
• ssh-rsa—Public-key-based
authentication
Device(config)# end
Troubleshooting Tips
If you try to disable the last host key algorithm in the configuration, the following message is displayed and
the command is rejected:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
310
SSH Algorithms for Common Criteria Certification
Configuration Examples For SSH Algorithms for Common Criteria Certification
Example: Configuring Encryption Key Algorithms for a Cisco IOS SSH Server
Device> enable
Device# configure terminal
Device(config)# ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr aes128-cbc
aes192-cbc aes256-cbc 3des
Device(config)# end
Example: Configuring Encryption Key Algorithms for a Cisco IOS SSH Client
Device> enable
Device# configure terminal
Device(config)# ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr aes128-cbc
aes192-cbc aes256-cbc 3des
Device(config)# end
Device> enable
Device# configure terminal
Device(config)# ip ssh server algorithm mac hmac-sha2-256, hmac-sha2-512, hmac-sha1,
hmac-sha1-96
Device(config)# end
Example: Configuring Host Key Algorithms for a Cisco IOS SSH Server
Device> enable
Device# configure terminal
Device(config)# ip ssh server algorithm hostkey x509v3-ssh-rsa ssh-rsa
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
311
SSH Algorithms for Common Criteria Certification
Verifying SSH Algorithms for Common Criteria Certification
Step 1 enable
Enables privileged EXEC mode.
• Enter your password if prompted.
Example:
Device> enable
The following sample output from the show ip ssh command shows the MAC algorithms configured in the
default order:
The following sample output from the show ip ssh command shows the host key algorithms configured in
the default order:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
312
SSH Algorithms for Common Criteria Certification
Feature Information for Secure Shell Algorithms for Common Criteria Certification
Cisco IOS XE Everest Secure Shell Algorithms The SSH Algorithms for Common Criteria
16.5.1a for Common Criteria Certification feature provides the list and order of the
Certification algorithms that are allowed for Common Criteria
Certification. This module describes how to configure
the encryption, Message Authentication Code (MAC),
and host key algorithms for a secure shell (SSH)
server and client so that SSH connections can be
limited on the basis of the allowed algorithms list.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
313
SSH Algorithms for Common Criteria Certification
Feature Information for Secure Shell Algorithms for Common Criteria Certification
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
314
CHAPTER 19
Configuring Secure Socket Layer HTTP
• Information About Secure Socket Layer HTTP, on page 315
• How to Configure Secure Socket Layer HTTP, on page 318
• Monitoring Secure HTTP Server and Client Status, on page 324
• Additional References for Secure Socket Layer HTTP, on page 325
• Feature History for Secure Socket Layer HTTP, on page 325
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
315
Configuring Secure Socket Layer HTTP
Certificate Authority Trustpoints
For secure HTTP connections, we highly recommend that you configure a CA trustpoint. If a CA trustpoint
is not configured for the device running the HTTPS server, the server certifies itself and generates the needed
RSA key pair. Because a self-certified (self-signed) certificate does not provide adequate security, the connecting
client generates a notification that the certificate is self-certified, and the user has the opportunity to accept
or reject the connection. This option is useful for internal network topologies (such as testing).
If you do not configure a CA trustpoint, when you enable a secure HTTP connection, either a temporary or
a persistent self-signed certificate for the secure HTTP server (or client) is automatically generated.
• If the switch is not configured with a hostname and a domain name, a temporary self-signed certificate
is generated. If the switch reboots, any temporary self-signed certificate is lost, and a new temporary
new self-signed certificate is assigned.
• If the switch has been configured with a host and domain name, a persistent self-signed certificate is
generated. This certificate remains active if you reboot the switch or if you disable the secure HTTP
server so that it will be there the next time you re-enable a secure HTTP connection.
Note The certificate authorities and trustpoints must be configured on each device individually. Copying them from
other devices makes them invalid on the switch.
When a new certificate is enrolled, the new configuration change is not applied to the HTTPS server until the
server is restarted. You can restart the server using the reload command. On restarting the server, the switch
starts using the new certificate.
If a self-signed certificate has been generated, this information is included in the output of the show
running-config privileged EXEC command. This is a partial sample output from that command displaying
a self-signed certificate.
<output truncated>
<output truncated>
You can remove this self-signed certificate by disabling the secure HTTP server and entering the no crypto
pki trustpoint TP-self-signed-30890755072 global configuration command. If you later re-enable a secure
HTTP server, a new self-signed certificate is generated.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
316
Configuring Secure Socket Layer HTTP
CipherSuites
Note The values that follow TP self-signed depend on the serial number of the device.
You can use an optional command (ip http secure-client-auth) to allow the HTTPS server to request an
X.509v3 certificate from the client. Authenticating the client provides more security than server authentication
by itself.
CipherSuites
A CipherSuite specifies the encryption algorithm and the digest algorithm to use on a SSL connection. When
connecting to the HTTPS server, the client Web browser offers a list of supported CipherSuites, and the client
and server negotiate the best encryption algorithm to use from those on the list that are supported by both.
For example, Netscape Communicator 4.76 supports U.S. security with RSA Public Key Cryptography, MD2,
MD5, RC2-CBC, RC4, DES-CBC, and DES-EDE3-CBC.
For the best possible encryption, you should use a client browser that supports 128-bit encryption, such as
Microsoft Internet Explorer Version 5.5 (or later) or Netscape Communicator Version 4.76 (or later). The
SSL_RSA_WITH_DES_CBC_SHA CipherSuite provides less security than the other CipherSuites, as it does
not offer 128-bit encryption.
The more secure and more complex CipherSuites require slightly more processing time. This list defines the
CipherSuites supported by the switch and ranks them from fastest to slowest in terms of router processing
load (speed):
1. SSL_RSA_WITH_DES_CBC_SHA—RSA key exchange (RSA Public Key Cryptography) with
DES-CBC for message encryption and SHA for message digest
2. SSL_RSA_WITH_NULL_SHA key exchange with NULL for message encryption and SHA for message
digest (only for SSL 3.0).
3. SSL_RSA_WITH_NULL_MD5 key exchange with NULL for message encryption and MD5 for message
digest (only for SSL 3.0).
4. SSL_RSA_WITH_RC4_128_MD5—RSA key exchange with RC4 128-bit encryption and MD5 for
message digest
5. SSL_RSA_WITH_RC4_128_SHA—RSA key exchange with RC4 128-bit encryption and SHA for
message digest
6. SSL_RSA_WITH_3DES_EDE_CBC_SHA—RSA key exchange with 3DES and DES-EDE3-CBC for
message encryption and SHA for message digest
7. SSL_RSA_WITH_AES_128_CBC_SHA—RSA key exchange with AES 128-bit encryption and SHA
for message digest (only for SSL 3.0).
8. SSL_RSA_WITH_AES_256_CBC_SHA—RSA key exchange with AES 256-bit encryption and SHA
for message digest (only for SSL 3.0).
9. SSL_RSA_WITH_DHE_AES_128_CBC_SHA—RSA key exchange with AES 128-bit encryption and
SHA for message digest (only for SSL 3.0).
10. SSL_RSA_WITH_DHE_AES_256_CBC_SHA—RSA key exchange with AES 256-bit encryption and
SHA for message digest (only for SSL 3.0).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
317
Configuring Secure Socket Layer HTTP
Default SSL Configuration
Note The latest versions of Chrome do not support the four original cipher suites, thus disallowing access to both
web GUI and guest portals.
RSA (in conjunction with the specified encryption and digest algorithm combinations) is used for both key
generation and authentication on SSL connections. This usage is independent of whether or not a CA trustpoint
is configured.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
318
Configuring Secure Socket Layer HTTP
Configuring a CA Trustpoint
Step 4 ip domain name domain-name Specifies the IP domain name of the switch
(required only if you have not previously
Example:
configured an IP domain name). The domain
Device(config)# ip domain name name is required for security keys and
your_domain
certificates.
Step 5 crypto key generate rsa (Optional) Generates an RSA key pair. RSA
key pairs are required before you can obtain a
Example:
certificate for the switch. RSA key pairs are
Device(config)# crypto key generate rsa generated automatically. You can use this
command to regenerate the keys, if needed.
Step 6 crypto ca trustpoint name Specifies a local configuration name for the
CA trustpoint and enter CA trustpoint
Example:
configuration mode.
Device(config)# crypto ca trustpoint
your_trustpoint
Step 7 enrollment url url Specifies the URL to which the switch should
send certificate requests.
Example:
Device(ca-trustpoint)# enrollment url
http://your_server:80
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
319
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
Step 12 crypto ca authentication name Authenticates the CA by getting the public key
of the CA. Use the same name used in Step 5.
Example:
Device(config)# crypto ca authentication
your_trustpoint
Step 13 crypto ca enroll name Obtains the certificate from the specified CA
trustpoint. This command requests a signed
Example:
certificate for each RSA key pair.
Device(config)# crypto ca enroll
your_trustpoint
https://209.165.129:1026
or
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
320
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
https://host.domain.com:1026
The existing ip http access-class access-list-number command for specifying the access-list(Only IPv4 ACLs)
is going to be deprecated. You can still use this command to specify an access list to allow access to the HTTP
server. Two new commands have been introduced to enable support for specifying IPv4 and IPv6 ACLs.
These are ip http access-class ipv4 access-list-name | access-list-number for specifying IPv4 ACLs and
ip http access-class ipv6 access-list-name for specifying IPv6 ACLs. We recommend using the new CLI to
avoid receiving warning messages.
Note the following considerations for specifying access-lists:
• If you specify an access-list that does not exist, the configuration takes place but you receive the below
warning message:
ACL being attached does not exist, please configure it
• If you use ip http access-class ipv4 access-list-name | access-list-number or ip http access-class ipv6
access-list-name , and an access-list was already configured using ip http access-class , the below
warning message appears:
Removing ip http access-class <access-list-number>
ip http access-class access-list-number and ip http access-class ipv4 access-list-name | access-list-number
share the same functionality. Each command overrides the configuration of the previous command. The
following combinations between the configuration of the two commands explain the effect on the running
configuration:
• If ip http access-class access-list-number is already configured and you try to configure using ip http
access-class ipv4 access-list-number command, the configuration of ip http access-class
access-list-number will be removed and the configuration of ip http access-class ipv4 access-list-number
will be added to the running configuration.
• If ip http access-class access-list-number is already configured and you try to configure using ip http
access-class ipv4 access-list-name command, the configuration of ip http access-class access-list-number
will be removed and the configuration of ip http access-class ipv4 access-list-name will be added to the
running configuration.
• If ip http access-class ipv4 access-list-number is already configured and you try to configure using ip
http access-class access-list-name, the configuration of ip http access-class ipv4 access-list-number
will be removed from configuration and the configuration of ip http access-class access-list-name will
be added to the running configuration.
• If ip http access-class ipv4 access-list-name is already configured and you try to configure using ip http
access-class access-list-number, the configuration of ip http access-class ipv4 access-list-name will be
removed from the configuration and the configuration of ip http access-class access-list-number will
be added to the running configuration.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
321
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
or
HTTP secure server capability: Not
present
Step 5 ip http secure-port port-number (Optional) Specifies the port number to be used
for the HTTPS server. The default port number
Example:
is 443. Valid options are 443 or any number
Device(config)# ip http secure-port 443 in the range 1025 to 65535.
Step 9 ip http path path-name (Optional) Sets a base HTTP path for HTML
files. The path specifies the location of the
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
322
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Client
Step 12 ip http timeout-policy idle seconds life (Optional) Specifies how long a connection to
seconds requests value the HTTP server can remain open under the
defined circumstances:
Example:
Device(config)# ip http timeout-policy • idle: the maximum time period when no
idle 120 life 240 requests 1 data is received or response data cannot
be sent. The range is 1 to 600 seconds.
The default is 180 seconds (3 minutes).
• life: the maximum time period from the
time that the connection is established.
The range is 1 to 86400 seconds (24
hours). The default is 180 seconds.
• requests: the maximum number of
requests processed on a persistent
connection. The maximum value is
86400. The default is 1.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
323
Configuring Secure Socket Layer HTTP
Monitoring Secure HTTP Server and Client Status
Procedure
Table 19: Commands for Displaying the SSL Secure Server and Client Status
Command Purpose
show ip http client secure status Shows the HTTP secure client configuration.
show ip http server secure status Shows the HTTP secure server configuration.
show running-config Shows the generated self-signed certificate for secure HTTP connections.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
324
Configuring Secure Socket Layer HTTP
Additional References for Secure Socket Layer HTTP
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Cisco IOS XE Everest Secure Socket Layer Cisco's implementation of the secure HTTP server
16.5.1a HTTP and secure HTTP client uses an implementation of
SSL Version 3.0 with application-layer encryption.
On a secure HTTP connection, data to and from an
HTTP server is encrypted before being sent over the
Internet.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a Secure Socket Layer Support for this feature was introduced on the
HTTP C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
325
Configuring Secure Socket Layer HTTP
Feature History for Secure Socket Layer HTTP
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
326
CHAPTER 20
IPv4 ACLs
• Restrictions for IPv4 Access Control Lists, on page 327
• Information About IPv4 Access Control Lists, on page 328
• How to Configure IPv4 Access Control Lists, on page 339
• Monitoring IPv4 ACLs, on page 352
• Configuration Examples for IPv4 Access Control Lists, on page 353
• Additional References for IPv4 Access Control Lists, on page 365
• Feature History for IPv4 Access Control Lists, on page 365
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
327
IPv4 ACLs
Information About IPv4 Access Control Lists
• If a downloadable ACL contains any type of duplicate entries, the entries are not auto merged. As a
result, the 802.1X session authorization fails. Ensure that the downloadable ACL is optimized without
any duplicate entries, for example port-based and name-based entries for the same port.
• Egress ACL lookup is not supported for injected traffic that is forwarded by the software.
Note The mac access-group interface configuration command is only valid when applied to a physical Layer 2
interface. You cannot use the command on EtherChannel port channels.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
328
IPv4 ACLs
Access Control Entries
interface, the switch compares the fields in the packet against any applied ACLs to verify that the packet has
the required permissions to be forwarded, based on the criteria specified in the access lists. One by one, it
tests packets against the conditions in an access list. The first match decides whether the switch accepts or
rejects the packets. Because the switch stops testing after the first match, the order of conditions in the list is
critical. If no conditions match, the switch rejects the packet. If there are no restrictions, the switch forwards
the packet; otherwise, the switch drops the packet. The switch can use ACLs on all packets it forwards.
You configure access lists on a device to provide basic security for your network. If you do not configure
ACLs, all packets passing through the switch could be allowed onto all parts of the network. You can use
ACLs to control which hosts can access different parts of a network or to decide which types of traffic are
forwarded or blocked at device interfaces. For example, you can allow e-mail traffic to be forwarded but not
Telnet traffic.
Supported ACLs
The switch supports three types of ACLs to filter the traffic:
• Port ACLs access-control traffic entering a Layer 2 interface. You can apply port ACLs to a Layer 2
interface in each direction to each access list type—IPv4 and MAC.
• Router ACLs access-control traffic routed between VLANs and are applied to Layer 3 interfaces in a
specific direction (inbound or outbound).
• VLAN ACLs or VLAN maps are applied only to Layer 2 VLANs and impact bridged traffic only. You
can use VLAN maps to filter traffic between devices in the same VLAN. VLAN maps are configured
to provide access control based on Layer 3 addresses for IPv4. Unsupported protocols are access-controlled
through MAC addresses using Ethernet ACEs. After a VLAN map is applied to a VLAN, all packets
(routed or bridged) entering the VLAN are checked against the VLAN map. Packets can either enter the
VLAN through a switch port or through a routed port after being routed.
ACL Precedence
When VLAN maps, Port ACLs, and router ACLs are configured on the same switch, the filtering precedence,
from greatest to least for ingress traffic is port ACL, VLAN map, and then router ACL. For egress traffic, the
filtering precedence is router ACL, VLAN map, and then port ACL.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
329
IPv4 ACLs
Port ACLs
Port ACLs
Port ACLs are ACLs that are applied to Layer 2 interfaces on a switch. Port ACLs are supported on physical
interfaces and EtherChannel interfaces but not on EtherChannel member interfaces. Port ACLs can be applied
to the interface in inbound and outbound direction. The following access lists are supported:
• Standard IP access lists using source addresses
• Extended IP access lists using source and destination addresses and optional protocol type information
• MAC extended access lists using source and destination MAC addresses and optional protocol type
information
The switch examines ACLs on an interface and permits or denies packet forwarding based on how the packet
matches the entries in the ACL. In this way, ACLs control access to a network or to part of a network.
Figure 15: Using ACLs to Control Traffic in a Network
This is an example of using port ACLs to control access to a network when all workstations are in the same
VLAN. ACLs applied at the Layer 2 input would allow Host A to access the Human Resources network, but
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
330
IPv4 ACLs
Router ACLs
prevent Host B from accessing the same network. Port ACLs can only be applied to Layer 2 interfaces in the
inbound direction.
When you apply a port ACL to a trunk port, the ACL filters traffic on all VLANs present on the trunk port.
When you apply a port ACL to a port with voice VLAN, the ACL filters traffic on both data and voice VLANs.
With port ACLs, you can filter IP traffic by using IP access lists and non-IP traffic by using MAC addresses.
You can filter both IP and non-IP traffic on the same Layer 2 interface by applying both an IP access list and
a MAC access list to the interface.
Note You can’t apply more than one IP access list and one MAC access list to a Layer 2 interface. If an IP access
list or MAC access list is already configured on a Layer 2 interface and you apply a new IP access list or MAC
access list to the interface, the new ACL replaces the previously configured one.
Router ACLs
You can apply router ACLs on switch virtual interfaces (SVIs), which are Layer 3 interfaces to VLANs; on
physical Layer 3 interfaces; and on Layer 3 EtherChannel interfaces. You apply router ACLs on interfaces
for specific directions (inbound or outbound). You can apply one router ACL in each direction on an interface.
The switch supports these access lists for IPv4 traffic:
• Standard IP access lists use source addresses for matching operations.
• Extended IP access lists use source and destination addresses and optional protocol type information for
matching operations.
As with port ACLs, the switch examines ACLs associated with features configured on a given interface. As
packets enter the switch on an interface, ACLs associated with all inbound features configured on that interface
are examined. After packets are routed and before they are forwarded to the next hop, all ACLs associated
with outbound features configured on the egress interface are examined.
ACLs permit or deny packet forwarding based on how the packet matches the entries in the ACL, and can be
used to control access to a network or to part of a network.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
331
IPv4 ACLs
VLAN Maps
VLAN Maps
VLAN ACLs or VLAN maps are used to control the network traffic within a VLAN. You can apply VLAN
maps to all packets that are bridged within a VLAN in the switch or switch stack. VACLs are strictly for the
security packet filtering and for redirecting traffic to specific physical interfaces. VACLs are not defined by
direction (ingress or egress).
All non-IP protocols are access-controlled through MAC addresses and Ethertype using MAC VLAN maps.
(IP traffic is not access-controlled by MAC VLAN maps.) You can enforce VLAN maps only on packets
going through the switch; you cannot enforce VLAN maps on traffic between hosts on a hub or on another
switch that is connected to this switch.
With VLAN maps, forwarding of packets is permitted or denied, based on the action specified in the map.
Figure 16: Using VLAN Maps to Control Traffic
This figure shows how a VLAN map is applied to prevent a specific type of traffic from Host A in VLAN 10
from being forwarded. You can apply only one VLAN map to a VLAN.
Note For TCP ACEs with L4 Ops, the fragmented packets will be dropped per RFC
1858.
• Deny ACEs that check Layer 4 information never match a fragment unless the fragment contains Layer
4 information.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
332
IPv4 ACLs
Standard and Extended IPv4 ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
333
IPv4 ACLs
Numbered Standard IPv4 ACLs
In addition to numbered standard and extended ACLs, you can also create standard and extended named IP
ACLs by using the supported numbers. That is, the name of a standard IP ACL can be 1 to 99; the name of
an extended IP ACL can be 100 to 199. The advantage of using named ACLs instead of numbered lists is that
you can delete individual entries from a named list.
Note ICMP echo-reply cannot be filtered. All other ICMP codes or types can be filtered.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
334
IPv4 ACLs
Named IPv4 ACLs
Note The name you give to a standard or extended ACL can also be a number in the supported range of access list
numbers. That is, the name of a standard IP ACL can be 1 to 99. The advantage of using named ACLs instead
of numbered lists is that you can delete individual entries from a named list.
ACL Logging
The device software can provide logging messages about packets permitted or denied by a standard IP access
list. That is, any packet that matches the ACL causes an informational logging message about the packet to
be sent to the console. The level of messages logged to the console is controlled by the logging console
commands controlling the syslog messages.
Note ACL logging is not supported for ACLs used with Unicast Reverse Path Forwarding (uRPF). It is only
supported for router ACL.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
335
IPv4 ACLs
Hardware and Software Treatment of IP ACLs
Note Because routing is done in hardware and logging is done in software, if a large number of packets match a
permit or deny ACE containing a log keyword, the software might not be able to match the hardware processing
rate, and not all packets will be logged.
The first packet that triggers the ACL causes a logging message right away, and subsequent packets are
collected over 5-minute intervals before they appear or logged. The logging message includes the access list
number, whether the packet was permitted or denied, the source IP address of the packet, and the number of
packets from that source permitted or denied in the prior 5-minute interval.
Note The logging facility might drop some logging message packets if there are too many to be handled or if there
is more than one logging message to be handled in 1 second. This behavior prevents the device from crashing
due to too many logging packets. Therefore, the logging facility should not be used as a billing tool or an
accurate source of the number of matches to an access list.
Note If an ACL configuration cannot be implemented in hardware due to an out-of-resource condition on a device
or stack member, then only the traffic in that VLAN arriving on that device is affected.
For router ACLs, other factors can cause packets to be sent to the CPU:
• Using the log keyword
• Generating ICMP unreachable messages
When you enter the show ip access-lists privileged EXEC command, the match count displayed does not
account for packets that are access controlled in hardware. Use the show platform software fed switch {
switch_num | active | standby } acl counters hardware privileged EXEC command to obtain some basic
hardware ACL statistics for switched and routed packets.
Router ACLs function as follows:
• The hardware controls permit and deny actions of standard and extended ACLs (input and output) for
security access control.
• If log has not been specified, the flows that match a deny statement in a security ACL are dropped by
the hardware if ip unreachables is disabled. The flows matching a permit statement are switched in
hardware.
• Adding the log keyword to an ACE in a router ACL causes a copy of the packet to be sent to the CPU
for logging only. If the ACE is a permit statement, the packet is still switched and routed in hardware.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
336
IPv4 ACLs
VLAN Map Configuration Guidelines
Note When you use router ACLs with VLAN maps, packets that require logging on the router ACLs are not logged
if they are denied by a VLAN map.
If the VLAN map has a match clause for the type of packet (IP or MAC) and the packet does not match the
type, the default is to drop the packet. If there is no match clause in the VLAN map, and no action specified,
the packet is forwarded if it does not match any VLAN map entry.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
337
IPv4 ACLs
Time Ranges for ACLs
If you must configure a router ACL and a VLAN map on the same VLAN, use these guidelines for both router
ACL and VLAN map configuration:
• You can configure only one VLAN map and one router ACL in each direction (input/output) on a VLAN
interface.
• Whenever possible, try to write the ACL with all entries having a single action except for the final, default
action of the other type. That is, write the ACL using one of these two forms:
permit... permit... permit... deny ip any any
or
deny... deny... deny... permit ip any any
• To define multiple actions in an ACL (permit, deny), group each action type together to reduce the
number of entries.
• Avoid including Layer 4 information in an ACL; adding this information complicates the merging process.
The best merge results are obtained if the ACLs are filtered based on IP addresses (source and destination)
and not on the full flow (source IP address, destination IP address, protocol, and protocol ports). It is
also helpful to use don’t care bits in the IP address, whenever possible.
If you need to specify the full-flow mode and the ACL contains both IP ACEs and TCP/UDP/ICMP
ACEs with Layer 4 information, put the Layer 4 ACEs at the end of the list. This gives priority to the
filtering of traffic based on IP addresses.
Time-based access lists trigger CPU activity because the new configuration of the access list must be merged
with other features and the combined configuration loaded into the hardware memory. For this reason, you
should be careful not to have several access lists configured to take affect in close succession (within a small
number of minutes of each other.)
Note The time range relies on the device system clock; therefore, you need a reliable clock source. We recommend
that you use Network Time Protocol (NTP) to synchronize the device clock.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
338
IPv4 ACLs
IPv4 ACL Interface Considerations
Procedure
Step 1 Create an ACL by specifying an access list number or name and the access conditions.
Step 2 Apply the ACL to interfaces or terminal lines. You can also apply standard and extended IP ACLs to VLAN
maps.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
339
IPv4 ACLs
Creating a Numbered Extended ACL
Step 3 access-list access-list-number {deny | permit} Defines a standard IPv4 access list by using a
source source-wildcard ] source address and wildcard.
Example: The access-list-number is a decimal number
Device(config)# access-list 2 deny from 1 to 99 or 1300 to 1999.
your_host
Enter deny or permit to specify whether to
deny or permit access if conditions are matched.
The source is the source address of the network
or host from which the packet is being sent
specified as:
• The 32-bit quantity in dotted-decimal
format.
• The keyword any as an abbreviation for
source and source-wildcard of 0.0.0.0
255.255.255.255. You do not need to enter
a source-wildcard.
• The keyword host as an abbreviation for
source and source-wildcard of source
0.0.0.0.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
340
IPv4 ACLs
Creating a Numbered Extended ACL
Step 3 access-list access-list-number {deny | permit} Defines an extended IPv4 access list and the
protocol source source-wildcard destination access conditions.
destination-wildcard [precedence precedence]
The access-list-number is a decimal number
[tos tos] [fragments] [time-range
from 100 to 199 or 2000 to 2699.
time-range-name] [dscp dscp]
Enter deny or permit to specify whether to
Example:
deny or permit the packet if conditions are
Device(config)# access-list 101 permit matched.
ip host 10.1.1.2 any precedence 0 tos 0
log Source, source-wildcard, destination, and
destination-wildcard can be specified as:
• The 32-bit quantity in dotted-decimal
format.
• The keyword any for 0.0.0.0
255.255.255.255 (any host).
• The keyword host for a single host 0.0.0.0.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
341
IPv4 ACLs
Creating a Numbered Extended ACL
Step 4 access-list access-list-number {deny | permit} Defines an extended TCP access list and the
tcp source source-wildcard [operator port] access conditions.
destination destination-wildcard [operator port]
The parameters are the same as those described
[established] [precedence precedence] [tos
for an extended IPv4 ACL, with these
tos] [fragments] [time-range time-range-name]
exceptions:
[dscp dscp] [flag]
(Optional) Enter an operator and port to
Example:
compare source (if positioned after source
Device(config)# access-list 101 permit source-wildcard) or destination (if positioned
tcp any any eq 500
after destination destination-wildcard) port.
Possible operators include eq (equal), gt
(greater than), lt (less than), neq (not equal),
and range (inclusive range). Operators require
a port number (range requires two port numbers
separated by a space).
Enter the port number as a decimal number
(from 0 to 65535) or the name of a TCP port.
Use only TCP port numbers or names when
filtering TCP.
The other optional keywords have these
meanings:
• established: Enter to match an established
connection. This has the same function as
matching on the ack or rst flag.
• flag: Enter one of these flags to match by
the specified TCP header bits: ack
(acknowledge), fin (finish), psh (push),
rst (reset), syn (synchronize), or urg
(urgent).
Step 5 access-list access-list-number {deny | permit} (Optional) Defines an extended UDP access list
udp source source-wildcard [operator port] and the access conditions.
destination destination-wildcard [operator port]
The UDP parameters are the same as those
[precedence precedence] [tos tos] [fragments]
described for TCP except that the [operator
[time-range time-range-name] [dscp dscp]
[port]] port number or name must be a UDP
Example: port number or name, and the flag and
Device(config)# access-list 101 permit established keywords are not valid for UDP.
udp any any eq 100
Step 6 access-list access-list-number {deny | permit} Defines an extended ICMP access list and the
icmp source source-wildcard destination access conditions.
destination-wildcard [icmp-type | [[icmp-type
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
342
IPv4 ACLs
Creating Named Standard ACLs
Step 7 access-list access-list-number {deny | permit} (Optional) Defines an extended IGMP access
igmp source source-wildcard destination list and the access conditions.
destination-wildcard [igmp-type] [precedence
The IGMP parameters are the same as those
precedence] [tos tos] [fragments] [time-range
described for most IP protocols in an extended
time-range-name] [dscp dscp]
IPv4 ACL, with this optional parameter.
Example:
igmp-type: To match IGMP message type, enter
Device(config)# access-list 101 permit a number from 0 to 15, or enter the message
igmp any any 14
name: dvmrp, host-query, host-report, pim,
or trace.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
343
IPv4 ACLs
Creating Extended Named ACLs
Step 4 Use one of the following: In access-list configuration mode, specify one
or more conditions denied or permitted to
• deny {source [source-wildcard] | host
decide if the packet is forwarded or dropped.
source | any} [log]
• permit {source [source-wildcard] | host • host source: A source and source wildcard
source | any} [log] of source 0.0.0.0.
Example: • any: A source and source wildcard of
Device(config-std-nacl)# deny 192.168.0.0 0.0.0.0 255.255.255.255.
0.0.255.255 255.255.0.0 0.0.255.255
or
Device(config-std-nacl)# permit
10.108.0.0 0.0.0.0 255.255.255.0 0.0.0.0
Procedure
Step 3 ip access-list extended name Defines an extended IPv4 access list using a
name, and enter access-list configuration mode.
Example:
Device(config)# ip access-list extended The name can be a number from 100 to 199.
150
Step 4 {deny | permit} protocol {source In access-list configuration mode, specify the
[source-wildcard] | host source | any} conditions allowed or denied. Use the log
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
344
IPv4 ACLs
Configuring Time Ranges for ACLs
When you are creating extended ACLs, remember that, by default, the end of the ACL contains an implicit
deny statement for everything if it did not find a match before reaching the end. For standard ACLs, if you
omit the mask from an associated IP host address access list specification, 0.0.0.0 is assumed to be the mask.
After you create an ACL, any additions are placed at the end of the list. You cannot selectively add ACL
entries to a specific ACL. However, you can use no permit and no deny access-list configuration mode
commands to remove entries from a named ACL.
Being able to selectively remove lines from a named ACL is one reason you might use named ACLs instead
of numbered ACLs.
What to do next
After creating a named ACL, you can apply it to interfaces or to VLANs .
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
345
IPv4 ACLs
Applying an IPv4 ACL to a Terminal Line
Step 4 Use one of the following: Specifies when the function it will be applied
to is operational.
• absolute [start time date] [end time date]
• periodic day-of-the-week hh:mm to • You can use only one absolute statement
[day-of-the-week] hh:mm in the time range. If you configure more
• periodic {weekdays | weekend | daily} than one absolute statement, only the one
hh:mm to hh:mm configured last is executed.
What to do next
Repeat the steps if you have multiple items that you want in effect at different times.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
346
IPv4 ACLs
Applying an IPv4 ACL to an Interface
Step 3 line [console | vty] line-number Identifies a specific line to configure, and enter
in-line configuration mode.
Example:
Device(config)# line console 0 • console: Specifies the console terminal
line. The console port is DCE.
• vty: Specifies a virtual terminal for remote
console access.
Step 4 access-class access-list-number {in | out} Restricts incoming and outgoing connections
between a particular virtual terminal line (into
Example:
a device) and the addresses in an access list.
Device(config-line)# access-class 10 in
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
347
IPv4 ACLs
Creating Named MAC Extended ACLs
Procedure
Device> enable
Step 3 mac access-list extended name Defines an extended MAC access list using a
name.
Example:
Step 4 {deny | permit} {any | host source MAC In extended MAC access-list configuration
address | source MAC address mask} {any | mode, specifies to permit or deny any source
host destination MAC address | destination MAC address, a source MAC address with a
MAC address mask} [type mask | lsap lsap mask mask, or a specific host source MAC address
| aarp | amber | dec-spanning | decnet-iv | and any destination MAC address, destination
diagnostic | dsm | etype-6000 | etype-8042 | MAC address with a mask, or a specific
lat | lavc-sca | mop-console | mop-dump | destination MAC address.
msdos | mumps | netbios | vines-echo | vines-ip
(Optional) You can also enter these options:
| xns-idp | 0-65535] [cos cos]
• type mask—An arbitrary EtherType
Example:
number of a packet with Ethernet II or
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
348
IPv4 ACLs
Applying a MAC ACL to a Layer 2 Interface
Device(config-ext-macl)# end
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
349
IPv4 ACLs
Configuring VLAN Maps
Step 6 show mac access-group [interface Displays the MAC access list applied to the
interface-id] interface or all Layer 2 interfaces.
Example:
Device# show mac access-group interface
gigabitethernet1/0/2
After receiving a packet, the device checks it against the inbound ACL. If the ACL permits it, the device
continues to process the packet. If the ACL rejects the packet, the device discards it. When you apply an
undefined ACL to an interface, the device acts as if the ACL has not been applied and permits all packets.
Remember this behavior if you use undefined ACLs for network security.
Procedure
Step 3 vlan access-map name [number] Creates a VLAN map, and give it a name and
(optionally) a number. The number is the
Example:
sequence number of the entry within the map.
Device(config)# vlan access-map map1 20
When you create VLAN maps with the same
name, numbers are assigned sequentially in
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
350
IPv4 ACLs
Configuring VLAN Maps
Step 4 match {ip | mac} address {name | number} Match the packet (using either the IP or MAC
[name | number] address) against one or more standard or
extended access lists. Note that packets are only
Example:
matched against access lists of the correct
Device(config-access-map)# match ip protocol type. IP packets are matched against
address ip2
standard or extended IP access lists. Non-IP
packets are only matched against named MAC
extended access lists.
Note If the VLAN map is configured
with a match clause for a type of
packet (IP or MAC) and the map
action is drop, all packets that
match the type are dropped. If the
VLAN map has no match clause,
and the configured action is drop,
all IP and Layer 2 packets are
dropped.
Step 5 Enter one of the following commands to specify Sets the action for the map entry.
an IP packet or a non-IP packet (with only a
known MAC address) and to match the packet
against one or more ACLs (standard or
extended):
• action { forward}
Device(config-access-map)# action
forward
• action { drop}
Device(config-access-map)# action
drop
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
351
IPv4 ACLs
Applying a VLAN Map to a VLAN
Procedure
Step 3 vlan filter mapname vlan-list list Applies the VLAN map to one or more VLAN
IDs.
Example:
Device(config)# vlan filter map 1 The list can be a single VLAN ID (22), a
vlan-list 20-22 consecutive list (10-22), or a string of VLAN
IDs (12, 22, 30). Spaces around the comma and
hyphen are optional.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
352
IPv4 ACLs
Configuration Examples for IPv4 Access Control Lists
When you use the ip access-group interface configuration command to apply ACLs to a Layer 2 or 3 interface,
you can display the access groups on the interface. You can also display the MAC ACLs applied to a Layer
2 interface. You can use the privileged EXEC commands as described in this table to display this information.
Table 21: Commands for Displaying Access Lists and Access Groups
Command Purpose
show access-lists [number | name] Displays the contents of one or all current IP and MAC address
a specific access list (numbered or named).
show ip access-lists [number | name] Displays the contents of all current IP access lists or a specific I
(numbered or named).
show running-config [interface interface-id] Displays the contents of the configuration file for the device or t
interface, including all configured MAC and IP access lists and
groups are applied to an interface.
show mac access-group [interface interface-id] Displays MAC access lists applied to all Layer 2 interfaces or th
Layer 2 interface.
This shows a small networked office environment with routed Port 2 connected to Server A, containing benefits
and other information that all employees can access, and routed Port 1 connected to Server B, containing
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
353
IPv4 ACLs
Examples: ACLs in a Small Networked Office
confidential payroll data. All users can access Server A, but Server B has restricted access.
This example uses an extended ACL to filter traffic coming from Server B into a port, permitting traffic from
any source address (in this case Server B) to only the Accounting destination addresses 172.20.128.64 to
172.20.128.95. The ACL is appliDeviceed to traffic going into routed Port 1, permitting it to go only to the
specified destination addresses. Note that with extended ACLs, you must enter the protocol (IP) before the
source and destination information.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
354
IPv4 ACLs
Example: Numbered ACLs
Device> enable
Device# configure terminal
Device(config)# access-list 2 permit 10.48.0.3
Device(config)# access-list 2 deny 10.48.0.0 0.0.255.255
Device(config)# access-list 2 permit 10.0.0.0 0.255.255.255
Device(config)# interface gigabitethernet2/0/1
Device(config-if)# ip access-group 2 in
Device(config-if)# end
In this example, suppose that you have a network connected to the Internet, and you want any host on the
network to be able to form TCP connections to any host on the Internet. However, you do not want IP hosts
to be able to form TCP connections to hosts on your network, except to the mail (SMTP) port of a dedicated
mail host.
SMTP uses TCP port 25 on one end of the connection and a random port number on the other end. The same
port numbers are used throughout the life of the connection. Mail packets coming in from the Internet have
a destination port of 25. Because the secure system of the network always accepts mail connections on port
25, the incoming sevices are separately controlled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
355
IPv4 ACLs
Examples: Named ACLs
Device> enable
Device# configure terminal
Device(config)# access-list 102 permit tcp any 172.16.0.0 0.0.255.255 eq 23
Device(config)# access-list 102 permit tcp any 172.16.0.0 0.0.255.255 eq 25
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# ip access-group 102 in
Device(config-if)# end
In this example, the network is a Class B network with the address 172.16.0.0, and the mail host address is
172.16.1.2. The established keyword is used only for the TCP to show an established connection. A match
occurs if the TCP datagram has the ACK or RST bits set, which show that the packet belongs to an existing
connection. Gigabit Ethernet interface 1 is the interface that connects the device to the Internet.
Device> enable
Device# configure terminal
Device(config)# access-list 102 permit tcp any 172.16.0.0 0.0.255.255 established
Device(config)# access-list 102 permit tcp any host 172.16.1.2 eq 25
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# ip access-group 102 in
Device(config-if)# end
The marketing_group ACL allows any TCP Telnet traffic to the destination address and wildcard 172.16.0.0
0.0.255.255 and denies any other TCP traffic. It permits ICMP traffic, denies UDP traffic from any source to
the destination address range 172.16.0.0 through 172.16.255.255 with a destination port less than 1024, denies
any other IP traffic, and provides a log of the result.
Device> enable
Device# configure terminal
Device(config)# ip access-list extended marketing_group
Device(config-ext-nacl)# permit tcp any 172.16.0.0 0.0.255.255 eq telnet
Device(config-ext-nacl)# deny tcp any any
Device(config-ext-nacl)# permit icmp any any
Device(config-ext-nacl)# deny udp any 172.16.0.0 0.0.255.255 lt 1024
Device(config-ext-nacl)# deny ip any any log
Device(config-ext-nacl)# end
The Internet_filter ACL is applied to outgoing traffic and the marketing_group ACL is applied to incoming
traffic on a Layer 3 port.
Device> enable
Device# configure terminal
Device(config)# interface gigabitethernet3/0/2
Device(config-if)# no switchport
Device(config-if)# ip address 10.0.5.1 255.255.255.0
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
356
IPv4 ACLs
Examples: ACL Logging
<output truncated>
This example is a named extended access list ext1 that permits ICMP packets from any source to 10.1.1.0
0.0.0.255 and denies all UDP packets.
Device> enable
Device# configure terminal
Device(config)# ip access-list extended ext1
Device(config-ext-nacl)# permit icmp any 10.1.1.0 0.0.0.255 log
Device(config-ext-nacl)# deny udp any any log
Device(config-std-nacl)# exit
Device(config)# interface gigabitethernet1/0/2
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
357
IPv4 ACLs
Example: ACEs and Fragmented and Unfragmented Traffic
Note that all logging entries for IP ACLs start with %SEC-6-IPACCESSLOG with minor variations in format
depending on the kind of ACL and the access entry that has been matched.
This is an example of an output message when the log-input keyword is entered:
00:04:21:%SEC-6-IPACCESSLOGDP:list inputlog permitted icmp 10.1.1.10 (Vlan1 0001.42ef.a400)
->
10.1.1.61 (0/0), 1 packet
A log message for the same sort of packet using the log keyword does not include the input interface
information:
00:05:47:%SEC-6-IPACCESSLOGDP:list inputlog permitted icmp 10.1.1.10 -> 10.1.1.61 (0/0), 1
packet
Note In the first and second ACEs in the examples, the eq keyword after the destination address means to test for
the TCP-destination-port well-known numbers equaling Simple Mail Transfer Protocol (SMTP) and Telnet,
respectively.
• Packet A is a TCP packet from host 10.2.2.2., port 65000, going to host 10.1.1.1 on the SMTP port. If
this packet is fragmented, the first fragment matches the first ACE (a permit) as if it were a complete
packet because all Layer 4 information is present. The remaining fragments also match the first ACE,
even though they do not contain the SMTP port information, because the first ACE only checks Layer
3 information when applied to fragments. The information in this example is that the packet is TCP and
that the destination is 10.1.1.1.
• Packet B is from host 10.2.2.2, port 65001, going to host 10.1.1.2 on the Telnet port. If this packet is
fragmented, the first fragment matches the second ACE (a deny) because all Layer 3 and Layer 4
information is present. The remaining fragments in the packet do not match the second ACE because
they are missing Layer 4 information. Instead, they match the third ACE (a permit).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
358
IPv4 ACLs
Examples: Using Time Ranges with ACLs
Because the first fragment was denied, host 10.1.1.2 cannot reassemble a complete packet, so packet B
is effectively denied. However, the later fragments that are permitted will consume bandwidth on the
network and resources of host 10.1.1.2 as it tries to reassemble the packet.
• Fragmented packet C is from host 10.2.2.2, port 65001, going to host 10.1.1.3, port ftp. If this packet is
fragmented, the first fragment matches the fourth ACE (a deny). All other fragments also match the
fourth ACE because that ACE does not check any Layer 4 information and because Layer 3 information
in all fragments shows that they are being sent to host 10.1.1.3, and the earlier permit ACEs were checking
different hosts.
To apply a time range, enter the time-range name in an extended ACL that can implement time ranges. This
example shows how to create and verify extended access list 188 that denies TCP traffic from any source to
any destination during the defined holiday times and permits all TCP traffic during work hours.
Device> enable
Device# configure terminal
Device(config)# access-list 188 deny tcp any any time-range new_year_day_2006
Device(config)# access-list 188 permit tcp any any time-range workhours
Device(config)# exit
Device# show access-lists
This example uses named ACLs to permit and deny the same traffic.
Device> enable
Device# configure terminal
Device(config)# ip access-list extended deny_access
Device(config-ext-nacl)# deny tcp any any time-range new_year_day_2006
Device(config-ext-nacl)# exit
Device(config)# ip access-list extended may_access
Device(config-ext-nacl)# permit tcp any any time-range workhours
Device(config-ext-nacl)# end
Device# show ip access-lists
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
359
IPv4 ACLs
Examples: Time Range Applied to an IP ACL
For an entry in a named IP ACL, use the remark access-list configuration command. To remove the remark,
use the no form of this command.
In this example, the subnet1 subnet is not allowed to use outbound Telnet:
Device> enable
Device# configure terminal
Device(config)# ip access-list extended telnetting
Device(config-ext-nacl)# remark Do not allow subnet1 subnet to telnet out
Device(config-ext-nacl)# deny tcp host 171.69.2.88 any eq telnet
Device(config-ext-nacl)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
360
IPv4 ACLs
Example: Creating an ACL and a VLAN Map to Deny a Packet
Device> enable
Device# configure terminal
Device(config)# access-list 101 permit udp any any
Device(config)# ip access-list extended igmp-match
Device(config-ext-nacl)# permit igmp any any
Device(config)# action forward
Device(config-ext-nacl)# permit tcp any any
Device(config-ext-nacl)# exit
Device(config)# vlan access-map drop-ip-default 10
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
361
IPv4 ACLs
Example: Default Action of Dropping MAC Packets and Forwarding IP Packets
Device> enable
Device# configure terminal
Device(config)# mac access-list extended good-hosts
Device(config-ext-macl)# permit host 000.0c00.0111 any
Device(config-ext-macl)# permit host 000.0c00.0211 any
Device(config-ext-nacl)# exit
Device(config)# action forward
Device(config-ext-macl)# mac access-list extended good-protocols
Device(config-ext-macl)# permit any any vines-ip
Device(config-ext-nacl)# exit
Device(config)# vlan access-map drop-mac-default 10
Device(config-access-map)# match mac address good-hosts
Device(config-access-map)# action forward
Device(config-access-map)# exit
Device(config)# vlan access-map drop-mac-default 20
Device(config-access-map)# match mac address good-protocols
Device(config-access-map)# action forward
Device(config-access-map)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
362
IPv4 ACLs
Example: Using VLAN Maps in a Network
Device> enable
Device# configure terminal
Device(config)# vlan access-map drop-all-default 10
Device(config-access-map)# match ip address tcp-match
Device(config-access-map)# action forward
Device(config-access-map)# exit
Device(config)# vlan access-map drop-all-default 20
Device(config-access-map)# match mac address good-hosts
Device(config-access-map)# action forward
Device(config-access-map)# end
In a wiring closet configuration, routing might not be enabled on the switch. In this configuration, the switch
can still support a VLAN map and a QoS classification ACL. Assume that Host X and Host Y are in different
VLANs and are connected to wiring closet switches A and C. Traffic from Host X to Host Y is eventually
being routed by Switch B, a Layer 3 switch with routing enabled. Traffic from Host X to Host Y can be
access-controlled at the traffic entry point, Switch A.
If you do not want HTTP traffic switched from Host X to Host Y, you can configure a VLAN map on Switch
A to drop all HTTP traffic from Host X (IP address 10.1.1.32) to Host Y (IP address 10.1.1.34) at Switch A
and not bridge it to Switch B.
First, define the IP access list http that permits (matches) any TCP traffic on the HTTP port.
Device> enable
Device# configure terminal
Device(config)# ip access-list extended http
Device(config-ext-nacl)# permit tcp host 10.1.1.32 host 10.1.1.34 eq www
Device(config-ext-nacl)# end
Next, create VLAN access map map2 so that traffic that matches the http access list is dropped and all other
IP traffic is forwarded.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
363
IPv4 ACLs
Example: Restricting Access to a Server on Another VLAN
Device> enable
Device# configure terminal
Device(config)# vlan access-map map2 10
Device(config-access-map)# match ip address http
Device(config-access-map)# action drop
Device(config-access-map)# exit
Device(config)# ip access-list extended match_all
Device(config-ext-nacl)# permit ip any any
Device(config-ext-nacl)# exit
Device(config)# vlan access-map map2 20
Device(config-access-map)# match ip address match_all
Device(config-access-map)# action forward
Device(config-access-map)# end
You can restrict access to a server on another VLAN. For example, server 10.1.1.100 in VLAN 10 needs to
have access denied to these hosts:
• Hosts in subnet 10.1.2.0/8 in VLAN 20 should not have access.
• Hosts 10.1.1.4 and 10.1.1.8 in VLAN 10 should not have access.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
364
IPv4 ACLs
Additional References for IPv4 Access Control Lists
Define a VLAN map using this ACL that will drop IP packets that match SERVER1_ACL and forward IP
packets that do not match the ACL.
Device> enable
Device# configure terminal
Device(config)# vlan access-map SERVER1_MAP
Device(config-access-map)# match ip address SERVER1_ACL
Device(config-access-map)# action drop
Device(config)# vlan access-map SERVER1_MAP 20
Device(config-access-map)# action forward
Device(config-access-map)# end
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
365
IPv4 ACLs
Feature History for IPv4 Access Control Lists
Cisco IOS XE Everest IPv4 Access Control Lists This chapter describes how to configure network
16.5.1a security on the switch by using ACLs. Packet filtering
can help limit network traffic and restrict network
use by certain users or devices. ACLs filter traffic as
it passes through device and permit or deny packets
crossing specified interfaces.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a IPv4 Access Control Lists Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
366
CHAPTER 21
IPv6 ACLs
• Restrictions for IPv6 ACLs, on page 367
• Information About IPv6 ACLs, on page 368
• How to Configure an IPv6 ACL, on page 370
• Monitoring IPv6 ACLs, on page 377
• Configuration Examples for IPv6 ACL, on page 377
• Feature History for IPv6 ACLs, on page 378
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
367
IPv6 ACLs
Information About IPv6 ACLs
• If a downloadable ACL contains any type of duplicate entries, the entries are not auto merged. As a
result, the 802.1X session authorization fails. Ensure that the downloadable ACL is optimized without
any duplicate entries, for example port-based and name-based entries for the same port.
• Egress ACL lookup is not supported for injected traffic that is forwarded by the software.
Supported ACLs
The switch supports three types of ACLs to filter the traffic:
• Port ACLs access-control traffic entering a Layer 2 interface. You can apply port ACLs to a Layer 2
interface in each direction to each access list type—IPv4 and MAC.
• Router ACLs access-control traffic routed between VLANs and are applied to Layer 3 interfaces in a
specific direction (inbound or outbound).
• VLAN ACLs or VLAN maps are applied only to Layer 2 VLANs and impact bridged traffic only. You
can use VLAN maps to filter traffic between devices in the same VLAN. VLAN maps are configured
to provide access control based on Layer 3 addresses for IPv4. Unsupported protocols are access-controlled
through MAC addresses using Ethernet ACEs. After a VLAN map is applied to a VLAN, all packets
(routed or bridged) entering the VLAN are checked against the VLAN map. Packets can either enter the
VLAN through a switch port or through a routed port after being routed.
Types of ACL
The following sections provide information on the types of ACL:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
368
IPv6 ACLs
Filter ID IPv6 ACL
ACL Precedence
When VLAN maps, Port ACLs, and router ACLs are configured on the same switch, the filtering precedence,
from greatest to least for ingress traffic is port ACL, VLAN map, and then router ACL. For egress traffic, the
filtering precedence is router ACL, VLAN map, and then port ACL.
The following examples describe simple use cases:
• When both an input port ACL and a VLAN map are applied, incoming packets that are received on ports
with a port ACL applied are filtered by the port ACL. Other packets are filtered by the VLAN map
• When an input router ACL and input port ACL exist in a switch virtual interface (SVI), incoming packets
that are received on ports to which a port ACL is applied are filtered by the port ACL. Incoming routed
IP packets received on other ports are filtered by the router ACL. Other packets are not filtered.
• When an output router ACL and input port ACL exist in an SVI, incoming packets that are received on
the ports to which a port ACL is applied are filtered by the port ACL. Outgoing routed IP packets are
filtered by the router ACL. Other packets are not filtered.
• When a VLAN map, input router ACL, and input port ACL exist in an SVI, incoming packets that are
received on the ports to which a port ACL is applied are only filtered by the port ACL. Incoming routed
IP packets received on other ports are filtered by both the VLAN map and the router ACL. Other packets
are filtered only by the VLAN map.
• When a VLAN map, output router ACL, and input port ACL exist in an SVI, incoming packets that are
received on the ports to which a port ACL is applied are only filtered by the port ACL. Outgoing routed
IP packets are filtered by both the VLAN map and the router ACL. Other packets are filtered only by
the VLAN map.
VLAN Maps
VLAN ACLs or VLAN maps are used to control the network traffic within a VLAN. You can apply VLAN
maps to all packets that are bridged within a VLAN in the switch or switch stack. VACLs are strictly for the
security packet filtering and for redirecting traffic to specific physical interfaces. VACLs are not defined by
direction (ingress or egress).
All non-IP protocols are access-controlled through MAC addresses and Ethertype using MAC VLAN maps.
(IP traffic is not access-controlled by MAC VLAN maps.) You can enforce VLAN maps only on packets
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
369
IPv6 ACLs
Interactions with Other Features and Switches
going through the switch; you cannot enforce VLAN maps on traffic between hosts on a hub or on another
switch that is connected to this switch.
With VLAN maps, forwarding of packets is permitted or denied, based on the action specified in the map.
Figure 20: Using VLAN Maps to Control Traffic
This figure shows how a VLAN map is applied to prevent a specific type of traffic from Host A in VLAN 10
from being forwarded. You can apply only one VLAN map to a VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
370
IPv6 ACLs
Configuring IPv6 ACLs
Procedure
Step 3 ipv6 access-list {list-name | log-update Defines an IPv6 ACL name, and enters IPv6
threshold | role-based list-name} access list configuration mode.
Example:
Device(config)# ipv6 access-list
example_acl_list
Step 4 {deny | permit} protocol {source-ipv6-prefix/ Specifies permit or deny conditions for an IPv6
|prefix-length |any threshold| host ACL.
source-ipv6-address} [ operator [ port-number
• For protocol, enter the name or number of
]] { destination-ipv6-prefix/ prefix-length | any
an IP: ahp, esp, icmp, ipv6, pcp, stcp,
| host destination-ipv6-address} [operator
tcp, or udp, or an integer in the range 0 to
[port-number]][dscp value] [fragments] [log]
255 representing an IPv6 protocol number.
[log-input][sequence value] [time-range name]
Example: • The source-ipv6-prefix/prefix-length or
destination-ipv6-prefix/ prefix-length is
Device(config-ipv6-acl)# permit tcp
2001:DB8:0300:0201::/32 eq telnet any
the source or destination IPv6 network or
class of networks for which to set deny or
permit conditions, specified in
hexadecimal and using 16-bit values
between colons (see RFC 2373).
• Enter any as an abbreviation for the IPv6
prefix ::/0.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
371
IPv6 ACLs
Configuring IPv6 ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
372
IPv6 ACLs
Attaching an IPv6 ACL to an Interface
Step 7 show ipv6 access-list Verifies that IPv6 ACLs are configured
correctly.
Example:
Device# show ipv6 access-list
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
373
IPv6 ACLs
Configuring a VLAN Map
Step 6 ipv6 traffic-filter access-list-name {in | out} Applies the access list to incoming or outgoing
traffic on the interface.
Example:
Device(config-if)# ipv6 traffic-filter
acl1 in
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
374
IPv6 ACLs
Configuring a VLAN Map
Step 3 vlan access-map name [number] Creates a VLAN map, and enters VLAN
access-map command mode
Example:
Device(config)# vlan access-map map_1 20 VLAN map can have a name or (optionally) a
number. The number is the sequence number
of the entry within the map.
When you create VLAN maps with the same
name, numbers are assigned sequentially in
increments of 10. When modifying or deleting
maps, you can enter the number of the map
entry that you want to modify or delete.
VLAN maps do not use the specific permit or
deny keywords. To deny a packet by using
VLAN maps, create an ACL that would match
the packet, and set the action to drop. A permit
in the ACL counts as a match. A deny in the
ACL means no match.
Step 4 match {ip | ipv6 | mac} address {name | Matches the packet against one or more access
number} [name | number] lists. Note that packets are only matched against
access lists of the correct protocol type. IP
Example:
packets are matched against IP access lists.
Device(config-access-map)# match ipv6 Non-IP packets are only matched against named
address ip_net
MAC access lists.
Note If the VLAN map is configured
with a match clause for a type of
packet (IP or MAC) and the map
action is drop, all packets that
match the type are dropped. If the
VLAN map has no match clause,
and the configured action is drop,
all IP and Layer 2 packets are
dropped.
Step 5 Enter one of the following commands to specify Sets the action for the map entry.
an IP packet or a non-IP packet (with only a
known MAC address) and to match the packet
against one or more ACLs:
• action { forward}
Device(config-access-map)# action
forward
• action { drop}
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
375
IPv6 ACLs
Applying a VLAN Map to a VLAN
Step 6 vlan filter mapname vlan-list list Applies the VLAN map to one or more VLAN
IDs.
Example:
Device(config)# vlan filter map 1 The list can be a single VLAN ID (22), a
vlan-list 20-22 consecutive list (10-22), or a string of VLAN
IDs (12, 22, 30). Spaces around the comma and
hyphen are optional.
Procedure
Step 3 vlan filter mapname vlan-list list Applies the VLAN map to one or more VLAN
IDs.
Example:
Device(config)# vlan filter map 1 The list can be a single VLAN ID (22), a
vlan-list 20-22 consecutive list (10-22), or a string of VLAN
IDs (12, 22, 30). Spaces around the comma and
hyphen are optional.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
376
IPv6 ACLs
Monitoring IPv6 ACLs
Command Purpose
show access-lists Displays all access lists configured on the switch.
show ipv6 access-list [access-list-name] Displays all configured IPv6 access lists or the access
list specified by name.
show vlan filter [access-map access-map | vlan Displays the mapping between VACLs and VLANs.
vlan-id]
Device> enable
Device(config)# ipv6 access-list IPv6_ACL
Device(config-ipv6-acl)# deny tcp any any gt 5000
Device (config-ipv6-acl)# deny ::/0 lt 5000 ::/0 log
Device(config-ipv6-acl)# permit icmp any any
Device(config-ipv6-acl)# permit any any
Device(config-ipv6-acl)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
377
IPv6 ACLs
Example: Displaying VLAN Access Map Configuration
This is an example of the output from the show ipv6 access-lists privileged EXEC command. The output
shows only IPv6 access lists configured on the switch.
Device# show ipv6 access-list
This is an example of the output from the show ipv6 access-lists privileged EXEC command. The output
shows only IPv6 access lists configured on the switch.
Device# show ipv6 access-list
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
378
IPv6 ACLs
Feature History for IPv6 ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
379
IPv6 ACLs
Feature History for IPv6 ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
380
IPv6 ACLs
Feature History for IPv6 ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
381
IPv6 ACLs
Feature History for IPv6 ACLs
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
382
CHAPTER 22
Object Groups for ACLs
• Object Groups for ACLs, on page 383
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
383
Object Groups for ACLs
Object Groups
You can use object group-based ACLs with quality of service (QoS) match criteria, Cisco IOS Firewall,
Dynamic Host Configuration Protocol (DHCP), and any other features that use extended ACLs. In addition,
you can use object group-based ACLs with multicast traffic.
When there are many inbound and outbound packets, using object group-based ACLs increases performance
when compared to conventional ACLs. Also, in large configurations, this feature reduces the storage needed
in NVRAM, because using object groups in ACEs means that you do not need to define an individual ACE
for every address and protocol pairing.
Object Groups
An object group can contain a single object (such as a single IP address, network, or subnet) or multiple objects
(such as a combination of multiple IP addresses, networks, or subnets).
A typical access control entry (ACE) allows a group of users to have access only to a specific group of servers.
In an object group-based access control list (ACL), you can create a single ACE that uses an object group
name instead of creating many ACEs (which requires each ACE to have a different IP address). A similar
object group (such as a protocol port group) can be extended to provide access only to a set of applications
for a user group. ACEs can have object groups for the source only, destination only, none, or both.
You can use object groups to separate the ownership of the components of an ACE. For example, each
department in an organization controls its group membership, and the administrator owns the ACE itself to
control which departments can contact one another.
You can use object groups in features that use Cisco Policy Language (CPL) class maps.
This feature supports two types of object groups for grouping ACL parameters: network object groups and
service object groups. Use these object groups to group IP addresses, protocols, protocol services (ports), and
Internet Control Message Protocol (ICMP) types.
• Host IP addresses
• Network address of group members
• Nested object groups
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
384
Object Groups for ACLs
ACLs Based on Object Groups
Procedure
Step 3 object-group network object-group-name Defines the object group name and enters
network object-group configuration mode.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
385
Object Groups for ACLs
Creating a Network Object Group
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
386
Object Groups for ACLs
Creating a Service Object Group
Procedure
Step 3 object-group service object-group-name Defines an object group name and enters
service object-group configuration mode.
Example:
Device(config)# object-group service
my-service-object-group
Step 6 {tcp | udp | tcp-udp} [source {{[eq] | lt | gt} (Optional) Specifies TCP, UDP, or both.
port1 | range port1 port2}] [{[eq] | lt | gt}
port1 | range port1 port2]
Example:
Device(config-service-group)# tcp-udp
range 2000 2005
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
387
Object Groups for ACLs
Creating an Object-Group-Based ACL
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
388
Object Groups for ACLs
Creating an Object-Group-Based ACL
Step 5 deny protocol source [source-wildcard] (Optional) Denies any packet that matches all
destination [destination-wildcard] [option conditions specified in the statement.
option-name] [precedence precedence] [tos
• Optionally use the object-group
tos] [established] [log | log-input] [time-range
service-object-group-name keyword and
time-range-name] [fragments]
argument as a substitute for the protocol.
Example: argument
Device(config-ext-nacl)# deny ip
209.165.200.244 255.255.255.224 host
• Optionally use the object-group
209.165.200.245 log source-network-object-group-name
keyword and argument as a substitute for
Example based on object-group:
the source source-wildcard. arguments
Router(config)# object-group network
my_network_object_group • Optionally use the object-group
Router(config-network-group)# destination-network-object-group-name
209.165.200.224 255.255.255.224 keyword and argument as a substitute for
Router(config-network-group)# exit the destination destination-wildcard.
Router(config)# object-group network
my_other_network_object_group arguments
Router(config-network-group)# host
209.165.200.245 • If the source-wildcard or
Router(config-network-group)# exit destination-wildcardis omitted, a wildcard
Router(config)# ip access-list extended mask of 0.0.0.0 is assumed, which matches
nomarketing
all bits of the source or destination address,
Router(config-ext-nacl)# deny ip
object-group my_network_object_group respectively.
object-group
my_other_network_object_group log • Optionally use the any keyword as a
substitute for the source source-wildcard
or destination destination-wildcard to
specify the address and wildcard of 0.0.0.0
255.255.255.255.
• Optionally use the host source keyword
and argument to indicate a source and
source wildcard of source 0.0.0.0 or the
host destination keyword and argument to
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
389
Object Groups for ACLs
Creating an Object-Group-Based ACL
Step 7 permit protocol source [source-wildcard] Permits any packet that matches all conditions
destination [destination-wildcard] [option specified in the statement.
option-name] [precedence precedence] [tos
• Every access list needs at least one permit
tos] [established] [log | log-input] [time-range
statement.
time-range-name] [fragments]
Example: • Optionally use the object-group
service-object-group-name keyword and
Device(config-ext-nacl)# permit tcp any
any
argument as a substitute for the protocol.
• Optionally use the object-group
source-network-object-group-name
keyword and argument as a substitute for
the source source-wildcard.
• Optionally use the object-group
destination-network-object-group-name
keyword and argument as a substitute for
the destination destination-wildcard.
• If source-wildcard or destination-wildcard
is omitted, a wildcard mask of 0.0.0.0 is
assumed, which matches on all bits of the
source or destination address, respectively.
• Optionally use the anykeyword as a
substitute for the source source-wildcard
or destination destination-wildcard to
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
390
Object Groups for ACLs
Applying an Object Group-Based ACL to an Interface
Step 8 Repeat the steps to specify the fields and values Remember that all sources not specifically
on which you want to base your access list. permitted are denied by an implicit deny
statement at the end of the access list.
Procedure
Step 3 interface type number Specifies the interface and enters interface
configuration mode.
Example:
Device(config)# interface vlan 100
Step 4 ip access-group {access-list-name | Applies the ACL to the interface and specifies
access-list-number} {in | out} whether to filter inbound or outbound packets.
Example:
Device(config-if)# ip access-group
my-ogacl-policy in
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
391
Object Groups for ACLs
Verifying Object Groups for ACLs
Procedure
Step 3 show ip access-list [access-list-name] Displays the contents of the named or numbered
access list or object group-based ACL (or for
Example:
all access lists and object group-based ACLs if
Device# show ip access-list no name is entered).
my-ogacl-policy
The following example shows how to create a network object group named my-company-network, which
contains two hosts, a subnet, and an existing object group (child) named my-nested-object-group as objects:
Device> enable
Device# configure terminal
Device(config)# object-group network my-company-network
Device(config-network-group)# host host1
Device(config-network-group)# host 209.165.200.242
Device(config-network-group)# 209.165.200.225 255.255.255.224
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
392
Object Groups for ACLs
Example: Creating a Service Object Group
Procedure
Step 3 interface type number Specifies the interface and enters interface
configuration mode.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
393
Object Groups for ACLs
Example: Verifying Object Groups for ACLs
Step 4 ip access-group {access-list-name | Applies the ACL to the interface and specifies
access-list-number} {in | out} whether to filter inbound or outbound packets.
Example:
Device(config-if)# ip access-group
my-ogacl-policy in
The following example shows how to display information about specific object-group-based ACLs:
Device# show ip access-list my-ogacl-policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
394
Object Groups for ACLs
Additional References for Object Groups for ACLs
Technical Assistance
Description Link
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
395
Object Groups for ACLs
Feature History for Object Groups for ACLs
Cisco IOS XE Object Groups The Object Groups for ACLs feature lets you classify users, devices, or
Gibraltar for ACLs protocols into groups and apply them to access control lists (ACLs) to
16.12.1 create access control policies for those groups. This feature lets you use
object groups instead of individual IP addresses, protocols, and ports, which
are used in conventional ACLs. This feature allows multiple access control
entries (ACEs), but now you can use each ACE to allow an entire group
of users to access a group of servers or services or to deny them from doing
so.
Support for this feature was introduced on all the models of the Cisco
Catalyst 9500 Series Switches.
Support for this feature was introduced on the C9500-32C, C9500-32QC,
C9500-48Y4C, and C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
396
CHAPTER 23
Configuring IP Source Guard
• Information About IP Source Guard, on page 397
• How to Configure IP Source Guard, on page 399
• Monitoring IP Source Guard, on page 401
• Feature History for IP Source Guard, on page 401
Note Do not use IPSGfor static hosts on uplink ports or trunk ports.
IPSG for static hosts extends the IPSG capability to non-DHCP and static environments. The previous IPSG
used the entries created by DHCP snooping to validate the hosts connected to a switch. Any traffic received
from a host without a valid DHCP binding entry is dropped. This security feature restricts IP traffic on
nonrouted Layer 2 interfaces. It filters traffic based on the DHCP snooping binding database and on manually
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
397
Configuring IP Source Guard
IP Source Guard Configuration Guidelines
configured IP source bindings. The previous version of IPSG required a DHCP environment for IPSG to
work.
IPSG for static hosts allows IPSG to work without DHCP. IPSG for static hosts relies on IP device tracking-table
entries to install port ACLs. The switch creates static entries based on ARP requests or other IP packets to
maintain the list of valid hosts for a given port. You can also specify the number of hosts allowed to send
traffic to a given port. This is equivalent to port security at Layer 3.
IPSG for static hosts also supports dynamic hosts. If a dynamic host receives a DHCP-assigned IP address
that is available in the IP DHCP snooping table, the same entry is learned by the IP device tracking table. In
a stacked environment, when the active switch failover occurs, the IP source guard entries for static hosts
attached to member ports are retained. When you enter the show device-tracking database EXEC command,
the IP device tracking table displays the entries as ACTIVE.
Note Some IP hosts with multiple network interfaces can inject some invalid packets into a network interface. The
invalid packets contain the IP or MAC address for another network interface of the host as the source address.
The invalid packets can cause IPSG for static hosts to connect to the host, to learn the invalid IP or MAC
address bindings, and to reject the valid bindings. Consult the vender of the corresponding operating system
and the network interface to prevent the host from injecting invalid packets.
IPSG for static hosts initially learns IP or MAC bindings dynamically through an ACL-based snooping
mechanism. IP or MAC bindings are learned from static hosts by ARP and IP packets. They are stored in the
device tracking database. When the number of IP addresses that have been dynamically learned or statically
configured on a given port reaches a maximum, the hardware drops any packet with a new IP address. To
resolve hosts that have moved or gone away for any reason, IPSG for static hosts leverages IP device tracking
to age out dynamically learned IP address bindings. This feature can be used with DHCP snooping. Multiple
bindings are established on a port that is connected to both DHCP and static hosts. For example, bindings are
stored in both the device tracking database as well as in the DHCP snooping binding database.
• When IP source guard with source IP filtering is enabled on an interface, DHCP snooping must be enabled
on the access VLAN for that interface.
• If you are enabling IP source guard on a trunk interface with multiple VLANs and DHCP snooping is
enabled on all the VLANs, the source IP address filter is applied on all the VLANs.
Note If IP source guard is enabled and you enable or disable DHCP snooping on a
VLAN on the trunk interface, the switch might not properly filter traffic.
• You can enable this feature when 802.1x port-based authentication is enabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
398
Configuring IP Source Guard
How to Configure IP Source Guard
• When you configure IP source guard smart logging, packets with a source address other than the specified
address or an address learned by DHCP are denied, and the packet contents are sent to a NetFlow collector.
If you configure this feature, make sure that smart logging is globally enabled.
• In a switch stack, if IP source guard is configured on a stack member interface and you remove the the
configuration of that switch by entering the no switch stack-member-number provision global
configuration command, the interface static bindings are removed from the binding table, but they are
not removed from the running configuration. If you again provision the switch by entering the switch
stack-member-number provision command, the binding is restored.
To remove the binding from the running configuration, you must disable IP source guard before entering
the no switch provision command. The configuration is also removed if the switch reloads while the
interface is removed from the binding table.
Step 4 ip verify source [mac-check ] Enables IP source guard with source IP address
filtering.
Example:
Device(config-if)# ip verify source (Optional) mac-check: Enables IP Source
Guard with source IP address and MAC address
filtering.
Step 6 ip source binding mac-address vlan vlan-id Adds a static IP source binding.
ip-address interface interface-id
Enter this command for each static binding.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
399
Configuring IP Source Guard
Configuring IP Source Guard for Static Hosts on a Layer 2 Access Port
Procedure
Step 3 ip device tracking Turns on the IP host table, and globally enables
IP device tracking.
Example:
Device(config)# ip device tracking
Step 6 switchport access vlan vlan-id Configures the VLAN for this port.
Example:
Device(config-if)# switchport access vlan
10
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
400
Configuring IP Source Guard
Monitoring IP Source Guard
Step 8 ip device tracking maximum number Establishes a maximum limit for the number of
static IPs that the IP device tracking table allows
Example:
on the port. The range is 1to 10. The maximum
Device(config-if)# ip device tracking number is 10.
maximum 8
Note You must configure the ip device
tracking maximum limit-number
interface configuration command.
Command Purpose
show ip verify source [ interface interface-id ] Displays the IP source guard configuration on the
switch or on a specific interface.
show ip device tracking { all | interface interface-id Displays information about the entries in the IP device
| ip ip-address | mac mac-address} tracking table.
Command Purpose
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
401
Configuring IP Source Guard
Feature History for IP Source Guard
These features are available on all releases subsequent to the one they were introduced in, unless noted
otherwise.
Cisco IOS XE Everest IP Source Guard You can use IP source guard to prevent traffic attacks
16.5.1a if a host tries to use the IP address of its neighbor and
you can enable IP source guard when DHCP snooping
is enabled on an untrusted interface.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a IP Source Guard Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
402
CHAPTER 24
Configuring Dynamic ARP Inspection
• Restrictions for Dynamic ARP Inspection, on page 403
• Information About Dynamic ARP Inspection, on page 404
• How to Configure Dynamic ARP Inspection, on page 408
• Monitoring DAI, on page 415
• Verifying the DAI Configuration, on page 416
• Feature History for Dynamic ARP Inspection, on page 416
Note Do not enable Dynamic ARP inspection on RSPAN VLANs. If Dynamic ARP
inspection is enabled on RSPAN VLANs, Dynamic ARP inspection packets
might not reach the RSPAN destination port.
• A physical port can join an EtherChannel port channel only when the trust state of the physical port and
the channel port match. Otherwise, the physical port remains suspended in the port channel. A port
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
403
Configuring Dynamic ARP Inspection
Information About Dynamic ARP Inspection
channel inherits its trust state from the first physical port that joins the channel. Consequently, the trust
state of the first physical port need not match the trust state of the channel.
Conversely, when you change the trust state on the port channel, the switch configures a new trust state
on all the physical ports that comprise the channel.
• The rate limit is calculated separately on each switch in a switch stack. For a cross-stack EtherChannel,
this means that the actual rate limit might be higher than the configured value. For example, if you set
the rate limit to 30 pps on an EtherChannel that has one port on switch 1 and one port on switch 2, each
port can receive packets at 29 pps without causing the EtherChannel to become error-disabled.
• The operating rate for the port channel is cumulative across all the physical ports within the channel. For
example, if you configure the port channel with an ARP rate-limit of 400 pps, all the interfaces combined
on the channel receive an aggregate 400 pps. The rate of incoming ARP packets on EtherChannel ports
is equal to the sum of the incoming rate of packets from all the channel members. Configure the rate
limit for EtherChannel ports only after examining the rate of incoming ARP packets on the channel-port
members.
The rate of incoming packets on a physical port is checked against the port-channel configuration rather
than the physical-ports configuration. The rate-limit configuration on a port channel is independent of
the configuration on its physical ports.
If the EtherChannel receives more ARP packets than the configured rate, the channel (including all
physical ports) is placed in the error-disabled state.
• Make sure to limit the rate of ARP packets on incoming trunk ports. Configure trunk ports with higher
rates to reflect their aggregation and to handle packets across multiple dynamic ARP inspection-enabled
VLANs. You also can use the ip arp inspection limit none interface configuration command to make
the rate unlimited. A high rate-limit on one VLAN can cause a denial-of-service attack to other VLANs
when the software places the port in the error-disabled state.
• When you enable dynamic ARP inspection on the switch, policers that were configured to police ARP
traffic are no longer effective. The result is that all ARP traffic is sent to the CPU.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
404
Configuring Dynamic ARP Inspection
Understanding Dynamic ARP Inspection
Hosts A, B, and C are connected to the switch on interfaces A, B and C, all of which are on the same subnet.
Their IP and MAC addresses are shown in parentheses; for example, Host A uses IP address IA and MAC
address MA. When Host A needs to communicate to Host B at the IP layer, it broadcasts an ARP request for
the MAC address associated with IP address IB. When the switch and Host B receive the ARP request, they
populate their ARP caches with an ARP binding for a host with the IP address IA and a MAC address MA;
for example, IP address IA is bound to MAC address MA. When Host B responds, the switch and Host A
populate their ARP caches with a binding for a host with the IP address IB and the MAC address MB.
Host C can poison the ARP caches of the switch, Host A, and Host B by broadcasting forged ARP responses
with bindings for a host with an IP address of IA (or IB) and a MAC address of MC. Hosts with poisoned
ARP caches use the MAC address MC as the destination MAC address for traffic intended for IA or IB. This
means that Host C intercepts that traffic. Because Host C knows the true MAC addresses associated with IA
and IB, it can forward the intercepted traffic to those hosts by using the correct MAC address as the destination.
Host C has inserted itself into the traffic stream from Host A to Host B, the classic man-in-the middleattack.
Dynamic ARP inspection is a security feature that validates ARP packets in a network. It intercepts, logs,and
discards ARP packets with invalid IP-to-MAC address bindings. This capability protects the network from
certain man-in-the-middle attacks.
Dynamic ARP inspection ensures that only valid ARP requests and responses are relayed. The switch performs
these activities:
• Intercepts all ARP requests and responses on untrusted ports.
• Verifies that each of these intercepted packets has a valid IP-to-MAC address binding before updating
the local ARP cache or before forwarding the packet to the appropriate destination.
• Drops invalid ARP packets.
Dynamic ARP inspection determines the validity of an ARP packet based on valid IP-to-MAC address bindings
stored in a trusted database, the DHCP snooping binding database. This database is built by DHCP snooping
if DHCP snooping is enabled on the VLANs and on the switch. If the ARP packet is received on a trusted
interface, the switch forwards the packet without any checks. On untrusted interfaces, the switch forwards
the packet only if it is valid.
In non-DHCP environments, dynamic ARP inspection can validate ARP packets against user-configured ARP
access control lists (ACLs) for hosts with statically configured IP addresses. You define an ARP ACL by
using the arp access-list acl-name global configuration command.
You can configure dynamic ARP inspection to drop ARP packets when the IP addresses in the packets are
invalid or when the MAC addresses in the body of the ARP packets do not match the addresses specified in
the Ethernet header. Use the ip arp inspection validate {[src-mac] [dst-mac] [ip]} global configuration
command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
405
Configuring Dynamic ARP Inspection
Interface Trust States and Network Security
Caution Use the trust state configuration carefully. Configuring interfaces as untrusted when they should betrusted
can result in a loss of connectivity.
In the following figure, assume that both Switch A and Switch B are running dynamic ARP inspection on the
VLAN that includes Host 1 and Host 2. If Host 1 and Host 2 acquire their IP addresses from the DHCP server
connected to Switch A, only Switch A binds the IP-to-MAC address of Host 1. Therefore, if the interface
between Switch A and Switch B is untrusted, the ARP packets from Host 1 are dropped by Switch B.
Connectivity between Host 1 and Host 2 is lost.
Figure 22: ARP Packet Validation on a VLAN Enabled for Dynamic ARP Inspection
Configuring interfaces to be trusted when they are actually untrusted leaves a security hole in the network. If
Switch A is not running dynamic ARP inspection, Host 1 can easily poison the ARP cache of Switch B (and
Host 2, if the link between the switches is configured as trusted). This condition can occur even though Switch
B is running dynamic ARP inspection.
Dynamic ARP inspection ensures that hosts (on untrusted interfaces) connected to a switch running dynamic
ARP inspection do not poison the ARP caches of other hosts in the network. However, dynamic ARP inspection
does not prevent hosts in other portions of the network from poisoning the caches of the hosts that are connected
to a switch running dynamic ARP inspection.
In cases in which some switches in a VLAN run dynamic ARP inspection and other switches do not, configure
the interfaces connecting such switches as untrusted. However, to validate the bindings of packets from
nondynamic ARP inspection switches, configure the switch running dynamic ARP inspection with ARP
ACLs. When you cannot determine such bindings, at Layer 3, isolate switches running dynamic ARP inspection
from switches not running dynamic ARP inspection switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
406
Configuring Dynamic ARP Inspection
Rate Limiting of ARP Packets
Note Depending on the setup of the DHCP server and the network, it might not be possible to validate a given ARP
packet on all switches in the VLAN.
Note The rate limit for an EtherChannel is applied separately to each switch in a stack. For example, if a limit of
20 pps is configured on the EtherChannel, each switch with ports in the EtherChannel can carry up to 20 pps.
If any switch exceeds the limit, the entire EtherChannel is placed into the error-disabled state.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
407
Configuring Dynamic ARP Inspection
Relative Priority of ARP ACLs and DHCP Snooping Entries
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
408
Configuring Dynamic ARP Inspection
Configuring ARP ACLs for Non-DHCP Environments
Procedure
Step 3 arp access-list acl-name Defines an ARP ACL, and enters ARP
access-list configuration mode. By default, no
Example:
ARP access lists are defined.
Device(config)# arp access-list arpacl22
Note At the end of the ARP access list,
there is an implicit deny ip any
mac any command.
Step 4 permit ip host sender-ip mac host sender-mac Permits ARP packets from the specified host
(Host 2).
Example:
Device(config-arp-nacl))# permit ip host • Forsender-ip, enter the IP address of Host
10.2.2.2 mac host 0018.bad8.3fbd 2.
• For sender-mac, enter the MAC address
of Host 2.
Step 6 ip arp inspection filter arp-acl-name vlan Applies ARP ACL to the VLAN. By default,
vlan-range [static] no defined ARP ACLs are applied to any
VLAN.
Example:
Device(config)# ip arp inspection filter • For arp-acl-name, specify the name of
arpacl22 vlan 1-2 the ACL created in Step 2.
• For vlan-range, specify the VLAN that
the switches and hosts are in. You can
specify a single VLAN identified by
VLAN ID number, a range of VLANs
separated by a hyphen, or a series of
VLANs separated by a comma. The range
is 1 to 4094.
• (Optional) Specify static to treat implicit
denies in the ARP ACL as explicit denies
and to drop packets that do not match any
previous clauses in the ACL. DHCP
bindings are not used.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
409
Configuring Dynamic ARP Inspection
Configuring ARP ACLs for Non-DHCP Environments
Step 10 show arp access-list acl-name Displays information about the named ACLs.
Example:
Device# show arp access-list arpacl22
Step 11 show ip arp inspection vlan vlan-range Displays the statistics for the selected range of
VLANs.
Example:
Device# show ip arp inspection vlan 1-2
Step 12 show ip arp inspection interfaces Displays the trust state and the rate limit of
ARP packets for the provided interface.
Example:
Device# show ip arp inspection
interfaces
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
410
Configuring Dynamic ARP Inspection
Configuring Dynamic ARP Inspection in DHCP Environments
Note Dynamic ARP inspection depends on the entries in the DHCP snooping binding database to verify IP-to-MAC
address bindings in incoming ARP requests and ARP responses. Make sure to enable DHCP snooping to
permit ARP packets that have dynamically assigned IP addresses.
Follow these steps to configure dynamic ARP inspection. You must perform this procedure on both switches.
This procedure is required.
Procedure
Step 2 show cdp neighbors Verify the connection between the switches.
Example:
Device# show cdp neighbors
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
411
Configuring Dynamic ARP Inspection
Limiting the Rate of Incoming ARP Packets
Step 8 show ip arp inspection interfaces Verifies the dynamic ARP inspection
configuration on interfaces.
Example:
Device# show ip arp inspection
interfaces
Step 9 show ip arp inspection vlan vlan-range Verifies the dynamic ARP inspection
configuration on VLAN.
Example:
Device# show ip arp inspection vlan 1
Step 11 show ip arp inspection statistics vlan Checks the dynamic ARP inspection statistics
vlan-range on VLAN.
Example:
Device# show ip arp inspection
statistics vlan 1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
412
Configuring Dynamic ARP Inspection
Limiting the Rate of Incoming ARP Packets
When the rate of incoming ARP packets exceeds the configured limit, the switch places the port in the
error-disabled state. The port remains in that state until you enable error-disabled recovery so that ports
automatically emerge from this state after a specified timeout period.
Note Unless you configure a rate limit on an interface, changing the trust state of the interface also changes its rate
limit to the default value for that trust state. After you configure the rate limit, the interface retains the rate
limit even when its trust state is changed. If you enter the no ip arp inspection limit interface configuration
command, the interface reverts to its default rate limit.
Follow these steps to limit the rate of incoming ARP packets. This procedure is optional.
Procedure
Step 4 ip arp inspection limit {rate pps [burst Limits the rate of incoming ARP requests and
interval seconds] | none} responses on the interface. The default rate is
15 pps on untrusted interfaces and unlimited on
trusted interfaces. The burst interval is 1 second.
The keywords have these meanings:
• For ratepps, specify an upper limit for the
number of incoming packets processed per
second. The range is 0 to 2048 pps.
• (Optional) For burst intervalseconds,
specify the consecutive interval in seconds,
over which the interface is monitored for
a high rate of ARP packets. The range is
1 to 15.
• For rate none, specify no upper limit for
the rate of incoming ARP packets that can
be processed.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
413
Configuring Dynamic ARP Inspection
Performing Dynamic ARP Inspection Validation Checks
Step 6 Use the following commands: (Optional) Enables error recovery from the
dynamic ARP inspection error-disabled state,
• errdisable detect cause arp-inspection
and configure the dynamic ARP inspection
• errdisable recovery cause arp-inspection recover mechanism variables.
• errdisable recovery interval interval
By default, recovery is disabled, and the
Example: recovery interval is 300 seconds.
Device(config)# errdisable recovery cause
arp-inspection For interval interval, specify the time in
seconds to recover from the error-disabled state.
The range is 30 to 86400.
Procedure
Step 3 ip arp inspection validate {[src-mac] Performs a specific check on incoming ARP
[dst-mac] [ip]} packets. By default, no checks are performed.
Example: The keywords have these meanings:
Device(config)# ip inspection validate • For src-mac, check the source MAC
ip
address in the Ethernet header against the
sender MAC address in the ARP body.
This check is performed on both ARP
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
414
Configuring Dynamic ARP Inspection
Monitoring DAI
Step 5 show ip arp inspection vlan vlan-range Displays the statistics for the selected range of
VLANs.
Example:
Device# show ip arp insepction vlan 1-2
Monitoring DAI
To monitor DAI, use the following commands:
Command Description
clear ip arp inspection statistics Clears dynamic ARP inspection statistics.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
415
Configuring Dynamic ARP Inspection
Verifying the DAI Configuration
Command Description
show ip arp inspection statistics [vlan vlan-range] Displays statistics for forwarded, dropped, MAC
validation failure, IP validation failure, ACL permitted
and denied, and DHCP permitted and denied packets
for the specified VLAN. If no VLANs are specified
or if a range is specified, displays information only
for VLANs with dynamic ARP inspection enabled
(active).
clear ip arp inspection log Clears the dynamic ARP inspection log buffer.
show ip arp inspection log Displays the configuration and contents of the
dynamic ARP inspection log buffer.
For the show ip arp inspection statistics command, the switch increments the number of forwarded packets
for each ARP request and response packet on a trusted dynamic ARP inspection port. The switch increments
the number of ACL or DHCP permitted packets for each packet that is denied by source MAC, destination
MAC, or IP validation checks, and the switch increments the appropriate.
Command Description
show arp access-list [acl-name] Displays detailed information about ARP ACLs.
show ip arp inspection interfaces [interface-id] Displays the trust state and the rate limit of ARP
packets for the specified interface or all interfaces.
show ip arp inspection vlan vlan-range Displays the configuration and the operating state of
dynamic ARP inspection for the specified VLAN. If
no VLANs are specified or if a range is specified,
displays information only for VLANs with dynamic
ARP inspection enabled (active).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
416
Configuring Dynamic ARP Inspection
Feature History for Dynamic ARP Inspection
Cisco IOS XE Everest Dynamic ARP Inspection ARP provides IP communication within a Layer 2
16.5.1a broadcast domain by mapping an IP address to a
MAC address. Dynamic ARP inspection is a security
feature that validates ARP packets in a network. It
intercepts, logs,and discards ARP packets with invalid
IP-to-MAC address bindings. This capability protects
the network from certain man-in-the-middle attacks.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a Dynamic ARP Inspection Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
417
Configuring Dynamic ARP Inspection
Feature History for Dynamic ARP Inspection
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
418
CHAPTER 25
Configuring IPv6 First Hop Security
• Prerequisites for IPv6 First Hop Security, on page 419
• Restrictions for IPv6 First Hop Security, on page 419
• Information About IPv6 First Hop Security, on page 420
• How to Configure IPv6 First Hop Security, on page 422
• Configuration Examples for IPv6 First Hop Security, on page 447
• Additional References for IPv6 First Hop Security, on page 448
• Feature History for IPv6 First Hop Security, on page 448
• By default, a snooping policy has a security-level of guard. When such a snooping policy is configured
on an access switch, external IPv6 Router Advertisement (RA) or Dynamic Host Configuration Protocol
for IPv6 (DHCPv6) server packets are blocked, even though the uplink port facing the device or DHCP
server/relay is configured as a trusted port. To allow IPv6 RA or DHCPv6 server messages, do the
following:
• Apply an IPv6 RA-guard policy (for RA) or IPv6 DHCP-guard policy (for DHCP server messages
) on the uplink port.
• Configure a snooping policy with a lower security-level, for example glean or inspect. However;
configuring a lower security level is not recommended with such a snooping policy, because benefits
of First Hop security features are not effective.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
419
Configuring IPv6 First Hop Security
Information About IPv6 First Hop Security
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
420
Configuring IPv6 First Hop Security
IPv6 First Hop Security Overview
The IPv6 source guard feature provides the ability to store entries in the hardware TCAM table to prevent
a host from sending packets with an invalid IPv6 source address.
To debug source-guard packets, use the debug ipv6 snooping source-guard privileged EXEC command.
Note The IPv6 Source Guard and Prefix Guard features are supported only in the
ingress direction;and not supported in the egress direction.
• IPv6 Prefix Guard—The IPv6 prefix guard feature works within the IPv6 source guard feature, to enable
the device to deny traffic originated from non-topologically correct addresses. IPv6 prefix guard is often
used when IPv6 prefixes are delegated to devices (for example, home gateways) using DHCP prefix
delegation. The feature discovers ranges of addresses assigned to the link and blocks any traffic sourced
with an address outside this range.
• IPv6 Destination Guard—The IPv6 destination guard feature works with IPv6 neighbor discovery to
ensure that the device performs address resolution only for those addresses that are known to be active
on the link. It relies on the address glean functionality to populate all destinations active on the link into
the binding table and then blocks resolutions before they happen when the destination is not found in the
binding table.
Note IPv6 Destination Guard is recommended to apply on Layer 2 VLAN with an SVI
configured
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
421
Configuring IPv6 First Hop Security
How to Configure IPv6 First Hop Security
Note The IPv6 Snooping Policy feature has been deprecated. Although the commands are visible on the CLI and
you can configure them, we recommend that you use the Switch Integrated Security Feature (SISF)-based
Device Tracking feature instead.
Beginning in privileged EXEC mode, follow these steps to configure IPv6 Snooping Policy :
Procedure
Device> enable
Step 3 ipv6 snooping policy policy-name Creates a snooping policy and enters IPv6
snooping policy configuration mode.
Example:
Device(config)# ipv6 snooping policy
example_policy
Step 4 {[default ] | [device-role {node | switch}] | Enables data address gleaning, validates
[limit address-count value] | [no] | [protocol messages against various criteria, specifies the
{dhcp | ndp} ] | [security-level {glean | guard security level for messages.
| inspect} ] | [tracking {disable [stale-lifetime
• (Optional) default—Sets all to default
[seconds | infinite] | enable [reachable-lifetime
options.
[seconds | infinite] } ] | [trusted-port ] }
Example: • (Optional) device-role{node] |
switch}—Specifies the role of the device
Device(config-ipv6-snooping)#
security-level inspect
attached to the port. Default is node.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
422
Configuring IPv6 First Hop Security
Configuring an IPv6 Snooping Policy
Step 6 show ipv6 snooping policy policy-name Displays the snooping policy configuration.
Example:
Device#show ipv6 snooping policy
example_policy
What to do next
Attach an IPv6 Snooping policy to interfaces or VLANs.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
423
Configuring IPv6 First Hop Security
Attaching an IPv6 Snooping Policy to an Interface
Procedure
Device> enable
Step 3 interface Interface_type stack/module/port Specifies an interface type and identifier and
enters the interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/1/4
Step 5 ipv6 snooping [attach-policy policy_name [ Attaches a custom ipv6 snooping policy to the
vlan {vlan_id | add vlan_ids | exceptvlan_ids interface or the specified VLANs on the
| none | remove vlan_ids}] | vlan {vlan_id | interface. To attach the default policy to the
interface, use the ipv6 snooping command
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
424
Configuring IPv6 First Hop Security
Attaching an IPv6 Snooping Policy to a Layer 2 EtherChannel Interface
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
425
Configuring IPv6 First Hop Security
Attaching an IPv6 Snooping Policy to VLANs Globally
Step 4 ipv6 snooping [attach-policy policy_name [ Attaches the IPv6 Snooping policy to the
vlan {vlan_ids | add vlan_ids | except vlan_ids interface or the specified VLANs on that
| none | remove vlan_ids | all} ] | vlan [ interface. The default policy is attached if the
{vlan_ids | add vlan_ids | exceptvlan_ids | attach-policy option is not used.
none | remove vlan_ids | all} ]
Example:
Device(config-if-range)# ipv6 snooping
attach-policy example_policy
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
426
Configuring IPv6 First Hop Security
Configuring the IPv6 Binding Table Content
Step 3 vlan configuration vlan_list Specifies the VLANs to which the IPv6
Snooping policy will be attached, and enters
Example:
the VLAN interface configuration mode.
Device(config)# vlan configuration 333
Step 4 ipv6 snooping [attach-policy policy_name] Attaches the IPv6 Snooping policy to the
specified VLANs across all device interfaces.
Example:
The default policy is attached if the
Device(config-vlan-config)#ipv6 snooping attach-policy option is not used. The default
attach-policy example_policy
policy is, security-level guard, device-role
node, protocol ndp and dhcp.
Procedure
Device> enable
Step 3 [no] ipv6 neighbor binding [vlan vlan-id Adds a static entry to the binding table database.
{ipv6-address interface interface_type
stack/module/port hw_address
[reachable-lifetimevalue [seconds | default |
infinite] | [tracking{ [default | disable] [
reachable-lifetimevalue [seconds | default |
infinite] | [enable [reachable-lifetimevalue
[seconds | default | infinite] | [retry-interval
{seconds| default [reachable-lifetimevalue
[seconds | default | infinite] } ]
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
427
Configuring IPv6 First Hop Security
Configuring an IPv6 Neighbor Discovery Inspection Policy
Step 4 [no] ipv6 neighbor binding max-entries Specifies the maximum number of entries that
number [mac-limit number | port-limit number are allowed to be inserted in the binding table
[mac-limit number] | vlan-limit number [ cache.
[mac-limit number] | [port-limit number
[mac-limitnumber] ] ] ]
Example:
Device(config)# ipv6 neighbor binding
max-entries 30000
Step 5 ipv6 neighbor binding logging Enables the logging of binding table main
events.
Example:
Device(config)# ipv6 neighbor binding
logging
Procedure
Device> enable
Step 3 ipv6 nd inspection policy policy-name Specifies the ND inspection policy name and
enters ND Inspection Policy configuration
Example:
mode.
Device(config)# ipv6 nd inspection
policy example_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
428
Configuring IPv6 First Hop Security
Configuring an IPv6 Neighbor Discovery Inspection Policy
Step 5 limit address-count value Limits the number of IPv6 addresses allowed
to be used on the port.
Example:
Device(config-nd-inspection)# limit
address-count 1000
Step 6 tracking {enable [reachable-lifetime {value Overrides the default tracking policy on a port.
| infinite}] | disable [stale-lifetime {value |
infinite}]}
Example:
Device(config-nd-inspection)# tracking
disable stale-lifetime infinite
Step 8 validate source-mac Checks the source media access control (MAC)
address against the link-layer address.
Example:
Device(config-nd-inspection)# validate
source-mac
Step 10 default {device-role | limit address-count | Restores configuration to the default values.
tracking | trusted-port | validate
source-mac}
Example:
Device(config-nd-inspection)# default
limit address-count
Step 12 show ipv6 nd inspection policy policy_name Verifies the ND inspection configuration.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
429
Configuring IPv6 First Hop Security
Attaching an IPv6 Neighbor Discovery Inspection Policy to an Interface
Procedure
Device> enable
Step 3 interface interface-type interface-number Specifies an interface type and identifier; enters
the interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/1/4
Step 4 ipv6 nd inspection [attach-policy policy_name Attaches the Neighbor Discovery Inspection
[ vlan {vlan_ids | add vlan_ids | except policy to the interface or the specified VLANs
vlan_ids | none | remove vlan_ids | all} ] | vlan on that interface. The default policy is attached
[ {vlan_ids | add vlan_ids | exceptvlan_ids | if the attach-policy option is not used.
none | remove vlan_ids | all} ]
Example:
Device(config-if)# ipv6 nd inspection
attach-policy example_policy
Device(config-if)# ipv6 nd inspection
attach-policy example_policy vlan
222,223,2
Device(config-if)# ipv6 nd inspection
vlan 222, 223,224
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
430
Configuring IPv6 First Hop Security
Attaching an IPv6 Neighbor Discovery Inspection Policy to a Layer 2 EtherChannel Interface
Procedure
Device> enable
Step 4 ipv6 nd inspection [attach-policy policy_name Attaches the ND Inspection policy to the
[ vlan {vlan_ids | add vlan_ids | except interface or the specified VLANs on that
vlan_ids | none | remove vlan_ids | all} ] | vlan interface. The default policy is attached if the
[ {vlan_ids | add vlan_ids | exceptvlan_ids | attach-policy option is not used.
none | remove vlan_ids | all} ]
Example:
Device(config-if-range)# ipv6 nd
inspection attach-policy example_policy
Device(config-if-range)#ipv6 nd
inspection vlan 222, 223,224
Device(config-if-range)# ipv6 nd
inspection attach-policy example_policy
vlan 222,223,224
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
431
Configuring IPv6 First Hop Security
Configuring an IPv6 Router Advertisement Guard Policy
Procedure
Device> enable
Step 3 vlan configuration vlan_list Specifies the VLANs to which the IPv6
Snooping policy will be attached, and enters
Example:
VLAN interface configuration mode.
Device(config)# vlan configuration 334
Step 4 ipv6 nd inspection [attach-policy Attaches the IPv6 Neighbor Discovery policy
policy_name] to the specified VLANs across all switch and
stack interfaces. The default policy is attached
Example:
if the attach-policy option is not used.
Device(config-vlan-config)#ipv6 nd
inspection attach-policy example_policy The default policy is, device-role host, no
drop-unsecure, limit address-count disabled,
sec-level minimum is disabled, tracking is
disabled, no trusted-port, no validate
source-mac.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
432
Configuring IPv6 First Hop Security
Configuring an IPv6 Router Advertisement Guard Policy
Step 4 [no]device-role {host | monitor | router | Specifies the role of the device attached to the
switch} port. The default is host.
Example: Note For a network with both
Device(config-nd-raguard)# device-role host-facing ports and
switch router-facing ports, along with a
RA guard policy configured with
device-role host on host-facing
ports or vlan, it is mandatory to
configure a RA guard policy with
device-role router on
router-facing ports to allow the
RA Guard feature to work
properly.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
433
Configuring IPv6 First Hop Security
Configuring an IPv6 Router Advertisement Guard Policy
Step 11 default {device-role | hop-limit {maximum Restores a command to its default value.
| minimum} | managed-config-flag | match
{ipv6 access-list | ra prefix-list } |
other-config-flag | router-preference
maximum| trusted-port}
Example:
Device(config-nd-raguard)# default
hop-limit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
434
Configuring IPv6 First Hop Security
Attaching an IPv6 Router Advertisement Guard Policy to an Interface
Procedure
Step 3 interface type number Specifies an interface type and identifier; enters
the interface configuration mode.
Example:
Device(config)# interface gigabitethernet
1/1/4
Step 4 ipv6 nd raguard [attach-policy policy_name Attaches the Neighbor Discovery Inspection
[ vlan {vlan_ids | add vlan_ids | except policy to the interface or the specified VLANs
vlan_ids | none | remove vlan_ids | all} ] | vlan on that interface. The default policy is attached
[ {vlan_ids | add vlan_ids | exceptvlan_ids | if the attach-policy option is not used.
none | remove vlan_ids | all} ]
Example:
Device(config-if)# ipv6 nd raguard
attach-policy example_policy
Device(config-if)# ipv6 nd raguard
attach-policy example_policy vlan
222,223,224
Device(config-if)# ipv6 nd raguard vlan
222, 223,224
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
435
Configuring IPv6 First Hop Security
Attaching an IPv6 Router Advertisement Guard Policy to a Layer 2 EtherChannel Interface
Procedure
Step 3 interface range type number Specifies the port-channel interface name
assigned when the EtherChannel was created.
Example:
Enters interface range configuration mode.
Device(config)# interface Port-channel
11 Tip Enter the show interfaces
summary command in privileged
EXEC mode for quick reference
to interface names and types.
Step 4 ipv6 nd raguard [attach-policy policy_name Attaches the RA Guard policy to the interface
[ vlan {vlan_ids | add vlan_ids | except or the specified VLANs on that interface. The
vlan_ids | none | remove vlan_ids | all} ] | vlan default policy is attached if the attach-policy
[ {vlan_ids | add vlan_ids | exceptvlan_ids | option is not used.
none | remove vlan_ids | all} ]
Example:
Device(config-if-range)# ipv6 nd raguard
attach-policy example_policy
Device(config-if-range)# ipv6 nd raguard
attach-policy example_policy vlan
222,223,224
Device(config-if-range)# ipv6 nd raguard
vlan 222, 223,224
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
436
Configuring IPv6 First Hop Security
Configuring an IPv6 DHCP Guard Policy
Procedure
Step 3 vlan configuration vlan_list Specifies the VLANs to which the IPv6 RA
Guard policy will be attached, and enters VLAN
Example:
interface configuration mode.
Device(config)# vlan configuration 335
Step 4 ipv6 dhcp guard [attach-policy policy_name] Attaches the IPv6 RA Guard policy to the
specified VLANs across all switch and stack
Example:
interfaces. The default policy is attached if the
Device(config-vlan-config)# ipv6 nd attach-policy option is not used.
raguard attach-policy example_policy
Procedure
Step 3 ipv6 dhcp guard policy policy-name Specifies the DHCPv6 Guard policy name and
enters DHCPv6 Guard Policy configuration
Example:
mode.
Device(config)# ipv6 dhcp guard policy
example_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
437
Configuring IPv6 First Hop Security
Configuring an IPv6 DHCP Guard Policy
Step 5 match server access-list ipv6-access-list-name (Optional). Enables verification that the
advertised DHCPv6 server or relay address is
Example:
from an authorized server access list (The
;;Assume a preconfigured IPv6 Access destination address in the access list is 'any').
List as follows:
Device(config)# ipv6 access-list my_acls If not configured, this check will be bypassed.
Device(config-ipv6-acl)# permit host An empty access list is treated as a permit all.
2001:BD8:::1 any
Step 7 preference{ max limit | min limit } Configure max and min when device-role is
serverto filter DCHPv6 server advertisements
Example:
by the server preference value. The defaults
Device(config-dhcp-guard)# preference permit all advertisements.
max 250
Device(config-dhcp-guard)#preference max limit—(0 to 255) (Optional) Enables
min 150
verification that the advertised preference (in
preference option) is less than the specified
limit. Default is 255. If not specified, this
check will be bypassed.
min limit—(0 to 255) (Optional) Enables
verification that the advertised preference (in
preference option) is greater than the specified
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
438
Configuring IPv6 First Hop Security
Attaching an IPv6 DHCP Guard Policy to an Interface or a VLAN on an Interface
Step 11 show ipv6 dhcp guard policy policy_name (Optional) Displays the configuration of the
IPv6 DHCP guard policy. Omitting the
Example:
policy_name variable displays all DHCPv6
Device# show ipv6 dhcp guard policy policies.
example_policy
Procedure
Step 3 interface type number Specifies an interface type and identifier, and
enters interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/1/4
Step 4 ipv6 dhcp guard [attach-policy policy_name Attaches the DHCP Guard policy to the
[ vlan {vlan_ids | add vlan_ids | except interface or the specified VLANs on that
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
439
Configuring IPv6 First Hop Security
Attaching an IPv6 DHCP Guard Policy to a Layer 2 EtherChannel Interface
Procedure
Step 4 ipv6 dhcp guard [attach-policy policy_name Attaches the DHCP Guard policy to the
[ vlan {vlan_ids | add vlan_ids | except interface or the specified VLANs on that
vlan_ids | none | remove vlan_ids | all} ] | vlan interface. The default policy is attached if the
[ {vlan_ids | add vlan_ids | exceptvlan_ids | attach-policy option is not used.
none | remove vlan_ids | all} ]
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
440
Configuring IPv6 First Hop Security
Attaching an IPv6 DHCP Guard Policy to VLANs Globally
Procedure
Step 3 vlan configuration vlan_list Specifies the VLANs to which the IPv6
Snooping policy will be attached, and enters
Example:
VLAN interface configuration mode.
Device(config)# vlan configuration 334
Step 4 ipv6 dhcp guard [attach-policy policy_name] Attaches the IPv6 Neighbor Discovery policy
to the specified VLANs across all switch and
Example:
stack interfaces. The default policy is attached
Device(config-vlan-config)# ipv6 dhcp if the attach-policy option is not used. The
guard attach-policy example_policy
default policy is, device-role client, no
trusted-port.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
441
Configuring IPv6 First Hop Security
Configuring IPv6 Source Guard
Step 3 ipv6 source-guard policy policy_name Specifies the IPv6 Source Guard policy name
and enters IPv6 Source Guard policy
Example:
configuration mode.
Device(config)# ipv6 source-guard policy
example_policy
Step 4 [deny global-autoconf] [permit link-local] (Optional) Defines the IPv6 Source Guard
[default{. . . }] [exit] [no{. . . }] policy.
Example: • deny global-autoconf: Denies data traffic
Device(config-sisf-sourceguard)# deny from auto-configured global addresses.
global-autoconf This is useful when all global addresses
on a link are DHCP-assigned and the
administrator wants to block hosts with
self-configured addresses to send traffic.
• permit link-local: Allows all data traffic
that is sourced by a link-local address.
Step 6 show ipv6 source-guard policy policy_name Shows the policy configuration and all the
interfaces where the policy is applied.
Example:
Device# show ipv6 source-guard policy
example_policy
What to do next
Apply the IPv6 Source Guard policy to an interface.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
442
Configuring IPv6 First Hop Security
Attaching an IPv6 Source Guard Policy to an Interface
Procedure
Step 3 interface type number Specifies an interface type and identifier; enters
interface configuration mode.
Example:
Device(config)# interface gigabitethernet
1/1/4
Step 4 ipv6 source-guard [attach-policy Attaches the IPv6 Source Guard policy to the
<policy_name> ] interface. The default policy is attached if the
attach-policy option is not used.
Example:
Device(config-if)# ipv6 source-guard
attach-policy example_policy
Step 6 show ipv6 source-guard policy policy_name Shows the policy configuration and all the
interfaces where the policy is applied.
Example:
Device#(config)# show ipv6 source-guard
policy example_policy
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
443
Configuring IPv6 First Hop Security
Configuring IPv6 Prefix Guard
Step 4 ipv6 source-guard [attach-policy Attaches the IPv6 Source Guard policy to the
<policy_name> ] interface. The default policy is attached if the
attach-policy option is not used.
Example:
Device(config-if)# ipv6 source-guard
attach-policy example_policy
Step 6 show ipv6 source-guard policy policy_name Shows the policy configuration and all the
interfaces where the policy is applied.
Example:
Device# show ipv6 source-guard policy
example_policy
Note To allow routing protocol control packets sourced by a link-local address when prefix guard is applied, enable
the permit link-local command in the source-guard policy configuration mode.
Procedure
Step 3 ipv6 source-guard policy source-guard-policy Defines an IPv6 source-guard policy name and
enters switch integrated security features
Example:
source-guard policy configuration mode.
Device(config)# ipv6 source-guard policy
my_snooping_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
444
Configuring IPv6 First Hop Security
Attaching an IPv6 Prefix Guard Policy to an Interface
Step 5 validate prefix Enables IPv6 source guard to perform the IPv6
prefix-guard operation.
Example:
Device(config-sisf-sourceguard)# validate
prefix
Step 7 show ipv6 source-guard policy Displays the IPv6 source-guard policy
[source-guard-policy] configuration.
Example:
Device# show ipv6 source-guard policy
policy1
Procedure
Step 3 interface type number Specifies an interface type and identifier, and
enters interface configuration mode.
Example:
Device(config)# interface gigabitethernet
1/1/4
Step 4 ipv6 source-guard attach-policy policy_name Attaches the IPv6 Source Guard policy to the
interface. The default policy is attached if the
Example:
attach-policy option is not used.
Device(config-if)# ipv6 source-guard
attach-policy example_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
445
Configuring IPv6 First Hop Security
Attaching an IPv6 Prefix Guard Policy to a Layer 2 EtherChannel Interface
Step 6 show ipv6 source-guard policy policy_name Shows the policy configuration and all the
interfaces where the policy is applied.
Example:
Device(config-if)# show ipv6 source-guard
policy example_policy
Procedure
Step 3 interface port-channel port-channel-number Specifies an interface type and port number and
places the switch in the port channel
Example:
configuration mode.
Device(config)# interface Port-channel
4
Step 4 ipv6 source-guard [attach-policy Attaches the IPv6 Source Guard policy to the
<policy_name> ] interface. The default policy is attached if the
attach-policy option is not used.
Example:
Device(config-if)# ipv6 source-guard
attach-policy example_policy
Step 6 show ipv6 source-guard policy policy_name Shows the policy configuration and all the
interfaces where the policy is applied.
Example:
Device(config)# show ipv6 source-guard
policy example_policy
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
446
Configuring IPv6 First Hop Security
Configuration Examples for IPv6 First Hop Security
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
447
Configuring IPv6 First Hop Security
Additional References for IPv6 First Hop Security
Device(config-if)# end
SISF Configuring SISF-Based Device Tracking chapter of the Security Configuration Guide
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
448
Configuring IPv6 First Hop Security
Feature History for IPv6 First Hop Security
Cisco IOS XE Everest IPv6 First Hop Security First Hop Security in IPv6 is a set of IPv6 security
16.5.1a features, the policies of which can be attached to a
physical interface, an EtherChannel interface, or a
VLAN. An IPv6 software policy database service
stores and accesses these policies. When a policy is
configured or modified, the attributes of the policy
are stored or updated in the software policy database,
then applied as was specified.
The IPv6 Snooping Policy feature has been
deprecated. Although the commands are visible on
the CLI and you can configure them, we recommend
that you use the Switch Integrated Security Feature
(SISF)-based Device Tracking feature instead.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a IPv6 First Hop Security Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
449
Configuring IPv6 First Hop Security
Feature History for IPv6 First Hop Security
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
450
CHAPTER 26
Configuring Switch Integrated Security Features
• Information About SISF, on page 451
• How to Configure SISF, on page 471
• Configuration Examples for SISF, on page 480
• Feature History for SISF, on page 485
6
IPv6 Snooping Policy, IPv6 FHS Binding Table Content, and IPv6 Neighbor Discovery Inspection
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
451
Configuring Switch Integrated Security Features
Understanding the SISF Infrastructure
Note The terms “SISF” “device-tracking” and “SISF-based device-tracking” are used interchangeably in this
document and refer to the same feature. Neither term is used to mean or should be confused with the legacy
IPDT or IPv6 Snooping features.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
452
Configuring Switch Integrated Security Features
The Binding Table
The following figure shows a simple network topology and a representative binding table for each access
switch in the network. SWA and SWB are the two access switches in the network. The two access switches
are connected to the same distribution switch. H1, H2, H3, H4 are the hosts.
This is an example of a distributed binding table, that is, each access switch in the network has its own table.
An alternative set-up could be one centralised binding table on the distribution switch with the entries of SWA
and SWB.
Having a distributed or a centralised binding table is a key design choice in the process of implementing SISF
in your network and is covered in greater detail in the Understanding Policy Parameters, on page 458 section
in this chapter.
Figure 24: Binding Table
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
453
Configuring Switch Integrated Security Features
States and Lifetime of a Binding Table Entry
State: Reachable
If an entry has this state, it means the host (IP and MAC address) from which a control packet was received,
is a verified and valid host. A reachable entry has a default lifetime of 5 minutes. You can also configure a
duration. By configuring a reachable-lifetime, you specify how long a host can remain in a REACHABLE
state, after the last incoming control packet from that host.
If an event is detected before the entry’s reachable lifetime expires, then the reachable lifetime is reset.
To qualify for the REACHABLE state, a new entry goes through the process illustrated in the figure below.
The switch detects an event (E), such as an incoming control packet from a connected host and creates an
entry. Various events cause the creation of an entry, and these are described in the Binding Table Sources
section. The creation of an entry is followed by different transient states, such as TENTATIVE or
INCOMPLETE. While in a transitional state, the switch validates and confirms the integrity of the binding
entry. If the entry is found to be valid, then the state changes to REACHABLE.
But if an address theft or similar event is detected, then the entry is regarded as invalid and is deleted. For
example, if an attacker sends unsolicited neighbor advertisement messages with the same IP as the target IP
and its (attacker's) own MAC address to redirect traffic.
Figure 25: Creation of a Reachable Entry
State: Stale
If an entry is in this state it means that the entry’s reachable lifetime has expired and the corresponding host
is still silent (no incoming packets from the host). A stale entry has a default lifetime of 24 hours. You can
also configure a duration. An entry that remains in the STALE state beyond the stale lifetime, is deleted.
This is illustrated in the figure below which depicts the lifecycle of an entry.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
454
Configuring Switch Integrated Security Features
States and Lifetime of a Binding Table Entry
State: Down
If an entry is in this state, it means that the host’s connecting interface is down. A down entry has a default
lifetime of 24 hours. You can also configure a duration. An entry that remains in the DOWN state beyond the
down lifetime, is deleted.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
455
Configuring Switch Integrated Security Features
Binding Table Sources
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
456
Configuring Switch Integrated Security Features
Device-Tracking
Note In addition to the primary or key events listed above, there is a specific scenario in which a ping can result in
a device-tracking entry. If a sender’s ARP cache or IPv6 neighbor table doesn’t have the target’s IP address
yet, then a ping triggers an ARP packet for IPv4, or ND packet for IPv6. This can result in a device-tracking
entry.
But if the target IP is already in the ARP cache or IPv6 neighbour table, no ARP or ND packet is generated
when you ping - in which case SISF cannot learn the IP address.
Device-Tracking
SISF-based device-tracking is disabled by default. You can enable the feature on an interface or VLAN.
When you enable the feature, the binding table is created, followed by subsequent maintenance of the binding
table.
The events listed in the Binding Table Sources, on page 456 section act as triggers for SISF-based
device-tracking, to track the presence, location, and movement of hosts in the network, to populate and maintain
the binding table. For example, if information about a host is learnt by means of an ARP or ND packet, every
subsequent ARP or ND packet from the same host acts as an alert for SISF-based device-tracking, to refresh
the entry in the binding table, thus indicating if the host is still present in the same location or has moved.
The continuous process of snooping of packets that the switch receives, extraction of device identity (MAC
and IP address), and storage of information in the binding table of the switch, ensures binding integrity and
maintains the reachability status of the hosts in the binding table.
For information how to enable SISF-based device-tracking, see How to Configure SISF, on page 471.
Device-Tracking Policy
A device-tracking policy is a set of rules that SISF-based device-tracking follows. The policy dictates which
events will be listened to, whether a host will be probed, the wait time before the host is probed, and so on.
These rules are referred to as policy parameters.
Note The policy must be attached to an interface or VLAN. Only then is the binding table for that interface or
VLAN populated - in accordance with policy parameters.
For information about the various ways in which you can create a policy, see How to Configure SISF, on
page 471.
To display a policy's settings, use the show device-tracking policy policy_name command in privileged
EXEC mode.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
457
Configuring Switch Integrated Security Features
Understanding Policy Parameters
For information about all the paramters displayed in the device-tracking configuration mode, see the command
reference document of the corresponding release.
Glean
When the security-level is set to glean, SISF extracts the IP and MAC address and enters them into the binding
table, without any verification. This option therefore does not ensure binding integrity. It may for example,
be suited to a set-up where client applications such as IEEE 802.1X or SANET want to only learn about the
host and not rely on SISF for authentication.
The only factor that affects the addition of the binding entry for this security-level, is the address count limit.
There are separate limits for the maximum number of IPs per port, IPv4 per MAC, and IPv6 per MAC. Entries
are rejected once a limit is reached. For more information about this parameter, see Address Count Limits.
Guard
This is the default value for the security-level parameter.
When the security-level is set to guard, SISF extracts and verifies the IP and MAC address of packets entering
the network. The outcome of the verification determines if a binding entry is added, or updated, or if the
packet is dropped and the client is rejected.
The process of verification starts with the search for a matching entry in the database. The database may be
centralised or distributed. If a matching entry is not found, a new entry is added.
If a matching entry is found and the points of attachment (MAC, VLAN, or interface) are found to be the
same, only the timestamp is updated. If not, the scope of verification is extended to include validation of
address ownership. This may include host polling to determine if the change in the point of attachment (a
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
458
Configuring Switch Integrated Security Features
Trusted-Port and Device-Role Switch
different MAC, or VLAN) is valid. If the change is valid the entry is updated, or if it is a case of theft, the
entry is not added to the binding table.
If a binding entry is added or updated, the corresponding client is granted access to the network. If an entry
does not pass verification, the corresponding client is rejected.
Note The verification process affects not only the binding entry, but also the corresponding incoming packet.
SISF uses only a copy of the packet when its IPv4. When its an IPv6 packet, SISF stops the orginal packet
for the duration of the verification. A rejected entry means the following for the corresponding packet:
• If the incoming packet is IPv4, the packet is allowed to go through even if the entry is rejected.
• If the incoming packet is IPv6, a rejected entry means that the packet is also dropped.
Inspect
Even though security-level inspect is available on the CLI, we recommend not using it. The glean and guard
options described above address most use cases and network requirements.
Note While there are scenarios where configuring only either one of these options may be suitable, the more common
use case is for both the trusted-port and device-role switch options to be configured on the port - the examples
below explain this in detail. Possible scenarios where only either one of these options is suited or required
have also been described, at the end of this section.
To configure these parameters in a policy, enter the trusted-port and device-role keywords in the
device-tracking configuration mode.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
459
Configuring Switch Integrated Security Features
Trusted-Port and Device-Role Switch
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
460
Configuring Switch Integrated Security Features
Trusted-Port and Device-Role Switch
Figure 28: Multi-Switch Set-Ups Without Trusted-Port and Device-Role Switch Options
By contrast see figure Figure 29: Multi-Switch Set-Ups With Trusted-Port and Device-Role Switch Options,
on page 463 below. Here when SWA intercepts the packet of a host that is not attached to it (say H3 which is
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
461
Configuring Switch Integrated Security Features
Trusted-Port and Device-Role Switch
directly attached to SWB), it does not create an entry because it detects that H3 is attached to a device that is
configured as a switch (device-role switch option) and the uplink port of the switch (where the packet came
from) is a trusted port (trusted-port option).
By creating binding entries only on switches where the host appears on an access port (port P1 and P2 of each
switch), and not creating entries for a host that appears over an uplink port or trusted port (Px UP), each switch
in the set-up validates and makes only the required entries, thus achieving an efficient distribution of the
creation of binding table entries.
A second advantage of configuring device-role switch and trusted-port options in a multi-switch scenario
is that it prevents duplicate entries when a host, say H1 moves from one switch to another. H1’s IP and MAC
binding in the earlier location (let’s say SWA) continues to remain there until it reaches the STALE state. But
if H1 moves and connects to a second switch, say SWC, then SWA receives a duplicate binding entry through
the uplink port. In such a situation, if the uplink port of the second switch (SWC) is configured as a trusted
port, SWA deletes its stale entry. Further, it doesn’t create another new binding entry because the SWC will
already have the latest entry and this entry is trusted.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
462
Configuring Switch Integrated Security Features
Trusted-Port and Device-Role Switch
Figure 29: Multi-Switch Set-Ups With Trusted-Port and Device-Role Switch Options
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
463
Configuring Switch Integrated Security Features
Creating an Efficient and Scalable Secure Zone
In both cases, we recommended that you not configure the device-role switch and trusted-port options.
Further, we recommended that you maintain a centralised binding table - on the distribution switch. When
you do, all the binding entries for all the hosts connected to non-Cisco switches and switches that do not
support the feature, are validated by the distribution switch and still secure your network. The figure below
illustrates the same.
Figure 30: Centralised Binding Table
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
464
Configuring Switch Integrated Security Features
Creating an Efficient and Scalable Secure Zone
Secure Zones 1, 2 and 3, display three different set-ups and the secure zone that is established in each case.
Secure Zone: Figure 31: Secure Zone 1 - Figure 32: Secure Zone 2 - Figure 33: Secure Zone 3:
Inefficient and Unscalable Efficient and Scalable Secure Efficient Secure Zone When
Secure Zone, on page 466 Zone When Binding Tables Binding Table is Centralized, on
are Decentralized, on page 467 page 468
Scalability: Unscalable; each switch Scalable; each switch as Unscalable; the distribution
has entries of all the hosts entries of only directly switch has entries of all hosts in
in the network connected hosts the network
Polling and its 18 polling requests are 6 polling requests are being 6 polling requests are being sent
effect on the being sent (6 hosts x 3 sent (2 hosts x 1 switch for (6 hosts x 1 switch)
network: switches). each switch).
Network load is higher than
n = number of Each host is polled by all Minimal network load. secure zone 2, but not as high as
hosts the switches in the (Polling requests are sent by secure zone 1. (Polling requests
network (in the absence of the local access switches to come from the distribution
m = number of
the trusted-port and directly connected hosts, each switch and go through the access
switches
device-role switch polling request passes through switch before reaching the host.)
total number of options). fewer points in the network.)
polling
Network load is very high.
requests: = n X
m
Efficiency: Inefficient binding table, Efficient binding table, Efficient binding table, because
because the binding table because each host’s binding the binding information for each
is duplicated on each information is entered only host is entered only once, and
switch. once, and in one binding table this is in the central binding
and this the binding table of table, which is on the
the directly connected switch. distribution switch.
Recommended Reapply suitable policies None; this is an efficient and None; this is the best possible
Action: to make the secure zone scalable secure zone. secure zone given the type of
like secure zone 2 set-up (where the other switches
in the network are either
non-Cisco or do not support the
feature)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
465
Configuring Switch Integrated Security Features
Creating an Efficient and Scalable Secure Zone
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
466
Configuring Switch Integrated Security Features
Creating an Efficient and Scalable Secure Zone
Figure 32: Secure Zone 2 - Efficient and Scalable Secure Zone When Binding Tables are Decentralized
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
467
Configuring Switch Integrated Security Features
When to Use Only Trusted-Port or Only Device-Role Switch
Figure 33: Secure Zone 3: Efficient Secure Zone When Binding Table is Centralized
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
468
Configuring Switch Integrated Security Features
Address Count Limits
When you configure this option on a switch port (or interface), SISF-based device-tracking treats the port as
a trunk port, implying that the port is connected to other switches. It does not matter whether the port is actually
a trunk port or not. Therefore, when NS packets or queries are sent to switches in the network for new entry
validation, only the secure ports (ports where the device-role switch is configured) receive the packet or
query. This safeguards the network. If the command is not configured on any port, a general broadcast of the
query is sent.
Configuring only trusted-port is suited to situations where an access port should be configured as a trusted
port. If an access port is connected to a DHCP server or a similar service that the switch is consuming,
configuring an access port as a trusted port ensures that the service is not disrupted because traffic from such
a port is trusted. This also widens the secure zone, to include the access port.
IP per Port
The IP per port option is the total number of IP addresses allowed for a port. The address can be IPv4 or IPv6.
When the limit is reached, no further IP addresses (i.e., entries) are added to the binding table.
To configure this parameter in a policy, enter the limit address-count ip-per-port keyword in the
device-tracking configuration mode. If you configure a limit that is lower than the currently configured one,
then the new (lower) limit is applicable only to new entries. An existing entry remains in the binding table
and goes through its binding entry lifecycle.
Note The IPv4 per MAC limit and the IPv6 per MAC limit that is effective on an interface or VLAN is as defined
in the policy that is applied. If the policy does not specify a limit, this means that a limit does not exist. You
cannot change or configure a limit for IPv4 per MAC or IPv6 per MAC for any kind of policy (programmatic,
or custom policy, or default policy).
Enter the show device-tracking policy policy name to check if a limit exisits. The following is sample output
of a policy where an IPv4 per MAC and an IPv6 per MAC limit exists:
Device# show device-tracking policy LISP-DT-GUARD-VLAN
Policy LISP-DT-GUARD-VLAN configuration:
security-level guard (*)
<output truncated>
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
469
Configuring Switch Integrated Security Features
Tracking
<output truncated>
Tracking
The tracking parameter involves tracking of hosts in the network. In section Polling a Host and Updating the
Binding Table Entry, on page 455 above, this is referred to as "polling". It also describes polling behaviour in
detail.
To configure polling parameters at the global level, enter the device-tracking tracking command in global
configuration mode. After you configure this command you still have the flexibility to turn polling on or off,
for individual interfaces and VLANs. For this you must enable or disable polling in the policy.
To enable polling in a policy, enter the tracking enable keywords in the device-tracking configuration mode.
By default, polling is disabled in a policy.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
470
Configuring Switch Integrated Security Features
Guidelines for Applying a Policy
A manually created policy has the highest priority. When you want to override the settings of a
programmatically created policy, you can create a custom policy, so it has higher priority.
• The parameters of a programmatically created policy cannot be changed. You can configure certain
attributes of a custom policy.
Option 1: Manually, by using Applying the Default Device Automatically applies the default
interface configuration commands Tracking Policy to a Target, on device tracking policy to the
to create and apply the default page 472 specified target.
policy to a target.
The default policy is a built-in
policy with default settings; you
cannot change any of the attributes
of the default policy. See Option 2
if you want to configure device
tracking policy attributes.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
471
Configuring Switch Integrated Security Features
Applying the Default Device Tracking Policy to a Target
Option 2: Manually, by using 1. Creating a Custom Device Creates a custom policy with the
global configuration commands Tracking Policy with Custom name and policy parameters you
commands to create a custom Settings, on page 473 configure, and attaches the policy
policy and applying the custom to the specified target.
policy to a target. 2. Attach the custom policy to an
interface or VLAN:
Attaching a Device Tracking
Policy to an Interface, on page
477
OR
Attaching a Device Tracking
Policy to a VLAN, on page 478
Option 3: Programmatically, by Enter the ip dhcp snooping When you configure the command,
configuring the snooping vlanvlan command in global the system automatically creates
command. configuration mode. policy DT-PROGRAMMATIC.
Example: Programatically Enabling Use this method if you want to
SISF by Configuring DHCP enable SISF-based device tracking
Snooping, on page 480 for these clients: IEEE 802.1X,
Web authentication, Cisco
TrustSec, IP Source Guard, and
SANET.
Option 4: Programmatically, by Example: Programatically enabling When you configure LISP, the
configuring Locator ID Separation SISF by Configuring LISP system automatically creates policy
Protocol (LISP). (LISP-DT-GUARD-VLAN), on LISP-DT-GUARD-VLAN or
page 481 LISP-DT-GLEAN-VLAN.
Option 6: Migrating from legacy Migrating from Legacy IPDT and Convert legacy IPDT and IPv6
IPDT and IPv6 Snooping. IPv6 Snooping to SISF-Based Snooping configuration to the
Device Tracking, on page 479 SISF-based device-tracking
commands.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
472
Configuring Switch Integrated Security Features
Creating a Custom Device Tracking Policy with Custom Settings
Procedure
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
473
Configuring Switch Integrated Security Features
Creating a Custom Device Tracking Policy with Custom Settings
Step 3 [no] device-tracking policy policy-name Creates the policy and enters device-tracking
configuration mode.
Example:
Device(config)# device-tracking policy
example_policy
Step 4 [data-glean | default | destination-glean Enter the question mark (?) at the system
| device-role | distribution-switch | exit prompt to obtain a list of available options in
| limit | no | prefix-glean | protocol this mode. You can configure the following for
| security-level | tracking | trusted-port both IPv4 and IPv6:
| vpc] • (Optional) data-glean—Enables learning
Example: of addresses from a data packet snooped
Device(config-device-tracking)# from a source inside the network and
destination-glean log-only populates the binding table with the data
traffic source address. Enter one of these
options:
• log-only—Generates a syslog
message upon data packet notification
• recovery—Uses a protocol to enable
binding table recovery. Enter NDP
or DHCP.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
474
Configuring Switch Integrated Security Features
Creating a Custom Device Tracking Policy with Custom Settings
• (Optional) distribution-switch—Although
visible on the CLI, this option is not
supported. Any configuration settings you
make will not take effect.
• exit—Exits the device-tracking policy
configuration mode.
• limit address-count—Specifies an address
count limit per port. The range is 1 to
32000.
• no—Negates the command or sets it to
defaults.
• (Optional) prefix-glean—Enables learning
of prefixes from either IPv6 Router
Advertisements or from DHCP-PD. You
have the following option:
• (Optional) only—Gleans only
prefixes and not host addresses.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
475
Configuring Switch Integrated Security Features
Creating a Custom Device Tracking Policy with Custom Settings
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
476
Configuring Switch Integrated Security Features
Attaching a Device Tracking Policy to an Interface
What to do next
Attach the policy to an interface or VLAN.
Procedure
Step 4 device-tracking attach-policy policy name Attaches the device tracking policy to the
interface. Device tracking is also supported on
Example:
EtherChannels.
Device(config-if)# device-tracking
attach-policy example_policy Note SISF based device-tracking
policies can be disabled only if
they are custom policies.
Programmatically created policies
can be removed only if the
corresponding device-tracking
client feature configuration is
removed.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
477
Configuring Switch Integrated Security Features
Attaching a Device Tracking Policy to a VLAN
Step 6 show device-tracking policies[interface Displays policies that match the specified
interface] interface type and number.
Example:
Device# show device-tracking policies
interface gigabitethernet 1/1/4
Procedure
Step 3 vlan configuration vlan_list Specifies the VLANs to which the device
tracking policy will be attached; enters the
Example:
VLAN interface configuration mode.
Device(config)# vlan configuration 333
Step 4 device-tracking attach-policy policy_name Attaches the device tracking policy to the
specified VLANs across all switch interfaces.
Example:
Device(config-vlan-config)# Note SISF based device-tracking
device-tracking attach-policy policies can be disabled only if
example_policy they are custom policies.
Programmatically created policies
can be removed only if the
corresponding device-tracking
client feature configuration is
removed.
Step 5 do show device-tracking policies vlan Verifies that the policy is attached to the
vlan-ID specified VLAN, without exiting the VLAN
interface configuration mode.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
478
Configuring Switch Integrated Security Features
Migrating from Legacy IPDT and IPv6 Snooping to SISF-Based Device Tracking
Device(config-vlan-config)# end
Migrating from Legacy IPDT and IPv6 Snooping to SISF-Based Device Tracking
Based on the legacy configuration that exists on your device, the device-tracking upgrade-cli command
upgrades your CLI differently. Consider the following configuration scenarios and the corresponding migration
results before you migrate your existing configuration.
Note You cannot configure a mix of the old IPDT and IPv6 snooping CLI with the SISF-based device tracking
CLI.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
479
Configuring Switch Integrated Security Features
Configuration Examples for SISF
Note If you do not migrate to the new SISF-based commands and continue to use the legacy IPv6 snooping or IPDT
commands, your IPv4 device tracking configuration information may be displayed in the IPv6 snooping
commands, as the SISF-based device tracking feature handles both IPv4 and IPv6 configuration. To avoid
this, we recommend that you convert your legacy configuration to SISF-based device tracking commands.
note:
Binding entry Down timer: 24 hours (*)
Binding entry Stale timer: 24 hours (*)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
480
Configuring Switch Integrated Security Features
Example: Programatically Enabling SISF by Configuring LISP (LISP-DT-GLEAN-VLAN)
Note The system creates LISP-DT-GUARD-VLAN or LISP-DT-GLEAN-VLAN depending on how LISP is configured.
You cannot change this, but if required you can create a custom policy with custom settings and attach it to
the required target.
note:
Binding entry Down timer: 10 minutes (*)
Binding entry Stale timer: 30 minutes (*)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
481
Configuring Switch Integrated Security Features
Example: Mitigating the IPv4 Duplicate Address Problem
Note The system creates LISP-DT-GUARD-VLAN or LISP-DT-GLEAN-VLAN depending on how LISP is configured.
You cannot change this, but if required you can create a custom policy with custom settings and attach it to
the required target.
This example shows how you can tackle the Duplicate IP Address 0.0.0.0 error message problem
encountered by clients that run Microsoft Windows:
Configure the device-tracking tracking auto-source command in global configuration mode. This command
determines the source IP and MAC address used in the Address Resolution Packet (ARP) request sent by the
switch to probe a client, in order to maintain its entry in the device-tracking table. The purpose, is to avoid
using 0.0.0.0 as source IP address.
Note Configure the device-tracking tracking auto-source command when a switch virtual interface (SVI) is not
configured. You do not have to configure it when a SVI is configured with an IPv4 address on the VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
482
Configuring Switch Integrated Security Features
Example: Mitigating the IPv4 Duplicate Address Problem
device-tracking tracking • Set source to VLAN SVI if We recommend that you disable
auto-source present. device-tracking on all trunk ports
to avoid MAC flapping.
• Look for IP and MAC binding
in device-tracking table from
same subnet.
• Use 0.0.0.0
device-tracking tracking • Set source to VLAN SVI if Not recommended when there is no
auto-source override present SVI.
• Use 0.0.0.0
ip device tracking probe • Set source to VLAN SVI if We recommend that you disable
auto-source fallback 0.0.0.X present. device-tracking on all trunk ports
255.255.255.0 to avoid MAC flapping.
• Look for IP and MAC binding
in device-tracking table from The computed IPv4 address must
same subnet. not be assigned to any client or
network device.
• Compute source IP from client
IP using host bit and mask
provided. Source MAC is
taken from the MAC address
of the switchport facing the
client*.
* Depending on the client IP address, an IPv4 address has to be reserved for the source IP.
A reserved source IPv4 address = (host-ip and mask) | client-ip
• Client IP = 192.0.2.25
• Source IP = (192.0.2.25 and 255.255.255.0) | (0.0.0.1) = 192.0.2.1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
483
Configuring Switch Integrated Security Features
Example: Disabling IPv6 Device Tracking on a Target
To disable device-tracking for IPv6, when a programmatic policy is attached to a target (Only Cisco IOS XE
Everest 16.6.x and Cisco IOS XE Fuji 16.8.x):
Device(config)# device-tracking policy DT-PROGRAMMATIC
Device(config-device-tracking)# no protocol ndp
Device(config-device-tracking)# no protocol dhcp6
Device(config-device-tracking)# end
Note • In the Cisco IOS XE Everest 16.5.x release, when a programmatic policy is attached, you cannot disable
device-tracking for IPv6.
• In the Cisco IOS XE Everest 16.6.x and Cisco IOS XE Fuji 16.8.x, when a programmatic policy is
attached, you can disable device-tracking for IPv6 - as shown in the example above.
• Starting with Cisco IOS XE Fuji 16.9.x, you cannot change the settings of a programmatic policy.
Example: Enabling IPv6 for SVI on VLAN (To Mitigate the Duplicate Address
Problem)
For an IPv6 device-tracking entry, its reachability is verified by sending an SISF probe to its end-node, which
is a neighbor solicitation message. Selection of the source IP address for this neighbor solicitation probe
follows these rules:
• If an SVI is configured on the VLAN, the link-local IPv6 address of the SVI is selected. Please ensure
that the SVI IP address is unique in the subnet.
• Otherwise, an address with all zeros (0:0:0:0:0:0:0:0) is selected.
When IPv6 is enabled in the network and a switched virtual interface (SVI) is configured on a VLAN, we
recommend that you add the following to the SVI configuration. This enables the SVI to acquire a link-local
address automatically; this address is used as the source IP address of the SISF probe, thus preventing the
duplicate IP address issue.
Device> enable
Device# configure terminal
Device(config)# interface vlan 10
Device(config-if)# ipv6 enable
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
484
Configuring Switch Integrated Security Features
Example: Configuring a Multi-Switch Network to Stop Creating Binding Entries from a Trunk Port
Note Both, the trusted-port, and device-role switch options, must be configured in the policy.
Further, we recommended that you apply such a policy on a port facing a device, which also has SISF-based
device tracking enabled.
Device> enable
Device# configure terminal
Device(config)# device-tracking policy example_trusted_policy
Device(config-device-tracking)# device-role switch
Device(config-device-tracking)# trusted-port
Device(config-device-tracking)# exit
Device(config)# interface gigabitethernet 1/0/25
Device(config-if)# device-tracking attach-policy example_trusted_policy
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
485
Configuring Switch Integrated Security Features
Feature History for SISF
Cisco IOS XE Everest 16.6.1 Option to change Starting with this release, you can change certain
parameters of settings of the programmatically created device
DT_PROGRAMMATIC tracking policy: DT_PROGRAMMATIC, in the
device tracking configuration mode
(config-device-tracking)).
Cisco IOS XE Fuji 16.8.1a SISF-Based Device Support for this feature was introduced on the
Tracking on the High C9500-32C, C9500-32QC, C9500-48Y4C, and
Performance models in C9500-24Y4C models of the Cisco Catalyst 9500
the series Series Switches.
Cisco IOS XE Fuji 16.9.1 Policy priority Support for policy priority was introduced. Priority
is determined by how the policy is created. A
Additional device
manually created policy has the highest priority.
tracking clients
This enables you to apply policy settings that are
Change for different from policies that are generated
programmatically programmatically.
created policies
More device tracking client features were
introduced. The programmatic policy created by
each device tracking client differs.
The option to change the parameters of any
programmatic policy was deprecated.
Use the Cisco Feature Navigator to find information about platform and software image support. To access
Cisco Feature Navigator, go to https://cfnng.cisco.com.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
486
CHAPTER 27
Configuring IEEE 802.1x Port-Based
Authentication
This chapter describes how to configure IEEE 802.1x port-based authentication. IEEE 802.1x authentication
prevents unauthorized devices (clients) from gaining access to the network. Unless otherwise noted, the term
switch refers to a standalone switch or a switch stack.
• Restrictions for IEEE 802.1x Port-Based Authentication, on page 487
• Information About IEEE 802.1x Port-Based Authentication, on page 488
• How to Configure IEEE 802.1x Port-Based Authentication, on page 519
• Configuration Examples for IEEE 802.1x Port-Based Authentication, on page 563
• Monitoring IEEE 802.1x Port-Based Authentication Statistics and Status, on page 564
• Feature History for IEEE 802.1x Port-Based Authentication, on page 565
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
487
Configuring IEEE 802.1x Port-Based Authentication
Information About IEEE 802.1x Port-Based Authentication
• Wake-on-LAN (WoL) feature is not supported on the Cisco Catalyst 9500 High Performance Series
Switches.
Until the client is authenticated, 802.1x access control allows only Extensible Authentication Protocol over
LAN (EAPOL), Cisco Discovery Protocol, and Spanning Tree Protocol (STP) traffic through the port to which
the client is connected. After authentication is successful, normal traffic can pass through the port.
The table shown below lists the maximum number of session each client supports:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
488
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Process
MAC address is invalid and the authorization fails, the switch assigns the client to a guest VLAN that
provides limited services if a guest VLAN is configured.
• If the switch gets an invalid identity from an 802.1x-capable client and a restricted VLAN is specified,
the switch can assign the client to a restricted VLAN that provides limited services.
• If the RADIUS authentication server is unavailable (down) and inaccessible authentication bypass is
enabled, the switch grants the client access to the network by putting the port in the critical-authentication
state in the RADIUS-configured or the user-specified access VLAN.
If Multi Domain Authentication (MDA) is enabled on a port, this flow can be used with some exceptions that
are applicable to voice authorization.
Figure 34: Authentication Flowchart
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
489
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Initiation and Message Exchange
You can configure the re-authentication timer to use a switch-specific value or to be based on values
from the RADIUS server.
After 802.1x authentication using a RADIUS server is configured, the switch uses timers based on the
Session-Timeout RADIUS attribute (Attribute[27]) and the Termination-Action RADIUS attribute
(Attribute [29]).
The Session-Timeout RADIUS attribute (Attribute[27]) specifies the time after which re-authentication
occurs. The range is 1 to 65535 seconds.
The Termination-Action RADIUS attribute (Attribute [29]) specifies the action to take during
re-authentication. The actions are Initialize and ReAuthenticate. When the Initialize action is set (the
attribute value is DEFAULT), the 802.1x session ends, and connectivity is lost during re-authentication.
When the ReAuthenticate action is set (the attribute value is RADIUS-Request), the session is not affected
during re-authentication.
• You manually re-authenticate the client by entering the dot1x re-authenticate interface interface-id
privileged EXEC command.
Note If 802.1x authentication is not enabled or supported on the network access device, any EAPOL frames from
the client are dropped. If the client does not receive an EAP-request/identity frame after three attempts to start
authentication, the client sends frames as if the port is in the authorized state. A port in the authorized state
effectively means that the client has been successfully authenticated.
When the client supplies its identity, the switch begins its role as the intermediary, passing EAP frames between
the client and the authentication server until authentication succeeds or fails. If the authentication succeeds,
the switch port becomes authorized. If the authentication fails, authentication can be retried, the port might
be assigned to a VLAN that provides limited services, or network access is not granted.
The specific exchange of EAP frames depends on the authentication method being used.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
490
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Initiation and Message Exchange
This figure shows a message exchange initiated by the client when the client uses the One-Time-Password
(OTP) authentication method with a RADIUS server.
If 802.1x authentication times out while waiting for an EAPOL message exchange and MAC authentication
bypass is enabled, the switch can authorize the client when the switch detects an Ethernet packet from the
client. The switch uses the MAC address of the client as its identity and includes this information in the
RADIUS-access/request frame that is sent to the RADIUS server. After the server sends the switch the
RADIUS-access/accept frame (authorization is successful), the port becomes authorized. If authorization fails
and a guest VLAN is specified, the switch assigns the port to the guest VLAN. If the switch detects an EAPOL
packet while waiting for an Ethernet packet, the switch stops the MAC authentication bypass process and
starts 802.1x authentication.
Figure 36: Message Exchange During MAC Authentication Bypass
This figure shows the message exchange during MAC authentication bypass.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
491
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Methods
MAC authentication bypass VLAN assignment VLAN assignment VLAN assignment VLAN assi
Per-user ACL Per-user ACL Per-user AC
Filter-ID attribute Filter-Id attribute Filter-Id att
Downloadable ACL Downloadable ACL Downloada
Redirect URL Redirect URL Redirect UR
NAC Layer 2 IP validation Filter-Id attribute Filter-Id attribute Filter-Id attribute Filter-Id att
Downloadable ACL Downloadable ACL Downloadable ACL Downloada
Redirect URL Redirect URL Redirect URL Redirect UR
Web authentication as fallback method Proxy ACL Proxy ACL Proxy ACL Proxy ACL
Filter-Id attribute Filter-Id attribute Filter-Id attribute Filter-Id att
Downloadable ACL Downloadable ACL Downloadable ACL Downloada
7
Supported in Cisco IOS Release 12.2(50)SE and later.
8
For clients that do not support 802.1x authentication.
More than one host can be authenticated on MDA-enabled and multiauth ports. The ACL policy applied for
one host does not effect the traffic of another host. If only one host is authenticated on a multi-host port, and
the other hosts gain network access without authentication, the ACL policy for the first host can be applied
to the other connected hosts by specifying any in the source address.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
492
Configuring IEEE 802.1x Port-Based Authentication
Ports in Authorized and Unauthorized States
Note Cisco Discovery Protocol bypass is not supported and may cause a port to go into err-disabled state.
If a client that does not support 802.1x authentication connects to an unauthorized 802.1x port, the switch
requests the client’s identity. In this situation, the client does not respond to the request, the port remains in
the unauthorized state, and the client is not granted access to the network.
In contrast, when an 802.1x-enabled client connects to a port that is not running the 802.1x standard, the client
initiates the authentication process by sending the EAPOL-start frame. When no response is received, the
client sends the request for a fixed number of times. Because no response is received, the client begins sending
frames as if the port is in the authorized state.
You control the port authorization state by using the authentication port-control interface configuration
command and these keywords:
• force-authorized—disables 802.1x authentication and causes the port to change to the authorized state
without any authentication exchange required. The port sends and receives normal traffic without
802.1x-based authentication of the client. This is the default setting.
• force-unauthorized—causes the port to remain in the unauthorized state, ignoring all attempts by the
client to authenticate. The switch cannot provide authentication services to the client through the port.
• auto—enables 802.1x authentication and causes the port to begin in the unauthorized state, allowing
only EAPOL frames to be sent and received through the port. The authentication process begins when
the link state of the port changes from down to up or when an EAPOL-start frame is received. The switch
requests the identity of the client and begins relaying authentication messages between the client and the
authentication server. Each client attempting to access the network is uniquely identified by the switch
by using the client MAC address.
If the client is successfully authenticated (receives an Accept frame from the authentication server), the port
state changes to authorized, and all frames from the authenticated client are allowed through the port. If the
authentication fails, the port remains in the unauthorized state, but authentication can be retried. If the
authentication server cannot be reached, the switch can resend the request. If no response is received from
the server after the specified number of attempts, authentication fails, and network access is not granted.
When a client logs off, it sends an EAPOL-logoff message, causing the switch port to change to the unauthorized
state.
If the link state of a port changes from up to down, or if an EAPOL-logoff frame is received, the port returns
to the unauthorized state.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
493
Configuring IEEE 802.1x Port-Based Authentication
802.1x Host Mode
Note For all host modes, the line protocol stays up before authorization when port-based authentication is configured.
The switch supports multidomain authentication (MDA), which allows both a data device and a voice device,
such as an IP Phone, to connect to the same switch port.
MAC Move
When a MAC address is authenticated on one switch port, that address is not allowed on another authentication
manager-enabled port of the switch. If the switch detects that same MAC address on another authentication
manager-enabled port, the address is not allowed.
There are situations where a MAC address might need to move from one port to another on the same switch.
For example, when there is another device (for example a hub or an IP phone) between an authenticated host
and a switch port, you might want to disconnect the host from the device and connect it directly to another
port on the same switch.
You can globally enable MAC move so the device is reauthenticated on the new port. When a host moves to
a second port, the session on the first port is deleted, and the host is reauthenticated on the new port. MAC
move is supported on all host modes. (The authenticated host can move to any port on the switch, no matter
which host mode is enabled on the that port.) When a MAC address moves from one port to another, the
switch terminates the authenticated session on the original port and initiates a new authentication sequence
on the new port. The MAC move feature applies to both voice and data hosts.
Note In open authentication mode, a MAC address is immediately moved from the original port to the new port,
with no requirement for authorization on the new port.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
494
Configuring IEEE 802.1x Port-Based Authentication
MAC Replace
MAC Replace
The MAC replace feature can be configured to address the violation that occurs when a host attempts to
connect to a port where another host was previously authenticated.
Note This feature does not apply to ports in multi-auth mode, because violations are not triggered in that mode. It
does not apply to ports in multiple host mode, because in that mode, only the first host requires authentication.
If you configure the authentication violation interface configuration command with the replace keyword,
the authentication process on a port in multi-domain mode is:
• A new MAC address is received on a port with an existing authenticated MAC address.
• The authentication manager replaces the MAC address of the current data host on the port with the new
MAC address.
• The authentication manager initiates the authentication process for the new MAC address.
• If the authentication manager determines that the new host is a voice host, the original voice host is
removed.
If a port is in open authentication mode, any new MAC address is immediately added to the MAC address
table.
802.1x Accounting
The 802.1x standard defines how users are authorized and authenticated for network access but does not keep
track of network usage. 802.1x accounting is disabled by default. You can enable 802.1x accounting to monitor
this activity on 802.1x-enabled ports:
• User successfully authenticates.
• User logs off.
• Link-down occurs.
• Re-authentication successfully occurs.
• Re-authentication fails.
The switch does not log 802.1x accounting information. Instead, it sends this information to the RADIUS
server, which must be configured to log accounting messages.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
495
Configuring IEEE 802.1x Port-Based Authentication
802.1x Readiness Check
This table lists the AV pairs and when they are sent are sent by the switch.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
496
Configuring IEEE 802.1x Port-Based Authentication
Switch-to-RADIUS-Server Communication
This feature only works if the supplicant on the client supports a query with the NOTIFY EAP notification
packet. The client must respond within the 802.1x timeout value.
Switch-to-RADIUS-Server Communication
RADIUS security servers are identified by their hostname or IP address, hostname and specific UDP port
numbers, or IP address and specific UDP port numbers. The combination of the IP address and UDP port
number creates a unique identifier, which enables RADIUS requests to be sent to multiple UDP ports on a
server at the same IP address. If two different host entries on the same RADIUS server are configured for the
same service—for example, authentication—the second host entry configured acts as the fail-over backup to
the first one. The RADIUS host entries are tried in the order that they were configured.
• Before globally enabling 802.1x authentication on a switch by entering the dot1x system-auth-control
global configuration command, remove the EtherChannel configuration from the interfaces on which
802.1x authentication and EtherChannel are configured.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
497
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Manager CLI Commands
Note We recommend that you configure all the dependent 802.1x CLIs under the same interface or on the same
template.
Note If 802.1x authentication is globally disabled, other authentication methods are still enabled on that port, such
as web authentication.
The authentication manager commands provide the same functionality as earlier 802.1x commands.
When filtering out verbose system messages generated by the authentication manager, the filtered content
typically relates to authentication success. You can also filter verbose messages for 802.1x authentication and
MAB authentication. There is a separate command for each authentication method:
• The no authentication logging verbose global configuration command filters verbose messages from
the authentication manager.
• The no dot1x logging verbose global configuration command filters 802.1x authentication verbose
messages.
• The no mab logging verbose global configuration command filters MAC authentication bypass (MAB)
verbose messages
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
498
Configuring IEEE 802.1x Port-Based Authentication
Default 802.1x Authentication Configuration
AAA Disabled.
Re-authentication number 2 times (number of times that the switch restarts the authentic
before the port changes to the unauthorized state).
Quiet period 60 seconds (number of seconds that the switch remains in the
following a failed authentication exchange with the client).
Retransmission time 30 seconds (number of seconds that the switch should wait for
an EAP request/identity frame from the client before resending
Maximum retransmission number 2 times (number of times that the switch will send an EAP-req
frame before restarting the authentication process).
Client timeout period 30 seconds (when relaying a request from the authentication s
client, the amount of time the switch waits for a response befo
the request to the client.)
Authentication server timeout period 30 seconds (when relaying a response from the client to the au
server, the amount of time the switch waits for a reply before
response to the server.)
You can change this timeout period by using the dot1x timeout s
interface configuration command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
499
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication and Switch Stacks
If the switch that failed comes up and rejoins the switch stack, the authentications might or might not fail
depending on the boot-up time and whether the connectivity to the RADIUS server is re-established by the
time the authentication is attempted.
To avoid loss of connectivity to the RADIUS server, you should ensure that there is a redundant connection
to it. For example, you can have a redundant connection to the active switch and another to a member switch,
and if the active switch fails, the switch stack still has connectivity to the RADIUS server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
500
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with VLAN Assignment
• If 802.1x authentication is enabled but the VLAN information from the RADIUS server is not valid,
authorization fails and configured VLAN remains in use. This prevents ports from appearing unexpectedly
in an inappropriate VLAN because of a configuration error.
Configuration errors could include specifying a VLAN for a routed port, a malformed VLAN ID, a
nonexistent or internal (routed port) VLAN ID, an RSPAN VLAN, a shut down or suspended VLAN.
In the case of a multidomain host port, configuration errors can also be due to an attempted assignment
of a data VLAN that matches the configured or assigned voice VLAN ID (or the reverse).
• If 802.1x authentication is enabled and all information from the RADIUS server is valid, the authorized
device is placed in the specified VLAN after authentication.
• If the multiple-hosts mode is enabled on an 802.1x port, all hosts are placed in the same VLAN (specified
by the RADIUS server) as the first authenticated host.
• Enabling port security does not impact the RADIUS server-assigned VLAN behavior.
• If 802.1x authentication is disabled on the port, it is returned to the configured access VLAN and
configured voice VLAN.
• If an 802.1x port is authenticated and put in the RADIUS server-assigned VLAN, any change to the port
access VLAN configuration does not take effect. In the case of a multidomain host, the same applies to
voice devices when the port is fully authorized with these exceptions:
• If the VLAN configuration change of one device results in matching the other device configured
or assigned VLAN, then authorization of all devices on the port is terminated and multidomain host
mode is disabled until a valid configuration is restored where data and voice device configured
VLANs no longer match.
• If a voice device is authorized and is using a downloaded voice VLAN, the removal of the voice
VLAN configuration, or modifying the configuration value to dot1p or untagged results in voice
device unauthorization and the disablement of multi-domain host mode.
When the port is in the force authorized, force unauthorized, unauthorized, or shutdown state, it is put into
the configured access VLAN.
To configure VLAN assignment you need to perform these tasks:
• Enable AAA authorization by using the network keyword to allow interface configuration from the
RADIUS server.
• Enable 802.1x authentication. (The VLAN assignment feature is automatically enabled when you configure
802.1x authentication on an access port).
• Assign vendor-specific tunnel attributes in the RADIUS server. The RADIUS server must return these
attributes to the switch:
• [64] Tunnel-Type = VLAN
• [65] Tunnel-Medium-Type = 802
• [81] Tunnel-Private-Group-ID = VLAN name or VLAN ID
• [83] Tunnel-Preference
Attribute [64] must contain the value VLAN (type 13). Attribute [65] must contain the value 802 (type
6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the IEEE 802.1x-authenticated user.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
501
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Per-User ACLs
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
502
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Downloadable ACLs and Redirect URLs
To control access for hosts with no authorization policy, you can configure a directive. The supported values
for the directive are open and default. When you configure the open directive, all traffic is allowed. The default
directive subjects traffic to the access provided by the port. You can configure the directive either in the user
profile on the AAA server or on the switch. To configure the directive on the AAA server, use the
authz-directive =<open/default> global command. To configure the directive on the switch, use the epm
access-control open global configuration command.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
503
Configuring IEEE 802.1x Port-Based Authentication
IEEE 802.1x Authentication with MAC Authentication Bypass
authentication. The VLAN ID configured on the connected port is used for MAC authentication. By using
VLAN ID-based MAC authentication with an IAS server, you can have a fixed number of VLANs in the
network.
The feature also limits the number of VLANs monitored and handled by STP. The network can be managed
as a fixed VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
504
Configuring IEEE 802.1x Port-Based Authentication
MAC Authentication Bypass Configuration Guidelines
• Restricted VLAN—This feature is not supported when the client connected to an IEEE 802.lx port is
authenticated with MAC authentication bypass.
• Port security
• Voice VLAN
• Private VLAN—You can assign a client to a private VLAN.
• Network Edge Access Topology (NEAT)—MAB and NEAT are mutually exclusive. You cannot enable
MAB when NEAT is enabled on an interface, and you should not enable NEAT when MAB is enabled
on an interface.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
505
Configuring IEEE 802.1x Port-Based Authentication
Multi-auth Per User VLAN assignment
• After a VLAN is assigned to a host on the port, subsequent hosts must have matching VLAN information
or be denied access to the port.
• The behavior of the critical-auth VLAN is not changed for multi-auth mode. When a host tries to
authenticate and the server is not reachable, all authorized hosts are reinitialized in the configured VLAN.
Note The combination of Open mode and VLAN assignment has an adverse affect on host (H2) because it has an
IP address in the subnet that corresponds to VLAN (V1).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
506
Configuring IEEE 802.1x Port-Based Authentication
Limitation in Multi-Auth Per User VLAN assignment
If devices send EAPOL packets to the switch during the lifetime of the link, the switch no longer allows clients
that fail authentication access to the guest VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
507
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Restricted VLAN
Note If an EAPOL packet is detected after the interface has changed to the guest VLAN, the interface reverts to an
unauthorized state, and 802.1x authentication restarts.
Any number of 802.1x-incapable clients are allowed access when the switch port is moved to the guest VLAN.
If an 802.1x-capable client joins the same port on which the guest VLAN is configured, the port is put into
the unauthorized state in the user-configured access VLAN, and authentication is restarted.
Guest VLANs are supported on 802.1x ports in single host, multiple host, multi-auth and multi-domain modes.
You can configure any active VLAN except an RSPAN VLAN, a private VLAN, or a voice VLAN as an
802.1x guest VLAN. The guest VLAN feature is not supported on internal VLANs (routed ports) or trunk
ports; it is supported only on access ports.
The switch supports MAC authentication bypass. When MAC authentication bypass is enabled on an 802.1x
port, the switch can authorize clients based on the client MAC address when IEEE 802.1x authentication times
out while waiting for an EAPOL message exchange. After detecting a client on an 802.1x port, the switch
waits for an Ethernet packet from the client. The switch sends the authentication server a
RADIUS-access/request frame with a username and password based on the MAC address. If authorization
succeeds, the switch grants the client access to the network. If authorization fails, the switch assigns the port
to the guest VLAN if one is specified.
Note You can configure a VLAN to be both the guest VLAN and the restricted VLAN if you want to provide the
same services to both types of users.
Without this feature, the client attempts and fails authentication indefinitely, and the switch port remains in
the spanning-tree blocking state. With this feature, you can configure the switch port to be in the restricted
VLAN after a specified number of authentication attempts (the default value is 3 attempts).
The authenticator counts the failed authentication attempts for the client. When this count exceeds the configured
maximum number of authentication attempts, the port moves to the restricted VLAN. The failed attempt count
increments when the RADIUS server replies with either an EAP failure or an empty response without an EAP
packet. When the port moves into the restricted VLAN, the failed attempt counter resets.
Users who fail authentication remain in the restricted VLAN until the next re-authentication attempt. A port
in the restricted VLAN tries to re-authenticate at configured intervals (the default is 60 seconds). If
re-authentication fails, the port remains in the restricted VLAN. If re-authentication is successful, the port
moves either to the configured VLAN or to a VLAN sent by the RADIUS server. You can disable
re-authentication. If you do this, the only way to restart the authentication process is for the port to receive a
link down or EAP logoff event. We recommend that you keep re-authentication enabled if a client might
connect through a hub. When a client disconnects from the hub, the port might not receive the link down or
EAP logoff event.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
508
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Inaccessible Authentication Bypass
After a port moves to the restricted VLAN, a simulated EAP success message is sent to the client. This prevents
clients from indefinitely attempting authentication. Some clients (for example, devices running Windows XP)
cannot implement DHCP without EAP success.
Restricted VLANs are supported on 802.1x ports in all host modes and on Layer 2 ports.
You can configure any active VLAN except an RSPAN VLAN, a primary private VLAN, or a voice VLAN
as an 802.1x restricted VLAN. The restricted VLAN feature is not supported on internal VLANs (routed
ports) or trunk ports; it is supported only on access ports.
Other security port features such as dynamic ARP Inspection, DHCP snooping, and IP source guard can be
configured independently on a restricted VLAN.
Note If critical authentication is configured on interface, then vlan used for critical authorization (critical vlan)
should be active on the switch. If the critical vlan is inactive (or) down, critical authentication session will
keep trying to enable inactive vlan and fail repeatedly. This can lead to large amount of memory holding.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
509
Configuring IEEE 802.1x Port-Based Authentication
Inaccessible Authentication Bypass Feature Interactions
• If the RADIUS server becomes unavailable during an authentication exchange, the current exchange
times out, and the switch puts the critical port in the critical-authentication state during the next
authentication attempt.
You can configure the critical port to reinitialize hosts and move them out of the critical VLAN when the
RADIUS server is again available. When this is configured, all critical ports in the critical-authentication state
are automatically re-authenticated.
• Restricted VLAN: If the port is already authorized in a restricted VLAN and the RADIUS servers are
unavailable, the switch puts the critical port in the critical-authentication state in the restricted VLAN.
• 802.1x accounting: Accounting is not affected if the RADIUS servers are unavailable.
• Private VLAN: You can configure inaccessible authentication bypass on a private VLAN host port. The
access VLAN must be a secondary private VLAN.
• Voice VLAN: Inaccessible authentication bypass is compatible with voice VLAN, but the
RADIUS-configured or user-specified access VLAN and the voice VLAN must be different.
• Remote Switched Port Analyzer (RSPAN): Do not configure an RSPAN VLAN as the RADIUS-configured
or user-specified access VLAN for inaccessible authentication bypass.
In a switch stack:
When a member switch is added to the stack, the active switch sends the member switch the server status.
VLAN Assignment, Guest VLAN, Restricted VLAN, and Inaccessible Authentication Bypass
These are the configuration guidelines for VLAN assignment, guest VLAN, restricted VLAN, and inaccessible
authentication bypass:
• When 802.1x authentication is enabled on a port, you cannot configure a port VLAN that is equal to a
voice VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
510
Configuring IEEE 802.1x Port-Based Authentication
802.1x Critical Voice VLAN
• You can configure any VLAN except an RSPAN VLAN or a voice VLAN as an 802.1x guest VLAN.
The guest VLAN feature is not supported on internal VLANs (routed ports) or trunk ports; it is supported
only on access ports.
• After you configure a guest VLAN for an 802.1x port to which a DHCP client is connected, you might
need to get a host IP address from a DHCP server. You can change the settings for restarting the 802.1x
authentication process on the switch before the DHCP process on the client times out and tries to get a
host IP address from the DHCP server. Decrease the settings for the 802.1x authentication process
(authentication timer inactivity and authentication timer reauthentication interface configuration
commands). The amount to decrease the settings depends on the connected 802.1x client type.
• When configuring the inaccessible authentication bypass feature, follow these guidelines:
• The feature is supported on 802.1x port in single-host mode and multihosts mode.
• If the client is running Windows XP and the port to which the client is connected is in the
critical-authentication state, Windows XP might report that the interface is not authenticated.
• If the Windows XP client is configured for DHCP and has an IP address from the DHCP server,
receiving an EAP-Success message on a critical port might not re-initiate the DHCP configuration
process.
• You can configure the inaccessible authentication bypass feature and the restricted VLAN on an
802.1x port. If the switch tries to re-authenticate a critical port in a restricted VLAN and all the
RADIUS servers are unavailable, switch changes the port state to the critical authentication state
and remains in the restricted VLAN.
• You can configure any VLAN except an RSPAN VLAN or a voice VLAN as an 802.1x restricted VLAN.
The restricted VLAN feature is not supported on internal VLANs (routed ports) or trunk ports; it is
supported only on access ports.
Note Dynamic assignment of critical voice VLAN is not supported with nested service templates. It causes the
device to switch between VLANs continuously in a loop.
You can enter the authentication event server dead action authorize voice interface configuration command
to configure the critical voice VLAN feature. When the ISE does not respond, the port goes into critical
authentication mode. When traffic coming from the host is tagged with the voice VLAN, the connected device
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
511
Configuring IEEE 802.1x Port-Based Authentication
IEEE 802.1x Authentication with Voice VLAN Ports
(the phone) is put in the configured voice VLAN for the port. The IP phones learn the voice VLAN identification
through Cisco Discovery Protocol (Cisco devices) or through LLDP or DHCP.
You can configure the voice VLAN for a port by entering the switchport voice vlan vlan-id interface
configuration command.
This feature is supported in multidomain and multi-auth host modes. Although you can enter the command
when the switch in single-host or multi-host mode, the command has no effect unless the device changes to
multidomain or multi-auth host mode.
The IP phone uses the VVID for its voice traffic, regardless of the authorization state of the port. This allows
the phone to work independently of IEEE 802.1x authentication.
In single-host mode, only the IP phone is allowed on the voice VLAN. In multiple-hosts mode, additional
clients can send traffic on the voice VLAN after a supplicant is authenticated on the PVID. When multiple-hosts
mode is enabled, the supplicant authentication affects both the PVID and the VVID.
A voice VLAN port becomes active when there is a link, and the device MAC address appears after the first
Cisco Discovery Protocol message from the IP phone. Cisco IP phones do not relay Cisco Discovery Protocol
messages from other devices. As a result, if several IP phones are connected in series, the switch recognizes
only the one directly connected to it. When IEEE 802.1x authentication is enabled on a voice VLAN port,
the switch drops packets from unrecognized IP phones more than one hop away.
When IEEE 802.1x authentication is enabled on a switch port, you can configure an access port VLAN that
is also a voice VLAN.
When IP phones are connected to an 802.1x-enabled switch port that is in single host mode, the switch grants
the phones network access without authenticating them. We recommend that you use multidomain authentication
(MDA) on the port to authenticate both a data device and a voice device, such as an IP phone
Note If you enable IEEE 802.1x authentication on an access port on which a voice VLAN is configured and to
which a Cisco IP Phone is connected, the Cisco IP phone loses connectivity to the switch for up to 30 seconds.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
512
Configuring IEEE 802.1x Port-Based Authentication
Flexible Authentication Ordering
When the switch uses IEEE 802.1x authentication with WoL, the switch forwards traffic to unauthorized
IEEE 802.1x ports, including magic packets. While the port is unauthorized, the switch continues to block
ingress traffic other than EAPOL packets. The host can receive packets but cannot send packets to other
devices in the network.
Note If PortFast is not enabled on the port, the port is forced to the bidirectional state.
When you configure a port as unidirectional by using the authentication control-direction in interface
configuration command, the port changes to the spanning-tree forwarding state. The port can send packets to
the host but cannot receive packets from the host.
When you configure a port as bidirectional by using the authentication control-direction both interface
configuration command, the port is access-controlled in both directions. The port does not receive packets
from or send packets to the host.
Using this feature, you can control which ports use which authentication methods, and you can control the
failover sequencing of methods on those ports. For example, MAC authentication bypass and 802.1x can be
the primary or secondary authentication methods, and web authentication can be the fallback method if either
or both of those authentication attempts fail.
The IEEE 802.1X Flexible Authentication feature supports the following host modes:
• multi-auth—Multiauthentication allows one authentication on a voice VLAN and multiple authentications
on the data VLAN.
• multi-domain—Multidomain authentication allows two authentications: one on the voice VLAN and
one on the data VLAN.
Open1x Authentication
Open1x authentication allows a device access to a port before that device is authenticated. When open
authentication is configured, a new host can pass traffic according to the access control list (ACL) defined on
the port. After the host is authenticated, the policies configured on the RADIUS server are applied to that
host.
You can configure open authentication with these scenarios:
• Single-host mode with open authentication–Only one user is allowed network access before and after
authentication.
• MDA mode with open authentication–Only one user in the voice domain and one user in the data domain
are allowed.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
513
Configuring IEEE 802.1x Port-Based Authentication
Multidomain Authentication
• Multiple-hosts mode with open authentication–Any host can access the network.
• Multiple-authentication mode with open authentication–Similar to MDA, except multiple hosts can be
authenticated.
Multidomain Authentication
The switch supports multidomain authentication (MDA), which allows both a data device and voice device,
such as an IP phone, to authenticate on the same switch port. The port is divided into a data domain and a
voice domain.
Note For all host modes, the line protocol stays up before authorization when port-based authentication is configured.
MDA does not enforce the order of device authentication. However, for best results, we recommend that a
voice device is authenticated before a data device on an MDA-enabled port.
Follow these guidelines for configuring MDA:
• You must configure a switch port for MDA.
• You must configure the voice VLAN for the IP phone when the host mode is set to multidomain.
• Voice VLAN assignment on an MDA-enabled port is supported.
• To authorize a voice device, the AAA server must be configured to send a Cisco Attribute-Value (AV)
pair attribute with a value of device-traffic-class=voice. Without this value, the switch treats the voice
device as a data device.
• The guest VLAN and restricted VLAN features only apply to the data devices on an MDA-enabled port.
The switch treats a voice device that fails authorization as a data device.
• If more than one device attempts authorization on either the voice or the data domain of a port, it is error
disabled.
• Until a device is authorized, the port drops its traffic. Non-Cisco IP phones or voice devices are allowed
into both the data and voice VLANs. The data VLAN allows the voice device to contact a DHCP server
to obtain an IP address and acquire the voice VLAN information. After the voice device starts sending
on the voice VLAN, its access to the data VLAN is blocked.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
514
Configuring IEEE 802.1x Port-Based Authentication
802.1x Supplicant and Authenticator Switches with Network Edge Access Topology
• A voice device MAC address that is binding on the data VLAN is not counted towards the port security
MAC address limit.
• MDA can use MAC authentication bypass as a fallback mechanism to allow the switch port to connect
to devices that do not support IEEE 802.1x authentication.
• When a data or a voice device is detected on a port, its MAC address is blocked until authorization
succeeds. If the authorization fails, the MAC address remains blocked for 5 minutes.
• If more than five devices are detected on the data VLAN or more than one voice device is detected on
the voice VLAN while a port is unauthorized, the port is error disabled.
• When a port host mode is changed from single- or multihost to multidomain mode, an authorized data
device remains authorized on the port. However, a Cisco IP phone that has been allowed on the port
voice VLAN is automatically removed and must be reauthenticated on that port.
• Active fallback mechanisms such as guest VLAN and restricted VLAN remain configured after a port
changes from single- or multihost mode to multidomain mode.
• Switching a port host mode from multidomain to single- or multihost mode removes all authorized devices
from the port.
• If a data domain is authorized first and placed in the guest VLAN, non-IEEE 802.1x-capable voice
devices need to tag their packets on the voice VLAN to trigger authentication.
• We do not recommend per-user ACLs with an MDA-enabled port. An authorized device with a per-user
ACL policy might impact traffic on both the voice and data VLANs of the port. If used, only one device
on the port should enforce per-user ACLs.
802.1x Supplicant and Authenticator Switches with Network Edge Access Topology
The Network Edge Access Topology (NEAT) feature extends identity to areas outside the wiring closet (such
as conference rooms). This allows any type of device to authenticate on the port.
• 802.1x switch supplicant: You can configure a switch to act as a supplicant to another switch by using
the 802.1x supplicant feature. This configuration is helpful in a scenario, where, for example, a switch
is outside a wiring closet and is connected to an upstream switch through a trunk port. A switch configured
with the 802.1x switch supplicant feature authenticates with the upstream switch for secure connectivity.
Once the supplicant switch authenticates successfully the port mode changes from access to trunk in an
authenticator switch. In a supplicant switch you must manually configure trunk when enabling CISP.
• If the access VLAN is configured on the authenticator switch, it becomes the native VLAN for the trunk
port after successful authentication.
In the default state, when you connect a supplicant switch to an authenticator switch that has BPDU guard
enabled, the authenticator port could be error-disabled if it receives a Spanning Tree Protocol (STP) bridge
protocol data unit (BPDU) packets before the supplicant switch has authenticated. You can control traffic
exiting the supplicant port during the authentication period. Entering the dot1x supplicant controlled transient
global configuration command temporarily blocks the supplicant port during authentication to ensure that the
authenticator port does not shut down before authentication completes. If authentication fails, the supplicant
port opens. Entering the no dot1x supplicant controlled transient global configuration command opens the
supplicant port during the authentication period. This is the default behavior.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
515
Configuring IEEE 802.1x Port-Based Authentication
802.1x Supplicant and Authenticator Switches with Network Edge Access Topology
We strongly recommend using the dot1x supplicant controlled transientcommand on a supplicant switch
when BPDU guard is enabled on the authenticator switch port with the spanning-tree bpduguard enable
interface configuration command.
Note If you globally enable BPDU guard on the authenticator switch by using the spanning-tree portfast bpduguard
default global configuration command, entering the dot1x supplicant controlled transient command does
not prevent the BPDU violation.
You can enable MDA or multiauth mode on the authenticator switch interface that connects to one more
supplicant switches. Multihost mode is not supported on the authenticator switch interface.
When you reboot an authenticator switch with single-host mode enabled on the interface, the interface may
move to err-disabled state before authentication. To recover from err-disabled state, flap the authenticator
port to activate the interface again and initiate authentication.
Use the dot1x supplicant force-multicast global configuration command on the supplicant switch for Network
Edge Access Topology (NEAT) to work in all host modes.
• Host Authorization: Ensures that only traffic from authorized hosts (connecting to the switch with
supplicant) is allowed on the network. The switches use Client Information Signalling Protocol (CISP)
to send the MAC addresses connecting to the supplicant switch to the authenticator switch.
• Auto enablement: Automatically enables trunk configuration on the authenticator switch, allowing user
traffic from multiple VLANs coming from supplicant switches. Configure the cisco-av-pair as
device-traffic-class=switch at the ISE. (You can configure this under the group or the user settings.)
Figure 38: Authenticator and Supplicant Switch using CISP
5 Trunk port
Note The switchport nonegotiate command is not supported on supplicant and authenticator switches with NEAT.
This command should not be configured at the supplicant side of the topology. If configured on the authenticator
side, the internal macros will automatically remove this command from the port.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
516
Configuring IEEE 802.1x Port-Based Authentication
802.1x User Distribution
Note The RADIUS server can send the VLAN information in any combination of
VLAN-IDs, VLAN names, or VLAN groups.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
517
Configuring IEEE 802.1x Port-Based Authentication
Voice Aware 802.1x Security
• Set the number of seconds between re-authentication attempts as the value of the Session-Timeout
RADIUS attribute (Attribute[27]) and get an access policy against the client from the RADIUS server.
• Set the action to be taken when the switch tries to re-authenticate the client by using the
Termination-Action RADIUS attribute (Attribute[29]). If the value is the DEFAULT or is not set, the
session ends. If the value is RADIUS-Request, the re-authentication process starts.
• Set the list of VLAN number or name or VLAN group name as the value of the Tunnel Group Private
ID (Attribute[81]) and the preference for the VLAN number or name or VLAN group name as the value
of the Tunnel Preference (Attribute[83]). If you do not configure the Tunnel Preference, the first Tunnel
Group Private ID (Attribute[81]) attribute is picked up from the list.
• View the NAC posture token, which shows the posture of the client, by using the show authentication
privileged EXEC command.
• Configure secondary private VLANs as guest VLANs.
Configuring NAC Layer 2 IEEE 802.1x validation is similar to configuring IEEE 802.1x port-based
authentication except that you must configure a posture token on the RADIUS server.
Note To use voice aware IEEE 802.1x authentication, the switch must be running the LAN base image.
You use the voice aware 802.1x security feature to configure the switch to disable only the VLAN on which
a security violation occurs, whether it is a data or voice VLAN. In previous releases, when an attempt to
authenticate the data client caused a security violation, the entire port shut down, resulting in a complete loss
of connectivity.
You can use this feature in IP phone deployments where a PC is connected to the IP phone. A security violation
found on the data VLAN results in the shutdown of only the data VLAN. The traffic on the voice VLAN
flows through the switch without interruption.
Common Session ID
Authentication manager uses a single session ID (referred to as a common session ID) for a client no matter
which authentication method is used. This ID is used for all reporting purposes, such as the show commands
and MIBs. The session ID appears with all per-session syslog messages.
The session ID includes:
• The IP address of the Network Access Device (NAD)
• A monotonically increasing unique 32 bit integer
• The session start time stamp (a 32 bit integer)
This example shows how the session ID appears in the output of the show authentication command. The
session ID in this example is 160000050000000B288508E5:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
518
Configuring IEEE 802.1x Port-Based Authentication
Maximum Number of Allowed Devices Per Port
This is an example of how the session ID appears in the syslog output. The session ID in this example is
also160000050000000B288508E5:
The session ID is used by the NAD, the AAA server, and other report-analyzing applications to identify the
client. The ID appears automatically. No configuration is required.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
519
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Port-Based Authentication
Procedure
Device> enable
Step 4 aaa authentication dot1x {default} method1 Creates an 802.1x authentication method list.
Example: To create a default list that is used when a
named list is not specified in the
Device(config)# aaa authentication dot1x authentication command, use the default
default group radius keyword followed by the method that is to be
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
520
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Port-Based Authentication
Device(config)# dot1x
system-auth-control
Step 6 aaa authorization network {default} group (Optional) Configures the switch to use
radius user-RADIUS authorization for all
network-related service requests, such as
Example:
per-user ACLs or VLAN assignment.
Device(config)# aaa authorization
network default group radius
Step 7 radius server server name (Optional) Specifies the IP address of the
RADIUS server.
Example:
Step 8 address {ipv4 | ipv6} ip address Configures the IP address for the RADIUS
server.
Example:
Device(config-radius-server)# address
ipv4 10.0.1.12
Step 10 exit Exits the RADIUS server mode and enters the
global configuration mode.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
521
Configuring IEEE 802.1x Port-Based Authentication
Configuring Periodic Re-Authentication
Device(config-radius-server)# exit
Step 11 interface interface-id Specifies the port connected to the client that
is to be enabled for IEEE 802.1x
Example:
authentication, and enter interface
configuration mode.
Device(config)# interface
gigabitethernet 1/0/2
Step 12 switchport mode access (Optional) Sets the port to access mode only
if you configured the RADIUS server in Step
Example:
6 and Step 7.
Device(config-if)# switchport mode
access
Device(config-if)# authentication
port-control auto
Step 14 dot1x pae authenticator Sets the interface Port Access Entity to act only
as an authenticator and ignore messages meant
Example:
for a supplicant.
Device(config-if)# dot1x pae
authenticator
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
522
Configuring IEEE 802.1x Port-Based Authentication
Configuring Periodic Re-Authentication
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
523
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Violation Modes
Device(config-if)# end
Beginning in privileged EXEC mode, follow these steps to configure the security violation actions on the
switch:
Procedure
Device> enable
Step 4 aaa authentication dot1x {default} method1 Creates an 802.1x authentication method list.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
524
Configuring IEEE 802.1x Port-Based Authentication
Changing the Quiet Period
Step 5 interface interface-type interface-number Specifies the port connected to the client that
is to be enabled for IEEE 802.1x authentication,
Example:
and enter interface configuration mode.
Device(config)# interface gigabitethernet
1/0/4
Step 7 authentication violation {shutdown | restrict Configures the violation mode. The keywords
| protect | replace} have these meanings:
Example: • shutdown–Error disable the port.
Device(config-if)# authentication
• restrict–Generate a syslog error.
violation restrict
• protect–Drop packets from any new
device that sends traffic to the port.
• replace–Removes the current session and
authenticates with the new host.
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
525
Configuring IEEE 802.1x Port-Based Authentication
Changing the Quiet Period
Beginning in privileged EXEC mode, follow these steps to change the quiet period. This procedure is optional.
Procedure
Device> enable
Step 4 authentication timer restart seconds Sets the number of seconds that the switch
remains in the quiet state following a failed
Example:
authentication exchange with the client.
Device(config-if)# authentication timer The range is 1 to 65535 seconds; the default is
restart 30 60.
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
526
Configuring IEEE 802.1x Port-Based Authentication
Changing the Switch-to-Client Retransmission Time
Note You should change the default value of this command only to adjust for unusual circumstances such as
unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to change the amount of time that the switch waits
for client notification. This procedure is optional.
Procedure
Device> enable
Device(config)# interface
gigabitethernet2/0/1
Step 4 authentication timer reauthenticate seconds Sets the number of seconds that the switch waits
for a response to an EAP-request/identity frame
Example:
from the client before resending the request.
Device(config-if)# authentication timer The range is 1 to 65535 seconds; the default is
reauthenticate 60 5.
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
527
Configuring IEEE 802.1x Port-Based Authentication
Setting the Switch-to-Client Frame-Retransmission Number
Note You should change the default value of this command only to adjust for unusual circumstances such as
unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to set the switch-to-client frame-retransmission
number. This procedure is optional.
Procedure
Device># enable
Device(config)# interface
gigabitethernet2/0/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
528
Configuring IEEE 802.1x Port-Based Authentication
Configuring the Host Mode
Device(config-if)# end
Procedure
Device> enable
Step 3 interface interface-id Specifies the port to which multiple hosts are
indirectly attached, and enters interface
Example:
configuration mode.
Device(config)# interface gigabitethernet
2/0/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
529
Configuring IEEE 802.1x Port-Based Authentication
Enabling MAC Move
Device(config-if)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
530
Configuring IEEE 802.1x Port-Based Authentication
Enabling MAC Replace
Step 3 authentication mac-move permit Enables MAC move on the device. Default is
deny.
Example:
In Session Aware Networking mode, the default
Device(config)# authentication mac-move CLI is access-session mac-move deny. To
permit enable Mac Move in Session Aware
Networking, use the no access-session
mac-move global configuration command.
In legacy mode (IBNS 1.0), default value for
mac-move is deny and in C3PL mode (IBNS
2.0) default value is permit.
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
531
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Accounting
Devic(config)# interface
gigabitethernet2/0/2
Step 4 authentication violation {protect | replace | Use the replace keyword to enable MAC
restrict | shutdown} replace on the interface. The port removes the
current session and initiates authentication with
Example:
the new host.
Device(config-if)# authentication The other keywords have these effects:
violation replace
• protect: the port drops packets with
unexpected MAC addresses without
generating a system message.
• restrict: violating packets are dropped by
the CPU and a system message is
generated.
• shutdown: the port is error disabled when
it receives an unexpected MAC address.
Device(config-if)# end
Note Cisco IOS XE Everest 16.6.x, periodic AAA accounting updates are not supported. The switch does not send
periodic interim accounting records to the accounting server. Periodic AAA accounting updates are available
in Cisco IOS XE Fuji 16.9.x and later releases.
Because RADIUS uses the unreliable UDP transport protocol, accounting messages might be lost due to poor
network conditions. If the switch does not receive the accounting response message from the RADIUS server
after a configurable number of retransmissions of an accounting request, this system message appears:
When the stop message is not sent successfully, this message appears:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
532
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Accounting
Note You must configure the RADIUS server to perform accounting tasks, such as logging start, stop, and
interim-update messages and time stamps. To turn on these functions, enable logging of “Update/Watchdog
packets from this AAA client” in your RADIUS server Network Configuration tab. Next, enable “CVS
RADIUS Accounting” in your RADIUS server System Configuration tab.
Beginning in privileged EXEC mode, follow these steps to configure 802.1x accounting after AAA is enabled
on your switch. This procedure is optional.
Procedure
Device> enable
Step 4 aaa accounting dot1x default start-stop group Enables 802.1x accounting using the list of all
radius RADIUS servers.
Example:
Step 5 aaa accounting system default start-stop (Optional) Enables system accounting (using
group radius the list of all RADIUS servers) and generates
system accounting reload event messages when
Example:
the switch reloads.
Device(config-if)# aaa accounting system
default start-stop group radius
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
533
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Readiness Check
Device(config-if)# end
Procedure
Device> enable
Step 2 dot1x test eapol-capable [interface Enables the 802.1x readiness check on the
interface-id] switch.
Example: (Optional) For interface-id specify the port on
which to check for IEEE 802.1x readiness.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
534
Configuring IEEE 802.1x Port-Based Authentication
Configuring Switch-to-RADIUS-Server Communication
Step 4 dot1x test timeout timeout (Optional) Configures the timeout used to wait
for EAPOL response. The range is from 1 to
Example:
65535 seconds. The default is 10 seconds.
Device(config)# dot1x test timeout 54
Device(config)# end
Procedure
Device> enable
Step 3 ip radius source-interface vlan vlan interface Specifies that the RADIUS packets have the IP
number address of the indicated interface.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
535
Configuring IEEE 802.1x Port-Based Authentication
Setting the Re-Authentication Number
Device(config)# ip radius
source-interface vlan 80
Step 4 radius server server name (Optional) Specifies the IP address of the
RADIUS server.
Example:
Step 5 address {ipv4 | ipv6} ip address Configures the IP address for the RADIUS
server.
Example:
Device(config-radius-server)# address
ipv4 10.0.1.2 auth-port 1550 acct-port
1560
Step 7 exit Exits the RADIUS server mode and enters the
global configuration mode.
Example:
Device(config-radius-server)# exit
Step 8 radius-server dead-criteria tries num-tries Specifies the number of unanswered sent
messages to a RADIUS server before
Example:
considering the server to be inactive. The range
of num-tries is 1 to 100.
Device(config)# radius-server
dead-criteria tries 30
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
536
Configuring IEEE 802.1x Port-Based Authentication
Setting the Re-Authentication Number
Note You should change the default value of this command only to adjust for unusual circumstances such as
unreliable links or specific behavioral problems with certain clients and authentication servers.
Beginning in privileged EXEC mode, follow these steps to set the re-authentication number. This procedure
is optional.
Procedure
Device> enable
Step 4 switchport mode access Sets the port to access mode only if you
previously configured the RADIUS server.
Example:
Step 5 dot1x max-req count Sets the number of times that the device restarts
the authentication process before the port
Example:
changes to the unauthorized state. The range is
0 to 10; the default is 2.
Device(config-if)# dot1x max-req 4
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
537
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Guest VLAN
Procedure
Device> enable
Step 5 authentication event no-response action Specifies an active VLAN as an 802.1x guest
authorize vlan vlan-id VLAN. The range is 1 to 4094.
Example: You can configure any active VLAN except an
internal VLAN (routed port), an RSPAN VLAN
Device(config-if)# authentication event or a voice VLAN as an 802.1x guest VLAN.
no-response action authorize vlan 2
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
538
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Restricted VLAN
Procedure
Device> enable
Device(config-if)# authentication
port-control auto
Step 5 authentication event fail action authorize Specifies an active VLAN as an 802.1x
vlan vlan-id restricted VLAN. The range is 1 to 4094.
Example: You can configure any active VLAN except an
internal VLAN (routed port), an RSPAN VLAN
Device(config-if)# authentication event or a voice VLAN as an 802.1x restricted VLAN.
fail action authorize vlan 2
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
539
Configuring IEEE 802.1x Port-Based Authentication
Configuring Number of Authentication Attempts on a Restricted VLAN
Procedure
Device> enable
Device(config-if)# authentication
port-control auto
Step 5 authentication event fail action authorize Specifies an active VLAN as an 802.1x
vlan vlan-id restricted VLAN. The range is 1 to 4094.
Example: You can configure any active VLAN except an
internal VLAN (routed port), an RSPAN VLAN
Device(config-if)# authentication event or a voice VLAN as an 802.1x restricted VLAN.
fail action authorize vlan 8
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
540
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Device(config-if)# end
Procedure
Device> enable
Step 4 radius-server dead-criteria{time seconds } Sets the conditions that determine when a
[tries number] RADIUS server is considered un-available or
down (dead).
Example:
• time— 1 to 120 seconds. The switch
Device(config)# radius-server dynamically determines a default seconds
dead-criteria time 20 tries 10 value between 10 and 60.
• number—1 to 100 tries. The switch
dynamically determines a default
triesnumber between 10 and 100.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
541
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Step 6 radius server server name (Optional) Specifies the IP address of the
RADIUS server.
Example:
Step 7 address {ipv4 | ipv6} ip address auth-port Configures the IP address for the RADIUS
port_number acct-port port_number server.
Example:
Device(config-radius-server)# address
ipv4 10.0.1.2 auth-port 1550 acct-port
1560
Step 9 exit Exits the RADIUS server mode and enters the
global configuration mode.
Example:
Device(config-radius-server)# exit
Step 10 dot1x critical {eapol | recovery delay (Optional) Configure the parameters for
milliseconds} inaccessible authentication bypass:
Example: • eapol—Specify that the switch sends an
EAPOL-Success message when the
Device(config)# dot1x critical eapol switch successfully authenticates the
Device(config)# dot1x critical recovery critical port.
delay 2000
• recovery delaymilliseconds—Set the
recovery delay period during which the
switch waits to re-initialize a critical port
when a RADIUS server that was
unavailable becomes available. The range
is from 1 to 10000 milliseconds. The
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
542
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Device(config)# interface
gigabitethernet 1/0/1
Step 12 authentication event server dead action Use these keywords to move hosts on the port
{authorize | reinitialize} vlan vlan-id] if the RADIUS server is unreachable:
Example: • authorize—Move any new hosts trying
to authenticate to the user-specified
Device(config-if)# authentication event critical VLAN.
server dead action
reinitialicze vlan 20 • reinitialize—Move all authorized hosts
on the port to the user-specified critical
VLAN.
Step 13 switchport voice vlan vlan-id Specifies the voice VLAN for the port. The
voice VLAN cannot be the same as the critical
Example:
data VLAN configured in Step 6.
Device(config-if)# switchport voice vlan
Step 14 authentication event server dead action Configures critical voice VLAN to move data
authorize voice traffic on the port to the voice VLAN if the
RADIUS server is unreachable.
Example:
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
543
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Authentication with WoL
Example
To return to the RADIUS server default settings, use the no radius-server dead-criteria, the no
radius-server deadtime, and the no radius server global configuration commands. To disable
inaccessible authentication bypass, use the no authentication event server dead action interface
configuration command. To disable critical voice VLAN, use the no authentication event server
dead action authorize voice interface configuration command.
Procedure
Device> enable
Device(config)# interface
gigabitethernet2/0/3
Step 4 authentication control-direction {both | in} Enables 802.1x authentication with WoL on the
port, and use these keywords to configure the
Example:
port as bidirectional or unidirectional.
Device(config-if)# authentication • both—Sets the port as bidirectional. The
control-direction both port cannot receive packets from or send
packets to the host. By default, the port is
bidirectional.
• in—Sets the port as unidirectional. The
port can send packets to the host but
cannot receive packets from the host.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
544
Configuring IEEE 802.1x Port-Based Authentication
Configuring MAC Authentication Bypass
Device(config-if)# end
Step 6 show authentication sessions interface Displays information about current Auth
interface-id Manager sessions on the interface.
Example:
Procedure
Device> enable
Device(config-if)# authentication
port-control auto
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
545
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x User Distribution
Device(config-if)# end
Procedure
Device> enable
Step 3 vlan group vlan-group-name vlan-list vlan-list Configures a VLAN group, and maps a single
VLAN or a range of VLANs to it.
Example:
Step 4 no vlan group vlan-group-name vlan-list Clears the VLAN group configuration or
vlan-list elements of the VLAN group configuration.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
546
Configuring IEEE 802.1x Port-Based Authentication
Configuring NAC Layer 2 802.1x Validation
Device(config)# end
Procedure
Device> enable
Device(config)# interface
gigabitethernet2/0/3
Step 4 switchport mode access Sets the port to access mode only if you
configured the RADIUS server.
Example:
Step 5 authentication event no-response action Specifies an active VLAN as an 802.1x guest
authorize vlan vlan-id VLAN. The range is 1 to 4094.
Example: You can configure any active VLAN except an
internal VLAN (routed port), an RSPAN
Device(config-if)# authentication event
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
547
Configuring IEEE 802.1x Port-Based Authentication
Configuring an Authenticator Switch with NEAT
Device(config-if)# authentication
periodic
Step 7 authentication timer reauthenticate Sets re-authentication attempt for the client (set
to one hour).
Example:
This command affects the behavior of the
Device(config-if)# authentication timer switch only if periodic re-authentication is
reauthenticate enabled.
Device(config-if)# end
Step 9 show authentication sessions interface Displays information about current Auth
interface-id Manager sessions on the interface.
Example:
Note • The authenticator switch interface configuration must be restored to access mode by explicitly flapping
it if a line card is removed and inserted in the chassis when CISP or NEAT session is active.
• The cisco-av-pairs must be configured as device-traffic-class=switch on the ISE, which sets the interface
as a trunk after the supplicant is successfully authenticated.
Beginning in privileged EXEC mode, follow these steps to configure a switch as an authenticator:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
548
Configuring IEEE 802.1x Port-Based Authentication
Configuring an Authenticator Switch with NEAT
Procedure
Device> enable
Device(config-if)# authentication
port-control auto
Step 7 dot1x pae authenticator Configures the interface as a port access entity
(PAE) authenticator.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
549
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Supplicant Switch with NEAT
Device(config-if)# end
Procedure
Device> enable
Step 4 dot1x credentials profile Creates 802.1x credentials profile. This must
be attached to the port that is configured as
Example:
supplicant.
Device(config)# dot1x credentials test
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
550
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Supplicant Switch with NEAT
Step 7 dot1x supplicant force-multicast Forces the switch to send only multicast
EAPOL packets when it receives either unicast
Example:
or multicast packets.
Device(config)# dot1x supplicant This also allows NEAT to work on the
force-multicast supplicant switch in all host modes.
Device(config)# interface
gigabitethernet1/0/1
Step 9 switchport trunk encapsulation dot1q Sets the port to trunk mode.
Example:
Step 10 switchport mode trunk Configures the interface as a VLAN trunk port.
Example:
Step 11 dot1x pae supplicant Configures the interface as a port access entity
(PAE) supplicant.
Example:
Step 12 dot1x credentials profile-name Attaches the 802.1x credentials profile to the
interface.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
551
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Authentication with Downloadable ACLs and Redirect URLs
Device(config-if)# end
Note You must configure a downloadable ACL on the ACS before downloading it to the switch.
After authentication on the port, you can use the show ip access-list privileged EXEC command to display
the downloaded ACLs on the port.
Note The output of the show ip access-lists interface command does not display dACL or ACL filter IDs. This is
because the ACLs are attached to the virtual ports created by multidomain authentication for each authentication
session; instead of the physical interface. To display dACL or ACL filter IDs, use the show ip access-lists
access-list-name command. The access-list-name should be taken from the show access-session interface
interface-name detail command output. The access-list-name is case sensitive.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
552
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Downloadable Policy
Step 4 aaa authorization network default local Sets the authorization method to local. To
group radius remove the authorization method, use the no
aaa authorization network default local
Example:
group radius command.
Device(config)# aaa authorization network
default local group radius
Step 5 radius-server vsa send authentication Configures the radius vsa send authentication.
Example:
Device(config)# interface
gigabitethernet2/0/4
Step 7 ip access-group acl-id in Configures the default ACL on the port in the
input direction.
Example:
Note The acl-id is an access list name
Device(config-if)# ip access-group or number.
default_acl in
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
553
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Downloadable Policy
Procedure
Device> enable
Step 3 access-list access-list-number { deny | permit Defines the default port ACL.
} { hostname | any | host } log
The access-list-number is a decimal number
Example: from 1 to 99 or 1300 to 1999.
Device(config)# access-list 1 deny any Enter deny or permit to specify whether to
log
deny or permit access if conditions are
matched.
The source is the source address of the network
or host that sends a packet, such as this:
• hostname: The 32-bit quantity in
dotted-decimal format.
• any: The keyword any as an abbreviation
for source and source-wildcard value of
0.0.0.0 255.255.255.255. You do not need
to enter a source-wildcard value.
• host: The keyword host as an
abbreviation for source and
source-wildcard of source 0.0.0.0.
Device(config)# interface
gigabitethernet 2/0/2
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
554
Configuring IEEE 802.1x Port-Based Authentication
Configuring VLAN ID-based MAC Authentication
Device(config-if)# exit
Step 8 aaa authorization network default group Sets the authorization method to local. To
radius remove the authorization method, use the no
aaa authorization network default group
Example:
radius command.
Device(config)# aaa authorization
network default group radius
Step 9 radius-server vsa send authentication Configures the network access server to
recognize and use vendor-specific attributes.
Example:
Note The downloadable ACL must be
Device(config)# radius-server vsa send operational.
authentication
Device(config)# end
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
555
Configuring IEEE 802.1x Port-Based Authentication
Configuring Flexible Authentication Ordering
Device> enable
Step 3 mab request format attribute 32 vlan Enables VLAN ID-based MAC authentication.
access-vlan
Example:
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
556
Configuring IEEE 802.1x Port-Based Authentication
Configuring Open1x
Step 4 switchport mode access Sets the port to access mode only if you
previously configured the RADIUS server.
Example:
Step 5 authentication order [ dot1x | mab ] | (Optional) Sets the order of authentication
{webauth} methods used on a port.
Example:
Device(config-if)# authentication
priority mab dot1x
Device(config-if)# end
Configuring Open1x
Beginning in privileged EXEC mode, follow these steps to enable manual control of the port authorization
state:
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
557
Configuring IEEE 802.1x Port-Based Authentication
Configuring Open1x
Device> enable
Device(config)# interface
gigabitethernet 1/0/1
Step 4 switchport mode access Sets the port to access mode only if you
configured the RADIUS server.
Example:
Step 5 authentication control-direction {both | in} (Optional) Configures the port control as
unidirectional or bidirectional.
Example:
Device(config-if)# authentication
control-direction both
Device(config-if)# authentication
host-mode multi-auth
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
558
Configuring IEEE 802.1x Port-Based Authentication
Disabling 802.1x Authentication on the Port
Device(config-if)# authentication
periodic
Step 11 authentication port-control {auto | (Optional) Enables manual control of the port
force-authorized | force-un authorized} authorization state.
Example:
Device(config-if)# authentication
port-control auto
Device(config-if)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
559
Configuring IEEE 802.1x Port-Based Authentication
Resetting the 802.1x Authentication Configuration to the Default Values
Step 4 switchport mode access (Optional) Sets the port to access mode only if
you configured the RADIUS server.
Example:
Device(config-if)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
560
Configuring IEEE 802.1x Port-Based Authentication
Configuring Voice-Aware 802.1x Security
Device(config-if)# end
Note If you do not include the shutdown vlan keywords, the entire port is shut down
when it enters the error-disabled state.
• If you use the errdisable recovery cause security-violation global configuration command to configure
error-disabled recovery, the port is automatically re-enabled. If error-disabled recovery is not configured
for the port, you re-enable it by using the shutdown and no shutdown interface configuration commands.
• You can re-enable individual VLANs by using the clear errdisable interface interface-id vlan [vlan-list]
privileged EXEC command. If you do not specify a range, all VLANs on the port are enabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
561
Configuring IEEE 802.1x Port-Based Authentication
Configuring Voice-Aware 802.1x Security
Procedure
Device> enable
Step 3 errdisable detect cause security-violation Shut down any VLAN on which a security
shutdown vlan violation error occurs.
Example: Note If the shutdown vlan keywords
are not included, the entire port
Device(config)# errdisable detect cause enters the error-disabled state and
security-violation shutdown vlan shuts down.
Step 4 errdisable recovery cause security-violation Enables the automatic recovery of ports that
were disabled because of 802.1X security
Example:
violations..
Device(config)# errdisable recovery cause
security-violation
Device(config)# no shutdown
Device(config)# exit
Step 7 clear errdisable interfaceinterface-id vlan (Optional) Reenables individual VLANs that
[vlan-list] have been error disabled.
Example: • For the interface-id argument, specify the
port on which to reenable individual
Device# clear errdisable interface VLANs.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
562
Configuring IEEE 802.1x Port-Based Authentication
Configuration Examples for IEEE 802.1x Port-Based Authentication
Device> enable
Device# configure terminal
Device(config)# radius-server dead-criteria time 30 tries 20
Device(config)# radius-server deadtime 60
Device(config)# radius server server1
Device(config-radius-server)# address ipv4 172.29.36.49 acct-port 1618 auth-port 1612
Device(config-radius-server)# key abc1234
Device(config-radius-server)# exit
Device(config)# dot1x critical eapol
Device(config)# dot1x critical recovery delay 2000
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# dot1x critical
Device(config-if)# dot1x critical recovery action reinitialize
Device(config-if)# dot1x critical vlan 20
Device(config-if)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
563
Configuring IEEE 802.1x Port-Based Authentication
Monitoring IEEE 802.1x Port-Based Authentication Statistics and Status
This example shows how to add a VLAN to an existing VLAN group and to verify that the VLAN was added:
Device> enable
Device(config)# vlan group eng-dept vlan-list 30
Device(config)# exit
Device(config)# show vlan group eng-dept
This example shows that when all the VLANs are cleared from a VLAN group, the VLAN group is cleared:
Device> enable
Device(config)# no vlan group eng-dept vlan-list 30
Vlan 30 is successfully cleared from vlan group eng-dept.
Device(config)# exit
Device# show vlan group group-name eng-dept
Command Purpose
show dot1x all statistics Displays 802.1x statistics for all ports
show dot1x interface interface-id statistics Displays 802.1x statistics for a specific port
show dot1x all [count | details | statistics | Displays the 802.1x administrative and operational status
summary] for a switch
show dot1x interface interface-id Displays the 802.1x administrative and operational status
for a specific port
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
564
Configuring IEEE 802.1x Port-Based Authentication
Feature History for IEEE 802.1x Port-Based Authentication
Command Purpose
Cisco IOS XE Everest IEEE 802.1x Port-Based IEEE 802.1x authentication prevents unauthorized
16.5.1a Authentication devices (clients) from gaining access to the network.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a IEEE 802.1x Port-Based Support for this feature was introduced on the
Authentication C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
565
Configuring IEEE 802.1x Port-Based Authentication
Feature History for IEEE 802.1x Port-Based Authentication
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
566
CHAPTER 28
IEEE 802.1X VLAN Assignment
The IEEE 802.1X VLAN Assignment feature is automatically enabled when IEEE 802.1X authentication is
configured for an access port, which allows the RADIUS server to send a VLAN assignment to the device
port. This assignment configures the device port so that network access can be limited for certain users.
• Prerequisites for IEEE 802.1X VLAN Assignment, on page 567
• Restrictions for IEEE 802.1X VLAN Assignment, on page 568
• Information About IEEE 802.1X VLAN Assignment, on page 569
• How to Configure IEEE 802.1X VLAN Assignment, on page 569
• Configuration Examples for IEEE 802.1X VLAN Assignment, on page 573
• Additional References for IEEE 802.1X Port-Based Authentication, on page 574
• Feature History for IEEE 802.1X VLAN Assignment, on page 574
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
567
IEEE 802.1X VLAN Assignment
Restrictions for IEEE 802.1X VLAN Assignment
The IEEE 802.1X VLAN Assignment feature is available only on Cisco 89x and 88x series integrated switching
routers (ISRs) that support switch ports.
The following ISR-G2 routers are supported:
• 1900
• 2900
• 3900
• 3900e
Note An access VLAN is a VLAN assigned to an access port. All packets sent from or received on this port belong
to this VLAN.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
568
IEEE 802.1X VLAN Assignment
Information About IEEE 802.1X VLAN Assignment
• Assignment to the configured access VLAN prevents ports from appearing unexpectedly in an
inappropriate VLAN because of a configuration error. Examples of configuration errors include the
following:
• A nonexistent or malformed VLAN ID
• Attempted assignment to a voice VLAN ID
• When IEEE 802.1X authentication is enabled on a port, you cannot configure a port VLAN that is equal
to a voice VLAN.
• If the multihost mode is enabled on an IEEE 802.1X port, all hosts are placed in the same VLAN (specified
by the RADIUS server) as the first authenticated host.
• If an IEEE 802.1X port is authenticated and put in the RADIUS server-assigned VLAN, any change to
the port access VLAN configuration does not take effect.
• This feature does not support standard ACLs on the switch port.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
569
IEEE 802.1X VLAN Assignment
Enabling IEEE 802.1X Authentication and Authorization
Procedure
Step 4 aaa authorization network radius Configures the device for user RADIUS
if-authenticated authorization for all network-related service
requests. RADIUS authorization succeeds if the
Example:
user has authenticated.
Device(config)# aaa authorization network
radius if-authenticated
Step 5 aaa authorization exec radius Configures the device for user RADIUS
if-authenticated authorization if the user has privileged EXEC
access. RADIUS authorization succeeds if the
Example:
user has authenticated.
Device(config)# aaa authorization exec
radius if-authenticated
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
570
IEEE 802.1X VLAN Assignment
Enabling IEEE 802.1X Authentication and Authorization
Step 4 aaa authentication dot1x {default | listname} Creates a series of authentication methods that
method1 [method2...] are used to determine user privilege to access
the privileged command level so that the
Example:
device can communicate with the AAA server.
Device(config)# aaa authentication dot1x
default group radius
Step 6 identity profile default Creates an identity profile and enters dot1x
profile configuration mode.
Example:
Device(config)# identity profile default
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
571
IEEE 802.1X VLAN Assignment
Specifying an Authorized VLAN in the RADIUS Server Database
Step 10 dot1x pae [supplicant | authenticator | both] Sets the Port Access Entity (PAE) type.
Example: • supplicant—The interface acts only as a
Device(config-if)# dot1x pae supplicant and does not respond to
authenticator messages that are meant for an
authenticator.
• authenticator-—The interface acts only
as an authenticator and does not respond
to any messages meant for a supplicant.
• both—The interface behaves both as a
supplicant and as an authenticator and
thus does respond to all dot1x messages.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
572
IEEE 802.1X VLAN Assignment
Configuration Examples for IEEE 802.1X VLAN Assignment
Attribute [64] must contain the value “VLAN” (type 13). Attribute [65] must contain the value “802” (type
6). Attribute [81] specifies the VLAN name or VLAN ID assigned to the IEEE 802.1X-authenticated user.
The following show dot1x command output shows that 802.1X authentication has been configured
on a device:
Sysauthcontrol Enabled
Dot1x Protocol Version 2
Dot1x Info for GigabitEthernet 1/0/1
-----------------------------------
PAE = AUTHENTICATOR
PortControl = AUTO
ControlDirection = Both
HostMode = MULTI_HOST
ReAuthentication = Enabled
QuietPeriod = 600
ServerTimeout = 60
SuppTimeout = 30
ReAuthPeriod = 1800 (Locally configured)
ReAuthMax = 2
MaxReq = 3
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
573
IEEE 802.1X VLAN Assignment
Additional References for IEEE 802.1X Port-Based Authentication
TxPeriod = 60
RateLimitPeriod = 60
Standard/RFC Title
IEEE Port Based Network Access Control
802.1X
RFC 3580 IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines
Technical Assistance
Description Link
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
574
IEEE 802.1X VLAN Assignment
Feature History for IEEE 802.1X VLAN Assignment
Cisco IOS XE Everest 16.5.1a IEEE 802.1X VLAN Assignment The IEEE 802.1X VLAN
Assignment feature is automatically
enabled when IEEE 802.1X
authentication is configured for an
access port, which allows the
RADIUS server to send a VLAN
assignment to the device port. This
assignment configures the device
port so that network access can be
limited for certain users.
Support for this feature was
introduced on all the models of the
Cisco Catalyst 9500 Series
Switches.
Cisco IOS XE Fuji 16.8.1a IEEE 802.1X VLAN Assignment Support for this feature was
introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
575
IEEE 802.1X VLAN Assignment
Feature History for IEEE 802.1X VLAN Assignment
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
576
CHAPTER 29
Web-Based Authentication
This chapter describes how to configure web-based authentication on the device. It contains these sections:
• Restrictions for Web-Based Authentication, on page 577
• Information About Web-Based Authentication, on page 577
• How to Configure Web-Based Authentication, on page 586
• Verifying Web-Based Authentication, on page 598
• Feature History for Web-Based Authentication, on page 598
Note HTTPS traffic interception for central web authentication redirect is not supported.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
577
Web-Based Authentication
Device Roles
Note You should use global parameter-map (for method-type, custom, and redirect) only for using the same web
authentication methods like consent, web consent, and webauth, for all the clients and SSIDs. This ensures
that all the clients have the same web-authentication method.
If the requirement is to use Consent for one SSID and Web-authentication for another SSID, then you should
use two named parameter-maps. You should configure Consent in first parameter-map and configure webauth
in second parameter-map.
Note The traceback that you receive when webauth client tries to do authentication does not have any performance
or behavioral impact. It happens rarely when the context for which FFM replied back to EPM for ACL
application is already dequeued (possibly due to timer expiry) and the session becomes ‘unauthorized’.
Based on where the web pages are hosted, the local web authention can be categorozied as follows:
• Internal—The internal default HTML pages (Login, Success, Fail, and Expire) in the controller are used
during the local web authentication.
• Customized—The customized web pages (Login, Success, Fail, and Expire) are downloaded onto the
controller and used during the local web authentication.
• External—The customized web pages are hosted on the external web server instead of using the in-built
or custom web pages.
Based on the various web authentication pages, the types of web authentication are as follows:
• Webauth—This is a basic web authentication. Herein, the controller presents a policy page with the user
name and password. You need to enter the correct credentials to access the network.
• Consent or web-passthrough—Herein, the controller presents a policy page with the Accept or Deny
buttons. You need to click the Accept button to access the network.
• Webconsent—This is a combination of webauth and consent web authentication types. Herein, the
controller presents a policy page with Accept or Deny buttons along with user name or password. You
need to enter the correct credentials and click the Accept button to access the network.
Device Roles
With web-based authentication, the devices in the network have these specific roles:
• Client—The device (workstation) that requests access to the LAN and the services and responds to
requests from the switch. The workstation must be running an HTML browser with Java Script enabled.
• Authentication server—Authenticates the client. The authentication server validates the identity of the
client and notifies the switch that the client is authorized to access the LAN and the switch services or
that the client is denied.
• Switch—Controls the physical access to the network based on the authentication status of the client. The
switch acts as an intermediary (proxy) between the client and the authentication server, requesting identity
information from the client, verifying that information with the authentication server, and relaying a
response to the client.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
578
Web-Based Authentication
Host Detection
network.
Host Detection
The switch maintains an IP device tracking table to store information about detected hosts.
For Layer 2 interfaces, web-based authentication detects IP hosts by using these mechanisms:
• ARP based trigger—ARP redirect ACL allows web-based authentication to detect hosts with a static IP
address or a dynamic IP address.
• Dynamic ARP inspection
• DHCP snooping—Web-based authentication is notified when the switch creates a DHCP-binding entry
for the host.
Session Creation
When web-based authentication detects a new host, it creates a session as follows:
• Reviews the exception list.
If the host IP is included in the exception list, the policy from the exception list entry is applied, and the
session is established.
• Reviews for authorization bypass
If the host IP is not on the exception list, web-based authentication sends a nonresponsive-host (NRH)
request to the server.
If the server response is access accepted, authorization is bypassed for this host. The session is established.
• Sets up the HTTP intercept ACL
If the server response to the NRH request is access rejected, the HTTP intercept ACL is activated, and
the session waits for HTTP traffic from the host.
Authentication Process
When you enable web-based authentication, these events occur:
• The user initiates an HTTP session.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
579
Web-Based Authentication
Local Web Authentication Banner
• The HTTP traffic is intercepted, and authorization is initiated. The switch sends the login page to the
user. The user enters a username and password, and the switch sends the entries to the authentication
server.
• If the authentication succeeds, the switch downloads and activates the user’s access policy from the
authentication server. The login success page is sent to the user.
• If the authentication fails, the switch sends the login fail page. The user retries the login. If the maximum
number of attempts fails, the switch sends the login expired page, and the host is placed in a watch list.
After the watch list times out, the user can retry the authentication process.
• If the authentication server does not respond to the switch, and if an AAA fail policy is configured, the
switch applies the failure access policy to the host. The login success page is sent to the user.
• The switch reauthenticates a client when the host does not respond to an ARP probe on a Layer 2 interface,
or when the host does not send any traffic within the idle timeout on a Layer 3 interface.
• The switch reauthenticates a client when the host does not respond to an ARP probe on a Layer 2 interface.
• The feature applies the downloaded timeout or the locally configured session timeout.
• If the terminate action is RADIUS, the feature sends a nonresponsive host (NRH) request to the server.
The terminate action is included in the response from the server.
• If the terminate action is default, the session is dismantled, and the applied policy is removed.
The default banner Cisco Systems and Switch host-name Authentication appear on the Login Page. Cisco
Systems appears on the authentication result pop-up page.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
580
Web-Based Authentication
Local Web Authentication Banner
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
581
Web-Based Authentication
Local Web Authentication Banner
If you do not enable a banner, only the username and password dialog boxes appear in the web authentication
login screen, and no banner appears when you log into the switch.
Figure 42: Login Screen With No Banner
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
582
Web-Based Authentication
Web Authentication Customizable Web Pages
Guidelines
• You can substitute your own HTML pages for the default internal HTML pages.
• You can use a logo or specify text in the login, success, failure, and expire web pages.
• On the banner page, you can specify text in the login page.
• The pages are in HTML.
• You must include an HTML redirect command in the success page to access a specific URL.
• The URL string must be a valid URL (for example, http://www.cisco.com). An incomplete URL might
cause page not found or similar errors on a web browser.
• If you configure web pages for HTTP authentication, they must include the appropriate HTML commands
(for example, to set the page time out, to set a hidden password, or to confirm that the same page is not
submitted twice).
• The CLI command to redirect users to a specific URL is not available when the configured login form
is enabled. The administrator should ensure that the redirection is configured in the web page.
• If the CLI command redirecting users to specific URL after authentication occurs is entered and then the
command configuring web pages is entered, the CLI command redirecting users to a specific URL does
not take effect.
• Configured web pages can be copied to the switch boot flash or flash.
• The login page can be on one flash, and the success and failure pages can be another flash (for example,
the flash on the active switch or a member switch).
• You must configure all four pages.
• The banner page has no effect if it is configured with the web page.
• All of the logo files (image, flash, audio, video, and so on) that are stored in the system directory (for
example, flash, disk0, or disk) and that must be displayed on the login page must use
web_auth_<filename> as the file name.
• The configured authentication proxy feature supports both HTTP and SSL.
You can substitute your HTML pages for the default internal HTML pages. You can also specify a URL to
which users are redirected after authentication occurs, which replaces the internal Success page.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
583
Web-Based Authentication
Authentication Proxy Web Page Guidelines
Because the custom login page is a public web form, consider these guidelines for the page:
• The login form must accept user entries for the username and password and must show them as uname
and pwd.
• The custom login page should follow best practices for a web form, such as page timeout, hidden password,
and prevention of redundant submissions.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
584
Web-Based Authentication
Redirection URL for Successful Login Guidelines
LAN Port IP
You can configure LAN port IP (LPIP) and Layer 2 web-based authentication on the same port. The host is
authenticated by using web-based authentication first, followed by LPIP posture validation. The LPIP host
policy overrides the web-based authentication host policy.
If the web-based authentication idle timer expires, the NAC policy is removed. The host is authenticated, and
posture is validated again.
Gateway IP
You cannot configure Gateway IP (GWIP) on a Layer 3 VLAN interface if web-based authentication is
configured on any of the switch ports in the VLAN.
You can configure web-based authentication on the same Layer 3 interface as Gateway IP. The host policies
for both features are applied in software. The GWIP policy overrides the web-based authentication host policy.
ACLs
If you configure a VLAN ACL or a Cisco IOS ACL on an interface, the ACL is applied to the host traffic
only after the web-based authentication host policy is applied.
For Layer 2 web-based authentication, it is more secure, though not required, to configure a port ACL (PACL)
as the default access policy for ingress traffic from hosts connected to the port. After authentication, the
web-based authentication host policy overrides the PACL. The Policy ACL is applied to the session even if
there is no ACL configured on the port.
You cannot configure a MAC ACL and web-based authentication on the same interface.
You cannot configure web-based authentication on a port whose access VLAN is configured for VACL
capture.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
585
Web-Based Authentication
Context-Based Access Control
EtherChannel
You can configure web-based authentication on a Layer 2 EtherChannel interface. The web-based authentication
configuration applies to all member channels.
AAA Disabled
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
586
Web-Based Authentication
Web-Based Authentication Configuration Guidelines and Restrictions
• You must configure at least one IP address to run the switch HTTP server. You must also configure
routes to reach each host IP address. The HTTP server sends the HTTP login page to the host.
• Hosts that are more than one hop away might experience traffic disruption if an STP topology change
results in the host traffic arriving on a different port. This occurs because the ARP and DHCP updates
might not be sent after a Layer 2 (STP) topology change.
• Web-based authentication does not support VLAN assignment as a downloadable-host policy.
• Web-based authentication supports IPv6 in Session-aware policy mode. IPv6 Web-authentication requires
at least one IPv6 address configured on the switch and IPv6 Snooping configured on the switchport.
• Web-based authentication and Network Edge Access Topology (NEAT) are mutually exclusive. You
cannot use web-based authentication when NEAT is enabled on an interface, and you cannot use NEAT
when web-based authentication is running on an interface.
• Identify the following RADIUS security server settings that will be used while configuring
switch-to-RADIUS-server communication:
• Host name
• Host IP address
• Host name and specific UDP port numbers
• IP address and specific UDP port numbers
The combination of the IP address and UDP port number creates a unique identifier, that enables RADIUS
requests to be sent to multiple UDP ports on a server at the same IP address. If two different host entries
on the same RADIUS server are configured for the same service (for example, authentication) the second
host entry that is configured functions as the failover backup to the first one. The RADIUS host entries
are chosen in the order that they were configured.
• When you configure the RADIUS server parameters:
• Specify the key string on a separate command line.
• For key string, specify the authentication and encryption key used between the switch and the
RADIUS daemon running on the RADIUS server. The key is a text string that must match the
encryption key used on the RADIUS server.
• When you specify the key string, use spaces within and at the end of the key. If you use spaces in
the key, do not enclose the key in quotation marks unless the quotation marks are part of the key.
This key must match the encryption used on the RADIUS daemon.
• You can globally configure the timeout, retransmission, and encryption key values for all RADIUS
servers by using with the radius-server host global configuration command. If you want to configure
these options on a per-server basis, use the radius-server timeout, radius-server transmit, and the
radius-server key global configuration commands.
Note You need to configure some settings on the RADIUS server, including: the switch
IP address, the key string to be shared by both the server and the switch, and the
downloadable ACL (DACL). For more information, see the RADIUS server
documentation.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
587
Web-Based Authentication
Configuring the Authentication Rule and Interfaces
Procedure
Device> enable
Step 3 ip admission name name proxy http Configures an authentication rule for web-based
authorization.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
588
Web-Based Authentication
Configuring AAA Authentication
Device(config-if)# ip access-group
webauthag
Device# exit
If a method-list is not configured under VTY lines, you must add the default method list to the AAA
configuration:
Device(config)# line vty 0 4
Device(config-line)# exit
Device(config)# aaa authorization commands 15 default group tacacs+
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
589
Web-Based Authentication
Configuring AAA Authentication
Device> enable
Step 4 aaa authentication login default group Defines the list of authentication methods at
{tacacs+ | radius} login.
Example: named_authentication_list refers to any name
that is not greater than 31 characters.
Device(config)# aaa authentication login
default group tacacs+ AAA_group_name refers to the server group
name. You need to define the server-group
server_name at the beginning itself.
Step 5 aaa authorization auth-proxy default group Creates an authorization method list for
{tacacs+ | radius} web-based authorization.
Example:
Step 7 address {ipv4 | ipv6} ip address Configures the IP address for the TACACS
server.
Example:
Device(config-server-tacacs)# address
ipv4 10.0.1.12
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
590
Web-Based Authentication
Configuring Switch-to-RADIUS-Server Communication
Device(config-server-tacacs)# end
Procedure
Device> enable
Step 3 ip radius source-interface vlan vlan interface Specifies that the RADIUS packets have the
number IP address of the indicated interface.
Example:
Device(config)# ip radius
source-interface vlan 80
Step 4 radius server server name (Optional) Specifies the IP address of the
RADIUS server.
Example:
Step 5 address {ipv4 | ipv6} ip address Configures the IP address for the RADIUS
server.
Example:
Device(config-radius-server)# address
ipv4 10.0.1.2 auth-port 1550 acct-port
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
591
Web-Based Authentication
Configuring Switch-to-RADIUS-Server Communication
Step 7 exit Exits the RADIUS server mode and enters the
global configuration mode.
Example:
Device(config-radius-server)# exit
Step 8 radius-server vsa send authentication string Enable downloading of an ACL from the
RADIUS server.
Example:
Device# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
592
Web-Based Authentication
Configuring the HTTP Server
Note The Apple psuedo-browser will not open if you configure only the ip http secure-server command. You
should also configure the ip http server command.
Follow the procedure given below to enable the server for either HTTP or HTTPS:
Procedure
Device> enable
Device# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
593
Web-Based Authentication
Customizing the Authentication Proxy Web Pages
Procedure
Device> enable
Step 3 ip admission proxy http login page file Specifies the location in the device memory file
device:login-filename system of the custom HTML file to use in place
of the default login page. The device: is flash
Example:
memory.
Device(config)# ip admission proxy http
login page file disk1:login.htm
Step 4 ip admission proxy http success page file Specifies the location of the custom HTML file
device:success-filename to use in place of the default login success page.
Example:
Step 5 ip admission proxy http failure page file Specifies the location of the custom HTML file
device:fail-filename to use in place of the default login failure page.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
594
Web-Based Authentication
Specifying a Redirection URL for a Successful Login
Device# end
Procedure
Device> enable
Step 3 ip admission proxy http success redirect Specifies a URL for redirection of the user in
url-string place of the default login success page.
Example:
Device# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
595
Web-Based Authentication
Configuring Web-Based Authentication Parameters
Procedure
Device> enable
Step 3 ip admission max-login-attempts number Sets the maximum number of failed login
attempts. The range is 1 to 2147483647
Example:
attempts. The default is 5.
Device(config)# ip admission
max-login-attempts 10
Device# exit
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
596
Web-Based Authentication
Removing Web-Based Authentication Cache Entries
Device# end
Procedure
Device> enable
Step 2 clear ip auth-proxy cache {* | host ip address} Delete authentication proxy entries. Use an
asterisk to delete all cache entries. Enter a
Example:
specific IP address to delete the entry for a
single host.
Device# clear ip auth-proxy cache
192.168.4.5
Step 3 clear ip admission cache {* | host ip address} Delete authentication proxy entries. Use an
asterisk to delete all cache entries. Enter a
Example:
specific IP address to delete the entry for a
single host.
# clear ip admission cache 192.168.4.5
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
597
Web-Based Authentication
Verifying Web-Based Authentication
Command Purpose
show authentication sessions method Displays the web-based authentication settings for all interfaces
webauth for fastethernet, gigabitethernet, or tengigabitethernet
show authentication sessions interface Displays the web-based authentication settings for the specified
type slot/port[details] interface for fastethernet, gigabitethernet, or tengigabitethernet.
In Session Aware Networking mode, use the show access-session
interface command.
Cisco IOS XE Everest Web-Based The Web-Based Authentication feature authenticates end
16.5.1a Authentication users on host systems that do not run the IEEE 802.1x
supplicant.
Support for this feature was introduced on all the models
of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji Web-Based Support for this feature was introduced on the C9500-32C,
16.8.1a Authentication C9500-32QC, C9500-48Y4C, and C9500-24Y4C models
of the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
598
CHAPTER 30
Configuring Port-Based Traffic Control
• Port-Based Traffic Control , on page 599
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
599
Configuring Port-Based Traffic Control
Traffic Patterns
• Bandwidth as a percentage of the total available bandwidth of the port that can be used by the broadcast,
multicast, or unicast traffic
• Traffic rate in packets per second at which broadcast, multicast, or unicast packets are received
• Traffic rate in bits per second at which broadcast, multicast, or unicast packets are received
With each method, the port blocks traffic when the rising threshold is reached. The port remains blocked until
the traffic rate drops below the falling threshold (if one is specified) and then resumes normal forwarding. If
the falling suppression level is not specified, the device blocks all traffic until the traffic rate drops below the
rising suppression level. In general, the higher the level, the less effective the protection against broadcast
storms.
Note When the storm control threshold for any type of traffic is reached, Hardware Rate Limiter drops the traffic
exceeding the threshold set. However, the rest of the traffic within the threshold set continues to be forwarded
even after the storm is detected. Starting with Cisco IOS XE Gibraltar 16.11.1 release, this behavior is applicable
to Cisco Catalyst 9500 Series Switches - High Performance only.
Storm control for unicast is a combination of known unicast and unknown unicast traffic. When storm control
for unicast is configured, and it exceeds the configured value, the storm will hit each type of traffic through
the hardware policer. The following example describes how the unicast traffic is filtered, when the configured
storm is 10%:
• Incoming traffic is unknown unicast 8% + known unicast 7%. Total of 15% storm is not filtered in
hardware by the hardware policer.
• Incoming traffic is unknown unicast 11% + known unicast 7%. Total of 18% storm will hit unknown
unicast traffic type, and the hardware policer will filter unknown traffic that exceeds 11%.
• Incoming traffic is unknown unicast 11% + known unicast 11%. Total of 22% storm will hit unknown
unicast traffic and known unicast traffic, and the hardware policer will filter both unknown and unknown
unicast traffic.
Note Do not configure both storm-control unicast and storm-control unknown unicast commands on an interface.
If you configure both these commands, it might result in the unknown unicast storm control values to be
modified in the hardware.
Traffic Patterns
Broadcast traffic being forwarded exceeded the configured threshold between time intervals T1 and T2 and
between T4 and T5. When the amount of specified traffic exceeds the threshold, all traffic of that kind is
dropped for the next time period. Therefore, broadcast traffic is blocked during the intervals following T2
and T5. At the next time interval (for example, T3), if broadcast traffic does not exceed the threshold, it is
again forwarded.
The combination of the storm-control suppression level and the 1-second time interval controls the way the
storm control algorithm works. A higher threshold allows more packets to pass through. A threshold value
of 100 percent means that no limit is placed on the traffic. A value of 0.0 means that all broadcast, multicast,
or unicast traffic on that port is blocked.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
600
Configuring Port-Based Traffic Control
Protected Ports
Note Because packets do not arrive at uniform intervals, the 1-second time interval during which traffic activity is
measured can affect the behavior of storm control.
You use the storm-control interface configuration commands to set the threshold value for each traffic type.
Protected Ports
Some applications require that no traffic be forwarded at Layer 2 between ports on the same device so that
one neighbor does not see the traffic generated by another neighbor. In such an environment, the use of
protected ports ensures that there is no exchange of unicast, broadcast, or multicast traffic between these ports
on the device.
Protected ports have these features:
• A protected port does not forward any traffic (unicast, multicast, or broadcast) to any other port that is
also a protected port. Data traffic cannot be forwarded between protected ports at Layer 2; only control
traffic, such as PIM packets, is forwarded because these packets are processed by the CPU and forwarded
in software. All data traffic passing between protected ports must be forwarded through a Layer 3 device.
• Forwarding behavior between a protected port and a nonprotected port proceeds as usual.
Port Blocking
By default, the device floods packets with unknown destination MAC addresses out of all ports. If unknown
unicast and multicast traffic is forwarded to a protected port, there could be security issues. To prevent unknown
unicast or multicast traffic from being forwarded from one port to another, you can block a port (protected or
nonprotected) from flooding unknown unicast or multicast packets to other ports.
Note With multicast traffic, the port blocking feature blocks only pure Layer 2 packets. Multicast packets that
contain IPv4 or IPv6 information in the header are not blocked.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
601
Configuring Port-Based Traffic Control
Configuring Storm Control and Threshold Levels
However, because of hardware limitations and the way in which packets of different sizes are counted, threshold
percentages are approximations. Depending on the sizes of the packets making up the incoming traffic, the
actual enforced threshold might differ from the configured level by several percentage points.
Note Storm control is supported on physical interfaces. You can also configure storm control on an EtherChannel.
When storm control is configured on an EtherChannel, the storm control settings propagate to the EtherChannel
physical interfaces.
Procedure
Device> enable
Device(config)# interface
gigabitethernet1/0/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
602
Configuring Port-Based Traffic Control
Configuring Storm Control and Threshold Levels
Step 5 storm-control action {shutdown | trap} Specifies the action to be taken when a storm
is detected. Once a storm is detected, the
Example:
shutdown or trap action is applied on all the
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
603
Configuring Port-Based Traffic Control
Configuring a Protected Port
Device(config-if)# storm-control
unknown-unicast
Device(config-if)# end
Step 8 show storm-control [interface-id] [broadcast Verifies the storm control suppression levels
| multicast | unicast] set on the interface for the specified traffic type.
If you do not enter a traffic type, details for all
Example:
traffic types (broadcast, multicast and unicast)
are displayed.
Device# show storm-control
gigabitethernet1/0/1 unicast
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
604
Configuring Port-Based Traffic Control
Monitoring Protected Ports
Device(config-if)# end
Command Purpose
show interfaces [interface-id] switchport Displays the administrative and operational status of all swi
(nonrouting) ports or the specified port, including port bloc
protection settings.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
605
Configuring Port-Based Traffic Control
Monitoring Port Blocking
Step 5 switchport block unicast Blocks unknown unicast forwarding out of the
port.
Example:
Device(config-if)# end
Command Purpose
show interfaces [interface-id] switchport Displays the administrative and operational status of all switch
(nonrouting) ports or the specified port, including port blocking
protection settings.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
606
Configuring Port-Based Traffic Control
Feature History for Port-Based Traffic Control
Technical Assistance
Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.
Cisco IOS XE Everest Port-Based Traffic Port-based traffic control is a set of Layer 2 features
16.5.1a Control on the Cisco Catalyst switches used to filter or block
packets at the port level in response to specific traffic
conditions.
Support for this feature was introduced on all the
models of the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji 16.8.1a Port-Based Traffic Support for this feature was introduced on the
Control C9500-32C, C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco Catalyst 9500
Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
607
Configuring Port-Based Traffic Control
Feature History for Port-Based Traffic Control
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
608
CHAPTER 31
Port Security
• Prerequisites for Port Security, on page 609
• Restrictions for Port Security, on page 609
• Information About Port Security, on page 609
• How to Configure Port Security, on page 614
• Configuration Examples for Port Security, on page 621
• Feature History for Port Security, on page 622
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
609
Port Security
Types of Secure MAC Addresses
If a port is configured as a secure port and the maximum number of secure MAC addresses is reached, when
the MAC address of a station attempting to access the port is different from any of the identified secure MAC
addresses, a security violation occurs. Also, if a station with a secure MAC address configured or learned on
one secure port attempts to access another secure port, a violation is flagged.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
610
Port Security
Sticky Secure MAC Addresses
Security Violations
It is a security violation when one of these situations occurs:
• The maximum number of secure MAC addresses have been added to the address table, and a station
whose MAC address is not in the address table attempts to access the interface.
• An address learned or configured on one secure interface is seen on another secure interface in the same
VLAN.
• Running diagnostic tests with port security enabled.
You can configure the interface for one of three violation modes, based on the action to be taken if a violation
occurs:
• protect—when the number of secure MAC addresses reaches the maximum limit allowed on the port,
packets with unknown source addresses are dropped until you remove a sufficient number of secure
MAC addresses to drop below the maximum value or increase the number of maximum allowable
addresses. You are not notified that a security violation has occurred.
Note We do not recommend configuring the protect violation mode on a trunk port.
The protect mode disables learning when any VLAN reaches its maximum limit,
even if the port has not reached its maximum limit.
• restrict—when the number of secure MAC addresses reaches the maximum limit allowed on the port,
packets with unknown source addresses are dropped until you remove a sufficient number of secure
MAC addresses to drop below the maximum value or increase the number of maximum allowable
addresses. In this mode, you are notified that a security violation has occurred. An SNMP trap is sent, a
syslog message is logged, and the violation counter increments.
• shutdown—a port security violation causes the interface to become error-disabled and to shut down
immediately, and the port LED turns off. When a secure port is in the error-disabled state, you can bring
it out of this state by entering the errdisable recovery cause psecure-violation global configuration
command, or you can manually re-enable it by entering the shutdown and no shut down interface
configuration commands. This is the default mode.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
611
Port Security
Port Security Aging
• shutdown vlan—Use to set the security violation mode per-VLAN. In this mode, the VLAN is error
disabled instead of the entire port when a violation occurs
This table shows the violation mode and the actions taken when you configure an interface for port security.
Violation Mode Traffic is Sends SNMP trap Sends syslog Displays error Violation counter Shuts d
forwarded message message increments
10 11
protect No No No No No No
10
Packets with unknown source addresses are dropped until you remove a sufficient number of secure
MAC addresses.
11
The switch returns an error message if you manually configure an address that would cause a security
violation.
12
Shuts down only the VLAN on which the violation occurred.
Violation mode Shutdown. The port shuts down when the maximum number of secure
MAC addresses is exceeded.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
612
Port Security
Port Security Configuration Guidelines
This table summarizes port security compatibility with other port-based features.
DTP 13 port 14 No
Dynamic-access port 15 No
Routed port No
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
613
Port Security
How to Configure Port Security
EtherChannel No
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
614
Port Security
Enabling and Configuring Port Security
Device(config)# interface
gigabitethernet 1/0/1
Step 4 switchport mode {access | trunk} Sets the interface switchport mode as access
or trunk; an interface in the default mode
Example:
(dynamic auto) cannot be configured as a
secure port.
Device(config-if)# switchport mode
access
Step 7 switchport port-security [maximum value (Optional) Sets the maximum number of secure
[vlan {vlan-list | {access | voice}}]] MAC addresses for the interface. The
maximum number of secure MAC addresses
Example:
that you can configure on a switch or switch
stack is set by the maximum number of
Device(config-if)# switchport
port-security maximum 20 available MAC addresses allowed in the
system. This number is the total of available
MAC addresses, including those used for other
Layer 2 functions and any other secure MAC
addresses configured on interfaces.
(Optional) vlan—sets a per-VLAN maximum
value
Enter one of these options after you enter the
vlan keyword:
• vlan-list—On a trunk port, you can set a
per-VLAN maximum value on a range of
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
615
Port Security
Enabling and Configuring Port Security
Step 8 switchport port-security violation {protect (Optional) Sets the violation mode, the action
| restrict | shutdown | shutdown vlan} to be taken when a security violation is
detected, as one of these:
Example:
• protect—When the number of port secure
Device(config-if)# switchport MAC addresses reaches the maximum
port-security violation restrict limit allowed on the port, packets with
unknown source addresses are dropped
until you remove a sufficient number of
secure MAC addresses to drop below the
maximum value or increase the number
of maximum allowable addresses. You
are not notified that a security violation
has occurred.
Note We do not recommend
configuring the protect
mode on a trunk port. The
protect mode disables
learning when any VLAN
reaches its maximum limit,
even if the port has not
reached its maximum limit.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
616
Port Security
Enabling and Configuring Port Security
Step 9 switchport port-security [mac-address (Optional) Enters a secure MAC address for
mac-address [vlan {vlan-id | {access | voice}}] the interface. You can use this command to
enter the maximum number of secure MAC
Example:
addresses. If you configure fewer secure MAC
addresses than the maximum, the remaining
DEvice(config-if)# switchport
port-security mac-address MAC addresses are dynamically learned.
00:A0:C7:12:C9:25 vlan 3 voice
Note If you enable sticky learning after
you enter this command, the
secure addresses that were
dynamically learned are
converted to sticky secure MAC
addresses and are added to the
running configuration.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
617
Port Security
Enabling and Configuring Port Security
Step 10 switchport port-security mac-address sticky (Optional) Enables sticky learning on the
interface.
Example:
Device(config-if)# switchport
port-security mac-address sticky
Step 11 switchport port-security mac-address sticky (Optional) Enters a sticky secure MAC
[mac-address | vlan {vlan-id | {access | address, repeating the command as many times
voice}}] as necessary. If you configure fewer secure
MAC addresses than the maximum, the
Example:
remaining MAC addresses are dynamically
learned, are converted to sticky secure MAC
Device(config-if)# switchport
port-security mac-address sticky addresses, and are added to the running
00:A0:C7:12:C9:25 vlan voice configuration.
Note If you do not enable sticky
learning before this command is
entered, an error message
appears, and you cannot enter a
sticky secure MAC address.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
618
Port Security
Enabling and Configuring Port Security Aging
Device(config-if)# end
Procedure
Device> enable
Device(config)# interface
gigabitethernet1/0/1
Step 4 switchport port-security aging {static | time Enables or disable static aging for the secure
time | type {absolute | inactivity}} port, or set the aging time or type.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
619
Port Security
Changing the Address Aging Time
Device(config-if)# end
Step 6 show port-security [interface interface-id] Displays information about the port-security
[address] settings on the specified interface.
Example:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
620
Port Security
Monitoring Port Security
Step 3 mac address-table aging-time [0 | Sets the length of time that a dynamic entry
10-1000000] [routed-mac | vlan vlan-id] remains in the MAC address table after the entry
is used or updated.
Example:
The range is 10 to 1000000 seconds. The default
Device(config)# mac address-table is 300. You can also enter 0, which disables
aging-time 500 vlan 2 aging. Static address entries are never aged or
removed from the table.
vlan-id—Valid IDs are 1 to 4094.
Device(config)# end
Table 38: Commands for Displaying Port Security Status and Configuration
Command Purpose
show port-security [interface interface-id] Displays port security settings for the device or for the speci
including the maximum allowed number of secure MAC ad
each interface, the number of secure MAC addresses on the
number of security violations that have occurred, and the vi
show port-security [interface interface-id] address Displays all secure MAC addresses configured on all device
on a specified interface with aging information for each add
show port-security interface interface-id vlan Displays the number of secure MAC addresses configured p
the specified interface.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
621
Port Security
Feature History for Port Security
This example shows how to configure a static secure MAC address on VLAN 3 on a port:
Device> enable
Device# configure terminal
Device(config)# interface gigabitethernet1/0/2
Device(config-if)# switchport mode trunk
Device(config-if)# switchport port-security
Device(config-if)# switchport port-security mac-address 0000.0200.0004 vlan 3
Device(config-if)# end
This example shows how to enable sticky port security on a port, to manually configure MAC addresses for
data VLAN and voice VLAN, and to set the total maximum number of secure addresses to 20 (10 for data
VLAN and 10 for voice VLAN).
Device> enable
Device# configure terminal
Device(config)# interface tengigabitethernet1/0/1
Device(config-if)# switchport access vlan 21
Device(config-if)# switchport mode access
Device(config-if)# switchport voice vlan 22
Device(config-if)# switchport port-security
Device(config-if)# switchport port-security maximum 20
Device(config-if)# switchport port-security violation restrict
Device(config-if)# switchport port-security mac-address sticky
Device(config-if)# switchport port-security mac-address sticky 0000.0000.0002
Device(config-if)# switchport port-security mac-address 0000.0000.0003
Device(config-if)# switchport port-security mac-address sticky 0000.0000.0001 vlan voice
Device(config-if)# switchport port-security mac-address 0000.0000.0004 vlan voice
Device(config-if)# switchport port-security maximum 10 vlan access
Device(config-if)# switchport port-security maximum 10 vlan voice
Device(config-if)# end
Cisco IOS XE Everest Port Security The Port Security feature restricts input to an interface by
16.5.1a limiting and identifying MAC addresses of the stations allowed
to access the port.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji Port Security Support for this feature was introduced on the C9500-32C,
16.8.1a C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
622
Port Security
Feature History for Port Security
Cisco IOS XE Everest Port Security MAC When devices are added or removed from a network, the device
16.5.1a Aging updates the address table, adding new dynamic addresses and
aging out those that are not in use.
Support for this feature was introduced on all the models of
the Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji Port Security MAC Support for this feature was introduced on the C9500-32C,
16.8.1a Aging C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
623
Port Security
Feature History for Port Security
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
624
CHAPTER 32
Configuring Control Plane Policing
• Restrictions for CoPP, on page 625
• Information About CoPP, on page 626
• How to Configure CoPP, on page 635
• Configuration Examples for CoPP, on page 638
• Monitoring CoPP, on page 643
• Feature History for CoPP, on page 643
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
625
Configuring Control Plane Policing
Information About CoPP
• A protocol with a huge number of CPU-bound packets may impact other protocols in the same class, as
some of these protocols share the same policer. For example, Address Resolution Protocol (ARP) shares
4000 hardware policers with an array of host protocols like Telnet, Internet Control Message Protocol
(ICMP), SSH, FTP, and SNMP in the system-cpp-police-forus class. If there is an ARP poisoning or an
ICMP attack, hardware policers start throttling any incoming traffic that exceeds 4000 packets per second
to protect the CPU and the overall integrity of the system. As a result, ARP and ICMP host protocols are
dropped, along with any other host protocols that share the same class.
• Starting from Cisco IOS XE Fuji 16.8.1a, the creation of user-defined class-maps is not supported.
CoPP Overview
The CoPP feature improves security on your device by protecting the CPU from unnecessary traffic and denial
of service (DoS) attacks. It can also protect control traffic and management traffic from traffic drops caused
by high volumes of other, lower priority traffic.
Your device is typically segmented into three planes of operation, each with its own objective:
• The data plane, to forward data packets.
• The control plane, to route data correctly.
• The management plane, to manage network elements.
You can use CoPP to protect most of the CPU-bound traffic and ensure routing stability, reachability, and
packet delivery. Most importantly, you can use CoPP to protect the CPU from a DoS attack.
CoPP uses the modular QoS command-line interface (MQC) and CPU queues to achieve these objectives.
Different types of control plane traffic are grouped together based on certain criteria, and assigned to a CPU
queue. You can manage these CPU queues by configuring dedicated policers in hardware. For example, you
can modify the policer rate for certain CPU queues (traffic-type), or you can disable the policer for a certain
type of traffic.
Although the policers are configured in hardware, CoPP does not affect CPU performance or the performance
of the data plane. But since it limits the number of packets going to CPU, the CPU load is controlled. This
means that services waiting for packets from hardware may see a more controlled rate of incoming packets
(the rate being user-configurable).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
626
Configuring Control Plane Policing
System-Defined Aspects of CoPP
• Enables all CPU queues by default, with their respective default rate. The default rates are indicated in
the table System-Defined Values for CoPP.
The system-cpp-policy policy map is a system-default policy map, and normally, you do not have to expressly
save it to the startup configuration of the device. But, a failed bulk synchronization with a standby device can
result in the configuration being erased from the startup configuration. In case this happens, you have to
manually save the system-cpp-policy policy map to the startup configuration. Use the show running-config
privileged EXEC command to verify that it has been saved:
policy-map system-cpp-policy
The following table (System-Defined Values for CoPP) lists the class-maps that the system creates when you
load the device. It lists the policer that corresponds to each class-map and one or more CPU queues that are
grouped under each class-map. There is a one-to-one mapping of class-maps to policers; and one or more
CPU queues map to a class-map. This is followed by another table (CPU Queues and Associated Features),
which lists features associated with each CPU queue.
Class Maps Names Policer Index (Policer No.) CPU queues (Queue No.)
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
627
Configuring Control Plane Policing
System-Defined Aspects of CoPP
Class Maps Names Policer Index (Policer No.) CPU queues (Queue No.)
The following table lists the CPU queues and the feature(s) associated with each CPU queue.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
628
Configuring Control Plane Policing
System-Defined Aspects of CoPP
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
629
Configuring Control Plane Policing
System-Defined Aspects of CoPP
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
630
Configuring Control Plane Policing
System-Defined Aspects of CoPP
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
631
Configuring Control Plane Policing
User-Configurable Aspects of CoPP
WK_CPU_Q_GOLD_PKT(31) Gold
Note All system-cpp-policy configurations must be saved so they are retained after reboot.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
632
Configuring Control Plane Policing
Upgrading or Downgrading the Software Version
Note If a default policer is already present, carefully consider and control its removal; otherwise the system may
see a CPU hog or other anomalies, such as control packet drops.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
633
Configuring Control Plane Policing
Software Version Downgrades and CoPP
In-Service If there are user-defined classes Before and after upgrade Enter the command
Software in the existing software version (required) before upgrade, to ensure
Upgrade that any required system
or Enter the cpp system-default
(ISSU)18 configuration is updated,
command in global
If there are system-defined ensuring smooth ISSU
configuration mode
classes in the existing software operation.
version that are deprecated in a
Enter the command after
later release (for example:
upgrade for the latest,
system-cpp-police-control-low-priority).
default policer rates.
17
Refers to a software upgrade method that involves a reload of the switch. Can be install or bundle mode.
18
ISSU is supported only from one extended maintenance release to another. For more information, see
In-Service Software Upgrade (ISSU).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
634
Configuring Control Plane Policing
How to Configure CoPP
Procedure
Device> enable
Device(config)# policy-map
system-cpp-policy
Device(config-pmap)#
Step 5 police rate rate pps Specifies an upper limit on the number of
incoming packets processed per second, for
Example:
the specified traffic class.
Device(config-pmap-c)# police rate 100 Note The rate you specify is applied
pps to all CPU queues that belong to
Device(config-pmap-c-police)#
the class-map you have specified.
Device(config-pmap-c-police)# exit
Device(config-pmap-c)# exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
635
Configuring Control Plane Policing
Disabling a CPU Queue
Device(config)# control-plane
Device(config-cp)#
Device(config-cp)# end
Step 10 show policy-map control-plane Displays all the classes configured under
system-cpp policy, the rates configured for
Example:
the various traffic types, and statistics
Device# show policy-map control-plane
Procedure
Device> enable
Device(config)# policy-map
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
636
Configuring Control Plane Policing
Setting the Default Policer Rates for All CPU Queues
Step 5 no police rate rate pps Disables incoming packet processing for the
specified traffic class.
Example:
Note This disables all CPU queues that
Device(config-pmap-c)# no police rate belong to the class-map you have
100 pps specified.
Device(config-pmap-c)# end
Step 7 show policy-map control-plane Displays all the classes configured under
system-cpp policy and the rates configured
Example:
for the various traffic types and statistics.
Device# show policy-map control-plane
Procedure
Device> enable
Step 3 cpp system-default Sets the policer rates for all the classes to the
default rate.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
637
Configuring Control Plane Policing
Configuration Examples for CoPP
Device(config)# end
Step 5 show platform hardware fed Displays the rates configured for the various
switch{switch-number | active | traffic types.
standby}qos que stats internal cpu policer
Example:
Device> enable
Device# configure terminal
Device(config)# policy-map system-cpp-policy
Device(config-pmap)# class system-cpp-police-protocol-snooping
Device(config-pmap-c)# police rate 2000 pps
Device(config-pmap-c-police)# end
Control Plane
<output truncated>
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
638
Configuring Control Plane Policing
Example: Disabling a CPU Queue
<output truncated>
Device> enable
Device# configure terminal
Device(config)# policy-map system-cpp-policy
Device(config-pmap)# class system-cpp-police-protocol-snooping
Device(config-pmap-c)# no police rate 100 pps
Device(config-pmap-c)# end
policy-map system-cpp-policy
class system-cpp-police-data
police rate 200 pps
class system-cpp-police-sys-data
police rate 100 pps
class system-cpp-police-sw-forward
police rate 1000 pps
class system-cpp-police-multicast
police rate 500 pps
class system-cpp-police-multicast-end-station
police rate 2000 pps
class system-cpp-police-punt-webauth
class system-cpp-police-l2-control
class system-cpp-police-routing-control
police rate 500 pps
class system-cpp-police-control-low-priority
class system-cpp-police-wireless-priority1
class system-cpp-police-wireless-priority2
class system-cpp-police-wireless-priority3-4-5
class system-cpp-police-topology-control
class system-cpp-police-dot1x-auth
class system-cpp-police-protocol-snooping
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
639
Configuring Control Plane Policing
Example: Setting the Default Policer Rates for All CPU Queues
class system-cpp-police-forus
class system-cpp-default
<output truncated>
Example: Setting the Default Policer Rates for All CPU Queues
This example shows how to set the policer rates for all CPU queues to their default and then verify the setting.
Note For some CPU queues, the default rate and the set rate values will not be the same, even if you set the
default rate for all classes. This because the set rate is rounded off to the nearest multiple of 200. This behavior
is controlled by the clock speed of your device. In the sample output below, the default and set rate values
for DHCP Snooping and NFL SAMPLED DATA display this difference.
Device> enable
Device# configure terminal
Device(config)# cpp system-default
Defaulting CPP : Policer rate for all classes will be set to their defaults
Device(config)# end
Device# show platform hardware fed switch 1 qos queue stats internal cpu policer
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
640
Configuring Control Plane Policing
Example: Setting the Default Policer Rates for All CPU Queues
* NOTE: CPU queue policer rates are configured to the closest hardware supported value
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
641
Configuring Control Plane Policing
Example: Setting the Default Policer Rates for All CPU Queues
21 0 0 0 0
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
642
Configuring Control Plane Policing
Monitoring CoPP
Monitoring CoPP
Use these commands to display policer settings, such as, traffic types and policer rates (user-configured and
default rates) for CPU queues:
Command Purpose
show policy-map control-plane Displays the rates configured for the various traffic
types
show policy-map system-cpp-policy Displays all the classes configured under system-cpp
policy, and policer rates
show platform hardware fed Displays the rates configured for the various traffic
switch{switch-number|active|standby}qos que types
stats internal cpu policer
show platform software fed Displays information about policy status and the target
{switch-number|active|standby}qos policy target port type.
status
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
643
Configuring Control Plane Policing
Feature History for CoPP
Cisco IOS XE Everest 16.5.1a Control Plane Policing The CoPP feature improves security on your device
(CoPP) or CPP by protecting the CPU from unnecessary traffic, or
DoS traffic, and by prioritizing control plane and
management traffic.
The feature provides CLI configuration options to
enable and disable CPU queues, to change the
policer rate, set policer rates to default, and to create
user-defined class-maps (with filters) and add them
to policy map system-cpp-policy.
Cisco IOS XE Everest 16.6.1 Changes in These new system-defined classes were introduced:
system-defined values
• system-cpp-police-stackwise-virt-control
for CoPP
• system-cpp-police-l2lvx-control
• WK_CPU_Q_UNUSED (7)
• WK_CPU_Q_EWLC_CONTROL(9)
• WK_CPU_Q_EWLC_DATA(10)
CPU queue
WK_CPU_Q_SGT_CACHE_FULL(27) is no
longer available.
Cisco IOS XE Everest 16.6.4 Change in the system For some CPU queues, the default rate and the set
behavior for policer rates rate values will not be the same, even if you set the
that are set. default rate for all classes. This is because the set
rate is rounded off to the nearest multiple of 200.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
644
Configuring Control Plane Policing
Feature History for CoPP
Cisco IOS XE Fuji 16.8.1a Removal of support for • Starting from this release, the creation of
user-defined class-maps user-defined class-maps is not supported.
and changes in
system-defined values • This new system-defined class was introduced:
for CoPP system-cpp-police-dhcp-snooping
• This new CPU queue was added to the existing
system-cpp-default class:
WK_CPU_Q_INTER_FED_TRAFFIC
• These CPU queues are no longer available:
• WK_CPU_Q_SHOW_FORWARD
• WK_CPU_Q_UNUSED
Control Plane Policing Support for this feature was introduced on the
(CoPP) or CPP C9500-32C, C9500-32QC, C9500-48Y4C, and
introduced on the High C9500-24Y4C models of the Cisco Catalyst 9500
Performance models in Series Switches.
the series
All Cisco IOS XE Fuji 16.8.1a release changes
apply to all models in the series.
Cisco IOS XE Fuji 16.9.1 Changes in Starting with this release, eighteen system-defined
system-defined values classes are created under system-cpp-policy.
for CoPP
These new system-defined classes were introduced:
• system-cpp-police-high-rate-app
• system-cpp-police-system-critical
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
645
Configuring Control Plane Policing
Feature History for CoPP
Cisco IOS XE Fuji 16.9.4 Deprecation of This system-defined class map was deprecated:
system-defined class system-cpp-police-control-low-priority
map
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to https://cfnng.cisco.com.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
646
CHAPTER 33
Configuring Lawful Intercept
• Prerequisites for Lawful Intercept, on page 647
• Restrictions for Lawful Intercept, on page 647
• Information About Lawful Intercept, on page 648
• How to Configure Lawful Intercept, on page 655
• Configuration Examples for Lawful Intercept, on page 658
• Feature History for Lawful Intercept, on page 659
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
647
Configuring Lawful Intercept
Information About Lawful Intercept
• Lawful Intercept is not supported on Layer 2 interfaces. However, lawful intercept can intercept traffic
on VLANs that run over a Layer 2 interface.
• Lawful Intercept is not supported in packets that are encapsulated within other packets, for example,
tunneled packets or Q-in-Q packets.
• Lawful Intercept is not supported for Layer 2 taps.
• Lawful Intercept is not supported in packets that are subject to Layer 3 or Layer 4 rewrite, for example,
Network Address Translation (NAT) or TCP reflexive.
For information about the Cisco lawful intercept solution, contact your Cisco account representative.
Note The Lawful Intercept feature supports the interception of IPv4 protocol as defined by the citapStreamprotocol
object in the CISCO-IP-TAB-MIB that includes voice and date interception.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
648
Configuring Lawful Intercept
CALEA for Voice
Configuration Guidelines
• To deploy Lawful Intercept at a node, do not configure optimized ACL logging, VLAN access control
list (VACL) capture, or Intrusion Detection System (IDS) at the node. Deploying lawful intercept at the
node causes unpredictable behavior in optimized ACL logging, VACL capture, and IDS.
• The maximum number of TAPs supported on Catalyst 9500 series switches is 160.
• When provisioning the mediation device, if the interface index passed is zero, the switch selects the best
possible interface to reach the mediation device. If the interface index is set to another value, the switch
uses that interface index to reach the mediation device.
• (Optional) The domain name for both the device and the mediation device can be registered in the Domain
Name System (DNS).
• The mediation device must have an access function.
• You must add the mediation device to the SNMP user group that has access to the CISCO-TAP2-MIB
view. Specify the username of the mediation device as the user to add to the group.
• When you add the mediation device as a CISCO-TAP2-MIB user, you must also include the mediation
device’s authorization password.
• The device intercepts and replicates packets even if the packets are later dropped, for example, due to
rate limiting or an access control list (ACL) deny statement.
• Lawful intercept ACLs are applied internally to both the ingress and the egress directions of an interface.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
649
Configuring Lawful Intercept
Network Components Used for Lawful Intercept
• Packets that are subject to hardware rate limiting are processed by lawful intercept as follows:
• Packets that are dropped by the rate limiter are not intercepted or processed.
• Packets that are passed by the rate limiter are intercepted and processed.
• If multiple law enforcement agencies use a single mediation device and each of these agencies is executing
a wiretap on the same target, the device sends a single packet to the mediation device. It is up to the
mediation device to duplicate the packet for each law enforcement agency.
• Lawful intercept can intercept IPv4 packets with values that match a combination of one or more of the
following fields:
• Destination IP address and mask
• Destination port range
• Source IP address and mask
• Source port range
• Protocol ID
Mediation Device
A mediation device (supplied by a third-party vendor) handles most of the processing for lawful intercept.
The mediation device:
• Provides the interface used to set up and provision the lawful intercept.
• Generates requests to other network devices to set up and run the lawful intercept.
• Converts the intercepted traffic into the format required by the LEA (which can vary from country to
country) and sends a copy of the intercepted traffic to the LEA without the target’s knowledge.
Note If multiple LEAs are performing intercepts on the same target, the mediation device must make a copy of the
intercepted traffic for each LEA. The mediation device is also responsible for restarting the lawful intercepts
that are disrupted due to a failure.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
650
Configuring Lawful Intercept
Lawful Intercept Processing
• Identification (ID) IAP—A device, such as an authentication, authorization, and accounting (AAA) server
that provides intercept-related information (IRI) for the intercept (for example, the target’s username
and system IP address) or call agents for VoIP. The IRI helps a service provider determine which content
IAP (switch) the target’s traffic passes through.
• Content IAP—A device that the target’s traffic passes through. The content IAP:
• Intercepts traffic to and from the target for the length of time specified in the court order. The device
continues to forward traffic to its destination to ensure that the wiretap is undetected.
• Creates a copy of the intercepted traffic, encapsulates it in User Datagram Protocol (UDP) packets,
and forwards the packets to the mediation device without the target’s knowledge. Note that the IP
option header is not supported.
Note If multiple LEAs are performing intercepts on the same target, the mediation
device must make a copy of the intercepted traffic for each LEA.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
651
Configuring Lawful Intercept
Lawful Intercept MIBs
c. Encapsulates the intercepted traffic in UDP packets, and forwards the packets to the mediation device
without the target’s knowledge.
Note The process of intercepting and duplicating the target’s traffic does not add detectable latency in the traffic
stream.
4. The mediation device converts the intercepted traffic into the required format and sends it to a collection
function running at the LEA. Here, the intercepted traffic is stored and processed.
Note If the device intercepts traffic that is not allowed by the judicial order, the mediation device filters out the
excess traffic and sends only the traffic allowed by the judicial order to the LEA.
5. When the lawful intercept expires, the device stops intercepting the target’s traffic.
Due to its sensitive nature, the Cisco lawful intercept MIBs are only available in software images that support
the Lawful Intercept feature. To access the Cisco IOS MIB Locator page, go to:
http://mibs.cloudapps.cisco.com/ITDIT/MIBS/servlet/index.
CISCO-TAP2-MIB
The CISCO-TAP2-MIB contains SNMP management objects that control lawful intercepts. The mediation
device uses the MIB to configure and run lawful intercepts on targets whose traffic passes through the device.
The CISCO-TAP2-MIB contains several tables that provide information for lawful intercepts that are running
on the device:
• cTap2MediationTable: Contains information about each mediation device that is currently running lawful
intercept on the device. Each table entry provides information that the device uses to communicate with
the mediation device, for example, the device’s address, the interfaces to send intercepted traffic over,
and the protocol to use to transmit the intercepted traffic.
• cTap2StreamTable: Contains information used to identify the traffic to intercept. Each table entry contains
a pointer to a filter that is used to identify the traffic stream associated with the target of a lawful intercept.
Traffic that matches the filter is intercepted, copied, and sent to the corresponding mediation device
application (cTap2MediationContentId).
The cTap2StreamTable table also contains counts of the number of packets that were intercepted, and
counts of dropped packets that should have been intercepted, but were not.
• cTap2DebugTable: Contains debug information for troubleshooting lawful intercept errors.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
652
Configuring Lawful Intercept
MIB Guidelines
The CISCO-TAP2-MIB also contains several SNMP notifications for lawful intercept events. For detailed
descriptions of MIB objects, see corresponding MIBs.
CISCO-TAP2-MIB Processing
The administration function (running on the mediation device) issues SNMPv3 set and get requests to the
device’s CISCO-TAP2-MIB to set up and initiate a lawful intercept. To do this, the administration function
performs the following actions:
1. Creates a cTap2MediationTable entry to define how the device is to communicate with the mediation
device executing the intercept.
Note The cTap2MediationNewIndex object provides a unique index for the mediation table entry.
CISCO-IP-TAP-MIB
The CISCO-IP-TAP-MIB contains the SNMP management objects to configure and execute lawful intercepts
on IPv4 traffic streams that flow through the device. This MIB is an extension of the CISCO-TAP2-MIB.
You can use the CISCO-IP-TAP-MIB to configure lawful intercept on a device to intercept IPv4 packets with
values that match a combination of one or more of the following fields:
• Destination IP address and mask
• Destination port range
• Source IP address and mask
• Source port range
• Protocol ID
CISCO-IP-TAP-MIB Processing
When data is intercepted, two streams are created. One stream is for packets that originate from the target IP
address to any other IP address using any port. The second stream is created for packets that are routed to the
target IP address from any other address using any port. For VoIP, two streams are created, one for RTP
packets from the target and the second stream for the RTP packets to target using the specific source and
destination IP addresses and ports specified in the SDP information used to set up the RTP stream.
MIB Guidelines
The following Cisco MIBs are used for lawful intercept processing. Include these MIBs in the SNMP view
of lawful intercept MIBs to enable the mediation device to configure and execute wiretaps on traffic that flows
through the device.
• CISCO-TAP2-MIB: Required for both types of lawful intercepts: regular and broadband.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
653
Configuring Lawful Intercept
Security Considerations
• CISCO-IP-TAP-MIB: Required for wiretaps on Layer 3 (IPv4) streams. Supported for regular and
broadband lawful intercept.
• The CISCO-IP-TAB-MIB imposes limitations on the following features:
• If one or all of the following features are configured and functioning and lawful intercept is enabled,
lawful intercept takes precedence, and the feature behaves as follows:
• Optimized ACL logging (OAL): Does not function.
• VLAN access control list (VACL) capturing: Does not function properly.
• Intrusion detection system (IDS): Does not function properly.
These features start to function after you disable or unconfigure lawful intercept.
• IDS cannot capture traffic on its own, but captures traffic that has been intercepted by lawful intercept.
Security Considerations
• SNMP notifications for lawful intercept must be sent to UDP port 161 on the mediation device, not port
162 (which is the SNMP default).
• The only users who should be allowed to access the lawful intercept MIBs are the mediation device and
system administrators who need to know about lawful intercepts on the device. In addition, these users
must have authPriv or authNoPriv access rights to access the lawful intercept MIBs. Users with
NoAuthNoPriv access cannot access the lawful intercept MIBs.
• You cannot use the SNMP-VACM-MIB to create a view that includes the lawful intercept MIBs.
• The default SNMP view excludes the following MIBs:
• CISCO-TAP2-MIB
• CISCO-IP-TAP-MIB
• SNMP-COMMUNITY-MIB
• SNMP-USM-MIB
• SNMP-VACM-MIB
We recommend that you also see the information provided in Restrictions for Lawful Intercept, on page 647
and Prerequisites for Lawful Intercept, on page 647.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
654
Configuring Lawful Intercept
How to Configure Lawful Intercept
3. Add users to the Cisco lawful intercept user groups to define who can access the MIBs along with
information, if any, related to lawful intercepts. Be sure to add the mediation device as a user in this group;
otherwise, the device cannot perform lawful intercepts.
Note Access to the Cisco lawful intercept MIB view should be restricted to the mediation device and to system
administrators who need to be aware of lawful intercepts on the device. To access the MIB, users must have
level-15 access rights on the device.
Note Issue the commands in global configuration mode with level-15 access rights.
Procedure
Device> enable
Step 3 snmp-server view view-name MIB-name Creates an SNMP view that includes the
included CISCO-TAP2-MIB, where exampleView is
the name of the view to create for the MIB.
Example:
This MIB is required for both regular and
broadband lawful intercept.
Device(config)# snmp-server view
exampleView ciscoTap2MIB included
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
655
Configuring Lawful Intercept
Creating a Restricted SNMP View of Lawful Intercept MIBs
Step 5 snmp-server view view-name MIB-name Adds the CISCO-802-TAP-MIB to the SNMP
included view.
Example:
Step 8 snmp-server group group-name v3 auth read Creates an SNMP user group that has access
view-name write view-name to the LI MIB view and defines the group’s
access rights to the view.
Example:
Step 9 snmp-server user user-name group-name v3 Adds users to the specified user group.
auth md5 auth-password
Example:
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
656
Configuring Lawful Intercept
Enabling SNMP Notifications for Lawful Intercept
Note Issue the commands in global configuration mode with level-15 access rights.
Procedure
Device> enable
Step 3 snmp-server host ip-address Specifies the IP address of the mediation device
community-string udp-port port and the password-like community-string that is
notification-type sent with a notification request.
Example: • For lawful intercept, the udp-port must
be 161 and not 162 (the SNMP default).
Device(config)# snmp-server host 10.2.2.1
community-string udp-port 161 udp
Step 4 snmp-server enable traps snmp Configures the device to send RFC 1157
authentication linkup linkdown coldstart notifications to the mediation device.
warmstart
• These notifications indicate authentication
Example: failures, link status (up or down), and
device restarts.
Device(config)# snmp-server enable traps
snmp authentication linkup linkdown
coldstart warmstart
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
657
Configuring Lawful Intercept
Disabling SNMP Notifications
Note To disable lawful intercept notifications, use SNMPv3 to set the CISCO-TAP2-MIB object
cTap2MediationNotificationEnable to false(2). To re-enable lawful intercept notifications through SNMPv3,
reset the object to true(1).
Procedure
Device> enable
Step 3 no snmp-server enable traps Disables all SNMP notification types that are
available on your system.
Example:
Device(config)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
658
Configuring Lawful Intercept
Feature History for Lawful Intercept
Cisco IOS XE Fuji 16.8.1a Lawful Intercept The Lawful Intercept feature supports service
providers in meeting the requirements of law
enforcement agencies to provide electronic
surveillance as authorized by a judicial or
administrative order.
Support for this feature was introduced on the
C9500-32C, C9500-32QC, C9500-48Y4C,
and C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
659
Configuring Lawful Intercept
Feature History for Lawful Intercept
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
660
CHAPTER 34
Configuring Authorization and Revocation of
Certificates in a PKI
• Configuring Authorization and Revocation of Certificates in a PKI, on page 661
Tip It is strongly recommended that you plan your entire PKI strategy before you begin to deploy actual certificates.
Authorization and revocation can occur only after you or a network administrator have completed the following
tasks:
• Configured the certificate authority (CA).
• Enrolled peer devices with the CA.
• Identified and configured the protocol (such as IPsec or secure socket layer [SSL]) that is to be used for
peer-to-peer communication.
You should decide which authorization and revocation strategy you are going to configure before enrolling
peer devices because the peer device certificates might have to contain authorization and revocation-specific
information.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
661
Configuring Authorization and Revocation of Certificates in a PKI
Restrictions for Authorization and Revocation of Certificates
High Availability
For high availability, IPsec-secured Stream Control Transmission Protocol (SCTP) must be configured on
both the active and the standby devices. For synchronization to work, the redundancy mode on the certificate
servers must be set to ACTIVE/STANDBY after you configure SCTP.
• There may be a time delay when accessing the AAA server. If the AAA server is not available, the
authorization fails.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
662
Configuring Authorization and Revocation of Certificates in a PKI
RADIUS or TACACS+ Choosing a AAA Server Protocol
Note Users can sometimes have AV pairs that are different from those of every other user. As a result, a unique
username is required for each user. The all parameter (within the authorization username command) specifies
that the entire subject name of the certificate will be used as the authorization username.
AV Pair Value
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
663
Configuring Authorization and Revocation of Certificates in a PKI
CRLs or OCSP Server Choosing a Certificate Revocation Mechanism
AV Pair Value
What Is a CRL
A certificate revocation list (CRL) is a list of revoked certificates. The CRL is created and digitally signed by
the CA that originally issued the certificates. The CRL contains dates for when each certificate was issued
and when it expires.
CAs publish new CRLs periodically or when a certificate for which the CA is responsible has been revoked.
By default, a new CRL is downloaded after the currently cached CRL expires. An administrator may also
configure the duration for which CRLs are cached in router memory or disable CRL caching completely. The
CRL caching configuration applies to all CRLs associated with a trustpoint.
When the CRL expires, the router deletes it from its cache. A new CRL is downloaded when a certificate is
presented for verification; however, if a newer version of the CRL that lists the certificate under examination
is on the server but the router is still using the CRL in its cache, the router does not know that the certificate
has been revoked. The certificate passes the revocation check even though it should have been denied.
When a CA issues a certificate, the CA can include in the certificate the CRL distribution point (CDP) for
that certificate. Cisco IOS client devices use CDPs to locate and load the correct CRL. The Cisco IOS client
supports multiple CDPs, but the Cisco IOS CA currently supports only one CDP; however, third-party vendor
CAs may support multiple CDPs or different CDPs per certificate. If a CDP is not specified in the certificate,
the client device uses the default Simple Certificate Enrollment Protocol (SCEP) method to retrieve the CRL.
(The CDP location can be specified through the cdp-urlcommand.)
When implementing CRLs, you should consider the following design considerations:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
664
Configuring Authorization and Revocation of Certificates in a PKI
Querying All CDPs During Revocation Check
• CRL lifetimes and the security association (SA) and Internet Key Exchange (IKE) lifetimes.
• The CRL lifetime determines the length of time between CA-issued updates to the CRL. The default
CRL lifetime value, which is 168 hours [1 week], can be changed through the lifetime crl command.
• The method of the CDP determines how the CRL is retrieved; some possible choices include HTTP,
Lightweight Directory Access Protocol (LDAP), SCEP, or TFTP. HTTP, TFTP, and LDAP are the most
commonly used methods. Although Cisco IOS software defaults to SCEP, an HTTP CDP is recommended
for large installations using CRLs because HTTP can be made highly scalable.
• The location of the CDP determines from where the CRL is retrieved; for example, you can specify the
server and file path from which to retrieve the CRL.
Tip Although the Cisco IOS XE software will make every attempt to obtain the CRL from one of the indicated
CDPs, it is recommended that you use an HTTP CDP server with high-speed redundant HTTP servers to
avoid application timeouts because of slow CDP responses.
What Is OCSP
OCSP is an online mechanism that is used to determine certificate validity and provides the following flexibility
as a revocation mechanism:
• OCSP can provide real-time certificate status checking.
• OCSP allows the network administrator to specify a central OCSP server, which can service all devices
within a network.
• OCSP also allows the network administrator the flexibility to specify multiple OCSP servers, either per
client certificate or per group of client certificates.
• OCSP server validation is usually based on the root CA certificate or a valid subordinate CA certificate,
but may also be configured so that external CA certificates or self-signed certificates may be used. Using
external CA certificates or self-signed certificates allows the OCSP servers certificate to be issued and
validated from an alternative PKI hierarchy.
A network administrator can configure an OCSP server to collect and update CRLs from different CA servers.
The devices within the network can rely on the OCSP server to check the certificate status without retrieving
and caching each CRL for every peer. When peers have to check the revocation status of a certificate, they
send a query to the OCSP server that includes the serial number of the certificate in question and an optional
unique identifier for the OCSP request, or a nonce. The OCSP server holds a copy of the CRL to determine
if the CA has listed the certificate as being revoked; the server then responds to the peer including the nonce.
If the nonce in the response from the OCSP server does not match the original nonce sent by the peer, the
response is considered invalid and certificate verification fails. The dialog between the OCSP server and the
peer consumes less bandwidth than most CRL downloads.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
665
Configuring Authorization and Revocation of Certificates in a PKI
When to Use an OCSP Server
If the OCSP server is using a CRL, CRL time limitations will be applicable; that is, a CRL that is still valid
might be used by the OCSP server although a new CRL has been issued by the CRL containing additional
certificate revocation information. Because fewer devices are downloading the CRL information on a regular
basis, you can decrease the CRL lifetime value or configure the OCSP server not to cache the CRL. For more
information, check your OCSP server documentation.
Note OCSP multiple response handling: Support has been enabled for handling of multiple OCSP single
responses from an OCSP responder in a response packet. In addition to the debug log messages the following
debug log message will be displayed:
CRYPTO_PKI: Number of single Responses in OCSP response:1(this value can change depending upon the
number of responses).
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
666
Configuring Authorization and Revocation of Certificates in a PKI
Ignore Revocation Checks Using a Certificate-Based ACL
Note If Network Time Protocol (NTP) is available only via the IPSec connection (usually via the hub in a
hub-and-spoke configuration), the router clock can never be set. The tunnel to the hub cannot be “brought
up” because the certificate of the hub is not yet valid.
• “Expired” is a generic term for a certificate that is expired or that is not yet valid. The certificate has a
start and end time. An expired certificate, for purposes of the ACL, is one for which the current time of
the router is outside the start and end times specified in the certificate.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
667
Configuring Authorization and Revocation of Certificates in a PKI
PKI Certificate Chain Validation
Note If the AAA server is available only via an IPSec connection, the AAA server cannot be contacted until after
the IPSec connection is established. The IPSec connection cannot be “brought up” because the certificate of
the AAA server is not yet valid.
Note If the trustpoint is configured to require parent validation and the peer does not provide the full certificate
chain, the gap cannot be completed and the certificate chain is rejected and invalid.
Note It is a configuration error if the trustpoint is configured to require parent validation and there is no parent
trustpoint configured. The resulting certificate chain gap cannot be completed and the subordinate CA certificate
cannot be validated. The certificate chain is invalid.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
668
Configuring Authorization and Revocation of Certificates in a PKI
How to Configure Authorization and Revocation of Certificates in a PKI
Note The following restrictions should be considered when using the all keyword as the subject name for the
authorization username command:
• Some AAA servers limit the length of the username (for example, to 64 characters). As a result, the entire
certificate subject name cannot be longer than the limitation of the server.
• Some AAA servers limit the available character set that may be used for the username (for example, a
space [ ] and an equal sign [=] may not be acceptable). You cannot use the all keyword for a AAA server
having such a character-set limitation.
• The subject-name command in the trustpoint configuration may not always be the final AAA subject
name. If the fully qualified domain name (FQDN), serial number, or IP address of the router are included
in a certificate request, the subject name field of the issued certificate will also have these components.
To turn off the components, use the fqdn, serial-number, and ip-address commands with the none
keyword.
• CA servers sometimes change the requested subject name field when they issue a certificate. For example,
CA servers of some vendors switch the relative distinguished names (RDNs) in the requested subject
names to the following order: CN, OU, O, L, ST, and C. However, another CA server might append the
configured LDAP directory root (for example, O=cisco.com) to the end of the requested subject name.
• Depending on the tools you choose for displaying a certificate, the printed order of the RDNs in the
subject name could be different. Cisco IOS software always displays the least significant RDN first, but
other software, such as Open Source Secure Socket Layer (OpenSSL), does the opposite. Therefore, if
you are configuring a AAA server with a full distinguished name (DN) (subject name) as the corresponding
username, ensure that the Cisco IOS software style (that is, with the least significant RDN first) is used.
Procedure
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
669
Configuring Authorization and Revocation of Certificates in a PKI
Configuring PKI Integration with a AAA Server
Step 5 crypto pki trustpoint name Declares the trustpoint and a given name and
enters ca-trustpoint configuration mode.
Example:
Device(config)# crypto pki trustpoint
msca
Step 6 enrollment [mode] [retry period minutes] Specifies the following enrollment parameters
[retry count number] url url [pem] of the CA:
Example: • (Optional) The mode keyword specifies
Device(ca-trustpoint)# enrollment url the registration authority (RA) mode, if
http://caserver.myexample.com your CA system provides an RA. By
default, RA mode is disabled.
- or-
Device(ca-trustpoint)# enrollment url • (Optional) The retry period keyword and
http://[2001:DB8:1:1::1]:80 minutes argument specifies the period, in
minutes, in which the router waits before
sending the CA another certificate
request. Valid values are from 1 to 60.
The default is 1.
• (Optional) The retry count keyword and
number argument specifies the number
of times a router will resend a certificate
request when it does not receive a
response from the previous request. Valid
values are from 1 to 100. The default is
10.
• The url argument is the URL of the CA
to which your router should send
certificate requests.
Note An IPv6 address can be
added to the http:
enrollment method. For
example:
http://[ipv6-address]:80.
The IPv6 address must be
enclosed in brackets in the
URL.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
670
Configuring Authorization and Revocation of Certificates in a PKI
Configuring PKI Integration with a AAA Server
Step 9 authorization username subjectname Sets parameters for the different certificate
subjectname fields that are used to build the AAA username.
Example: The subjectname argument can be any of the
Device(config)# authorization username following:
subjectname serialnumber
• all: Entire distinguished name (subject
name) of the certificate.
• commonname: Certification common
name.
• country: Certificate country.
• email: Certificate e-mail.
• ipaddress: Certificate IP address.
• locality: Certificate locality.
• organization: Certificate organization.
• organizationalunit: Certificate
organizational unit.
• postalcode: Certificate postal code.
• serialnumber: Certificate serial number.
• state: Certificate state field.
• streetaddress: Certificate street address.
• title: Certificate title.
• unstructuredname: Certificate
unstructured name.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
671
Configuring Authorization and Revocation of Certificates in a PKI
Troubleshooting Tips
Step 12 address {ipv4 | ipv6} ip-address Configures the IP address for the TACACS
server.
Example:
Device(config-server-tacacs)# address
ipv4 192.0.2.2
Example:
Troubleshooting Tips
To display debug messages for the trace of interaction (message type) between the CA and the router, use the
debug crypto pki transactionscommand. (See the sample output, which shows a successful PKI integration
with AAA server exchange and a failed PKI integration with AAA server exchange.)
Successful Exchange
Each line that shows “CRYPTO_PKI_AAA” indicates the state of the AAA authorization checks. Each of
the AAA AV pairs is indicated, and then the results of the authorization check are shown.
Failed Exchange
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
672
Configuring Authorization and Revocation of Certificates in a PKI
Configuring a Revocation Mechanism for PKI Certificate Status Checking
Note • OCSP transports messages over HTTP, so there may be a time delay when you access the OCSP server.
• If the OCSP server depends on normal CRL processing to check revocation status, the same time delay
that affects CRLs will also apply to OCSP.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
673
Configuring Authorization and Revocation of Certificates in a PKI
Nonces and Peer Communications with OCSP Servers
Procedure
Device> enable
Step 3 crypto pki trustpoint name Declares the trustpoint and a given name and
enters ca-trustpoint configuration mode.
Example:
Step 4 ocsp url url The url argument specifies the URL of an OCSP
server so that the trustpoint can check the
Example:
certificate status. This URL overrides the URL
of the OCSP server (if one exists) in the
Device(ca-trustpoint)# ocsp url
http://ocsp-server Authority Info Access (AIA) extension of the
certificate. All certificates associated with a
- or - configured trustpoint are checked by the OCSP
server. The URL can be a hostname, IPv4
Device(ca-trustpoint)# ocsp url address, or an IPv6 address.
http://10.10.10.1:80
- or -
Device(ca-trustpoint)# revocation-check
• none —Certificate checking is ignored.
ocsp none
• ocsp —Certificate checking is performed
by an OCSP server.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
674
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Authorization and Revocation Settings
Device(ca-trustpoint)# end
Step 8 show crypto pki certificates (Optional) Displays information about your
certificates.
Example:
Step 9 show crypto pki trustpoints [status | label Displays information about the trustpoint
[status]] configured in router.
Example:
Note Certificate maps are checked even if the peer’s public key is cached. For example, when the public key is
cached by the peer, and a certificate map is added to the trustpoint to ban a certificate, the certificate map is
effective. This prevents a client with the banned certificate, which was once connected in the past, from
reconnecting.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
675
Configuring Authorization and Revocation of Certificates in a PKI
Manually Overriding CDPs in a Certificate
Note Only one OCSP server can be specified per client certificate.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
676
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
• The PKI and AAA server integration must be successfully completed to use AAA attributes as described
in “PKI and AAA Server Integration for Certificate Status.”
Procedure
Device> enable
Step 3 crypto pki certificate map label Defines values in a certificate that should be
sequence-number matched or not matched and enters
ca-certificate-map configuration mode.
Example:
Step 4 field-name match-criteria match-value Specifies one or more certificate fields together
with their matching criteria and the value to
Example:
match.
Device(ca-certificate-map)# subject-name The field-name is one of the following
co MyExample case-insensitive name strings or a date:
• alt-subject-name
• expires-on
• issuer-name
• name
• serial-number
• subject-name
• unstructured-subject-name
• valid-start
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
677
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
Device(ca-certificate-map)# exit
Step 6 crypto pki trustpoint name Declares the trustpoint, given name and enters
ca-trustpoint configuration mode.
Example:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
678
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
679
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
Device(ca-trustpoint)# exit
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
680
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
Step 13 aaa attribute list list-name (Optional) Defines an AAA attribute list
locally on a router and enters config-attr-list
Example:
configuration mode.
Device(config)# aaa attribute list crl
Step 14 attribute type {name}{value} (Optional) Defines an AAA attribute type that
is to be added to an AAA attribute list locally
Example:
on a router.
Device(config-attr-list)# attribute type To configure certificate serial number session
cert-serial-not 6C4A control, an administrator may specify a specific
certificate in the value field to be accepted or
rejected based on its serial number where name
is set to cert-serial-not. If the serial number
of the certificate matches the serial number
specified by the attribute type setting, the
certificate will be rejected.
For a full list of available AAA attribute types,
execute the show aaa attributes command.
Device(ca-trustpoint)# end
Example:
Device(config-attr-list)# end
Step 16 show crypto pki certificates (Optional) Displays the components of the
certificates installed on the router if the CA
Example:
certificate has been authenticated.
Device# show crypto pki certificates
Example
The following is a sample certificate. The OCSP-related extensions are shown using exclamation
points.
Certificate:
Data:
Version: v3
Serial Number:0x14
Signature Algorithm:SHAwithRSA - 1.2.840.113549.1.1.4
Issuer:CN=CA server,OU=PKI,O=Cisco Systems
Validity:
Not Before:Thursday, August 8, 2002 4:38:05 PM PST
Not After:Tuesday, August 7, 2003 4:38:05 PM PST
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
681
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Serial Number Session Control
The following example shows an excerpt of the running configuration output when adding a match
certificate override ocsp command to the beginning of an existing sequence:
The following example shows an excerpt of the running configuration output when an existing match
certificate override ocsp command is replaced and a trustpoint is specified to use an alternative PKI
hierarchy:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
682
Configuring Authorization and Revocation of Certificates in a PKI
Troubleshooting Tips
Troubleshooting Tips
If you ignored revocation check or expired certificates, you should carefully check your configuration. Verify
that the certificate map properly matches either the certificate or certificates that should be allowed or the
AAA checks that should be skipped. In a controlled environment, try modifying the certificate map and
determine what is not working as expected.
Note • A trustpoint associated with the root CA cannot be configured to be validated to the next level.
The chain-validation command is configured with the continue keyword for the trustpoint associated with
the root CA, an error message will be displayed and the chain validation will revert to the default
chain-validationcommand setting.
Procedure
Device> enable
Step 3 crypto pki trustpointname Declares the trustpoint and a given name and
enters ca-trustpoint configuration mode.
Example:
Step 4 chain-validation [{stop | continue} Configures the level to which a certificate chain
[parent-trustpoint]] is processed on all certificates including
subordinate CA certificates.
Example:
• Use the stopkeyword to specify that the
Device(ca-trustpoint)# chain-validation certificate is already trusted. This is the
continue ca-sub1 default setting.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
683
Configuring Authorization and Revocation of Certificates in a PKI
Configuration Examples for Authorization and Revocation of Certificates in a PKI
Device(ca-trustpoint)# exit
Device#show running-config
Building configuration...
!
version 16.8
!
hostname catxxxx
!
aaa new-model
!
!
aaa authentication login default group tacacs+
aaa authentication login no_tacacs enable
aaa authentication ppp default group tacacs+
aaa authorization exec ACSLab group tacacs+
aaa authorization network ACSLab group tacacs+
aaa accounting exec ACSLab start-stop group tacacs+
aaa accounting network default start-stop group ACSLab
aaa session-id common
!
ip domain name example.com
!
crypto pki trustpoint EM-CERT-SERV
enrollment url http://192.0.2.33:80
serial-number
crl optional
rsakeypair STOREVPN 2048
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
684
Configuring Authorization and Revocation of Certificates in a PKI
Example: Device Configuration
auto-enroll
authorization list ACSLab
!
crypto pki certificate chain EM-CERT-SERV
certificate 04
30820214 3082017D A0030201 02020104 300D0609 2A864886 F70D0101 04050030
17311530 13060355 0403130C 454D2D43 4552542D 53455256 301E170D 30343031
31393232 30323535 5A170D30 35303131 38323230 3235355A 3030312E 300E0603
55040513 07314437 45424434 301C0609 2A864886 F70D0109 02160F37 3230302D
312E6772 696C2E63 6F6D3081 9F300D06 092A8648 86F70D01 01010500 03818D00
30818902 818100BD F3B837AA D925F391 2B64DA14 9C2EA031 5A7203C4 92F8D6A8
7D2357A6 BCC8596F A38A9B10 47435626 D59A8F2A 123195BB BE5A1E74 B1AA5AE0
5CA162FF 8C3ACA4F B3EE9F27 8B031642 B618AE1B 40F2E3B4 F996BEFE 382C7283
3792A369 236F8561 8748AA3F BC41F012 B859BD9C DB4F75EE 3CEE2829 704BD68F
FD904043 0F555702 03010001 A3573055 30250603 551D1F04 1E301C30 1AA018A0
16861468 7474703A 2F2F3633 2E323437 2E313037 2E393330 0B060355 1D0F0404
030205A0 301F0603 551D2304 18301680 1420FC4B CF0B1C56 F5BD4C06 0AFD4E67
341AE612 D1300D06 092A8648 86F70D01 01040500 03818100 79E97018 FB955108
12F42A56 2A6384BC AC8E22FE F1D6187F DA5D6737 C0E241AC AAAEC75D 3C743F59
08DEEFF2 0E813A73 D79E0FA9 D62DC20D 8E2798CD 2C1DC3EC 3B2505A1 3897330C
15A60D5A 8A13F06D 51043D37 E56E45DF A65F43D7 4E836093 9689784D C45FD61D
EC1F160C 1ABC8D03 49FB11B1 DA0BED6C 463E1090 F34C59E4
quit
certificate ca 01
30820207 30820170 A0030201 02020101 300D0609 2A864886 F70D0101 04050030
17311530 13060355 0403130C 454D2D43 4552542D 53455256 301E170D 30333132
31363231 34373432 5A170D30 36313231 35323134 3734325A 30173115 30130603
55040313 0C454D2D 43455254 2D534552 5630819F 300D0609 2A864886 F70D0101
01050003 818D0030 81890281 8100C14D 833641CF D784F516 DA6B50C0 7B3CB3C9
589223AB 99A7DC14 04F74EF2 AAEEE8F5 E3BFAE97 F2F980F7 D889E6A1 2C726C69
54A29870 7E7363FF 3CD1F991 F5A37CFF 3FFDD3D0 9E486C44 A2E34595 C2D078BB
E9DE981E B733B868 AA8916C0 A8048607 D34B83C0 64BDC101 161FC103 13C06500
22D6EE75 7D6CF133 7F1B515F 32830203 010001A3 63306130 0F060355 1D130101
FF040530 030101FF 300E0603 551D0F01 01FF0404 03020186 301D0603 551D0E04
16041420 FC4BCF0B 1C56F5BD 4C060AFD 4E67341A E612D130 1F060355 1D230418
30168014 20FC4BCF 0B1C56F5 BD4C060A FD4E6734 1AE612D1 300D0609 2A864886
F70D0101 04050003 81810085 D2E386F5 4107116B AD3AC990 CBE84063 5FB2A6B5
BD572026 528E92ED 02F3A0AE 1803F2AE AA4C0ED2 0F59F18D 7B50264F 30442C41
0AF19C4E 70BD3CB5 0ADD8DE8 8EF636BD 24410DF4 DB62DAFC 67DA6E58 3879AA3E
12AFB1C3 2E27CB27 EC74E1FC AEE2F5CF AA80B439 615AA8D5 6D6DEDC3 7F9C2C79
3963E363 F2989FB9 795BA8
quit
!
!
crypto isakmp policy 10
encr aes
group 14
!
!
crypto ipsec transform-set ISC_TS_1 esp-aes esp-sha-hmac
!
crypto ipsec profile ISC_IPSEC_PROFILE_2
set security-association lifetime kilobytes 530000000
set security-association lifetime seconds 14400
set transform-set ISC_TS_1
!
!
controller ISA 1/1
!
!
interface Tunnel0
description MGRE Interface provisioned by ISC
bandwidth 10000
ip address 192.0.2.172 255.255.255.0
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
685
Configuring Authorization and Revocation of Certificates in a PKI
Example: Debug of a Successful PKI AAA Authorization
no ip redirects
ip mtu 1408
ip nhrp map multicast dynamic
ip nhrp network-id 101
ip nhrp holdtime 500
ip nhrp server-only
no ip split-horizon eigrp 101
tunnel source FastEthernet2/1
tunnel mode gre multipoint
tunnel key 101
tunnel protection ipsec profile ISC_IPSEC_PROFILE_2
!
interface FastEthernet2/0
ip address 192.0.2.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet2/1
ip address 192.0.2.2 255.255.255.0
duplex auto
speed auto
!
!
end
Device#show debugging
General OS:
TACACS access control debugging is on
AAA Authentication debugging is on
AAA Authorization debugging is on
Cryptographic Subsystem:
Crypto PKI Trans debugging is on
Device#
May 28 19:36:11.117: CRYPTO_PKI: Trust-Point EM-CERT-SERV picked up
May 28 19:36:12.789: CRYPTO_PKI: Found a issuer match
May 28 19:36:12.805: CRYPTO_PKI: cert revocation status unknown.
May 28 19:36:12.805: CRYPTO_PKI: Certificate validated without revocation check
May 28 19:36:12.813: CRYPTO_PKI_AAA: checking AAA authorization (ACSLab, POD5.example.com,
<all>)
May 28 19:36:12.813: AAA/BIND(00000042): Bind i/f
May 28 19:36:12.813: AAA/AUTHOR (0x42): Pick method list 'ACSLab'
May 28 19:36:12.813: TPLUS: Queuing AAA Authorization request 66 for processing
May 28 19:36:12.813: TPLUS: processing authorization request id 66
May 28 19:36:12.813: TPLUS: Protocol set to None .....Skipping
May 28 19:36:12.813: TPLUS: Sending AV service=pki
May 28 19:36:12.813: TPLUS: Authorization request created for 66(POD5.example.com)
May 28 19:36:12.813: TPLUS: Using server 192.0.2.55
May 28 19:36:12.813: TPLUS(00000042)/0/NB_WAIT/203A4628: Started 5 sec timeout
May 28 19:36:12.813: TPLUS(00000042)/0/NB_WAIT: wrote entire 46 bytes request
May 28 19:36:12.813: TPLUS: Would block while reading pak header
May 28 19:36:12.817: TPLUS(00000042)/0/READ: read entire 12 header bytes (expect 27 bytes)
May 28 19:36:12.817: TPLUS(00000042)/0/READ: read entire 39 bytes response
May 28 19:36:12.817: TPLUS(00000042)/0/203A4628: Processing the reply packet
May 28 19:36:12.817: TPLUS: Processed AV cert-application=all
May 28 19:36:12.817: TPLUS: received authorization response for 66: PASS
May 28 19:36:12.817: CRYPTO_PKI_AAA: reply attribute ("cert-application" = "all")
May 28 19:36:12.817: CRYPTO_PKI_AAA: authorization passed
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
686
Configuring Authorization and Revocation of Certificates in a PKI
Example:Debug of a Failed PKI AAA Authorization
Device#
May 28 19:36:18.681: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 101: Neighbor 192.0.2.171 (Tunnel0) is
up: new adjacency
Device#
Device# show crypto isakmp sa
Device#show debugging
General OS:
TACACS access control debugging is on
AAA Authentication debugging is on
AAA Authorization debugging is on
Cryptographic Subsystem:
Crypto PKI Trans debugging is on
Device#
May 28 19:48:29.837: CRYPTO_PKI: Trust-Point EM-CERT-SERV picked up
May 28 19:48:31.509: CRYPTO_PKI: Found a issuer match
May 28 19:48:31.525: CRYPTO_PKI: cert revocation status unknown.
May 28 19:48:31.525: CRYPTO_PKI: Certificate validated without revocation check
May 28 19:48:31.533: CRYPTO_PKI_AAA: checking AAA authorization (ACSLab, POD5.example.com,
<all>)
May 28 19:48:31.533: AAA/BIND(00000044): Bind i/f
May 28 19:48:31.533: AAA/AUTHOR (0x44): Pick method list 'ACSLab'
May 28 19:48:31.533: TPLUS: Queuing AAA Authorization request 68 for processing
May 28 19:48:31.533: TPLUS: processing authorization request id 68
May 28 19:48:31.533: TPLUS: Protocol set to None .....Skipping
May 28 19:48:31.533: TPLUS: Sending AV service=pki
May 28 19:48:31.533: TPLUS: Authorization request created for 68(POD5.example.com)
May 28 19:48:31.533: TPLUS: Using server 192.0.2.55
May 28 19:48:31.533: TPLUS(00000044)/0/NB_WAIT/203A4C50: Started 5 sec timeout
May 28 19:48:31.533: TPLUS(00000044)/0/NB_WAIT: wrote entire 46 bytes request
May 28 19:48:31.533: TPLUS: Would block while reading pak header
May 28 19:48:31.537: TPLUS(00000044)/0/READ: read entire 12 header bytes (expect 6 bytes)
May 28 19:48:31.537: TPLUS(00000044)/0/READ: read entire 18 bytes response
May 28 19:48:31.537: TPLUS(00000044)/0/203A4C50: Processing the reply packet
May 28 19:48:31.537: TPLUS: received authorization response for 68: FAIL
May 28 19:48:31.537: CRYPTO_PKI_AAA: authorization declined by AAA, or AAA server not found.
May 28 19:48:31.537: CRYPTO_PKI_AAA: No cert-application attribute found. Failing.
May 28 19:48:31.537: CRYPTO_PKI_AAA: authorization failed
May 28 19:48:31.537: CRYPTO_PKI: AAA authorization for list 'ACSLab', and user
'POD5.example.com' failed.
May 28 19:48:31.537: %CRYPTO-5-IKMP_INVAL_CERT: Certificate received from 192.0.2.162 is
bad: certificate invalid
May 28 19:48:39.821: CRYPTO_PKI: Trust-Point EM-CERT-SERV picked up
May 28 19:48:41.481: CRYPTO_PKI: Found a issuer match
May 28 19:48:41.501: CRYPTO_PKI: cert revocation status unknown.
May 28 19:48:41.501: CRYPTO_PKI: Certificate validated without revocation check
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
687
Configuring Authorization and Revocation of Certificates in a PKI
Examples: Configuring a Revocation Mechanism
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
688
Configuring Authorization and Revocation of Certificates in a PKI
Example: Specifying an OCSP Server
Certificate
Status: Available
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
689
Configuring Authorization and Revocation of Certificates in a PKI
Example:Configuring a Hub Device at a Central Site for Certificate Revocation Checks
Device> enable
Device# configure terminal
Device(ca-trustpoint)# crypto pki trustpoint home-office
Device(ca-trustpoint)# enrollment url http://ca.home-office.com:80/certsrv/mscep/mscep.dll
Device(ca-trustpoint)# serial-number none
Device(ca-trustpoint)# fqdn none
Device(ca-trustpoint)# ip-address none
Device(ca-trustpoint)# subject-name o=Home Office Inc,cn=Branch 1
Device(ca-trustpoint)# revocation-check crl
Device(ca-trustpoint)# end
The output from the show certificate command on the central site hub device shows that the certificate was
issued by the following:
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
690
Configuring Authorization and Revocation of Certificates in a PKI
Example:Configuring a Hub Device at a Central Site for Certificate Revocation Checks
These two lines are combined into one line using a comma (,) to separate them, and the original lines are
added as the first criteria for a match.
The same combination is done for the subject name from the certificate on the central site device (note that
the line that begins with “Name:” is not part of the subject name and must be ignored when creating the
certificate map criteria). This is the subject name to be used in the certificate map.
cn=Central VPN Gateway
o=Home Office Inc
Now the certificate map is added to the trustpoint that was configured earlier.
Device> enable
Device# configure terminal
Device(ca-certificate-map)# crypto pki trustpoint home-office
Device(ca-trustpoint)# match certificate central-site skip revocation-check
Device(ca-trustpoint)# end
Note that the issuer-name and subject-name lines have been reformatted to make them consistent for later
matching with the certificate of the peer.
If the branch office is checking the AAA, the trustpoint will have lines similar to the following:
Device> enable
Device# configure terminal
Device(config)# crypto pki trustpoint home-office
Device(ca-trustpoint)# authorization list allow_list
Device(ca-trustpoint)# authorization username subjectname commonname
Device(ca-trustpoint)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
691
Configuring Authorization and Revocation of Certificates in a PKI
Example:Configuring a Hub Device at a Central Site for Certificate Revocation Checks
After the certificate map has been defined as was done above, the following command is added to the trustpoint
to skip AAA checking for the central site hub.
In both cases, the branch site device has to establish an IPSec tunnel to the central site to check CRLs or to
contact the AAA server. However, without the match certificatecommand and central-site skip
authorization-check (argument and keyword), the branch office cannot establish the tunnel until it has
checked the CRL or the AAA server. (The tunnel will not be established unless the match certificatecommand
and central-site skip authorization-check argument and keyword are used.)
The match certificate command and allow expired-certificate keyword would be used at the central site if
the device at a branch site had an expired certificate and it had to establish a tunnel to the central site to renew
its certificate.
Certificate
Status: Available
Certificate Serial Number: 2F62BE14000000000CA0
Certificate Usage: General Purpose
Issuer:
cn=Central Certificate Authority
o=Home Office Inc
Subject:
Name: Branch 1 Site
cn=Branch 1 Site
o=Home Office Inc
CRL Distribution Points:
http://ca.home-office.com/CertEnroll/home-office.crl
Validity Date:
start date: 00:43:26 GMT Sep 26 2003
end date: 00:53:26 GMT Oct 3 2003
renew date: 00:00:00 GMT Jan 1 1970
Associated Trustpoints: home-office
CA Certificate
Status: Available
Certificate Serial Number: 1244325DE0369880465F977A18F61CA8
Certificate Usage: Signature
Issuer:
cn=Central Certificate Authority
o=Home Office Inc
Subject:
cn=Central Certificate Authority
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
692
Configuring Authorization and Revocation of Certificates in a PKI
Examples:Configuring Certificate Authorization and Revocation Settings
The match certificatecommand and branch1 allow expired-certificate (argument and keyword) and the
certificate map should be removed as soon as the branch device has a new certificate.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
693
Configuring Authorization and Revocation of Certificates in a PKI
Example: Configuring CRL Cache Control
The current CRL is still cached immediately after executing the example configuration shown above:
Device# show crypto pki crls
When the current CRL expires, a new CRL is then downloaded to the router at the next update. The crl-cache
nonecommand takes effect and all CRLs for the trustpoint are no longer cached; caching is disabled. You can
verify that no CRL is cached by executing the show crypto pki crls command. No output will be shown
because there are no CRLs cached.
The following example shows how to configure the maximum lifetime of 2 minutes for all CRLs associated
with the CA1 trustpoint:
Device> enable
Device# configure terminal
Device(config)# crypto pki trustpoint CA1
Device(ca-trustpoint)# enrollment url http://CA1:80
Device(ca-trustpoint)# ip-address FastEthernet 0/0
Device(ca-trustpoint)# crl query ldap://ldap_CA1
Device(ca-trustpoint)# revocation-check crl
Device(ca-trustpoint)# crl cache delete-after 2
Device(ca-trustpoint)# end
The current CRL is still cached immediately after executing the example configuration above for setting the
maximum lifetime of a CRL:
Device# show crypto pki crls
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
694
Configuring Authorization and Revocation of Certificates in a PKI
Example: Configuring Certificate Serial Number Session Control
Note If the match-criteria value is set to eq (equal) instead of co (contains), the serial number must match the
certificate map serial number exactly, including any spaces.
The following example shows the configuration of certificate serial number session control using AAA
attributes. In this case, all valid certificates will be accepted if the certificate does not have the serial number
“4ACA.”
Device> enable
Device# configure terminal
Device(config)# crypto pki trustpoint CA1
Device(ca-trustpoint)# enrollment url http://CA1
Device(ca-trustpoint)# ip-address FastEthernet0/0
Device(ca-trustpoint)# crl query ldap://ldap_CA1
Device(ca-trustpoint)# revocation-check crl
Device(ca-trustpoint)# exit
Device(config)# aaa new-model
Device(config)# aaa attribute list crl
Device(config-attr-list)# attribute-type aaa-cert-serial-not 4ACA
Device(config-attr-list)# end
The server log shows that the certificate with the serial number “4ACA” was rejected. The certificate rejection
is shown using exclamation points.
.
.
.
Dec 3 04:24:39.051: CRYPTO_PKI: Trust-Point CA1 picked up
Dec 3 04:24:39.051: CRYPTO_PKI: locked trustpoint CA1, refcount is 1
Dec 3 04:24:39.051: CRYPTO_PKI: unlocked trustpoint CA1, refcount is 0
Dec 3 04:24:39.051: CRYPTO_PKI: locked trustpoint CA1, refcount is 1
Dec 3 04:24:39.135: CRYPTO_PKI: validation path has 1 certs
Dec 3 04:24:39.135: CRYPTO_PKI: Found a issuer match
Dec 3 04:24:39.135: CRYPTO_PKI: Using CA1 to validate certificate
Dec 3 04:24:39.135: CRYPTO_PKI: Certificate validated without revocation check
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
695
Configuring Authorization and Revocation of Certificates in a PKI
Examples: Configuring Certificate Chain Validation
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
696
Configuring Authorization and Revocation of Certificates in a PKI
Configuring Certificate Chain Validation from Peer to Subordinate CA
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
697
Configuring Authorization and Revocation of Certificates in a PKI
Additional References for Authorization and Revocation of Certificates in a PKI
Description Link
Cisco IOS XE Authorization and Certificates contain several fields that are used to determine
Fuji 16.8.1a Revocation of whether a device or user is authorized to perform a specified
Certificates in a PKI action. Certificate-based ACLs also help determine when PKI
components such as revocation, authorization, or a trustpoint
should be used.
Support for this feature was introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of the
Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
698
CHAPTER 35
Source Interface Selection for Outgoing Traffic
with Certificate Authority
The Source Interface Selection for Outgoing Traffic with Certificate Authority feature allows the IP address
of an interface to be specified and used as the source address for all outgoing TCP connections associated
with that trustpoint when a designated trustpoint has been configured.
• Information About Source Interface Selection for Outgoing Traffic with Certificate Authority, on page
699
• How to Configure Source Interface Selection for Outgoing Traffic with Certificate Authority, on page
700
• Configuration Examples for Source Interface Selection for Outgoing Traffic with Certificate Authority,
on page 702
• Feature History for Source Interface Selection for Outgoing Traffic with Certificate Authority, on page
703
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
699
Source Interface Selection for Outgoing Traffic with Certificate Authority
Source Interface for Outgoing TCP Connections Associated with a Trustpoint
Note If the interface address is not specified using the source interfacecommand, the address of the outgoing
interface is used.
Procedure
Device> enable
Step 3 crypto ca trustpoint name Declares the Certificate Authority (CA) that
your device should use and enters ca-trustpoint
Example:
configuration mode.
Device(config)# crypto ca trustpoint
ms-ca
Step 4 enrollment [mode] [retry period minutes] Specifies the following enrollment parameters
[retry count number] url url [pem] of the CA:
Example: • (Optional) The mode keyword specifies
the registration authority (RA) mode, if
Device(ca-trustpoint)# enrollment url your CA system provides an RA. By
http://caserver.myexample.com default, RA mode is disabled.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
700
Source Interface Selection for Outgoing Traffic with Certificate Authority
Configuring the Interface for All Outgoing TCP Connections Associated with a Trustpoint
Step 5 source interface interface-address Interface to be used as the source address for
all outgoing TCP connections associated with
Example:
that trustpoint.
Device(ca-trustpoint)# source interface
gigabitethernet 0/1/0
Device(ca-trustpoint)# exit
Step 7 interface type slot / port Configures an interface type and enters
interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/0/1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
701
Source Interface Selection for Outgoing Traffic with Certificate Authority
Configuration Examples for Source Interface Selection for Outgoing Traffic with Certificate Authority
Device(config-if)# exit
Device(config-if)# interface
gigabitethernet 1/0/2
Step 14 crypto map map-name Applies a previously defined crypto map set
to an interface and enters crypto map
Example:
configuration mode.
Device(config-if)# crypto map mymap
Device(config-crypto-map)# end
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
702
Source Interface Selection for Outgoing Traffic with Certificate Authority
Feature History for Source Interface Selection for Outgoing Traffic with Certificate Authority
0/1/0 is the interface connected to the LAN of the branch office. To access the CA server located in the main
office, the device must send its IP datagrams out interface Ethernet 1 (address 10.2.2.205) using the IPSec
tunnel. Address 10.2.2.205 is assigned by the ISP. Address 10.2.2.205 is not a part of the branch office or
main office.
The CA cannot access any address outside the company because of a firewall. The CA sees a message coming
from 10.2.2.205 and cannot respond (that is, the CA does not know that the device is located in a branch office
at address 10.1.1.1, which it is able to reach).
Adding the source interface command tells the device to use address 10.1.1.1 as the source address of the
IP datagram that it sends to the CA. The CA is able to respond to 10.1.1.1.
This scenario is configured using the source interface command and the interface addresses as described
above.
Device> enable
Device# configure terminal
Device(config)# crypto ca trustpoint ms-ca
Device(ca-trustpoint)# enrollment url http://ms-ca:80/certsrv/mscep/mscep.dll
Device(ca-trustpoint)# source interface gigabitethernet 0/1/0
Device(ca-trustpoint)# exit
Device(onfig)# interface gigabitethernet 0/1/0
Device(config-if)# description inside interface
Device(config-if)# ip address 10.1.1.1 255.255.255.0
Device(config-if)# exit
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# description outside interface
Device(config-if)# ip address 10.2.2.205 255.255.255.0
Device(config-if)# crypto map main-office
Device(config-if)# end
Cisco IOS XE Source Interface Selection The Source Interface Selection for Outgoing Traffic with
Fuji 16.8.1a for Outgoing Traffic with Certificate Authority feature allows you to specify that the
Certificate Authority address of an interface be used as the source address for all
outgoing TCP connections associated with that trustpoint when
a designated trustpoint has been configured.
Support for this feature was introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of
the Cisco Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
703
Source Interface Selection for Outgoing Traffic with Certificate Authority
Feature History for Source Interface Selection for Outgoing Traffic with Certificate Authority
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
704
CHAPTER 36
Source Interface and VRF Support in LDAP
The Source Interface and VRF Support in LDAP feature allows you to configure a dedicated LDAP source
interface IP address and virtual routing and forwarding (VRF) details on Cisco Integrated Services Routers
(ISR) Generation 2. The source interface address (the address can be an IPv4 or IPv6 address) and VRF details
are populated while creating a TCP connection between the Cisco ISR Generation 2 and the LDAP server.
This module describes how to configure this feature.
• Information About Source Interface and VRF Support in LDAP, on page 705
• How to Configure Source Interface and VRF Support in LDAP, on page 706
• Configuration Examples for Source Interface and VRF Support in LDAP, on page 707
• Feature History for Source Interface and VRF Support in LDAP, on page 707
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
705
Source Interface and VRF Support in LDAP
How to Configure Source Interface and VRF Support in LDAP
Procedure
Step 4 aaa group server ldap group-name Groups different Lightweight Directory Access
Protocol (LDAP) servers into distinct lists and
Example:
methods and enters LDAP server-group
Device(config)# aaa group server ldap configuration mode.
ldap-server-group
Step 5 {ip | ipv6} ldap source-interface Specifies the source interface IP address in the
interface-type interface-number LDAP packets.
Example:
Device(config-ldap-sg)# ip ldap
source-interface gigabitethernet 0/0/0
Step 6 {ip | ipv6} vrf forwarding vrf-name Configures a VRF reference of a AAA LDAP
server group.
Example:
Device(config-ldap-sg)# ip vrf
forwarding cws-vrf
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
706
Source Interface and VRF Support in LDAP
Configuration Examples for Source Interface and VRF Support in LDAP
Step 9 {ip | ipv6} ldap source-interface Specifies the source interface IP address in the
interface-type interface-number [vrf vrf-name] LDAP packets.
Example:
Device(config)# ip ldap source-interface
gigabitethernet 0/1/0 vrf cws-vrf-1
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
707
Source Interface and VRF Support in LDAP
Feature History for Source Interface and VRF Support in LDAP
Cisco IOS XE Everest Source Interface The source interface, which can be an IPv4 or IPv6 interface,
16.5.1a and VRF and virtual routing and forwarding (VRF) details are populated
Support in while creating a TCP connection between a Cisco device and
LDAP the LDAP server.
Support for this feature was introduced on all the models of the
Cisco Catalyst 9500 Series Switches.
Cisco IOS XE Fuji Source Interface Support for this feature was introduced on the C9500-32C,
16.8.1a and VRF C9500-32QC, C9500-48Y4C, and C9500-24Y4C models of the
Support in Cisco Catalyst 9500 Series Switches.
LDAP
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
708
CHAPTER 37
Configuring IPv6 Support for LDAP
• Restrictions for Configuring IPv6 Support for LDAP, on page 709
• Information About Configuring IPv6 Support for LDAP, on page 709
• LDAP Operations, on page 710
• How to Configure IPv6 Support for LDAP, on page 711
• Configuration Examples of IPv6 Support for LDAP, on page 716
• Additional References, on page 717
• Feature History for IPv6 Support for LDAP, on page 717
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
709
Configuring IPv6 Support for LDAP
LDAP Operations
LDAP Operations
Bind
The bind operation is used to authenticate a user to the server. It is used to start a connection with the LDAP
server. LDAP is a connection-oriented protocol. The client specifies the protocol version and the client
authentication information. LDAP supports the following binds:
• Authenticated bind
• Anonymous bind
An authenticated bind is performed when a root distinguished name (DN) and password are available. In the
absence of a root DN and password, an anonymous bind is performed. In LDAP deployments, the search
operation is performed first and the bind operation later. This is because, if a password attribute is returned
as part of the search operation, the password verification can be done locally on an LDAP client. Thus, there
is no need to perform an extra bind operation. If a password attribute is not returned, the bind operation can
be performed later. Another advantage of performing a search operation first and a bind operation later is that
the DN received in the search result can be used as the user DN instead of forming a DN by prefixing the
username (cn attribute) with the base DN. All entries stored in an LDAP server have a unique DN. The DN
consists of two parts: the Relative Distinguished Name (RDN) and the location within the LDAP server where
the record resides.
Most of the entries that you store in an LDAP server will have a name, and the name is frequently stored in
the Common Name (cn) attribute. Because every object has a name, most objects you store in an LDAP will
use their cn value as the basis for their RDN.
Compare
The compare operation is used to replace a bind request with a compare request for an authentication. The
compare operation helps to maintain the initial bind parameters for the connection.
Search
A search operation is used to search the LDAP server. The client specifies the starting point (base DN) of the
search, the search scope (either the object, its children, or the subtree rooted at the object), and a search filter.
For authorization requests, the search operation is directly performed without a bind operation. The LDAP
server can be configured with certain privileges for the search operation to succeed. This privilege level is
established with the bind operation.
An LDAP search operation can return multiple user entries for a specific user. In such cases, the LDAP client
returns an appropriate error code to AAA. To avoid these errors, appropriate search filters that help to match
a single entry must be configured.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
710
Configuring IPv6 Support for LDAP
How to Configure IPv6 Support for LDAP
Procedure
Device> enable
Device(config-ldap-server)# ipv6
2001:DB8:0:0:8:800
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
711
Configuring IPv6 Support for LDAP
Configuring LDAP Protocol Parameters
Device(config-ldap-server)# transport
port 200
Step 7 timeout retransmit seconds Specifies the number of seconds a device waits
for a reply to an LDAP request before
Example:
retransmitting the request.
Device(config-ldap-server)# timeout
retransmit 20
Device(config-ldap-server)# exit
Procedure
Device> enable
Step 5 bind authenticate root-dn password [0 string Specifies a shared secret text string used
| 7 string] string between the device and an LDAP server. Use
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
712
Configuring IPv6 Support for LDAP
Configuring Search and Bind Operations for an Authentication Request
Step 6 search-filter user-object-type string Specifies the search filter to be used in the
search requests.
Example:
Device(config-ldap-server)#
search-filter user-object-type string1
Device(config-ldap-server)# base-dn
“dc=sns,dc=example,dc=com”
Step 8 mode secure [no-negotiation] Configures LDAP to initiate the transport layer
security (TLS) connection and specifies the
Example:
secure mode.
Device(config-ldap-server)# mode secure
no-negotiation
Step 9 secure cipher 3des-ede-cbc-sha Specifies the ciphersuite in the case of a secure
connection.
Example:
Device(config-ldap-server)# secure
cipher 3des-ede-cbc-sha
Device(config-ldap-server)# exit
Procedure
Device> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
713
Configuring IPv6 Support for LDAP
Monitoring and Maintaining LDAP Scalability Enhancements
Device(config-ldap-server)#
authentication bind-first
Step 6 authentication compare Replaces the bind request with the compare
request for authentication.
Example:
Device(config-ldap-server)#
authentication compare
Device(config-ldap-server)# exit
Procedure
Step 1 enable
Example:
> enable
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
714
Configuring IPv6 Support for LDAP
Monitoring and Maintaining LDAP Scalability Enhancements
# configure terminal
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
715
Configuring IPv6 Support for LDAP
Configuration Examples of IPv6 Support for LDAP
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
716
Configuring IPv6 Support for LDAP
Example: Server Information from an LDAP Server
Additional References
Related Documents
Standard/RFC Title
RFC 4511 Lightweight Directory Access Protocol (LDAP)
RFC 4513 Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security
Mechanisms
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
717
Configuring IPv6 Support for LDAP
Feature History for IPv6 Support for LDAP
These features are available on all releases subsequent to the one they were introduced in, unless noted
otherwise.
Cisco IOS XE Fuji 16.8.1a IPv6 Support for LDAP The IPv6 Support for LDAP feature
describes IPv6 transport support for
the LDAP protocol by introducing
changes in authentication,
authorization, and accounting
(AAA) transactions.
Support for this feature was
introduced on the C9500-32C,
C9500-32QC, C9500-48Y4C, and
C9500-24Y4C models of the Cisco
Catalyst 9500 Series Switches.
Use Cisco Feature Navigator to find information about platform and software image support. To access Cisco
Feature Navigator, go to http://www.cisco.com/go/cfn.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
718
CHAPTER 38
Secure Operation in FIPS Mode
• FIPS 140-2 Overview, on page 719
• Configure FIPS 140-2, on page 720
• Key Zeroization, on page 720
• Disable FIPS Mode, on page 721
• Verify FIPS Configuration, on page 721
• Additional References for Secure Operation in FIPS Mode , on page 722
Important This document describes FIPS mode behavior for Cisco Catalyst Switches in general. For more information
on platform-specific FIPS 140-2 implementation, refer the FIPS 14-2 Security Policy document for the
platform.
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
719
Secure Operation in FIPS Mode
Configure FIPS 140-2
Procedure
Note that key is 128 bits, which is, 16 HEX byte key.
What to do next
After you enable FIPS, reboot the system to start operating in FIPS mode.
Key Zeroization
A critical FIPS requirement is the capability to zeroize keys and passwords in the event of unsafe state triggers
during FIPS mode of operation.
You can delete the FIPS authorization keys using the no fips authorization-key command in global
configuration mode. This command deletes the key from flash. A reboot takes the system out of FIPS mode
of operation.
If there is a security breach, use the fips zeroize command to delete all data including the running configuration,
Trust Anchor Module, FIPS authorization keys, all ISE Server certificates, and IOS image in flash.
The system reboots after this command is executed.
Caution FIPS zeroization is a critical step where all data is lost. Use it with caution.
Device(config)#fips zeroize
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
720
Secure Operation in FIPS Mode
Disable FIPS Mode
Device> enable
Device# config terminal
Device(config)# no fips authorization-key
Device(config)# end
Note FIPS configuration information does not appear when you list the active configuration using the show
running-config command or when you list the startup configuration using the show startup-config command.
Device#show romvar
ROMMON variables:
PS1="switch: "
BOARDID="24666"
SWITCH_NUMBER="1"
TERMLINES="0"
MOTHERBOARD_ASSEMBLY_NUM="73-18506-02"
MOTHERBOARD_REVISION_NUM="04"
MODEL_REVISION_NUM="P2A"
POE1_ASSEMBLY_NUM="73-16123-03"
POE1_REVISION_NUM="A0"
POE1_SERIAL_NUM="FOC21335EF2"
POE2_ASSEMBLY_NUM="73-16123-03"
POE2_REVISION_NUM="A0"
POE2_SERIAL_NUM="FOC21335EF3"
IMAGE_UPGRADE="no"
MAC_ADDR="F8:7B:20:77:F7:80"
MODEL_NUM="C9300-48UN"
MOTHERBOARD_SERIAL_NUM="FOC21351BC3"
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
721
Secure Operation in FIPS Mode
Additional References for Secure Operation in FIPS Mode
BAUD="9600"
SYSTEM_SERIAL_NUM="FCW2138L0AF"
USB_SERIAL_NUM="FOC213609Y5"
STKPWR_SERIAL_NUM="FOC21360HTS"
STKPWR_ASSEMBLY_NUM="73-11956-08"
STKPWR_REVISION_NUM="B0"
USB_ASSEMBLY_NUM="73-16167-02"
USB_REVISION_NUM="A0"
TAN_NUM="68-101202-01"
TAN_REVISION_NUMBER="23"
VERSION_ID="P2A"
CLEI_CODE_NUMBER="ABCDEFGHIJ"
ECI_CODE_NUMBER="123456"
TAG_ID="E20034120133FC00062B0965"
IP_SUBNET_MASK="255.255.0.0"
TEMPLATE="access"
TFTP_BLKSIZE="8192"
ENABLE_BREAK="yes"
TFTP_SERVER="10.8.0.6"
DEFAULT_GATEWAY="10.8.0.1"
IP_ADDRESS="10.8.3.33"
CRASHINFO="crashinfo:crashinfo_RP_00_00_20180420-020851-PDT"
CALL_HOME_DEBUG="0000000000000"
IP_ADDR="172.21.226.35/255.255.255.0"
DEFAULT_ROUTER="10.5.49.254"
RET_2_RTS=""
FIPS_KEY="5AC9BCA165E85D9FA3F2E5FC96AD98E8F943FBAB79B93E78"
MCP_STARTUP_TRACEFLAGS="00000000:00000000"
AUTOREBOOT_RESTORE="0"
MANUAL_BOOT="yes"
<output truncated>
Device#
Standards/RFCs Title
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
722
Secure Operation in FIPS Mode
Additional References for Secure Operation in FIPS Mode
Technical Assistance
Description Link
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
723
Secure Operation in FIPS Mode
Additional References for Secure Operation in FIPS Mode
Security Configuration Guide, Cisco IOS XE Gibraltar 16.12.x (Catalyst 9500 Switches)
724