Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
Review the network devices configuration to determine if administrative access to the device requires some form of authentication--at a minimum a password is required. If passwords aren't used to administrative access to the device, this is a finding.
Configure the network devices so it will require a password to gain administrative access to the device.
Review the device configuration or request that the administrator logon to the device and observe the terminal. Verify either Option A or Option B (for systems with character limitations) of the Standard Mandatory DoD Notice and Consent Banner is displayed at logon. The required banner verbiage follows and must be displayed verbatim: Option A 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. Option B If the system is incapable of displaying the required banner verbiage due to its size, a smaller banner must be used. The mandatory verbiage follows: "I've read & consent to terms in IS user agreem't." If the device configuration does not have a logon banner as stated above, this is a finding.
Configure all management interfaces to the network device to display the DoD-mandated warning banner verbiage at logon regardless of the means of connection or communication. The required banner verbiage that must be displayed verbatim is as follows: Option A 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. Option B If the system is incapable of displaying the required banner verbiage due to its size, a smaller banner must be used. The mandatory verbiage follows: "I've read & consent to terms in IS user agreem't."
Review the management connection for administrative access and verify the network element is configured to time-out the connection after 10 minutes or less of inactivity. The default for the VTY line is 10 minutes and may not appear in the display of the configuration. The VTY line should contain the following command: exec-timeout 10
Configure the network devices to ensure the timeout for unattended administrative access connections is no longer than 10 minutes.
Review the device configuration to ensure that DNS servers have been defined if it has been configured as a client resolver (name lookup). The configuration should look similar to one of the following examples: ip domain-lookup ip name-server 192.168.1.253 or no ip domain-lookup The first configuration example has DNS lookup enabled and hence has defined its DNS server. The second example has DNS lookup disabled. Note: ip domain-lookup is enabled by default. Hence it may not be shown—depending on the IOS release. If it is enabled, it will be shown near the beginning of the configuration.
Configure the device to include DNS servers or disable domain lookup.
Review device configuration and verify that it is configured to only allow SNMP access from only addresses belonging to the management network. The following examples for SNMP v1, 2, and 3 depict the use of an ACL to restrict SNMP access to the device. SNMP v1/v2c Configuration Example The example ACL NMS_LIST is used to define what network management stations can access the device for write and read only (poll). ip access-list standard NMS_LIST permit 10.1.1.24 permit 10.1.1.22 permit 10.1.1.23 ! snmp-server community ourCommStr RO RW NMS_LIST snmp-server community write_pw RW NMS_LIST snmp-server enable traps snmp linkdown linkup snmp-server host 10.1.1.1 trap_comm_string Note: If you enter the snmp-server host command with no keywords, the default is version 1 and to send all enabled traps to the host. No informs will be sent to this host. If no traps or informs keyword is present, traps are sent. SNMP v3 Configuration Example The example ACL NMS_LIST and ADMIN_LIST are used to define what network management stations and administrator (users) desktops can access the device. ip access-list standard ADMIN_LIST permit 10.1.1.35 permit 10.1.1.36 ip access-list standard NMS_LIST permit 10.1.1.24 permit 10.1.1.22 permit 10.1.1.23 ! snmp-server group NOC v3 priv read VIEW_ALL write VIEW_LIMIT access NMS_LIST snmp-server group TRAP_GROUP v3 priv notify *tv.FFFFFFFF.FFFFFFFF.FFFFFFFF.FFFFFFFF0F snmp-server group ADMIN_GROUP v3 priv read VIEW_ALL write VIEW_ALL access ADMIN_LIST snmp-server view VIEW_ALL internet included snmp-server view VIEW_LIMIT internet included snmp-server view VIEW_LIMIT internet.6.3.15 excluded snmp-server view VIEW_LIMIT internet.6.3.16 excluded snmp-server view VIEW_LIMIT internet.6.3.18 excluded snmp-server enable traps snmp linkdown linkup snmp-server host 10.1.1.24 version 3 priv TRAP_NMS1 Note: For the configured group TRAP_GROUP, the notify view is auto-generated by the snmp-server host command which bind the user (TRAP_NMS1) and the group it belongs to (TRAP_GROUP) to the list of notifications (traps or informs) which are sent to the host. Hence, the configuration snmp-server group TRAP_GROUP v3 results in the following: snmp-server group TRAP_GROUP v3 priv notify *tv.FFFFFFFF.FFFFFFFF.FFFFFFFF.FFFFFFFF0F Note: Not required but for illustration purpose, the VIEW_LIMIT excludes MIB objects which could potentially reveal information about configured SNMP credentials. These objects are snmpUsmMIB, snmpVacmMIB, and snmpCommunityMIB which is configured as 1.3.6.1.6.3.15, 1.3.6.1.6.3.16, and 1.3.6.1.6.3.18 respectively Note that SNMPv3 users are not shown in a running configuration. You can view them with the show snmp user command. So for example, if the following users were configured as such. snmp-server user HP_OV NOC v3 auth sha HPOVpswd priv aes 256 HPOVsecretkey snmp-server user Admin1 ADMIN_GROUP v3 auth sha Admin1PW priv aes 256 Admin1key snmp-server user Admin2 ADMIN_GROUP v3 auth md5 Admin2pass priv 3des Admin2key snmp-server user TRAP_NMS1 TRAP_GROUP v3 auth sha trap_nms1_pw priv aes trap_nms1_key The show snmp user command would depict the configured users as follows: R1#show snmp user User name: HP_OV Engine ID: AB12CD34EF56 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: NOC User name: Admin1 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: ADMIN_GROUP User name: Admin2 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: MD5 Privacy Protocol: 3DES Group-name: ADMIN_GROUP User name: TRAP_NMS1 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: TRAP_GROUP R1#
Configure the network devices to only allow SNMP access from only addresses belonging to the management network.
Review the SNMP configuration of all managed nodes to ensure different community names (V1/2) or groups/users (V3) are configured for read-only and read-write access. If unique community strings or accounts are not used for SNMP peers, this is a finding.
Configure the SNMP community strings on the network device and change them from the default values. SNMP community strings and user passwords must be unique and not match any other network device passwords. Different community strings (V1/2) or groups (V3) must be configured for various levels of read and write access.
Review the network device configuration and validate there are no group accounts configured for access. If a group account is configured on the device, this is a finding.
Configure individual user accounts for each authorized person then remove any group accounts.
Review the accounts authorized for access to the network device. Determine if the accounts are assigned the lowest privilege level necessary to perform assigned duties. User accounts must be set to a specific privilege level which can be mapped to specific commands or a group of commands. Authorized accounts should have the least privilege level unless deemed necessary for assigned duties. If it is determined that authorized accounts are assigned to greater privileges than necessary, this is a finding.
Configure authorized accounts with the least privilege rule. Each user will have access to only the privileges they require to perform their assigned duties.
Review the organization's responsibilities list and reconcile the list of authorized accounts with those accounts defined for access to the network device. If an unauthorized account is configured for access to the device, this is a finding.
Remove any account configured for access to the network device that is not defined in the organization's responsibilities list.
Review all Cisco IOS routers and switches to determine if the global command "service password-encryption" is present in the configurations. Also, review all accounts created on the device to ensure they have been setup using the "username name secret password" command. The following command will be found in the device configurations Device# show run ! service password-encryption ! username name secret 5 $1$geU5$vc/uDRS5dWiOrpQJTimBw/ enable secret 5 $1%mer9396y30d$FDA/292/
Configure the network element to ensure passwords are not viewable when displaying configuration information. Device(config)# service password Device(config)# username name secret S3cr3T! Device(config)# enable secret $MyS3cr3TPW$ Device(config)# end
Review the network device configuration to verify only secure protocols using FIPS 140-2 validated cryptographic modules are used for any administrative access. Some of the secure protocols used for administrative and management access are listed below. This list is not all inclusive and represents a sample selection of secure protocols. -SSHv2 -SCP -HTTPS -SSL -TLS This is an example that enables SSHv2/SCP/HTTPS on an IOS Device: ! ip domain-name example.com ! crypto key generate rsa modulus 2048 ! ip ssh time-out 60 ip ssh authentication-retries 3 ip ssh source-interface GigabitEthernet 0/1 ip ssh version 2 ip ssh server algorithm mac hmac-sha1 hmac-sha1-96 ip ssh server algorithm encryption aes128-cbc aes192-cbc aes256-cbc ! line vty 0 15 transport input ssh ! ip scp server enable ! ip http secure-server If management connections are established using protocols without FIPS 140-2 validated cryptographic modules, this is a finding.
Configure the network device to use secure protocols with FIPS 140-2 validated cryptographic modules.
Review the router or switch configuration to ensure that all logon connection attempts are logged as shown in the following example: logging on login on-failure log every 1 login on-success log every 1 If all logon connection attempts are not logged, this is a finding.
Configure the device to log all access attempts to the device to establish a management connection for administrative access.
Review the running and boot configurations to determine if they are synchronized. IOS Procedure: With online editing, the "show running-config" command will only show the current running configuration settings, which are different from the IOS defaults. The "show startup-config" command will show the NVRAM startup configuration. Compare the two configurations to ensure they are synchronized. JUNOS Procedure: This will never be a finding. The active configuration is stored on flash as juniper.conf. A candidate configuration allows configuration changes while in configuration mode without initiating operational changes. The router implements the candidate configuration when it is committed; thereby, making it the new active configuration--at which time it will be stored on flash as juniper.conf and the old juniper.conf will become juniper.conf.1. If running configuration and boot configurations are not the same, this is a finding.
Add procedures to the standard operating procedure to keep the running configuration synchronized with the startup configuration.
Review all Cisco device configurations to verify service udp-small-servers and service tcp-small-servers are not found. If TCP and UDP servers are not disabled, this is a finding. Note: The TCP and UDP small servers are enabled by default on Cisco IOS Software Version 11.2 and earlier. They are disabled by default on Cisco IOS Software Versions 11.3 and later.
Change the device configuration to include the following IOS commands: no service tcp-small-servers and no service udp-small-servers for each device running an IOS version prior to 12.0. This is the default for IOS versions 12.0 and later (i.e., these commands will not appear in the running configuration.)
Review the device configuration. Beginning with IOS 12.1(5), finger is disabled by default. For IOS version 12.0 through 12.1(4), verify that the no ip finger command is present. For any version prior to 12.0, verify that the no service finger command is present.
Configure the device to disable the Finger service.
Verify the command "ip http-server" is not enabled in the configuration (the HTTPS server may be enabled for administrative access). As of 12.4, the http server is disabled by default. However, since many defaults are not shown by IOS, you may not see the command "no ip http-server" in the configuration depending on the release. If the HTTP server is enabled, this is a finding.
Configure the device to disable using HTTP (port 80) for administrative access.
Review the network devices configuration to determine if the vendor default password is active. If any vendor default passwords are used on the device, this is a finding.
Remove any vendor default passwords from the network devices configuration.
Have the administrator enter the show version command to determine the installed IOS version. As of June 2010, the latest major release is 12.4 for routers and 12.2 for switches (both access and multi-layer). The release being used must have all IAVMs resolved and must not be in a Cisco deferred status or has been made obsolete. Ask the administrator login to the Cisco Software Center to download software. Select the specific router or switch model. Select the IOS Software link and then Verify that the release being used is listed under the release family (will need to expand the list) and not in the deferred list. If the release is not listed in either the release family or deferred, then the release is obsolete. Verify that all IAVMs have been addressed. Note: Cisco software in a differed state will still be at the Cisco Software Center and available for download under the deferred group, whereas software made obsolete is no longer available for download. Deferred status occurs when a software maintenance release is made obsolete and removed from order ability and service outside of Cisco's normal release schedule, or Cisco cancels a scheduled maintenance release from reaching the First-Customer-Ship (FCS) milestone. Deferrals are most often related to software quality issues. A deferral can be performed for an entire maintenance release, or just for certain sets of platforms or features within a release. A deferral prior to the FCS milestone may be performed by Cisco to protect customers from receiving software with known catastrophic defects. A deferral after FCS will expedite obsolescence for the release to limit the exposure of customers.
Update operating system to a supported version that addresses all related IAVMs.
Review the network device configuration to verify all management connections for administrative access require authentication. aaa authentication login AUTH_LIST group tacacs+ local ! line vty 0 4 login authentication AUTH_LIST exec-timeout 10 0 transport input ssh Or using the default method list as shown in the example below. aaa authentication login default group tacacs+ local ! line vty 0 4 exec-timeout 10 0 transport input ssh
Configure authentication for all management connections.
Review the device configuration to verify it is configured to use SNMPv3 with both SHA authentication and privacy using AES encryption. Downgrades: If the site is using Version 1 or Version 2 with all of the appropriate patches and has developed a migration plan to implement the Version 3 Security Model, this finding can be downgraded to a Category II. If the targeted asset is running SNMPv3 and does not support SHA or AES, but the device is configured to use MD5 authentication and DES or 3DES encryption, then the finding can be downgraded to a Category III. If the site is using Version 1 or Version 2 and has installed all of the appropriate patches or upgrades to mitigate any known security vulnerabilities, this finding can be downgraded to a Category II. In addition, if the device does not support SNMPv3, this finding can be downgraded to a Category III provided all of the appropriate patches to mitigate any known security vulnerabilities have been applied and has developed a migration plan that includes the device upgrade to support Version 3 and the implementation of the Version 3 Security Model. If the device is configured to use to anything other than SNMPv3 with at least SHA-1 and AES, this is a finding. Downgrades can be determined based on the criteria above.
If SNMP is enabled, configure the network device to use SNMP Version 3 Security Model with FIPS 140-2 validated cryptography (i.e., SHA authentication and AES encryption).
Review the network devices configuration and verify if either of the SNMP community strings "public" or "private" is being used. If default or well-known community strings are used for SNMP, this is a finding.
Configure unique SNMP community strings replacing the default community strings.
Review the network device configuration to determine if an authentication server is defined for gaining administrative access. If so, there must be only one local account of last resort configured locally for an emergency. Verify the username and password for the local account of last resort is contained within a sealed envelope kept in a safe. If an authentication server is used and more than one local account exists, this is a finding.
Configure the device to only allow one local account of last resort for emergency access and store the credentials in a secure manner.
Review the configuration and verify that a session using the console port will time out after 10 minutes or less of inactivity as shown in the following example: line con 0 exec-timeout 10 0
Configure the timeout for idle console connection to 10 minutes or less.
Review the network device configuration and verify SNMP community strings are read-only when using SNMPv1, v2c, or basic v3 (no authentication or privacy). Write access may be used if authentication is configured when using SNMPv3. If write-access is used for SNMP versions 1, 2c, or 3-noAuthNoPriv mode and there is no documented approval by the IAO, this is a finding. SNMP v1/v2c Configuration Example Device# show run ! ip access-list standard NMS_LIST permit 10.1.1.22 permit 10.1.1.24 ! snmp-server community c0macc3ss RO NMS_LIST snmp-server community R34dWr1t3 RW NMS_LIST snmp-server location Somewhere USA snmp-server contact snmp.admin@snmp.mil snmp-server enable traps snmp host 10.1.1.22 traps SNMPv1 snmp host 10.1.1.24 traps SNMPv2c SNMP v3 Configuration Example The example ACL NMS_LIST and ADMIN_LIST are used to define what network management stations and administrator (users) desktops can access the device. Examine all group statements to determine what groups are allowed write access. Have the administrator enter a "show snmp user" command and examine all users for these groups to verify that they must be authenticated. Device# show run ! ip access-list standard ADMIN_LIST permit 10.1.1.35 permit 10.1.1.36 ip access-list standard NMS_LIST permit 10.1.1.24 permit 10.1.1.22 permit 10.1.1.23 ! snmp-server group NOC v3 priv read VIEW_ALL write VIEW_LIMIT access NMS_LIST snmp-server group TRAP_GROUP v3 priv notify *tv.FFFFFFFF.FFFFFFFF.FFFFFFFF.FFFFFFFF0F snmp-server group ADMIN_GROUP v3 priv read VIEW_ALL write VIEW_ALL access ADMIN_LIST snmp-server view VIEW_ALL internet included snmp-server view VIEW_LIMIT internet included snmp-server view VIEW_LIMIT internet.6.3.15 excluded snmp-server view VIEW_LIMIT internet.6.3.16 excluded snmp-server view VIEW_LIMIT internet.6.3.18 excluded snmp-server enable traps snmp linkdown linkup snmp-server host 10.1.1.24 version 3 priv TRAP_NMS1 Note: For the configured group TRAP_GROUP, the notify view is auto-generated by the snmp-server host command which bind the user (TRAP_NMS1) and the group it belongs to (TRAP_GROUP) to the list of notifications (traps or informs) which are sent to the host. Hence, the configuration snmp-server group TRAP_GROUP v3 results in the following: snmp-server group TRAP_GROUP v3 priv notify *tv.FFFFFFFF.FFFFFFFF.FFFFFFFF.FFFFFFFF0F Note: Also, for illustration purpose only, the VIEW_LIMIT excludes MIB objects which could potentially reveal information about configured SNMP credentials. These objects are snmpUsmMIB, snmpVacmMIB, and snmpCommunityMIB which is configured as 1.3.6.1.6.3.15, 1.3.6.1.6.3.16, and 1.3.6.1.6.3.18 respectively SNMPv3 users are not shown in a running configuration. You can view them with the show "snmp user" command. So for example, if the following users were configured as such. snmp-server user HP_OV NOC v3 auth sha HPOVpswd priv aes 256 HPOVsecretkey snmp-server user Admin1 ADMIN_GROUP v3 auth sha Admin1PW priv aes 256 Admin1key snmp-server user Admin2 ADMIN_GROUP v3 auth md5 Admin2pass priv 3des Admin2key snmp-server user TRAP_NMS1 TRAP_GROUP v3 auth sha trap_nms1_pw priv aes trap_nms1_key The show snmp user command would depict the configured users as follows: Device#show snmp user User name: HP_OV Engine ID: AB12CD34EF56 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: NOC User name: Admin1 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: ADMIN_GROUP User name: Admin2 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: MD5 Privacy Protocol: 3DES Group-name: ADMIN_GROUP User name: TRAP_NMS1 Engine ID: 800000090300C20013080000 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: TRAP_GROUP
Configure the network device to allow for read-only SNMP access when using SNMPv1, v2c, or basic v3 (no authentication or privacy). Write access may be used if authentication is configured when using SNMPv3.
Review the device configuration and verify that access ports have not been assigned membership to the VLAN 1. If any access ports are found in VLAN 1, this is a finding.
Best practices for VLAN-based networks is to prune unnecessary ports from gaining access to VLAN 1 as well as the management VLAN, and to separate in-band management, device protocol, and data traffic.
Review the device configuration to determine if VLAN 1 is pruned from all trunk and access switch ports. If VLAN 1 is not pruned from trunk or access switch ports where it's not required, this is a finding.
Best practice for VLAN-based networks is to prune unnecessary ports from gaining access to VLAN 1 and insure that it does not traverse trunks not requiring VLAN 1 traffic.
Review the device configuration to determine if all disabled ports have been placed into an unused VLAN. The VLAN must not be VLAN 1. If disabled ports are not assigned to an unused VLAN or have been placed into VLAN 1, this is a finding.
Assign all disabled ports to an unused VLAN. Do not use VLAN1.
Review the switch configurations and examine all access ports. Verify that they do not belong to the native VLAN. If any access switch ports are assigned to the native VLAN, it is a finding.
To insure the integrity of the trunk link and prevent unauthorized access, the native VLAN of the trunk port should be changed from the default VLAN 1 to its own unique VLAN. Access switchports must never be assigned to the native VLAN.
Review the network device's configuration and verify authentication is required for console access. If the device is accessed via the aux port, then verify that this port also requires authentication. If it is not used, then it must be disabled. The console port and the disabled aux port should look similar to the configuration example below that references an authentication list configured as AUTH_LIST. aaa authentication login AUTH_LIST group tacacs+ local ! line con 0 login authentication AUTH_LIST exec-timeout 10 0 Or using the default method list as shown in the example below. aaa authentication login default group tacacs+ local ! line con 0 exec-timeout 10 0
Configure authentication for console access on the network device.
Cisco IOS routers and switches use level 6 (informational) when logging packets that are dropped via access control list. (%SEC-6-IPACCESSLOGNP: list 1 denied 0 1.1.1.2 -> 1.1.1.1, 1 packet). Hence, it is imperative that log messages at level 6 are captured for further analysis and incident reporting. However, these messages do not need to go to the console, but must go to the syslog server. To avoid being locked out of the console in the event of an intensive log message generation such as when a large number of packets are being dropped, you can implement any of the following: 1. Limit the amount of logging based on same packet matching via the access-list log-update threshold command. The configured threshold specifies how often syslog messages are generated and sent after the initial packet match on a per flow basis. 2. Rate-limit messages at specific severity levels destined to be logged at the console via logging rate-limit command. 3. Have only messages at levels 0-5 (or 0-4) go to the console and messages at level 0-6 go to the syslog server. The buffer could be set to notification level or altered to a different level when required (i.e. debugging). Following would be an example configuration: ! logging buffered 4096 informational logging console notifications … ! logging trap debugging logging host 1.1.1.1 ! The default state for logging is on and the default for the syslog server is informational (i.e. logging trap informational). Hence, the commands logging on and logging trap informational will not be shown via show run command. Hence, have the operator issue a show logging command to verify logging is on and the level for the syslog server (i.e. trap). R1#show logging Syslog logging: enabled (12 messages dropped, 0 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled) … Console logging: level notifications, 56 messages logged, xml disabled, filtering disabled Monitor logging: level debugging, 0 messages logged, xml disabled, filtering disabled Buffer logging: level informational, 6 messages logged, xml disabled, filtering disabled … Trap logging: level informational, 73 message lines logged Logging to 1.1.1.1 (udp port 514, audit disabled, authentication disabled, encryption disabled, link up), 37 message lines logged, 0 message lines rate-limited, 0 message lines dropped-by-MD, xml disabled, sequence number disabled filtering disabled The table below lists the severity levels and message types for all log data. Severity Level Message Type 0 Emergencies 1 Alerts 2 Critical 3 Errors 4 Warning 5 Notifications 6 Informational 7 Debugging
Configure the network device to log all messages except debugging and send all log data to a syslog server.
Review the configuration and verify that management access to the device is allowed only from the management network address space. The configuration should look similar to the following: access-list 3 permit 192.168.1.10 log access-list 3 permit 192.168.1.11 log access-list 3 deny any log ….. line vty 0 4 access-class 3 in If management access can be gained from outside of the authorized management network, this is a finding.
Configure an ACL or filter to restrict management access to the device from only the management network.
Review the configuration and verify the timeout is set for 60 seconds or less. The SSH service terminates the connection if protocol negotiation (that includes user authentication) is not complete within this timeout period. ip ssh time-out 60
Configure the network devices so it will require a secure shell timeout of 60 seconds or less.
Review the configuration and verify the number of unsuccessful SSH login attempts is set at 3. ip ssh authentication-retries 3
Configure the network device to require a maximum number of unsuccessful SSH logon attempts at 3.
Review the device configuration to determine if the PAD service is enabled. If the PAD service is enabled, this is a finding.
Configure the device to disable the PAD service.
Review the device configuration to verify the "service tcp-keepalives-in" command is configured. If TCP Keep-Alives are not enabled, this is a finding.
Configure the device to enable TCP Keep-Alives.
Review the device configuration and examine all trunk links. Verify the native VLAN has been configured to a VLAN other than the default VLAN 1. If the native VLAN has been configured to VLAN 1, this is a finding.
To ensure the integrity of the trunk link and prevent unauthorized access, the native VLAN of the trunk port should be changed from the default VLAN 1 to its own unique VLAN. The native VLAN must be the same on both ends of the trunk link; otherwise traffic could accidently leak between broadcast domains.
Review the device configuration to determine if trunking has been disabled on access ports. If trunking is enabled on any access port, this is a finding.
Disable trunking on all access ports.
Verify if the switch configuration has 802.1x authentication implemented for all access switch ports connecting to LAN outlets (i.e., RJ-45 wall plates) or devices not located in the telecom room, wiring closets, or equipment rooms using the following procedure: Step 1: Verify that an 802.1x authentication server has been configured similar to the following example: radius-server host x.x.x.x auth-port 1813 key xxxxxxxxxxxxx aaa new-model aaa authentication dot1x default group radius Step 2: Verify 802.1x authentication has been enabled globally on the network device similar to the following example: dot1x system-auth-control Step 3: Verify that all host-facing access switchports are configured to use 802.1x similar to the examples below: interface fastethernet0/2 switchport mode access dot1x port-control auto Note: The “force-authorized” attribute must not be configured in leu of “auto” on the “dot1x port-control” command as this will bypass authentication and enable the switchport in an authorized state. Note: MAC Authentication Bypass (MAB) must be configured on those switch ports connected to devices that do not support an 802.1x supplicant as shown in the following example: interface fastethernet0/2 switchport mode access dot1x mac-auth-bypass If 802.1x authentication or MAB is not configured on all access switch ports connecting to LAN outlets or devices not located in the telecom room, wiring closets, or equipment rooms, this is a finding.
Configure 802.1 x authentication on all access switch ports connecting to LAN outlets (i.e., RJ-45 wall plates) or devices not located in the telecom room, wiring closets, or equipment rooms. Configure MAB on those switch ports connected to devices that do not support an 802.1x supplicant.
Review the device configurations to determine if a dedicated VLAN(s) have been implemented for the management network. VLAN 1 must not be used. If a dedicated VLAN or VLANs have not been established for the management network, this is a finding. If VLAN 1 is used for management, this is also a finding.
Best practices for VLAN-based networks is create a dedicated management VLAN, prune unnecessary ports from gaining access to VLAN 1 as well as the management VLAN, and to separate in-band management, device protocol, and data traffic.
Review the configuration and verify that the auxiliary port is disabled unless a secured modem providing encryption and authentication is connected to it. The following configuration disables the Cisco IOS auxiliary port: line aux 0 no exec Note: The command transport input none must be configured under the line aux 0. However, this is the default and will not be shown in the running configuration.
Disable the auxiliary port. If used for out-of-band administrative access, the port must be connected to a secured modem providing encryption and authentication.
Verify that the following BSDr global commands are not defined in the configuration: ip rcmd rcp-enable ip rcmd rsh-enable These commands have been disabled by default in IOS since version 12.0.
Configure the device to disable BSDr command services.
Review the network element configuration and verify that it is authenticating NTP messages received from the NTP server or peer using a FIPS-approved message authentication code algorithm. FIPS-approved algorithms for authentication are the cipher-based message authentication code (CMAC) and the keyed-hash message authentication code (HMAC). AES and 3DES are NIST-approved CMAC algorithms. The following are NIST-approved HMAC algorithms: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256. Downgrade: If the network device is not capable of authenticating the NTP server or peer using a FIPS-approved message authentication code algorithm, then MD5 can be utilized for NTP message authentication and the finding can be downgraded to a CAT III. If the network element is not configured to authenticate received NTP messages using a FIPS-approved message authentication code algorithm, this is a finding. A downgrade can be determined based on the criteria above.
Configure the device to authenticate all received NTP messages using a FIPS-approved message authentication code algorithm.
If SSH is used for administrative access, then Version 2 must be configured as shown in the following example: ip ssh version 2
Configure the network device to use SSH version 2.
Verify an authentication server is required to access the device and that there are two or more authentication servers defined. If the device is not configured for two separate authentication servers, this is a finding.
Configure the device to use two separate authentication servers.
Review the emergency administration account configured on the network devices and verify that it has been assigned to a privilege level that will enable the administrator to perform necessary administrative functions when the authentication server is not online. If the emergency administration account is configured for more access than needed to troubleshoot issues, this is a finding.
Assign a privilege level to the emergency administration account to allow the administrator to perform necessary administrative functions when the authentication server is not online.
Examine the connection from the OOBM access switch to the managed network elements. Verify which interface is being used at the managed network elements so that it can be determined if the interface is a true OOBM interface.
Physically connected the OOBM access switch to the managed network element OOBM interface.
The managed network element’s OOBM interface must be configured with an IP address from the address space belonging to the OOBM network. After determining which interface is connected to the OOBM access switch, review the managed device configuration and verify that the interface has been assigned an address from the local management address block. In this example, that is 10.1.1.0/24. interface VLAN 101 description Management_VLAN ip address 10.1.1.22 255.255.255.0 … … interface FastEthernet1/6 switchport access vlan 101 switchport mode access
Configure the OOB management interface with an IP address from the address space belonging to the OOBM network.
Review the managed switch configuration and verify that the access port connected to the OOBM access switch has been assigned to the management VLAN. By default, the management VLAN is VLAN 1; however, the management VLAN must be configured to a different VLAN. As shown in the following configuration example, FastEthernet0/1 is the port connected to the OOBM access switch and VLAN 101 is the management VLAN. interface FastEthernet0/1 switchport access vlan 10 switchport mode access ! interface FastEthernet0/2 switchport access vlan 2 switchport mode access ! interface FastEthernet0/3 switchport access vlan 2 switchport mode access ! interface FastEthernet0/4 switchport access vlan 2 switchport mode access This can also be verified by entering a Privileged EXEC show vlan command on the switch CLI as illustrated in the following example output of a Cisco 2950: 2950#show vlan VLAN Name Status Ports ---- ------------------------ --------- ------------------------------- 2 Production active Fa0/2, Fa0/3, Fa0/4, Fa0/5, ... Fa0/21, Fa0/22, Fa0/23, Fa0/24 10 Management active Fa0/1
If the management interface is an access switchport, assign it to a separate management VLAN while the remainder of the access switchports can be assigned to user VLANs belonging to the managed network. This provides some level of separation between the management network and the managed network.
Review the managed switch configuration and verify that an address has been configured for management VLAN from space belonging to the OOBM network that has been assigned to that site. interface VLAN10 ip address 10.1.1.10 255.255.255.0 description Management VLAN Note: The IP address of the switch can be accessed only by nodes connected to ports that belong to the management VLAN. A default gateway address as shown below must be configured using the address of the OOBM gateway router interface connecting to the OOBM access switch. This will ensure that all management traffic is forwarded toward the NOC using the switchport attached to the OOBM access switch. ip default-gateway 10.1.1.1
Assign an IP address to the management VLAN from the address space belonging to the OOBM network.
The management VLAN must be pruned from any VLAN trunk links belonging to the managed network’s infrastructure. By default all the VLANs that exist on a switch are active on a trunk link. Since the switch is being managed via OOBM connection, management traffic should not traverse any trunk links. The following Catalyst IOS configuration is an example of a trunk link with the management VLAN (i.e. 10) pruned from a trunk. interface fastEthernet0/1 switchport trunk encapsulation dot1q switchport mode dynamic desirable switchport trunk native vlan 3 switchport trunk allowed vlan 2-9 This can also be verified with the show interface trunk command as shown below: Switch-A# show interface trunk Port Mode Encapsulation Status Native vlan Fa0/1 desirable 802.1q trunking 3 Port Vlans allowed on trunk Fa0/1 2-9 Port Vlans in spanning tree forwarding state and not pruned Fa0/1 2-5 Note: VTP pruning allows the switch to not forward user traffic for VLANs that are not active on a remote switch. This feature dynamically prunes unneeded traffic across trunk links. VTP pruning needs to be enabled on the server for the VTP domains—after which all VTP clients in the VTP domain will automatically enable VTP pruning. To enable VTP pruning on a Cisco IOS switch, you use the vtp pruning VLAN configuration or global configuration command. Since, the management VLAN will be active on all managed switchs, VTP will never prune this VLAN. Hence, it will have to be manually removed as shown above.
Ensure that the access switchport connecting to the OOBM access switch is the only port with membership to the management VLAN
The management VLAN must be pruned from any VLAN trunk links belonging to the managed network’s infrastructure. By default all the VLANs that exist on a switch are active on a trunk link. Since the switch is being managed via OOBM connection, management traffic should not traverse any trunk links. The following Catalyst IOS configuration is an example of a trunk link with the management VLAN (i.e. 10) pruned from a trunk. interface fastEthernet0/1 switchport trunk encapsulation dot1q switchport mode dynamic desirable switchport trunk native vlan 3 switchport trunk allowed vlan 2-9 This can also be verified with the show interface trunk command as shown below: Switch-A# show interface trunk Port Mode Encapsulation Status Native vlan Fa0/1 desirable 802.1q trunking 3 Port Vlans allowed on trunk Fa0/1 2-9 Port Vlans in spanning tree forwarding state and not pruned Fa0/1 2-5 Note: VTP pruning allows the switch to not forward user traffic for VLANs that are not active on a remote switch. This feature dynamically prunes unneeded traffic across trunk links. VTP pruning needs to be enabled on the server for the VTP domains—after which all VTP clients in the VTP domain will automatically enable VTP pruning. To enable VTP pruning on a Cisco IOS switch, you use the vtp pruning VLAN configuration or global configuration command. Since, the management VLAN will be active on all managed switchs, VTP will never prune this VLAN. Hence, it will have to be manually removed as shown above.
Prune the management VLAN from any VLAN trunk links belonging to the managed network’s infrastructure.
Review the switch configuration and verify that the management VLAN has been assigned an IP address from the management network address block. Following is an example for a Cisco Catalyst switch: interface VLAN 10 description Management VLAN ip address 10.1.1.10 255.255.255.0 Note: The IP address of the switch can be accessed only by nodes connected to ports that belong to the management VLAN.
Configure the management VLAN with an IP address from the management network address block.
Review the device configuration to determine if a VLAN has been established for printers.
Create a VLAN on the device for print type devices and assign printers to the VLAN ID.
A shutdown action puts the interface into the error-disabled state immediately and sends an SNMP trap notification if it receives a frame with a different layer 2 source address that what has been configured or learned for port security. The following Catalyst IOS interface command will shutdown the interface when such an event occurs: switchport port-security violation shutdown
Configure the port to shutdown when insecure hosts are connected to the wall jack.
Review the switch configuration to verify each access port is configured for a single registered MAC address. Configuring port-security on the Cisco switch access port interface will automatically set the maximum number of registered MAC addresses to one. The value will not show up in the configuration of the switch itself. To validate the access port has a maximum value of one for allowable MAC addresses, you must run the following command: Switch# show port-security interface Show Command Example: Switch# port int fa0/1 Port Security :Enabled Port Status :Secure-down Violation Mode :Shutdown Aging Time :0 mins Aging Type :Absolute SecureStatic Address Aging :Disabled Maximum MAC Addresses :1 Some technologies are exempt from requiring a single MAC address per access port; however, restrictions still apply. VoIP or VTC endpoints may provide a PC port so a PC can be connected. Each of the devices will need to be statically assigned to each access port. Another green initiative where a single LAN drop is shared among several devices is called "hot-desking", which is related to conservation of office space and teleworking. Hot-desking is where several people are assigned to work at the same desk at different times, each user with their own PC. In this case, a different MAC address needs to be permitted for each PC that is connecting to the LAN drop in the workspace. Additionally, this workspace could contain a single phone (and possibly desktop VTC endpoint) used by all assignees and the PC port on it might be the connection for their laptop. In this case, it is best not to use sticky port security, but to use a static mapping of authorized devices or implement 802.1x. If this is not a teleworking remote location, this exemption does not apply.
Configure the switch to limit the maximum number of registered MAC addresses on each access switch port to one.
Review the router or switch configuration and verify that two NTP servers have been defined to synchronize time similar to the following example: ntp update-calendar ntp server 129.237.32.6 ntp server 129.237.32.7 Some platforms have a battery-powered hardware clock, referred to in the command-line interface (CLI) as the "calendar," in addition to the software based system clock. The hardware clock runs continuously, even if the router is powered off or rebooted. If the software clock is synchronized to an outside time source via NTP, it is a good practice to periodically update the hardware clock with the time learned from NTP. Otherwise, the hardware clock will tend to gradually lose or gain time (drift) and the software clock and hardware clock may become out of synchronization with each other. The ntp update-calendar command will enable the hardware clock to be periodically updated with the time specified by the NTP source. The hardware clock will be updated only if NTP has synchronized to an authoritative time server. To force a single update of the hardware clock from the software clock, use the clock update-calendar command in user EXEC mode. Note: Lower end router models (i.e., 2500 series) and access switches (i.e. 2950, 2970, etc) do not have hardware clocks, so this command is not available on those platforms. Any NTP-enabled device that receives and accepts time from a stratum-n server can become a stratum-n+1 server. However, an NTP-enabled device will not accept time updates from an NTP server at a higher stratum; thereby enforcing a tree-level hierarchy of client-server relationships and preventing time synchronization loops. To increase availability, NTP peering can be used between NTP servers. Hence the following example configuration could be used to provide the necessary redundancy: ntp update-calendar ntp server 129.237.32.6 ntp peer 129.237.32.7 Alternative to querying an NTP server for time is to receive NTP updates via server that is broadcasting or multicasting the time update messages. The following interface command would be configured to receive an NTP broadcast message: ntp broadcast client The above command must be configured on two interfaces or there must be two NTP servers on the same LAN segment broadcasting NTP messages. The following interface command would be configured to receive an NTP multicast message: ntp multicast client 239.x.x.x For multicast, two different administratively scoped multicast groups can be used—one for each NTP server. In addition, the router or MLS must also have ip pim dense-mode configured on the interface as well as global ip multicast-routing.
Configure the device to use two separate NTP servers.
Review the device configuration to determine if the call home service or feature is disabled on the device. On a Cisco product, you will not see the call-home service in the running config unless it's enabled. If the call home service is enabled on the device, this is a finding. Note: This feature can be enabled if the communication is only to a server residing in the local area network or enclave.
Configure the network device to disable the call home service or feature. The command below will disable the call-home service on a Cisco device. Example: hostname(config)# no service call-home Note: This feature can be enabled if the communication is only to a server residing in the local area network or enclave.