CIS Cisco IOS 17.x Benchmark
CIS Cisco IOS 17.x Benchmark
CIS Cisco IOS 17.x Benchmark
x Benchmark
v1.0.0 - 03-29-2022
Terms of Use
Please see the below link for our current terms of use:
https://www.cisecurity.org/cis-securesuite/cis-securesuite-membership-terms-of-use/
1|Page
Table of Contents
2|Page
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for 'line aux 0'
(Automated) ...................................................................................................................................... 44
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line console 0'
(Automated) ...................................................................................................................................... 46
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty' (Automated) .. 48
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line vty' (Automated)
................................................................................................................................................................ 50
1.2.10 Set 'transport input none' for 'line aux 0' (Automated) ..................................... 52
1.2.11 Set 'http Secure-server' limit (Automated) ............................................................. 54
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http' (Automated)
................................................................................................................................................................ 56
1.3 Banner Rules ....................................................................................................................................... 58
1.3.1 Set the 'banner-text' for 'banner exec' (Automated).............................................. 58
1.3.2 Set the 'banner-text' for 'banner login' (Automated)............................................. 61
1.3.3 Set the 'banner-text' for 'banner motd' (Automated) ............................................ 63
1.3.4 Set the 'banner-text' for 'webauth banner' (Automated) ..................................... 65
1.4 Password Rules .................................................................................................................................. 67
1.4.1 Set 'password' for 'enable secret' (Automated) ....................................................... 67
1.4.2 Enable 'service password-encryption' (Automated) ............................................. 69
1.4.3 Set 'username secret' for all local users (Automated) ........................................... 71
1.5 SNMP Rules.......................................................................................................................................... 75
1.5.1 Set 'no snmp-server' to disable SNMP when unused (Automated) .................. 75
1.5.2 Unset 'private' for 'snmp-server community' (Automated) ................................ 77
1.5.3 Unset 'public' for 'snmp-server community' (Automated) .................................. 79
1.5.4 Do not set 'RW' for any 'snmp-server community' (Manual) ............................. 81
1.5.5 Set the ACL for each 'snmp-server community' (Manual) ................................... 83
1.5.6 Create an 'access-list' for use with SNMP (Automated) ........................................ 85
1.5.7 Set 'snmp-server host' when using SNMP (Automated) ....................................... 87
1.5.8 Set 'snmp-server enable traps snmp' (Automated)................................................ 89
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3 (Manual) ..................... 91
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when using SNMPv3
(Automated) ...................................................................................................................................... 93
3|Page
1.6 Login Enhancements........................................................................................................................ 95
1.6.1 Configure Login Block (Automated) ............................................................................. 95
1.6.2 AutoSecure (Automated) .................................................................................................. 98
1.6.3 Configuring Kerberos (Automated) ............................................................................ 101
1.6.4 Configure Web interface (Automated) ...................................................................... 104
2 Control Plane ............................................................................................................................................. 106
2.1 Global Service Rules ....................................................................................................................... 106
2.1.1 Setup SSH ................................................................................................................................... 106
2.1.1.1.1 Set the 'hostname' (Automated) ........................................................................... 107
2.1.1.1.2 Set the 'ip domain-name' (Automated) .............................................................. 109
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto key generate
rsa' (Automated) ........................................................................................................................... 111
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout' (Automated) ............................................... 113
2.1.1.1.5 Set maximimum value for 'ip ssh authentication-retries' (Automated) 115
2.1.1.2 Set version 2 for 'ip ssh version' (Automated) ................................................... 117
2.1.2 Set 'no cdp run' (Automated) ........................................................................................ 119
2.1.3 Set 'no ip bootp server' (Automated) ......................................................................... 121
2.1.4 Set 'no service dhcp' (Automated) .............................................................................. 123
2.1.5 Set 'no ip identd' (Automated) ...................................................................................... 125
2.1.6 Set 'service tcp-keepalives-in' (Automated)............................................................ 127
2.1.7 Set 'service tcp-keepalives-out' (Automated) ......................................................... 129
2.1.8 Set 'no service pad' (Automated) ................................................................................. 131
2.2 Logging Rules .................................................................................................................................... 133
2.2.1 Set 'logging enable' (Automated) ................................................................................. 133
2.2.2 Set 'buffer size' for 'logging buffered' (Automated) ............................................. 135
2.2.3 Set 'logging console critical' (Automated) ................................................................ 137
2.2.4 Set IP address for 'logging host' (Automated) ........................................................ 139
2.2.5 Set 'logging trap informational' (Automated) ......................................................... 141
2.2.6 Set 'service timestamps debug datetime' (Automated) ...................................... 143
2.2.7 Set 'logging source interface' (Automated) ............................................................. 145
2.2.8 Set 'login success/failure logging' (Automated) .................................................... 147
4|Page
2.3 NTP Rules ........................................................................................................................................... 148
2.3.1 Require Encryption Keys for NTP .................................................................................... 149
2.3.1.1 Set 'ntp authenticate' (Automated) ......................................................................... 149
2.3.1.2 Set 'ntp authentication-key' (Automated) ............................................................ 151
2.3.1.3 Set the 'ntp trusted-key' (Automated) ................................................................... 153
2.3.1.4 Set 'key' for each 'ntp server' (Automated).......................................................... 155
2.3.2 Set 'ip address' for 'ntp server' (Automated) .......................................................... 157
2.4 Loopback Rules ................................................................................................................................ 159
2.4.1 Create a single 'interface loopback' (Automated) ................................................. 159
2.4.2 Set AAA 'source-interface' (Automated) ................................................................... 161
2.4.3 Set 'ntp source' to Loopback Interface (Automated) ........................................... 163
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface (Automated) .......... 165
3 Data Plane ................................................................................................................................................... 167
3.1 Routing Rules .................................................................................................................................... 168
3.1.1 Set 'no ip source-route' (Automated)......................................................................... 168
3.1.2 Set 'no ip proxy-arp' (Automated) .............................................................................. 170
3.1.3 Set 'no interface tunnel' (Automated)........................................................................ 172
3.1.4 Set 'ip verify unicast source reachable-via' (Automated) .................................. 173
3.2 Border Router Filtering ................................................................................................................ 175
3.2.1 Set 'ip access-list extended' to Forbid Private Source Addresses from
External Networks (Automated) ............................................................................................ 175
3.2.2 Set inbound 'ip access-group' on the External Interface (Automated) ......... 177
3.3 Neighbor Authentication .............................................................................................................. 179
3.3.1 Require EIGRP Authentication if Protocol is Used ..................................................... 180
3.3.1.1 Set 'key chain' (Automated) ....................................................................................... 180
3.3.1.2 Set 'key' (Automated) ................................................................................................... 182
3.3.1.3 Set 'key-string' (Automated) ...................................................................................... 183
3.3.1.4 Set 'address-family ipv4 autonomous-system' (Automated) ........................ 184
3.3.1.5 Set 'af-interface default' (Automated) .................................................................... 185
3.3.1.6 Set 'authentication key-chain' (Automated) ........................................................ 187
3.3.1.7 Set 'authentication mode md5' (Automated) ...................................................... 189
5|Page
3.3.1.8 Set 'ip authentication key-chain eigrp' (Automated) ....................................... 191
3.3.1.9 Set 'ip authentication mode eigrp' (Automated)................................................ 193
3.3.2 Require OSPF Authentication if Protocol is Used ....................................................... 195
3.3.2.1 Set 'authentication message-digest' for OSPF area (Automated) ................ 195
3.3.2.2 Set 'ip ospf message-digest-key md5' (Automated) ......................................... 197
3.3.3 Require RIPv2 Authentication if Protocol is Used ..................................................... 198
3.3.3.1 Set 'key chain' (Automated) ....................................................................................... 198
3.3.3.2 Set 'key' (Automated) ................................................................................................... 200
3.3.3.3 Set 'key-string' (Automated) ...................................................................................... 201
3.3.3.4 Set 'ip rip authentication key-chain' (Automated) ............................................ 202
3.3.3.5 Set 'ip rip authentication mode' to 'md5' (Automated) ................................... 204
3.3.4 Require BGP Authentication if Protocol is Used ......................................................... 205
3.3.4.1 Set 'neighbor password' (Automated) ................................................................... 205
Appendix: Recommendation Summary Table ...................................................................................... 207
Appendix: CIS Controls v7 IG 1 Mapped Recommendations .......................................................... 211
Appendix: CIS Controls v7 IG 2 Mapped Recommendations .......................................................... 212
Appendix: CIS Controls v7 IG 3 Mapped Recommendations .......................................................... 214
Appendix: CIS Controls v8 IG 1 Mapped Recommendations .......................................................... 216
Appendix: CIS Controls v8 IG 2 Mapped Recommendations .......................................................... 218
Appendix: CIS Controls v8 IG 3 Mapped Recommendations .......................................................... 220
Appendix: Change History ............................................................................................................................ 223
6|Page
Overview
This document, Security Configuration Benchmark for Cisco IOS, provides prescriptive
guidance for establishing a secure configuration posture for Cisco Router running Cisco IOS
version 17.0. This guide was tested against Cisco IOS 17 XE. To obtain the latest version of
this guide, please visit http://benchmarks.cisecurity.org. If you have questions, comments,
or have identified ways to improve this guide, please write us at
benchmarkinfo@cisecurity.org.
Intended Audience
This benchmark is intended for system and application administrators, security specialists,
auditors, help desk, and platform deployment personnel who plan to develop, deploy,
assess, or secure solutions that incorporate Cisco IOS on a Cisco routing and switching
platforms.
Consensus Guidance
This benchmark was created using a consensus review process comprised of subject
matter experts. Consensus participants provide perspective from a diverse set of
backgrounds including consulting, software development, audit and compliance, security
research, operations, government, and legal.
Each CIS benchmark undergoes two phases of consensus review. The first phase occurs
during initial benchmark development. During this phase, subject matter experts convene
to discuss, create, and test working drafts of the benchmark. This discussion occurs until
consensus has been reached on benchmark recommendations. The second phase begins
after the benchmark has been published. During this phase, all feedback provided by the
Internet community is reviewed by the consensus team for incorporation in the
benchmark. If you are interested in participating in the consensus process, please visit
https://workbench.cisecurity.org/.
7|Page
Typographical Conventions
The following typographical conventions are used throughout this guide:
Convention Meaning
Stylized Monospace font Used for blocks of code, command, and script examples.
Text should be interpreted exactly as presented.
Monospace font Used for inline code, commands, or examples. Text should
be interpreted exactly as presented.
<italic font in brackets> Italic texts set in angle brackets denote a variable
requiring substitution for a real value.
Assessment Status
An assessment status is included for every recommendation. The assessment status
indicates whether the given recommendation can be automated or requires manual steps
to implement. Both statuses are equally important and are determined and supported as
defined below:
Automated
Manual
8|Page
Profile Definitions
The following configuration profiles are defined by this Benchmark:
Level 1
Level 2
This profile extends the "Level 1" profile. Items in this profile exhibit one or more of
the following characteristics:
9|Page
Acknowledgements
This benchmark exemplifies the great things a community of users, vendors, and subject matter
experts can accomplish through consensus collaboration. The CIS community thanks the entire
consensus team with special recognition to the following individuals who contributed greatly to
the creation of this guide:
Contributor
Darren Freidel
Editor
Darren Freidel
10 | P a g e
Recommendations
1 Management Plane
Services, settings and data streams related to setting up and examining the static
configuration of the firewall, and the authentication and authorization of firewall
administrators. Examples of management plane services include: administrative device
access (telnet, ssh, http, and https), SNMP, and security protocols like RADIUS and
TACACS+.
11 | P a g e
1.1 Local Authentication, Authorization and Accounting (AAA)
Rules
Rules in the Local authentication, authorization and accounting (AAA) configuration class
enforce device access control, provide a mechanism for tracking configuration changes, and
enforcing security policy.
Level 1
Description:
Rationale:
Impact:
Audit:
12 | P a g e
Remediation:
Globally enable authentication, authorization and accounting (AAA) using the new-model
command.
hostname(config)#aaa new-model
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a2.html#GUID-
E05C2E00-C01E-4053-9D12-EC37C7E8EEC5
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
13 | P a g e
1.1.2 Enable 'aaa authentication login' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Using AAA authentication for interactive management access to the device provides
consistent, centralized control of your network. The default under AAA (local or network)
is to require users to log in using a valid user name and password. This rule applies for
both local and network AAA. Fallback mode should also be enabled to allow emergency
access to the router or switch in the event that the AAA server was unreachable, by
utilizing the LOCAL keyword after the AAA server-tag.
Impact:
Audit:
Remediation:
Default Value:
14 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
3DB1CC8A-4A98-400B-A906-C42F265C7EA2
Additional Information:
Only “the default method list is automatically applied to all interfaces except those that
have a named method list explicitly defined. A defined method list overrides the default
method list.” (1)
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
15 | P a g e
1.1.3 Enable 'aaa authentication enable default' (Automated)
Profile Applicability:
Level 1
Description:
Authenticates users who access privileged EXEC mode when they use the enable command.
Rationale:
Using AAA authentication for interactive management access to the device provides
consistent, centralized control of your network. The default under AAA (local or network)
is to require users to log in using a valid user name and password. This rule applies for
both local and network AAA.
Impact:
Audit:
Remediation:
Default Value:
16 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
4171D649-2973-4707-95F3-9D96971893D0
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
17 | P a g e
1.1.4 Set 'login authentication for 'line tty' (Automated)
Profile Applicability:
Level 1
Description:
Authenticates users who access the router or switch using the TTY port.
Rationale:
Using AAA authentication for interactive management access to the device provides
consistent, centralized control of your network. The default under AAA (local or network)
is to require users to log in using a valid user name and password. This rule applies for
both local and network AAA.
Impact:
Enabling Cisco AAA 'login authentication for line TTY' is significantly disruptive as former
access methods are immediately disabled. Therefore, before enabling Cisco AAA 'login
authentication for line TTY', the organization should plan and implement authentication
logins and passwords, challenges and responses, and token technologies.
Audit:
Perform the following to determine if AAA authentication for line login is enabled:
If the command does not return a result for each management access method, the feature is
not enabled
Remediation:
Configure management lines to require login using the default or a named AAA
authentication list. This configuration must be set individually for all line types.
Default Value:
18 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-
k1.html#GUID-297BDF33-4841-441C-83F3-4DA51C3C7284
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
19 | P a g e
1.1.5 Set 'login authentication for 'line vty' (Automated)
Profile Applicability:
Level 1
Description:
Authenticates users who access the router or switch remotely through the VTY port.
Rationale:
Using AAA authentication for interactive management access to the device provides
consistent, centralized control of your network. The default under AAA (local or network)
is to require users to log in using a valid user name and password. This rule applies for
both local and network AAA.
Impact:
Enabling Cisco AAA 'login authentication for line VTY' is significantly disruptive as former
access methods are immediately disabled. Therefore, before enabling Cisco AAA 'login
authentication for line VTY', the organization should plan and implement authentication
logins and passwords, challenges and responses, and token technologies.
Audit:
Perform the following to determine if AAA authentication for line login is enabled:
If the command does not return a result for each management access method, the feature is
not enabled
Remediation:
Configure management lines to require login using the default or a named AAA
authentication list. This configuration must be set individually for all line types.
Default Value:
20 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-
k1.html#GUID-297BDF33-4841-441C-83F3-4DA51C3C7284
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
21 | P a g e
1.1.6 Set 'login authentication for 'ip http' (Automated)
Profile Applicability:
Level 1
Description:
If account management functions are not automatically enforced, an attacker could gain
privileged access to a vital element of the network security architecture
Rationale:
Using AAA authentication for interactive management access to the device provides
consistent, centralized control of your network. The default under AAA (local or network)
is to require users to log in using a valid user name and password. This rule applies for
both local and network AAA.
Impact:
Enabling Cisco AAA 'line login' is significantly disruptive as former access methods are
immediately disabled. Therefore, before enabling Cisco AAA 'line login', the organization
should plan and implement authentication logins and passwords, challenges and
responses, and token technologies.
Audit:
Perform the following to determine if AAA authentication for line login is enabled:
If the command does not return a result for each management access method, the feature is
not enabled
Remediation:
Configure management lines to require login using the default or a named AAA
authentication list. This configuration must be set individually for all line types.
22 | P a g e
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-
k1.html#GUID-297BDF33-4841-441C-83F3-4DA51C3C7284
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
23 | P a g e
1.1.7 Set 'aaa accounting' to log all privileged use commands using
'commands 15' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Enabling 'aaa accounting' for privileged commands records and sends activity to the
accounting servers and enables organizations to monitor and analyze privileged activity.
Audit:
Remediation:
Default Value:
24 | P a g e
Additional Information:
25 | P a g e
1.1.8 Set 'aaa accounting connection' (Automated)
Profile Applicability:
Level 2
Description:
Provides information about all outbound connections made from the network access
server.
Rationale:
Impact:
Audit:
Remediation:
26 | P a g e
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
0520BCEF-89FB-4505-A5DF-D7F1389F1BBA
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
27 | P a g e
1.1.9 Set 'aaa accounting exec' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Enabling aaa accounting exec creates accounting records for the EXEC terminal sessions on
the network access server. These records include start and stop times, usernames, and date
information. Organizations should regularly monitor these records for exceptions,
remediate issues, and report findings.
Audit:
Perform the following to determine if aaa accounting for EXEC shell session is required:
Verify a command string result returns
Remediation:
Default Value:
28 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
0520BCEF-89FB-4505-A5DF-D7F1389F1BBA
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
29 | P a g e
1.1.10 Set 'aaa accounting network' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Implementing aaa accounting network creates accounting records for a method list
including ARA, PPP, SLIP, and NCPs sessions. Organizations should regular monitor these
records for exceptions, remediate issues, and report findings.
Audit:
Remediation:
Default Value:
30 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
0520BCEF-89FB-4505-A5DF-D7F1389F1BBA
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
31 | P a g e
1.1.11 Set 'aaa accounting system' (Automated)
Profile Applicability:
Level 2
Description:
Performs accounting for all system-level events not associated with users, such as reloads.
Rationale:
Impact:
Enabling aaa accounting system creates accounting records for all system-level events.
Organizations should regular monitor these records for exceptions, remediate issues, and
report findings regularly.
Audit:
Remediation:
Default Value:
32 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a1.html#GUID-
0520BCEF-89FB-4505-A5DF-D7F1389F1BBA
Additional Information:
When system accounting is used and the accounting server is unreachable at system
startup time, the system will not be accessible for approximately two minutes.
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
33 | P a g e
1.2 Access Rules
Rules in the access class enforce controls for device administrative connections.
Level 1
Description:
Rationale:
Default device configuration does not require strong user authentication potentially
enabling unfettered access to an attacker that is able to reach the device. Creating a local
account with privilege level 1 permissions only allows the local user to access the device
with EXEC-level permissions and will be unable to modify the device without using the
enable password. In addition, require the use of an encrypted password as well (see
Section 1.1.4.4 - Require Encrypted User Passwords).
Impact:
Organizations should create policies requiring all local accounts with 'privilege level 1' with
encrypted passwords to reduce the risk of unauthorized access. Default configuration
settings do not provide strong user authentication to the device.
Audit:
Remediation:
34 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/s1/sec-cr-t2-
z.html#GUID-34B3E43E-0F79-40E8-82B6-A4B5F1AFF1AD
35 | P a g e
1.2.2 Set 'transport input ssh' for 'line vty' connections (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Configuring VTY access control restricts remote access to only those authorized to manage
the device and prevents unauthorized users from accessing the system.
Impact:
To reduce risk of unauthorized access, organizations should require all VTY management
line protocols to be limited to ssh.
Audit:
Perform the following to determine if SSH is the only transport method for incoming VTY
logins:
The result should show only "ssh" for "transport input"
Remediation:
References:
1. http://www.cisco.com/en/US/docs/ios/termserv/command/reference/tsv_s1.htm
l#wp1069219
CIS Controls:
36 | P a g e
Controls
Control IG 1 IG 2 IG 3
Version
37 | P a g e
1.2.3 Set 'no exec' for 'line aux 0' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Unused ports should be disabled, if not required, since they provide a potential access path
for attackers. Some devices include both an auxiliary and console port that can be used to
locally connect to and configure the device. The console port is normally the primary port
used to configure the device; even when remote, backup administration is required via
console server or Keyboard, Video, Mouse (KVM) hardware. The auxiliary port is primarily
used for dial-up administration via an external modem; instead, use other available
methods.
Impact:
Organizations can reduce the risk of unauthorized access by disabling the 'aux' port with
the 'no exec' command. Conversely, not restricting access through the 'aux' port increases
the risk of remote unauthorized access.
Audit:
Perform the following to determine if the EXEC process for the aux port is disabled:
Verify no exec
Remediation:
hostname(config)#line aux 0
hostname(config-line)#no exec
38 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/D_through_E.html#GUID-429A2B8C-FC26-49C4-
94C4-0FD99C32EC34
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
39 | P a g e
1.2.4 Create 'access-list' for use with 'line vty' (Automated)
Profile Applicability:
Level 1
Description:
Access lists control the transmission of packets on an interface, control Virtual Terminal
Line (VTY) access, and restrict the contents of routing updates. The Cisco IOS software
stops checking the extended access list after a match occurs.
Rationale:
VTY ACLs control what addresses may attempt to log in to the router. Configuring VTY lines
to use an ACL, restricts the sources where a user can manage the device. You should limit
the specific host(s) and or network(s) authorized to connect to and configure the device,
via an approved protocol, to those individuals or systems authorized to administer the
device. For example, you could limit access to specific hosts, so that only network managers
can configure the devices only by using specific network management workstations. Make
sure you configure all VTY lines to use the same ACL.
Impact:
Organizations can reduce the risk of unauthorized access by implementing access-lists for
all VTY lines. Conversely, using VTY lines without access-lists increases the risk of
unauthorized access.
Audit:
Remediation:
Configure the VTY ACL that will be used to restrict management access to the device.
40 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a2.html#GUID-
9EA733A3-1788-4882-B8C3-AB0A2949120C
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
41 | P a g e
1.2.5 Set 'access-class' for 'line vty' (Automated)
Profile Applicability:
Level 1
Description:
The 'access-class' setting restricts incoming and outgoing connections between a particular
vty (into a Cisco device) and the networking devices associated with addresses in an access
list.
Rationale:
Restricting the type of network devices, associated with the addresses on the access-list,
further restricts remote access to those devices authorized to manage the device and
reduces the risk of unauthorized access.
Impact:
Applying 'access'class' to line VTY further restricts remote access to only those devices
authorized to manage the device and reduces the risk of unauthorized access. Conversely,
using VTY lines with 'access class' restrictions increases the risks of unauthorized access.
Audit:
Remediation:
Configure remote management access control restrictions for all VTY lines.
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a2.html#GUID-
FB9BC58A-F00A-442A-8028-1E9E260E54D3
42 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
43 | P a g e
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for 'line aux
0' (Automated)
Profile Applicability:
Level 1
Description:
If no input is detected during the interval, the EXEC facility resumes the current connection.
If no connections exist, the EXEC facility returns the terminal to the idle state and
disconnects the incoming session.
Rationale:
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
Impact:
Audit:
Remediation:
Configure device timeout (10 minutes or less) to disconnect sessions after a fixed idle time.
hostname(config)#line aux 0
hostname(config-line)#exec-timeout <timeout_in_minutes> <timeout_in_seconds>
44 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/D_through_E.html#GUID-76805E6F-9E89-4457-
A9DC-5944C8FE5419
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
45 | P a g e
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line console
0' (Automated)
Profile Applicability:
Level 1
Description:
If no input is detected during the interval, the EXEC facility resumes the current connection.
If no connections exist, the EXEC facility returns the terminal to the idle state and
disconnects the incoming session.
Rationale:
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
Impact:
Audit:
Remediation:
Configure device timeout (10 minutes or less) to disconnect sessions after a fixed idle time.
hostname(config)#line con 0
hostname(config-line)#exec-timeout <timeout_in_minutes> <timeout_in_seconds>
46 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/D_through_E.html#GUID-76805E6F-9E89-4457-
A9DC-5944C8FE5419
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
47 | P a g e
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
(Automated)
Profile Applicability:
Level 1
Description:
If no input is detected during the interval, the EXEC facility resumes the current connection.
If no connections exist, the EXEC facility returns the terminal to the idle state and
disconnects the incoming session.
Rationale:
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
Impact:
Audit:
Remediation:
Configure device timeout (10 minutes or less) to disconnect sessions after a fixed idle time.
48 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/D_through_E.html#GUID-76805E6F-9E89-4457-
A9DC-5944C8FE5419
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
49 | P a g e
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line vty'
(Automated)
Profile Applicability:
Level 1
Description:
If no input is detected during the interval, the EXEC facility resumes the current connection.
If no connections exist, the EXEC facility returns the terminal to the idle state and
disconnects the incoming session.
Rationale:
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
Impact:
Audit:
Remediation:
Configure device timeout (10 minutes or less) to disconnect sessions after a fixed idle time.
50 | P a g e
References:
1. https://www.cisco.com/c/en/us/td/docs/switches/datacenter/mds9000/sw/com
mand/b_cisco_mds_9000_cr_book/l_commands.html#wp3716128869
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
51 | P a g e
1.2.10 Set 'transport input none' for 'line aux 0' (Automated)
Profile Applicability:
Level 1
Description:
When you want to allow only an outgoing connection on a line, use the no exec command.
Rationale:
Unused ports should be disabled, if not required, since they provide a potential access path
for attackers. Some devices include both an auxiliary and console port that can be used to
locally connect to and configure the device. The console port is normally the primary port
used to configure the device; even when remote, backup administration is required via
console server or Keyboard, Video, Mouse (KVM) hardware. The auxiliary port is primarily
used for dial-up administration via an external modem; instead, use other available
methods.
Impact:
Organizations should prevent all unauthorized access of auxiliary ports by disabling all
protocols using the 'transport input none' command.
Audit:
Perform the following to determine if inbound connections for the aux port are disabled:
Verify you see the following "Allowed input transports are none
Remediation:
hostname(config)#line aux 0
hostname(config-line)#transport input none
References:
1. http://www.cisco.com/en/US/docs/ios/termserv/command/reference/tsv_s1.htm
l#wp1069219
52 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
53 | P a g e
1.2.11 Set 'http Secure-server' limit (Automated)
Profile Applicability:
Level 1
Description:
Device management includes the ability to control the number of administrators and
management sessions that manage a device. Limiting the number of allowed
administrators and sessions per administrator based on account type, role, or access type
is helpful in limiting risks related to denial-of-service (DoS) attacks.
Rationale:
This requirement addresses concurrent sessions for administrative accounts and does not
address concurrent sessions by a single administrator via multiple administrative accounts.
The maximum number of concurrent sessions should be defined based upon mission needs
and the operational environment for each system. At a minimum, limits must be set for
SSH, HTTPS, account of last resort, and root account sessions.
Audit:
The result should show ip http secure-server with max connections on following line
Remediation:
References:
54 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
55 | P a g e
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
(Automated)
Profile Applicability:
Level 1
Description:
If no input is detected during the interval, the EXEC facility resumes the current connection.
If no connections exist, the EXEC facility returns the terminal to the idle state and
disconnects the incoming session.
Rationale:
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
This prevents unauthorized users from misusing abandoned sessions. For example, if the
network administrator leaves for the day and leaves a computer open with an enabled
login session accessible. There is a trade-off here between security (shorter timeouts) and
usability (longer timeouts). Review your local policies and operational needs to determine
the best timeout value. In most cases, this should be no more than 10 minutes.
Audit:
Remediation:
Configure device timeout (10 minutes or less) to disconnect sessions after a fixed idle time.
Default Value:
disabled
56 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/D_through_E.html#GUID-76805E6F-9E89-4457-
A9DC-5944C8FE5419
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
57 | P a g e
1.3 Banner Rules
Rules in the banner class communicate legal rights to users.
Level 1
Description:
This command specifies a message to be displayed when an EXEC process is created (a line
is activated, or an incoming connection is made to a vty). Follow this command with one or
more blank spaces and a delimiting character of your choice. Then enter one or more lines
of text, terminating the message with the second occurrence of the delimiting character.
When a user connects to a router, the message-of-the-day (MOTD) banner appears first,
followed by the login banner and prompts. After the user logs in to the router, the EXEC
banner or incoming banner will be displayed, depending on the type of connection. For a
reverse Telnet login, the incoming banner will be displayed. For all other connections, the
router will display the EXEC banner.
Rationale:
"Network banners are electronic messages that provide notice of legal rights to users of
computer networks. From a legal standpoint, banners have four primary functions.
First, banners may be used to generate consent to real-time monitoring under Title
III.
Second, banners may be used to generate consent to the retrieval of stored files and
records pursuant to ECPA.
Third, in the case of government networks, banners may eliminate any Fourth
Amendment "reasonable expectation of privacy" that government employees or
other users might otherwise retain in their use of the government's network under
O'Connor v. Ortega, 480 U.S. 709 (1987).
Fourth, in the case of a non-government network, banners may establish a system
administrator's "common authority" to consent to a law enforcement search
pursuant to United States v. Matlock, 415 U.S. 164 (1974)." (US Department of
Justice APPENDIX A: Sample Network Banner Language)
58 | P a g e
Impact:
Audit:
If the command does not return a result, the banner is not enabled
Remediation:
Configure the EXEC banner presented to a user when accessing the devices enable prompt.
hostname(config)#banner exec c
Enter TEXT message. End with the character 'c'.
<banner-text>
c
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/A_through_B.html#GUID-0DEF5B57-A7D9-4912-
861F-E837C82A3881
Additional Information:
59 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
60 | P a g e
1.3.2 Set the 'banner-text' for 'banner login' (Automated)
Profile Applicability:
Level 1
Description:
Follow the banner login command with one or more blank spaces and a delimiting
character of your choice. Then enter one or more lines of text, terminating the message
with the second occurrence of the delimiting character.
When a user connects to the router, the message-of-the-day (MOTD) banner (if configured)
appears first, followed by the login banner and prompts. After the user successfully logs in
to the router, the EXEC banner or incoming banner will be displayed, depending on the
type of connection. For a reverse Telnet login, the incoming banner will be displayed. For
all other connections, the router will display the EXEC banner.
Rationale:
"Network banners are electronic messages that provide notice of legal rights to users of
computer networks. From a legal standpoint, banners have four primary functions.
First, banners may be used to generate consent to real-time monitoring under Title
III.
Second, banners may be used to generate consent to the retrieval of stored files and
records pursuant to ECPA.
Third, in the case of government networks, banners may eliminate any Fourth
Amendment "reasonable expectation of privacy" that government employees or
other users might otherwise retain in their use of the government's network under
O'Connor v. Ortega, 480 U.S. 709 (1987).
Fourth, in the case of a non-government network, banners may establish a system
administrator's "common authority" to consent to a law enforcement search
pursuant to United States v. Matlock, 415 U.S. 164 (1974)." (US Department of
Justice APPENDIX A: Sample Network Banner Language)
Impact:
61 | P a g e
Audit:
If the command does not return a result, the banner is not enabled.
Remediation:
Configure the device so a login banner presented to a user attempting to access the device.
hostname(config)#banner login c
Enter TEXT message. End with the character 'c'.
<banner-text>
c
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/A_through_B.html#GUID-FF0B6890-85B8-4B6A-
90DD-1B7140C5D22F
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
62 | P a g e
1.3.3 Set the 'banner-text' for 'banner motd' (Automated)
Profile Applicability:
Level 1
Description:
This MOTD banner is displayed to all terminals connected and is useful for sending
messages that affect all users (such as impending system shutdowns). Use the no exec-
banner or no motd-banner command to disable the MOTD banner on a line. The no exec-
banner command also disables the EXEC banner on the line.
When a user connects to the router, the MOTD banner appears before the login prompt.
After the user logs in to the router, the EXEC banner or incoming banner will be displayed,
depending on the type of connection. For a reverse Telnet login, the incoming banner will
be displayed. For all other connections, the router will display the EXEC banner.
Rationale:
"Network banners are electronic messages that provide notice of legal rights to users of
computer networks. From a legal standpoint, banners have four primary functions.
First, banners may be used to generate consent to real-time monitoring under Title
III.
Second, banners may be used to generate consent to the retrieval of stored files and
records pursuant to ECPA.
Third, in the case of government networks, banners may eliminate any Fourth
Amendment "reasonable expectation of privacy" that government employees or
other users might otherwise retain in their use of the government's network under
O'Connor v. Ortega, 480 U.S. 709 (1987).
Fourth, in the case of a non-government network, banners may establish a system
administrator's "common authority" to consent to a law enforcement search
pursuant to United States v. Matlock, 415 U.S. 164 (1974)." (US Department of
Justice APPENDIX A: Sample Network Banner Language)
Impact:
63 | P a g e
Audit:
If the command does not return a result, the banner is not enabled.
Remediation:
Configure the message of the day (MOTD) banner presented when a user first connects to
the device.
hostname(config)#banner motd c
Enter TEXT message. End with the character 'c'.
<banner-text>
c
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/A_through_B.html#GUID-7416C789-9561-44FC-
BB2A-D8D8AFFB77DD
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
64 | P a g e
1.3.4 Set the 'banner-text' for 'webauth banner' (Automated)
Profile Applicability:
Level 1
Description:
This banner is displayed to all terminals connected and is useful for sending messages that
affect all users (such as impending system shutdowns). Use the no exec-banner or no motd-
banner command to disable the banner on a line. The no exec-banner command also
disables the EXEC banner on the line.
When a user connects to the router, the MOTD banner appears before the login prompt.
After the user logs in to the router, the EXEC banner or incoming banner will be displayed,
depending on the type of connection. For a reverse Telnet login, the incoming banner will
be displayed. For all other connections, the router will display the EXEC banner.
Rationale:
"Network banners are electronic messages that provide notice of legal rights to users of
computer networks. From a legal standpoint, banners have four primary functions.
First, banners may be used to generate consent to real-time monitoring under Title
III.
Second, banners may be used to generate consent to the retrieval of stored files and
records pursuant to ECPA.
Third, in the case of government networks, banners may eliminate any Fourth
Amendment "reasonable expectation of privacy" that government employees or
other users might otherwise retain in their use of the government's network under
O'Connor v. Ortega, 480 U.S. 709 (1987).
Fourth, in the case of a non-government network, banners may establish a system
administrator's "common authority" to consent to a law enforcement search
pursuant to United States v. Matlock, 415 U.S. 164 (1974)." (US Department of
Justice APPENDIX A: Sample Network Banner Language)
Impact:
65 | P a g e
Audit:
If the command does not return a result, the banner is not enabled.
Remediation:
Configure the webauth banner presented when a user connects to the device.
Default Value:
References:
1. https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/rel
ease/16-
9/configuration_guide/sec/b_169_sec_9500_cg/configuring_web_based_authenticat
ion.html
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
66 | P a g e
1.4 Password Rules
Rules in the password class enforce secure, local device authentication credentials.
Level 1
Description:
Use the enable secret command to provide an additional layer of security over the enable
password. The enable secret command provides better security by storing the enable
secret password using a nonreversible cryptographic function. The added layer of security
encryption provides is useful in environments where the password crosses the network or
is stored on a TFTP server.
Rationale:
Requiring the enable secret setting protects privileged EXEC mode. By default, a strong
password is not required, a user can just press the Enter key at the Password prompt to
start privileged mode. The enable password command causes the device to enforce use of a
password to access privileged mode. Enable secrets use a one-way cryptographic hash
(MD5). This is preferred to Level 7 enable passwords that use a weak, well-known, and
easily reversible encryption algorithm.
Impact:
Organizations should protect privileged EXEC mode through policies requiring the
'enabling secret' setting, which enforces a one-way cryptographic hash (MD5).
Audit:
Remediation:
67 | P a g e
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-
e1.html#GUID-944C261C-7D4A-49E1-AA8F-C754750BDE47
Additional Information:
Note: You cannot recover a lost encrypted password. You must clear NVRAM and set a new
password.
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
68 | P a g e
1.4.2 Enable 'service password-encryption' (Automated)
Profile Applicability:
Level 1
Description:
When password encryption is enabled, the encrypted form of the passwords is displayed
when a more system:running-config command is entered.
Rationale:
Impact:
Audit:
Remediation:
Enable password encryption service to protect sensitive access passwords in the device
configuration.
hostname(config)#service password-encryption
Default Value:
69 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/s1/sec-cr-s1.html#GUID-
CC0E305A-604E-4A74-8A1A-975556CE5871
Additional Information:
Caution: This command does not provide a high level of network security. If you use this
command, you should also take additional network security measures.
Note: You cannot recover a lost encrypted password. You must clear NVRAM and set a new
password.
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
70 | P a g e
1.4.3 Set 'username secret' for all local users (Automated)
Profile Applicability:
Level 1
Description:
Username secret password type 5 and enable secret password type 5 must be migrated to
the stronger password type 8 or 9. IF a device is upgraded from IOS XE 16.9 or later the
type 5 is auto converted to type 9.
The username secret command provides an additional layer of security over the username
password.
Rationale:
Default device configuration does not require strong user authentication potentially
enabling unfettered access to an attacker that is able to reach the device. Creating a local
account with an encrypted password enforces login authentication and provides a fallback
authentication mechanism for configuration in a named method list in a situation where
centralized authentication, authorization, and accounting services are unavailable. The
following is the type of encryption the device will allow as of 15.3: Type 0 this mean the
password will not be encrypted when router store it in Run/Start Files command: enable
password cisco123
Type 4 this mean the password will be encrypted when router store it in Run/Start Files
using SHA-256 which apps like Cain can crack but will take long time command : enable
secret 4 Rv4kArhts7yA2xd8BD2YTVbts (notice above is not the password string it self but
the hash of the password)
Type 5 this mean the password will be encrypted when router store it in Run/Start Files
using MD5 which apps like Cain can crack but will take long time command: enable secret 5
00271A5307542A02D22842 (notice above is not the password string it self but the hash of
the password) or enable secret cisco123 (notice above is the password string it self)
Type 7 this mean the password will be encrypted when router store it in Run/Start Files
using Vigenere cipher which any website with type7 reverser can crack it in less than one
second command : ena password cisco123 service password-encryption
71 | P a g e
Type 8
This means the password will be encrypted when router store it in Run/Start Files using
PBKDF2-SHA-256
Password-Based Key Derivation Function 2 (PBKDF2) with Secure Hash Algorithm, 26-bits
(SHA-256) as the hashing algorithm
Example :
enable secret 8
$8$mTj4RZG8N9ZDOk$elY/asfm8kD3iDmkBe3hD2r4xcA/0oWS5V3os.O91u.
Example :
Type 9
this mean the password will be encrypted when router store it in Run/Start Files using
scrypt as the hashing algorithm.
Example :
enable secret 9
$9$WnArItcQHW/uuE$x5WTLbu7PbzGDuv0fSwGKS/KURsy5a3WCQckmJp0MbE
Example :
72 | P a g e
R1# show running-config | inc username
Important Notes:
1-If you configure type 8 or type 9 passwords and then downgrade to a release that does
not support type 8 and type 9 passwords, you must configure the type 5 passwords before
downgrading. If not, you are locked out of the device and a password recovery is required.
2-Starting from IOS 15.3(3)The 4 keyword was deprecated and support for type 8 and type
9 algorithms were added and The warning message for removal of support for the type 4
algorithm was added
Impact:
Organizations implementing 'username secret' across their enterprise reduce the risk of
unauthorized users gaining access to Cisco IOS devices by applying a MD5 hash and
encrypting user passwords.
Audit:
Remediation:
Create a local user with an encrypted, complex (not easily guessed) password.
Default Value:
73 | P a g e
References:
1. https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9600/software/rel
ease/16-
12/configuration_guide/sec/b_1612_sec_9600_cg/controlling_switch_access_with_p
asswords_and_privilege_levels.html
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
74 | P a g e
1.5 SNMP Rules
Simple Network Management Protocol (SNMP) provides a standards-based interface to
manage and monitor network devices. This section provides guidance on the secure
configuration of SNMP parameters.
Level 1
Description:
If not in use, disable simple network management protocol (SNMP), read and write access.
Rationale:
SNMP read access allows remote monitoring and management of the device.
Impact:
Organizations not using SNMP should require all SNMP services to be disabled by running
the 'no snmp-server' command.
Audit:
Remediation:
Disable SNMP read and write access if not in used to monitor and/or manage device.
hostname(config)#no snmp-server
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
book.html
75 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
76 | P a g e
1.5.2 Unset 'private' for 'snmp-server community' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
The default community string "private" is well known. Using easy to guess, well known
community string poses a threat that an attacker can effortlessly gain unauthorized access
to the device.
Impact:
To reduce the risk of unauthorized access, Organizations should disable default, easy to
guess, settings such as the 'private' setting for snmp-server community.
Audit:
Remediation:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s2.html#GUID-2F3F13E4-EE81-4590-871D-6AE1043473DE
77 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
78 | P a g e
1.5.3 Unset 'public' for 'snmp-server community' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
The default community string "public" is well known. Using easy to guess, well known
community string poses a threat that an attacker can effortlessly gain unauthorized access
to the device.
Impact:
To reduce the risk of unauthorized access, Organizations should disable default, easy to
guess, settings such as the 'public' setting for snmp-server community.
Audit:
Perform the following to determine if the public community string is enabled: Ensure
public does not show as a result
Remediation:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s2.html#GUID-2F3F13E4-EE81-4590-871D-6AE1043473DE
79 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
80 | P a g e
1.5.4 Do not set 'RW' for any 'snmp-server community' (Manual)
Profile Applicability:
Level 1
Description:
Specifies read-write access. Authorized management stations can both retrieve and modify
MIB objects.
Rationale:
Enabling SNMP read-write enables remote management of the device. Unless absolutely
necessary, do not allow simple network management protocol (SNMP) write access.
Impact:
To reduce the risk of unauthorized access, Organizations should disable the SNMP 'write'
access for snmp-server community.
Audit:
Remediation:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s2.html#GUID-2F3F13E4-EE81-4590-871D-6AE1043473DE
81 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
82 | P a g e
1.5.5 Set the ACL for each 'snmp-server community' (Manual)
Profile Applicability:
Level 1
Description:
This feature specifies a list of IP addresses that are allowed to use the community string to
gain access to the SNMP agent.
Rationale:
If ACLs are not applied, then anyone with a valid SNMP community string can potentially
monitor and manage the router. An ACL should be defined and applied for all SNMP access
to limit access to a small number of authorized management stations segmented in a
trusted management zone. If possible, use SNMPv3 which uses authentication,
authorization, and data privatization (encryption).
Impact:
To reduce the risk of unauthorized access, Organizations should enable access control lists
for all snmp-server communities and restrict the access to appropriate trusted
management zones. If possible, implement SNMPv3 to apply authentication, authorization,
and data privatization (encryption) for additional benefits to the organization.
Audit:
Remediation:
83 | P a g e
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s2.html#GUID-2F3F13E4-EE81-4590-871D-6AE1043473DE
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
84 | P a g e
1.5.6 Create an 'access-list' for use with SNMP (Automated)
Profile Applicability:
Level 1
Description:
You can use access lists to control the transmission of packets on an interface, control
Simple Network Management Protocol (SNMP) access, and restrict the contents of routing
updates. The Cisco IOS software stops checking the extended access list after a match
occurs.
Rationale:
SNMP ACLs control what addresses are authorized to manage and monitor the device via
SNMP. If ACLs are not applied, then anyone with a valid SNMP community string may
monitor and manage the router. An ACL should be defined and applied for all SNMP
community strings to limit access to a small number of authorized management stations
segmented in a trusted management zone.
Audit:
Remediation:
Configure SNMP ACL for restricting access to the device from authorized management
stations segmented in a trusted management zone.
Default Value:
85 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-a2.html#GUID-
9EA733A3-1788-4882-B8C3-AB0A2949120C
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
86 | P a g e
1.5.7 Set 'snmp-server host' when using SNMP (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
If SNMP is enabled for device management and device alerts are required, then ensure the
device is configured to submit traps only to authorize management systems.
Impact:
Organizations using SNMP should restrict sending SNMP messages only to explicitly named
systems to reduce unauthorized access.
Audit:
Remediation:
Configure authorized SNMP trap community string and restrict sending messages to
authorized management systems.
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s5.html#GUID-D84B2AB5-6485-4A23-8C26-73E50F73EE61
87 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
88 | P a g e
1.5.8 Set 'snmp-server enable traps snmp' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Impact:
Organizations using SNMP should restrict trap types only to explicitly named traps to
reduce unintended traffic. Enabling SNMP traps without specifying trap type will enable all
SNMP trap types.
Audit:
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s3.html#GUID-EB3EB677-A355-42C6-A139-85BA30810C54
89 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
90 | P a g e
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3 (Manual)
Profile Applicability:
Level 2
Description:
Rationale:
SNMPv3 provides much improved security over previous versions by offering options for
Authentication and Encryption of messages. When configuring a user for SNMPv3 you have
the option of using a range of encryption schemes, or no encryption at all, to protect
messages in transit. AES128 is the minimum strength encryption method that should be
deployed.
Impact:
Organizations using SNMP can significantly reduce the risks of unauthorized access by
using the 'snmp-server group v3 priv' setting to encrypt messages in transit.
Audit:
Verify the result show the appropriate group name and security model
Remediation:
For each SNMPv3 group created on your router add privacy options by issuing the
following command...
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s5.html#GUID-56E87D02-C56F-4E2D-A5C8-617E31740C3F
91 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
92 | P a g e
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when using
SNMPv3 (Automated)
Profile Applicability:
Level 2
Description:
Specify the use of a minimum of 128-bit AES algorithm for encryption when using SNMPv3.
Rationale:
SNMPv3 provides much improved security over previous versions by offering options for
Authentication and Encryption of messages. When configuring a user for SNMPv3 you have
the option of using a range of encryption schemes, or no encryption at all, to protect
messages in transit. AES128 is the minimum strength encryption method that should be
deployed.
Impact:
Organizations using SNMP can significantly reduce the risks of unauthorized access by
using the 'snmp-server user' setting with appropriate authentication and privacy protocols
to encrypt messages in transit.
Audit:
Verify the result show the appropriate user name and security settings
Remediation:
For each SNMPv3 user created on your router add privacy options by issuing the following
command.
Default Value:
93 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/snmp/command/nm-snmp-cr-
s5.html#GUID-4EED4031-E723-4B84-9BBF-610C3CF60E31
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
94 | P a g e
1.6 Login Enhancements
Connecting to a routing device for the purposes of administering (managing) the device, at
either the User or Executive level, is most frequently performed using Telnet or SSH
(secure shell) from a remote console (such as a PC). SSH provides a more secure connection
option because communication traffic between the user’s device and the managed device
are encrypted. The Login Block capability, when enabled, applies to both Telnet
connections and SSH connections.
The automated activation and logging of the Login Block and Quiet Period capabilities
introduced by this feature are designed to further enhance the security of your devices by
specifically addressing two well known methods that individuals use to attempt to disrupt
or compromise networked devices.
If the connection address of a device is discovered and is reachable, a malicious user may
attempt to interfere with the normal operations of the device by flooding it with connection
requests. This type of attack is referred to as an attempted Denial-of-Service, because it is
possible that the device may become too busy trying to process the repeated login
connection attempts to properly handle normal routing services or will not be able to
provide the normal login service to legitimate system administrators.
The primary intention of a dictionary attack, unlike a typical DoS attack, is to actually gain
administrative access to the device. A dictionary attack is an automated process to attempt
to login by attempting thousands, or even millions, of username/password combinations.
(This type of attack is called a “dictionary attack” because it typically uses, as a start, every
word found in a typical dictionary as a possible password.) As scripts or programs are used
to attempt this access, the profile for such attempts is typically the same as for DoS
attempts; multiple login attempts in a short period of time.
Level 2
Description:
All login parameters are disabled by default. You must issue the login block-for command,
which enables default login functionality, before using any other login commands. After the
login block-for command is enabled, the following defaults are enforced:
95 | P a g e
All login attempts made via Telnet or SSH are denied during the quiet period; that is, no
ACLs are exempt from the login period until the login quiet-mode access-class command is
issued.
Rationale:
If the configured number of connection attempts fail within a specified time period, the
Cisco device will not accept any additional connections for a “quiet period.” (Hosts that are
permitted by a predefined access-control list [ACL] are excluded from the quiet period.)
The number of failed connection attempts that trigger the quiet period can be specified via
the new global configuration mode command login block-for . The predefined ACL that is
excluded from the quiet period can be specified via the new global configuration mode
command login quiet-mode access-class .
Audit:
Configures your Cisco IOS XE device for login parameters that help provide DoS detection.
Remediation:
All login attempts made via Telnet or SSH are denied during the quiet period; that is, no
ACLs are exempt from the login period until the login quiet-mode access-class command is
issued
Default Value:
no login-block enabled
References:
1. https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/sec_usr_cfg/configuration/xe-16-5/sec-usr-cfg-xe-16-5-book/sec-login-
enhance.html
96 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
97 | P a g e
1.6.2 AutoSecure (Automated)
Profile Applicability:
Level 2
Description:
The AutoSecure feature secures a router by using a single CLI command to disable common
IP services that can be exploited for network attacks, enable IP services and features that
can aid in the defense of a network when under attack, and simplify and harden the
security configuration of the router.
Rationale:
After enabling this feature (through the auto secure command), the following global
services are disabled on the router without prompting the user:
PAD--Enables all packet assembler and disassembler (PAD) commands and connections
between PAD devices and access servers. If enabled, it can leave your device vulnerable to
attacks.
Small Servers--Causes TCP and User Datagram Protocol (UDP) diagnostic port attacks: a
sender transmits a volume of fake requests for UDP diagnostic services on the router,
consuming all CPU resources.
CDP--If a large number of Cisco Discovery Protocol (CDP) packets are sent to the router, the
available memory of the router can be consumed, causing the router to crash. NTP--
Without authentication or access-control, Network Time Protocol (NTP) is insecure and
can be used by an attacker to send NTP packets to crash or overload the router. (If you
want to turn on NTP, you must configure NTP authentication using Message Digest 5 (MD5)
98 | P a g e
and the ntp access-group command. If NTP is enabled globally, disable it on all interfaces
on which it is not needed.)
Impact:
After enabling this feature, the following options in which to secure access to the router are
available to the user:
If a text banner does not exist, users are prompted to add a banner. This feature provides
the following sample banner:
Authorized access only This system is the property of ABC Enterprise Disconnect
IMMEDIATELY if you are not an authorized user! Contact abc@xyz.com +99 876 543210
for help. The login and password (preferably a secret password, if supported) are
configured on the console, AUX, vty, and tty lines. The transport input and transport output
commands are also configured on all of these lines. (Telnet and secure shell (SSH) are the
only valid transport methods.) The exec-timeout command is configured on the console
and AUX as 10.
When the image on the device is a crypto image, AutoSecure enables SSH and secure copy
(SCP) for access and file transfer to and from the router. The timeout seconds and
authentication-retries integer options for the ip ssh command are configured to a minimum
number. (Telnet and FTP are not affected by this operation and remain operational.)
If the AutoSecure user specifies that their device does not use Simple Network
Management Protocol (SNMP), one of the following functions occur: In interactive mode,
the user is asked whether to disable SNMP regardless of the values of the community
strings, which act like passwords to regulate access to the agent on the router. In non-
interact mode, SNMP is disabled if the community string is “public” or “private.”
Audit:
Remediation:
99 | P a g e
Configuring Enhanced Security Access to the Router
Default Value:
References:
1. https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/sec_usr_cfg/configuration/xe-16-5/sec-usr-cfg-xe-16-5-book/sec-
autosecure.html
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
100 | P a g e
1.6.3 Configuring Kerberos (Automated)
Profile Applicability:
Level 2
Description:
The primary use of Kerberos is to verify that users and the network services they use are
really who and what they claim to be. To accomplish this, a trusted Kerberos server issues
tickets to users. These tickets, which have a limited lifespan, are stored in a user’s
credential cache and can be used in place of the standard username-and-password
authentication mechanism.
The Kerberos credential scheme embodies a concept called “single logon.” This process
requires authenticating a user once, and then allows secure authentication (without
encrypting another password) wherever that user’s credential is accepted.
Cisco IOS XE software includes Kerberos 5 support, which allows organizations already
deploying Kerberos 5 to use the same Kerberos authentication database on their routers
that they are already using on their other network hosts (such as UNIX servers and PCs).
The following network services are supported by the Kerberos authentication capabilities
in Cisco IOS XE software:
Telnet
rlogin
rsh
rcp
Rationale:
Authenticating to the Boundary Router This section describes the first layer of security that
remote users must pass through when they attempt to access a network. The first step in
101 | P a g e
the Kerberos authentication process is for users to authenticate themselves to the
boundary router. The following process describes how users authenticate to a boundary
router:
Impact:
A remote user who successfully initiates a PPP session and authenticates to the boundary
router is inside the firewall but still must authenticate to the KDC directly before being
allowed to access network services. This is because the TGT issued by the KDC is stored on
the router and is not useful for additional authentication unless the user physically logs on
to the router.
Audit:
Remediation:
Make entries for all network services on all Kerberized hosts that use this KDC for
authentication.
Defining a Kerberos Realm
Default Value:
no kerberos enabled
References:
1. https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/sec_usr_cfg/configuration/xe-16-5/sec-usr-cfg-xe-16-5-book/sec-cfg-
kerberos.html
102 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
103 | P a g e
1.6.4 Configure Web interface (Automated)
Profile Applicability:
Level 2
Description:
External web authentication, where the switch redirects a client to a particular host or web
server for displaying login message, is not supported.
You cannot authenticate hosts on Layer 2 interfaces with static ARP cache assignment.
These hosts are not detected by the web-based authentication feature because they do not
send ARP messages.
You must enable SISF-Based device tracking to use web-based authentication. By default,
SISF-Based device tracking is disabled on a switch.
You must configure at least one IP address to run the switch HTTP server. You must also
configure routes to reach each host IP address. The HTTP server sends the HTTP login page
to the host.
Hosts that are more than one hop away might experience traffic disruption if an STP
topology change results in the host traffic arriving on a different port. This occurs because
the ARP and DHCP updates might not be sent after a Layer 2 (STP) topology change.
Web-based authentication and Network Edge Access Topology (NEAT) are mutually
exclusive. You cannot use web-based authentication when NEAT is enabled on an interface,
and you cannot use NEAT when web-based authentication is running on an interface.
Identify the following RADIUS security server settings that will be used while configuring
switch-to-RADIUS-server communication:
Host name
Host IP address
104 | P a g e
Host name and specific UDP port numbers
Rationale:
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.
Audit:
Hostname#show ip admission
Remediation:
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
105 | P a g e
2 Control Plane
The control plane covers monitoring, route table updates, and generally the dynamic
operation of the router. Services, settings, and data streams that support and document the
operation, traffic handling, and dynamic status of the router. Examples of control plane
services include: logging (e.g. Syslog), routing protocols, status protocols like CDP and
HSRP, network topology protocols like STP, and traffic security control protocols like IKE.
Network control protocols like ICMP, NTP, ARP, and IGMP directed to or sent by the router
itself also fall into this area.
106 | P a g e
2.1.1.1 Configure Prerequisites for the SSH Service
[This space intentionally left blank]
Level 1
Description:
Rationale:
Impact:
Organizations should plan the enterprise network and identify an appropriate host name
for each router.
Audit:
Remediation:
hostname(config)#hostname {<em>router_name</em>}
Default Value:
107 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/F_through_K.html#GUID-F3349988-EC16-484A-
BE81-4C40110E6625
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
108 | P a g e
2.1.1.1.2 Set the 'ip domain-name' (Automated)
Profile Applicability:
Level 1
Description:
Define a default domain name that the Cisco IOS software uses to complete unqualified
hostnames
Rationale:
Impact:
Organizations should plan the enterprise network and identify an appropriate domain
name for the router.
Audit:
Remediation:
Default Value:
No domain is set.
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr/command/ipaddr-
i3.html#GUID-A706D62B-9170-45CE-A2C2-7B2052BE2CAB
109 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
110 | P a g e
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto key
generate rsa' (Automated)
Profile Applicability:
Level 1
Description:
Use this command to generate RSA key pairs for your Cisco device.
RSA keys are generated in pairs--one public RSA key and one private RSA key.
Rationale:
An RSA key pair is a prerequisite for setting up SSH and should be at least 2048 bits.
NOTE: IOS does NOT display the modulus bit value in the Audit Procedure.
Impact:
Organizations should plan and implement enterprise network cryptography and generate
an appropriate RSA key pairs, such as 'modulus', greater than or equal to 2048.
Audit:
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/a1/sec-cr-c4.html#GUID-
2AECF701-D54A-404E-9614-D3AAB049BC13
111 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
112 | P a g e
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout' (Automated)
Profile Applicability:
Level 1
Description:
The time interval that the router waits for the SSH client to respond before disconnecting
an uncompleted login attempt.
Rationale:
This reduces the risk of an administrator leaving an authenticated session logged in for an
extended period of time.
Impact:
Organizations should implement a security policy requiring minimum timeout settings for
all network administrators and enforce the policy through the 'ip ssh timeout' command.
Audit:
hostname#sh ip ssh
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i3.html#GUID-
5BAC7A2B-0A25-400F-AEE9-C22AE08513C6
113 | P a g e
Additional Information:
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
114 | P a g e
2.1.1.1.5 Set maximimum value for 'ip ssh authentication-retries'
(Automated)
Profile Applicability:
Level 1
Description:
Rationale:
This limits the number of times an unauthorized user can attempt a password without
having to establish a new SSH login attempt. This reduces the potential for success during
online brute force attacks by limiting the number of login attempts per SSH connection.
Impact:
Audit:
hostname#sh ip ssh
Remediation:
Default Value:
115 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i3.html#GUID-
5BAC7A2B-0A25-400F-AEE9-C22AE08513C6
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
116 | P a g e
2.1.1.2 Set version 2 for 'ip ssh version' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
SSH Version 1 has been subject to a number of serious vulnerabilities and is no longer
considered to be a secure protocol, resulting in the adoption of SSH Version 2 as an Internet
Standard in 2006.
Cisco routers support both versions, but due to the weakness of SSH Version 1 only the
later standard should be used.
Impact:
Audit:
hostname#sh ip ssh
Remediation:
Default Value:
SSH is not enabled by default. When enabled, SSH operates in compatibility mode (versions
1 and 2 supported).
117 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i3.html#GUID-
170AECF1-4B5B-462A-8CC8-999DEDC45C21
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
118 | P a g e
2.1.2 Set 'no cdp run' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
The Cisco Discovery Protocol is a proprietary protocol that Cisco devices use to identify
each other on a LAN segment. It is useful only in network monitoring and troubleshooting
situations but is considered a security risk because of the amount of information provided
from queries. In addition, there have been published denial-of-service (DoS) attacks that
use CDP. CDP should be completely disabled unless necessary.
Impact:
Audit:
hostname#show cdp
Remediation:
Default Value:
Enabled on all platforms except the Cisco 10000 Series Edge Services Router
119 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/cdp/command/cdp-cr-
a1.html#GUID-E006FAC8-417E-4C3F-B732-4D47B0447750
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
120 | P a g e
2.1.3 Set 'no ip bootp server' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
BootP allows a router to issue IP addresses. This should be disabled unless there is a
specific requirement.
Impact:
Audit:
Remediation:
Default Value:
Enabled
References:
121 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
122 | P a g e
2.1.4 Set 'no service dhcp' (Automated)
Profile Applicability:
Level 1
Description:
Disable the Dynamic Host Configuration Protocol (DHCP) server and relay agent features
on your router.
Rationale:
Impact:
Audit:
Remediation:
Default Value:
Enabled by default, but also requires a DHCP pool to be set to activate the DHCP server.
123 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr/command/ipaddr-
r1.html#GUID-1516B259-AA28-4839-B968-8DDBF0B382F6
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
124 | P a g e
2.1.5 Set 'no ip identd' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Impact:
Audit:
Remediation:
hostname(config)#no ip identd
Default Value:
Disabled by default
References:
1. http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/Baseline_Securi
ty/sec_chap4.html#wp1056539
125 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
126 | P a g e
2.1.6 Set 'service tcp-keepalives-in' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Stale connections use resources and could potentially be hijacked to gain illegitimate
access. The TCP keepalives-in service generates keepalive packets on idle incoming
network connections (initiated by remote host). This service allows the device to detect
when the remote host fails and drop the session. If enabled, keepalives are sent once per
minute on idle connections. The connection is closed within five minutes if no keepalives
are received or immediately if the host replies with a reset packet.
Impact:
Audit:
Remediation:
hostname(config)#service tcp-keepalives-in
Default Value:
Disabled by default.
127 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/R_through_setup.html#GUID-1489ABA3-2428-
4A64-B252-296A035DB85E
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
128 | P a g e
2.1.7 Set 'service tcp-keepalives-out' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Stale connections use resources and could potentially be hijacked to gain illegitimate
access. The TCP keepalives-in service generates keepalive packets on idle incoming
network connections (initiated by remote host). This service allows the device to detect
when the remote host fails and drop the session. If enabled, keepalives are sent once per
minute on idle connections. The closes connection is closed within five minutes if no
keepalives are received or immediately if the host replies with a reset packet.
Impact:
Audit:
Remediation:
hostname(config)#service tcp-keepalives-out
Default Value:
Disabled by default.
129 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/R_through_setup.html#GUID-9321ECDC-6284-
4BF6-BA4A-9CEEF5F993E5
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
130 | P a g e
2.1.8 Set 'no service pad' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
If the PAD service is not necessary, disable the service to prevent intruders from accessing
the X.25 PAD command set on the router.
Impact:
Audit:
Remediation:
Default Value:
Enabled by default.
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/wan/command/wan-
s1.html#GUID-C5497B77-3FD4-4D2F-AB08-1317D5F5473B
131 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
132 | P a g e
2.2 Logging Rules
Rules in the logging class enforce controls that provide a record of system activity and
events.
Level 1
Description:
Rationale:
Logging provides a chronological record of activities on the Cisco device and allows
monitoring of both operational and security related events.
Impact:
Enabling the Cisco IOS 'logging enable' command enforces the monitoring of technology
risks for the organizations' network devices.
Audit:
Remediation:
hostname(config)#archive
hostname(config-archive)#log config
hostname(config-archive-log-cfg)#logging enable
hostname(config-archive-log-cfg)#end
Default Value:
133 | P a g e
References:
1. https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/config-
mgmt/configuration/xe-16-6/config-mgmt-xe-16-6-book/cm-config-logger.pdf
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
134 | P a g e
2.2.2 Set 'buffer size' for 'logging buffered' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
The device can copy and store log messages to an internal memory buffer. The buffered
data is available only from a router exec or enabled exec session. This form of logging is
useful for debugging and monitoring when logged in to a router.
Impact:
Data forensics is effective for managing technology risks and an organization can enforce
such policies by enabling the 'logging buffered' command.
Audit:
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios/netmgmt/command/reference/nm_09.htm
l#wp1060051
135 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
136 | P a g e
2.2.3 Set 'logging console critical' (Automated)
Profile Applicability:
Level 1
Description:
Verify logging to device console is enabled and limited to a rational severity level to avoid
impacting system performance and management.
Rationale:
This configuration determines the severity of messages that will generate console
messages. Logging to console should be limited only to those messages required for
immediate troubleshooting while logged into the device. This form of logging is not
persistent; messages printed to the console are not stored by the router. Console logging is
handy for operators when they use the console.
Impact:
Audit:
Remediation:
Default Value:
137 | P a g e
Additional Information:
The console is a slow display device. In message storms some logging messages may be
silently dropped when the console queue becomes full. Set severity levels accordingly.
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
138 | P a g e
2.2.4 Set IP address for 'logging host' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Cisco routers can send their log messages to a Unix-style Syslog service. A syslog service
simply accepts messages and stores them in files or prints them according to a simple
configuration file. This form of logging is best because it can provide protected long-term
storage for logs (the devices internal logging buffer has limited capacity to store events.) In
addition, logging to an external system is highly recommended or required by most
security standards. If desired or required by policy, law and/or regulation, enable a second
syslog server for redundancy.
Impact:
Logging is an important process for an organization managing technology risk. The 'logging
host' command sets the IP address of the logging host and enforces the logging process.
Audit:
Remediation:
Default Value:
139 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios/netmgmt/command/reference/nm_09.htm
l#wp1082864
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
140 | P a g e
2.2.5 Set 'logging trap informational' (Automated)
Profile Applicability:
Level 1
Description:
Limit messages logged to the syslog servers based on severity level informational.
Rationale:
This determines the severity of messages that will generate simple network management
protocol (SNMP) trap and or syslog messages. This setting should be set to either
"debugging" (7) or "informational" (6), but no lower.
Impact:
Logging is an important process for an organization managing technology risk. The 'logging
trap' command sets the severity of messages and enforces the logging process.
Audit:
Perform the following to determine if a syslog server for SNMP traps is enabled:
Verify "level informational" returns
Remediation:
Default Value:
Disabled
References:
1. http://www.cisco.com/en/US/docs/ios/netmgmt/command/reference/nm_09.htm
l#wp1015177
141 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
142 | P a g e
2.2.6 Set 'service timestamps debug datetime' (Automated)
Profile Applicability:
Level 1
Description:
Configure the system to apply a time stamp to debugging messages or system logging
messages
Rationale:
Including timestamps in log messages allows correlating events and tracing network
attacks across multiple devices. Enabling service timestamp to mark the time log messages
were generated simplifies obtaining a holistic view of events enabling faster
troubleshooting of issues or attacks.
Impact:
Audit:
Remediation:
Default Value:
143 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/R_through_setup.html#GUID-DC110E59-D294-
4E3D-B67F-CCB06E607FC6
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
144 | P a g e
2.2.7 Set 'logging source interface' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
This is required so that the router sends log messages to the logging server from a
consistent IP address.
Impact:
Audit:
Perform the following to determine if logging services are bound to a source interface:
Verify a command string result returns
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios/netmgmt/command/reference/nm_09.htm
l#wp1095099
145 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
146 | P a g e
2.2.8 Set 'login success/failure logging' (Automated)
Profile Applicability:
Level 2
Description:
Without generating audit records that are specific to the security and mission needs of the
organization, it would be difficult to establish, correlate, and investigate the events relating
to an incident or identify those responsible for one.
Rationale:
Audit records can be generated from various components within the information system
(e.g., module or policy filter).
Audit:
Remediation:
References:
1. https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/config-
mgmt/configuration/xe-16-6/config-mgmt-xe-16-6-book/cm-config-logger.pdf
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
147 | P a g e
2.3 NTP Rules
Network Time Protocol allows administrators to set the system time on all of their
compatible systems from a single source, ensuring a consistent time stamp for logging and
authentication protocols. NTP is an internet standard, defined in RFC1305.
148 | P a g e
2.3.1 Require Encryption Keys for NTP
Encryption keys should be set for NTP Servers.
Level 2
Description:
Rationale:
Using authenticated NTP ensures the Cisco device only permits time updates from
authorized NTP servers.
Impact:
Organizations should establish three Network Time Protocol (NTP) hosts to set consistent
time across the enterprise. Enabling the 'ntp authenticate' command enforces
authentication between NTP hosts.
Audit:
Remediation:
hostname(config)#ntp authenticate
Default Value:
149 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/bsm/command/bsm-cr-
n1.html#GUID-8BEBDAF4-6D03-4C3E-B8D6-6BCBC7D0F324
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
150 | P a g e
2.3.1.2 Set 'ntp authentication-key' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Using an authentication key provides a higher degree of security as only authenticated NTP
servers will be able to update time for the Cisco device.
Impact:
Organizations should establish three Network Time Protocol (NTP) hosts to set consistent
time across the enterprise. Enabling the 'ntp authentication-key' command enforces
encrypted authentication between NTP hosts.
Audit:
Remediation:
Configure at the NTP key ring and encryption key using the following command
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/bsm/command/bsm-cr-
n1.html#GUID-0435BFD1-D7D7-41D4-97AC-7731C11226BC
151 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
152 | P a g e
2.3.1.3 Set the 'ntp trusted-key' (Automated)
Profile Applicability:
Level 2
Description:
Ensure you authenticate the identity of a system to which Network Time Protocol (NTP)
will synchronize
Rationale:
Impact:
Organizations should establish three Network Time Protocol (NTP) hosts to set consistent
time across the enterprise. Enabling the 'ntp trusted-key' command enforces encrypted
authentication between NTP hosts.
Audit:
The above command should return any NTP server(s) configured with encryption keys.
This value should be the same as the total number of servers configured as tested in.
Remediation:
Default Value:
153 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/bsm/command/bsm-cr-
n1.html#GUID-89CA798D-0F12-4AE8-B382-DE10CBD261DB
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
154 | P a g e
2.3.1.4 Set 'key' for each 'ntp server' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
This authentication feature provides protection against accidentally synchronizing the ntp
system to another system that is not trusted, because the other system must know the
correct authentication key.
Impact:
Organizations should establish three Network Time Protocol (NTP) hosts to set consistent
time across the enterprise. Enabling the 'ntp server key' command enforces encrypted
authentication between NTP hosts.
Audit:
Remediation:
Configure each NTP Server to use a key ring using the following command.
Default Value:
155 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
156 | P a g e
2.3.2 Set 'ip address' for 'ntp server' (Automated)
Profile Applicability:
Level 1
Description:
Use this command if you want to allow the system to synchronize the system software
clock with the specified NTP server.
Rationale:
To ensure that the time on your Cisco router is consistent with other devices in your
network, at least two (and preferably at least three) NTP Server/s external to the router
should be configured.
Ensure you also configure consistent timezone and daylight savings time setting for all
devices. For simplicity, the default of Coordinated Universal Time (UTC).
Impact:
Organizations should establish multiple Network Time Protocol (NTP) hosts to set
consistent time across the enterprise. Enabling the 'ntp server ip address' enforces
encrypted authentication between NTP hosts.
Audit:
Remediation:
Configure at least one external NTP Server using the following commands
Default Value:
157 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/bsm/command/bsm-cr-
n1.html#GUID-255145EB-D656-43F0-B361-D9CBCC794112
2. https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/bsm/command/bsm-cr-
book/bsm-cr-n1.html#wp3294676008
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
158 | P a g e
2.4 Loopback Rules
When a router needs to initiate connections to remote hosts, for example for SYSLOG or
NTP, it will use the nearest interface for the packets source address. This can cause issues
due to the possible variation in source, potentially causing packets to be denied by
intervening firewalls or handled incorrectly by the receiving host. To prevent these
problems the router should be configured with a Loopback interface and any services
should be bound to this address.
Level 2
Description:
Rationale:
Software-only loopback interface that emulates an interface that is always up. It is a virtual
interface supported on all platforms.
Impact:
Organizations should plan and establish 'loopback interfaces' for the enterprise network.
Loopback interfaces enable critical network information such as OSPF Router IDs and
provide termination points for routing protocol sessions.
Audit:
159 | P a g e
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
160 | P a g e
2.4.2 Set AAA 'source-interface' (Automated)
Profile Applicability:
Level 2
Description:
Force AAA to use the IP address of a specified interface for all outgoing AAA packets
Rationale:
This is required so that the AAA server (RADIUS or TACACS+) can easily identify routers
and authenticate requests by their IP address.
Impact:
Audit:
Perform the following to determine if AAA services are bound to a source interface:
Verify a command string result returns
Remediation:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i2.html#GUID-
22E8B211-751F-48E0-9C76-58F0FE0AABA8
2. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i3.html#GUID-
54A00318-CF69-46FC-9ADC-313BFC436713
161 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
162 | P a g e
2.4.3 Set 'ntp source' to Loopback Interface (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Set the source address to be used when sending NTP traffic. This may be required if the
NTP servers you peer with filter based on IP address.
Impact:
Organizations should plan and implement network time protocol (NTP) services to
establish official time for all enterprise network devices. Setting 'ntp source loopback'
enforces the proper IP address for NTP services.
Audit:
Perform the following to determine if NTP services are bound to a source interface:
Verify a command string result returns
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/bsm/command/bsm-cr-
n1.html#GUID-DF29FBFB-E1C0-4E5C-9013-D4CE59CA0B88
163 | P a g e
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
164 | P a g e
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
(Automated)
Profile Applicability:
Level 2
Description:
Specify the IP address of an interface as the source address for TFTP connections.
Rationale:
This is required so that the TFTP servers can easily identify routers and authenticate
requests by their IP address.
Impact:
Organizations should plan and implement trivial file transfer protocol (TFTP) services in
the enterprise by setting 'tftp source-interface loopback', which enables the TFTP servers
to identify routers and authenticate requests by IP address.
Audit:
Perform the following to determine if TFTP services are bound to a source interface:
Verify a command string result returns
Remediation:
Default Value:
The address of the closest interface to the destination is selected as the source address.
165 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-
xml/ios/fundamentals/command/F_through_K.html#GUID-9AA27050-A578-47CD-
9F1D-5A8E2B449209
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
166 | P a g e
3 Data Plane
Services and settings related to the data passing through the router (as opposed to direct to
it). The data plane is for everything not in control or management planes. Settings on a
router concerned with the data plane include interface access lists, firewall functionality
(e.g. CBAC), NAT, and IPSec. Settings for traffic-affecting services like unicast RPF
verification and CAR/QoS also fall into this area.
167 | P a g e
3.1 Routing Rules
Unneeded services should be disabled.
Level 1
Description:
Rationale:
Source routing is a feature of IP whereby individual packets can specify routes. This feature
is used in several kinds of attacks. Cisco routers normally accept and process source routes.
Unless a network depends on source routing, it should be disabled.
Impact:
Organizations should plan and implement network policies to ensure unnecessary services
are explicitly disabled. The 'ip source-route' feature has been used in several attacks and
should be disabled.
Audit:
Remediation:
hostname(config)#no ip source-route
Default Value:
Enabled by default
168 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr/command/ipaddr-
i4.html#GUID-C7F971DD-358F-4B43-9F3E-244F5D4A3A93
CIS Controls:
Controls
Control IG 1 IG 2 IG 3
Version
169 | P a g e
3.1.2 Set 'no ip proxy-arp' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Address Resolution Protocol (ARP) provides resolution between IP and MAC Addresses (or
other Network and Link Layer addresses on none IP networks) within a Layer 2 network.
Proxy ARP is a service where a device connected to one network (in this case the Cisco
router) answers ARP Requests which are addressed to a host on another network, replying
with its own MAC Address and forwarding the traffic on to the intended host.
Sometimes used for extending broadcast domains across WAN links, in most cases Proxy
ARP on enterprise networks is used to enable communication for hosts with mis-
configured subnet masks, a situation which should no longer be a common problem. Proxy
ARP effectively breaks the LAN Security Perimeter, extending a network across multiple
Layer 2 segments. Using Proxy ARP can also allow other security controls such as PVLAN to
be bypassed.
Impact:
Organizations should plan and implement network policies to ensure unnecessary services
are explicitly disabled. The 'ip proxy-arp' feature effectively breaks the LAN security
perimeter and should be disabled.
Audit:
170 | P a g e
Remediation:
hostname(config)#interface {interface}
hostname(config-if)#no ip proxy-arp
Default Value:
Enabled
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr/command/ipaddr-
i4.html#GUID-AEB7DDCB-7B3D-4036-ACF0-0A0250F3002E
171 | P a g e
3.1.3 Set 'no interface tunnel' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Tunnel interfaces should not exist in general. They can be used for malicious purposes. If
they are necessary, the network admin's should be well aware of them and their purpose.
Impact:
Organizations should plan and implement enterprise network security policies that disable
insecure and unnecessary features that increase attack surfaces such as 'tunnel interfaces'.
Audit:
Remediation:
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
172 | P a g e
3.1.4 Set 'ip verify unicast source reachable-via' (Automated)
Profile Applicability:
Level 1
Description:
Examines incoming packets to determine whether the source address is in the Forwarding
Information Base (FIB) and permits the packet only if the source is reachable through the
interface on which the packet was received (sometimes referred to as strict mode).
Rationale:
Enabled uRPF helps mitigate IP spoofing by ensuring only packet source IP addresses only
originate from expected interfaces. Configure unicast reverse-path forwarding (uRPF) on
all external or high risk interfaces.
Impact:
Organizations should plan and implement enterprise security policies that protect the
confidentiality, integrity, and availability of network devices. The 'unicast Reverse-Path
Forwarding' (uRPF) feature dynamically uses the router table to either accept or drop
packets when arriving on an interface.
Audit:
Remediation:
Configure uRPF.
hostname(config)#interface {<em>interface_name</em>}
hostname(config-if)#ip verify unicast source reachable-via rx
Default Value:
173 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i3.html#GUID-
2ED313DB-3D3F-49D7-880A-047463632757
174 | P a g e
3.2 Border Router Filtering
A border-filtering device connects "internal" networks such as desktop networks, DMZ
networks, etc., to "external" networks such as the Internet. If this group is chosen, then
ingress and egress filter rules will be required.
Level 2
Description:
This command places the router in access-list configuration mode, where you must define
the denied or permitted access conditions by using the deny and permit commands.
Rationale:
Configuring access controls can help prevent spoofing attacks. To reduce the effectiveness
of IP spoofing, configure access control to deny any traffic from the external network that
has a source address that should reside on the internal network. Include local host address
or any reserved private addresses (RFC 1918).
Ensure the permit rule(s) above the final deny rule only allow traffic according to your
organization's least privilege policy.
Impact:
Organizations should plan and implement enterprise security policies that explicitly
separate internal from external networks. Adding 'ip access-list' explicitly permitting and
denying internal and external networks enforces these policies.
Audit:
175 | P a g e
Remediation:
Configure ACL for private source address restrictions from external networks.
Default Value:
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i1.html#GUID-
BD76E065-8EAC-4B32-AF25-04BA94DD2B11
176 | P a g e
3.2.2 Set inbound 'ip access-group' on the External Interface
(Automated)
Profile Applicability:
Level 2
Description:
This command places the router in access-list configuration mode, where you must define
the denied or permitted access conditions by using the deny and permit commands.
Rationale:
Configuring access controls can help prevent spoofing attacks. To reduce the effectiveness
of IP spoofing, configure access control to deny any traffic from the external network that
has a source address that should reside on the internal network. Include local host address
or any reserved private addresses (RFC 1918).
Ensure the permit rule(s) above the final deny rule only allow traffic according to your
organization's least privilege policy.
Impact:
Organizations should plan and implement enterprise security policies explicitly permitting
and denying access based upon access lists. Using the 'ip access-group' command enforces
these policies by explicitly identifying groups permitted access.
Audit:
Remediation:
hostname(config)#interface {external_interface}
hostname(config-if)#ip access-group {name | number} in
177 | P a g e
Default Value:
No access-group defined
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/security/d1/sec-cr-i1.html#GUID-
D9FE7E44-7831-4C64-ACB8-840811A0C993
178 | P a g e
3.3 Neighbor Authentication
Enable routing authentication.
179 | P a g e
3.3.1 Require EIGRP Authentication if Protocol is Used
Verify enhanced interior gateway routing protocol (EIGRP) authentication is enabled, if
routing protocol is used, where feasible.
Level 2
Description:
Define an authentication key chain to enable authentication for routing protocols. A key
chain must have at least one key and can have up to 2,147,483,647 keys.
NOTE: Only DRP Agent, EIGRP, and RIPv2 use key chains.
Rationale:
Routing protocols such as DRP Agent, EIGRP, and RIPv2 use key chains for authentication.
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'key chains' for routing protocols
enforces these policies.
Audit:
Remediation:
Default Value:
Not set
180 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-A62E89F5-0B8B-4CF0-B4EB-08F2762D88BB
181 | P a g e
3.3.1.2 Set 'key' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'key numbers' for key chains for
routing protocols enforces these policies.
Audit:
Remediation:
hostname(config-keychain)#key {<em>key-number</em>}
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-3F31B2E0-0E4B-4F49-A4A8-8ADA1CA0D73F
182 | P a g e
3.3.1.3 Set 'key-string' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'key strings' for key chains for routing
protocols enforces these policies.
Audit:
Remediation:
hostname(config-keychain-key)#key-string <<em>key-string</em>>
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-D7A8DC18-2E16-4EA5-8762-8B68B94CC43E
183 | P a g e
3.3.1.4 Set 'address-family ipv4 autonomous-system' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Rationale: EIGRP is a true multi-protocol routing protocol and the 'address-family' feature
enables restriction of exchanges with specific neighbors
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'address-family' for EIGRP enforces
these policies by restricting the exchanges between predefined network devices.
Audit:
Remediation:
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-67388D6C-AE9C-47CA-8C35-2A2CF9FA668E
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-C03CFC8A-3CE3-4CF9-9D65-52990DBD3377
184 | P a g e
3.3.1.5 Set 'af-interface default' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'af-interface default' for EIGRP
interfaces enforces these policies by restricting the exchanges between predefined network
devices.
Audit:
Remediation:
Default Value:
Not set
185 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-67388D6C-AE9C-47CA-8C35-2A2CF9FA668E
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-C03CFC8A-3CE3-4CF9-9D65-52990DBD3377
3. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-DC0EF1D3-DFD4-45DF-A553-FA432A3E7233
186 | P a g e
3.3.1.6 Set 'authentication key-chain' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using the address-family 'key chain' for
EIGRP enforces these policies by restricting the exchanges between predefined network
devices.
Audit:
Remediation:
Default Value:
187 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-67388D6C-AE9C-47CA-8C35-2A2CF9FA668E
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-C03CFC8A-3CE3-4CF9-9D65-52990DBD3377
3. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-6B6ED6A3-1AAA-4EFA-B6B8-9BF11EEC37A0
188 | P a g e
3.3.1.7 Set 'authentication mode md5' (Automated)
Profile Applicability:
Level 1
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using the 'authentication mode' for EIGRP
address-family or service-family packets enforces these policies by restricting the type of
authentication between network devices.
Audit:
Remediation:
Default Value:
Not defined
189 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-67388D6C-AE9C-47CA-8C35-2A2CF9FA668E
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-C03CFC8A-3CE3-4CF9-9D65-52990DBD3377
3. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
a1.html#GUID-A29E0EF6-4CEF-40A7-9824-367939001B73
190 | P a g e
3.3.1.8 Set 'ip authentication key-chain eigrp' (Automated)
Profile Applicability:
Level 2
Description:
Specify the type of authentication used in Enhanced Interior Gateway Routing Protocol
(EIGRP) packets per interface.
Rationale:
Configuring EIGRP authentication key-chain number and name to restrict packet exchanges
between network devices.
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the interface with 'ip
authentication key chain' for EIGRP by name and number enforces these policies by
restricting the exchanges between network devices.
Audit:
Remediation:
hostname(config)#interface {<em>interface_name</em>}
hostname(config-if)#ip authentication key-chain eigrp {<em>eigrp_as-
number</em>} {<em>eigrp_key-chain_name</em>}
Default Value:
Not set
191 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-0B344B46-5E8E-4FE2-A3E0-D92410CE5E91
192 | P a g e
3.3.1.9 Set 'ip authentication mode eigrp' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the interface with 'ip
authentication mode' for EIGRP by number and mode enforces these policies by restricting
the exchanges between network devices.
Audit:
Remediation:
hostname(config)#interface {<em>interface_name</em>}
hostname(config-if)#ip authentication mode eigrp {<em><span>eigrp_as-
number</span></em><span>}</span> md5
Default Value:
Not set
193 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_eigrp/command/ire-
i1.html#GUID-8D1B0697-8E96-4D8A-BD20-536956D68506
194 | P a g e
3.3.2 Require OSPF Authentication if Protocol is Used
Verify open shortest path first (OSPF) authentication is enabled, where feasible.
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the area 'authentication
message-digest' for OSPF enforces these policies by restricting exchanges between network
devices.
Audit:
Remediation:
Default Value:
Not set
195 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_ospf/command/ospf-
i1.html#GUID-3D5781A3-F8DF-4760-A551-6A3AB80A42ED
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_ospf/command/ospf-
a1.html#GUID-81D0F753-D8D5-494E-9A10-B15433CFD445
Additional Information:
The authentication type must be the same for all routers and access servers in an area. The
authentication password for all OSPF routers on a network must be the same if they are to
communicate with each other via OSPF
196 | P a g e
3.3.2.2 Set 'ip ospf message-digest-key md5' (Automated)
Profile Applicability:
Level 2
Description:
Enable Open Shortest Path First (OSPF) Message Digest 5 (MD5) authentication.
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the proper interface(s) for 'ip
ospf message-digest-key md5' enforces these policies by restricting exchanges between
network devices.
Audit:
Remediation:
hostname(config)#interface {<em>interface_name</em>}
hostname(config-if)#ip ospf message-digest-key {<em>ospf_md5_key-id</em>} md5
{<em>ospf_md5_key</em>}
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_ospf/command/ospf-
i1.html#GUID-939C79FF-8C09-4D5A-AEB5-DAF25038CA18
197 | P a g e
3.3.3 Require RIPv2 Authentication if Protocol is Used
Routing Information Protocol is a distance vector protocol used for interior gateway
routing on some networks.
RIP is a complex protocol, with many configuration options which may have effects which
are not immediately obvious.
Verify routing information protocol (RIP) version two authentication is enabled, if routing
protocol is used, where feasible.
Level 2
Description:
Define an authentication key chain to enable authentication for RIPv2 routing protocols.
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the proper authentication 'key-
chain (name)' for RIPv2 protocols enforces these policies by restricting acceptable
authentication between network devices.
Audit:
Remediation:
198 | P a g e
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-A62E89F5-0B8B-4CF0-B4EB-08F2762D88BB
199 | P a g e
3.3.3.2 Set 'key' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the proper authentication 'key'
for RIPv2 protocols enforces these policies by restricting acceptable authentication
between network devices.
Audit:
Remediation:
hostname(config-keychain)#key {<em>key-number</em>}
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-3F31B2E0-0E4B-4F49-A4A8-8ADA1CA0D73F
200 | P a g e
3.3.3.3 Set 'key-string' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using 'key-string' for key chains for routing
protocols enforces these policies.
Audit:
Remediation:
hostname(config-keychain-key)#key-string <<em>key-string</em>>
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_pi/command/iri-cr-
a1.html#GUID-D7A8DC18-2E16-4EA5-8762-8B68B94CC43E
201 | P a g e
3.3.3.4 Set 'ip rip authentication key-chain' (Automated)
Profile Applicability:
Level 2
Description:
Enable authentication for Routing Information Protocol (RIP) Version 2 packets and to
specify the set of keys that can be used on an interface.
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Configuring the interface with 'ip rip
authentication key-chain' by name enforces these policies by restricting the exchanges
between network devices.
Audit:
Verify the appropriate key chain and mode are set on the appropriate interface(s)
Remediation:
hostname(config)#interface {<em>interface_name</em>}
hostname(config-if)#ip rip authentication key-chain {<em>rip_key-
chain_name</em>}
Default Value:
Not set
202 | P a g e
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_rip/command/irr-cr-
rip.html#GUID-C1C84D0D-4BD0-4910-911A-ADAB458D0A84
203 | P a g e
3.3.3.5 Set 'ip rip authentication mode' to 'md5' (Automated)
Profile Applicability:
Level 2
Description:
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using the 'ip rip authentication mode md5'
enforces these policies by restricting the type of authentication between network devices.
Audit:
Remediation:
hostname(config)#interface <<em>interface_name</em>>
hostname(config-if)#ip rip authentication mode md5
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-
i1.html#GUID-0D6BDFCD-3FBB-4D26-A274-C1221F8592DF
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_rip/command/irr-cr-
rip.html#GUID-47536344-60DC-4D30-9E03-94FF336332C7
204 | P a g e
3.3.4 Require BGP Authentication if Protocol is Used
Border Gateway Protocol (BGP)is a path vector protocol used for interior and exterior
gateway routing on some networks.
BGP is a complex protocol, with many configuration options which may have effects which
are not immediately obvious.
Verify Border Gateway Protocol (BGP) authentication is enabled, if routing protocol is used,
where feasible.
Level 2
Description:
Enable message digest5 (MD5) authentication on a TCP connection between two BGP peers
Rationale:
Impact:
Organizations should plan and implement enterprise security policies that require rigorous
authentication methods for routing protocols. Using the 'neighbor password' for BGP
enforces these policies by restricting the type of authentication between network devices.
Audit:
205 | P a g e
Remediation:
Default Value:
Not set
References:
1. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_bgp/command/bgp-
n1.html#GUID-A8900842-ECF3-42D3-B188-921BE0EC060B
2. http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_bgp/command/bgp-
m1.html#GUID-159A8006-F0DF-4B82-BB71-C39D2C134205
Additional Information:
MD5 authentication between two BGP peers, meaning that each segment sent on the TCP
connection between the peers is verified. MD5 authentication must be configured with the
same password on both BGP peers.
206 | P a g e
Appendix: Recommendation Summary
Table
Control Set
Correctly
Yes No
1 Management Plane
1.1 Local Authentication, Authorization and Accounting (AAA) Rules
1.1.1 Enable 'aaa new-model' (Automated)
1.1.2 Enable 'aaa authentication login' (Automated)
1.1.3 Enable 'aaa authentication enable default' (Automated)
1.1.4 Set 'login authentication for 'line tty' (Automated)
1.1.5 Set 'login authentication for 'line vty' (Automated)
1.1.6 Set 'login authentication for 'ip http' (Automated)
1.1.7 Set 'aaa accounting' to log all privileged use commands
using 'commands 15' (Automated)
1.1.8 Set 'aaa accounting connection' (Automated)
1.1.9 Set 'aaa accounting exec' (Automated)
1.1.10 Set 'aaa accounting network' (Automated)
1.1.11 Set 'aaa accounting system' (Automated)
1.2 Access Rules
1.2.1 Set 'privilege 1' for local users (Automated)
1.2.2 Set 'transport input ssh' for 'line vty' connections
(Automated)
1.2.3 Set 'no exec' for 'line aux 0' (Automated)
1.2.4 Create 'access-list' for use with 'line vty' (Automated)
1.2.5 Set 'access-class' for 'line vty' (Automated)
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0' (Automated)
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0' (Automated)
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
(Automated)
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty' (Automated)
1.2.10 Set 'transport input none' for 'line aux 0' (Automated)
1.2.11 Set 'http Secure-server' limit (Automated)
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
(Automated)
1.3 Banner Rules
1.3.1 Set the 'banner-text' for 'banner exec' (Automated)
207 | P a g e
1.3.2 Set the 'banner-text' for 'banner login' (Automated)
1.3.3 Set the 'banner-text' for 'banner motd' (Automated)
1.3.4 Set the 'banner-text' for 'webauth banner' (Automated)
1.4 Password Rules
1.4.1 Set 'password' for 'enable secret' (Automated)
1.4.2 Enable 'service password-encryption' (Automated)
1.4.3 Set 'username secret' for all local users (Automated)
1.5 SNMP Rules
1.5.1 Set 'no snmp-server' to disable SNMP when unused
(Automated)
1.5.2 Unset 'private' for 'snmp-server community' (Automated)
1.5.3 Unset 'public' for 'snmp-server community' (Automated)
1.5.4 Do not set 'RW' for any 'snmp-server community' (Manual)
1.5.5 Set the ACL for each 'snmp-server community' (Manual)
1.5.6 Create an 'access-list' for use with SNMP (Automated)
1.5.7 Set 'snmp-server host' when using SNMP (Automated)
1.5.8 Set 'snmp-server enable traps snmp' (Automated)
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
(Manual)
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3 (Automated)
1.6 Login Enhancements
1.6.1 Configure Login Block (Automated)
1.6.2 AutoSecure (Automated)
1.6.3 Configuring Kerberos (Automated)
1.6.4 Configure Web interface (Automated)
2 Control Plane
2.1 Global Service Rules
2.1.1 Setup SSH
2.1.1.1 Configure Prerequisites for the SSH Service
2.1.1.1.1 Set the 'hostname' (Automated)
2.1.1.1.2 Set the 'ip domain-name' (Automated)
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa' (Automated)
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout' (Automated)
2.1.1.1.5 Set maximimum value for 'ip ssh authentication-retries'
(Automated)
2.1.1.2 Set version 2 for 'ip ssh version' (Automated)
2.1.2 Set 'no cdp run' (Automated)
2.1.3 Set 'no ip bootp server' (Automated)
2.1.4 Set 'no service dhcp' (Automated)
2.1.5 Set 'no ip identd' (Automated)
2.1.6 Set 'service tcp-keepalives-in' (Automated)
208 | P a g e
2.1.7 Set 'service tcp-keepalives-out' (Automated)
2.1.8 Set 'no service pad' (Automated)
2.2 Logging Rules
2.2.1 Set 'logging enable' (Automated)
2.2.2 Set 'buffer size' for 'logging buffered' (Automated)
2.2.3 Set 'logging console critical' (Automated)
2.2.4 Set IP address for 'logging host' (Automated)
2.2.5 Set 'logging trap informational' (Automated)
2.2.6 Set 'service timestamps debug datetime' (Automated)
2.2.7 Set 'logging source interface' (Automated)
2.2.8 Set 'login success/failure logging' (Automated)
2.3 NTP Rules
2.3.1 Require Encryption Keys for NTP
2.3.1.1 Set 'ntp authenticate' (Automated)
2.3.1.2 Set 'ntp authentication-key' (Automated)
2.3.1.3 Set the 'ntp trusted-key' (Automated)
2.3.1.4 Set 'key' for each 'ntp server' (Automated)
2.3.2 Set 'ip address' for 'ntp server' (Automated)
2.4 Loopback Rules
2.4.1 Create a single 'interface loopback' (Automated)
2.4.2 Set AAA 'source-interface' (Automated)
2.4.3 Set 'ntp source' to Loopback Interface (Automated)
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
(Automated)
3 Data Plane
3.1 Routing Rules
3.1.1 Set 'no ip source-route' (Automated)
3.1.2 Set 'no ip proxy-arp' (Automated)
3.1.3 Set 'no interface tunnel' (Automated)
3.1.4 Set 'ip verify unicast source reachable-via' (Automated)
3.2 Border Router Filtering
3.2.1 Set 'ip access-list extended' to Forbid Private Source
Addresses from External Networks (Automated)
3.2.2 Set inbound 'ip access-group' on the External Interface
(Automated)
3.3 Neighbor Authentication
3.3.1 Require EIGRP Authentication if Protocol is Used
3.3.1.1 Set 'key chain' (Automated)
3.3.1.2 Set 'key' (Automated)
3.3.1.3 Set 'key-string' (Automated)
3.3.1.4 Set 'address-family ipv4 autonomous-system' (Automated)
3.3.1.5 Set 'af-interface default' (Automated)
3.3.1.6 Set 'authentication key-chain' (Automated)
209 | P a g e
3.3.1.7 Set 'authentication mode md5' (Automated)
3.3.1.8 Set 'ip authentication key-chain eigrp' (Automated)
3.3.1.9 Set 'ip authentication mode eigrp' (Automated)
3.3.2 Require OSPF Authentication if Protocol is Used
3.3.2.1 Set 'authentication message-digest' for OSPF area
(Automated)
3.3.2.2 Set 'ip ospf message-digest-key md5' (Automated)
3.3.3 Require RIPv2 Authentication if Protocol is Used
3.3.3.1 Set 'key chain' (Automated)
3.3.3.2 Set 'key' (Automated)
3.3.3.3 Set 'key-string' (Automated)
3.3.3.4 Set 'ip rip authentication key-chain' (Automated)
3.3.3.5 Set 'ip rip authentication mode' to 'md5' (Automated)
3.3.4 Require BGP Authentication if Protocol is Used
3.3.4.1 Set 'neighbor password' (Automated)
210 | P a g e
Appendix: CIS Controls v7 IG 1 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.4.1 Set 'password' for 'enable secret'
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.7 Set 'service tcp-keepalives-out'
211 | P a g e
Appendix: CIS Controls v7 IG 2 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.1.1 Enable 'aaa new-model'
1.1.2 Enable 'aaa authentication login'
1.1.3 Enable 'aaa authentication enable default'
1.1.4 Set 'login authentication for 'line tty'
1.1.5 Set 'login authentication for 'line vty'
1.1.6 Set 'login authentication for 'ip http'
1.1.8 Set 'aaa accounting connection'
1.2.2 Set 'transport input ssh' for 'line vty' connections
1.2.3 Set 'no exec' for 'line aux 0'
1.2.4 Create 'access-list' for use with 'line vty'
1.2.5 Set 'access-class' for 'line vty'
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.4.1 Set 'password' for 'enable secret'
1.4.2 Enable 'service password-encryption'
1.4.3 Set 'username secret' for all local users
1.5.1 Set 'no snmp-server' to disable SNMP when unused
1.5.2 Unset 'private' for 'snmp-server community'
1.5.3 Unset 'public' for 'snmp-server community'
1.5.4 Do not set 'RW' for any 'snmp-server community'
1.5.5 Set the ACL for each 'snmp-server community'
1.5.6 Create an 'access-list' for use with SNMP
1.5.7 Set 'snmp-server host' when using SNMP
1.5.8 Set 'snmp-server enable traps snmp'
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
212 | P a g e
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.1.1 Set the 'hostname'
2.1.1.1.2 Set the 'ip domain-name'
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa'
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout'
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.2 Set 'no cdp run'
2.1.3 Set 'no ip bootp server'
2.1.4 Set 'no service dhcp'
2.1.5 Set 'no ip identd'
2.1.6 Set 'service tcp-keepalives-in'
2.1.7 Set 'service tcp-keepalives-out'
2.1.8 Set 'no service pad'
2.2.1 Set 'logging enable'
2.2.2 Set 'buffer size' for 'logging buffered'
2.2.3 Set 'logging console critical'
2.2.4 Set IP address for 'logging host'
2.2.5 Set 'logging trap informational'
2.2.6 Set 'service timestamps debug datetime'
2.2.7 Set 'logging source interface'
2.2.8 Set 'login success/failure logging'
2.3.1.1 Set 'ntp authenticate'
2.3.1.2 Set 'ntp authentication-key'
2.3.1.3 Set the 'ntp trusted-key'
2.3.1.4 Set 'key' for each 'ntp server'
2.3.2 Set 'ip address' for 'ntp server'
2.4.1 Create a single 'interface loopback'
2.4.2 Set AAA 'source-interface'
2.4.3 Set 'ntp source' to Loopback Interface
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
3.1.1 Set 'no ip source-route'
213 | P a g e
Appendix: CIS Controls v7 IG 3 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.1.1 Enable 'aaa new-model'
1.1.2 Enable 'aaa authentication login'
1.1.3 Enable 'aaa authentication enable default'
1.1.4 Set 'login authentication for 'line tty'
1.1.5 Set 'login authentication for 'line vty'
1.1.6 Set 'login authentication for 'ip http'
1.1.8 Set 'aaa accounting connection'
1.2.2 Set 'transport input ssh' for 'line vty' connections
1.2.3 Set 'no exec' for 'line aux 0'
1.2.4 Create 'access-list' for use with 'line vty'
1.2.5 Set 'access-class' for 'line vty'
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.4.1 Set 'password' for 'enable secret'
1.4.2 Enable 'service password-encryption'
1.4.3 Set 'username secret' for all local users
1.5.1 Set 'no snmp-server' to disable SNMP when unused
1.5.2 Unset 'private' for 'snmp-server community'
1.5.3 Unset 'public' for 'snmp-server community'
1.5.4 Do not set 'RW' for any 'snmp-server community'
1.5.5 Set the ACL for each 'snmp-server community'
1.5.6 Create an 'access-list' for use with SNMP
1.5.7 Set 'snmp-server host' when using SNMP
1.5.8 Set 'snmp-server enable traps snmp'
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
214 | P a g e
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.1.1 Set the 'hostname'
2.1.1.1.2 Set the 'ip domain-name'
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa'
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout'
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.2 Set 'no cdp run'
2.1.3 Set 'no ip bootp server'
2.1.4 Set 'no service dhcp'
2.1.5 Set 'no ip identd'
2.1.6 Set 'service tcp-keepalives-in'
2.1.7 Set 'service tcp-keepalives-out'
2.1.8 Set 'no service pad'
2.2.1 Set 'logging enable'
2.2.2 Set 'buffer size' for 'logging buffered'
2.2.3 Set 'logging console critical'
2.2.4 Set IP address for 'logging host'
2.2.5 Set 'logging trap informational'
2.2.6 Set 'service timestamps debug datetime'
2.2.7 Set 'logging source interface'
2.2.8 Set 'login success/failure logging'
2.3.1.1 Set 'ntp authenticate'
2.3.1.2 Set 'ntp authentication-key'
2.3.1.3 Set the 'ntp trusted-key'
2.3.1.4 Set 'key' for each 'ntp server'
2.3.2 Set 'ip address' for 'ntp server'
2.4.1 Create a single 'interface loopback'
2.4.2 Set AAA 'source-interface'
2.4.3 Set 'ntp source' to Loopback Interface
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
3.1.1 Set 'no ip source-route'
215 | P a g e
Appendix: CIS Controls v8 IG 1 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.1.9 Set 'aaa accounting exec'
1.1.10 Set 'aaa accounting network'
1.1.11 Set 'aaa accounting system'
1.2.2 Set 'transport input ssh' for 'line vty' connections
1.2.3 Set 'no exec' for 'line aux 0'
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.3.1 Set the 'banner-text' for 'banner exec'
1.3.2 Set the 'banner-text' for 'banner login'
1.3.3 Set the 'banner-text' for 'banner motd'
1.3.4 Set the 'banner-text' for 'webauth banner'
1.4.1 Set 'password' for 'enable secret'
1.5.1 Set 'no snmp-server' to disable SNMP when unused
1.5.2 Unset 'private' for 'snmp-server community'
1.5.3 Unset 'public' for 'snmp-server community'
1.5.4 Do not set 'RW' for any 'snmp-server community'
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.1.1 Set the 'hostname'
2.1.1.1.2 Set the 'ip domain-name'
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa'
216 | P a g e
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout'
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.2 Set 'no cdp run'
2.1.3 Set 'no ip bootp server'
2.1.4 Set 'no service dhcp'
2.1.5 Set 'no ip identd'
2.1.6 Set 'service tcp-keepalives-in'
2.1.7 Set 'service tcp-keepalives-out'
2.1.8 Set 'no service pad'
2.4.1 Create a single 'interface loopback'
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
3.1.1 Set 'no ip source-route'
217 | P a g e
Appendix: CIS Controls v8 IG 2 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.1.1 Enable 'aaa new-model'
1.1.2 Enable 'aaa authentication login'
1.1.3 Enable 'aaa authentication enable default'
1.1.4 Set 'login authentication for 'line tty'
1.1.5 Set 'login authentication for 'line vty'
1.1.6 Set 'login authentication for 'ip http'
1.1.8 Set 'aaa accounting connection'
1.1.9 Set 'aaa accounting exec'
1.1.10 Set 'aaa accounting network'
1.1.11 Set 'aaa accounting system'
1.2.2 Set 'transport input ssh' for 'line vty' connections
1.2.3 Set 'no exec' for 'line aux 0'
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.3.1 Set the 'banner-text' for 'banner exec'
1.3.2 Set the 'banner-text' for 'banner login'
1.3.3 Set the 'banner-text' for 'banner motd'
1.3.4 Set the 'banner-text' for 'webauth banner'
1.4.1 Set 'password' for 'enable secret'
1.4.2 Enable 'service password-encryption'
1.4.3 Set 'username secret' for all local users
1.5.1 Set 'no snmp-server' to disable SNMP when unused
1.5.2 Unset 'private' for 'snmp-server community'
1.5.3 Unset 'public' for 'snmp-server community'
1.5.4 Do not set 'RW' for any 'snmp-server community'
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
218 | P a g e
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.1.1 Set the 'hostname'
2.1.1.1.2 Set the 'ip domain-name'
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa'
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout'
2.1.1.1.5 Set maximimum value for 'ip ssh authentication-retries'
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.2 Set 'no cdp run'
2.1.3 Set 'no ip bootp server'
2.1.4 Set 'no service dhcp'
2.1.5 Set 'no ip identd'
2.1.6 Set 'service tcp-keepalives-in'
2.1.7 Set 'service tcp-keepalives-out'
2.1.8 Set 'no service pad'
2.2.1 Set 'logging enable'
2.2.2 Set 'buffer size' for 'logging buffered'
2.2.3 Set 'logging console critical'
2.2.4 Set IP address for 'logging host'
2.2.5 Set 'logging trap informational'
2.2.6 Set 'service timestamps debug datetime'
2.2.7 Set 'logging source interface'
2.2.8 Set 'login success/failure logging'
2.3.1.1 Set 'ntp authenticate'
2.3.1.2 Set 'ntp authentication-key'
2.3.1.3 Set the 'ntp trusted-key'
2.3.1.4 Set 'key' for each 'ntp server'
2.3.2 Set 'ip address' for 'ntp server'
2.4.1 Create a single 'interface loopback'
2.4.2 Set AAA 'source-interface'
2.4.3 Set 'ntp source' to Loopback Interface
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
3.1.1 Set 'no ip source-route'
219 | P a g e
Appendix: CIS Controls v8 IG 3 Mapped
Recommendations
Recommendation Set
Correctly
Yes No
1.1.1 Enable 'aaa new-model'
1.1.2 Enable 'aaa authentication login'
1.1.3 Enable 'aaa authentication enable default'
1.1.4 Set 'login authentication for 'line tty'
1.1.5 Set 'login authentication for 'line vty'
1.1.6 Set 'login authentication for 'ip http'
1.1.8 Set 'aaa accounting connection'
1.1.9 Set 'aaa accounting exec'
1.1.10 Set 'aaa accounting network'
1.1.11 Set 'aaa accounting system'
1.2.2 Set 'transport input ssh' for 'line vty' connections
1.2.3 Set 'no exec' for 'line aux 0'
1.2.4 Create 'access-list' for use with 'line vty'
1.2.5 Set 'access-class' for 'line vty'
1.2.6 Set 'exec-timeout' to less than or equal to 10 minutes for
'line aux 0'
1.2.7 Set 'exec-timeout' to less than or equal to 10 minutes 'line
console 0'
1.2.8 Set 'exec-timeout' less than or equal to 10 minutes 'line tty'
1.2.9 Set 'exec-timeout' to less than or equal to 10 minutes 'line
vty'
1.2.10 Set 'transport input none' for 'line aux 0'
1.2.11 Set 'http Secure-server' limit
1.2.12 Set 'exec-timeout' to less than or equal to 10 min on 'ip http'
1.3.1 Set the 'banner-text' for 'banner exec'
1.3.2 Set the 'banner-text' for 'banner login'
1.3.3 Set the 'banner-text' for 'banner motd'
1.3.4 Set the 'banner-text' for 'webauth banner'
1.4.1 Set 'password' for 'enable secret'
1.4.2 Enable 'service password-encryption'
1.4.3 Set 'username secret' for all local users
1.5.1 Set 'no snmp-server' to disable SNMP when unused
1.5.2 Unset 'private' for 'snmp-server community'
1.5.3 Unset 'public' for 'snmp-server community'
220 | P a g e
1.5.4 Do not set 'RW' for any 'snmp-server community'
1.5.5 Set the ACL for each 'snmp-server community'
1.5.6 Create an 'access-list' for use with SNMP
1.5.7 Set 'snmp-server host' when using SNMP
1.5.8 Set 'snmp-server enable traps snmp'
1.5.9 Set 'priv' for each 'snmp-server group' using SNMPv3
1.5.10 Require 'aes 128' as minimum for 'snmp-server user' when
using SNMPv3
1.6.1 Configure Login Block
1.6.2 AutoSecure
1.6.3 Configuring Kerberos
1.6.4 Configure Web interface
2.1.1.1.1 Set the 'hostname'
2.1.1.1.2 Set the 'ip domain-name'
2.1.1.1.3 Set 'modulus' to greater than or equal to 2048 for 'crypto
key generate rsa'
2.1.1.1.4 Set 'seconds' for 'ip ssh timeout'
2.1.1.1.5 Set maximimum value for 'ip ssh authentication-retries'
2.1.1.2 Set version 2 for 'ip ssh version'
2.1.2 Set 'no cdp run'
2.1.3 Set 'no ip bootp server'
2.1.4 Set 'no service dhcp'
2.1.5 Set 'no ip identd'
2.1.6 Set 'service tcp-keepalives-in'
2.1.7 Set 'service tcp-keepalives-out'
2.1.8 Set 'no service pad'
2.2.1 Set 'logging enable'
2.2.2 Set 'buffer size' for 'logging buffered'
2.2.3 Set 'logging console critical'
2.2.4 Set IP address for 'logging host'
2.2.5 Set 'logging trap informational'
2.2.6 Set 'service timestamps debug datetime'
2.2.7 Set 'logging source interface'
2.2.8 Set 'login success/failure logging'
2.3.1.1 Set 'ntp authenticate'
2.3.1.2 Set 'ntp authentication-key'
2.3.1.3 Set the 'ntp trusted-key'
2.3.1.4 Set 'key' for each 'ntp server'
2.3.2 Set 'ip address' for 'ntp server'
2.4.1 Create a single 'interface loopback'
2.4.2 Set AAA 'source-interface'
2.4.3 Set 'ntp source' to Loopback Interface
2.4.4 Set 'ip tftp source-interface' to the Loopback Interface
221 | P a g e
3.1.1 Set 'no ip source-route'
222 | P a g e
Appendix: Change History
Date Version Changes for this version
223 | P a g e