Cisco IOS XE Switch NDM Security Technical Implementation Guide
Version 1 Release 0.1 |
2020-01-21 |
U_Cisco_IOS_XE_Switch_NDM_STIG_V1R0-1_Manual-xccdf.xml |
This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DoD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil. |
|
Vulnerabilities (52)
The Cisco switch must be configured to automatically audit account creation.
Discussion
Upon gaining access to a network device, an attacker will often first attempt to create a persistent method of reestablishing access. One way to accomplish this is to create a new account. Notification of account creation helps to mitigate this risk. Auditing account creation provides the necessary reconciliation that account management procedures are being followed. Without this audit trail, personnel without the proper authorization may gain access to critical network nodes.
Fix Text
Configure the switch to log account creation using the following commands: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the switch configuration to determine if it automatically audits account creation. The configuration should look similar to the example below: archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If account creation is not automatically audited, this is a finding.
The Cisco switch must be configured to record time stamps for log records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).
Discussion
If time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis. Time stamps generated by the application include date and time. Time is commonly expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.
Fix Text
Configure the Cisco switch to record time stamps for audit records that can be mapped to UTC or GMT as shown in the example below: SW2(config)#clock timezone EST -5 SW2(config)#service timestamps log datetime localtime
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: service timestamps log datetime localtime ! hostname R2 … … … clock timezone EST -5 Note: UTC is the default; hence, the command set time-zone may not be seen in the configuration. This can be verified using the show system uptime command. If the switch is not configured to record time stamps for audit records that can be mapped to UTC GMT, this is a finding.
The Cisco switch must be configured to generate audit records when successful/unsuccessful logon attempts occur.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to generate audit records when successful/unsuccessful logon attempts occur as shown in the example below: R5(config)#login on-failure log R5(config)#login on-success log
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the examples below: login on-failure log login on-success log If the Cisco switch is not configured to generate audit records when successful/unsuccessful logon attempts occur, this is a finding.
The Cisco switch must be configured to limit the number of concurrent management sessions to an organization-defined number.
Discussion
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 DoS attacks. 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.
Fix Text
Configure the switch to limit the number of concurrent management sessions to an organization-defined number as shown in the example below: SW4(config)#ip http max-connections 2 SW4(config)#line vty 0 4 SW4(config)#session-limit 2
Check Content
Note: This requirement is not applicable to file transfer actions such as FTP, SCP and SFTP. Review the switch configuration to determine if concurrent management sessions are limited as show in the example below: ip http secure-server ip http max-connections 2 … … … line vty 0 4 session-limit 2 transport input ssh If the switch is not configured to limit the number of concurrent management sessions, this is a finding.
The Cisco switch must be configured to automatically audit account modification.
Discussion
Since the accounts in the network device are privileged or system-level accounts, account management is vital to the security of the network device. Account management by a designated authority ensures access to the network device is being controlled in a secure manner by granting access to only authorized personnel with the appropriate and necessary privileges. Auditing account modification along with an automatic notification to appropriate individuals will provide the necessary reconciliation that account management procedures are being followed. If modifications to management accounts are not audited, reconciliation of account management procedures cannot be tracked.
Fix Text
Configure the switch to log account modification using the following commands: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the switch configuration to determine if it automatically audits account modification. The configuration should look similar to the example below: archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If account modification is not automatically audited, this is a finding.
The Cisco switch must be configured to automatically audit account disabling actions.
Discussion
Account management, as a whole, ensures access to the network device is being controlled in a secure manner by granting access to only authorized personnel. Auditing account disabling actions will support account management procedures. When device management accounts are disabled, user or service accessibility may be affected. Auditing also ensures authorized active accounts remain enabled and available for use when required.
Fix Text
Configure the switch to log account disabling using the following commands: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the switch configuration to determine if it automatically audits account disabling. The configuration should look similar to the example below: archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If account disabling is not automatically audited, this is a finding.
The Cisco switch must be configured to automatically audit account removal actions.
Discussion
Account management, as a whole, ensures access to the network device is being controlled in a secure manner by granting access to only authorized personnel. Auditing account removal actions will support account management procedures. When device management accounts are terminated, user or service accessibility may be affected. Auditing also ensures authorized active accounts remain enabled and available for use when required.
Fix Text
Configure the switch to log account removal using the following commands: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the switch configuration to determine if it automatically audits account removal. The configuration should look similar to the example below: archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If account removal is not automatically audited, this is a finding.
The Cisco switch must be configured to enforce approved authorizations for controlling the flow of management information within the device based on control policies.
Discussion
A mechanism to detect and prevent unauthorized communication flow must be configured or provided as part of the system design. If management information flow is not enforced based on approved authorizations, the network device may become compromised. Information flow control regulates where management information is allowed to travel within a network device. The flow of all management information must be monitored and controlled so it does not introduce any unacceptable risk to the network device or data. Application-specific examples of enforcement occur in systems that employ rule sets or establish configuration settings that restrict information system services or message-filtering capability based on message content (e.g., implementing key word searches or using document characteristics). Applications providing information flow control must be able to enforce approved authorizations for controlling the flow of management information within the system in accordance with applicable policy.
Fix Text
Configure the Cisco switch to restrict management access to specific IP addresses via SSH as shown in the example below: SW2(config)#ip access-list standard MANAGEMENT_NET SW2(config-std-nacl)#permit x.x.x.0 0.0.0.255 SW2(config-std-nacl)#exit SW2(config)#line vty 0 4 SW2(config-line)#transport input ssh SW2(config-line)#access-class MANAGEMENT_NET in SW2(config-line)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. Administrative access to the switch must only be allowed from hosts residing in the management network. Step 1: Verify that the line vty has an ACL inbound applied as shown in the example below: line vty 0 4 access-class MANAGEMENT_NET in transport input ssh Step 2: Verify that the ACL permits only hosts from the management network to access the switch. ip access-list standard MANAGEMENT_NET permit x.x.x.0 0.0.0.255 If the Cisco switch is not configured to enforce approved authorizations for controlling the flow of management information within the device based on control policies, this is a finding.
The Cisco switch must be configured to enforce the limit of three consecutive invalid logon attempts, after which time it must lock out the user account from accessing the device for 15 minutes.
Discussion
By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced.
Fix Text
Configure the Cisco switch to enforce the limit of three consecutive invalid logon attempts as shown in the example below: SW2(config)#login block-for 900 attempts 3 within 120
Check Content
Review the Cisco switch configuration to verify that it enforces the limit of three consecutive invalid logon attempts as shown in the example below: login block-for 900 attempts 3 within 120 Note: The configuration example above will block any login attempt for 15 minutes after three consecutive invalid logon attempts within a two-minute period. If the Cisco switch is not configured to enforce the limit of three consecutive invalid logon attempts, this is a finding.
The Cisco switch must be configured to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the device.
Discussion
Display of the DoD-approved use notification before granting access to the network device ensures privacy and security notification verbiage used is consistent with applicable federal laws, executive orders, directives, policies, regulations, standards, and guidance. System use notifications are required only for access via logon interfaces with human users.
Fix Text
Configure the Cisco switch to display the Standard Mandatory DoD Notice and Consent Banner before granting access as shown in the following example: SW1(config)#banner login # Enter TEXT message. End with the character '#'. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. # SW1(config)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: banner login ^C You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. ^C If the Cisco switch is not configured to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the device, this is a finding.
The Cisco switch must be configured to protect against an individual falsely denying having performed organization-defined actions to be covered by non-repudiation.
Discussion
This requirement supports non-repudiation of actions taken by an administrator and is required in order to maintain the integrity of the configuration management process. All configuration changes to the network device are logged, and administrators authenticate with two-factor authentication before gaining administrative access. Together, these processes will ensure the administrators can be held accountable for the configuration changes they implement. To meet this requirement, the network device must log administrator access and activity.
Fix Text
Configure the switch to log administrator activity as shown in the example below: SW1(config)#logging userinfo SW1(config)#archive SW1(config-archive)#log config SW1(config-archive-log-cfg)#logging enable SW1(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: hostname R1 ! logging userinfo ! … … … archive log config logging enable ! Note: The logging userinfo global configuration command will generate a log when a user increases his or her privilege level. If logging of administrator activity is not configured, this is a finding.
The Cisco switch must be configured to generate audit records when successful/unsuccessful attempts to log on with access privileges occur.
Discussion
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. Audit records can be generated from various components within the information system (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to log all logon attempts as shown in the example below: SW1(config)#login on-failure log SW1(config)#login on-success log SW1(config)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. The configuration example below will log all logon attempts. login on-failure log login on-success log If the Cisco switch is not configured to generate audit records when successful/unsuccessful attempts to logon, this is a finding.
The Cisco switch must produce audit records containing information to establish when (date and time) the events occurred.
Discussion
It is essential for security personnel to know what is being done, what was attempted, where it was done, when it was done, and by whom it was done in order to compile an accurate risk assessment. Logging the date and time of each detected event provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured network device. In order to establish and correlate the series of events leading up to an outage or attack, it is imperative the date and time are recorded in all log records.
Fix Text
Configure the switch to include the date and time on all log records as shown in the example below: SW1(config)#service timestamps log datetime localtime
Check Content
Verify that the switch is configured to include the date and time on all log records as shown in the configuration example below: service timestamps log datetime localtime If time stamps is not configured, this is a finding.
The Cisco switch must produce audit records containing information to establish where the events occurred.
Discussion
In order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where events occurred, such as device hardware components, device software modules, session identifiers, filenames, host names, and functionality. Associating information about where the event occurred within the network device provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured device.
Fix Text
Configure the log-input parameter after any deny statements to provide the location as to where packets have been dropped via an ACL. SW1(config)#ip access-list extended BLOCK_INBOUND SW1(config-ext-nacl)#deny icmp any any log-input
Check Content
Review the deny statements in all ACLs to determine if the log-input parameter has been configured as shown in the example below: ip access-list extended BLOCK_INBOUND deny icmp any any log-input If the switch is not configured with the log-input parameter after any deny statements to note where packets have been dropped via an ACL, this is a finding.
The Cisco switch must be configured to generate audit records containing the full-text recording of privileged commands.
Discussion
Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. Organizations consider limiting the additional audit information to only that information explicitly needed for specific audit requirements. The additional information required is dependent on the type of information (i.e., sensitivity of the data and the environment within which it resides). At a minimum, the organization must audit full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.
Fix Text
Configure the Cisco switch to log all configuration changes as shown in the example below: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. The configuration example below will log all configuration changes. archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If the Cisco switch is not configured to generate audit records of configuration changes, this is a finding.
The Cisco switch must be configured to protect audit information from unauthorized modification.
Discussion
Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit network device activity. If audit data were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit data, the network device must protect audit information from unauthorized modification. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Some commonly employed methods include ensuring log files receive the proper file system permissions and limiting log data locations. Network devices providing a user interface to audit data will leverage user permissions and roles identifying the user accessing the data and the corresponding rights that the user enjoys in order to make access decisions regarding the modification of audit data.
Fix Text
If persistent logging is enabled, configure the switch to only allow administrators with privilege level "15" access to the file system as shown in the example below: SW4(config)#file privilege 15
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. Step 1: If persistent logging is enabled as shown in the example below, go to Step 2. Otherwise, this requirement is not applicable. logging persistent url disk0:/logfile size 134217728 filesize 16384 Step 2: Verify that the switch is not configured with a privilege level other than "15" to allow access to the file system as shown in the example below: file privilege 10 Note: The default privilege level required for access to the file system is "15"; hence, the command file privilege "15" will not be shown in the configuration. If the switch is configured with a privilege level other than "15" to allow access to the file system, this is a finding.
The Cisco switch must be configured to protect audit information from unauthorized deletion.
Discussion
Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. If audit data were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. To ensure the veracity of audit data, the network device must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture and design. Some commonly employed methods include: ensuring log files receive the proper file system permissions utilizing file system protections, restricting access, and backing up log data to ensure log data is retained. Network devices providing a user interface to audit data will leverage user permissions and roles identifying the user accessing the data and the corresponding rights the user enjoys in order to make access decisions regarding the deletion of audit data.
Fix Text
If persistent logging is enabled, configure the switch to only allow administrators with privilege level "15" access to the file system as shown in the example below: SW4(config)#file privilege 15
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. Step 1: If persistent logging is enabled as shown in the example below, go to Step 2. Otherwise, this requirement is not applicable. logging persistent url disk0:/logfile size 134217728 filesize 16384 Step 2: Verify that the switch is not configured with a privilege level other than "15" to allow access to the file system as shown in the example below: file privilege 10 Note: The default privilege level required for access to the file system is "15"; hence, the command file privilege "15" will not be shown in the configuration. If the switch is configured with a privilege level other than "15" to allow access to the file system, this is a finding.
The Cisco switch must be configured to limit privileges to change the software resident within software libraries.
Discussion
Changes to any software components of the network device can have significant effects on the overall security of the network. Therefore, only qualified and authorized individuals should be allowed administrative access to the network device for implementing any changes or upgrades. If the network device were to enable non-authorized users to make changes to software libraries, those changes could be implemented without undergoing testing, validation, and approval.
Fix Text
If persistent logging is enabled, configure the switch to only allow administrators with privilege level "15" access to the file system as shown in the example below: SW4(config)#file privilege 15
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. Step 1: If persistent logging is enabled as shown in the example below, go to Step 2. Otherwise, this requirement is not applicable. logging persistent url disk0:/logfile size 134217728 filesize 16384 Step 2: Verify that the switch is not configured with a privilege level other than "15" to allow access to the file system as shown in the example below: file privilege 10 Note: The default privilege level required for access to the file system is "15"; hence, the command file privilege "15" will not be shown in the configuration. If the switch is configured with a privilege level other than "15" to allow access to the file system, this is a finding.
The Cisco switch must be configured to prohibit the use of all unnecessary and nonsecure functions and services.
Discussion
Network devices are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., email and web services); however, doing so increases risk over limiting the services provided by any one component. To support the requirements and principles of least functionality, the network device must support the organizational requirements providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved. Some network devices have capabilities enabled by default; if these capabilities are not necessary, they must be disabled. If a particular capability is used, then it must be documented and approved.
Fix Text
Disable the following services if enabled as shown in the example below: SW2(config)#no boot network SW2(config)#no ip boot server SW2(config)#no ip bootp server SW2(config)#no ip dns server SW2(config)#no ip identd SW2(config)#no ip finger SW2(config)#no ip http server SW2(config)#no ip rcmd rcp-enable SW2(config)#no ip rcmd rsh-enable SW2(config)#no service config SW2(config)#no service finger SW2(config)#no service tcp-small-servers SW2(config)#no service udp-small-servers SW2(config)#no service pad SW2(config)#end
Check Content
Verify that the switch does not have any unnecessary or non-secure ports, protocols and services enabled. For example, the following commands should not be in the configuration: boot network ip boot server ip bootp server ip dns server ip identd ip finger ip http server ip rcmd rcp-enable ip rcmd rsh-enable service config service finger service tcp-small-servers service udp-small-servers If any unnecessary or non-secure ports, protocols, or services are enabled, this is a finding.
The Cisco switch must be configured with only one local account to be used as the account of last resort in the event the authentication server is unavailable.
Discussion
Authentication for administrative (privileged level) access to the device is required at all times. An account can be created on the device's local database for use when the authentication server is down or connectivity between the device and the authentication server is not operable. This account is referred to as the account of last resort since it is intended to be used as a last resort and when immediate administrative access is absolutely necessary. The account of last resort logon credentials must be stored in a sealed envelope and kept in a safe. The safe must be periodically audited to verify the envelope remains sealed. The signature of the auditor and the date of the audit should be added to the envelope as a record. Administrators should secure the credentials and disable the root account (if possible) when not needed for system administration functions.
Fix Text
Step 1: Configure a local account with the necessary privilege level to troubleshoot network outage and restore operations as shown in the following example: SW2(config)#username xxxxxxxxx privilege 10 password xxxxxxx Step 2: Configure the authentication order to use the local account if the authentication server is not reachable as shown in the following example: SW2(config)#aaa authentication login default group tacacs+ local
Check Content
Step1: Review the Cisco switch configuration to verify that a local account for last resort has been configured with a privilege level that will enable the administrator to troubleshoot connectivity to the authentication server. username xxxxxxxxx privilege 10 password xxxxxxx Step 2: Verify that local is defined after radius or tacacs+ in the authentication order as shown in the example below: aaa authentication login default group tacacs+ local If the Cisco switch is not configured with only one local account to be used as the account of last resort in the event the authentication server is unavailable, this is a finding.
The Cisco switch must be configured to implement replay-resistant authentication mechanisms for network access to privileged accounts.
Discussion
A replay attack may enable an unauthorized user to gain access to the application. Authentication sessions between the authenticator and the application validating the user credentials must not be vulnerable to a replay attack. An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message. Techniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators.
Fix Text
Configure SSH to use FIPS-140-2 compliant HMACs as shown in the example below: SW1(config)#ip ssh version 2 SW1(config)#ip ssh server algorithm encryption aes128-cbc aes192-cbc aes192-ctr Note: An SSH configuration enables a server and client to authorize the negotiation of only those algorithms that are configured from the allowed list. If a user tries to negotiate using an algorithm that is not part of the allowed list, the request is rejected and the session is not established.
Check Content
Review the Cisco switch configuration to verify that SSH is configured to use FIPS-140-2 compliant HMACs as shown in the example below: ip ssh version 2 ip ssh server algorithm encryption aes128-cbc aes192-cbc aes192-ctr Note: An SSH configuration enables a server and client to authorize the negotiation of only those algorithms that are configured from the allowed list. If a remote party tries to negotiate using an algorithm that is not part of the allowed list, the request is rejected and the session is not established. If the switch is not configured to implement replay-resistant authentication mechanisms for network access to privileged accounts, this is a finding.
The Cisco switch must be configured to enforce a minimum 15-character password length.
Discussion
Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. Use of more characters in a password helps to exponentially increase the time and/or resources required to compromise the password.
Fix Text
Configure the Cisco switch to enforce a minimum 15-character password length as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#min-length 15 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY min-length 15 If the Cisco switch is not configured to enforce a minimum 15-character password length, this is a finding.
The Cisco switch must be configured to generate log records for privileged activities.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to generate log records for privileged activities as shown in the example below: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example configurations below: archive log config logging enable If the Cisco switch is not configured to generate log records for privileged activities, this is a finding.
The Cisco switch must be configured to enforce password complexity by requiring that at least one upper-case character be used.
Discussion
Use of a complex passwords helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determine how long it takes to crack a password. The more complex the password is, the greater the number of possible combinations that need to be tested before the password is compromised. Multifactor authentication (MFA) is required for all administrative and user accounts on network devices, except for an account of last resort and (where applicable) a root account. Passwords should only be used when MFA using PKI is not available, and for the account of last resort and root account.
Fix Text
Configure the Cisco switch to enforce password complexity by requiring that at least one upper-case character be used as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#upper-case 1 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY upper-case 1 If the Cisco switch is not configured to enforce password complexity by requiring that at least one upper-case character be used, this is a finding.
The Cisco switch must be configured to enforce password complexity by requiring that at least one lower-case character be used.
Discussion
Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determine how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Multifactor authentication (MFA) is required for all administrative and user accounts on network devices, except for an account of last resort and (where applicable) a root account. Passwords should only be used when MFA using PKI is not available, and for the account of last resort and root account.
Fix Text
Configure the Cisco switch to enforce password complexity by requiring that at least one lower-case character be used as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#lower-case 1 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY lower-case 1 If the Cisco switch is not configured to enforce password complexity by requiring that at least one lower-case character be used, this is a finding.
The Cisco switch must be configured to enforce password complexity by requiring that at least one numeric character be used.
Discussion
Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determine how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Multifactor authentication (MFA) is required for all administrative and user accounts on network devices, except for an account of last resort and (where applicable) a root account. Passwords should only be used when MFA using PKI is not available, and for the account of last resort and root account.
Fix Text
Configure the Cisco switch to enforce password complexity by requiring that at least one numeric character be used as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#numeric-count 1 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY numeric-count 1 If the Cisco switch is not configured to enforce password complexity by requiring that at least one numeric character be used, this is a finding.
The Cisco switch must be configured to enforce password complexity by requiring that at least one special character be used.
Discussion
Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password complexity is one factor of several that determine how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised. Multifactor authentication (MFA) is required for all administrative and user accounts on network devices, except for an account of last resort and (where applicable) a root account. Passwords should only be used when MFA using PKI is not available, and for the account of last resort and root account.
Fix Text
Configure the Cisco switch to enforce password complexity by requiring that at least one special character be used as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#special-case 1 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY special-case 1 If the Cisco switch is not configured to enforce password complexity by requiring that at least one special character be used, this is a finding.
The Cisco switch must be configured to require that when a password is changed, the characters are changed in at least eight of the positions within the password.
Discussion
If the application allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. The number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different. Multifactor authentication (MFA) is required for all administrative and user accounts on network devices, except for an account of last resort and (where applicable) a root account. Passwords should only be used when MFA using PKI is not available, and for the account of last resort and root account.
Fix Text
Configure the Cisco switch to enforce password complexity by requiring that when a password is changed, the characters are changed in at least eight of the positions within the password as shown in the example below: SW1(config)#aaa common-criteria policy PASSWORD_POLICY SW1(config-cc-policy)#char-changes 8 SW1(config-cc-policy)#exit
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: aaa new-model ! ! aaa common-criteria policy PASSWORD_POLICY char-changes 8 If the Cisco switch is not configured to require that when a password is changed, the characters are changed in at least eight of the positions within the password, this is a finding.
The Cisco switch must only store cryptographic representations of passwords.
Discussion
Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised. Network devices must enforce cryptographic representations of passwords when storing passwords in databases, configuration files, and log files. Passwords must be protected at all times; using a strong one-way hashing encryption algorithm with a salt is the standard method for providing a means to validate a password without having to store the actual password. Performance and time required to access are factors that must be considered, and the one way hash is the most feasible means of securing the password and providing an acceptable measure of password security. If passwords are stored in clear text, they can be plainly read and easily compromised. In many instances, verifying the user knows a password is performed using a password verifier. In its simplest form, a password verifier is a computational function that is capable of creating a hash of a password and determining if the value provided by the user matches the stored hash.
Fix Text
Configure the switch to encrypt all passwords. SW4(config)#service password-encryption SW4(config)#end
Check Content
Review the switch configuration to determine if passwords are encrypted as shown in the example below: service password-encryption If the switch is not configured to encrypt passwords, this is a finding.
The Cisco switch must be configured to terminate all network connections associated with device management after 10 minutes of inactivity.
Discussion
Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. In addition, quickly terminating an idle session will also free up resources committed by the managed network element. Terminating network connections associated with communications sessions includes, for example, de-allocating associated TCP/IP address/port pairs at the operating system level, or de-allocating networking assignments at the application level if multiple application sessions are using a single, operating system-level network connection. This does not mean that the device terminates all sessions or network access; it only ends the inactive session and releases the resources associated with that session.
Fix Text
Set the idle timeout value to "10" minutes or less on all configured login classes as shown in the example below: SW1(config)#line vty 0 4 SW1(config-line)#exec-timeout 10 0 SW1(config-line)#exit SW1(config)#line con 0 SW1(config-line)#exec-timeout 10 0 SW1(config-line)#exit SW2(config)#ip http timeout-policy idle 600 life nnnn requests nn
Check Content
Review the Cisco switch configuration to verify that all network connections associated with a device management have an idle timeout value set to 10 minutes or less as shown in the following example: ip http secure-server ip http timeout-policy idle 600 life nnnn requests nn … … … line con 0 exec-timeout 10 0 line vty 0 4 exec-timeout 10 0 If the Cisco switch is not configured to terminate all network connections associated with a device management after "10" minutes of inactivity, this is a finding.
The Cisco switch must be configured to automatically audit account enabling actions.
Discussion
Once an attacker establishes initial access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to simply enable a new or disabled account. Notification of account enabling is one method for mitigating this risk. A comprehensive account management process will ensure an audit trail which documents the creation of application user accounts and notifies administrators and Information System Security Officers (ISSO). Such a process greatly reduces the risk that accounts will be surreptitiously created and provides logging that can be used for forensic purposes.
Fix Text
Configure the switch to log account enabling using the following commands: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the switch configuration to determine if it automatically audits account enabling. The configuration should look similar to the example below: archive log config logging enable Note: Configuration changes can be viewed using the show archive log config all command. If account enabling is not automatically audited, this is a finding.
The Cisco switch must be configured to audit the execution of privileged functions.
Discussion
Misuse of privileged functions, either intentionally or unintentionally by authorized users, or by unauthorized external entities that have compromised information system accounts, is a serious and ongoing concern and can have significant adverse impacts on organizations. Auditing the use of privileged functions is one way to detect such misuse and identify the risk from insider threats and the advanced persistent threat.
Fix Text
Configure the Cisco switch to log all commands entered from the command line interface as well as log all configuration changes as shown in the following example: SW1(config)#logging userinfo SW1(config)#archive SW1(config-archive)#log config SW1(config-archive-log-cfg)#logging enable SW1(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. The configuration example below will log all commands entered from the command line interface as well as log all configuration changes. hostname R1 ! logging userinfo ! … … … archive log config logging enable ! Note: The logging userinfo global configuration command will generate a log when a user increases his or her privilege level. If the Cisco switch is not configured to log all commands entered from the command line interface as well as log all configuration changes, this is a finding.
The Cisco switch must be configured to allocate audit record storage capacity in accordance with organization-defined audit record storage requirements.
Discussion
In order to ensure network devices have a sufficient storage capacity in which to write the audit logs, they need to be able to allocate audit record storage capacity. The task of allocating audit record storage capacity is usually performed during initial device setup if it is modifiable. The value for the organization-defined audit record storage requirement will depend on the amount of storage available on the network device, the anticipated volume of logs, the frequency of transfer from the network device to centralized log servers, and other factors.
Fix Text
Configure the buffer size for logging as shown in the example below: SW2(config)#logging buffered xxxxxxxx informational
Check Content
Verify that the Cisco switch is configured with a logging buffer size. The configuration should look like the example below: logging buffered xxxxxxxx informational If a logging buffer size is not configured, this is a finding. If the Cisco switch is not configured to allocate audit record storage capacity in accordance with organization-defined audit record storage requirements, this is a finding.
The Cisco switch must be configured to generate an alert for all audit failure events.
Discussion
It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without a real-time alert, security personnel may be unaware of an impending failure of the audit capability and system operation may be adversely affected. Alerts provide organizations with urgent messages. Real-time alerts provide these messages immediately (i.e., the time from event detection to alert occurs in seconds or less).
Fix Text
Configure the Cisco switch to send critical to emergency log messages to the syslog server as shown in the example below: 4(config)#logging host x.x.x.x SW4(config)#logging trap critical Note: The parameter "critical" can replaced with a lesser severity level (i.e., error, warning, notice, informational).
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: logging trap critical logging x.x.x.x Note: The parameter "critical" can replaced with a lesser severity level (i.e. error, warning, notice, informational). Informational is the default severity level; hence, if the severity level is configured to informational, the logging trap command will not be shown in the configuration. If the Cisco switch is not configured to generate an alert for all audit failure events, this is a finding.
The Cisco switch must be configured to synchronize its clock with the primary and secondary time sources using redundant authoritative time sources.
Discussion
The loss of connectivity to a particular authoritative time source will result in the loss of time synchronization (free-run mode) and increasingly inaccurate time stamps on audit events and other functions. Multiple time sources provide redundancy by including a secondary source. Time synchronization is usually a hierarchy; clients synchronize time to a local source while that source synchronizes its time to a more accurate source. The network device must utilize an authoritative time server and/or be configured to use redundant authoritative time sources. This requirement is related to the comparison done in CCI-001891. DoD-approved solutions consist of a combination of a primary and secondary time source using a combination or multiple instances of the following: a time server designated for the appropriate DoD network (NIPRNet/SIPRNet); United States Naval Observatory (USNO) time servers; and/or the Global Positioning System (GPS). The secondary time source must be located in a different geographic region than the primary time source.
Fix Text
Configure the Cisco switch to synchronize its clock with redundant authoritative time sources as shown in the example below: SW2(config)#ntp server x.x.x.x SW2(config)#ntp server y.y.y.y
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the configuration example below: ntp server x.x.x.x ntp server y.y.y.y If the Cisco switch is not configured to synchronize its clock with redundant authoritative time sources, this is a finding.
The Cisco switch must record time stamps for audit records that meet a granularity of one second for a minimum degree of precision.
Discussion
Without sufficient granularity of time stamps, it is not possible to adequately determine the chronological order of records. Time stamps generated by the application include date and time. Granularity of time measurements refers to the degree of synchronization between information system clocks and reference clocks.
Fix Text
Configure the Cisco switch to record time stamps that meet a granularity of one second as shown in the example below: SW2(config)#service timestamps log datetime localtime
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: service timestamps log datetime If the switch is not configured to record time stamps that meet a granularity of one second, this is a finding.
The Cisco switch must be configured to authenticate SNMP messages using a FIPS-validated Keyed-Hash Message Authentication Code (HMAC).
Discussion
Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity. Bidirectional authentication provides stronger safeguards to validate the identity of other devices for connections that are of greater risk. A local connection is any connection with a device communicating without the use of a network. A network connection is any connection with a device that communicates through a network (e.g., local area or wide area network, Internet). A remote connection is any connection with a device communicating through an external network (e.g., the Internet). Because of the challenges of applying this requirement on a large scale, organizations are encouraged to only apply the requirement to those limited number (and type) of devices that truly need to support this capability.
Fix Text
Configure the Cisco switch to authenticate SNMP messages as shown in the example below: SW4(config)#snmp-server group V3GROUP v3 auth read V3READ write V3WRITE SW4(config)#snmp-server user V3USER V3GROUP v3 auth sha xxxxxxx SW4(config)#snmp-server view V3READ iso included SW4(config)#snmp-server view V3WRITE iso included SW4(config)#snmp-server host x.x.x.x version 3 auth V3USER
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: snmp-server group V3GROUP v3 auth read V3READ write V3WRITE snmp-server view V3READ iso included snmp-server view V3WRITE iso included snmp-server host x.x.x.x version 3 auth V3USER Authentication used by the SNMP users can be viewed via the show snmp user command as shown in the example below: R4#show snmp user User name: V3USER Engine ID: 800000090300C2042B540000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: None Group-name: V3GROUP If the Cisco switch is not configured to authenticate SNMP messages using a FIPS-validated HMAC, this is a finding.
The Cisco switch must be configured to encrypt SNMP messages using a FIPS 140-2 approved algorithm.
Discussion
Without the strong encryption that is provided by the SNMP Version 3 User-based Security Model (USM), an unauthorized user can gain access to network management information that can be used to create a network outage.
Fix Text
Configure the Cisco switch to encrypt SNMP messages using a FIPS 140-2 approved algorithm as shown in the example below: SW4(config)#snmp-server group V3GROUP v3 priv read V3READ write V3WRITE SW4(config)#snmp-server user V3USER V3GROUP v3 auth sha xxxxxx priv aes 256 xxxxxx
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: snmp-server group V3GROUP v3 priv read V3READ write V3WRITE snmp-server view V3READ iso included snmp-server view V3WRITE iso included snmp-server host x.x.x.x version 3 auth V3USER Encryption used by the SNMP users can be viewed via the show snmp user command as shown in the example below: R4#show snmp user User name: V3USER Engine ID: 800000090300C2042B540000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: V3GROUP If the Cisco switch is not configured to encrypt SNMP messages using a FIPS 140-2 approved algorithm, this is a finding.
The Cisco switch must be configured to authenticate Network Time Protocol (NTP) sources using authentication that is cryptographically based.
Discussion
If Network Time Protocol is not authenticated, an attacker can introduce a rogue NTP server. This rogue server can then be used to send incorrect time information to network devices, which will make log timestamps inaccurate and affect scheduled actions. NTP authentication is used to prevent this tampering by authenticating the time source.
Fix Text
Configure the Cisco switch to authenticate NTP sources using authentication that is cryptographically based as shown in the example below: SW2(config)#ntp authenticate SW2(config)#ntp authentication-key 1 md5 xxxxxx SW2(config)#ntp trusted-key 1 SW2(config)#ntp server x.x.x.x key 1 SW2(config)#ntp server y.y.y.y key 1
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the configuration example below: ntp authentication-key 1 md5 121B0A151012 7 ntp authenticate ntp trusted-key 1 ntp server x.x.x.x key 1 ntp server y.y.y.y key 1 If the Cisco switch is not configured to authenticate NTP sources using authentication that is cryptographically based, this is a finding.
The Cisco switch must be configured to use FIPS-validated Keyed-Hash Message Authentication Code (HMAC) to protect the integrity of remote maintenance sessions.
Discussion
Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and therefore cannot be relied upon to provide confidentiality or integrity, and DoD data may be compromised. Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Currently, HMAC is the only FIPS-approved algorithm for generating and verifying message/data authentication codes in accordance with FIPS 198-1. Products that are FIPS 140-2 validated will have an HMAC that meets specification; however, the option must be configured for use as the only message authentication code used for authentication to cryptographic modules. Separate requirements for configuring applications and protocols used by each application (e.g., SNMPv3, SSHv2, NTP, HTTPS, and other protocols and applications that require server/client authentication) are required to implement this requirement. Where SSH is used, the SSHv2 protocol suite is required because it includes Layer 7 protocols such as SCP and SFTP, which can be used for secure file transfers.
Fix Text
Configure SSH to use FIPS-validated HMAC for remote maintenance sessions as shown in the following example: SW1(config)#ip ssh version 2 SW1(config)#ip ssh server algorithm mac hmac-sha1-96
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: ip ssh version 2 ip ssh server algorithm mac hmac-sha1-96 If the Cisco switch is not configured to use FIPS-validated HMAC to protect the integrity of remote maintenance sessions, this is a finding.
The Cisco switch must be configured to implement cryptographic mechanisms to protect the confidentiality of remote maintenance sessions.
Discussion
This requires the use of secure protocols instead of their unsecured counterparts, such as SSH instead of telnet, SCP instead of FTP, and HTTPS instead of HTTP. If unsecured protocols (lacking cryptographic mechanisms) are used for sessions, the contents of those sessions will be susceptible to eavesdropping, potentially putting sensitive data (including administrator passwords) at risk of compromise and potentially allowing hijacking of maintenance sessions.
Fix Text
Configure the Cisco switch to implement cryptographic mechanisms to protect the confidentiality of remote maintenance sessions using a FIPS 140-2 approved algorithm as shown in the example below: SW1(config)#ip ssh server algorithm encryption aes128-cbc aes128-ctr aes192-cbc aes192-ctr
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. ip ssh version 2 ip ssh server algorithm encryption aes128-cbc aes128-ctr aes192-cbc aes192-ctr If the switch is not configured to implement cryptographic mechanisms to protect the confidentiality of remote maintenance sessions using a FIPS 140-2 approved algorithm, this is a finding.
The Cisco switch must be configured to protect against known types of denial-of-service (DoS) attacks by employing organization-defined security safeguards.
Discussion
DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. This requirement addresses the configuration of network devices to mitigate the impact of DoS attacks that have occurred or are ongoing on device availability. For each network device, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exist to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or restricting the number of sessions the device opens at one time). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks. The security safeguards cannot be defined at the DoD level because they vary according to the capabilities of the individual network devices and the security controls applied on the adjacent networks (e.g., firewalls performing packet filtering to block DoS attacks).
Fix Text
Configure the Cisco switch protect against known types of DoS attacks on the route processor. Implementing a CoPP policy as shown in the example below is a best practice method. Step 1: Configure ACLs specific traffic types. SW1(config)#ip access-list extended CoPP_CRITICAL SW1(config-ext-nacl)#remark our control plane adjacencies are critical SW1(config-ext-nacl)#permit ospf host x.x.x.x any SW1(config-ext-nacl)#permit ospf host x.x.x.x any SW1(config-ext-nacl)#permit pim host x.x.x.x any SW1(config-ext-nacl)#permit pim host x.x.x.x any SW1(config-ext-nacl)#permit igmp any 224.0.0.0 15.255.255.255 SW1(config-ext-nacl)#permit tcp host x.x.x.x eq bgp host x.x.x.x SW1(config-ext-nacl)#deny ip any any SW1(config-ext-nacl)#exit SW1(config)#ip access-list extended CoPP_IMPORTANT SW1(config-ext-nacl)#permit tcp host x.x.x.x eq tacacs any SW1(config-ext-nacl)#permit tcp x.x.x.x 0.0.0.255 any eq 22 SW1(config-ext-nacl)#permit udp host x.x.x.x any eq snmp SW1(config-ext-nacl)#permit udp host x.x.x.x eq ntp any SW1(config-ext-nacl)#deny ip any any SW1(config-ext-nacl)#exit SW1(config)#ip access-list extended CoPP_NORMAL SW1(config-ext-nacl)#remark we will want to rate limit ICMP traffic SW1(config-ext-nacl)#permit icmp any any echo SW1(config-ext-nacl)#permit icmp any any echo-reply SW1(config-ext-nacl)#permit icmp any any time-exceeded SW1(config-ext-nacl)#permit icmp any any unreachable SW1(config-ext-nacl)#deny ip any any SW1(config-ext-nacl)#exit SW1(config)#ip access-list extended CoPP_UNDESIRABLE SW1(config-ext-nacl)#remark management plane traffic that should not be received SW1(config-ext-nacl)#permit udp any any eq ntp SW1(config-ext-nacl)#permit udp any any eq snmp SW1(config-ext-nacl)#permit tcp any any eq 22 SW1(config-ext-nacl)#permit tcp any any eq 23 SW1(config-ext-nacl)#remark control plane traffic not configured on switch SW1(config-ext-nacl)#permit eigrp any any SW1(config-ext-nacl)#permit udp any any eq rip SW1(config-ext-nacl)#deny ip any any SW1(config-ext-nacl)#exit SW1(config)#ip access-list extended CoPP_DEFAULT SW1(config-ext-nacl)#permit ip any any SW1(config-ext-nacl)#exit Step 2: Configure class maps referencing each of the ACLs. SW1(config)#class-map match-all CoPP_CRITICAL SW1(config-cmap)#match access-group name CoPP_CRITICAL SW1(config-cmap)#class-map match-any CoPP_IMPORTANT SW1(config-cmap)#match access-group name CoPP_IMPORTANT SW1(config-cmap)#match protocol arp SW1(config-cmap)#class-map match-all CoPP_NORMAL SW1(config-cmap)#match access-group name CoPP_NORMAL SW1(config-cmap)#class-map match-any CoPP_UNDESIRABLE SW1(config-cmap)#match access-group name CoPP_UNDESIRABLE SW1(config-cmap)#class-map match-all CoPP_DEFAULT SW1(config-cmap)#match access-group name CoPP_DEFAULT SW1(config-cmap)#exit Step 3: Configure a policy map referencing the configured class maps and apply appropriate bandwidth allowance and policing attributes. SW1(config)#policy-map CONTROL_PLANE_POLICY SW1(config-pmap)#class CoPP_CRITICAL SW1(config-pmap-c)#police 512000 8000 conform-action transmit exceed-action transmit SW1(config-pmap-c-police)#class CoPP_IMPORTANT SW1(config-pmap-c)#police 256000 4000 conform-action transmit exceed-action drop SW1(config-pmap-c-police)#class CoPP_NORMAL SW1(config-pmap-c)#police 128000 2000 conform-action transmit exceed-action drop SW1(config-pmap-c-police)#class CoPP_UNDESIRABLE SW1(config-pmap-c)#police 8000 1000 conform-action drop exceed-action drop SW1(config-pmap-c-police)#class CoPP_DEFAULT SW1(config-pmap-c)#police 64000 1000 conform-action transmit exceed-action drop SW1(config-pmap-c-police)#exit SW1(config-pmap-c)#exit SW1(config-pmap)#exit Step 4: Apply the policy map to the control plane. SW1(config)#control-plane SW1(config-cp)#service-policy input CONTROL_PLANE_POLICY SW1(config-cp)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. Step 1: Verify traffic types have been classified based on importance levels. The following is an example configuration: class-map match-all CoPP_CRITICAL match access-group name CoPP_CRITICAL class-map match-any CoPP_IMPORTANT match access-group name CoPP_IMPORTANT match protocol arp class-map match-all CoPP_NORMAL match access-group name CoPP_NORMAL class-map match-any CoPP_UNDESIRABLE match access-group name CoPP_UNDESIRABLE class-map match-all CoPP_DEFAULT match access-group name CoPP_DEFAULT Step 2: Review the ACLs referenced by the class maps to determine if the traffic is being classified appropriately. The following is an example configuration: ip access-list extended CoPP_CRITICAL remark our control plane adjacencies are critical permit ospf host [OSPF neighbor A] any permit ospf host [OSPF neighbor B] any permit pim host [PIM neighbor A] any permit pim host [PIM neighbor B] any permit pim host [RP addr] any permit igmp any 224.0.0.0 15.255.255.255 permit tcp host [BGP neighbor] eq bgp host [local BGP addr] permit tcp host [BGP neighbor] host [local BGP addr] eq bgp deny ip any any ip access-list extended CoPP_IMPORTANT permit tcp host [TACACS server] eq tacacs any permit tcp [management subnet] 0.0.0.255 any eq 22 permit udp host [SNMP manager] any eq snmp permit udp host [NTP server] eq ntp any deny ip any any ip access-list extended CoPP_NORMAL remark we will want to rate limit ICMP traffic permit icmp any any echo permit icmp any any echo-reply permit icmp any any time-exceeded permit icmp any any unreachable deny ip any any ip access-list extended CoPP_UNDESIRABLE remark other management plane traffic that should not be received permit udp any any eq ntp permit udp any any eq snmp permit tcp any any eq 22 permit tcp any any eq 23 remark other control plane traffic not configured on switch permit eigrp any any permit udp any any eq rip deny ip any any ip access-list extended CoPP_DEFAULT permit ip any any Note: Explicitly defining undesirable traffic with ACL entries enables the network operator to collect statistics. Excessive ARP packets can potentially monopolize Route Processor resources, starving other important processes. Currently, ARP is the only Layer 2 protocol that can be specifically classified using the match protocol command. Step 3: Review the policy-map to determine if the traffic is being policed appropriately for each classification. The following is an example configuration: policy-map CONTROL_PLANE_POLICY class CoPP_CRITICAL police 512000 8000 conform-action transmit exceed-action transmit class CoPP_IMPORTANT police 256000 4000 conform-action transmit exceed-action drop class CoPP_NORMAL police 128000 2000 conform-action transmit exceed-action drop class CoPP_UNDESIRABLE police 8000 1000 conform-action drop exceed-action drop class CoPP_DEFAULT police 64000 1000 conform-action transmit exceed-action drop Step 4: Verify that the CoPP policy is enabled. The following is an example configuration: control-plane service-policy input CONTROL_PLANE_POLICY Note: Control Plane Protection (CPPr) can be used to filter as well as police control plane traffic destined to the RP. CPPr is very similar to CoPP and has the ability to filter and police traffic using finer granularity by dividing the aggregate control plane into three separate categories: (1) host, (2) transit, and (3) CEF-exception. Hence, a separate policy-map could be configured for each traffic category. If the Cisco switch is not configured to protect against known types of DoS attacks by employing organization-defined security safeguards, this is a finding.
The Cisco switch must be configured to generate log records when administrator privileges are modified.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to generate log records when account privileges are modified as shown in the example below: SW4(config)#logging userinfo SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the examples below: hostname R4 ! ! logging userinfo … … … archive log config logging enable Note: The logging userinfo command will log when the administrator increases his or her privilege level while the log config command will log all configuration changes such as changing privilege levels for certain commands. If the Cisco switch is not configured to generate log records when administrator privileges are modified, this is a finding.
The Cisco switch must be configured to generate log records when administrator privileges are deleted.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to generate log records when administrator privileges are deleted as shown in the example below: SW4(config)#archive SW4(config-archive)#log config SW4(config-archive-log-cfg)#logging enable SW4(config-archive-log-cfg)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: archive log config logging enable If the Cisco switch is not configured to generate log records when administrator privileges are deleted, this is a finding.
The Cisco switch must generate audit records showing starting and ending time for administrator access to the system.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Step 1: Configure the switch to use an authentication server as shown in the following example: SW1(config)#radius host 10.1.48.2 key xxxxxx Step 2: Configure the switch to report session start and stop times for administrative access as shown in the following example: SW1(config)#aaa accounting exec default start-stop group radius
Check Content
The Cisco switch is not compliant with this requirement. However, the risk associated with this requirement can be fully mitigated if the switch is configured to utilize an AAA server to report session start and stop times for administrative access. Review the switch configuration to verify that the device is configured to use an AAA server to report session start and stop times for administrative access as shown in the following example: aaa new-model ! ! aaa accounting exec default start-stop group radius … … … radius-server host x.x.x.x key xxxxxxx If the switch is not configured to use an use an AAA server to report session start and stop times for administrative access, this is a finding.
The Cisco switch must be configured to generate log records when concurrent logons from different workstations occur.
Discussion
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. Audit records can be generated from various components within the network device (e.g., module or policy filter).
Fix Text
Configure the Cisco switch to generate log records when concurrent logons from different workstations occur as shown in the example below: R5(config)#login on-success log
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the examples below: login on-success log If the Cisco switch is not configured to generate log records when concurrent logons from different workstations occur, this is a finding.
The Cisco switch must be configured to off-load log records onto a different system than the system being audited.
Discussion
Information stored in one location is vulnerable to accidental or incidental deletion or alteration. Off-loading is a common process in information systems with limited audit storage capacity.
Fix Text
Configure the Cisco switch to send log records to a syslog server as shown in the example below: SW4(config)#logging host x.x.x.x SW4(config)#logging trap notifications
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement as shown in the example below: logging trap notifications logging x.x.x.x Note: Default for sending log messages to the syslog server is informational (level 6); hence, the command logging trap informational will not be seen in the configuration. Level of log messages sent to the syslog server can be verified using the show logging command. If the Cisco switch is not configured to off-load log records onto a different system than the system being audited, this is a finding.
The Cisco switch must be configured to use an authentication server for the purpose of authenticating users prior to granting administrative access.
Discussion
Centralized management of user accounts and authentication increases the administrative access to the switch. This control is a particularly important protection against the insider threat. With robust centralized management, audit records for administrator account access to the organization's network devices can be more readily analyzed for trends and anomalies. The alternative method of defining administrator accounts on each device exposes the device configuration to remote access authentication attacks and system administrators with multiple authenticators for each network device.
Fix Text
Step 1: Configure the Cisco switch to use an authentication server as shown in the following example: SW4(config)#radius host 10.1.48.2 key xxxxxx Step 2: Configure the authentication order to use the authentication server as primary source for authentication as shown in the following example: SW4(config)#aaa authentication login LOGIN_AUTHENTICATION group radius local Step 3: Configure all network connections associated with a device management to use an authentication server for the purpose of login authentication. SW4(config)#line vty 0 4 SW4(config-line)#login authentication LOGIN_AUTHENTICATION SW4(config-line)#exit SW4(config)#line con 0 SW4(config-line)#login authentication LOGIN_AUTHENTICATION SW4(config-line)#exit SW4(config)#ip http authentication aaa login-authentication LOGIN_AUTHENTICATION
Check Content
Review the Cisco switch configuration to verify that the device is configured to use an authentication server as primary source for authentication as shown in the following example: aaa new-model ! aaa authentication login LOGIN_AUTHENTICATION group radius local … … … ip http authentication aaa login-authentication LOGIN_AUTHENTICATION ip http secure-server … … … radius-server host x.x.x.x auth-port 1645 acct-port 1646 key xxxxxxx … … … line con 0 exec-timeout 10 0 login authentication LOGIN_AUTHENTICATION line vty 0 4 exec-timeout 10 0 login authentication LOGIN_AUTHENTICATION If the Cisco switch is not configured to use an authentication server for the purpose of authenticating users prior to granting administrative access, this is a finding.
The Cisco switch must be configured to support organizational requirements to conduct backups of the configuration when changes occur.
Discussion
System-level information includes default and customized settings and security attributes, including ACLs that relate to the network device configuration, as well as software required for the execution and operation of the device. Information system backup is a critical step in ensuring system integrity and availability. If the system fails and there is no backup of the system-level information, a denial of service condition is possible for all who utilize this critical network component. This control requires the network device to support the organizational central backup process for system-level information associated with the network device. This function may be provided by the network device itself; however, the preferred best practice is a centralized backup rather than each network device performing discrete backups.
Fix Text
Configure the Cisco switch to send the configuration to a TFTP or FTP server when a configuration change occurs as shown in the example below: SW4(config)#event manager applet BACKUP_CONFIG SW4(config-applet)#event syslog pattern "%SYS-5-CONFIG_I" SW4(config-applet)#action 1 cli command "enable" SW4(config-applet)#action 2 info type switchname SW4(config-applet)#action 3 cli command "copy run tftp" pattern "remote host" SW4(config-applet)#action 4 cli command "x.x.x.x" pattern "filename" SW4(config-applet)#action 5 cli command "$_info_switchname-config" SW4(config-applet)#action 6 syslog priority informational msg "Configuration backup was executed" SW4(config-applet)#end
Check Content
Review the Cisco switch configuration to verify that it is compliant with this requirement. The example configuration below will send the configuration to a TFTP server when a configuration change occurs. event manager applet BACKUP_CONFIG event syslog pattern "%SYS-5-CONFIG_I" action 1 info type switchname action 2 cli command "enable" action 3 cli command "copy run tftp" pattern "remote host" action 4 cli command "x.x.x.x" pattern "filename" action 5 cli command "$_info_switchname-config" action 6 syslog priority informational msg "Configuration backup was executed" If the Cisco switch is not configured to conduct backups of the configuration when changes occur, this is a finding.
The Cisco switch must be configured to obtain its public key certificates from an appropriate certificate policy through an approved service provider.
Discussion
For user certificates, each organization obtains certificates from an approved, shared service provider, as required by OMB policy. For federal agencies operating a legacy public key infrastructure cross-certified with the Federal Bridge Certification Authority at medium assurance or higher, this Certification Authority will suffice.
Fix Text
Configure the switch to obtain its public key certificates from an appropriate certificate policy through an approved service provider as show in the example below: SW2(ca-trustpoint)#enrollment url http://trustpoint1.example.com
Check Content
Review the switch configuration to determine if a CA trust point has been configured. The CA trust point will contain the URL of the CA in which the switch has enrolled with. Verify this is a DoD or DoD-approved CA. This will ensure the switch has enrolled and received a certificate from a trusted CA. The CA trust point configuration would look similar to the example below: crypto pki trustpoint CA_X enrollment url http://trustpoint1.example.com Note: A remote end-point's certificate will always be validated by the switch by verifying the signature of the CA on the certificate using the CA's public key, which is contained in the switch's certificate it received at enrollment. If the Cisco switch is not configured to obtain its public key certificates from an appropriate certificate policy through an approved service provider, this is a finding.
The Cisco switch must be configured to send log data to a central log server for the purpose of forwarding alerts to the administrators and the ISSO.
Discussion
The aggregation of log data kept on a syslog server can be used to detect attacks and trigger an alert to the appropriate security personnel. The stored log data can used to detect weaknesses in security that enable the network IA team to find and address these weaknesses before breaches can occur. Reviewing these logs, whether before or after a security breach, are important in showing whether someone is an internal employee or an outside threat.
Fix Text
Configure the switch to send log messages to the syslog server as shown in the example below: SW4(config)#logging host x.x.x.x SW4(config)#logging trap notifications
Check Content
Verify that the switch is configured to send logs to a central log server. The configuration should look similar to the example below: logging trap notifications logging x.x.x.x Note: Default for sending log messages to the syslog server is informational (level 6); hence, the command logging trap informational will not be seen in the configuration. Level of log messages sent to the syslog server can be verified using the show logging command. If the switch is not configured to send log data to the syslog server, this is a finding.
The Cisco switch must be running an IOS release that is currently supported by Cisco Systems.
Discussion
Network devices running an unsupported operating system lack current security fixes required to mitigate the risks associated with recent vulnerabilities. Running a supported release also enables operations to maintain a stable and reliable network provided by improved quality of service and security features.
Fix Text
Upgrade the switch to a supported release.
Check Content
Verify that the switch is in compliance with this requirement by having the switch administrator enter the following command: show version Verify that the release is still supported by Cisco. All releases supported by Cisco can be found on the following URL: www.cisco.com/c/en/us/support/ios-nx-os-software If the switch is not running a supported release, this is a finding.