"Best Practice" Standard for Cisco IOS

Purpose

This document describes minimum recommended configuration settings for Cisco IOS (Internetwork Operating System) to reduce risk of inadvertent or unauthorized access and configuration modification. Get the latest copy from the Best Practice Standards homepage.

Table of Contents

TBD

Scope of the Standard

  1. This standard applies to all Cisco network devices with IOS within the Organization.
  2. This standard applies to all employees, contractors, consultants, temporaries, and other employees at the Organization.
  3. This standard applies to all Organization locations, divisions, subsidiaries and affiliates.

Processes and procedures outside of the document scope

The following processes and procedures are outside of the current document scope:

Exceptions

Any exceptions to this standard must be approved by the IT Manager and documented.

Standard Details

Control Objectives

  1. Controls provide reasonable assurance that logical access to the system (Cisco IOS devices) is only granted to properly authorized individuals.
  2. Controls provide reasonable assurance that logical access controls prevent inadvertent or unauthorized use of the system (Cisco IOS devices).
  3. Controls provide reasonable assurance that logical access to systems (Cisco IOS devices) is monitored and misbehavior activity will be detected and reported.

Software Version and Patches

Test # 1 : The latest Cisco IOS is installed. (updated on 20061103)
Background/DescriptionThe latest Cisco IOS (Internetwork Operating System) contains necessary feature improvements and security fixes. However, keeping the production network components up-to-date with the latest non major release without proper testing may affect network availability. Thus, it requires additional testing and owner's approval.
Expected resultLatest IOS version is 12.4 (version checked on November 2006).
Related RiskLow
ImpactOutdated IOS may contain "well-known" vulnerabilities or a security exposure which could be used for unauthorized access and network settings modification.
RecommendationsReview Cisco advisory notice about these IOS vulnerabilities. Consider to upgrade the IOS.
Read more Cisco web site, Wikipedia
 

Account Management

Test # 2 : Password encryption is enabled. (updated on 20060509)
Background/DescriptionBy default passwords in a Cisco configuration file are printed as clear text. IOS software supports passwords encryption to prevent casual observers from reading passwords. However, this encryption algorithm is not very strong. So, treat your configuration as a confidential document even with encrypted passwords.
Expected resultPassword encryption is enabled.
Related RiskMedium
ImpactPasswords are printed in the configuration as a clear text. Unauthorized person may spot these passwords.
RecommendationsEnable password encryption with the command:
#service password-encryption
Read more Improving Security on Cisco Routers
 

Test # 3 : Secret password is enabled. (updated on 20060509)
Background/DescriptionThe enable secret command is used to set the password that grants privileged administrative access to the IOS system and has better encryption algorithm than older enable password.
Expected resultSecret password is enabled.
Related RiskMedium
ImpactIf no enable secret is set, and a password is configured for the console TTY line, the console password may be used to get privileged access, even from a remote VTY session.
RecommendationsEnable secret password with the command:
#enable secret
Read more Improving Security on Cisco Routers
 

Test # 24 : TACACS+ or RADIUS servers are configured. (updated on 20070904)
Background/DescriptionThe centralized control and management of remote access to the Cisco network devices could be done using the Terminal Access Controller Access Control System (TACACS) security protocol or RADIUS authentication. TACACS+ or RADIUS server is a security application that provides centralized validation of users attempting to gain access to network devices. For better availability it is recommended to configure both primary and secondary TACACS/RADIUS servers.
Expected resultTACACS+ or RADIUS servers are configured.
Related RiskHousekeeping
ImpactCentralized access management would not work without a properly configured TACACS or RADIUS server.
RecommendationsImplement a central access and security management with configuring primary and secondary TACACS or RADIUS servers. Check exact commands on the vendor's web site.
Read more Improving Security on Cisco Routers, Configuring TACACS+
 

Access Management

No tests for this category.

Access Management - Files and Resource Access

No tests for this category.

Access Management - Network Access

Test # 4 : Logon banner is specified. (updated on 20060509)
Background/DescriptionSome jurisdictions require explicit logging and monitoring notification even for an unauthorized access. Legal notification requirements are complex, and vary in each jurisdiction and situation. Thus, it is better to apply the warning to have stronger investigation and prosecution abilities.
Expected resultLogon banner is specified.
Related RiskLow
ImpactIn some jurisdictions, civil and/or criminal prosecution of attackers will be affected by lack of a banner informing unauthorized users that about restrictions, logging and monitoring.
RecommendationsSpecify a logon banner with the command:
banner login.
Read more Improving Security on Cisco Routers
 

Test # 5 : VTY is protected with a password. (updated on 20060509)
Background/DescriptionRemote virtual terminals, virtual TTYs or "VTYs", to the Cisco network device are used for remote management and should be restricted only to authorized persons. Password checking at login is one of such restrictions and should be enabled. By default virtual terminals require a password. If you do not set a password for a virtual terminal, it responds to attempted connections by displaying an error message and closing the connection.
Expected resultVTY password is specified.
Related RiskLow
ImpactBy default virtual terminals require a password. If you do not set a password for a virtual terminal, remote management will be unavailable.
RecommendationsSpecify a password or other authentication such as AAA/TACACS+.
Read more Improving Security on Cisco Routers
 

Test # 6 : VTY is protected with an ACL. (updated on 20060509)
Background/DescriptionAccess Control List (ACL) restricts access to virtual terminals (VTYs) only to specific IP addresses and a good prevention of remote password guessing attacks.
Expected resultVTY is protected with an ACL.
Related RiskLow
ImpactAny device on a network could establish remote management connection to the Cisco device and launch a password hoping attack.
RecommendationsProtect access to VTY with an ACL using the command:
access-class {name | number} in.
Read more Improving Security on Cisco Routers
 

Test # 7 : Timeout is specified for VTY. (updated on 20060509)
Background/DescriptionIt is a good practice to specify session timeout for virtual terminals (VTYs) to prevent unauthorized access from an unlock workstation with established connection.
Expected resultVTY timeout is specified.
Related RiskHousekeeping
ImpactAn unauthorized person could obtain access to the Cisco device from an unlock workstation with established connection.
RecommendationsSpecify VTY timeout using the command:
exec-timeout minutes [seconds].
Read more Improving Security on Cisco Routers
 

Test # 8 : Only SSH is allowed for remote management (VTY). (updated on 20060509)
Background/DescriptionSecure Shell (SSH) protocol provides point-to-point encryption and much better remote management protocol such as Telnet (supported in IOS 12.3(4)T and up). Restricting remote management only to SSH prevent management network traffic interception risks.
Expected resultOnly SSH is allowed for remote management.
Related RiskLow
ImpactOther management protocols such as Telnet are clear text protocols. Management network traffic could be intercepted with a network sniffer.
RecommendationsAllow only SSH protocol using the command:
transport input ssh (supported in IOS 12.3(4)T and up).
Read more Improving Security on Cisco Routers
 

Access Management - Network Services

Test # 9 : HTTP service is disabled or protected. (updated on 20060509)
Background/DescriptionThe HTTP service is used for remote management similar to interactive access. It has basic HTTP authentication. However, with this type of authentication a password is sent as a clear text over the network.
Expected resultThe HTTP service is disabled or access control list is used.
Related RiskLow
ImpactHTTP service uses basic authentication. A password is send as a clear text over the network and could be intercepted by an unauthorized person.
RecommendationsDisable the HTTP service or apply a strict access control list with the command: #ip http access-class
Read more Improving Security on Cisco Routers
 

Test # 10 : Finger service is disabled. (updated on 20060509)
Background/DescriptionCisco devices provide an implementation of the "finger" service, which is used to find out which users are logged into a network device. This information could be used during the information gathering stage of an attack. The "finger" service is disabled by default. It should be serious business requirements to enable it back.
Expected resultFinger service is disabled.
Related RiskHousekeeping
ImpactFinger service informs which users are logged into a network device. This information could be used during the information gathering stage of an attack.
RecommendationsDisable Finger service with the command:
#no service finger (IOS 11.2 and earlier)
no ip finger(IOS 11.3 and later).
Read more Improving Security on Cisco Routers
 

Test # 11 : BOOTP service is disabled. (updated on 20060509)
Background/DescriptionThe Bootstrap Protocol (BOOTP) service on a Cisco device could be used for a centralized operating system upload. However, the BOOTP protocol is seldom used, and it gives a hacker an opportunity to steal an IOS image. It is enabled by default.
Expected resultBootp service is disabled.
Related RiskHousekeeping
ImpactBootp is an insecure protocol that can be exploited for an attack or IOS could be accessed by an unauthorized person.
RecommendationsDisable BOOTP service with the command:
no ip bootp server (IOS 11.2 and later).
Read more Improving Security on Cisco Routers
 

Test # 12 : IP source routing is disabled. (updated on 20060509)
Background/DescriptionThis command allows IP datagrams with source routing header options. Option should be disabled unless there are known requirements for source routing on the network.
Expected resultIP source routing is disabled.
Related RiskLow
ImpactWell-known source routing attacks could be used.
RecommendationsDisable IP source routing with the command: #no ip source-route
Read more Improving Security on Cisco Routers
 

Test # 13 : Small TCP/UDP services are disabled. (updated on 20060509)
Background/DescriptionTCP and UDP small services are useful for diagnostics. However, these services could be misused for number of attacks such as "Fraggle", UDP DoS or firewall rule bypassing. The small services are disabled by default in Cisco IOS 12.0 and later.
Expected resultBoth TCP and UDP small services are explicitly disabled.
Related RiskLow
ImpactSmall TCP/UDP services could be misused for number of attacks such as "Fraggle", UDP DoS or firewall rule bypassing.
RecommendationsExplicitly disable small TCP/UDP services with the command:
#no service tcp-small-servers
#no service udp-small-servers
Read more Improving Security on Cisco Routers
 

Test # 14 : SNMP is enabled.
Background/DescriptionThe Simple Network Management Protocol (SNMP) service is used for monitoring, diagnostic and remote management. However, it requires a proper configuration.
Expected resultSNMP is enabled.
Read more Improving Security on Cisco Routers, SNMP Commands
 

Test # 15 : SNMP default community name is not used. (updated on 20060509)
Background/DescriptionThe SNMP service is used for diagnostic and remote management. It uses a "community name" as a password. Default read-only (RO) and read-write (RW) community names are well known and could be misused.
Expected resultDefault SNMP RO and/or RW community names are not used.
Related RiskLow
ImpactRead-only (RO) and read-write (RW) community names are well known and could be misused by unauthorized person to obtain configuration information (RO) or change configuration (RW).
RecommendationsChoose "hard-to-guess" community names or disable SNMP service if not used with the command: #no snmp-server
Read more Improving Security on Cisco Routers, SNMP Commands
 

Test # 16 : SNMP v1 should be avoided. (updated on 20060509)
Background/DescriptionThe SNMP service is used for diagnostic and remote management. SNMP version 1 sends authentication information as a clear text over the network.
Expected resultSNMP version 2, 2c or 3 should be used.
Related RiskHousekeeping
ImpactSNMP v1 authentication information could be intercepted using a network sniffer. This authentication information could be used to build further attacks.
RecommendationsConsider using more advances versions of SNMP.
Read more Improving Security on Cisco Routers, SNMP Commands
 

Test # 17 : SNMP contact/location information is updated. (updated on 20060509)
Background/DescriptionThe SNMP service is used for diagnostic and remote management. SNMP contact/location information helps to identify the remote device.
Expected resultSNMP contact/location information is updated.
Related RiskHousekeeping
ImpactSNMP contact/location information helps to identify the remote device. No security risk.
RecommendationsUpdate SNMP contact/location information with the command:
#snmp-server location XXX
#snmp-server contact XXX
Read more Improving Security on Cisco Routers, SNMP Commands
 

Auditing/Logging

Test # 18 : Logging is enabled. (updated on 20060509)
Background/DescriptionThe Cisco IOS supports logging of system messages and errors to the various destinations, such as the logging buffer, terminal lines, or syslog server. This information could be used for early availability or security incident detection and troubleshooting.
Expected resultLogging is enabled.
Related RiskMedium
ImpactNo system information will be available for incident investigation or troubleshooting.
RecommendationsConsider enabling some types of logging (see below for details). Logging could be explicitly disabled. Enable it with the command:
#logging on
Read more Improving Security on Cisco Routers, Command Reference
 

Test # 19 : IOS buffer (RAM) logging is enabled. (updated on 20060509)
Background/DescriptionThe Cisco IOS supports system messages and errors logging to an internal buffer. The buffer is circular in nature, so newer messages overwrite older messages after the buffer is filled. Many of these messages are important from security point of view.
Expected resultBuffer logging is enabled.
Related RiskLow
ImpactNo system information will be available for incident investigation or troubleshooting. However, could be compensated by other logging options.
RecommendationsConsider enabling buffer logging with the command:
#logging buffered [buffer-size | severity-level]
Read more Improving Security on Cisco Routers, Command Reference
 

Test # 20 : Console logging is enabled. (updated on 20060509)
Background/DescriptionThe Cisco IOS supports sending system messages and errors to all available TTY lines such as a console. Many of these messages are important from security point of view.
Expected resultConsole logging is enabled.
Related RiskHousekeeping
ImpactConsole logging is optional and depends on accessibility of TTY lines for monitoring and troubleshooting.
RecommendationsConsider enabling console logging with the command:
#logging console [severity-level]
Read more Improving Security on Cisco Routers, Command Reference
 

Test # 21 : Remote syslog server is configured. (updated on 20060509)
Background/DescriptionThe Cisco IOS supports sending system messages and errors to a remote syslog server. This feature allows to build a centralized management and monitoring solution. Also, many of these messages are important from security point of view. Storing these messages on a remote device improves integrity and reduces troubleshooting time.
Expected resultRemote syslog server is configured.
Related RiskLow
ImpactNo centralized system information will be available for prompt incident investigation or troubleshooting. Events could not be correlated easily. However, could be compensated by other logging options.
RecommendationsConsider to implement a remote syslog server. To enable messages sending from the Cisco device use the command:
#logging host {hostname | ip-address}(IOS 12.2 and up) or
#logging {hostname | ip-address}(IOS 10.0 and up)
Read more Improving Security on Cisco Routers, Command Reference
 

Test # 22 : SNMP trap notification is configured. (updated on 20060427)
Background/DescriptionThe SNMP trap sends notifications of significant changes in system status to the remote management station.
Expected resultSNMP trap notification is configured.
Related RiskLow
ImpactLack of early system event notification through SNMP traps may slow down incident detection and response. However, could be compensated by other logging and monitoring options.
RecommendationsConsider to implement a remote SNMP trap collection station. To enable SNMP traps sending from the Cisco device use the command:
#snmp-server host {hostname | ip-address}
Read more Improving Security on Cisco Routers, SNMP Commands
 

Test # 23 : Time synchronization is configured. (updated on 20070904)
Background/DescriptionTime synchronization is used to synchronize device software clocks for better event correlation. IOS supports Network Time Protocol (NTP) to obtain clock synchronization from a time server.
Expected resultNTP server is configured.
Related RiskHousekeeping
ImpactWithout proper time synchronization it could be hard to perform an automated abnormal event correlation.
RecommendationsConsider to synchronize software clocks with a trusted NTP server by using the command:
#ntp server {hostname | ip-address}
Read more Improving Security on Cisco Routers
 

Scheduled Jobs

No tests for this category.

Other Security Settings

No tests for this category.