B 1527e Security c1000 CG
B 1527e Security c1000 CG
2(7)Ex (Catalyst
1000 Switches)
First Published: 2019-12-25
Last Modified: 2022-03-10
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.
The documentation set for this product strives to use bias-free language. For purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on
age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that
is hardcoded in the user interfaces of the product software, language used based on standards documentation, or language that is used by a referenced third-party product.
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:
https://www.cisco.com/c/en/us/about/legal/trademarks.html. 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
iii
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
iv
Contents
Identifying the TACACS+ Server Host and Setting the Authentication Key 49
Configuring TACACS+ Login Authentication 50
Configuring TACACS+ Authorization for Privileged EXEC Access and Network Services 53
Starting TACACS+ Accounting 54
Establishing a Session with a Router if the AAA Server is Unreachable 55
Configuring Per VRF on a TACACS Server 55
Monitoring TACACS+ 57
Configuration Examples for TACACS+ 57
Example: TACACS Authorization 57
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
v
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
vi
Contents
How to Configure the Switch for Local Authentication and Authorization 127
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
vii
Contents
Restrictions for Password Strength and Management for Common Criteria 141
Information About Password Strength and Management for Common Criteria 141
Password Composition Policy 142
Password Length Policy 142
Password Lifetime Policy 142
Password Expiry Policy 142
Password Change Policy 142
User Reauthentication Policy 143
Support for Framed (Noninteractive) Session 143
How to Configure Password Strength and Management for Common Criteria 143
Configuring the Password Security Policy 143
Verifying the Common Criteria Policy 145
Configuration Example for Password Strength and Management for Common Criteria 146
Example: Password Strength and Management for Common Criteria 146
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
viii
Contents
Additional References for Password Strength and Management for Common Criteria 147
Feature History for Password Strength and Management for Common Criteria 147
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
ix
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
x
Contents
Verifying the Server and User Authentication Using Digital Certificates 204
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xi
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xii
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xiii
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xiv
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xv
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xvi
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xvii
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xviii
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xix
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xx
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xxi
Contents
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
xxii
CHAPTER 1
Security Features Overview
• Security Features Overview, on page 1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
1
Security Features Overview
Security Features Overview
Mode Description
• Multidomain authentication (MDA) to allow both a data device and a voice device, such as an IP
phone (Cisco or non-Cisco), to independently authenticate on the same IEEE 802.1x-enabled switch
port.
• Dynamic voice virtual LAN (VLAN) for MDA to allow a dynamic voice VLAN on an MDA-enabled
port.
• VLAN assignment for restricting 802.1x-authenticated users to a specified VLAN.
• Support for VLAN assignment on a port configured for multi-auth mode. The RADIUS server
assigns a VLAN to the first host to authenticate on the port, and subsequent hosts use the same
VLAN. Voice VLAN assignment is supported for one IP phone.
• Voice VLAN to permit a Cisco IP Phone to access the voice VLAN regardless of the authorized or
unauthorized state of the port.
• IP phone detection enhancement to detect and recognize a Cisco IP phone.
• Guest VLAN to provide limited services to non-802.1x-compliant users.
• Restricted VLAN to provide limited services to users who are 802.1x compliant, but do not have
the credentials to authenticate via the standard 802.1x processes.
• 802.1x accounting to track network usage.
• 802.1x with wake-on-LAN to allow dormant PCs to be powered on based on the receipt of a specific
Ethernet frame.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
2
Security Features Overview
Security Features Overview
• 802.1x readiness check to determine the readiness of connected end hosts before configuring IEEE
802.1x on the switch.
• Voice aware 802.1x security to apply traffic violation actions only on the VLAN on which a security
violation occurs.
• MAC authentication bypass (MAB) to authorize clients based on the client MAC address.
• Network Admission Control (NAC) Layer 2 802.1x validation of the antivirus condition or posture
of endpoint systems or clients before granting the devices network access.
• Network Edge Access Topology (NEAT) with 802.1X switch supplicant, host authorization with
CISP, and auto enablement to authenticate a switch outside a wiring closet as a supplicant to another
switch.
• IEEE 802.1x with open access to allow a host to access the network before being authenticated.
• IEEE 802.1x authentication with downloadable ACLs and redirect URLs to allow per-user ACL
downloads from a RADIUS server or Cisco Identity Services Engine (ISE) to an authenticated
switch.
• Support for dynamic creation or attachment of an auth-default ACL on a port that has no configured
static ACLs.
• Flexible-authentication sequencing to configure the order of the authentication methods that a port
tries when authenticating a new host.
• TACACS+, a proprietary feature for managing network security through a TACACS server for both
IPv4 and IPv6.
• RADIUS for verifying the identity of, granting access to, and tracking the actions of remote users through
authentication, authorization, and accounting (AAA) services.
• Enhancements to RADIUS, TACACS+, and SSH functionality.
• Secure Socket Layer (SSL) Version 3.0 support for the HTTP 1.1 server authentication, encryption, and
message integrity and HTTP client authentication to allow secure HTTP communications (requires the
cryptographic version of the software).
• IEEE 802.1x Authentication with ACLs and the RADIUS Filter-Id Attribute.
• RADIUS Change of Authorization (CoA) to change the attributes of a certain session after it is
authenticated. When there is a change in policy for a user or user group in AAA, administrators can send
the RADIUS CoA packets from the AAA server, such as Cisco Identity Services Engine, or Cisco Secure
ACS to reinitialize authentication, and apply to the new policies.
• IEEE 802.1x User Distribution to allow deployments with multiple VLANs (for a group of users) to
improve scalability of the network by load balancing users across different VLANs. Authorized users
are assigned to the least populated VLAN in the group, assigned by RADIUS server.
• Support for critical VLAN multi-host/multi-auth enabled ports are placed in a critical VLAN in order to
permit access to critical resources if AAA server becomes unreachable.
• Support for Network Edge Access Topology (NEAT) to change the port host mode and to apply a standard
port configuration on the authenticator switch port.
• MAC address based authentication using MAC Authentication Bypass (MAB). Authenticated hosts are
moved to a dynamic VLAN to prevent network access from unauthorized VLANs.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
3
Security Features Overview
Security Features Overview
• MAC move to allow hosts (including the hosts connected behind an IP phone) to move across ports
within the same switch without any restrictions to enable mobility. With MAC move, the switch treats
the reappearance of the same MAC address on another port in the same way as a completely new MAC
address.
• Support for 3DES and AES with version 3 of the Simple Network Management Protocol (SNMPv3).
This release adds support for the 168-bit Triple Data Encryption Standard (3DES) and the 128-bit, 192-bit,
and 256-bit Advanced Encryption Standard (AES) encryption algorithms to SNMPv3.
• Cisco TrustSec SXP protocol is not supported.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
4
CHAPTER 2
Preventing Unauthorized Access
• Finding Feature Information, on page 5
• Preventing Unauthorized Access, on page 5
• Feature Information for Preventing Unauthorized Access, on page 6
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
5
Preventing Unauthorized Access
Feature Information for Preventing Unauthorized Access
• 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. For more information, see the Cisco IOS Login Enhancements
documentation.
Preventing Unauthorized Access Cisco IOS Release This feature was introduced.
15.2(7)E1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
6
CHAPTER 3
Controlling Switch Access with Passwords and
Privilege Levels
• Restrictions for Controlling Switch Access with Passwords and Privileges, on page 7
• Information About Passwords and Privilege Levels, on page 8
• How to Control Switch Access with Passwords and Privilege Levels, on page 10
• Configuration Examples for Controlling Switch Access with Passwords and Privilege Levels, on page
21
• Monitoring Switch Access, on page 22
• Feature History for Controlling Switch Access with Passwords and Privilege Levels, on page 22
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
7
Controlling Switch Access with Passwords and Privilege Levels
Information About Passwords and Privilege Levels
Note This is supported in Cisco IOS Release 15.2(7)E3 and later releases.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
8
Controlling Switch Access with Passwords and Privilege Levels
Additional Password Security
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
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 Virtual Terminal
Protocol (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 service password-recovery command in global configuration mode.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
9
Controlling Switch Access with Passwords and Privilege Levels
Terminal Line Telnet Configuration
Privilege Levels
Cisco devices use privilege levels to provide password security for different levels of switch operation. By
default, the Cisco IOS 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
10
Controlling Switch Access with Passwords and Privilege Levels
Setting or Changing a Static Enable Password
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
11
Controlling Switch Access with Passwords and Privilege Levels
Protecting Enable and Enable Secret Passwords with Encryption
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
12
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
13
Controlling Switch Access with Passwords and Privilege Levels
Configuring Masked Secret Password
Device> enable
Step 3 Use one of the following: • Defines a masked secret password, which
is saved using a nonreversible encryption
• username namemasked-secret
method.
• username namecommon-criteria-policy
policy-name masked-secret • Defines a masked secret password for
common criteria policy.
Example:
Device(config)# username cisco • The masked secret password must be
masked-secret greater than 4 characters. The
maximum length of masked-secret
or
password is 256 characters. By
default, no password is defined.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
14
Controlling Switch Access with Passwords and Privilege Levels
Disabling Password Recovery
Device(config)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
15
Controlling Switch Access with Passwords and Privilege Levels
Setting a Telnet Password for a Terminal Line
Procedure
Step 4 password password Sets a Telnet password for the line or lines.
Example: 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
16
Controlling Switch Access with Passwords and Privilege Levels
Configuring Username and Password Pairs
Procedure
Step 3 username name [privilege level] {password Sets the username, privilege level, and password
encryption-type password} for each user.
Example: • name: Specify the user ID as one word or
Device(config)# username adamsample the MAC address. Spaces and quotation
privilege 1 marks are not allowed.
password secret456
• You can configure a maximum of 12000
Device(config)# username 111111111111
mac
clients each, for both username and MAC
attribute filter.
• level: (Optional) Specify the privilege level
the user has after gaining access. The range
is 0 to 15. Level 15 gives privileged EXEC
mode access. Level 1 gives user EXEC
mode access.
• encryption-type: Enter 0 to specify that an
unencrypted password will follow. Enter
7 to specify that a hidden password will
follow.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
17
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 0
• line console 0
to 15).
• line vty 0 15
Example:
Device(config)# line console 0
or
Device(config)# line vty 15
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
18
Controlling Switch Access with Passwords and Privilege Levels
Changing the Default Privilege Level for Lines
Step 3 privilege mode level level command Sets the privilege level for a command.
Example: • mode: Enter configure for global
Device(config)# privilege exec level 14 configuration mode, exec for EXEC mode,
configure interface for interface configuration mode,
or line for line configuration mode.
• level: Range is from 0 to 15. Level 1 is for
normal user EXEC mode privileges. Level
15 is the level of access permitted by the
enable password.
• command: Specify the command to which
you want to restrict access.
Step 4 enable password level level password Specifies the password to enable the privilege
level.
Example:
Device(config)# enable password level 14 • level: Range is from 0 to 15. Level 1 is for
SecretPswd14 normal user EXEC mode privileges.
• 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
19
Controlling Switch Access with Passwords and Privilege Levels
Logging into and Exiting a Privilege Level
Procedure
Step 3 line vty line Selects the vty on which to restrict access.
Example:
Device(config)# line vty 10
Step 4 privilege level level Changes the default privilege level for the line.
Example: level: Range is from 0 to 15. Level 1 is for
Device(config)# privilege level 15 normal user EXEC mode privileges. Level 15
is the level of access permitted by the enable
password.
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
20
Controlling Switch Access with Passwords and Privilege Levels
Configuration Examples for Controlling Switch Access with Passwords and Privilege Levels
The following example shows how to change the enable password to l1u2c3k4y5. The password is
not encrypted and provides access to level 15 (traditional privileged EXEC mode access):
Device> enable
Device# configure terminal
Device(config)# enable password l1u2c3k4y5
The following example shows how to configure the encrypted password $1$FaD0$Xyti5Rkls3LoyxzS8
for privilege level 2:
Device> enable
Device# configure terminal
Device(config)# enable secret level 2 5 $1$FaD0$Xyti5Rkls3LoyxzS8
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
21
Controlling Switch Access with Passwords and Privilege Levels
Example: Setting a Telnet Password for a Terminal Line
The following example shows how to set the Telnet password to let45me67in89:
Device> enable
Device# configure terminal
Device(config)# line vty 10
Device(config-line)# password let45me67in89
The following example shows how to set the configure command to privilege level 14 and define
SecretPswd14 as the password users must enter to use level 14 commands:
Device> enable
Device# configure terminal
Device(config)# line vty 10
Device(config)# privilege exec level 14 configure
Device(config)# enable password level 14 SecretPswd14
Command Purpose
show privilege Displays the privilege level configuration.
show running | secret username Verifies that the username is created and encypted to
type9 by default.
show running | secret enable Verifies that the secret password is encypted to type9
by default.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
22
Controlling Switch Access with Passwords and Privilege Levels
Feature History for Controlling Switch Access with Passwords and Privilege Levels
Cisco IOS Release 15.2(7)E1 Controlling Switch Access Password protection restricts access to a
with Passwords and Privilege network or network device. Privilege levels
Levels define what commands users can enter after
they have logged into a network device.
Cisco IOS Release 15.2(7)E2 Type 6 Encryption Type 6 encryption support for username and
password has been introduced.
Cisco IOS Release 15.2(7)E3 Autoconversion to Type 6 Autoconversion of type 0 and type 7 username
and password to type 6 has been introduced.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
23
Controlling Switch Access with Passwords and Privilege Levels
Feature History for Controlling Switch Access with Passwords and Privilege Levels
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
24
CHAPTER 4
Configuring TACACS+
TACACS+ is a security application that provides centralized validation of users attempting to gain access to
a router or network access server. TACACS+ provides detailed accounting information and flexible
administrative control over authentication and authorization processes. TACACS+ is facilitated through
authentication, authorization and accounting (AAA) and can be enabled only through AAA commands.
• Prerequisites for TACACS+, on page 25
• Restrictions for TACACS+, on page 26
• Information About TACACS+, on page 26
• How to Configure TACACS+, on page 49
• Configuration Examples for TACACS+, on page 57
• Additional References for TACACS+, on page 61
• Feature History for TACACS+, on page 61
The following are the prerequisites for controlling device access with TACACS+:
• You must have access to a configured TACACS+ server to configure TACACS+ features on your device.
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 device.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
25
Configuring TACACS+
Restrictions for 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
26
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 device using TACACS+, this process occurs:
1. When the connection is established, the device contacts the TACACS+ daemon to obtain a username
prompt to show to the user. The user enters a username, and the device then contacts the TACACS+
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
27
Configuring TACACS+
Method List
daemon to obtain a password prompt. The device 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 device eventually receives one of these responses from the TACACS+ daemon:
• ACCEPT: The user is authenticated and service can begin. If the device 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 device. If an ERROR response is received, the device
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 device. 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.
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# configure terminal
Device(config)# line vty 0 4
Device(config)# authorization commands 15 auth1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
28
Configuring TACACS+
TACACS AV Pairs
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# configure terminal
Device(config)# line vty 0 4
The following example shows how to configure the default method list:
Device# configure terminal
Device(config)# aaa new-model
Device(config)# aaa authorization commands 15 default group tacacs+
TACACS AV Pairs
The network access server implements TACACS+ authorization and accounting functions by transmitting
and receiving TACACS+ attribute-value (AV) pairs for each user session.
acl=x ASCII number representing a connection access list. Used only when yes yes yes yes yes yes yes
service=shell.
addr=x A network address. Used with service=slip, service=ppp, and yes yes yes yes yes yes yes
protocol=ip. Contains the IP address that the remote host should use
when connecting via SLIP or PPP/IP. For example, addr=10.2.3.4.
addr-pool=x Specifies the name of a local pool from which to get the address of yes yes yes yes yes yes yes
the remote host. Used with service=ppp and protocol=ip.
Note that addr-pool works in conjunction with local pooling. It
specifies the name of a local pool (which must be preconfigured on
the network access server). Use the ip-local pool command to declare
local pools. For example:
ip address-pool local
ip local pool boo 10.0.0.1 10.0.0.10
ip local pool moo 10.0.0.1 10.0.0.20
You can then use TACACS+ to return addr-pool=boo or
addr-pool=moo to indicate the address pool from which you want to
get this remote node’s address.
autocmd=x Specifies an autocommand to be executed at EXEC startup (for yes yes yes yes yes yes yes
example, autocmd=telnet example.com). Used only with
service=shell.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
29
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
callback- dialstring Sets the telephone number for a callback (for example: no yes yes yes yes yes yes
callback-dialstring= 408-555-1212). Value is NULL, or a dial-string.
A NULL value indicates that the service might choose to get the dial
string through other means. Used with service=arap, service=slip,
service=ppp, service=shell. Not valid for ISDN.
callback-line The number of a TTY line to use for callback (for example: no yes yes yes yes yes yes
callback-line=4). Used with service=arap, service=slip, service=ppp,
service=shell. Not valid for ISDN.
callback-rotary The number of a rotary group (between 0 and 100 inclusive) to use no yes yes yes yes yes yes
for callback (for example: callback-rotary=34). Used with
service=arap, service=slip, service=ppp, service=shell. Not valid for
ISDN.
cmd-arg=x An argument to a shell (EXEC) command. This indicates an argument yes yes yes yes yes yes yes
for the shell command that is to be run. Multiple cmd-arg attributes
can be specified, and they are order dependent.
Note This TACACS+ AV pair cannot be used with RADIUS
attribute 26.
cmd=x A shell (EXEC) command. This indicates the command name for a yes yes yes yes yes yes yes
shell command that is to be run. This attribute must be specified if
service equals “shell.” A NULL value indicates that the shell itself
is being referred to.
Note This TACACS+ AV pair cannot be used with RADIUS
attribute 26.
dial-number Defines the number to dial. Used with the service=outbound and no no no no no yes yes
protocol=ip.
dns-servers= Identifies a DNS server (primary or secondary) that can be requested no no no yes yes yes yes
by Microsoft PPP clients from the network access server during IPCP
negotiation. To be used with service=ppp and protocol=ip. The IP
address identifying each DNS server is entered in dotted decimal
format.
force-56 Determines whether the network access server uses only the 56 K no no no no no yes yes
portion of a channel, even when all 64 K appear to be available. To
turn on this attribute, use the “true” value (force-56=true). Any other
value is treated as false. Used with the service=outbound and
protocol=ip.
gw-password Specifies the password for the home gateway during the L2F tunnel no no yes yes yes yes yes
authentication. Used with service=ppp and protocol=vpdn.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
30
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
idletime=x Sets a value, in minutes, after which an idle session is terminated. A no yes yes yes yes yes yes
value of zero indicates no timeout.
inacl#<n> ASCII access list identifier for an input access list to be installed and no no no yes yes yes yes
applied to an interface for the duration of the current connection.
Used with service=ppp and protocol=ip, and service service=ppp
and protocol =ipx. Per-user access lists do not currently work with
ISDN interfaces.
inacl=x ASCII identifier for an interface input access list. Used with yes yes yes yes yes yes yes
service=ppp and protocol=ip. Per-user access lists do not currently
work with ISDN interfaces.
interface-config#<n> Specifies user-specific AAA interface configuration information with no no no yes yes yes yes
Virtual Profiles. The information that follows the equal sign (=) can
be any Cisco IOS interface configuration command. Multiple
instances of the attributes are allowed, but each instance must have
a unique number. Used with service=ppp and protocol=lcp.
Note This attribute replaces the “interface-config=” attribute.
ip-addresses Space-separated list of possible IP addresses that can be used for the no no yes yes yes yes yes
end-point of a tunnel. Used with service=ppp and protocol=vpdn.
l2tp-cm-local- Specifies the maximum receive window size for L2TP control no no no no no yes yes
window-size messages. This value is advertised to the peer during tunnel
establishment. Used with service=ppp and protocol=vpdn.
l2tp-drop-out-of- Respects sequence numbers on data packets by dropping those that no no no no no yes yes
order are received out of order. This does not ensure that sequence numbers
will be sent on data packets, just how to handle them if they are
received. Used with service=ppp and protocol=vpdn.
l2tp-hello- interval Specifies the number of seconds for the hello keepalive interval. no no no no no yes yes
Hello packets are sent when no data has been sent on a tunnel for the
number of seconds configured here. Used with service=ppp and
protocol=vpdn.
l2tp-hidden-avp When enabled, sensitive AVPs in L2TP control messages are no no no no no yes yes
scrambled or hidden. Used with service=ppp and protocol=vpdn.
l2tp-nosession- Specifies the number of seconds that a tunnel will stay active with no no no no no yes yes
timeout no sessions before timing out and shutting down. Used with
service=ppp and protocol=vpdn.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
31
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
l2tp-tos-reflect Copies the IP ToS field from the IP header of each payload packet no no no no no yes yes
to the IP header of the tunnel packet for packets entering the tunnel
at the LNS. Used with service=ppp and protocol=vpdn.
l2tp-tunnel- authen If this attribute is set, it performs L2TP tunnel authentication. Used no no no no no yes yes
with service=ppp and protocol=vpdn.
l2tp-tunnel- Shared secret used for L2TP tunnel authentication and AVP hiding. no no no no no yes yes
password Used with service=ppp and protocol=vpdn.
l2tp-udp- checksum This is an authorization attribute and defines whether L2TP should no no no no no yes yes
perform UDP checksums for data packets. Valid values are “yes”
and “no.” The default is no. Used with service=ppp and
protocol=vpdn.
link- compression= Defines whether to turn on or turn off “stac” compression over a PPP no no no yes yes yes yes
link. Used with service=ppp.
Link compression is defined as a numeric value as follows:
• 0: None
• 1: Stac
• 2: Stac-Draft-9
• 3: MS-Stac
load-threshold= <n> Sets the load threshold for the caller at which additional links are no no no yes yes yes yes
either added to or deleted from the multilink bundle. If the load goes
above the specified value, additional links are added. If the load goes
below the specified value, links are deleted. Used with service=ppp
and protocol=multilink. The range for <n> is from 1 to 255.
map-class Allows the user profile to reference information configured in a map no no no no no yes yes
class of the same name on the network access server that dials out.
Used with the service=outbound and protocol=ip.
max-links=<n> Restricts the number of links that a user can have in a multilink no no no yes yes yes yes
bundle. Used with service=ppp and protocol=multilink. The range
for <n> is from 1 to 255.
min-links Sets the minimum number of links for MLP. Used with service=ppp no no no no no yes yes
and protocol=multilink, protocol=vpdn.
nas-password Specifies the password for the network access server during the L2F no no yes yes yes yes yes
tunnel authentication. Used with service=ppp and protocol=vpdn.
nocallback-verify Indicates that no callback verification is required. The only valid no yes yes yes yes yes yes
value for this parameter is 1 (for example, nocallback-verify=1).
Used with service=arap, service=slip, service=ppp, service=shell.
There is no authentication on callback. Not valid for ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
32
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
noescape=x Prevents user from using an escape character. Used with yes yes yes yes yes yes yes
service=shell. Can be either true or false (for example,
noescape=true).
nohangup=x Used with service=shell. Specifies the nohangup option, which means yes yes yes yes yes yes yes
that after an EXEC shell is terminated, the user is presented with
another login (username) prompt. Can be either true or false (for
example, nohangup=false).
old-prompts Allows providers to make the prompts in TACACS+ appear identical yes yes yes yes yes yes yes
to those of earlier systems (TACACS and Extended TACACS). This
allows administrators to upgrade from TACACS or Extended
TACACS to TACACS+ transparently to users.
outacl#<n> ASCII access list identifier for an interface output access list to be no no no yes yes yes yes
installed and applied to an interface for the duration of the current
condition. Used with service=ppp and protocol=ip, and service
service=ppp and protocol=ipx. Per-user access lists do not currently
work with ISDN interfaces.
outacl=x ASCII identifier for an interface output access list. Used with yes yes yes yes yes yes yes
service=ppp and protocol=ip, and service service=ppp and (PPP/IP
protocol=ipx. Contains an IP output access list for SLIP or PPP/IP only)
(for example, outacl=4). The access list itself must be preconfigured
on the router. Per-user access lists do not currently work with ISDN
interfaces.
pool-def#<n> Defines IP address pools on the network access server. Used with no no no yes yes yes yes
service=ppp and protocol=ip.
pool-timeout= Defines (in conjunction with pool-def) IP address pools on the no no yes yes yes yes yes
network access server. During IPCP address negotiation, if an IP
pool name is specified for a user (see the addr-pool attribute), a check
is made to see if the named pool is defined on the network access
server. If it is, the pool is consulted for an IP address. Used with
service=ppp and protocol=ip.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
33
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
port-type Indicates the type of physical port the network access server is using no no no no no yes yes
to authenticate the user.
Physical ports are indicated by a numeric value as follows:
• 0: Asynchronous
• 1: Synchronous
• 2: ISDN-Synchronous
• 3: ISDN-Asynchronous (V.120)
• 4: ISDN- Asynchronous (V.110)
• 5: Virtual
ppp-vj-slot- Instructs the Cisco router not to use slot compression when sending no no no yes yes yes yes
compression VJ-compressed packets over a PPP link.
priv-lvl=x Privilege level to be assigned for the EXEC. Used with service=shell. yes yes yes yes yes yes yes
Privilege levels range from 0 to 15, with 15 being the highest.
protocol=x A protocol that is a subset of a service. An example would be any yes yes yes yes yes yes yes
PPP NCP. Currently known values are lcp, ip, ipx, atalk, vines, lat,
xremote, tn3270, telnet, rlogin, pad, vpdn, osicp, deccp, ccp, cdp,
bridging, xns, nbf, bap, multilink, and unknown.
proxyacl#<n> Allows users to configure the downloadable user profiles (dynamic no no no no no yes yes
ACLs) by using the authentication proxy feature so that users can
have the configured authorization to permit traffic going through the
configured interfaces. Used with the service=shell and protocol=exec.
route Specifies a route to be applied to an interface. Used with service=slip, no yes yes yes yes yes yes
service=ppp, and protocol=ip.
During network authorization, the route attribute can be used to
specify a per-user static route, to be installed by TACACS+ as
follows:
route=”dst_address mask [gateway]”
This indicates a temporary static route that is to be applied. The
dst_address, mask, and gateway are expected to be in the usual
dotted-decimal notation, with the same meanings as in the familiar
ip route configuration command on a network access server.
If gateway is omitted, the peer’s address is the gateway. The route
is expunged when the connection terminates.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
34
Configuring TACACS+
TACACS Authentication and Authorization AV Pairs
route#<n> Like the route AV pair, this specifies a route to be applied to an no no no yes yes yes yes
interface, but these routes are numbered, allowing multiple routes to
be applied. Used with service=ppp and protocol=ip, and service=ppp
and protocol=ipx.
routing=x Specifies whether routing information is to be propagated to and yes yes yes yes yes yes yes
accepted from this interface. Used with service=slip, service=ppp,
and protocol=ip. Equivalent in function to the /routing flag in SLIP
and PPP commands. Can either be true or false (for example,
routing=true).
rte-fltr-in#<n> Specifies an input access list definition to be installed and applied to no no no yes yes yes yes
routing updates on the current interface for the duration of the current
connection. Used with service=ppp and protocol=ip, and with
service=ppp and protocol=ipx.
rte-fltr-out#<n> Specifies an output access list definition to be installed and applied no no no yes yes yes yes
to routing updates on the current interface for the duration of the
current connection. Used with service=ppp and protocol=ip, and with
service=ppp and protocol=ipx.
sap#<n> Specifies static Service Advertising Protocol (SAP) entries to be no no no yes yes yes yes
installed for the duration of a connection. Used with service=ppp and
protocol=ipx.
sap-fltr-in#<n> Specifies an input SAP filter access list definition to be installed and no no no yes yes yes yes
applied on the current interface for the duration of the current
connection. Used with service=ppp and protocol=ipx.
sap-fltr-out#<n> Specifies an output SAP filter access list definition to be installed no no no yes yes yes yes
and applied on the current interface for the duration of the current
connection. Used with service=ppp and protocol=ipx.
send-auth Defines the protocol to use (PAP or CHAP) for username-password no no no no no yes yes
authentication following CLID authentication. Used with service=any
and protocol=aaa.
send-secret Specifies the password that the NAS needs to respond to a chap/pap no no no no no yes yes
request from the remote end of a connection on an outgoing call.
Used with service=ppp and protocol=ip.
service=x The primary service. Specifying a service attribute indicates that this yes yes yes yes yes yes yes
is a request for authorization or accounting of that service. Current
values are slip, ppp, arap, shell, tty-daemon, connection, and
system. This attribute must always be included.
source-ip=x Used as the source IP address of all VPDN packets generated as part no no yes yes yes yes yes
of a VPDN tunnel. This is equivalent to the Cisco vpdn outgoing
global configuration command.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
35
Configuring TACACS+
TACACS Accounting AV Pairs
spi Carries the authentication information needed by the home agent to no no no no no yes yes
authenticate a mobile node during registration. The information is
in the same syntax as the ip mobile secure host <addr> configuration
command. Basically it contains the rest of the configuration command
that follows that string, verbatim. It provides the Security Parameter
Index (SPI), key, authentication algorithm, authentication mode, and
replay protection timestamp range. Used with the service=mobileip
and protocol=ip.
timeout=x The number of minutes before an EXEC or ARA session disconnects yes yes yes yes yes yes yes
(for example, timeout=60). A value of zero indicates no timeout.
Used with service=arap.
tunnel-id Specifies the username that will be used to authenticate the tunnel no no yes yes yes yes yes
over which the individual user MID will be projected. This is
analogous to the remote name in the vpdn outgoing command. Used
with service=ppp and protocol=vpdn.
wins-servers= Identifies a Windows NT server that can be requested by Microsoft no no no yes yes yes yes
PPP clients from the network access server during IPCP negotiation.
To be used with service=ppp and protocol=ip. The IP address
identifying each Windows NT server is entered in dotted decimal
format.
zonelist=x A numeric zonelist value. Used with service=arap. Specifies an yes yes yes yes yes yes yes
AppleTalk zonelist for ARA (for example, zonelist=5).
See Configuring TACACS+. module for the documents used to configure TACACS+, and TACACS+
authentication and authorization.
Abort-Cause If the fax session gets cancelled, indicates the system component that no no no no no yes yes
signaled the cancellation. Examples of system components that could trigger
a cancellation are FAP (Fax Application Process), TIFF (the TIFF reader
or the TIFF writer), fax-mail client, fax-mail server, ESMTP client, or
ESMTP server.
bytes_in The number of input bytes transferred during this connection. yes yes yes yes yes yes yes
bytes_out The number of output bytes transferred during this connection. yes yes yes yes yes yes yes
Call-Type Describes the type of fax activity: fax receive or fax send. no no no no no yes yes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
36
Configuring TACACS+
TACACS Accounting AV Pairs
cmd The command the user executed. yes yes yes yes yes yes yes
disc-cause Specifies the reason a connection was taken off-line. The Disconnect-Cause no no no yes yes yes yes
attribute is sent in accounting-stop records. This attribute also causes stop
records to be generated without first generating start records if disconnection
occurs before authentication is performed. Refer to the following table
(Disconnect Cause Extensions) for a list of Disconnect-Cause values and
their meanings.
disc-cause-ext Extends the disc-cause attribute to support vendor-specific reasons why a no no no yes yes yes yes
connection was taken off-line.
elapsed_time The elapsed time in seconds for the action. Useful when the device does yes yes yes yes yes yes yes
not keep real time.
Email-Server- Indicates the IP address of the e-mail server handling the on-ramp fax-mail no no no no no yes yes
Address message.
Email-Server-Ack- Indicates that the on-ramp gateway has received a positive acknowledgment no no no no no yes yes
Flag from the e-mail server accepting the fax-mail message.
event Information included in the accounting packet that describes a state change yes yes yes yes yes yes yes
in the router. Events described are accounting starting and accounting
stopping.
Fax-Account-Id- Indicates the account ID origin as defined by system administrator for the no no no no no yes yes
Origin mmoip aaa receive-id or the mmoip aaa send-id command.
Fax-Auth-Status Indicates whether or not authentication for this fax session was successful. no no no no no yes yes
Possible values for this field are success, failed, bypassed, or unknown.
Fax-Connect-Speed Indicates the modem speed at which this fax-mail was initially transmitted no no no no no yes yes
or received. Possible values are 1200, 4800, 9600, and 14400.
Fax-Coverpage-Flag Indicates whether or not a cover page was generated by the off-ramp no no no no no yes yes
gateway for this fax session. True indicates that a cover page was generated;
false means that a cover page was not generated.
Fax-Dsn-Address Indicates the address to which DSNs will be sent. no no no no no yes yes
Fax-Dsn-Flag Indicates whether or not DSN has been enabled. True indicates that DSN no no no no no yes yes
has been enabled; false means that DSN has not been enabled.
Fax-Mdn-Address Indicates the address to which MDNs will be sent. no no no no no yes yes
Fax-Mdn-Flag Indicates whether or not message delivery notification (MDN) has been no no no no no yes yes
enabled. True indicates that MDN had been enabled; false means that MDN
had not been enabled.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
37
Configuring TACACS+
TACACS Accounting AV Pairs
Fax-Modem-Time Indicates the amount of time in seconds the modem sent fax data (x) and no no no no no yes yes
the amount of time in seconds of the total fax session (y), which includes
both fax-mail and PSTN time, in the form x/y. For example, 10/15 means
that the transfer time took 10 seconds, and the total fax session took 15
seconds.
Fax-Msg-Id= Indicates a unique fax message identification number assigned by Store no no no no no yes yes
and Forward Fax.
Fax-Pages Indicates the number of pages transmitted or received during this fax no no no no no yes yes
session. This page count includes cover pages.
Fax-Process-Abort- Indicates that the fax session was cancelled or successful. True means that no no no no no yes yes
Flag the session was cancelled; false means that the session was successful.
Fax-Recipient-Count Indicates the number of recipients for this fax transmission. Until e-mail no no no no no yes yes
servers support Session mode, the number should be 1.
Gateway-Id Indicates the name of the gateway that processed the fax session. The name no no no no no yes yes
appears in the following format: hostname.domain-name
mlp-links-max Gives the count of links which are known to have been in a given multilink no no no yes yes yes yes
session at the time the accounting record is generated.
mlp-sess-id Reports the identification number of the multilink bundle when the session no no no yes yes yes yes
closes. This attribute applies to sessions that are part of a multilink bundle.
This attribute is sent in authentication-response packets.
nas-rx-speed Specifies the average number of bits per second over the course of the no no no yes yes yes yes
connection’s lifetime. This attribute is sent in accounting-stop records.
nas-tx-speed Reports the transmit speed negotiated by the two modems. no no no yes yes yes yes
paks_in The number of input packets transferred during this connection. yes yes yes yes yes yes yes
paks_out The number of output packets transferred during this connection. yes yes yes yes yes yes yes
port The port the user was logged in to. yes yes yes yes yes yes yes
Port-Used Indicates the slot/port number of the Cisco AS5300 used to either transmit no no no no no yes yes
or receive this fax-mail.
pre-bytes-in Records the number of input bytes before authentication. This attribute is no no no yes yes yes yes
sent in accounting-stop records.
pre-bytes-out Records the number of output bytes before authentication. This attribute no no no yes yes yes yes
is sent in accounting-stop records.
pre-paks-in Records the number of input packets before authentication. This attribute no no no yes yes yes yes
is sent in accounting-stop records.
pre-paks-out Records the number of output packets before authentication. The no no no yes yes yes yes
Pre-Output-Packets attribute is sent in accounting-stop records.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
38
Configuring TACACS+
TACACS Accounting AV Pairs
pre-session-time Specifies the length of time, in seconds, from when a call first connects to no no no yes yes yes yes
when it completes authentication.
priv_level The privilege level associated with the action. yes yes yes yes yes yes yes
protocol The protocol associated with the action. yes yes yes yes yes yes yes
reason Information included in the accounting packet that describes the event that yes yes yes yes yes yes yes
caused a system change. Events described are system reload, system
shutdown, or when accounting is reconfigured (turned on or off).
service The service the user used. yes yes yes yes yes yes yes
start_time The time the action started (in seconds since the epoch, 12:00 a.m. Jan 1 yes yes yes yes yes yes yes
1970). The clock must be configured to receive this information.
stop_time The time the action stopped (in seconds since the epoch.) The clock must yes yes yes yes yes yes yes
be configured to receive this information.
task_id Start and stop records for the same event must have matching (unique) yes yes yes yes yes yes yes
task_id numbers.
timezone The time zone abbreviation for all timestamps included in this packet. yes yes yes yes yes yes yes
The following table lists the cause codes and descriptions for the Disconnect Cause Extended (disc-cause-ext)
attribute.
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1000 - No Reason No reason for the disconnect. no no no no yes yes yes yes
1001 - No Disconnect The event was not a disconnect. no no no no yes yes yes yes
1002 - Unknown The reason for the disconnect is unknown. This code can no no no no yes yes yes yes
appear when the remote connection goes down.
1003 - Call Disconnect The call has disconnected. no no no no yes yes yes yes
1004 - CLID Auth Fail Calling line ID (CLID) authentication has failed. no no no no yes yes yes yes
1009 - No Modem The modem is not available. no no no no yes yes yes yes
Available
1010 - No Carrier The modem never detected data carrier detect (DCD). This no no no no yes yes yes yes
code can appear if a disconnect occurs during the initial modem
connection.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
39
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1011 - Lost Carrier The modem detected DCD but became inactive. This code can no no no no yes yes yes yes
appear if a disconnect occurs during the initial modem
connection.
1012 - No Modem Results The result codes could not be parsed. This code can appear if no no no no yes yes yes yes
a disconnect occurs during the initial modem connection.
1020 - TS User Exit The user exited normally from the terminal server. This code no no no no yes yes yes yes
is related to immediate Telnet and raw TCP disconnects during
a terminal server session.
1021 - Idle Timeout The user exited from the terminal server because the idle timer no no no no yes yes yes yes
expired. This code is related to immediate Telnet and raw TCP
disconnects during a terminal server session.
1022 - TS Exit Telnet The user exited normally from a Telnet session. This code is no no no no yes yes yes yes
related to immediate Telnet and raw TCP disconnects during
a terminal server session.
1023 - TS No IP Addr The user could not switch to Serial Line Internet Protocol no no no no yes yes yes yes
(SLIP) or PPP because the remote host had no IP address or
because the dynamic pool could not assign one. This code is
related to immediate Telnet and raw TCP disconnects during
a terminal server session.
1024 - TS TCP Raw Exit The user exited normally from a raw TCP session. This code no no no no yes yes yes yes
is related to immediate Telnet and raw TCP disconnects during
a terminal server session.
1025 - TS Bad Password The login process ended because the user failed to enter a no no no no yes yes yes yes
correct password after three attempts. This code is related to
immediate Telnet and raw TCP disconnects during a terminal
server session.
1026 - TS No TCP Raw The raw TCP option is not enabled. This code is related to no no no no yes yes yes yes
immediate Telnet and raw TCP disconnects during a terminal
server session.
1027 - TS CNTL-C The login process ended because the user typed Ctrl-C. This no no no no yes yes yes yes
code is related to immediate Telnet and raw TCP disconnects
during a terminal server session.
1028 - TS Session End The terminal server session has ended. This code is related to no no no no yes yes yes yes
immediate Telnet and raw TCP disconnects during a terminal
server session.
1029 - TS Close Vconn The user closed the virtual connection. This code is related to no no no no yes yes yes yes
immediate Telnet and raw TCP disconnects during a terminal
server session.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
40
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1030 - TS End Vconn The virtual connection has ended. This code is related to no no no no yes yes yes yes
immediate Telnet and raw TCP disconnects during a terminal
server session.
1031 - TS Rlogin Exit The user exited normally from an Rlogin session. This code no no no no yes yes yes yes
is related to immediate Telnet and raw TCP disconnects during
a terminal server session.
1032 - TS Rlogin Opt The user selected an invalid Rlogin option. This code is related no no no no yes yes yes yes
Invalid to immediate Telnet and raw TCP disconnects during a terminal
server session.
1033 - TS Insuff Resources The access server has insufficient resources for the terminal no no no no yes yes yes yes
server session. This code is related to immediate Telnet and
raw TCP disconnects during a terminal server session.
1040 - PPP LCP Timeout PPP link control protocol (LCP) negotiation timed out while no no no no yes yes yes yes
waiting for a response from a peer. This code concerns PPP
connections.
1041 - PPP LCP Fail There was a failure to converge on PPP LCP negotiations. This no no no no yes yes yes yes
code concerns PPP connections.
1042 - PPP Pap Fail PPP Password Authentication Protocol (PAP) authentication no no no no yes yes yes yes
failed. This code concerns PPP connections.
1043 - PPP CHAP Fail PPP Challenge Handshake Authentication Protocol (CHAP) no no no no yes yes yes yes
authentication failed. This code concerns PPP connections.
1044 - PPP Remote Fail Authentication failed from the remote server. This code no no no no yes yes yes yes
concerns PPP sessions.
1045 - PPP Receive Term The peer sent a PPP termination request. This code concerns no no no no yes yes yes yes
PPP connections.
PPP LCP Close (1046) LCP got a close request from the upper layer while LCP was no no no no yes yes yes yes
in an open state. This code concerns PPP connections.
1047 - PPP No NCP LCP closed because no NCPs were open. This code concerns no no no no yes yes yes yes
PPP connections.
1048 - PPP MP Error LCP closed because it could not determine to which Multilink no no no no yes yes yes yes
PPP bundle that it should add the user. This code concerns
PPP connections.
1049 - PPP Max Channels LCP closed because the access server could not add any more no no no no yes yes yes yes
channels to an MP session. This code concerns PPP
connections.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
41
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1050 - TS Tables Full The raw TCP or Telnet internal session tables are full. This no no no no yes yes yes yes
code relates to immediate Telnet and raw TCP disconnects
and contains more specific information than the Telnet and
TCP codes listed earlier in this table.
1051 - TS Resource Full Internal resources are full. This code relates to immediate no no no no yes yes yes yes
Telnet and raw TCP disconnects and contains more specific
information than the Telnet and TCP codes listed earlier in
this table.
1052 - TS Invalid IP Addr The IP address for the Telnet host is invalid. This code relates no no no no yes yes yes yes
to immediate Telnet and raw TCP disconnects and contains
more specific information than the Telnet and TCP codes listed
earlier in this table.
1053 - TS Bad Hostname The access server could not resolve the host name. This code no no no no yes yes yes yes
relates to immediate Telnet and raw TCP disconnects and
contains more specific information than the Telnet and TCP
codes listed earlier in this table.
1054 - TS Bad Port The access server detected a bad or missing port number. This no no no no yes yes yes yes
code relates to immediate Telnet and raw TCP disconnects
and contains more specific information than the Telnet and
TCP codes listed earlier in this table.
1060 - TCP Reset The host reset the TCP connection. The TCP stack can return no no no no yes yes yes yes
this disconnect code during an immediate Telnet or raw TCP
session.
1061 - TCP Connection The host refused the TCP connection. The TCP stack can return no no no no yes yes yes yes
Refused this disconnect code during an immediate Telnet or raw TCP
session.
1062 - TCP Timeout The TCP connection timed out. The TCP stack can return this no no no no yes yes yes yes
disconnect code during an immediate Telnet or raw TCP
session.
1063 - TCP Foreign Host A foreign host closed the TCP connection. The TCP stack can no no no no yes yes yes yes
Close return this disconnect code during an immediate Telnet or raw
TCP session.
1064 - TCP Net The TCP network was unreachable. The TCP stack can return no no no no yes yes yes yes
Unreachable this disconnect code during an immediate Telnet or raw TCP
session.
1065 - TCP Host The TCP host was unreachable. The TCP stack can return this no no no no yes yes yes yes
Unreachable disconnect code during an immediate Telnet or raw TCP
session.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
42
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1066 - TCP Net Admin The TCP network was administratively unreachable. The TCP no no no no yes yes yes yes
Unreachable stack can return this disconnect code during an immediate
Telnet or raw TCP session.
1067 - TCP Host Admin The TCP host was administratively unreachable. The TCP no no no no yes yes yes yes
Unreachable stack can return this disconnect code during an immediate
Telnet or raw TCP session.
1068 - TCP Port The TCP port was unreachable. The TCP stack can return this no no no no yes yes yes yes
Unreachable disconnect code during an immediate Telnet or raw TCP
session.
1100 - Session Timeout The session timed out because there was no activity on a PPP no no no no yes yes yes yes
link. This code applies to all session types.
1101 - Security Fail The session failed for security reasons. This code applies to no no no no yes yes yes yes
all session types.
1102 - Callback The session ended for callback. This code applies to all session no no no no yes yes yes yes
types.
1120 - Unsupported One end refused the call because the protocol was disabled or no no no no yes yes yes yes
unsupported. This code applies to all session types.
1150 - Radius Disc The RADIUS server requested the disconnect. no no no no yes yes yes yes
1151 - Local Admin Disc The local administrator has disconnected. no no no no yes yes yes yes
1152 - SNMP Disc Simple Network Management Protocol (SNMP) has no no no no yes yes yes yes
disconnected.
1160 - V110 Retries The allowed retries for V110 synchronization have been no no no no yes yes yes yes
exceeded.
1170 - PPP Auth Timeout Authentication timeout. This code applies to PPP sessions. no no no no yes yes yes yes
1180 - Local Hangup The call disconnected as the result of a local hangup. no no no no yes yes yes yes
1185 - Remote Hangup The call disconnected because the remote end hung up. no no no no yes yes yes yes
1190 - T1 Quiesced The call disconnected because the T1 line that carried it was no no no no yes yes yes yes
quiesced.
1195 - Call Duration The call disconnected because the call duration exceeded the no no no no yes yes yes yes
maximum amount of time allowed by the Max Call Mins or
Max DS0 Mins parameter on the access server.
1600 - VPDN User The user disconnected. This value applies to virtual private no no no no no no yes yes
Disconnect dial-up network (VPDN) sessions.
1601 - VPDN Carrier Loss Carrier loss has occurred. This code applies to VPDN sessions. no no no no no no yes yes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
43
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1602 - VPDN No There are no resources. This code applies to VPDN sessions. no no no no no no yes yes
Resources
1603 - VPDN Bad Control The control packet is invalid. This code applies to VPDN no no no no no no yes yes
Packet sessions.
1604 - VPDN Admin The administrator disconnected. This code applies to VPDN no no no no no no yes yes
Disconnect sessions.
1605 - VPDN Tunnel The tunnel is down or the setup failed. This code applies to no no no no no no yes yes
Down/Setup Fail VPDN sessions.
1606 - VPDN Local PPP There was a local PPP disconnect. This code applies to VPDN no no no no no no yes yes
Disconnect sessions.
1607 - VPDN New sessions cannot be established on the VPN tunnel. This no no no no no no yes yes
Softshut/Session Limit code applies to VPDN sessions.
1608 - VPDN Call The call was redirected. This code applies to VPDN sessions. no no no no no no yes yes
Redirected
1801 - Q850 Unassigned The number has not been assigned. This code applies to ISDN no no no no no no no yes
Number or modem calls that came in over ISDN.
1802 - Q850 No Route The equipment that is sending this code has received a request no no no no no no no yes
to route the call through a particular transit network that it does
not recognize. The equipment that is sending this code does
not recognize the transit network because either the transit
network does not exist or because that particular transit
network, while it does exist, does not serve the equipment that
is sending this code. This code applies to ISDN or modem
calls that came in over ISDN.
1803 - Q850 No Route To The called party cannot be reached because the network no no no no no no no yes
Destination through which the call has been routed does not serve the
destination that is desired. This code applies to ISDN or modem
calls that came in over ISDN.
1806 - Q850 Channel The channel that has been most recently identified is not no no no no no no no yes
Unacceptable acceptable to the sending entity for use in this call. This code
applies to ISDN or modem calls that came in over ISDN.
1816 - Q850 Normal The call is being cleared because one of the users who is no no no no no no no yes
Clearing involved in the call has requested that the call be cleared. This
code applies to ISDN or modem calls that came in over ISDN.
1817 - Q850 User Busy The called party is unable to accept another call because the no no no no no no no yes
user-busy condition has been encountered. This code may be
generated by the called user or by the network. In the case of
the user, the user equipment is compatible with the call. This
code applies to ISDN or modem calls that came in over ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
44
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1818 - Q850 No User Used when a called party does not respond to a no no no no no no no yes
Responding call-establishment message with either an alerting or connect
indication within the prescribed period of time that was
allocated. This code applies to ISDN or modem calls that came
in over ISDN.
1819 - Q850 No User The called party has been alerted but does not respond with a no no no no no no no yes
Answer connect indication within a prescribed period of time. This
code applies to ISDN or modem calls that came in over ISDN.
1821 - Q850 Call Rejected The equipment that is sending this code does not wish to accept no no no no no no no yes
this call although it could have accepted the call because the
equipment that is sending this code is neither busy nor
incompatible. This code may also be generated by the network,
indicating that the call was cleared due to a supplementary
service constraint. The diagnostic field may contain additional
information about the supplementary service and reason for
rejection. This code applies to ISDN or modem calls that came
in over ISDN.
1822 - Q850 Number The number that is indicated for the called party is no longer no no no no no no no yes
Changed assigned. The new called party number may optionally be
included in the diagnostic field. This code applies to ISDN or
modem calls that came in over ISDN.
1827 - Q850 Destination The destination that was indicated by the user cannot be no no no no no no no yes
Out of Order reached because the interface to the destination is not
functioning correctly. The term “not functioning correctly”
indicates that a signaling message was unable to be delivered
to the remote party. This code applies to ISDN or modem calls
that came in over ISDN.
1828 - Q850 Invalid The called party cannot be reached because the called party no no no no no no no yes
Number Format number is not in a valid format or is not complete. This code
applies to ISDN or modem calls that came in over ISDN.
1829 - Q850 Facility This code is returned when a supplementary service that was no no no no no no no yes
Rejected requested by the user cannot be provided by the network. This
code applies to ISDN or modem calls that have come in over
ISDN.
1830 - Q850 Responding to This code is included in the STATUS message when the reason no no no no no no no yes
Status Enquiry for generating the STATUS message was the prior receipt of
a STATUS ENQUIRY message. This code applies to ISDN
or modem calls that came in over ISDN.
1831 - Q850 Unspecified No other code applies. This code applies to ISDN or modem no no no no no no no yes
Cause calls that came in over ISDN.
1834 - Q850 No Circuit No circuit or channel is available to handle the call. This code no no no no no no no yes
Available applies to ISDN or modem calls that came in over ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
45
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1838 - Q850 Network Out The network is not functioning correctly and the condition is no no no no no no no yes
of Order likely to last a relatively long period of time. This code applies
to ISDN or modem calls that came in over ISDN.
1841 - Q850 Temporary The network is not functioning correctly and the condition is no no no no no no no yes
Failure not likely to last a long period of time. This code applies to
ISDN or modem calls that came in over ISDN.
1842 - Q850 Network The network is congested. This code applies to ISDN or no no no no no no no yes
Congestion modem calls that came in over ISDN.
1843 - Q850 Access Info This code indicates that the network could not deliver access no no no no no no no yes
Discarded information to the remote user as requested. This code applies
to ISDN or modem calls that came in over ISDN.
1844 - Q850 Requested This code is returned when the circuit or channel that is no no no no no no no yes
Channel Not Available indicated by the requesting entity cannot be provided by the
other side of the interface. This code applies to ISDN or
modem calls that came in over ISDN.
1845 - Q850 Call The call was preempted. This code applies to ISDN or modem no no no no no no no yes
Pre-empted calls that came in over ISDN.
1847 - Q850 Resource This code is used to report a resource-unavailable event only no no no no no no no yes
Unavailable when no other code in the resource-unavailable class applies.
This code applies to ISDN or modem calls that came in over
ISDN.
1850 - Q850 Facility Not Not a subscribed facility. This code applies to ISDN or modem no no no no no no no yes
Subscribed calls that came in over ISDN.
1852 - Q850 Outgoing Call Although the calling party is a member of the closed user group no no no no no no no yes
Barred for the outgoing closed user group call, outgoing calls are not
allowed for this member. This code applies to ISDN or modem
calls that came in over ISDN.
Q850 Incoming Call Barred Although the called party is a member of the closed user group no no no no no no no yes
(1854) for the incoming closed user group call, incoming calls are not
allowed to this member. This code applies to ISDN or modem
calls that have come in over ISDN.
1858 - Q850 Bearer The user has requested a bearer capability that is implemented no no no no no no no yes
Capability Not Available by the equipment that generated this code but that is not
available at this time. This code applies to ISDN or modem
calls that have come in over ISDN.
1863 - Q850 Service Not The code is used to report a service- or option-not-available no no no no no no no yes
Available event only when no other code in the service- or
option-not-available class applies. This code applies to ISDN
or modem calls that have come in over ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
46
Configuring TACACS+
TACACS Accounting AV Pairs
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1865 - Q850 Bearer The equipment that is sending this code does not support the no no no no no no no yes
Capability Not bearer capability that was requested. This code applies to ISDN
Implemented or modem calls that have come in over ISDN.
1866 - Q850 Channel Not The equipment that is sending this code does not support the no no no no no no no yes
Implemented channel type that was requested. This code applies to ISDN
or modem calls that have come in over ISDN.
1869 - Q850 Facility Not The supplementary service requested by the user cannot be no no no no no no no yes
Implemented provided by the network. This code applies to ISDN or modem
calls that have come in over ISDN.
1881 - Q850 Invalid Call The equipment that is sending this code has received a message no no no no no no no yes
Reference having a call reference that is not currently in use on the
user-network interface. This code applies to ISDN or modem
calls that have come in over ISDN.
1882 - Q850 Channel Does The channel most recently identified is not acceptable to the no no no no no no no yes
Not Exist sending entity for use in this call. This code applies to ISDN
or modem calls that have come in over ISDN. This code applies
to ISDN or modem calls that have come in over ISDN.
1888 - Q850 Incompatible The equipment that is sending this code has received a request no no no no no no no yes
Destination to establish a call that has low-layer compatibility or other
compatibility attributes that cannot be accommodated. This
code applies to ISDN or modem calls that have come in over
ISDN.
1896 - Q850 Mandatory The equipment that is sending this code has received a message no no no no no no no yes
Info Element Is Missing that is missing an information element that must be present in
the message before that message can be processed. This code
applies to ISDN or modem calls that have come in over ISDN.
1897 - Q850 Non Existent The equipment that is sending this code has received a message no no no no no no no yes
Message Type with a message type that it does not recognize either because
this is a message that is not defined or that is defined but not
implemented by the equipment that is sending this code. This
code applies to ISDN or modem calls that have come in over
ISDN.
1898 - Q850 Invalid This code is used to report an invalid message when no other no no no no no no no yes
Message code in the invalid message class applies. This code applies
to ISDN or modem calls that have come in over ISDN.
1899 - Q850 Bad Info The information element not recognized. This code applies to no no no no no no no yes
Element ISDN or modem calls that have come in over ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
47
Configuring TACACS+
TACACS+ Configuration Options
Cause Codes Description 11.0 11.1 11.2 11.3 12.0 12.1 12.2 12.3
1900 - Q850 Invalid The equipment that is sending this code has received an no no no no no no no yes
Element Contents information element that it has implemented; however, one or
more fields in the information element are coded in such a way
that has not been implemented by the equipment that is sending
this code. This code applies to ISDN or modem calls that have
come in over ISDN.
1901 - Q850 Wrong The message that was received is incompatible with the call no no no no no no no yes
Message for State state. This code applies to ISDN or modem calls that have
come in over ISDN.
1902 - Q850 Recovery on A procedure has been initiated by the expiration of a timer in no no no no no no no yes
Timer Expiration association with error-handling procedures. This code applies
to ISDN or modem calls that have come in over ISDN.
1903 - Q850 Info Element The equipment that is sending this code has received a message no no no no no no no yes
Error that includes information elements or parameters that are not
recognized because the information element identifiers or
paramenter names are not defined or are defined but not
implemented by the equipment that is sending this code. This
code applies to ISDN or modem calls that have come in over
ISDN.
1911 - Q850 Protocol Error This code is used to report a protocol error event only when no no no no no no no yes
no other code in the protocol error class applies. This code
applies to ISDN or modem calls that have come in over ISDN.
1927 - Q850 Unspecified There has been an error when interworking with a network no no no no no no no yes
Internetworking Event that does not provide codes for actions that it takes. This code
applies to ISDN or modem calls that have come in over ISDN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
48
Configuring TACACS+
TACACS+ Authorization for Privileged EXEC Access and Network Services
TACACS+ Authentication
After you have identified the TACACS+ daemon and defined an associated TACACS+ encryption key, you
must define method lists for TACACS+ authentication. Because TACACS+ authentication is operated via
AAA, you need to issue the aaa authentication command, specifying TACACS+ as the authentication method.
TACACS+ Authorization
AAA authorization enables you to set parameters that restrict a user’s access to the network. Authorization
via TACACS+ may be applied to commands, network connections, and EXEC sessions. Because TACACS+
authorization is facilitated through AAA, you must issue the aaa authorization command, specifying
TACACS+ as the authorization method.
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 device 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
49
Configuring TACACS+
Configuring TACACS+ Login Authentication
Procedure
Device> enable
Step 4 aaa group server tacacs+ group-name (Optional) Defines the AAA server-group with
a group name.
Example:
This command puts the device in a server group
Device(config)# aaa group server tacacs+ subconfiguration mode.
your_server_group
Device(config)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
50
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
Step 4 aaa authentication login {default | list-name} Creates a login authentication method list.
method1 [method2...]
• To create a default list that is used when a
Example: named list is not specified in the login
authentication command, use the default
Device(config)# aaa authentication login keyword followed by the methods that are
default tacacs+ local to be used in default situations. The default
method list is automatically applied to all
ports.
• For list-name, specify a character string to
name the list you are creating.
• For method1..., specify 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
51
Configuring TACACS+
Configuring TACACS+ Login Authentication
Step 5 line [console | tty | vty] line-number Enters line configuration mode, and configures
[ending-line-number] the lines to which you want to apply the
authentication list.
Example:
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
52
Configuring TACACS+
Configuring TACACS+ Authorization for Privileged EXEC Access and Network Services
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
Step 3 aaa authorization network authorization-list Configures the device for user TACACS+
tacacs+ authorization for all network-related service
requests.
Example:
Step 4 aaa authorization exec default tacacs+ Configures the device 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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
53
Configuring TACACS+
Starting TACACS+ Accounting
Procedure
Device> enable
Step 3 aaa accounting network authorization-list Enables TACACS+ accounting for all
start-stop tacacs+ network-related service requests.
Example:
Step 4 aaa accounting exec default start-stop Enables TACACS+ accounting to send a
tacacs+ start-record accounting notice at the beginning
of a privileged EXEC process and a stop-record
Example:
at the end.
Device(config)# aaa accounting exec
default start-stop tacacs+
Device(config)# end
What to do next
To establish a session with a router 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
54
Configuring TACACS+
Establishing a Session with a Router if the AAA Server is Unreachable
Procedure
Device> enable
Device(config-vrf)# rd 100:1
Device(config-vrf)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
55
Configuring TACACS+
Configuring Per VRF on a TACACS Server
Step 8 ip address ip-address mask [secondary] Sets a primary or secondary IP address for an
interface.
Example:
Device(config-if)# exit
Step 10 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)# aaa group server tacacs+
tacacs1
Step 11 server-private {ip-address | name} [nat] Configures the IP address of the private
[single-connection] [port port-number] TACACS+ server for the group server.
[timeout seconds] [key [0 | 7] string]
Example:
Device(config-sg-tacacs+)#
server-private 10.1.1.1 port 19 key
cisco
Device(config-sg-tacacs+)# ip vrf
forwarding cisco
Step 13 ip tacacs source-interface subinterface-name Uses the IP address of a specified interface for
all outgoing TACACS+ packets.
Example:
Device(config-sg-tacacs+)# ip tacacs
source-interface Loopback0
Device(config-sg-tacacs)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
56
Configuring TACACS+
Monitoring TACACS+
Monitoring TACACS+
Table 7: Commands for Displaying TACACS+ Information
Command Purpose
show tacacs Displays TACACS+ server statistics.
aaa new-model
aaa authentication ppp default if-needed group tacacs+ local
aaa authorization network default group tacacs+
tacacs server server1
address IPv4 10.1.2.3
key goaway
exit
interface serial 0
ppp authentication chap default
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
57
Configuring TACACS+
Example: TACACS Authentication
aaa new-model
aaa authentication ppp default if-needed group tacacs+ local
aaa accounting network default stop-only group tacacs+
tacacs server server1
address IPv4 10.1.2.3
key goaway
exit
interface serial 0
ppp authentication chap default
aaa new-model
aaa authentication ppp test group tacacs+ local
tacacs server server1
address IPv4 10.1.2.3
key goaway
exit
interface serial 0
ppp authentication chap pap test
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
58
Configuring TACACS+
Example: TACACS Authentication
• The tacacs server command identifies the TACACS+ daemon, and address ipv4 command as having
an IP address of 10.1.2.3. The key command defines the shared encryption key to be “goaway.”
• The interface command selects the line, and the ppp authentication command applies the test method
list to this line.
The following example shows how to configure TACACS+ as the security protocol for PPP authentication,
but instead of the “test” method list, the “default” method list is used.
aaa new-model
aaa authentication ppp default if-needed group tacacs+ local
tacacs server server1
address IPv4 10.1.2.3
key goaway
exit
interface serial 0
ppp authentication chap default
The following example shows how to create the same authentication algorithm for PAP, but it calls the method
list “MIS-access” instead of “default”:
aaa new-model
aaa authentication pap MIS-access if-needed group tacacs+ local
tacacs server server1
address IPv4 10.1.2.3
key goaway
exit
interface serial 0
ppp authentication pap MIS-access
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
59
Configuring TACACS+
Example: Configuring Per VRF for TACACS Servers
the keyword 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 tacacs server command identifies the TACACS+ daemon, and address ipv4 command as having
an IP address of 10.1.2.3. The key command defines the shared encryption key to be “goaway.”
• The interface command selects the line, and the ppp authentication command applies the default method
list to this line.
The following example shows the configuration for a TACACS+ daemon with an IP address of 10.2.3.4 and
an encryption key of “apple”:
aaa new-model
aaa authentication login default group tacacs+ local
tacacs server server1
address IPv4 10.2.3.4
key apple
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
60
Configuring TACACS+
Additional References for TACACS+
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
MIBs
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
61
Configuring TACACS+
Feature History for TACACS+
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
62
CHAPTER 5
Configuring RADIUS
The RADIUS security system is a distributed client/server system that secures networks against unauthorized
access. In the Cisco implementation, RADIUS clients run on Cisco devices and send authentication requests
to a central RADIUS server that contains all user authentication and network service access information.
• Prerequisites for Configuring RADIUS, on page 63
• Restrictions for Configuring RADIUS, on page 64
• Information about RADIUS, on page 64
• How to Configure RADIUS, on page 82
• Configuration Examples for RADIUS, on page 94
• Additional References for RADIUS, on page 97
• Feature History for RADIUS, on page 98
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
63
Configuring RADIUS
Restrictions for Configuring RADIUS
• To use the Change-of-Authorization (CoA) interface, a session must already exist on the switch. CoA
can be used to identify a session and enforce a disconnect request. The update affects only the specified
session.
RADIUS Overview
RADIUS is a distributed client/server system that secures networks against unauthorized access. RADIUS
clients run on supported Cisco routers and switches. 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
64
Configuring RADIUS
RADIUS Operation
• 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. In one case, RADIUS has been used
with Enigma’s security cards to validates users and to grant access to network resources.
• 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 Figure: Transitioning
from RADIUS to TACACS+ Services below.
• 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 Configuring IEEE 802.1x Port-Based Authentication
chapter.
• 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
65
Configuring RADIUS
Default RADIUS Configuration
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:
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 switch 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 switch 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 switch.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
66
Configuring RADIUS
AAA Server Groups
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. The default method list is automatically applied to
all ports except those that have a named method list explicitly defined.
A method list describes the sequence and authentication methods to be queried to authenticate a user. You
can designate one or more security protocols to be used for authentication, thus ensuring a backup system for
authentication in case the initial method fails. The software uses the first method listed to authenticate users;
if that method fails to respond, the software selects the next authentication method in the method list. This
process continues until there is successful communication with a listed authentication method or until all
defined methods are exhausted. If authentication fails at any point in this cycle, meaning that the security
server or local username database responds by denying the user access, the authentication process stops, and
no other authentication methods are attempted.
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 switch 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
67
Configuring RADIUS
Vendor-Specific RADIUS Attributes
the format recommended in the specification. Cisco’s vendor-ID is 9, and the supported option has vendor-type
1, which is named cisco-avpair. The value is a string with this format:
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.
Figure 3: VSA Encapsulated Behind Attribute 26
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
68
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
VPDN Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
69
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
70
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
71
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
72
Configuring RADIUS
Vendor-Specific RADIUS Attributes
H323 Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
73
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
74
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
75
Configuring RADIUS
Vendor-Specific RADIUS Attributes
Miscellaneous Attributes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
76
Configuring RADIUS
RADIUS Disconnect-Cause Attribute Values
Note The Disconnect-Cause is incremented by 1000 when it is used in RADIUS AVPairs; for example, disc-cause
4 becomes 1004.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
77
Configuring RADIUS
RADIUS Disconnect-Cause Attribute Values
23 No-Remote-IP-Addr Could not switch to SLIP/PPP; the remote end has no IP address.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
78
Configuring RADIUS
RADIUS Disconnect-Cause Attribute Values
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
79
Configuring RADIUS
RADIUS Disconnect-Cause Attribute Values
195 Call-Duration Disconnected because the maximum duration of the call was exceeded.
601 VPN-Carrier-Loss Loss of carrier. This can be the result of a physical line going dead.
Code is sent when a client is unable to dial out using a dialer.
604 VPN-Admin-Disconnect Administrative disconnect. This can be the result of a VPN soft shutdown, which
is when a client reaches maximum session limit or exceeds maximum hopcount.
Code is sent when a tunnel is brought down by issuing the clear vpdn tunnel
command.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
80
Configuring RADIUS
RADIUS Progress Codes
Note In accounting start records, attribute 196 does not have a value.
Code Description
41 The max TNT is establishing the TCP connection by setting up a TCP clear call.
60 Link control protocol (LCP) is the open state with PPP and IP Control Protocol (IPCP) negotiation;
the LAN session is up.
65 PPP negotiation occurs and, initially, the LCP negotiation occurs; LCP is in the open state.
67 After PPP negotiation with LCP in the open state occurs, IPCP negotiation begins.
Note Progress codes 33, 30, and 67 are generated and seen through debugs on the NAS; all other codes are generated
and seen through debugs and the accounting record on the RADIUS server.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
81
Configuring RADIUS
Enhanced Test Command
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
82
Configuring RADIUS
Configuring Settings for All RADIUS Servers
Step 4 address {ipv4 | ipv6} ip address { auth-port Specifies the RADIUS server parameters.
port number | acct-port port number}
For auth-port port-number, specify the UDP
Example: destination port for authentication requests. The
default is 1645. The range is 0 to 65536.
Device(config-radius-server)# address
ipv4 172.2.2.12 auth-port 1612 For acct-port port-number, specify the UDP
destination port for authentication requests. The
default is 1646.
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
83
Configuring RADIUS
Configuring RADIUS Login Authentication
Step 3 radius-server retransmit retries Specifies the number of times the switch sends
each RADIUS request to the server before
Example:
giving up. The default is 3; the range 1 to 1000.
Device(config)# radius-server retransmit
5
Step 4 radius-server timeout seconds Specifies the number of seconds a switch waits
for a reply to a RADIUS request before
Example:
resending the request. The default is 5 seconds;
the range is 1 to 1000.
Device(config)# radius-server timeout
3
Device(config)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
84
Configuring RADIUS
Configuring RADIUS Login Authentication
Device> enable
Step 4 aaa authentication login {default | list-name} Creates a login authentication method list.
method1 [method2...]
• To create a default list that is used when a
Example: named list is not specified in the login
authentication command, use the default
Device(config)# aaa authentication login keyword followed by the methods that are
default local to be used in default situations. The default
method list is automatically applied to all
ports.
• For list-name, specify a character string to
name the list you are creating.
• For method1..., specify 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.
Select one of these methods:
• enable: Use the enable password for
authentication. Before you can use
this authentication method, you must
define an enable password by using
the enable password global
configuration command.
• group radius: Use RADIUS
authentication. Before you can use
this authentication method, you must
configure the RADIUS server.
• line: Use the line password for
authentication. Before you can use
this authentication method, you must
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
85
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)# 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)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
86
Configuring RADIUS
Defining AAA Server Groups
Procedure
Device> enable
Step 3 radius server name Specifies the name of the RADIUS server
configuration for Protected Access Credential
Example:
(PAC) provisioning and enters RADIUS server
configuration mode.
Device(config)# radius server ISE
The device also supports RADIUS for IPv6.
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
87
Configuring RADIUS
Configuring RADIUS Authorization for User Privileged Access and Network Services
Device(config-radius-server)# end
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
88
Configuring RADIUS
Starting RADIUS Accounting
Device> enable
Step 3 aaa authorization network radius Configures the device for user RADIUS
authorization for all network-related service
Example:
requests.
Device(config)# aaa authorization network
radius
Step 4 aaa authorization exec radius Configures the device for user RADIUS
authorization if the user has privileged EXEC
Example:
access.
Device(config)# aaa authorization exec The exec keyword might return user profile
radius information (such as autocommand
information).
Device(config)# end
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
89
Configuring RADIUS
Verifying Attribute 196
Procedure
Device> enable
Step 3 aaa accounting network start-stop radius Enables RADIUS accounting for all
network-related service requests.
Example:
Step 4 aaa accounting exec start-stop radius Enables RADIUS accounting to send a
start-record accounting notice at the beginning
Example:
of a privileged EXEC process and a stop-record
at the end.
Device(config)# aaa accounting exec
start-stop radius
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
90
Configuring RADIUS
Configuring the Device to Use Vendor-Specific RADIUS Attributes
Step 3 show radius statistics Displays the RADIUS statistics for accounting
and authentication packets.
Example:
Procedure
Device> enable
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
to limit the set of recognized
Device(config)# radius-server vsa send vendor-specific attributes to only
accounting 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
91
Configuring RADIUS
Configuring the Device for Vendor-Proprietary RADIUS Server Communication
Device(config)# end
Procedure
Device> enable
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 server1
Step 4 address {ipv4 | ipv6} ip address (Optional) Specifies the IP address of the
RADIUS server.
Example:
Device(config-radius-server)# address
ipv4 172.2.2.12
Device(config-radius-server)#
non-standard
Step 6 key [0 | 6 | 7] string Specifies the shared secret type and string used
between the device and the vendor-proprietary
Example:
RADIUS server. The device and the RADIUS
server use this to encrypt passwords and
Device(config-radius-server)# key 0
cisco123 exchange responses.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
92
Configuring RADIUS
Configuring a User Profile and Associating it with the RADIUS Record
Device(config-radius-server)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
93
Configuring RADIUS
Verifying the Enhanced Test Command Configuration
Step 4 aaa attribute {dnis | clid} Adds DNIS or CLID attribute values to the user
profile and enters AAA-user configuration
Example:
mode.
Device(config)# aaa attribute dnis
Device(config)# exit
Step 6 test aaa group {group-name | radius} Associates a DNIS or CLID named user profile
username password new-code [profile with the record sent to the RADIUS server.
profile-name]
Note The profile-name must match the
Example: profile-name specified in the aaa
user profile command.
Device# test aaa group radius secret
new-code profile profilename1
Command Purpose
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
94
Configuring RADIUS
Example: AAA Server Groups
The following example shows how to create server group radgroup2 with three RADIUS server members,
each with the same IP address but with unique authentication and accounting ports:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
95
Configuring RADIUS
Example: Configuring the Device to Use Vendor-Specific RADIUS Attributes
Timestamp = 997190463
Request-Authenticator = Unverified
cisco-avpair= ”ip:addr-pool=first“
This example shows how to provide a user logging in from a device with immediate access to privileged
EXEC commands:
cisco-avpair= ”shell:priv-lvl=15“
This example shows how to specify an authorized VLAN in the RADIUS server database:
cisco-avpair= ”tunnel-type(#64)=VLAN(13)”
cisco-avpair= ”tunnel-medium-type(#65)=802 media(6)”
cisco-avpair= ”tunnel-private-group-id(#81)=vlanid”
This example shows how to apply an input ACL in ASCII format to an interface for the duration of this
connection:
This example shows how to apply an output ACL in ASCII format to an interface for the duration of this
connection:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
96
Configuring RADIUS
Example: User Profile Associated With the test aaa group Command
Example: User Profile Associated With the test aaa group Command
The following example shows how to configure the dnis = dnisvalue user profile prfl1 and associate it with
a test aaa group command. In this example, the debug radius command has been enabled and the output
follows the configuration.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Standard/RFC Title
RFC 5176 RADIUS Change of Authorization (CoA) extensions
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
97
Configuring RADIUS
Feature History for RADIUS
MIBs
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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
98
CHAPTER 6
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 99
• Restrictions for Configuring Accounting, on page 99
• Information About Configuring Accounting, on page 100
• How to Configure Accounting, on page 111
• Configuration Examples for Accounting, on page 120
• Additional References for Configuring Accounting, on page 124
• Feature History for Configuring Accounting, on page 125
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
99
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
100
Configuring Accounting
Method Lists and Server Groups
Once again, 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:
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
101
Configuring Accounting
Accounting Record Types
Network Accounting
Network accounting provides information for all PPP, SLIP, or ARAP sessions, including packet and byte
counts.
The following example shows the information contained in a RADIUS network accounting record for a PPP
user who comes in through an EXEC session:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
102
Configuring Accounting
Network Accounting
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:
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:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
103
Configuring Accounting
EXEC Accounting
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.
The following example shows the information contained in a RADIUS EXEC accounting record for a dial-in
user:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
104
Configuring Accounting
Command Accounting
Acct-Authentic = RADIUS
Service-Type = Exec-User
Acct-Session-Id = “00000006”
Acct-Session-Time = 62
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 dial-in
user:
The following example shows the information contained in a RADIUS EXEC accounting record for a Telnet
user:
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
105
Configuring Accounting
Connection Accounting
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
106
Configuring Accounting
Connection Accounting
Acct-Session-Id = “00000008”
Login-Service = Telnet
Login-IP-Host = “10.68.202.158”
Acct-Input-Octets = 10774
Acct-Output-Octets = 112
Acct-Input-Packets = 91
Acct-Output-Packets = 99
Acct-Session-Time = 39
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 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
107
Configuring Accounting
System Accounting
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
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
Resource Accounting
The Cisco IOS 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:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
108
Configuring Accounting
VRRS Accounting
VRRS Accounting
Virtual Router Redundancy Service (VRRS) provides a multiclient information abstraction and management
service between a First Hop Redundancy Protocol (FHRP) and a registered client. The VRRS multiclient
service provides a consistent interface with FHRP protocols by abstracting over several FHRPs and providing
an idealized view of their state. VRRS manages data updates, allowing interested clients to register in one
place and receive updates for named FHRP groups or all registered FHRP groups.
Accounting messages for a VRRS transitioning out of primary state are sent after all PPPoE accounting stop
messages for sessions that are part of that VRRS.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
109
Configuring Accounting
AAA Session MIB
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.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
110
Configuring Accounting
How to Configure Accounting
Note System accounting does not use named method lists. For system accounting, define only the default method
list.
Procedure
Device> enable
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}
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
111
Configuring Accounting
Configuring RADIUS System Accounting
Device(config-line)# end
Procedure
Device> enable
Step 4 radius-server accounting system host-config Enables the device to send a system accounting
record for the addition and deletion of a
Example:
RADIUS server.
Device(config)# radius-server accounting
system host-config
Step 5 aaa group server radius server-name Adds the RADIUS server and enters
server-group configuration mode.
Example:
• The server-name argument specifies the
Device(config)# aaa group server radius RADIUS server group name.
radgroup1
Step 6 server-private {host-name | ip-address} key Enters the hostname or IP address of the
{[0 server-key | 7 server-key] server-key RADIUS server and hidden server key.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
112
Configuring Accounting
Suppressing Generation of Accounting Records for Null Username Sessions
Device(config-sg-radius)# end
Command Purpose
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
113
Configuring Accounting
Generating Accounting Records for Failed Login or Session
Command Purpose
When the aaa accounting updatecommand is 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.
Command Purpose
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
114
Configuring Accounting
Configuring AAA Resource Failure Stop Accounting
Command Purpose
Command Purpose
Command Purpose
Supports
Device(config)# aaa accounting resource the ability
method-list start-stop group to send a
server-group
start record
at each call
setup.
followed
with a
corresponding
stop record
at the call
disconnect.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
115
Configuring Accounting
Configuring Per-DNIS AAA Broadcast Accounting
Command Ppuorse
Eneasbl
Device(config)# aaa accounting {system | network | esndgi
exec | connection | commands level} aconugint
{default | list-name} {start-stop | stop-only | ercodrs
none} [broadcast] method1 [method2...] to
m peilutl
A
sevresr.
mSainyeotuls
sends
aconugint
ercodrs
to
the
first
sevrer
in
each
gorup.
If
the
first
sevrer
is
unavbela,i
oafliver
ocusr
unsig
the
backup
sevresr
dneifd
w hnti
that
gorup.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
116
Configuring Accounting
Configuring AAA Session MIB
Command Purpose
Note Overusing SNMP can affect the overall system performance; therefore, normal network management
performance must be considered when this feature is used.
To configure AAA session MIB, use the following command in global configuration mode
Procedure
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
117
Configuring Accounting
Configuring VRRS Accounting
Step 3 aaa accounting vrrs {default | list-name} Enables AAA accounting for VRRS.
start-stop method1 [method2...]
Example:
Step 4 aaa attribute list list-name Defines a AAA attribute list locally on a
device, and enters attribute list configuration
Example:
mode.
Device(config)# aaa attribute list list1
Step 5 attribute type name value [service service] Defines an attribute type that is to be added to
[protocol protocol][mandatory][tag an attribute list locally on a device.
tag-value]
Example:
Device(config-attr-list)# exit
Step 8 accounting delay seconds (Optional) Specifies the delay time for sending
accounting-off messages to the VRRS.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
118
Configuring Accounting
Establishing a Session with a Device if the AAA Server is Unreachable
Device(config-vrrs)# end
Command Purpose
Note Entering the no aaa accounting system guarantee-first command is not the only condition by which the
console or telnet session can be started. For example, if the privileged EXEC session is being authenticated
by TACACS and the TACACS server is not reachable, then the session cannot start.
Monitoring Accounting
No specific show command exists for either RADIUS or TACACS+ accounting. To obtain accounting records
displaying information about users currently logged in, use the following command in privileged EXEC mode:
Command Purpose
Allows display of the active accountable events on the network and helps
Device# show accounting 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:
Command Purpose
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
119
Configuring Accounting
Configuration Examples for Accounting
The lines in this sample RADIUS AAA configuration are defined as follows:
• The aaa new-model command enables AAA network security services.
• 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 blue1 group radius local command defines the network authorization
method list named “blue1”, 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 red1 start-stop group radius group tacacs+command defines the network
accounting method list named red1, which specifies that RADIUS accounting services (in this case, start
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
120
Configuring Accounting
Example: Configuring Named Method List
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, and 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, and 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.
• The encapsulation ppp command sets PPP as the encapsulation method used on the specified interfaces.
• The ppp authentication chap dialinscommand selects Challenge Handshake Authentication Protocol
(CHAP) as the method of PPP authentication and applies the “dialins” method list to the specified
interfaces.
• The ppp authorization blue1command applies the blue1 network authorization method list to the
specified interfaces.
• The ppp accounting red1command 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 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.
• The modem dialin command configures modems attached to the selected lines to only accept incoming
calls.
The show accountingcommand yields the following output for the preceding configuration:
Device# show accounting
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
121
Configuring Accounting
Example: Configuring AAA Resource Accounting
Field Description
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
122
Configuring Accounting
Example: Configuring Per-DNIS 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
123
Configuring Accounting
Example Configuring VRRS Accounting
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
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
RFCs
RFC Title
RFC 2989 Criteria for Evaluating AAA Protocols for Network Access
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
124
Configuring Accounting
Feature History for Configuring Accounting
Technical Assistance
Description Link
Cisco IOS Release 15.2(7)E1 Accounting AAA broadcast accounting 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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
125
Configuring Accounting
Feature History for Configuring Accounting
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
126
CHAPTER 7
Configuring Local Authentication and
Authorization
• How to Configure the Switch for Local Authentication and Authorization, on page 127
• Monitoring Local Authentication and Authorization, on page 129
• Feature History for Local Authentication and Authorization, on page 129
Note To secure the switch for HTTP access by using AAA methods, you must configure the switch with the ip
http authentication aaa command in global configuration mode. Configuring AAA authentication does not
secure the switch for HTTP access by using AAA methods.
To configure AAA to operate without a server by setting the switch to implement AAA in local mode, perform
this procedure.
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
127
Configuring Local Authentication and Authorization
How to Configure 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
Device(config)# aaa authentication login to all ports.
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:
Device(config)# aaa authorization
network default local
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.
Device(config)# username your_user_name • name: Specify the user ID as one word.
privilege 1 password 7 secret567
Spaces and quotation marks are not
allowed.
• level: (Optional) 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.
• encryption-type: Enter 0 to specify an
unencrypted password. Enter 7 to specify
a hidden password .
• password: Specify the password the user
must enter to gain access to the switch.
The password must be from 1 to 25
characters, can contain embedded spaces,
and must be the last option specified in
the username command.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
128
Configuring Local Authentication and Authorization
Monitoring Local Authentication and Authorization
Command Purpose
show running-config Displays the local authentication and authorization
configuration.
Cisco IOS Release 15.2(7)E1 Local Authentication and This feature helps AAA to operate without a
Authorization server by setting the device to implement AAA
in local mode.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
129
Configuring Local Authentication and Authorization
Feature History for Local Authentication and Authorization
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
130
CHAPTER 8
MAC Authentication Bypass
The MAC Authentication Bypass feature is a MAC-address-based authentication mechanism that allows
clients in a network to integrate with the Cisco Identity Based Networking Services (IBNS) and Network
Admission Control (NAC) strategy using the client MAC address. The MAC Authentication Bypass feature
is applicable to the following network environments:
• Network environments in which a supplicant code is not available for a given client platform.
• Network environments in which the end client configuration is not under administrative control, that is,
the IEEE 802.1X requests are not supported on these networks.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
131
MAC Authentication Bypass
Information About MAC Authentication Bypass
The Configurable MAB Username and Password feature allows interoperability between the Cisco IOS
Authentication Manager and the existing MAC databases and RADIUS servers. The password is a global
password and hence is the same for all MAB authentications and interfaces. This password is also synchronized
across all supervisor devices to achieve high availability.
If the password is not provided or configured, the password uses the same value as the username. The table
below describes the formatting of the username and the password:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
132
MAC Authentication Bypass
How to Configure MAC Authentication Bypass
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
133
MAC Authentication Bypass
Enabling Reauthentication on a Port
Device> enable
Device(config-if)# mab
Device(config-if)# end
Step 6 show authentication sessions interface type Displays the interface configuration and the
slot / port details authenticator instances on the interface.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
134
MAC Authentication Bypass
Enabling Reauthentication on a Port
Procedure
Device> enable
Device(config)# interface
gigabitethernet 1/0/1
Or
Device(config)# interface fastethernet
1/0/1
Device(config-if)# switchport
Step 6 authentication port-control auto Configures the authorization state of the port.
Example:
Device(config-if)# authentication
port-control auto
Device(config-if)# mab
Device(config-if)# authentication
periodic
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
135
MAC Authentication Bypass
Specifying the Security Violation Mode
Device(config-if)# end
Procedure
Device> enable
Device(config)# interface
gigabitethernet 1/0/1
Or
Device(config)# interface fastethernet
1/0/1
Device(config-if)# switchport
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
136
MAC Authentication Bypass
Enabling Configurable MAB Username and Password
Step 6 authentication port-control auto Configures the authorization state of the port.
Example:
Device(config-if)# authentication
port-control auto
Device(config-if)# mab
Step 8 authentication violation {protect | replace | Configures the action to be taken when a
restrict | shutdown} security violation occurs on the port.
Example:
Device(config-if)# authentication
violation shutdown
Step 9 authentication timer restart seconds Configures the period of time, in seconds, after
which an attempt is made to authenticate an
Example:
unauthorized port.
Device(config-if)# authentication timer
restart 30
Device(config-if)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
137
MAC Authentication Bypass
Configuration Examples for MAC Authentication Bypass
Step 3 mab request format attribute 1 groupsize {1 Configures the username format for MAB
| 2 | 4 | 12} separator {- | : | .} [lowercase | requests.
uppercase]
Example:
Device(config)# mab request format
attribute 1 groupsize 2 separator :
Step 4 mab request format attribute 2 [0 | 7] Configures a global password for all MAB
password requests.
Example:
Device(config)# mab request format
attribute 2 password1
Device> enable
Device# configure terminal
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# mab
Device(config-if)# end
Device# show authentication sessions interface gigabitethernet 1/0/1 details
Device> enable
Device# configure terminal
Device(config)# mab request format attribute 1 groupsize 2 separator :
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
138
MAC Authentication Bypass
Additional References for MAC Authentication Bypass
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
MIBs
• CISCO-AUTH-FRAMEWORK-MIB To locate and download MIBs for selected platforms, Cisco IOS
software releases, and feature sets, use Cisco MIB Locator found at
• CISCO-MAC-AUTH-BYPASS-MIB the following URL:
• CISCO-PAE-MIB http://www.cisco.com/go/mibs
• IEEE8021-PAE-MIB
RFCs
RFC Title
RFC 3580 IEEE 802.1x Remote Authentication Dial In User Service (RADIUS)
Technical Assistance
Description Link
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
139
MAC Authentication Bypass
Feature History for MAC Authentication Bypass
These features are available on all releases subsequent to the one they were introduced in, unless noted
otherwise.
Cisco IOS Release 15.2(7)E1 MAC Authentication Bypass The MAC Authentication Bypass feature is a
MAC-address-based authentication
mechanism that allows clients in a network to
integrate with the IBNS and NAC strategy
using the client MAC address.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
140
CHAPTER 9
Password Strength and Management for Common
Criteria
The Password Strength and Management for Common Criteria feature is used to specify password policies
and security mechanisms for storing, retrieving, and providing rules to specify user passwords.
For local users, the user profile and the password information with the key parameters are stored on the Cisco
device, and this profile is used for local authentication of users. The user can be an administrator (terminal
access) or a network user (for example, PPP users being authenticated for network access).
For remote users, where the user profile information is stored in a remote server, a third-party authentication,
authorization, and accounting (AAA) server may be used for providing AAA services, both for administrative
and network access.
• Restrictions for Password Strength and Management for Common Criteria, on page 141
• Information About Password Strength and Management for Common Criteria, on page 141
• How to Configure Password Strength and Management for Common Criteria, on page 143
• Configuration Example for Password Strength and Management for Common Criteria, on page 146
• Additional References for Password Strength and Management for Common Criteria, on page 147
• Feature History for Password Strength and Management for Common Criteria, on page 147
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
141
Password Strength and Management for Common Criteria
Password Composition Policy
If the password's lifetime is not configured for a user and the user has already logged on and if the security
administrator configures the lifetime for that user, then the lifetime will be set in the database. When the same
user is authenticated the next time, the system will check for password expiry. The password expiry is checked
only during the authentication phase.
If the user has been already authenticated and logged on to the system and if the password expires, then no
action will be taken. The user will be prompted to change the password only during the next authentication
for the same user.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
142
Password Strength and Management for Common Criteria
User Reauthentication Policy
When the security administrator changes the password security policy and the existing profile does not meet
the password security policy rules, no action will be taken if the user has already logged on to the system.
The user will be prompted to change the password only when the user tries to get authenticated using the
profile that does not meet the password security restriction.
When the user changes the password, the lifetime parameters set by the security administrator for the old
profile will be the lifetime parameters for the new password.
For noninteractive clients such as dot1x, when the password expires, appropriate error messages will be sent
to the clients, and the clients must contact the security administrator to renew the password.
Note Users can change their passwords only when they are logging on and after the expiry of the old password;
however, a security administrator can change the user's password at any time.
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
143
Password Strength and Management for Common Criteria
Configuring the Password Security Policy
Step 4 aaa common-criteria policy policy-name Creates the AAA security password policy and
enters common criteria configuration policy
Example:
mode.
Device(config)# aaa common-criteria
policy policy1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
144
Password Strength and Management for Common Criteria
Verifying the Common Criteria Policy
Procedure
Step 2 show aaa common-criteria policy name Displays the password security policy
policy-name information for a specific policy.
Example:
Device# show aaa common-criteria policy
name policy1
Step 3 show aaa common-criteria policy all Displays password security policy information
for all the configured policies.
Example:
Device# show aaa common-criteria policy
all
====================================================================
Policy name: policy1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
145
Password Strength and Management for Common Criteria
Configuration Example for Password Strength and Management for Common Criteria
ConfigurationExampleforPasswordStrengthandManagement
for Common Criteria
The following section provides a configuration example for password strength and management for common
criteria.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
146
Password Strength and Management for Common Criteria
Additional References for Password Strength and Management for Common Criteria
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)E (Catalyst 1000 Switches)
RFCs
RFC Title
Cisco IOS Release 15.2(7)E1 Password Strength and The Password Strength and Management for
Management for Common Common Criteria feature is used to specify
Criteria password policies and security mechanisms
for storing, retrieving, and providing rules to
specify user passwords.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
147
Password Strength and Management for Common Criteria
Feature History for Password Strength and Management for Common Criteria
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
148
CHAPTER 10
AAA-SERVER-MIB Set Operation
The AAA-SERVER-MIB Set Operation feature allows the authentication, authorization, and accounting
(AAA) server configuration to be extended or expanded by using the CISCO-AAA-SERVER-MIB to create
and add new AAA servers, modify the “KEY” under the CISCO-AAA-SERVER-MIB, and delete the AAA
server configuration.
• Prerequisites for AAA-SERVER-MIB Set Operation, on page 149
• Restrictions for AAA-SERVER-MIB Set Operation, on page 149
• Information About AAA-SERVER-MIB Set Operation, on page 149
• How to Configure AAA-SERVER-MIB Set Operation, on page 150
• Configuration Examples for AAA-SERVER-MIB Set Operation, on page 151
• Additional References for AAA-SERVER-MIB Set Operation, on page 153
• Feature History for AAA-SERVER-MIB Set Operation, on page 153
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
149
AAA-SERVER-MIB Set Operation
CISCO-AAA-SERVER-MIB
CISCO-AAA-SERVER-MIB
The CISCO-AAA-SERVER-MIB provides that statistics reflect both the state of the AAA server operation
with the server itself and of AAA communications with external servers. The CISCO-AAA-SERVER-MIB
provides the following information:
• Statistics for each AAA operation
• Status of servers that are providing AAA functions
• Identities of external AAA servers
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
150
AAA-SERVER-MIB Set Operation
Configuration Examples for AAA-SERVER-MIB Set Operation
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
151
AAA-SERVER-MIB Set Operation
RADIUS Server Configuration and Server Statistics Example
SNMP Get Operation to Check the Configuration and Statistics of the RADIUS Servers
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
152
AAA-SERVER-MIB Set Operation
Additional References for AAA-SERVER-MIB Set Operation
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
MIBs
Cisco IOS Release 15.2(7)E1 AAA-SERVER-MIB Set The AAA-SERVER-MIB Set Operation
Operation feature allows the authentication,
authorization, and accounting (AAA) server
configuration to be extended or expanded by
using the CISCO-AAA-SERVER-MIB to
create and add new AAA servers, modify the
“KEY” under the
CISCO-AAA-SERVER-MIB, and delete the
AAA server configuration.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
153
AAA-SERVER-MIB Set Operation
Feature History for AAA-SERVER-MIB Set Operation
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
154
CHAPTER 11
Configuring Secure Shell
The Secure Shell (SSH) feature is an application and a protocol that provides a secure replacement to the
Berkeley r-tools. The protocol secures sessions using standard cryptographic mechanisms, and the application
can be used similarly to the Berkeley rexec and rsh tools. Two versions of SSH are available: SSH Version
1 and SSH Version 2.
• Prerequisites for Configuring Secure Shell, on page 155
• Restrictions for Configuring Secure Shell, on page 156
• Information About Configuring Secure Shell , on page 156
• How to Configure Secure Shell, on page 159
• Configuration Examples for Secure Shell, on page 168
• Additional References for Secure Shell, on page 170
• Feature History for Configuring Secure Shell, on page 170
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
155
Configuring Secure Shell
Restrictions for Configuring Secure Shell
• Configure a hostname and host domain for your device by using the hostname and ip domain-name
commands in global configuration mode.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
156
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 server and SSH integrated client are applications that run on the switch. The SSH server works with
the SSH client supported in this release and with non-Cisco SSH clients. The SSH client works with publicly
and commercially available SSH servers. The SSH client supports the ciphers of Data Encryption Standard
(DES), 3DES, and password authentication.
The switch supports an SSHv1 or an SSHv2 server.
The switch supports an SSHv1 client.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
157
Configuring Secure Shell
Secure Copy Protocol
Note When using SCP, you cannot enter the password into the copy command. You must enter the password when
prompted.
Note Enable the SCP option while using the pscp.exe file with the Cisco software.
Reverse Telnet
Reverse telnet allows you to telnet to a certain port range and connect to terminal or auxiliary lines. Reverse
telnet has often been used to connect a Cisco device that has many terminal lines to the consoles of other
Cisco devices. Telnet makes it easy to reach the device console from anywhere simply by telnet to the terminal
server on a specific line. This telnet approach can be used to configure a device even if all network connectivity
to that device is disconnected. Reverse telnet also allows modems that are attached to Cisco devices to be
used for dial-out (usually with a rotary device).
Reverse SSH
Reverse telnet can be accomplished using SSH. Unlike reverse telnet, SSH provides for secure connections.
The Reverse SSH Enhancements feature provides you with a simplified method of configuring SSH. Using
this feature, you no longer have to configure a separate line for every terminal or auxiliary line on which you
want to enable SSH. The previous method of configuring reverse SSH limited the number of ports that can
be accessed to 100. The Reverse SSH Enhancements feature removes the port number limitation.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
158
Configuring Secure Shell
How to Configure Secure Shell
Procedure
Device> enable
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
the device automatically enables SSH.
Device(config)# crypto key generate rsa
We recommend that a minimum modulus size
of 1024 bits.
When you generate RSA keys, you are
prompted to enter a modulus length. A longer
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
159
Configuring Secure Shell
Configuring the SSH Server
Device(config)# end
Note This procedure is only required if you are configuring the device as an SSH server.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
160
Configuring Secure Shell
Configuring the SSH Server
Step 5 Use one or both of the following: (Optional) Configures the virtual terminal line
settings.
• line vty line_number[
ending_line_number] • Enters line configuration mode to
• transport input ssh configure the virtual terminal line settings.
For line_number and ending_line_number,
Example: specify a pair of lines. The range is 0 to
Device(config)# line vty 1 10 15.
• Specifies that the device prevent non-SSH
or
Telnet connections. This limits the router
Device(config-line)# transport input ssh to only SSH connections.
Device(config-line)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
161
Configuring Secure Shell
Troubleshooting Tips
Troubleshooting Tips
• If your Secure Shell (SSH) configuration commands are rejected as illegal commands, you have not
successfully generated an Rivest, Shamir, and Adleman (RSA) key pair for your device. Make sure that
you have specified a hostname and domain. Then use the crypto key generate rsa command to generate
an RSA key pair and enable the SSH server.
• When configuring the RSA key pair, you might encounter the following error messages:
• No hostname specified.
You must configure a hostname for the device using the hostname global configuration command.
• No domain specified.
You must configure a host domain for the device using the ip domain-name global configuration
command.
• The number of allowable SSH connections is limited to the maximum number of vtys configured for the
device. Each SSH connection uses a vty resource.
• SSH uses either local security or the security protocol that is configured through AAA on your device
for user authentication. When configuring Authentication, Authorization, and Accounting ( AAA), you
must ensure that AAA is disabled on the console for user authentication. 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.
Procedure
Device> enable
Step 3 line line-number ending-line-number Identifies a line for configuration and enters
line configuration mode.
Example:
Device# line 1 3
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
162
Configuring Secure Shell
Configuring Reverse SSH for Console Access
Device(config-line)# no exec
Device(config-line)# exit
Device(config)# exit
Step 9 ssh -l userid : {number} {ip-address} Specifies the user ID to use when logging in on
the remote networking device that is running
Example:
the SSH server.
Device# ssh -l lab:1 router.example.com • userid : User ID.
• : : Signifies that a port number and
terminal IP address will follow the userid
argument.
• number: Terminal or auxiliary line
number.
• ip-address : Terminal server IP address.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
163
Configuring Secure Shell
Configuring Reverse SSH for Modem Access
Procedure
Device> enable
Step 3 line line-number ending-line-number Identifies a line for configuration and enters
line configuration mode.
Example:
Device(config-line)# no exec
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
164
Configuring Secure Shell
Troubleshooting Reverse SSH on the Client
Device(config-line)# exit
Device(config)# exit
Step 10 ssh -l userid :rotary {number} {ip-address} Specifies the user ID to use when logging in
on the remote networking device that is
Example:
running the SSH server.
Device# ssh -l lab:rotary1 • userid : User ID.
router.example.com
• : : Signifies that a port number and
terminal IP address will follow the userid
argument.
• number : Terminal or auxiliary line
number.
• ip-address : Terminal server IP address.
Procedure
Device> enable
Step 2 debug ip ssh client Displays debugging messages for the SSH
client.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
165
Configuring Secure Shell
Troubleshooting Reverse SSH on the Server
Procedure
Device> enable
Table 16: Commands for Displaying the SSH Server Configuration and Status
Command Purpose
show ip Shows the version and configuration information for the SSH server.
ssh
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
166
Configuring Secure Shell
Configuring Secure Copy
Procedure
Device> enable
Step 4 aaa authentication login {default | Enables the AAA access control system.
list-name} method1 [ method2... ]
Example:
Step 5 aaa authorization {network | exec | Sets parameters that restrict user access to a
commands level | reverse-access | network.
configuration} {default | list-name} [method1
Note The exec keyword runs
[ method2... ]]
authorization to determine if the user
Example: is allowed to run an EXEC shell;
therefore, you must use the exec
Device(config)# aaa authorization exec keyword when you configure SCP.
default group tacacs+
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
167
Configuring Secure Shell
Configuration Examples for Secure Shell
Device(config)# exit
! AAA authentication and authorization must be configured properly in order for SCP to work.
aaa new-model
aaa authentication login default local
aaa authorization exec default local
username user1 privilege 15 password 0 lab
! SSH must be configured and functioning properly.
ip scp server enable
Example:SCPServer-SideConfigurationUsingNetwork-BasedAuthentication
The following example shows how to configure the server-side functionality of SCP using a network-based
authentication mechanism:
! AAA authentication and authorization must be configured properly for SCP to work.
aaa new-model
aaa authentication login default group tacacs+
aaa authorization exec default group tacacs+
! SSH must be configured and functioning properly.
ip ssh time-out 120
ip ssh authentication-retries 3
ip scp server enable
line 1 3
no exec
login authentication default
transport input ssh
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
168
Configuring Secure Shell
Example Reverse SSH Modem Access
Client Configuration
The following commands configured on the SSH client will form the reverse SSH session with lines 1, 2, and
3, respectively:
line 1 200
no exec
login authentication default
rotary 1
transport input ssh
exit
The following command shows that reverse SSH will connect to the first free line in the rotary group:
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:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
169
Configuring Secure Shell
Additional References for Secure Shell
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
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 Release 15.2(7)E1 Secure Shell SSH is a protocol that provides a secure,
remote connection to a device. SSH provides
more security for remote connections than
Telnet does by providing strong encryption
when a device is authenticated.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
170
CHAPTER 12
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.
• Information About Secure Shell Version 2 Support, on page 171
• How to Configure Secure Shell Version 2 Support, on page 176
• Configuration Examples for Secure Shell Version 2 Support, on page 189
• Additional References for Secure Shell Version 2 Support, on page 192
• Feature History for Secure Shell Version 2 Support, on page 193
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
171
Secure Shell Version 2 Support
Secure Shell Version 2 Enhancements for RSA Keys
Note The login banner is supported in SSH Version 2, but it is not supported in Secure Shell Version 1.
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.
Note 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.
Note For server authentication, configure the RSA public key of the server manually and configure the ip ssh
stricthostkeycheck command on the Cisco SSH client.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
172
Secure Shell Version 2 Support
SNMP Trap Generation
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.
The following example shows that an SNMP trap is set. The trap notification is generated automatically when
the SSH session terminates. In the example, a.b.c.d is the IP address of the SSH client.
snmp-server
snmp-server host a.b.c.d public tty
The following is sample output from the debug snmp packet command. The output provides SNMP trap
information for an SSH session.
Switch# exit
Switch#
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
173
Secure Shell Version 2 Support
Example: Enabling Client-Side Debugs
• SecurID and hardware tokens printing a number or a string in response to a challenge sent by the server
• Pluggable Authentication Module (PAM)
• S/KEY (and other One-Time-Pads)
Password:
Password:
Password:
Password:
Password:
Password: cisco123
Last login: Tue Dec 6 13:15:21 2005 from 10.76.248.213
user1@courier:~> exit
logout
[Connection to 10.76.248.200 closed by foreign host]
Device1# debug ip ssh client
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>
Password:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
174
Secure Shell Version 2 Support
Example: Enabling ChPass and Changing the Password on First Login
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.
Password: cisco
Device2> exit
Password: cisco
Device2> exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
175
Secure Shell Version 2 Support
How to Configure Secure Shell Version 2 Support
Password: cisco
Device2> exit
Password: cisco
Your password has expired.
Enter a new one now.
New Password: cisco123
Re-enter New password: cisco123
Device2>
Device> enable
cisco7200(config)# ip domain-name
example.com
Step 5 crypto key generate rsa Enables the SSH server for local and remote
authentication.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
176
Secure Shell Version 2 Support
Configuring a Device for SSH Version 2 Using RSA Key Pairs
Device> enable
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 RSA
key pairs.
Device(config)# ip ssh rsa keypair-name
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
be at least 768 bits.
Device(config)# crypto key generate rsa
usage-keys label sshkeys modulus 768
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
177
Secure Shell Version 2 Support
Configuring the Cisco SSH Server to Perform RSA-Based User Authentication
Device(config)# exit
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
178
Secure Shell Version 2 Support
Configuring the Cisco SSH Server to Perform RSA-Based User 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 • 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.
Step 9 key-hash key-type key-name (Optional) Specifies the SSH key type and
version.
Example:
• The key type must be ssh-rsa for the
host1(conf-ssh-pubkey-data)# key-hash configuration of private public key pairs.
ssh-rsa key1
• 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
179
Secure Shell Version 2 Support
Configuring the Cisco IOS SSH Client to Perform RSA-Based Server Authentication
Device> enable
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
180
Secure Shell Version 2 Support
Configuring the Cisco IOS SSH Client to Perform RSA-Based Server Authentication
host1(conf-ssh-pubkey-data)# exit
Step 10 key-hash key-type key-name (Optional) Specifies the SSH key type and
version.
Example:
• The key type must be ssh-rsa for the
host1(conf-ssh-pubkey-server)# key-hash configuration of private/public key pairs.
ssh-rsa key1
• 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.
host1(conf-ssh-pubkey-server)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
181
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
Note The following task configures the server-side functionality for SCP. This task shows a typical configuration
that allows the device to securely copy files from a remote workstation.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
182
Secure Shell Version 2 Support
Enabling Secure Copy Protocol on the SSH Server
Procedure
Device> enable
Step 4 aaa authentication login default local Sets AAA authentication at login to use the
local username database for authentication.
Example:
Step 5 aaa authorization exec defaultlocal Sets the parameters that restrict user access to
a network, runs the authorization to determine
Example:
if the user ID is allowed to run an EXEC shell,
and specifies that the system must use the local
Device(config)# aaa authorization exec
default local database for authorization.
Step 7 ip ssh time-outseconds Sets the time interval (in seconds) that the
device waits for the SSH client to respond.
Example:
Device(config)# ip ssh
authentication-retries 3
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
183
Secure Shell Version 2 Support
Verifying the Status of the Secure Shell Connection
Device(config)# exit
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
184
Secure Shell Version 2 Support
Verifying the Secure Shell 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
185
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
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
186
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:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
187
Secure Shell Version 2 Support
Monitoring and Maintaining Secure Shell Version 2
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
188
Secure Shell Version 2 Support
Configuration Examples for Secure Shell Version 2 Support
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
189
Secure Shell Version 2 Support
Example: Configuring Server-Side SCP
snmp-server
snmp-server host a.b.c.d public tty
The following is sample output from the debug snmp packet command. The output provides SNMP trap
information for an SSH session.
Device2# exit
Device1#
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
190
Secure Shell Version 2 Support
Examples: SSH Keyboard Interactive Authentication
Device2# exit
Device1#
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
191
Secure Shell Version 2 Support
Additional References for Secure Shell Version 2 Support
The following is sample output from the debug ip ssh packet command. The output provides debugging
information about the SSH packet.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Standards
Standards Title
IETF Secure Shell Version 2 Draft Standards Internet Engineering Task Force website
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
192
Secure Shell Version 2 Support
Feature History for Secure Shell Version 2 Support
Technical Assistance
Description Link
Cisco IOS Release 15.2(7)E1 Secure Shell Version 2 The Secure Shell Version 2 Support feature
Support 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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
193
Secure Shell Version 2 Support
Feature History for Secure Shell Version 2 Support
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
194
CHAPTER 13
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 195
• Restrictions for SSH File Transfer Protocol, on page 195
• Information About SSH File Transfer Protocol, on page 195
• How to Configure SSH File Transfer Protocol, on page 196
• Example: Configuring SSH File Transfer Protocol, on page 197
• Additional References, on page 197
• Feature History for SSH File Transfer Protocol, on page 198
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
195
Configuring SSH File Transfer Protocol
How to Configure SSH File Transfer Protocol
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:
Device(config)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
196
Configuring SSH File Transfer Protocol
Perform an SFTP Copy Operation
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:
Device> enable
Device# configure terminal
Device(config)# ip ssh source-interface gigabitethernet 1/0/1
Device(config)# exit
Additional References
Related Documents
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
197
Configuring SSH File Transfer Protocol
Feature History for SSH File Transfer Protocol
Technical Assistance
Description Link
Cisco IOS Release 15.2(7)E1 SSH File Transfer Protocol SSH includes support for SFTP, a new
standard file transfer protocol introduced in
SSHv2.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
198
CHAPTER 14
X.509v3 Certificates for SSH Authentication
The X.509v3 Certificates for SSH Authentication feature uses public key algorithm (PKI) for server and user
authentication, and allows the Secure Shell (SSH) protocol to verify the identity of the owner of a key pair
via digital certificates, signed and issued by a Certificate Authority (CA).
This module describes how to configure server and user certificate profiles for a digital certificate.
• Prerequisites for X.509v3 Certificates for SSH Authentication, on page 199
• Restrictions for X.509v3 Certificates for SSH Authentication, on page 199
• Information About X.509v3 Certificates for SSH Authentication, on page 200
• How to Configure X.509v3 Certificates for SSH Authentication, on page 201
• Verifying the Server and User Authentication Using Digital Certificates , on page 204
• Configuration Examples for X.509v3 Certificates for SSH Authentication, on page 208
• Additional References for X.509v3 Certificates for SSH Authentication, on page 209
• Feature History for X.509v3 Certificates for SSH Authentication, on page 209
Warning SSH command accepted; but this CLI will be deprecated soon. Please move to new CLI ip ssh server
algorithm authentication. Please configure the default ip ssh server authenticate user to make the CLI
ineffective.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
199
X.509v3 Certificates for SSH Authentication
Information About X.509v3 Certificates for SSH Authentication
• The Cisco IOS SSH server supports only the x509v3-ssh-rsa algorithm-based certificate for server and
user authentication.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
200
X.509v3 Certificates for SSH Authentication
How to Configure X.509v3 Certificates for SSH Authentication
Device> enable
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: Note The IOS SSH server must have at
least one configured host key
Device(config)# ip ssh server algorithm algorithm:
hostkey x509v3-ssh-rsa
• x509v3-ssh-rsa:
certificate-based
authentication
• ssh-rsa: public key-based
authentication
Step 4 ip ssh server certificate profile Configures server and user certificate profiles
and enters SSH certificate profile configuration
Example:
mode.
Device(config)# ip ssh server
certificate profile
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
201
X.509v3 Certificates for SSH Authentication
Configuring Digital Certificates for User Authentication
Step 9 line vty line_number [ending_line_number] Enters line configuration mode to configure
the virtual terminal line settings. For
Example:
line_number and ending_line_number, specify
Device(config)# line vty line_number a pair of lines. The range is 0 to 15.
[ending_line_number]
Step 10 transport input ssh Specifies that the device prevent non-SSH
Telnet connections. This limits the router to
Example:
only SSH connections.
Device(config-line)#transport input ssh
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
202
X.509v3 Certificates for SSH Authentication
Configuring Digital Certificates for User Authentication
Step 4 ip ssh server algorithm publickey Defines the order of public key algorithms.
{x509v3-ssh-rsa [ssh-rsa] | ssh-rsa Only the configured algorithm is accepted by
[x509v3-ssh-rsa]} the SSH client for user authentication.
Example: Note The IOS SSH client must have at
least one configured public key
Device(config)# ip ssh server algorithm algorithm:
publickey x509v3-ssh-rsa
• x509v3-ssh-rsa:
Certificate-based
authentication
• ssh-rsa: Public-key-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
Step 7 trustpoint verify PKI-trustpoint-name Configures the public key infrastructure (PKI)
trustpoint that is used to verify the incoming
Example:
user certificate.
Device(ssh-server-cert-profile-user)# Note Configure multiple trustpoints by
trustpoint verify trust2 executing the same command
multiple times. A maximum of 10
trustpoints can be configured.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
203
X.509v3 Certificates for SSH Authentication
Verifying the Server and User Authentication Using Digital Certificates
Step 10 line vty line_number [ending_line_number] Enters line configuration mode to configure
the virtual terminal line settings. For
Example:
line_number and ending_line_number, specify
Device(config)# line vty line_number a pair of lines. The range is 0 to 15.
[ending_line_number]
Step 11 transport input ssh Specifies that the device prevent non-SSH
Telnet connections. This limits the router to
Example:
only SSH connections.
Device(config-line)#transport input ssh
Step 1 enable
Enables privileged EXEC mode.
• Enter your password if prompted.
Example:
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
204
X.509v3 Certificates for SSH Authentication
Verifying the Server and User Authentication Using Digital Certificates
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
205
X.509v3 Certificates for SSH Authentication
Verifying the Server and User Authentication Using Digital Certificates
hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96
*Sep 6 14:44:08.496 IST: SSH2 0: SSH2_MSG_KEXINIT sent
*Sep 6 14:44:08.496 IST: SSH2 0: SSH2_MSG_KEXINIT received
*Sep 6 14:44:08.496 IST: SSH2 0: kex: client->server enc:aes128-ctr mac:hmac-sha2-256
*Sep 6 14:44:08.496 IST: SSH2 0: kex: server->client enc:aes128-ctr mac:hmac-sha2-256
*Sep 6 14:44:08.496 IST: SSH2 0: Using hostkey algo = ssh-rsa
*Sep 6 14:44:08.496 IST: SSH2 0: Using kex_algo = diffie-hellman-group-exchange-sha1
*Sep 6 14:44:08.497 IST: SSH2 CLIENT 0: SSH2_MSG_KEXINIT received
*Sep 6 14:44:08.497 IST: SSH2 CLIENT 0: kex: server->client enc:aes128-ctr mac:hmac-sha2-256
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
206
X.509v3 Certificates for SSH Authentication
Verifying the Server and User Authentication Using Digital Certificates
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
207
X.509v3 Certificates for SSH Authentication
Configuration Examples for X.509v3 Certificates for SSH 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)# exit
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
208
X.509v3 Certificates for SSH Authentication
Additional References for X.509v3 Certificates for SSH Authentication
Device(ssh-server-cert-profile-user)# end
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)E (Catalyst 1000 Switches)
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 Release 15.2(7)E1 X.509v3 Certificates for SSH The X.509v3 Certificates for SSH
Authentication Authentication feature uses the X.509v3
digital certificates in server and user
authentication at the SSH server side.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
209
X.509v3 Certificates for SSH Authentication
Feature History for X.509v3 Certificates for SSH Authentication
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
210
CHAPTER 15
Configuring Secure Socket Layer HTTP
This feature provides Secure Socket Layer (SSL) version 3.0 support for the HTTP 1.1 server and HTTP 1.1
client within Cisco IOS software. SSL provides server authentication, encryption, and message integrity to
allow secure HTTP communications. SSL also provides HTTP client authentication. HTTP over SSL is
abbreviated as HTTPS.
• Information About Secure Socket Layer HTTP, on page 211
• How to Configure Secure Socket Layer HTTP, on page 214
• Monitoring Secure HTTP Server and Client Status, on page 221
• Configuration Examples for Secure Socket Layer HTTP, on page 222
• Additional References for Secure Socket Layer HTTP, on page 223
• Feature History for Secure Socket Layer HTTP, on page 223
Note SSL evolved into Transport Layer Security (TLS) in 1999, but is still used in this particular context.
The primary role of the HTTP secure server (the switch) is to listen for HTTPS requests on a designated port
(the default HTTPS port is 443) and pass the request to the HTTP 1.1 Web server. The HTTP 1.1 server
processes requests and passes responses (pages) back to the HTTP secure server, which, in turn, responds to
the original request.
The primary role of the HTTP secure client (the web browser) is to respond to Cisco IOS application requests
for HTTPS User Agent services, perform HTTPS User Agent services for the application, and pass the response
back to the application.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
211
Configuring Secure Socket Layer HTTP
Certificate Authority Trustpoints
Note The certificate authorities and trustpoints must be configured on each device individually. Copying them from
other devices makes them invalid on the device.
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 either the CLI or by physical reboot. On restarting the
server, the device 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>
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
212
Configuring Secure Socket Layer HTTP
CipherSuites
<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.
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 Secure Hash Algorithm (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).
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
213
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
214
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
configured the server, you can configure options (path, access list to apply, maximum number of connections,
or timeout policy) that apply to both standard and secure HTTP servers.
To verify the secure HTTP connection by using a Web browser, enter https://URL, where the URL is the IP
address or hostname of the server device. If you configure a port other than the default port, you must also
specify the port number after the URL. For example:
https://209.165.129:1026
or
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 the ip http access-class command for specifying an access-list for the HTTP server, the below
warning message appears:
This CLI will be deprecated soon, Please use new CLI ip http
access-class ipv4/ipv6 <access-list-name>| <access-list-number>
• 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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
215
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
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
or
Step 4 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
in the range 1025 to 65535.
Device(config)# ip http secure-port 443
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
216
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Server
Step 8 ip http path path-name (Optional) Sets a base HTTP path for HTML
files. The path specifies the location of the
Example:
HTTP server files on the local system (usually
located in system flash memory).
Device(config)# ip http path
/your_server:80
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
217
Configuring Secure Socket Layer HTTP
Configuring the Secure HTTP Client
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
218
Configuring Secure Socket Layer HTTP
Configuring a CA Trustpoint
Device(config)# end
Configuring a CA Trustpoint
For secure HTTP connections, we recommend that you configure an official CA trustpoint. A CA trustpoint
is more secure than a self-signed certificate.
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
219
Configuring Secure Socket Layer HTTP
Configuring a CA Trustpoint
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 device. RSA key pairs are
generated automatically. You can use this
Device(config)# crypto key generate rsa
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 device should
send certificate requests.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
220
Configuring Secure Socket Layer HTTP
Monitoring Secure HTTP Server and Client Status
Device(ca-trustpoint)# exit
Step 12 crypto ca authentication name Authenticates the CA by getting the public key
of the CA. Use the same name used in the
Example:
crypto ca trustpoint command.
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
Device(config)# end
Table 17: 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
221
Configuring Secure Socket Layer HTTP
Configuration Examples for Secure Socket Layer HTTP
In the following example, the CA trustpoint CA-trust-local is specified, and the HTTPS client is configured
to use this trustpoint for client authentication requests:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
222
Configuring Secure Socket Layer HTTP
Additional References for Secure Socket Layer HTTP
Device(config)# end
Device# copy running-config startup-config
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
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 Release 15.2(7)E1 Secure Socket Layer HTTP Cisco's implementation of the secure HTTP
server 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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
223
Configuring Secure Socket Layer HTTP
Feature History for Secure Socket Layer HTTP
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
224
CHAPTER 16
Certification Authority Interoperability
This chapter describes how to configure certification authority (CA) interoperability, which is provided in
support of the IPSec protocol. CA interoperability permits Cisco IOS devices and CAs to communicate so
that your Cisco IOS device can obtain and use digital certificates from the CA. Although IPSec can be
implemented in your network without the use of a CA, using a CA provides manageability and scalability for
IPSec.
• Prerequisites For Certification Authority, on page 225
• Restrictions for Certification Authority, on page 225
• Information About Certification Authority, on page 225
• How to Configure Certification Authority, on page 227
• Monitoring and Maintaining Certification Authority, on page 233
• Feature History for Certification Authority Interoperability, on page 238
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
225
Certification Authority Interoperability
CA Supported Standards
CA Supported Standards
Without certification authority (CA) interoperability, Cisco IOS devices could not use CAs when deploying
IPSec. CAs provide a manageable, scalable solution for IPSec networks.
Cisco supports the following standards with this feature:
• IPSec—IPSec is a framework of open standards that provides data confidentiality, data integrity, and
data authentication between participating peers. IPSec provides these security services at the IP layer; it
uses Internet Key Exchange to handle negotiation of protocols and algorithms based on local policy, and
to generate the encryption and authentication keys to be used by IPSec. IPSec can be used to protect one
or more data flows between a pair of hosts, between a pair of security gateways, or between a security
gateway and a host.
• Internet Key Exchange (IKE)—A hybrid protocol that implements Oakley and Skeme key exchanges
inside the Internet Security Association Key Management Protocol (ISAKMP) framework. Although
IKE can be used with other protocols, its initial implementation is with the IPSec protocol. IKE provides
authentication of the IPSec peers, negotiates IPSec keys, and negotiates IPSec security associations.
• Public-Key Cryptography Standard #7 (PKCS #7)—A standard from RSA Data Security, Inc., used to
encrypt and sign certificate enrollment messages.
• Public-Key Cryptography Standard #10 (PKCS #10)—A standard syntax from RSA Data Security, Inc.
for certificate requests.
• RSA Keys—RSA is the public key cryptographic system developed by Ron Rivest, Adi Shamir, and
Leonard Adleman. RSA keys come in pairs: one public key and one private key.
• X.509v3 certificates—Certificate support that allows the IPSec-protected network to scale by providing
the equivalent of a digital ID card to each device. When two devices wish to communicate, they exchange
digital certificates to prove their identity (thus removing the need to manually exchange public keys with
each peer or to manually specify a shared key at each peer). These certificates are obtained from a CA.
X.509 is part of the X.500 standard of the ITU.
Purpose of CAs
Certificate authorities (CAs) are responsible for managing certificate requests and issuing certificates to
participating IPSec network devices. These services provide centralized key management for the participating
devices.
CAs simplify the administration of IPSec network devices. You can use a CA with a network containing
multiple IPSec-compliant devices such as routers.
Digital signatures, enabled by public key cryptography, provide a means of digitally authenticating devices
and individual users. In public key cryptography, such as the RSA encryption system, each user has a key
pair containing both a public and a private key. The keys act as complements, and anything encrypted with
one of the keys can be decrypted with the other. In simple terms, a signature is formed when data is encrypted
with a user's private key. The receiver verifies the signature by decrypting the message with the sender's public
key. The fact that the message could be decrypted using the sender's public key indicates that the holder of
the private key, the sender, must have created the message. This process relies on the receiver's having a copy
of the sender's public key and knowing with a high degree of certainty that it really does belong to the sender
and not to someone pretending to be the sender.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
226
Certification Authority Interoperability
Registration Authorities
Digital certificates provide the link. A digital certificate contains information to identify a user or device, such
as the name, serial number, company, department, or IP address. It also contains a copy of the entity's public
key. The certificate is itself signed by a certification authority (CA), a third party that is explicitly trusted by
the receiver to validate identities and to create digital certificates.
In order to validate the signature of the CA, the receiver must first know the CA's public key. Normally this
process is handled out-of-band or through an operation done at installation. For instance, most web browsers
are configured with the public keys of several CAs by default. The Internet Key Exchange (IKE), an essential
component of IPSec, can use digital signatures to scalably authenticate peer devices before setting up security
associations.
Without digital signatures, one must manually exchange either public keys or secrets between each pair of
devices that use IPSec to protect communications between them. Without certificates, every new device added
to the network requires a configuration change on every other device with which it communicates securely.
With digital certificates, each device is enrolled with a certification authority. When two devices wish to
communicate, they exchange certificates and digitally sign data to authenticate each other. When a new device
is added to the network, one simply enrolls that device with a CA, and none of the other devices needs
modification. When the new device attempts an IPSec connection, certificates are automatically exchanged
and the device can be authenticated.
Registration Authorities
Some CAs have a registration authority (RA) as part of their implementation. An RA is essentially a server
that acts as a proxy for the CA so that CA functions can continue when the CA is offline.
Some of the configuration tasks described in this document differ slightly, depending on whether your CA
supports an RA.
CRLs are normally stored at your device according to the following conditions:
• If your CA does not support an RA, only one CRL gets stored in the device.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
227
Certification Authority Interoperability
Configuring the Device Host Name and IP Domain Name
In some cases, storing these certificates and CRLs locally will not present any difficulty. In other cases,
memory might become a problem—particularly if the CA supports an RA and a large number of CRLs have
to be stored on the device. If the NVRAM is too small to store root certificates, only the fingerprint of the
root certificate is saved.
To save NVRAM space, specify that certificates and CRLs should not be stored locally, but should be retrieved
from the CA when needed. This alternative will save NVRAM space but could result in a slight performance
impact. To specify that certificates and CRLs should not be stored locally on your device, but should be
retrieved when required, enable query mode.
If you do not enable query mode now, you can do it later even if certificates and CRLs have are already stored
on the device. In this case, when you enable query mode, the stored certificates and CRLs are deleted from
the device after you save the configuration. (If you copy the configuration to a TFTP site prior to enabling
query mode, you can save any stored certificates and CRLs at the TFTP site.)
Before disabling query mode, perform the copy system:running-config nvram:startup-config command
to save all current certificates and CRLs to NVRAM. Otherwise they could be lost during a reboot.
To specify that certificates and CRLs should not be stored locally on your device, but should be retrieved
when required, enable query mode by using the following command in global configuration mode:
Procedure
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
228
Certification Authority Interoperability
Generating an RSA Key Pair
Procedure
Step 3 crypto key generate rsa [usage-keys] Generates an RSA key pair.
Example: Use the usage-keys keyword to specify
Device(config)# crypto key generate rsa special-usage keys instead of general-purpose
usage-keys keys.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
229
Certification Authority Interoperability
Declaring a Certification Authority
Procedure
Step 3 crypto pki trustpoint name Declares the certification authority (CA) that
your device should use and enters the CA
Example:
trustpoint configuration mode.
Device(config)# crypto pki trustpoint
ka
Step 4 enrollment url url Specifies the URL of the CA server to which
enrollment requests are sent.
Example:
Device(ca-trustpoint)# enrollment url
http://entrust:81
Step 7 crypto pki trustpoint name Declares the trustpoint that your device should
use and enters Ca-trustpoint configuration
Example:
mode.
Device(config)# crypto pki trustpoint
ka
Step 8 crl query ldap://url:[port] Queries the certificate revocation list (CRL)
to ensure that the certificate of the peer is not
Example:
revoked.
Device(ca-trustpoint)# crl query
ldap://bar.cisco.com:3899
Step 9 enrollment {mode ra | retry count number | Specifies the enrollment wait period between
retry period minutes | url url} certificate request retries.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
230
Certification Authority Interoperability
Configuring a Root CA (Trusted Root)
Step 10 enrollment {mode ra | retry count number | Specifies the number of times a device will
retry period minutes | url url} resend a certificate request when it does not
receive a response from the previous request.
Example:
Device(ca-trustpoint)# enrollment retry
count 8
Step 11 revocation-check method1 [method2 method3] Checks the revocation status of a certificate.
Example:
Device(ca-trustpoint)# revocation-check
crl ocsp
Step 3 crypto pki trustpoint name Declares the trustpoint that your device should
use and enters CA trustpoint configuration
Example:
mode.
Device(config)# crypto pki trustpoint ka
Step 4 revocation-check method1 [method2 method3] Checks the revocation status of a certificate.
Example:
Device(ca-trustpoint)# revocation-check
ocsp
Step 5 root tftp server-hostname filename Obtains the certification authority (CA)
certificate via TFTP.
Example:
Device(ca-trustpoint)# root tftp server1
file1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
231
Certification Authority Interoperability
Authenticating the CA
Authenticating the CA
The device must authenticate the certification authority (CA). It does this by obtaining the self-signed certificate
of the CA, which contains the public key of the CA. Because the certificate of the CA is self-signed (the CA
signs its own certificate) the public key of the CA should be manually authenticated by contacting the CA
administrator to compare the fingerprint of the CA certificate when you perform this step.
Perform the following task to get the public key of the CA:
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
232
Certification Authority Interoperability
Monitoring and Maintaining Certification Authority
Perform the following task to request signed certificates from the CA:
Note If your device reboots after you have issued the crypto pki enroll command, but before you have received
the certificates, you must reissue the command and notify the CA administrator.
Procedure
Step 3 crypto pki enroll number Obtains certificates for your device from the
CA.
Example:
Device(config)# crypto pki enroll myca
What to do next
Saving Your Configuration
Always remember to save your work when you make configuration changes.
Use the copy system:running-config nvram:startup-config command to save your configuration. This
command includes saving RSA keys to private NVRAM. RSA keys are not saved with your configuration
when you use a copy system:running-config rcp: or copy system:running-config tftp: command.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
233
Certification Authority Interoperability
Querying a Certification Revocation List
A CRL can be reused with subsequent certificates until the CRL expires if query mode is off. If the device
receives a peer's certificate after the applicable CRL has expired, the device will download the new CRL.
If the device has a CRL that has not yet expired, but you suspect that the contents of the CRL are out of date,
you can request that the latest CRL be downloaded immediately to replace the old CRL.
Procedure
Step 3 crypto pki crl request name Requests that a new certificate revocation list
(CRL) be obtained immediately from the CA.
Example:
Device(config)# crypto pki crl request
myca
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
234
Certification Authority Interoperability
Deleting RSA Keys from a Device
Step 3 crypto pki trustpoint name Declares the trustpoint that your device should
use and enters CA trustpoint configuration
Example:
mode.
Device(ca-trustpoint)# crypto pki
trustpoint mytp
Step 4 crl query ldap ://url : [port] Queries the CRL to ensure that the certificate
of the peer has not been revoked.
Example:
Device(ca-trustpoint)# crl query
ldap://url:[port]
Procedure
Step 3 crypto key zeroize rsa [key-pair-label] Deletes all Rivest, Shamir, and Adelman (RSA)
keys from your device.
Example:
Device(config)# crypto key zeroize rsa
What to do next
After you delete RSA keys from the device, you should also complete the following two additional tasks:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
235
Certification Authority Interoperability
Deleting Public Keys for a Peer
• Ask the CA administrator to revoke the device certificates at the CA; you must supply the challenge
password that you created when you originally obtained the device certificates with the crypto pki enroll
command.
• Manually remove the device certificates from the device configuration.
Procedure
Step 3 crypto key pubkey-chain rsa Enters public key chain configuration mode, so
that you can manually specify other devices’
Example:
RSA public keys.
Device(config)# crypto key pubkey-chain
rsa
Step 4 no named key key-name [encryption | Deletes the RSA public key of a remote peer
signature] and enters public key configuration mode.
Example:
Device(config-pubkey-c)# no named-key
otherpeer.example.com
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
236
Certification Authority Interoperability
Viewing Keys and Certificates
Procedure
Step 2 show crypto pki certificates Displays information about your device
certificate, the certification authority (CA)
Example:
certificate, and any registration authority (RA)
Device# show crypto pki certificates certificates.
Step 4 crypto pki certificate chain name Enters certificate chain configuration mode.
Example:
Device(config)# crypto pki certificate
chain myca
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
237
Certification Authority Interoperability
Feature History for Certification Authority Interoperability
Step 2 show crypto key mypubkey rsa [keyname] Displays the RSA public keys configured on a
device.
Example:
Device# show crypto key mypubkey rsa
[keyname]
Step 3 show crypto key pubkey-chain rsa Displays the RSA public keys of the peer that
are stored on a device.
Example:
Device# show crypto key pubkey-chain rsa
Step 4 show crypto key pubkey-chain rsa [name Displays the address of a specific key.
key-name | address key-address]
Example:
Device# show crypto key pubkey-chain rsa
address 209.165.202.129
Step 5 show crypto pki certificates Displays information about the device
certificate, the certification authority (CA)
Example:
certificate, and any registration authority (RA)
Device# show crypto pki certificates certificates
Step 6 show crypto pki trustpoints Displays trustpoints that are configured on a
device.
Example:
Device# show crypto pki certificates
Cisco IOS Release 15.2(7)E1 Certification Authority CA interoperability permits Cisco IOS devices
Interoperability and CAs to communicate so that your Cisco
IOS device can obtain and use digital
certificates from the CA.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
238
CHAPTER 17
Access Control List Overview
Access lists filter network traffic by controlling the forwarding or blocking of packets at the interface of a
device. A device examines each packet to determine whether to forward or drop that packet, based on the
criteria specified in access lists.
The criteria that can be specified in an access list include the source address of the traffic, the destination
address of the traffic, and the upper-layer protocol.
Note Some users might successfully evade basic access lists because these lists require no authentication.
Note Some users might successfully evade basic access lists because these lists require no authentication.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
239
Access Control List Overview
Functions of an Access Control List
The following configuration example shows how to create an IP access list named branchoffices. The ACL
is applied to gigabitEthernet on incoming packets. No sources other than those on the networks specified by
each source address and mask pair can access this interface. The destinations for packets coming from sources
on network 172.20.7.0 are unrestricted. The destination for packets coming from sources on network 172.29.2.0
must be 172.25.5.4.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
240
Access Control List Overview
Reasons to Configure ACLs
An access list with more than 13 entries is processed using a trie-based lookup algorithm. This process will
happen automatically; it does not need to be configured.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
241
Access Control List Overview
Helpful Hints for Creating IP Access Lists
• Only one access list per interface, per protocol, and per direction is allowed.
• An access list must contain at least one permit statement or all packets are denied entry into the network.
• The order in which access list conditions or match criteria are configured is important. While deciding
whether to forward or block a packet, Cisco software tests the packet against each criteria statement in
the order in which these statements are created. After a match is found, no more criteria statements are
checked. The same permit or deny statements specified in a different order can result in a packet being
passed under one circumstance and denied in another circumstance.
• If an access list is referenced by a name, but the access list does not exist, all packets pass. An interface
or command with an empty access list applied to it permits all traffic into the network.
• Standard access lists and extended access lists cannot have the same name.
• Inbound access lists process packets before packets are sent to an outbound interface. Inbound access
lists that have filtering criteria that deny packet access to a network saves the overhead of a route lookup.
Packets that are permitted access to a network based on the configured filtering criteria are processed
for routing. For inbound access lists, when you configure a permit statement, packets are processed after
they are received, and when you configure a deny statement, packets are discarded.
• Outbound access lists process packets before they leave the device. Incoming packets are routed to the
outbound interface and then processed by the outbound access list. For outbound access lists, when you
configure a permit statement, packets are sent to the output buffer, and when you configure a deny
statement, packets are discarded.
• An access list can control traffic arriving at a device or leaving a device, but not traffic originating at a
device.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
242
Access Control List Overview
IP Packet Fields You Can Filter to Control Access
get through; no packets will reach the subsequent testing. In fact, once you specify permit any any, all
traffic not already denied will get through.
• Although all access lists end with an implicit deny statement, we recommend use of an explicit deny
statement (for example, deny ip any any). On most platforms, you can display the count of packets
denied by issuing the show access-listcommand, thus finding out more information about who your
access list is disallowing. Only packets denied by explicit deny statements are counted, which is why
the explicit deny statement will yield more complete data for you.
• While you are creating an access list or after it is created, you might want to delete an entry.
• You cannot delete an entry from a numbered access list; trying to do so will delete the entire access
list. If you need to delete an entry, you need to delete the entire access list and start over.
• You can delete an entry from a named access list. Use the no permit or no deny command to delete
the appropriate entry.
• In order to make the purpose of individual statements more scannable and easily understood at a glance,
you can write a helpful remark before or after any statement by using the remark command.
• If you want to deny access to a particular host or network and find out if someone from that network or
host is attempting to gain access, include the log keyword with the corresponding deny statement so that
the packets denied from that source are logged for you.
• This hint applies to the placement of your access list. When trying to save resources, remember that an
inbound access list applies the filter conditions before the routing table lookup. An outbound access list
applies the filter conditions after the routing table lookup.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
243
Access Control List Overview
Access List Sequence Numbers
Wildcard masking for IP address bits uses the number 1 and the number 0 to specify how the software treats
the corresponding IP address bits. A wildcard mask is sometimes referred to as an inverted mask because a
1 and 0 mean the opposite of what they mean in a subnet (network) mask.
• A wildcard mask bit 0 means check the corresponding bit value; they must match.
• A wildcard mask bit 1 means ignore that corresponding bit value; they need not match.
If you do not supply a wildcard mask with a source or destination address in an access list statement, the
software assumes an implicit wildcard mask of 0.0.0.0, meaning all values must match.
Unlike subnet masks, which require contiguous bits indicating network and subnet to be ones, wildcard masks
allow noncontiguous bits in the mask.
The table below shows examples of IP addresses and masks from an access list, along with the corresponding
addresses that are considered a match.
0.0.0.0 255.255.255.255 All addresses will match the access list conditions.
10.1.2.0 0.0.254.255 (noncontiguous bits in Matches any even-numbered network in the range of
mask) 10.1.2.0 to 10.1.254.0
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
244
Access Control List Overview
Supported ACLs
Supported ACLs
The switch supports the following type of ACL to filter traffic:
• Port ACLs access-control traffic entering a Layer 2 interface. You can apply port ACLs to a Layer 2
interface in each input direction to each access list type — IPv4 and MAC.
Port ACLs
Port ACLs are ACLs that are applied to Layer 2 interfaces on a switch. Port ACLs are supported only on
physical interfaces and not on EtherChannel interfaces. Port ACLs can be applied to the interface in inbound
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 4: 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
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
245
Access Control List Overview
Access Control Entries
Note You cannot 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.
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.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
246
Access Control List Overview
Additional References for Access Control Lists Overview
• 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).
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.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
247
Access Control List Overview
Additional References for Access Control Lists Overview
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
248
CHAPTER 18
Configuring IPv4 Access Control Lists
• Restrictions for Configuring IPv4 Access Control Lists, on page 249
• Information About IPv4 Access Control Lists, on page 250
• How to Configure ACLs, on page 257
• Monitoring IPv4 ACLs, on page 273
• Configuration Examples for ACLs, on page 273
• Examples: Troubleshooting ACLs, on page 279
• Additional References for IPv4 Access Control Lists, on page 280
• Feature History for IPv4 Access Control Lists, on page 281
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
249
Configuring IPv4 Access Control Lists
Information About IPv4 Access Control Lists
• If ACLs with Layer 4 operations are defined with either the permit or deny actions for a range for ports,
the opposite action for these ports will not work. In the following example, the deny action for port 22
will not work because the permit action is defined for ports ranging from 20 to 25.
permit tcp any any range 20 to 25
deny tcp any any eq 22
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.
• In Cisco IOS Release 15.2(7)E3 and later releases, MAC ACLs do not filter or block Address Resolution
Protocol (ARP) traffic, but allows all ARP traffic by default.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
250
Configuring IPv4 Access Control Lists
ACL Overview
ACL Overview
Packet filtering can help limit network traffic and restrict network use by certain users or devices. ACLs filter
traffic as it passes through a router or switch and permit or deny packets crossing specified interfaces or
VLANs. An ACL is a sequential collection of permit and deny conditions that apply to packets. When a packet
is received on an 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,
including packets bridged within a VLAN.
You configure access lists on a router 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 router interfaces. For example, you can allow e-mail traffic to be forwarded but not
Telnet traffic. ACLs can be configured to block inbound traffic, outbound traffic, or both.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
251
Configuring IPv4 Access Control Lists
Access List Numbers
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
252
Configuring IPv4 Access Control Lists
Numbered Extended IPv4 ACLs
The switch always rewrites the order of standard access lists so that entries with host matches and entries
with matches having a don’t care mask of 0.0.0.0 are moved to the top of the list, above any entries with
non-zero don’t care masks. Therefore, in show command output and in the configuration file, the ACEs do
not necessarily appear in the order in which they were entered.
Note ICMP echo-reply cannot be filtered. All other ICMP codes or types can be filtered.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
253
Configuring IPv4 Access Control Lists
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.
Benefits of Using the Named ACL Support for Noncontiguous Ports on an Access Control Entry Feature
The Named ACL Support for Noncontiguous Ports on an Access Control Entry feature allows you to specify
noncontiguous ports in a single access control entry, which greatly reduces the number of entries required in
an access control list when several entries have the same source address, destination address, and protocol,
but differ only in the ports.
This feature greatly reduces the number of access control entries (ACEs) required in an access control list to
handle multiple entries for the same source address, destination address, and protocol. If you maintain large
numbers of ACEs, use this feature to consolidate existing groups of access list entries wherever it is possible
and when you create new access list entries. When you configure access list entries with noncontiguous ports,
you will have fewer access list entries to maintain.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
254
Configuring IPv4 Access Control Lists
Including comments in ACLs
• If the user enters an entry without a sequence number, it is assigned a sequence number that is 10 greater
than the last sequence number in that access list and is placed at the end of the list.
• If the user enters an entry that matches an already existing entry (except for the sequence number), then
no changes are made.
• If the user enters a sequence number that is already present, the following error message is generated:
• If a new access list is entered from global configuration mode, then sequence numbers for that access
list are generated automatically.
• Distributed support is provided so that the sequence numbers of entries in the Route Processor (RP) and
line card are in synchronization at all times.
• Sequence numbers are not nvgened. That is, the sequence numbers themselves are not saved. In the event
that the system is reloaded, the configured sequence numbers revert to the default sequence starting
number and increment. The function is provided for backward compatibility with software releases that
do not support sequence numbering.
• This feature works with named and numbered, standard and extended IP access lists.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
255
Configuring IPv4 Access Control Lists
Time Ranges for ACLs
Note If an ACL configuration cannot be implemented in hardware due to an out-of-resource condition on a switch,
then only the traffic in that VLAN arriving on that switch is affected. Software forwarding of packets might
adversely impact the performance of the switch, depending on the number of CPU cycles that this consumes.
When traffic flows are both logged and forwarded, forwarding is done by hardware, but logging must be done
by software. Because of the difference in packet handling capacity between hardware and software, if the sum
of all flows being logged (both permitted flows and denied flows) is of great enough bandwidth, not all of the
packets that are forwarded can be logged.
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. 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 an 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 in hardware.
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 switch system clock; therefore, you need a reliable clock source. We recommend
that you use Network Time Protocol (NTP) to synchronize the switch clock.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
256
Configuring IPv4 Access Control Lists
IPv4 ACL Interface Considerations
Note Access lists that are applied to interfaces on a device do not filter traffic that originates from that device.
ACL Logging
The switch 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 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 router 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
257
Configuring IPv4 Access Control Lists
Configuring IPv4 ACLs
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.
Procedure
Device> enable
Step 3 access-list access-list-number {deny | permit} Defines a standard IPv4 access list by using a
source source-wildcard [log] source address and wildcard.
Example: The access-list-number is a decimal number
from 1 to 99 or 1300 to 1999.
Device(config)# access-list 2 deny
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
258
Configuring IPv4 Access Control Lists
Creating a Numbered Extended ACL (CLI)
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
259
Configuring IPv4 Access Control Lists
Creating a Numbered Extended ACL (CLI)
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
matched.
Device(config)# access-list 101 permit
ip host 10.1.1.2 any precedence 0 tos 0 For protocol, enter the name or number of an
log
P protocol: ahp, eigrp, esp, gre, icmp, igmp,
igrp, ip, ipinip, nos, ospf, pcp, pim, tcp, or
udp, or an integer in the range 0 to 255
representing an IP protocol number. To match
any Internet protocol (including ICMP, TCP,
and UDP), use the keyword ip.
Note This step includes options for most
IP protocols. For additional specific
parameters for TCP, UDP, ICMP,
and IGMP, see the following steps.
The source is the number of the network or host
from which the packet is sent.
The source-wildcard applies wildcard bits to
the source.
The destination is the network or host number
to which the packet is sent.
The destination-wildcard applies wildcard bits
to the destination.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
260
Configuring IPv4 Access Control Lists
Creating a Numbered Extended ACL (CLI)
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
[precedence precedence] [tos tos] [fragments]
for an extended IPv4 ACL, with these
[time-range time-range-name] [dscp dscp]
exceptions:
[flag]
(Optional) Enter an operator and port to
Example:
compare source (if positioned after source
source-wildcard) or destination (if positioned
Device(config)# access-list 101 permit
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:
• flag—Enter one of these flags to match by
the specified TCP header bits: ack
(acknowledge), fin (finish), psh (push),
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
261
Configuring IPv4 Access Control Lists
Creating a Numbered Extended ACL (CLI)
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 keyword is
not valid for UDP.
Device(config)# access-list 101 permit
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
The ICMP parameters are the same as those
icmp-code] | [icmp-message]] [precedence
described for most IP protocols in an extended
precedence] [tos tos] [fragments] [time-range
IPv4 ACL, with the addition of the ICMP
time-range-name] [dscp dscp]
message type and code parameters. These
Example: optional keywords have these meanings:
• icmp-type—Enter to filter by ICMP
Device(config)# access-list 101 permit
icmp any any 200
message type, a number from 0 to 255.
• icmp-code—Enter to filter ICMP packets
that are filtered by the ICMP message code
type, a number from 0 to 255.
• icmp-message—Enter to filter ICMP
packets by the ICMP message type name
or the ICMP message type and code name.
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 a number from 0 to 15, or enter the
Device(config)# access-list 101 permit
igmp any any 14
message name: dvmrp, host-query,
host-report, pim, or trace.
Device(config)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
262
Configuring IPv4 Access Control Lists
Creating Named Standard ACLs
Procedure
Device> enable
Step 3 ip access-list standard name Defines a standard IPv4 access list using a
name, and enter access-list configuration mode.
Example:
The name can be a number from 1 to 99.
Device(config)# ip access-list standard
20
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
source | any} [log] wildcard of source 0.0.0.0.
Example: • any—A source and source wildcard of
0.0.0.0 255.255.255.255.
Device(config-std-nacl)# deny 192.168.0.0
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
Device(config-std-nacl)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
263
Configuring IPv4 Access Control Lists
Creating Extended Named ACLs
Procedure
Device> enable
Step 3 ip access-list extended name Defines an extended IPv4 access list using a
name, and enter access-list configuration mode.
Example:
The name can be a number from 100 to 199.
Device(config)# ip access-list extended
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
{destination [destination-wildcard] | host keyword to get access list logging messages,
destination | any} [precedence precedence] including violations.
[tos tos] [log] [time-range time-range-name]
• host source—A source and source
Example: wildcard of source 0.0.0.0.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
264
Configuring IPv4 Access Control Lists
Sequencing Access-List Entries and Revising the Access List
Device(config-ext-nacl)# end
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
265
Configuring IPv4 Access Control Lists
Sequencing Access-List Entries and Revising the Access List
Procedure
Device> enable
Step 3 ip access-list resequence access-list-name Resequences the specified IP access list using
starting-sequence-number increment the starting sequence number and the
increment of sequence numbers.
Example:
Device(config)# ip access-list
resequence kmd1 100 15
Step 4 ip access-list {standard| extended} Specifies the IP access list by name and enters
access-list-name named access list configuration mode.
Example: • If you specify standard, make sure you
subsequently specify permit and/or deny
Device(config)# ip access-list standard statements using the standard access list
kmd1 syntax.
• If you specify extended, make sure you
subsequently specify permit and/or deny
statements using the extended access list
syntax.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
266
Configuring IPv4 Access Control Lists
Sequencing Access-List Entries and Revising the Access List
Step 9 Repeat Step 5 and/or Step 6 to add sequence Allows you to revise the access list.
number statements, as applicable.
Step 10 end (Optional) Exits the configuration mode and
returns to privileged EXEC mode.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
267
Configuring IPv4 Access Control Lists
Configuring Commented IP ACL Entries
Device(config-std-nacl)# end
Examples
Review the output of the show ip access-lists command to see that the access list includes the new
entries:
Procedure
Step 3 ip access-list {standard | extended} {name | Identifies the access list by a name or number
number} and enters extended named access list
configuration mode.
Example:
Device(config)# ip access-list extended
telnetting
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
268
Configuring IPv4 Access Control Lists
Configuring Time Ranges for ACLs
Step 5 deny protocol host host-address any eq port Sets conditions in a named IP access list that
denies packets.
Example:
Device(config-ext-nacl)# deny tcp host
172.16.2.88 any eq telnet
Procedure
Device(config)# enable
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
269
Configuring IPv4 Access Control Lists
Applying an IPv4 ACL to a Terminal Line
Device(config-time-range)# periodic
weekdays 8:00 to 12:00
Device(config)# end
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
270
Configuring IPv4 Access Control Lists
Applying an IPv4 ACL to a Terminal Line
Device(config)# enable
Step 3 line [console | vty] line-number Identifies a specific line to configure, and enter
in-line configuration mode.
Example:
• console—Specifies the console terminal
Devices(config)# line console 0 line. The console port is DCE.
• vty—Specifies a virtual terminal for
remote console access.
Device(config-line)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
271
Configuring IPv4 Access Control Lists
Applying an IPv4 ACL to an Interface (CLI)
Procedure
Device(config-if)# ip access-group 2 in
Device(config-if)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
272
Configuring IPv4 Access Control Lists
Monitoring IPv4 ACLs
Table 20: 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 access lists or 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 IP access list (numbered or named).
show running-config [interface interface-id] Displays the contents of the configuration file for the
switch or the specified interface, including all
configured MAC and IP access lists and which access
groups are applied to an interface.
show mac access-group [interface interface-id] Displays MAC access lists applied to all Layer 2
interfaces or the specified
Layer 2 interface.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
273
Configuring IPv4 Access Control Lists
Examples: Extended ACLs
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. The secure system of the network always accepts mail connections on port 25.
In this example, the network is a Class B network with the address 128.88.0.0, and the mail host address is
128.88.1.2. The ACK or RST keywords are used to match ACK or RST bits set, which show that the packet
belongs to an existing connection.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
274
Configuring IPv4 Access Control Lists
Example Resequencing Entries in an Access List
The marketing_group ACL allows any TCP Telnet traffic to the destination address and wildcard 171.69.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 171.69.0.0 through 179.69.255.255 with a destination port less than 1024, denies
any other IP traffic, and provides a log of the result.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
275
Configuring IPv4 Access Control Lists
Example Adding an Entry with a Sequence Number
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
276
Configuring IPv4 Access Control Lists
Examples: Using Time Ranges with ACLs
In this example of a numbered ACL, the Winter and Smith workstations are not allowed to browse the web:
Device(config)# access-list 100 remark Do not allow Winter to browse the web
Device(config)# access-list 100 deny host 171.69.3.85 any eq www
Device(config)# access-list 100 remark Do not allow Smith to browse the web
Device(config)# access-list 100 deny host 171.69.3.13 any eq www
In this example of a named ACL, the Jones subnet is not allowed access:
In this example of a named ACL, the Jones subnet is not allowed to use outbound Telnet:
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.
This example uses named ACLs to permit and deny the same traffic.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
277
Configuring IPv4 Access Control Lists
Examples: Time Range Applied to an IP ACL
<output truncated>
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
278
Configuring IPv4 Access Control Lists
Examples: Troubleshooting ACLs
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.
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:
A log message for the same sort of packet using the log keyword does not include the input interface
information:
The switch has insufficient resources to create a hardware representation of the ACL. The resources include
hardware memory and label space but not CPU memory. A lack of available logical operation units or
specialized hardware resources causes this problem. Logical operation units are needed for a TCP flag match
or a test other than eq (ne, gt, lt, or range) on TCP, UDP, or SCTP port numbers.
Use one of these workarounds:
• Modify the ACL configuration to use fewer resources.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
279
Configuring IPv4 Access Control Lists
Additional References for IPv4 Access Control Lists
• Rename the ACL with a name or number that alphanumerically precedes the ACL names or numbers.
For more information about configuring ACLs with insufficient resources, see CSCsq63926 in the Bug Toolkit.
For example, if you apply this ACL to an interface:
or
• Rename the ACL with a name or number that alphanumerically precedes the other ACLs (for example,
rename ACL 79 to ACL 1).
You can now apply the first ACE in the ACL to the interface. The switch allocates the ACE to available
mapping bits in the Opselect index and then allocates flag-related operators to use the same bits in the hardware
memory.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
280
Configuring IPv4 Access Control Lists
Feature History for IPv4 Access Control Lists
Cisco IOS Release 15.2(7)E1 IPv4 Access Control Lists This chapter describes how to configure
network 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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
281
Configuring IPv4 Access Control Lists
Feature History for IPv4 Access Control Lists
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
282
CHAPTER 19
IPv6 Access Control Lists
Access lists determine what traffic is blocked and what traffic is forwarded at device interfaces and allow
filtering of traffic based on source and destination addresses, and inbound and outbound traffic to a specific
interface. Standard IPv6 ACL functionality was extended to support traffic filtering based on IPv6 option
headers and optional, upper-layer protocol type information for finer granularity of control. Standard IPv6
ACL functionality was extended to support traffic filtering based on IPv6 option headers and optional,
upper-layer protocol type information for finer granularity of control.
This module describes how to configure IPv6 traffic filtering and to control access to virtual terminal lines.
• Restrictions for IPv6 ACLs, on page 283
• Information About Configuring IPv6 ACLs, on page 284
• How to Configure IPv6 ACLs, on page 286
• Configuration Examples for IPv6 ACLs, on page 293
• Additional References for IPv6 Access Control Lists, on page 294
• Feature History for IPv6 Access Control Lists, on page 295
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
283
IPv6 Access Control Lists
Information About Configuring IPv6 ACLs
ACL Overview
Packet filtering can help limit network traffic and restrict network use by certain users or devices. ACLs filter
traffic as it passes through a router or switch and permit or deny packets crossing specified interfaces or
VLANs. An ACL is a sequential collection of permit and deny conditions that apply to packets. When a packet
is received on an 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,
including packets bridged within a VLAN.
You configure access lists on a router 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 router interfaces. For example, you can allow e-mail traffic to be forwarded but not
Telnet traffic. ACLs can be configured to block inbound traffic, outbound traffic, or both.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
284
IPv6 Access Control Lists
Default Configuration for IPv6 ACLs
• You can create both IPv4 and IPv6 ACLs on a switch, and you can apply both IPv4 and IPv6 ACLs to
the same interface. Each ACL must have a unique name; an error message appears if you try to use a
name that is already configured.
You use different commands to create IPv4 and IPv6 ACLs and to attach IPv4 or IPv6 ACLs to the same
Layer 2 interface. If you use the wrong command to attach an ACL (for example, an IPv4 command to
attach an IPv6 ACL), you receive an error message.
• You cannot use MAC ACLs to filter IPv6 frames. MAC ACLs can only filter non-IP frames.
• If the hardware memory is full, the packets associated with the ACL are processed to the CPU, and the
ACLs are applied in software.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
285
IPv6 Access Control Lists
How to Configure IPv6 ACLs
IPv6 access control lists (ACLs) determine what traffic is blocked and what traffic is forwarded at device
interfaces. ACLs allow filtering based on source and destination addresses, inbound and outbound to a specific
interface. Use the ipv6 access-list command to define an IPv6 ACL, and the deny and permit commands
to configure its conditions.
The IPv6 ACL Extensions for Hop by Hop Filtering feature implements RFC 2460 to support traffic filtering
in any upper-layer protocol type.
Procedure
Device> enable
Step 3 {ipv6 access-list list-name Defines an IPv6 ACL name, and enters IPv6
access list configuration mode.
Example:
Device(config)# ipv6 access-list
example_acl_list
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
286
IPv6 Access Control Lists
Configuring IPv6 ACLs
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
287
IPv6 Access Control Lists
Configuring IPv6 ACLs
Step 5 {deny | permit} tcp (Optional) Define a TCP access list and the
{source-ipv6-prefix/prefix-length | any | host access conditions.
source-ipv6-address} [operator
Enter tcp for Transmission Control Protocol.
[port-number]] {destination-ipv6-
The parameters are the same as those described
prefix/prefix-length | any | host
in Step 3a, with these additional optional
destination-ipv6-address} [operator
parameters:
[port-number]] [ack] [dscp value] [fin] [log]
[log-input] [neq {port | protocol}] [psh] • ack—Acknowledgment bit set.
[range {port | protocol}] [rst] [sequence
value] [syn] [time-range name] [urg] • fin—Finished bit set; no more data from
sender.
• neq {port | protocol}—Matches only
packets that are not on a given port
number.
• psh—Push function bit set.
• range {port | protocol}—Matches only
packets in the port number range.
• rst—Reset bit set.
• syn—Synchronize bit set.
• urg—Urgent pointer bit set.
Step 6 {deny | permit} udp (Optional) Define a UDP access list and the
{source-ipv6-prefix/prefix-length | any | host access conditions.
source-ipv6-address} [operator [port-number]]
Enter udp for the User Datagram Protocol.
{destination-ipv6-prefix/prefix-length | any |
The UDP parameters are the same as those
host destination-ipv6-address} [operator
described for TCP, except that the [operator
[port-number]] [dscp value] [log] [log-input]
[port]] port number or name must be a UDP
[neq {port | protocol}] [range {port |
port number or name.
protocol}] [sequence value] [time-range
name]]
Step 7 {deny | permit} icmp (Optional) Define an ICMP access list and the
{source-ipv6-prefix/prefix-length | any | host access conditions.
source-ipv6-address} [operator [port-number]]
Enter icmp for Internet Control Message
{destination-ipv6-prefix/prefix-length | any |
Protocol. The ICMP parameters are the same
host destination-ipv6-address} [operator
as those described for most IP protocols in Step
[port-number]] [icmp-type [icmp-code] |
1, with the addition of the ICMP message type
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
288
IPv6 Access Control Lists
Attaching an IPv6 ACL to an Interface
What to do next
Attach the IPv6 ACL to an Interface
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
289
IPv6 Access Control Lists
Monitoring IPv6 ACLs
Device> enable
Step 5 ipv6 traffic-filter access-list-name in Apply the access list to incoming traffic on the
interface.
Note The out keyword is not supported
for Layer 2 interfaces (port ACLs).
Device(config)# end
Command Purpose
show access-lists Displays all access lists configured on the switch.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
290
IPv6 Access Control Lists
Configuring PACL Mode and Applying IPv6 PACL on an Interface
Command Purpose
show ipv6 access-list [access-list-name] Displays all configured IPv6 access lists or the access
list specified by name.
This is an example of the output from the show access-lists privileged EXEC command. The output
shows all access lists that are configured on the switch.
Device# show access-lists
Extended IP access list hello
10 permit ip any any
IPv6 access list ipv6
permit ipv6 any any sequence 10
This is an example of the output from the show ipv6 access-list privileged EXEC command. The
output shows only IPv6 access lists configured on the switch.
Device# show ipv6 access-list
IPv6 access list inbound
permit tcp any any eq bgp (8 matches) sequence 10
permit tcp any any eq telnet (15 matches) sequence 20
permit udp any any sequence 30
IPv6 access list outbound
deny udp any any sequence 10
deny tcp any any eq telnet sequence 20
Procedure
Step 3 ipv6 access-list access-list-name Defines an IPv6 ACL and enters IPv6 access
list configuration mode.
Example:
Device(config)# ipv6 access-list list1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
291
IPv6 Access Control Lists
Configuring IPv6 ACL Extensions for Hop by Hop Filtering
Step 5 interface type number Specifies an interface type and number and
enters interface configuration mode.
Example:
Step 3 ipv6 access-list access-list-name Defines an IPv6 ACL and enters IPv6 access
list configuration mode.
Example:
Device(config)# ipv6 access-list hbh-acl
Step 4 permit protocol Sets permit conditions for the IPv6 ACL.
{source-ipv6-prefix/prefix-length | any | host
source-ipv6-address } [operator [port-number]]
{destination-ipv6-prefix/prefix-length | any |
host destination-ipv6-address } [operator
[port-number]] [dscp value] [hbh] [log]
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
292
IPv6 Access Control Lists
Configuration Examples for IPv6 ACLs
Step 5 deny protocol Sets deny conditions for the IPv6 ACL.
{source-ipv6-prefix/prefix-length | any | host
source-ipv6-address } [operator
[port-number]]
{destination-ipv6-prefix/prefix-length | any |
host destination-ipv6-address } [operator
[port-number]] [dscp value] [hbh] [log]
[log-input] [sequence value] [time-range
name]
Example:
Device(config-ipv6-acl)# deny icmp any
any
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
293
IPv6 Access Control Lists
Example: IPv6 ACL Extensions for Hop by Hop Filtering
Device(config-ipv6-acl)# exit
Device(config-if)# ipv6 traffic-filter list1 in
Building configuration...
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
294
IPv6 Access Control Lists
Feature History for IPv6 Access Control Lists
Cisco IOS Release 15.2(7)E1 IPv6 Access Control Lists You can filter IPv6 traffic by creating IPv6
ACLs and applying them to interfaces similar
to how you create and apply IPv4 named
ACLs. You can also create and apply input
router ACLs to filter Layer 3 management
traffic.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
295
IPv6 Access Control Lists
Feature History for IPv6 Access Control Lists
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
296
CHAPTER 20
Configuring IPv6 RA Guard
• Restrictions for IPv6 Router Advertisement Guard, on page 297
• Information About IPv6 Router Advertisement Guard, on page 297
• How to Configure IPv6 Router Advertisement Guard, on page 298
• Configuration Examples for IPv6 Router Advertisement Guard, on page 300
• Feature Information for Configuring IPv6 Router Advertisement Guard, on page 301
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
297
Configuring IPv6 RA Guard
About IPv6 Router Advertisement Guard
inspection or router advertisement guard is configured globally, the policy attributes are stored in the software
policy database. The policy is then applied to an interface, and the software policy database entry is updated
to include this interface to which the policy is applied.
Procedure
Step 3 ipv6 nd raguard policy policy-name Defines the router advertisement guard policy
name and enters router advertisement guard
Example:
policy configuration mode.
Device(config)# ipv6 nd raguard policy
policy1
Step 4 device-role {host | router} Specifies the role of the device attached to the
port.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
298
Configuring IPv6 RA Guard
Configuring the IPv6 Router Advertisement Guard Policy on the Device
Step 7 match ipv6 access-list ipv6-access-list-name (Optional) Enables verification of the sender's
IPv6 address in inspected messages from the
Example:
configured authorized device source access
Device(config-ra-guard)# match ipv6 list.
access-list list1
If not configured, this check will be bypassed.
Step 10 router-preference maximum {high | low | (Optional) Enables verification that the
medium} advertised default router preference parameter
value is lower than or equal to a specified limit.
Example:
Device(config-ra-guard)#
router-preference maximum high
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
299
Configuring IPv6 RA Guard
Configuring IPv6 Router Advertisement Guard on an Interface
Procedure
Step 3 interface type number Specifies an interface type and number, and
places the device in interface configuration
Example:
mode.
Device(config)# interface fastethernet
3/13
Step 4 ipv6 nd raguard attach-policy [policy-name Applies the IPv6 Router Advertisement Guard
[vlan {add | except | none | remove | all} vlan feature to a specified interface.
[vlan1, vlan2, vlan3...]]]
Example:
Device(config-if)# ipv6 nd raguard
attach-policy
Step 6 show ipv6 nd raguard policy [policy-name] Displays the router advertisement guard policy
on all interfaces configured with the router
Example:
advertisement guard.
Device# show ipv6 nd raguard policy
raguard1
Step 7 debug ipv6 snooping raguard [filter | Enables debugging for IPv6 router
interface | vlanid] advertisement guard snooping information.
Example:
Device# debug ipv6 snooping raguard
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
300
Configuring IPv6 RA Guard
Example: Configuring IPv6 Router Advertisement Guard
Building configuration...
Current configuration : 129 bytes
!
interface FastEthernet3/13
switchport
switchport access vlan 222
switchport mode access
access-group mode prefer port
ipv6 nd raguard
end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
301
Configuring IPv6 RA Guard
Feature Information for Configuring IPv6 Router Advertisement Guard
Table 21: Feature Information for Configuring IPv6 Router Advertisement Guard
Configuring IPv6 Router Cisco IOS Release 15.2(7)E1 The feature was introduced.
Advertisement Guard
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
302
CHAPTER 21
Configuring IP Source Guard
• Information About IP Source Guard, on page 303
• How to Configure IP Source Guard, on page 305
• Monitoring IP Source Guard, on page 308
• Additional References, on page 308
• Feature Information for IP Source Guard, on page 309
IP Source Guard
You can use IP source guard to prevent traffic attacks 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.
After IPSG is enabled on an interface, the switch blocks all IP traffic received on the interface except for
DHCP packets allowed by DHCP snooping.
The switch uses a source IP lookup table in hardware to bind IP addresses to ports. For IP and MAC filtering,
a combination of source IP and source MAC lookups are used. IP traffic with a source IP address in the binding
table is allowed, all other traffic is denied.
The IP source binding table has bindings that are learned by DHCP snooping or are manually configured
(static IP source bindings). An entry in this table has an IP address, its associated MAC address, and its
associated VLAN number. The switch uses the IP source binding table only when IP source guard is enabled.
IPSG is supported only on Layer 2 ports, including access and trunk ports. You can configure IPSG with
source IP address filtering or with source IP and MAC address filtering.
You can configure IP Source Guard on EtherChannel interfaces.
Note Do not use IPSG (IP source guard) for static hosts on uplink ports or trunk ports.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
303
Configuring IP Source Guard
IP Source Guard Configuration Guidelines
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
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.
When you enter the show ip device tracking all 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 vendor 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
304
Configuring IP Source Guard
How to Configure IP Source Guard
• You can enable this feature when 802.1x port-based authentication is enabled.
Device> enable
Step 4 ip verify source [port-security ] Enables IP source guard with source IP address
filtering.
Example:
Device(config-if)# ip verify source (Optional) port-security: Enables IP Source
Guard with source IP address and MAC address
filtering.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
305
Configuring IP Source Guard
Configuring IP Source Guard for Static Hosts on a Layer 2 Access Port
Device(config-if)# exit
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.
Example:
Device(config)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
306
Configuring IP Source Guard
Configuring IP Source Guard for Static Hosts on a Layer 2 Access Port
Device> enable
Step 3 ip device tracking Turns on the IP host table, and globally enables
IP device tracking.
Example:
Step 6 switchport access vlan vlan-id Configures the VLAN for this port.
Example:
Step 7 ip verify source[tracking] [port-security ] Enables IP source guard with source IP address
filtering.
Example:
Device(config-if)# ip verify source (Optional) tracking—Enables IP source guard
tracking port-security for static hosts.
(Optional) port-security—Enables MAC
address filtering.
The command ip verify source tracking
port-securityenables IP source guard for static
hosts with MAC address filtering.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
307
Configuring IP Source Guard
Monitoring IP Source Guard
Device(config)# end
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
For detailed information about the fields in these displays, see the command reference for this release.
Additional References
Error Message Decoder
Description Link
To help you research and resolve system https://www.cisco.com/cgi-bin/Support/Errordecoder/index.cgi
error messages in this release, use the Error
Message Decoder tool.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
308
Configuring IP Source Guard
Feature Information for IP Source Guard
MIBs
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.
IP Source Guard Cisco IOS Release 15.2(7)E1 The feature was introduced.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
309
Configuring IP Source Guard
Feature Information for IP Source Guard
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
310
CHAPTER 22
Configuring IEEE 802.1x Port-Based
Authentication
• Prerequisites for 802.1x Port-Based Authentication, on page 311
• Information About IEEE 802.1x Port-Based Authentication, on page 312
• How to Configure IEEE 802.1x Port-Based Authentication, on page 340
• Configuration Examples for IEEE 802.1x Port-Based Authentication, on page 380
• Additional References , on page 381
• Feature History for IEEE 802.1x Port-Based Authentication, on page 381
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
311
Configuring IEEE 802.1x Port-Based Authentication
Information About IEEE 802.1x Port-Based Authentication
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 following table below the maximum number of each client session supported:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
312
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Process
• If the device gets an invalid identity from an 802.1x-capable client and a restricted VLAN is specified,
the device 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 device 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 5: Authentication Flowchart
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
313
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Initiation and Message Exchange
After 802.1x authentication using a RADIUS server is configured, the device 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 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 device 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 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
314
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 device can authorize the client when the device detects an Ethernet packet from the
client. The device 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 device the
RADIUS-access/accept frame (authorization is successful), the port becomes authorized. If authorization fails
and a guest VLAN is specified, the device assigns the port to the guest VLAN. If the device detects an EAPOL
packet while waiting for an Ethernet packet, the device stops the MAC authentication bypass process and
starts 802.1x authentication.
Figure 7: Message Exchange During MAC Authentication Bypass
This figure shows the message exchange during MAC authentication bypass.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
315
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Methods
Authentication Mode
method
Single host Multiple host MDA Multiple
Authentication
MAC authentication VLAN assignment VLAN assignment VLAN assignment VLAN assignment
bypass
Per-user ACL Per-user ACL Per-user ACL
Filter-ID attribute Filter-ID attribute Filter-ID attribute
Downloadable ACL Downloadable ACL Downloadable ACL
Redirect URL Redirect URL Redirect URL
NAC Layer 2 IP Filter-ID attribute Filter-ID attribute Filter-ID attribute Filter-ID attribute
validation
Downloadable ACL Downloadable ACL Downloadable ACL Downloadable ACL
Redirect URL Redirect URL Redirect URL Redirect URL
Web authentication Proxy ACL Proxy ACL Proxy ACL Proxy ACL
as fallback method
Filter-ID attribute Filter-ID attribute Filter-ID attribute Filter-ID attribute
Note For clients
Downloadable ACL Downloadable ACL Downloadable ACL Downloadable ACL
that do not
support
802.1x
authentication.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
316
Configuring IEEE 802.1x Port-Based Authentication
Per-User ACLs and Filter-IDs
To disable dot1x on a device, remove the configuration globally by using the no dot1x system-auth-control
command, and also remove it from all configured interfaces.
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
Note You can only set any as the source in the ACL.
Note For any ACL that is configured for multiple-host mode, the source portion of statement must be any. (For
example, permit icmp any host 10.10.1.1.)
You must specify any in the source ports of any defined ACL. Otherwise, the ACL cannot be applied and
authorization fails. Single host is the only exception to support backward compatibility.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
317
Configuring IEEE 802.1x Port-Based Authentication
802.1x Host Mode
and STP packets. When a client is successfully authenticated, the port changes to the authorized state, allowing
all traffic for the client to flow normally. If the port is configured as a voice VLAN port, the port allows VoIP
traffic and 802.1x protocol packets before the client is successfully authenticated.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
318
Configuring IEEE 802.1x Port-Based Authentication
802.1x Multiple Authentication Mode
unauthorized (re-authentication fails or an EAPOL-logoff message is received), the device denies network
access to all of the attached clients.
In this topology, the wireless access point is responsible for authenticating the clients attached to it, and it
also acts as a client to the device.
Figure 8: Multiple Host Mode Example
Note For all host modes, the line protocol stays up before authorization when port-based authentication is configured.
The device supports multidomain authentication (MDA), which allows both a data device and a voice device,
such as an IP Phone (Cisco or non-Cisco), to connect to the same device port.
Note When a port is in multiple-authentication mode, the authentication-failed VLAN features do not activate.
You can assign a RADIUS-server-supplied VLAN in multi-auth mode, under the following conditions:
• The host is the first host authorized on the port, and the RADIUS server supplies VLAN information
• Subsequent hosts are authorized with a VLAN that matches the operational VLAN.
• A host is authorized on the port with no VLAN assignment, and subsequent hosts either have no VLAN
assignment, or their VLAN information matches the operational VLAN.
• The first host authorized on the port has a group VLAN assignment, and subsequent hosts either have
no VLAN assignment, or their group VLAN matches the group VLAN on the port. Subsequent hosts
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
319
Configuring IEEE 802.1x Port-Based Authentication
MAC Move
must use the same VLAN from the VLAN group as the first host. If a VLAN list is used, all hosts are
subject to the conditions specified in the VLAN list.
• 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.
• You cannot configure a guest VLAN or an auth-fail VLAN in multi-auth mode.
• 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.
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 re-authenticated on the new port. When a host moves
to a second port, the session on the first port is deleted, and the host is re-authenticated 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.
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 multidomain 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
320
Configuring IEEE 802.1x Port-Based Authentication
802.1x Accounting
• 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 device does not log 802.1x accounting information. Instead, it sends this information to the RADIUS
server, which must be configured to log accounting messages.
You can view the AV pairs that are being sent by the device by entering the debug radius accounting
privileged EXEC command.
This table lists the AV pairs and when they are sent are sent by the device.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
321
Configuring IEEE 802.1x Port-Based Authentication
Device-to-RADIUS-Server Communication
Device-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.
802.1x Authentication
These are the 802.1x authentication configuration guidelines:
• When 802.1x authentication is enabled, ports are authenticated before any other Layer 2 or Layer 3
features are enabled.
• If the VLAN to which an 802.1x-enabled port is assigned changes, this change is transparent and does
not affect the device. For example, this change occurs if a port is assigned to a RADIUS server-assigned
VLAN and is then assigned to a different VLAN after re-authentication.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
322
Configuring IEEE 802.1x Port-Based Authentication
Default 802.1x Authentication Configuration
If the VLAN to which an 802.1x port is assigned to shut down, disabled, or removed, the port becomes
unauthorized. For example, the port is unauthorized after the access VLAN to which a port is assigned
shuts down or is removed.
• The 802.1x protocol is supported on Layer 2 static-access ports, voice VLAN ports, and Layer 3 routed
ports, but it is not supported on these port types:
• Dynamic ports: A port in dynamic mode can negotiate with its neighbor to become a trunk port. If
you try to enable 802.1x authentication on a dynamic port, an error message appears, and 802.1x
authentication is not enabled. If you try to change the mode of an 802.1x-enabled port to dynamic,
an error message appears, and the port mode is not changed.
• EtherChannel port: Do not configure a port that is an active or a not-yet-active member of an
EtherChannel as an 802.1x port. If you try to enable 802.1x authentication on an EtherChannel port,
an error message appears, and 802.1x authentication is not enabled.
• Switched Port Analyzer (SPAN) destination ports: You can enable 802.1x authentication on a port
that is a SPAN destination port. However, 802.1x authentication is disabled until the port is removed
as a SPAN destination port. You can enable 802.1x authentication on a SPAN source port.
• Before globally enabling 802.1x authentication on a device 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.
AAA Disabled.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
323
Configuring IEEE 802.1x Port-Based Authentication
Flexible Authentication Ordering
Re-authentication number 2 times (number of times that the device restarts the
authentication process before the port changes to the
unauthorized state).
Maximum retransmission number 2 times (number of times that the device will send an
EAP-request/identity frame before restarting the
authentication process).
Authentication server timeout period 30 seconds (when relaying a response from the client
to the authentication server, the amount of time the
device waits for a reply before resending the response
to the server.)
You can change this timeout period by using the dot1x
timeout server-timeout interface configuration
command.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
324
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Guest VLAN
Using these features, 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: Multi-authentication 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.
If devices send EAPOL packets to the device during the lifetime of the link, the device no longer allows clients
that fail authentication access to the guest 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
325
Configuring IEEE 802.1x Port-Based Authentication
802.1x Authentication with Restricted VLAN
Any number of 802.1x-incapable clients are allowed access when the device 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.
The device supports MAC authentication bypass. When MAC authentication bypass is enabled on an 802.1x
port, the device 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 device
waits for an Ethernet packet from the client. The device sends the authentication server a
RADIUS-access/request frame with a username and password based on the MAC address. If authorization
succeeds, the device grants the client access to the network. If authorization fails, the device 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 device port remains in
the spanning-tree blocking state. With this feature, you can configure the device 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.
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.
Other security port features such as dynamic ARP Inspection, DHCP snooping, and IP source guard can be
configured independently on a restricted VLAN.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
326
Configuring IEEE 802.1x Port-Based Authentication
802.1X Auth Fail VLAN
Note You can configure a VLAN to be both the guest VLAN and the auth fail 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 device port remains in
the spanning-tree blocking state. With this feature, you can configure the device port to be in the auth fail
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 auth fail 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 auth fail VLAN, the failed attempt counter resets.
Users who fail authentication remain in the auth fail VLAN until the next re-authentication attempt. A port
in the auth fail VLAN tries to re-authenticate at configured intervals (the default is 60 seconds). If
re-authentication fails, the port remains in the auth fail 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. It is recommended 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.
After a port moves to the auth fail VLAN, a simulated EAP success message is sent to the client. This prevents
clients from indefinitely attempting authentication.
As a prerequisite, the device must be connected to a Cisco secure Access Control System (ACS) and RADIUS
authentication, authorization, and accounting (AAA) must be configured for Web authentication. If appropriate,
you must enable ACL download.
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.
• Multiple-hosts mode with open authentication: Any host can access the network.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
327
Configuring IEEE 802.1x Port-Based Authentication
Limiting Login for Users
• Multiple-authentication mode with open authentication: Similar to MDA, except multiple hosts can be
authenticated.
Note If critical authentication is configured on interface, then vlan used for critical authorization (critical vlan)
should be active on the device. If the critical vlan is inactive (or) down, critical authentication session will
keep trying to enable the inactive VLAN and fail repeatedly. This can lead to large amount of memory holding.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
328
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 device 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 device 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.
• 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
329
Configuring IEEE 802.1x Port-Based Authentication
VLAN Assignment, Guest VLAN, Restricted VLAN, and Inaccessible Authentication Bypass
• You can configure any VLAN except 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
330
Configuring IEEE 802.1x Port-Based Authentication
MAC Authentication Bypass Guidelines
If an EAPOL packet is detected on the interface during the lifetime of the link, the device determines that the
device connected to that interface is an 802.1x-capable supplicant and uses 802.1x authentication (not MAC
authentication bypass) to authorize the interface. EAPOL history is cleared if the interface link status goes
down.
If the device already authorized a port by using MAC authentication bypass and detects an IEEE 802.1x
supplicant, the device does not unauthorize the client connected to the port. When re-authentication occurs,
the device uses the authentication or re-authentication methods configured on the port, if the previous session
ended because the Termination-Action RADIUS attribute value is DEFAULT.
Clients that were authorized with MAC authentication bypass can be re-authenticated. The re-authentication
process is the same as that for clients that were authenticated with IEEE 802.1x. During re-authentication, the
port remains in the previously assigned VLAN. If re-authentication is successful, the device keeps the port
in the same VLAN. If re-authentication fails, the device assigns the port to the guest VLAN, if one is configured.
If re-authentication is based on the Session-Timeout RADIUS attribute (Attribute[27]) and the
Termination-Action RADIUS attribute (Attribute [29]) and if the Termination-Action RADIUS attribute
(Attribute [29]) action is Initialize (the attribute value is DEFAULT), the MAC authentication bypass session
ends, and connectivity is lost during re-authentication. If MAC authentication bypass is enabled and the IEEE
802.1x authentication times out, the device uses the MAC authentication bypass feature to initiate
re-authorization. For more information about these AV pairs, see RFC 3580, “IEEE 802.1X Remote
Authentication Dial In User Service (RADIUS).”
MAC authentication bypass interacts with the features:
• IEEE 802.1x authentication: You can enable MAC authentication bypass only if 802.1x authentication
is enabled on the port .
• Guest VLAN: If a client has an invalid MAC address identity, the device assigns the client to a guest
VLAN if one is configured.
• 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
• 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
331
Configuring IEEE 802.1x Port-Based Authentication
Maximum Number of Allowed Devices Per Port
• You can configure a timeout period for hosts that are connected by MAC authentication bypass but are
inactive. The range is 1to 65535 seconds.
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 device recognizes
only the one directly connected to it. When IEEE 802.1x authentication is enabled on a voice VLAN port,
the device drops packets from unrecognized IP phones more than one hop away.
When IEEE 802.1x authentication is enabled on a device port, you can configure an access port VLAN that
is also a voice VLAN.
When IP phones are connected to an 802.1x-enabled device port that is in single host mode, the device 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 device for up to 30 seconds.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
332
Configuring IEEE 802.1x Port-Based Authentication
IEEE 802.1x Authentication with Port Security
If Multi Domain Authentication (MDA) is enabled on a port, this flow can be used with some exceptions that
are applicable to voice authorization.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
333
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Process
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
334
Configuring IEEE 802.1x Port-Based Authentication
Port-Based Authentication Initiation and Message Exchange
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 device 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 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.
Figure 10: 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 device can authorize the client when the device detects an Ethernet packet from the
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
335
Configuring IEEE 802.1x Port-Based Authentication
802.1x User Distribution
client. The device 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 device the
RADIUS-access/accept frame (authorization is successful), the port becomes authorized. If authorization fails
and a guest VLAN is specified, the device assigns the port to the guest VLAN. If the device detects an EAPOL
packet while waiting for an Ethernet packet, the device stops the MAC authentication bypass process and
starts 802.1x authentication.
Figure 11: Message Exchange During MAC Authentication Bypass
This figure shows the message exchange during MAC authentication bypass.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
336
Configuring IEEE 802.1x Port-Based Authentication
802.1x User Distribution Configuration Guidelines
In the default state, when you connect a supplicant device to an authenticator device 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 device 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.
We strongly recommend using the dot1x supplicant controlled transient command on a supplicant device
when BPDU guard is enabled on the authenticator device port with the spanning-tree bpduguard enable
interface configuration command.
Note If you globally enable BPDU guard on the authenticator device by using the spanning-tree portfast bpduguard
default global configuration command, entering the dot1x supplicant controlled transient command does
not prevent the BPDU violation.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
337
Configuring IEEE 802.1x Port-Based Authentication
Per-User ACLs and Filter-IDs
You can enable MDA or multi-auth mode on the authenticator device interface that connects to one more
supplicant devices. Multihost mode is not supported on the authenticator device interface.
When you reboot an authenticator device 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 device for Network
Edge Access Topology (NEAT) to work in all host modes.
• Host Authorization: Ensures that only traffic from authorized hosts (connecting to the device with
supplicant) is allowed on the network. The devices use Client Information Signalling Protocol (CISP)
to send the MAC addresses connecting to the supplicant device to the authenticator device.
• Auto enablement: Automatically enables trunk configuration on the authenticator device, allowing user
traffic from multiple VLANs coming from supplicant devices. 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 12: Authenticator and Supplicant Device using CISP
5 Trunk port
Note The switchport nonegotiate command is not supported on supplicant and authenticator devices 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.
Note You can only set any as the source in the ACL.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
338
Configuring IEEE 802.1x Port-Based Authentication
Per-User ACLs Authentication through 802.1x/MAB/WebAuth Users
Note For any ACL that is configured for multiple-host mode, the source portion of statement must be any. (For
example, permit icmp any host 10.10.1.1.)
You must specify any in the source ports of any defined ACL. Otherwise, the ACL cannot be applied and
authorization fails. Single host is the only exception to support backward compatibility.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
339
Configuring IEEE 802.1x Port-Based Authentication
Voice-Aware 802.1x Security
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 used in default situations. The
default method list is automatically
applied to all ports.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
340
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 device 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 name for the RADIUS
server configuration, and enters RADIUS
Example:
server configuration mode.
Device(config)# radius server server1
Step 8 address ipv4 ip address auth-port port (Optional) Specifies the RADIUS server.
number acct-port port number
Example:
Device(config-radius-server)# address
ipv4 10.1.10.1 auth-port 1645 acct-port
1682
Device(config-radius-server)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
341
Configuring IEEE 802.1x Port-Based Authentication
Disabling 802.1x Authentication on the Port
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
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
342
Configuring IEEE 802.1x Port-Based Authentication
Resetting the 802.1x Authentication Configuration to the Default Values
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
343
Configuring IEEE 802.1x Port-Based Authentication
Configuring Periodic Re-Authentication
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config-if)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
344
Configuring IEEE 802.1x Port-Based Authentication
Configuring Periodic Re-Authentication
Device(config-if)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
345
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 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
346
Configuring IEEE 802.1x Port-Based Authentication
Setting the Device-to-Client Frame-Retransmission Number
Device(config-if)# end
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 device-to-client frame-retransmission
number. This procedure is optional.
Procedure
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Step 4 dot1x max-reauth-req count Sets the number of times that the device sends
an EAP-request/identity frame to the client
Example:
before restarting the authentication process. The
range is 1 to 10; the default is 2.
Device(config-if)# dot1x max-reauth-req
5
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
347
Configuring IEEE 802.1x Port-Based Authentication
Changing the Switch-to-Client Retransmission Time
Device(config-if)# end
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.
Follow these steps to change the amount of time that the device waits for client notification. This procedure
is optional.
Procedure
Device> enable
Step 3 interface interface-type interface-number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
348
Configuring IEEE 802.1x Port-Based Authentication
Configuring the Host Mode
Device(config-if)# end
Step 6 show authentication sessions interface type Displays information about current
number Auth-Manager sessions for the specified
interface.
Example:
Example:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
349
Configuring IEEE 802.1x Port-Based Authentication
Enabling MAC Move
Device(config-if)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
350
Configuring IEEE 802.1x Port-Based Authentication
Enabling MAC Replace
Beginning in privileged EXEC mode, follow these steps to globally enable MAC move on the device. This
procedure is optional.
Procedure
Device> enable
Step 3 authentication mac-move permit Enables MAC move on the device. Default is
deny.
Example:
• In Session Aware Networking mode, the
Device(config)# authentication mac-move default CLI is access-session mac-move
permit deny. To 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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
351
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Accounting
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
352
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Accounting
When the stop message is not sent successfully, this message appears:
Note You must configure the RADIUS server to perform accounting tasks, such as logging start, stop, and
interim-update messages and time stamps.
Procedure
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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 device reloads.
Device(config-if)# aaa accounting system
default start-stop group radius
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
353
Configuring IEEE 802.1x Port-Based Authentication
Configuring the Device-to-RADIUS-Server Communication
Device(config-if)# end
Procedure
Device> enable
Step 3 radius server server-name (Optional) Specifies the name for the RADIUS
server configuration, and enters RADIUS server
Example:
configuration mode.
Device(config)# radius server server1
Step 4 address ipv4 ip address auth-port port (Optional) Specifies the RADIUS server.
number acct-port port number
Example:
Device(config-radius-server)# address
ipv4 10.1.10.1 auth-port 1645 acct-port
1682
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
354
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Authentication
Device(config-radius-server)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
355
Configuring IEEE 802.1x Port-Based Authentication
Configuring the Number of Authentication Retries
Procedure
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config-if)# access-session
port-control auto
Step 5 authentication event fail action authorize Specifies an active VLAN as an 802.1X
vlan vlan-id auth-fail VLAN. The range is 1 to 4094.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
356
Configuring IEEE 802.1x Port-Based Authentication
Configuring Flexible Authentication Ordering
Device(config-if)# end
Example
The following example shows how to set 2 as the number of authentication attempts allowed before
the port moves to the auth-fail VLAN:
Note Before changing the default order and priority of these authentication methods, however, you should understand
the potential consequences of those changes. See
http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6638/application_note_c27-573287_ps6638_Products_White_Paper.html
for details.
Procedure
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
357
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Guest VLAN
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
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
358
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Restricted VLAN
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Step 4 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
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
359
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1X Auth-Fail VLAN
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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
Device(config-if)# authentication event RSPAN VLAN or a voice VLAN as an
fail action authorize vlan 2 802.1x restricted VLAN.
Device(config-if)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
360
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1X Auth-Fail VLAN
Step 3 interface type slot/port Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config-if)# access-session
port-control auto
Step 5 authentication event fail action authorize Specifies an active VLAN as an 802.1X auth
vlan vlan-id fail VLAN. The range is 1 to 4094.
Example:
Device(config-if)# end
What to do next
To disable and remove the auth-fail VLAN, use the no authentication event fail interface configuration
command. The port returns to the default state.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
361
Configuring IEEE 802.1x Port-Based Authentication
Configuring Open1x
Configuring Open1x
Beginning in privileged EXEC mode, follow these steps to enable manual control of the port authorization
state:
Procedure
Device> enable
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/0/1
Or
Device(config)# interface fastethernet
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
362
Configuring IEEE 802.1x Port-Based Authentication
Configuring Open1x
Device(config-if)# authentication
host-mode multi-auth
Step 9 authentication order [ dot1x | mab ] | (Optional) Sets the order of authentication
{webauth} methods used on a port.
Example:
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
363
Configuring IEEE 802.1x Port-Based Authentication
Configuring Limiting Login for Users
Step 4 aaa authentication login default local Sets the authentication, authorization, and
accounting (AAA) authentication by using the
Example:
default authentication methods.
Device(config)# aaa authentication login
default local
Step 5 aaa authentication rejected n in m ban x Configures the time period for which an user is
blocked, if the user fails to successfully login
Example:
within the specified time and login attempts.
Device(config)# aaa authentication
rejected 3 in 20 ban 300 • n: Specifies the number of times a user can
try to login.
• m: Specifies the number of seconds within
which an user can try to login.
• x: Specifies the time period an user is
banned if the user fails to successfully
login.
Step 7 show aaa local user blocked Displays the list of local users who were
blocked.
Example:
Device# show aaa local user blocked
Step 8 clear aaa local user blocked username Clears the information about the blocked local
username user.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
364
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Example
The following is sample output from the show aaa local user blocked command:
Device# show aaa local user blocked
Local-user State
Procedure
Device> enable
Step 4 radius-server dead-criteria{time seconds } Sets the conditions that determine when a
[tries number] RADIUS server is considered unavailable or
down (dead).
Example:
• time:1 to 120 seconds. The device
Device(config)# radius-server dynamically determines a default seconds
dead-criteria time 20 tries 10 value between 10 and 60.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
365
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Step 5 radius-server deadtime minutes (Optional) Sets the number of minutes during
which a RADIUS server is not sent requests.
Example:
• The range is from 0 to 1440 minutes (24
Device(config)# radius-server deadtime hours). The default is 0 minutes.
60
Step 6 radius server server-name (Optional) Specifies the name for the RADIUS
server configuration, and enters RADIUS
Example:
server configuration mode.
Device(config)# radius server server1
Step 7 address ipv4 ip address auth-port port (Optional) Specifies the RADIUS server.
number acct-port port number
Example:
Device(config-radius-server)# address
ipv4 10.1.10.1 auth-port 1645 acct-port
1682
Step 9 dot1x critical {eapol | recovery delay (Optional) Configure the parameters for
milliseconds} inaccessible authentication bypass:
Example: • eapol: Specify that the device sends an
EAPOL-Success message when the
Device(config)# dot1x critical eapol device successfully authenticates the
Device(config)# dot1x critical recovery critical port.
delay 2000
• recovery delay milliseconds: Set the
recovery delay period during which the
device 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
default is 1000 milliseconds (a port can
be re-initialized every second).
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
366
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Inaccessible Authentication Bypass with Critical Voice VLAN
Device(config)# interface
gigabitethernet 1/0/1
Or
Device(config)# interface fastethernet
1/0/1
Step 11 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 critical
Device(config-if)# authentication event VLAN.
server dead action
reinitialicze vlan 20 • reinitialize: Move all authorized hosts on
the port to the user-specified critical
VLAN.
Step 12 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 13 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
Step 15 show authentication interface type number (Optional) Verify your entries.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
367
Configuring IEEE 802.1x Port-Based Authentication
Configuring MAC Authentication Bypass
What to do next
To return to the RADIUS server default settings, use the no radius-server dead-criteria, 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
Step 3 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config-if)# authentication
port-control auto
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
368
Configuring IEEE 802.1x Port-Based Authentication
Formatting a MAC Authentication Bypass Username and Password
Device(config-if)# end
Procedure
Device> enable
Step 3 mab request format attribute 1 groupsize {1 Specifies the format of the MAC address in the
| 2 | 4 |12} [separator {- | : | .} {lowercase | User-Name attribute of MAB-generated
uppercase}] Access-Request packets.
Example: • 1: Sets the username format of the 12 hex
digits of the MAC address.
Device(config)# mab request format
attribute 1 groupsize 12 • groupsize: The number of hex nibbles to
concatenate before insertion of a separator.
A valid groupsize must be either 1, 2, 4,
or 12.
• separator: The character that separates
the hex nibbles according to group size. A
valid separator must be either a hyphen,
colon, or period. No separator is used for
a group size of 12.
• {lowercase | uppercase}: Specifies if
non-numeric hex nibbles should be in
lowercase or uppercase.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
369
Configuring IEEE 802.1x Port-Based Authentication
Configuring Number of Authentication Attempts on a Restricted VLAN
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
370
Configuring IEEE 802.1x Port-Based Authentication
Configuring VLAN ID-Based MAC Authentication
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
Device(config-if)# authentication event RSPAN VLAN or a voice VLAN as an
fail action authorize vlan 8 802.1x restricted VLAN.
Step 6 authentication event retry retry count Specifies a number of authentication attempts
to allow before a port moves to the restricted
Example:
VLAN. The range is 1 to 3, and the default is
3.
Device(config-if)# authentication event
retry 2
Device(config-if)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
371
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Supplicant Device with NEAT
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
372
Configuring IEEE 802.1x Port-Based Authentication
Configuring a Supplicant Device with NEAT
Step 7 dot1x supplicant force-multicast Forces the device 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 device in all host modes.
Step 8 interface type number Specifies the port to be configured, and enters
interface configuration mode.
Example:
Device(config)# interface
gigabitethernet 1/0/2
Or
Device(config)# interface fastethernet
1/0/2
Step 9 switchport mode trunk Configures the interface as a VLAN trunk port.
Example:
Step 10 dot1x pae supplicant Configures the interface as a port access entity
(PAE) supplicant.
Example:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
373
Configuring IEEE 802.1x Port-Based Authentication
Configuring an Authenticator Device with NEAT
Device(config-if)# end
Note • The authenticator device 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 Cisco 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 device as an authenticator:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
374
Configuring IEEE 802.1x Port-Based Authentication
Configuring an Authenticator Device with NEAT
Device(config)# interface
gigabitethernet 1/0/2
Or
Device(config)# interface fastethernet
1/0/2
Device(config-if)# authentication
port-control auto
Step 7 dot1x pae authenticator Configures the interface as a port access entity
(PAE) authenticator.
Example:
Device(config-if)# spanning-tree
portfast trunk
Device(config-if)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
375
Configuring IEEE 802.1x Port-Based Authentication
Changing the Quiet Period
Procedure
Device> enable
Step 3 interface interface-type interface-number Specifies the port to be configured, and enters
interface configuration mode.
Example:
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
restart 30 default is 60.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
376
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
device:
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
377
Configuring IEEE 802.1x Port-Based Authentication
Configuring 802.1x Violation Modes
Step 5 interface type number Specifies the port connected to the client that
is to be enabled for IEEE 802.1x authentication,
Example:
and enters interface configuration mode.
Device(config)# interface gigabitethernet
1/0/2
Or
Device(config)# interface fastethernet
1/0/2
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: Generates a syslog error.
violation restrict
• protect: Drops 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
378
Configuring IEEE 802.1x Port-Based Authentication
Configuring Voice-Aware 802.1x Security
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.
Beginning in privileged EXEC mode, follow these steps to enable voice-aware 802.1x security:
Procedure
Device> enable
Step 3 errdisable detect cause security-violation Shuts 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 enters
Device(config)# errdisable detect cause the error-disabled state and shuts
security-violation shutdown vlan down.
Device(config)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
379
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 10.1.10.1 auth-port 1645 acct-port 1682
Device(config-radius-server)# key rad123
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
Device> enable
Device# configure terminal
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
380
Configuring IEEE 802.1x Port-Based Authentication
Additional References
Additional References
Related Documents
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Standard/RFC Title
RFC 3580 IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
381
Configuring IEEE 802.1x Port-Based Authentication
Feature History for IEEE 802.1x Port-Based Authentication
Cisco IOS Release 15.2(7)E1 IEEE 802.1x Port-Based IEEE 802.1x authentication prevents
Authentication unauthorized devices (clients) from gaining
access to the network.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
382
CHAPTER 23
Per-User ACL Support for 802.1X/MAB/Webauth
Users
This feature allows per-user ACLs to be downloaded from the Cisco Access Control Server (ACS) as policy
enforcement after authentication using IEEE 802.1X, MAB authentication bypass, or web authentication.
• Prerequisites for Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 383
• Restrictions for Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 383
• Information About Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 384
• How to Configure Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 384
• Configuration Examples for Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 386
• Additional References, on page 386
• Feature Information for Per-User ACL Support for 802.1X/MAB/Webauth Users, on page 387
PrerequisitesforPer-UserACLSupportfor802.1X/MAB/Webauth
Users
• AAA authentication must be enabled.
• AAA authorization must be enabled by using the network keyword to allow interface configuration from
the RADIUS server.
• 802.1X authentication must be enabled.
• The user profile and VSAs must be configured on the RADIUS server.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
383
Per-User ACL Support for 802.1X/MAB/Webauth Users
Information About Per-User ACL Support for 802.1X/MAB/Webauth Users
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
384
Per-User ACL Support for 802.1X/MAB/Webauth Users
Configuring Downloadable ACLs
Procedure
Device> enable
Step 5 aaa authorization network default group Sets the authorization method. To remove the
radius authorization method, use the no aaa
authorization network default group radius
Example:
command.
Device(config)# aaa authorization
network default group radius
Step 6 radius-server vsa send authentication Configures the network access server.
Example:
Device(config)# radius-server vsa send
autentication
Device(config)# interface
gigabitethernet 1/0/2
Or
Device(config)# interface fastethernet
1/0/2
Step 8 ip access-group acl-id in Configures the default ACL on the port in the
input direction.
Example:
Device(config-if)# ip access-group 99 Note The ACL ID is an access list name
in or number.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
385
Per-User ACL Support for 802.1X/MAB/Webauth Users
Configuration Examples for Per-User ACL Support for 802.1X/MAB/Webauth Users
Additional References
Related Documents
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
386
Per-User ACL Support for 802.1X/MAB/Webauth Users
Feature Information for Per-User ACL Support for 802.1X/MAB/Webauth Users
Standard/RFC Title
RFC 3580 IEEE 802.1x Remote Authentication Dial In User Service (RADIUS)
MIBs
• CISCO–AUTH–FRAMEWORK–MIB To locate and download MIBs for selected platforms, Cisco IOS
releases, and feature sets, use Cisco MIB Locator found at the
• CISCO–MAB–AUTH–BYPASS–MIB following URL:
• CISCO–PAE–MIB http://www.cisco.com/go/mibs
• IEEE8021–PAE–MIB
Technical Assistance
Description Link
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
387
Per-User ACL Support for 802.1X/MAB/Webauth Users
Feature Information for Per-User ACL Support for 802.1X/MAB/Webauth Users
Table 28: Feature Information for Per-User ACL Support for 802.1X/MAB/Webauth Users
Per-User ACL Support for Cisco IOS Release 15.2(7)E1 This feature allows per-user ACLs
802.1X/MAB/Webauth Users to be downloaded from the Cisco
Access Control Server (ACS) as
policy enforcement after
authentication using IEEE 802.1X,
MAB authentication bypass, or web
authentication.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
388
CHAPTER 24
Web Authentication Redirection to Original URL
The Web Authentication Redirection to Original URL feature enables networks to redirect guest users to the
URL that they had originally requested. This feature is enabled by default and requires no configuration. This
module provides information about this feature.
• Web Authentication Redirection to Original URL Overview , on page 389
• Additional References for Web Authentication Redirection to Original URL, on page 391
• Feature Information for Web Authentication Redirection to Originial URL , on page 391
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
389
Web Authentication Redirection to Original URL
Web Authentication Redirection to Original URL Overview
1. A user accesses a network for the first time and sends an HTTP request to access www.google.com. When
the user first accesses the network, a MAC authentication bypass (MAB) is triggered and the MAC address
is sent to the Cisco ISE.
2. The Cisco ISE returns a RADIUS access-accept message (even if the MAC address is not received) along
with the redirect access control list (ACL), the ACL-WEBAUTH-REDIRECT message, and the guest
web portal URL to the device.
The RADIUS message instructs the device to open a port that is restricted based on the configured port
and the redirect ACLs, for regular network traffic.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
390
Web Authentication Redirection to Original URL
Additional References for Web Authentication Redirection to Original URL
3. When the user launches a web browser, the device intercepts the HTTP traffic and redirects the browser
to the Cisco ISE central web authentication (CWA) guest web portal URL; the user-requested URL is
extracted and appended to the Cisco ISE guest URL.
4. When the user is authenticated, the Cisco ISE sends the Device Registration page to the user. The user
enters the required information, and the page is returned to the Cisco ISE. The Cisco ISE downloads user
profiles and redirects the user to the originally requested URL: www.google.com.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
391
Web Authentication Redirection to Original URL
Feature Information for Web Authentication Redirection to Originial URL
Web Authentication Redirection to Cisco IOS Release This feature was introduced.
Original URL 15.2(7)E1
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
392
CHAPTER 25
Configuring Web-Based Authentication
The Web-Based Authentication feature, also known as web authentication proxy, authenticates end users on
host systems that do not run the IEEE 802.1x supplicant.
• Restrictions for Web-Based Authentication, on page 393
• Information About Web-Based Authentication, on page 393
• How to Configure Web-Based Authentication, on page 405
• Configuration Examples for Web-Based Authentication, on page 415
• Additional References for Web-Based Authentication, on page 417
• Feature Information for Web-Based Authentication, on page 418
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
393
Configuring Web-Based Authentication
Device Roles
Note HTTPS traffic interception for central web authentication redirect is not supported.
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 authentication can be categorized 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
394
Configuring Web-Based Authentication
Host Detection
• 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.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
395
Configuring Web-Based Authentication
Authentication Process
Authentication Process
When you enable web-based authentication, these events occur:
• The user initiates an HTTP session.
• 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.
Triggering on HTTP If a user is not currently authenticated at the firewall router, any HTTP connection
connections initiated by the user triggers the authentication proxy. If the user is already
authenticated, the authentication proxy is transparent to the user.
Logging in using the Triggering the authentication proxy generates an HTML-based login page. The
login page user must enter a username and password to be authenticated with the AAA server.
The Authentication Proxy Login Page figure, in the How the Authentication Proxy
Works module, illustrates the authentication proxy login page.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
396
Configuring Web-Based Authentication
When to Use the Authentication Proxy
Authenticating the user at Following the login attempt, the authentication proxy action can vary depending
the client on whether JavaScript is enabled in the browser. If JavaScript is enabled, and
authentication is successful, the authentication proxy displays a message indicating
the status of the authentication as shown in the Authentication Proxy Login Status
Message figure, in the How the Authentication Proxy Works module. After the
authentication status is displayed, the proxy automatically completes the HTTP
connection.
If JavaScript is disabled, and authentication is successful, the authentication proxy
generates a popup window with additional instructions for completing the
connection. See the Authentication Proxy Login Status Message with JavaScript
Disabled figure, in the Secure Authentication module.
If authentication is unsuccessful in any case, the user must log in again from the
login page.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
397
Configuring Web-Based Authentication
Local Web Authentication Banner
authorization for all user-initiated HTTP connections. Users are authorized for services only after successful
authentication with the AAA server.
The authentication proxy feature also allows you to use standard access lists to specify a host or group of
hosts whose initial HTTP traffic triggers the proxy.
The figure below shows the authentication proxy applied at the LAN interface with all network users required
to be authenticated upon the initial connection (all traffic is blocked at each interface).
Figure 15: Applying the Authentication Proxy at the Local Interface
The figure below shows the authentication proxy applied at the dial-in interface with all network traffic blocked
at each interface.
Figure 16: Applying the Authentication Proxy at an Outside Interface
The Local Web Authentication Banner can be configured in legacy and new-style (Session-aware) CLIs as
follows:
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
398
Configuring Web-Based Authentication
Local Web Authentication Banner
• Legacy mode: Use the ip admission auth-proxy-banner http global configuration command.
• New-style mode: Use the parameter-map type webauth global banner global configuration command.
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.
Figure 17: Authentication Successful Banner
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
399
Configuring 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 19: Login Screen With No Banner
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
400
Configuring 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.
• 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 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 redirecting users to specific URL after authentication occurs is entered and then the command
configuring web pages is entered, the CLI 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 stack's active switch or a member).
• 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
401
Configuring 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 Release 15.2(7)Ex (Catalyst 1000 Switches)
402
Configuring Web-Based Authentication
Web-Based Authentication Interactions with Other Features
ACLs
You must configure port ACLs on interfaces for web-based authentication.
Ensure that sufficient TCAM space is available to enable web-based authentication.
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.
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.
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.
Port Security
You can configure web-based authentication and port security on the same port. Web-based authentication
authenticates the port, and port security manages network access for all MAC addresses, including that of the
client. You can then limit the number or group of clients that can access the network through the port.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
403
Configuring Web-Based Authentication
Default Web-Based Authentication Configuration
AAA Disabled
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
404
Configuring Web-Based Authentication
How to Configure Web-Based Authentication
• 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 and radius-server retransmit
global configuration commands.
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
405
Configuring Web-Based Authentication
Configuring the Authentication Rule and Interfaces
Device> enable
Step 3 ip admission name name proxy http Configures an authentication rule for
web-based authorization.
Example:
Device(config-if)# ip access-group
webauthag
Device(config-if)# exit
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
406
Configuring Web-Based Authentication
Configuring AAA Authentication
Device(config)# end
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
407
Configuring Web-Based Authentication
Configuring Switch-to-RADIUS-Server Communication
Device(config)# end
Procedure
Device> enable
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
408
Configuring Web-Based Authentication
Configuring the HTTP Server
Device(config)# ip radius
source-interface vlan 80
Step 4 radius-server host {hostname | ip-address} Specifies the host name or IP address of the
test username username remote RADIUS server.
Example: • The test username username option
enables automated testing of the RADIUS
Device(config)# radius-server host server connection. The specified username
172.l20.39.46 test username user1 does not need to be a valid user name.
• To use multiple RADIUS servers, reenter
this command for each server.
Step 5 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
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
409
Configuring Web-Based Authentication
Customizing the Authentication Proxy Web Pages
Device> enable
Device(config)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
410
Configuring Web-Based Authentication
Customizing the Authentication Proxy Web Pages
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:
Step 6 ip admission proxy http login expired page Specifies the location of the custom HTML file
file device:expired-filename to use in place of the default login expired page.
Example:
Device(config)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
411
Configuring 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(config)# end
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
412
Configuring Web-Based Authentication
Configuring Central Web Authentication
Procedure
Device> enable
Step 2 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.
Device# clear ip admission cache
192.168.4.5
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
413
Configuring Web-Based Authentication
Verifying Web-Based Authentication Status
Command Purpose
show authentication sessions method Displays the web-based authentication settings for all interfaces for
webauth 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.
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
414
Configuring Web-Based Authentication
Verifying HTTPS Authentication Proxy
Procedure
Device> enable
Procedure
Device> enable
Step 2 show ip auth-proxy cache Displays the list of user authentication entries.
Example: The authentication proxy cache lists the host IP
address, the source port number, the timeout
Device# show ip auth-proxy cache value for the authentication proxy, and the state
of the connection. If the authentication proxy
state is HTTP_ESTAB, the user authentication
was successful.
Step 3 show ip admission { status | cache } Display the network admission configuration
status and cache entries for web authentication
Example:
sessions.
Device# show ip admission cache
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
415
Configuring Web-Based Authentication
Example: AAA Configuration
Device> enable
Device# configure terminal
Device(config)# ip admission name webauth1 proxy http
Device(config)# interface fastethernet 5/1
Device(config-if)# ip admission webauth1
Device(config-if)# exit
Device(config)# ip device tracking
Device(config)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
416
Configuring Web-Based Authentication
Example: Customizing the Authentication Proxy Web Pages
The following output displays the host IP addresses, the session timeout, and the posture states. If the posture
statue is POSTURE ESTAB, the host validation was successful.
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
417
Configuring Web-Based Authentication
Feature Information for Web-Based Authentication
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.
Web-Based Authentication Cisco IOS Release 15.2(7)E1 This feature was introduced.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
418
CHAPTER 26
Port Security
• Prerequisites for Port Security, on page 419
• Restrictions for Port Security, on page 419
• Information About Port Security, on page 419
• How to Configure Port Security, on page 423
• Configuration Examples for Port Security, on page 431
• Additional References, on page 432
• Feature History for Port Security, on page 432
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
419
Port Security
Types of Secure MAC Addresses
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 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
420
Port Security
Port Security Aging
• 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.
• 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 Traffic is Sends SNMP Sends syslog Displays error Violation Shuts down
Mode forwarded trap message message counter port
2 3 increments
protect No No No No No No
2
Packets with unknown source addresses are dropped until you remove a sufficient number of secure
MAC addresses.
3
The switch returns an error message if you manually configure an address that would cause a security
violation.
4
Shuts down only the VLAN on which the violation occurred.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
421
Port Security
Default Port Security Configuration
• Inactivity: The secure addresses on the port are deleted only if the secure addresses are inactive for the
specified aging time.
\
Feature Default Setting
Violation mode Shutdown. The port shuts down when the maximum
number of secure MAC addresses is exceeded.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
422
Port Security
How to Configure Port Security
• The device does not support port security aging of sticky secure MAC addresses.
This table summarizes port security compatibility with other port-based features.
DTP 5 port 6 No
Dynamic-access port 7 No
Routed port No
EtherChannel Yes
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
423
Port Security
Enabling and Configuring Port Security
Procedure
Device> enable
Step 3 port-security mac-address forbidden mac Specifies a MAC address that should be
address forbidden by port-security on all the interfaces.
Example:
Device(config)# port-security
mac-address forbidden 2.2.2
Device(config)# interface
gigabitethernet 1/0/2
Or
Device(config)# interface fastethernet
1/0/2
Step 5 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
Device(config-if)# switchport
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
424
Port Security
Enabling and Configuring Port Security
Step 8 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 is set by the
maximum number of available MAC addresses
Device(config-if)# switchport
port-security maximum 20 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
VLANs separated by a hyphen or a series
of VLANs separated by commas. For
nonspecified VLANs, the per-VLAN
maximum value is used.
• access: On an access port, specifies the
VLAN as an access VLAN.
• voice: On an access port, specifies the
VLAN as a voice VLAN.
Step 9 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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
425
Port Security
Enabling and Configuring Port Security
Step 10 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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
426
Port Security
Enabling and Configuring Port Security
Step 11 switchport port-security mac-address sticky (Optional) Enables sticky learning on the
interface.
Example:
Device(config-if)# switchport
port-security mac-address sticky
Step 12 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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
427
Port Security
Enabling and Configuring Port Security
Device(config-if)# switchport
port-security mac-address forbidden
2.2.2
Device(config-f)# end
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
428
Port Security
Enabling and Configuring Port Security Aging
Procedure
Device> enable
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.
Example: Note The device does not support port
security aging of sticky secure
Device(config-if)# switchport addresses.
port-security aging time 120
• Enter the static keyword to enable aging
for statically configured secure addresses
on this port.
• The time argument specifies the aging time
for this port. The valid values are from 0
to 1440 minutes.
• For thetype keyword, select one of these
keywords:
• absolute: Sets the aging type as
absolute aging. All the secure
addresses on this port age out exactly
after the time (minutes) specified
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
429
Port Security
Monitoring Port Security
Device(config-f)# end
Table 37: Commands for Displaying Port Security Status and Configuration
Command Purpose
show port-security [interface interface-id] Displays port security settings for the switch or for
the specified interface, including the maximum
allowed number of secure MAC addresses for each
interface, the number of secure MAC addresses on
the interface, the number of security violations that
have occurred, and the violation mode.
show port-security [interface interface-id] address Displays all secure MAC addresses configured on all
switch interfaces or on a specified interface with aging
information for each address.
show port-security interface interface-id vlan Displays the number of secure MAC addresses
configured per VLAN on the specified interface.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
430
Port Security
Configuration Examples for Port Security
Device> enable
Device# configure terminal
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# switchport mode access
Device(config-if)# switchport port-security
Device(config-if)# switchport port-security maximum 50
Device(config-if)# switchport port-security mac-address sticky
Device(config-if)# end
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 gigabitethernet 1/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 tengigabitethernet 1/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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
431
Port Security
Additional References
Additional References
Related Documents
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
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 Release 15.2(7)E1 Port Security The Port Security feature restricts input to an
interface by limiting and identifying MAC
addresses of the stations allowed to access the
port.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
432
CHAPTER 27
Port Blocking
• Information About Port Blocking, on page 433
• Blocking Flooded Traffic on an Interface , on page 433
• Monitoring Port Blocking, on page 435
• Feature History for Port Blocking, on page 435
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
433
Port Blocking
Blocking Flooded Traffic on an Interface
Step 5 switchport block unicast Blocks unknown unicast forwarding out of the
port.
Example:
Device(config-if)# switchport block
unicast
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
434
Port Blocking
Monitoring Port Blocking
Command Purpose
show interfaces [interface-id] switchport Displays the administrative and operational status of
all switching (nonrouting) ports or the specified port,
including port blocking and port protection settings.
Cisco IOS Release 15.2(7)E1 Port Blocking 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.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
435
Port Blocking
Feature History for Port Blocking
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
436
CHAPTER 28
Protected Ports
• Information About Protected Ports, on page 437
• How to Configure Protected Ports, on page 438
• Monitoring Protected Ports, on page 439
• Feature History for Protected Ports, on page 439
Protected Ports
Some applications require that no traffic be forwarded at Layer 2 between ports on the same switch 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 switch.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
437
Protected Ports
How to Configure Protected Ports
Procedure
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
438
Protected Ports
Monitoring Protected Ports
Command Purpose
show interfaces [interface-id] switchport Displays the administrative and operational status of
all switching (nonrouting) ports or the specified port,
including port blocking and port protection settings.
Cisco IOS Release 15.2(7)E1 Protected Ports Protected ports ensures that there is no
exchange of unicast, broadcast, or multicast
traffic between ports on the switch.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
439
Protected Ports
Feature History for Protected Ports
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
440
CHAPTER 29
Protocol Storm Protection
• Restrictions for Configuring Protocol Storm Protection, on page 441
• Information About Protocol Storm Protection, on page 441
• How to Enable Protocol Storm Protection, on page 442
• Monitoring Protocol Storm Protection, on page 443
• Feature History for Protocol Storm Protection, on page 443
Using protocol storm protection, you can control the rate at which control packets are sent to the switch by
specifying the upper threshold for the packet flow rate. The supported protocols are ARP, ARP snooping,
Dynamic Host Configuration Protocol (DHCP) v4, DHCP snooping, Internet Group Management Protocol
(IGMP), and IGMP snooping.
When the packet rate exceeds the defined threshold, the switch drops all traffic arriving on the specified virtual
port for 30 seconds. The packet rate is measured again, and protocol storm protection is again applied if
necessary.
For further protection, you can manually error disable the virtual port, blocking all incoming traffic on the
virtual port. You can manually enable the virtual port or set a time interval for automatic re-enabling of the
virtual port.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
441
Protocol Storm Protection
How to Enable Protocol Storm Protection
Note Excess packets are dropped on no more than two virtual ports.
Protocol storm protection is disabled by default. When it is enabled, auto-recovery of the virtual port is disabled
by default.
Procedure
Step 3 psp {arp | dhcp | igmp} pps value Configures protocol storm protection for ARP,
IGMP, or DHCP.
Example:
Device(config)# psp dhcp pps 35 value: Specifies the threshold value for the
number of packets per second. If the traffic
exceeds this value, protocol storm protection is
enforced. The range is from 5 to 50 packets per
second.
Step 4 errdisable detect cause psp (Optional) Enables error-disable detection for
protocol storm protection. If this feature is
Example:
enabled, the virtual port is error disabled. If this
Device(config)# errdisable detect cause feature is disabled, the port drops excess packets
psp
without error disabling the port.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
442
Protocol Storm Protection
Monitoring Protocol Storm Protection
Command Purpose
show psp config {arp | dhcp | igmp} Verify your entries.
Cisco IOS Release 15.2(7)E1 Protocol Storm Protection Using protocol storm protection, you can
control the rate at which control packets are
sent to the switch by specifying the upper
threshold for the packet flow rate.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
443
Protocol Storm Protection
Feature History for Protocol Storm Protection
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
444
CHAPTER 30
Storm Control
• Information About Storm Control, on page 445
• How to Configure Storm Control, on page 447
• Configuration Examples for Storm Control, on page 449
• Additional References for Storm Control, on page 450
• Feature History for Storm Control, on page 450
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
445
Storm Control
Traffic Patterns
Note When the storm control threshold for multicast traffic is reached, all multicast traffic except control traffic,
such as bridge protocol data unit (BDPU) and Cisco Discovery Protocol frames, are blocked. However, the
device does not differentiate between routing updates, such as OSPF, and regular multicast data traffic, so
both types of traffic are blocked.
Traffic Patterns
Figure 21: Broadcast Storm Control Example
This example shows broadcast traffic patterns on an interface over a given period of time.
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.
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.
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
446
Storm Control
How to Configure Storm Control
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
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
447
Storm Control
Configuring Storm Control and Threshold Levels
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
448
Storm Control
Configuration Examples for Storm Control
Device(config-if)# end
Step 7 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
gigabitethernet 1/0/2 unicast
Or
Device# show storm-control fastethernet
1/0/2 unicast
Device> enable
Device# configure terminal
Device(config)# interface gigabitethernet 1/0/1
Device(config-if)# storm-control action trap
Security Configuration Guide, Cisco IOS Release 15.2(7)Ex (Catalyst 1000 Switches)
449
Storm Control
Additional References for Storm Control
For complete syntax and usage information for Consolidated Platform Command Reference, Cisco IOS
the commands used in this chapter. Release 15.2(7)Ex (Catalyst 1000 Switches)
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 Release 15.2(7)E1 Storm Control Storm control prevents traffic on a LAN from
being disrupted by a broadcast, multicast, or
unicast storm on one of the physical interfaces.
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 Release 15.2(7)Ex (Catalyst 1000 Switches)
450