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 device interface ACLs to verify all deny statements are logged. Cisco IOS example: interface FastEthernet 0/0 description external interface peering with ISP or non-DoD network ip address 199.36.92.1 255.255.255.252 ip access-group 100 in … access-list 100 deny icmp any any fragments log access-list 100 deny ip 169.254.0.0 0.0.255.255 any log access-list 100 deny ip 10.0.0.0 0.255.255.255 any log access-list 100 deny ip 172.16.0.0 0.15.255.255 any log access-list 100 deny ip 192.168.0.0 0.0.255.255 any log access-list 100 permit icmp any host 199.36.92.1 echo-reply access-list 100 permit icmp any host 199.36.90.10 echo-reply access-list 100 deny icmp any any log access-list 100 deny ip any any log
Configure interface ACLs to log all deny statements.
Have the SA display the configuration settings that enable this feature. Review the network topology diagram, and review VPN concentrators. Determine if tunnel mode is being used by reviewing the configuration. Examples: In CISCO Router(config)# crypto ipsec transform-set transform-set-name transform1 Router(cfg-crypto-tran)# mode tunnel OR in Junos edit security ipsec security-association sa-name] mode tunnel
Establish the VPN as a tunneled VPN. Terminate the tunneled VPN outside of the firewall. Ensure all host-to-host VPN are established between trusted known hosts.
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 ingress filter and verify SNMP has been restricted. SNMP operates on the TCP/UDP port 161.
The administrator will change the router configuration to block SNMP traffic at the perimeter.
Interfaces peering with commercial ISPs or other non-DoD network sources: Review ACLs configured on external interfaces of network devices connected to untrusted networks (e.g., ISP and other non-DoD networks) are blocking inbound ICMP messages. The following are exceptions are allowed inbound. Exceptions: ICMP messages Echo Reply (type 0) ICMP Destination Unreachable – fragmentation needed (type 3 - code 4) Source Quench (type 4) Parameter Problem (type 12). External Interfaces peering with NIPRNet or SIPRNet: This rule is NA. If ICMP messages are not blocked inbound on external facing interfaces to an ISP and other non-DoD network, this is a finding. Cisco IOS Example: interface FastEthernet 0/0 description external interface peering with ISP or non-DoD network ip address 199.36.92.1 255.255.255.252 ip access-group 100 in … ! Specifically block ICMP fragments access-list 100 deny icmp any any fragments log ! Allow inbound ping response to edge router interface access-list 100 permit icmp any host 199.36.92.1 echo-reply ! Allow inbound ping response to public server interface access-list 100 permit icmp any host 199.36.90.10 echo-reply ! Allow Path MTU to function access-list 100 permit icmp any any packet-too-big ! Allow flow control access-list 100 permit icmp any any source-quench ! Allow bad header message to return access-list 100 permit icmp any any parameter-problem ! And explicitly block all other ICMP packets access-list 100 deny icmp any any log
Configure ACLs on external interfaces of network devices connected to untrusted networks (e.g., ISP and other non-DoD networks) to block inbound ICMP messages. Exceptions to this rule are listed below. Exceptions: ICMP messages Echo Reply (type 0) ICMP Destination Unreachable – fragmentation needed (type 3 - code 4) Source Quench (type 4) Parameter Problem (type 12)
Review ACLs configured on network devices connected to untrusted networks (e.g., ISP and other non-DoD networks) are blocking outbound ICMP messages. The following are exceptions are allowed outbound. Exceptions: ICMP messages Packet-too-Big (type 3, code 4) Source Quench (type 4) Echo Request (type 8) If ICMP messages are not blocked outbound, this is a finding. Cisco IOS Example: interface FastEthernet 0/1 description link to Internal Network ip address 10.0.0.1 255.255.255.0 ip access-group 102 in … ! Allow outbound ping request from LAN subnet access-list 102 permit icmp 10.0.0.0 0.255.255.255 any echo-request ! Allow Path MTU to function access-list 102 permit icmp any any packet-too-big ! Allow flow control access-list 102 permit icmp any any source-quench ! And explicitly block all other ICMP packets access-list 102 deny icmp any any log
Configure ACLs on network devices to block outbound ICMP messages. Exceptions to this rule are listed below. Exceptions: ICMP messages Packet-too-Big (type 3, code 4) Source Quench (type 4) Echo Request (type 8)
Review the device configuration to determine if ACLs block ICMP Type 11 - Time exceeded outbound to untrusted networks (e.g., ISP and other non-DoD networks). If ICMP Type 11 - Time Exceeded is not blocked outbound on the network device, this is a finding. Cisco IOS Example: interface FastEthernet 0/1 description LAN link ip address 10.0.0.0 255.255.255.0 ip access-group 100 in . access-list 100 deny icmp any any time-exceeded log access-list 100 permit icmp any any echo-request access-list 100 permit icmp any any packet-too-big access-list 100 permit icmp any any source-quench access-list 100 deny ip any any log
Configure an ACL on the network device to block ICMP Type 11 - Time Exceeded outbound to untrusted networks (e.g., ISP and other non-DoD networks).
Review the device configuration to determine if authentication is configured for all IGP peers. If authentication is not configured for all IGP peers, this is a finding.
Configure authentication for all IGP peers.
Review the router configuration and compare it against the network documentation (topology diagrams and peering agreements). Verify that each BGP peering session is configured with the correct IP address and remote Autonomous System Number (ASN). If any BGP peering session is not configured with the correct IP address and remote ASN, this is a finding.
Configure each BGP peering session to the specific IP address of the peer router and remote ASN assigned to the organization controlling that peer.
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. Below is an example of assigning a privilege level to a local user account and changing the default privilege level of the configure terminal command. username junior-engineer1 privilege 7 password xxxxxx privilege exec level 7 configure terminal The above example only covers local accounts. You will also need to check the accounts and their associated privilege levels configured in the authentication server. You can also use TACACS+ for even more granularity at the command level as shown in the following example: user = junior-engineer1 { password = clear "xxxxx" service = shell { set priv-lvl = 7 } }
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 router configurations to ensure LLDPs are not included in the global configuration or LLDPs are not included for each active external interface. On Cisco routers ensure "no cdp run" is included in the global configuration or "no cdp enable" is included for each active external interface. If LLDPs are configured globally or on any external facing interfaces, this is a finding.
Configure the device so Link Layer Discovery Protocols are not included in the global configuration or Link Layer Discovery Protocols are not included for each active external interface.
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.
Review the device configuration to determine if the configuration auto-loading feature is disabled. If the configuration auto-loading feature is enabled when the device is connected to an operational network, this is a finding.
Disable the configuration auto-loading feature, when connected to an operational network.
Review the configuration to determine if source routing is enabled. The IOS command no ip source-route must be included in the configuration.
Configure the router to disable IP source routing.
Review the device configuration to determine if IP Proxy ARP is disabled on all external interfaces. If IP Proxy ARP is enabled on external interfaces, this is a finding.
Disable IP Proxy ARP on all external interfaces.
IP directed broadcast is disabled by default in IOS version 12.0 and higher so the command "no ip directed-broadcast" will not be displayed in the running configuration--verify that the running configuration does not contain the command "ip directed-broadcast". For versions prior to 12.0 ensure the command "no ip directed-broadcast" is displayed in the running configuration. If IP directed broadcasts are enabled on layer 3 interfaces, this is a finding.
Disable IP directed broadcasts on all layer 3 interfaces.
Review the device configuration to determine if controls have been defined to ensure the router does not send ICMP unreachables, redirects, and mask replies out to any external interfaces. If ICMP unreachables notifications, mask replies, and redirects are enabled on external interfaces, this is a finding.
Disable ICMP unreachable notifications, mask replies, and redirects on all external interfaces.
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 device configuration to determine if BOOTP services are enabled. If BOOTP is enabled, this is a finding.
Configure the device to disable all BOOTP services.
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 device configuration to validate uRPF or an egress ACL has been configured on all internal interfaces. URPF Example: interface FastEthernet 0/0 description downstream link to enclave LAN ip address 199.36.90.1 255.255.255.0 ip verify unicast source reachable-via rx 102 access-list 102 deny ip any any log ACL Example: interface FastEthernet 0/0 description downstream link to our network ip address 199.36.90.1 255.255.255.0 ip access-group 102 in . . . access-list 102 permit tcp any any established access-list 102 permit udp host [external DNS] any eq domain access-list 102 permit udp host [external DNS] any gt 1023 access-list 102 permit tcp [internal network] [wildcard mask] any eq ftp-data access-list 102 permit tcp [internal network] [wildcard mask] any eq ftp access-list 102 permit tcp [internal network] [wildcard mask] any eq http access-list 102 permit . . . . . . . access-list 102 deny any
Configure the network device from accepting any outbound IP packet that contains an illegitimate address in the source address field by enabling uRPF Strict mode or via egress ACL.
Review the device configuration to determine if TCP Intercept has been configured to mitigate TCP SYN Flood attacks. If TCP Intercept has not been implemented, this is a finding. CAVEAT: If the site has implemented SYN flood protection for the network using the perimeter firewall or IPS (or an IDS if it is configured to dynamically configure upstream router to block the attack), there is not an additional requirement to implement it on the router.
Configure the device to use TCP Intercept to protect against TCP SYN attacks from outside the network.
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.
Base Procedure: The administrator will bind the ingress ACL filtering packets entering the network to the external interface in an inbound direction. Note: All filters must be applied to the appropriate interfaces on an inbound direction. Ingress filtering is applied to all traffic entering the enclave. The ingress filter would be bound to all external interfaces.
Bind the ingress ACL to the external interface (inbound) and the egress ACL to the internal interface (inbound).
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 network topology diagram, and review VPN concentrators. Verify that L2TP is not permitted into the enclave's private network. L2TP uses TCP and UDP ports 1701. See the PPS Vulnerability Assessment for additional protocol guidance and reference the Backbone Transport STIG for exceptions. If L2TP is not filtered outbound, this is a finding.
Terminate L2TP tunnels at the enclave perimeter, either in the DMZ or a service network for filtering and content inspection before passing traffic to the enclave's private network.
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 running config of the router that connects to an AG and verify that each permit statement of the ingress ACL is configured to only permit packets with destination addresses of the site’s NIPRNet address space or that belonging to the address block assigned by the AG network service provider. Note: An Approved Gateway (AG) is any external connection from a DoD NIPRNet enclave to an Internet Service Provider, or network owned by a contractor, or non-DoD federal agency that has been approved by either the DoD CIO or the DoD Component CIO. This AG requirement does not apply to commercial cloud connections when the Cloud Service Provider (CSP) network is connected via the NIPRNet Boundary Cloud Access Point (BCAP).
Insure the ingress ACL for any interface connected to an AAG is configured to only permit packets with a destination address belonging to the sites address block.
Review the configuration of the router connecting to the AG and verify that there are no BGP neighbors whose remote AS belongs to the AG service provider. Note: An Approved Gateway (AG) is any external connection from a DoD NIPRNet enclave to an Internet Service Provider, or network owned by a contractor, or non-DoD federal agency that has been approved by either the DoD CIO or the DoD Component CIO. This AG requirement does not apply to commercial cloud connections when the Cloud Service Provider (CSP) network is connected via the NIPRNet Boundary Cloud Access Point (BCAP).
The only method to be used to reach the AG will be through a static route.
Review the configuration of the router connecting to the AG and verify that there are no routes being redistributed into the enclave from the AG. Note: An Approved Gateway (AG) is any external connection from a DoD NIPRNet enclave to an Internet Service Provider, or network owned by a contractor, or non-DoD federal agency that has been approved by either the DoD CIO or the DoD Component CIO. This AG requirement does not apply to commercial cloud connections when the Cloud Service Provider (CSP) network is connected via the NIPRNet Boundary Cloud Access Point (BCAP).
Use distribute lists prefix lists to insure AG routes are not redistributed into the NIPRNet BGP or sites IGP (OSPF, EIGRP, RIP, etc).
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 to verify that identification support is not enabled via "ip identd" global command. It is disabled by default. If identifications support is enabled, this is a finding.
Configure the device to disable identification support.
Review the device configuration to determine if DHCP services are running. If DHCP services are enabled, this is a finding.
Configure the device to disable DHCP services.
Review the configuration to determine if gratuitous ARP is disabled. If gratuitous ARP is enabled, this is a finding.
Disable gratuitous ARP on the device.
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.
Determine if the Cisco Layer 3 device supports the use of CEF switching mode. If the current IOS version available for the device does not support CEF in any capacity, this requirement will be NA. Most Cisco Layer 3 devices will support CEF in either Distributed or Central Mode. 1. If the device supports Distributed CEF Mode (dCEF), verify that it has been globally enabled. 2. If the device only supports Central CEF Mode (CEF), verify the function has been globally enabled. Many of the devices have CEF enabled by default and many of the configurations will not show if CEF functionality is enabled. To verify CEF is running on a Cisco Layer 3 device with IOS run the following command: router#show ip cef %CEF not running If CEF is shown to be not running, this is a finding.
1. If the Cisco Layer 3 IP device is not enabled by default, enable Distributed CEF Mode globally. Router(config)# ip cef distributed 2. If Distributed CEF Mode is not supported, enable Centralized CEF Mode globally. Router(config)# ip cef 3. If CEF is not supported in any capacity on the device, this finding is NA.
Review the device configuration to validate threshold filters or timeout periods are set for dropping excessive half-open TCP connections. For timeout periods, the time should be set to 10 seconds or less. If the device can not be configured for 10 seconds or less, it should be set to the least amount of time allowable in the configuration. Threshold filters will need to be determined by the organization for optimal filtering. IOS Configuration Example: ip tcp synwait-time 10
Configure the device to drop half-open TCP connections through threshold filtering or timeout periods.
Identify the device or devices that make up the perimeter defense. Review the configuration of the premise routers and firewalls and verify that the filters are IAW DoD 8551. SA will review PPS Vulnerability Assessment of every port allowed into the enclave and apply all appropriate mitigations defined in the VA report. All ports and protocols allowed into the enclave must be registered in the PPSM database. Note: It is the responsibility of the enclave owner to have the applications the enclave uses registered in the PPSM database.
The SA will utilize ingress and egress ACLs to restrict traffic in accordance with the guidelines contained in DOD Instruction 8551.1 for all services and protocols required for operational commitments.
Review the running configuration to determine if key authentication has been defined with an infinite lifetime. If an infinite key has not been configured, this is a finding. OSPFv2 Example interface GigabitEthernet0/1 ip address 10.1.12.2 255.255.255.0 ip ospf authentication key-chain OSPF_KEY key chain OSPF_KEY key 1 key-string WWWWW send-lifetime 16:00:00 Feb 22 2017 16:00:00 Aug 22 2017 accept-lifetime 16:00:00 Feb 22 2017 16:00:00 Aug 22 2017 cryptographic-algorithm hmac-sha-256 key 2 key-string XXXXX send-lifetime 16:00:00 Aug 21 2017 16:00:00 Feb 20 2018 accept-lifetime 16:00:00 Aug 21 2017 16:00:00 Feb 20 2018 cryptographic-algorithm hmac-sha-256 key 99999 key-string YYYYY send-lifetime 15:59:00 Feb 20 2018 infinite accept-lifetime 15:59:00 Feb 20 2018 infinite cryptographic-algorithm hmac-sha-256 Notes: Note: Only Interior Gateway Protocols (IGPs) use key chains. Notes: When using authentication keys, it is imperative the site is in compliance with the NTP policies. The router has to know the time! Notes: Must make this a high number to ensure you have plenty of room to put keys in before it. All subsequent keys will be decremented by one (9998, 9997...).
This check is in place to ensure keys do not expire creating a DOS due to adjacencies being dropped and routes being aged out. The recommendation is to use two rotating six month keys with a third key set as infinite lifetime. The lifetime key should be changed 7 days after the rotating keys have expired and redefined.
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.
The enclave perimeter requirement for filtering, to include JTF-GNO PPS filtering rules, and monitoring traffic will be enforced for any traffic from the AG. All traffic leaving the enclave, regardless of the destination--AG or NIPRNet addresses, will be filtered by the premise router's egress filter to verify that the source IP address belongs to the enclave. Note: An Approved Gateway (AG) is any external connection from a DoD NIPRNet enclave to an Internet Service Provider, or network owned by a contractor, or non-DoD federal agency that has been approved by either the DoD CIO or the DoD Component CIO. This AG requirement does not apply to commercial cloud connections when the Cloud Service Provider (CSP) network is connected via the NIPRNet Boundary Cloud Access Point (BCAP).
Ensure the perimeter is protected from this path. A deny by default policy is enforced at this connection and the site is in compliance with all PPS 13 and 14 boundaries.
Inspect the device configuration to validate IPv6 router advertisement suppression is enabled on all external-facing interfaces. This is applicable to all IPv6-enabled interfaces connected to an IP backbone (i.e. NIPRNet, SIPRNet, etc), backdoor link, or an alternate gateway (AG). The configuration to suppress IPv6 router advertisements will look similar to the following on IOS devices: interface fa0/0 ipv6 address 2001::0:0:1/64 ipv6 nd ra suppress Note: The suppression of IPv6 router advertisement is only applicable on IPv6-enabled interfaces. An IOS interface is enabled for IPv6 via the interface command ipv6 enable, which will automatically create the ipv6 link-local address, or the interface command ipv6 address. With the exception of Ethernet and FDDI, router advertisements are suppressed by default; hence, you will not see this command.
Configure the network device to enable route advertisement suppression on all external facing have IPv6 enabled on the interface.
Review the device configuration to determine if each eBGP peer is authenticated with a unique password. If a unique password is not configured for each eBGP peer, this is a finding.
Configure unique password for each eBGP neighbor.
Review device configuration for key expirations of 180 days or less. If rotating keys are not configured to expire at 180 days or less, this is a finding.
Configure the device so rotating keys expire at 180 days or less.
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 active configuration to determine if controls have been defined to ensure router has ICMPv6 unreachables or redirects disabled any external interfaces. interface FastEthernet 0/0 ipv6 address 2001::0:0:1/64 ip access-group 101 in no ipv6 redirects no ipv6 unreachables no ipv6 mask-reply In addition, host unreachable messages will be sent in reply to black-hole routes. Be sure that the Null0 interface also has no ip unreachable defined if there are static routes destined for this interface. interface null0 no ipv6 unreachables
The network element configuration must be changed to ensure ICMPv6 unreachables and redirects are disabled at all external interfaces.
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.
Review the configuration and verify the loopback interface address is used as the source address when originating TACACS+ or RADIUS traffic. If the device is managed from an OOB management network, the OOB interface must be used instead. Verify that a loopback address has been configured as shown in the following example: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … ip tacacs source-interface Loopback0 ip radius source-interface Loopback0 Note: IOS allows multiple loopback interfaces to be defined.
Configure the device to use its loopback or OOB management interface address as the source address when originating authentication services traffic.
Review the configuration and verify the loopback interface address is used as the source address when originating syslog traffic. If the device is managed from an OOB management network, the OOB interface must be used instead. The configuration should look similar as shown in the following example: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … logging on logging host 192.168.1.100 logging source-interface Loopback0 Note: IOS allows multiple loopback interfaces to be defined.
Configure the device to use its loopback or OOB management interface address as the source address when originating syslog traffic.
Review the configuration and verify the loopback interface address is used as the source address when originating NTP traffic. If the device is managed from an OOB management network, the OOB interface must be used instead. The configuration should look similar as shown in the following example: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … ntp server 129.237.32.2 ntp server 142.181.31.6 ntp source Loopback0 Note: IOS allows multiple loopback interfaces to be defined.
Configure the device to use its loopback or OOB management interface address as the source address when originating NTP traffic.
Review the configuration and verify the loopback interface address is used as the source address when originating SNMP traffic. If the device is managed from an OOB management network, the OOB interface must be used instead. The configuration should look similar as shown in the following example: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … … snmp-server trap-source Loopback0 Note: IOS allows multiple loopback interfaces to be defined.
Configure the device to use its loopback or OOB management interface address as the source address when originating SNMP traffic.
Review the configuration and verify the loopback interface address is used as the source address when originating NetFlow traffic. If the device is managed from an OOB management network, the OOB interface must be used instead. The configuration should look similar as shown in the following example: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … … ip flow-sampling-mode packet-interval 100 ip flow-export destination 192.168.3.33 9991 ip flow-export source Loopback0 Note: IOS allows multiple loopback interfaces to be defined.
Configure the router to use its loopback or OOB management interface address as the source address when originating NetFlow traffic.
Review the configuration and verify a loopback interface address is used as the source address when originating TFTP or FTP traffic. Router# show run Building configuration... ! ! interface Loopback0 description Loopback interface ip address x.x.x.x 255.255.255.255 no ip directed-broadcast ! ... ip telnet source-interface Loopback0 ip tftp source-interface Loopback0 ip ftp source-interface Loopback0 If the device is managed from an OOB management network, the OOB interface must be used instead. Router# show run Building configuration... ! ... ip tftp source-interface fe0/0 ip ftp source-interface fe0/0
Configure the network device to use a loopback interface address as the source address when originating TFTP or FTP traffic. Example: Router(config)# interface loopback 0 Router(config-if)# ip address x.x.x.x 255.255.255.255 Router(config)# ip ftp source-interface loopback0 Router(config)# ip tftp source-interface loopback0 If an OOB management interface is being used, configure the interface for TFTP or FTP traffic origination. Example: Router(config)# ip ftp source-interface fe0/0 Router(config)# ip tftp source-interface fe0/0
Verify that the peering session with iBGP neighbors use the loopback address as the source address as shown in the example below: interface loopback 0 ip address 10.10.2.1 255.255.255.255 … router bgp 100 neighbor 200.200.200.2 remote-as 200 neighbor 188.20.120.2 remote-as 144 neighbor 10.10.2.2 remote-as 100 neighbor 10.10.2.2 update-source Loopback0 neighbor 10.10.2.3 remote-as 100 neighbor 10.10.2.3 update-source Loopback0
Configure the network device's loopback address as the source address for iBGP peering.
Review the firewall filter or have the SA provide the router filter mitigating the vulnerability. IOS Procedure: Verify that an ACL for IPv6 has been defined to deny packets with unknown or invalid payload, and log all violations. The ACL should be defined on the ingress and egress filters and should look as shown in the following example: ipv6 access-list inbound-to-enclave remark prohibit unknown protocols deny ipv6 any any undetermined-trans log …
Ensure the undetermined transport command is implemented.
The Routing Header is identified by a Next Header value of 43 (0x2B). To drop all types including type 2 Mobile IPv6 (MIPv6) a filter can be defined to drop the Routing Header 43 (0x2B). If MIPv6 is required a permit will be required for Routing Header 43 (0x2B) Type 2, and then drop the remaining Routing Headers 43 (0x2B). Verify that a filter for IPv6 traffic has been defined to deny packets that include a Routing Header of Type 0, Type 1, and Type 3-255 by all external router interfaces. The ACL should be defined on the ingress filters of the firewall or perimeter router. If a filter to deny packets with Routing Header of Type 0, Type 1, and Type 3-255 is not in place on the external router interfaces, this is a finding. IOS example filtering Type 0 only: ipv6 access-list inbound-to-enclave remark prohibit IPv6 routing header type0 deny ipv6 any any routing-type 0 log … IOS example filtering packets with a Next-Header Routing: ipv6 access-list inbound-to-enclave remark prohibit IPv6 routing header type0 deny ipv6 any any routing … JUNOS example filtering packets with a Next-Header Routing: firewall { family inet6 { filter inbound-to-enclave { term routing-header { from { next-header routing; } then { reject; }
IPv6 traffic with a Routing Header Type 0, 1, 3-255 must be dropped by all external router interfaces.
Review the configuration and ensure only approved ICMP types and codes are permitted into the enclave. Use source and destination filtering where appropriate. Apply the ICMP fragment filter to prevent DOS. interface FastEthernet 0/0 description upstream link toward DoD Backbone ipv6 address 2001:db8:60::f14:65a1 ipv6 traffic-filter inbound-to-enclave in ipv6 access-list inbound-to-enclave remark prohibit use of …. remark Specifically block ICMP fragments deny icmp any any fragments log remark Allow inbound ping response to edge router interface permit icmp any 2001:db8:60::f14:65a1 echo-reply remark Allow inbound ping response to public server interface permit icmp any 2001:db8:60::f14:65b1 echo-reply remark Allow Path MTU to function permit icmp any any packet-too-big remark Allow time exceeded messages for loops permit icmp any any time-exceeded remark Allow bad header message to return permit icmp any any parameter-problem remark ND ICMP types generally, but not RD permit icmp any any nd-na permit icmp any any nd-ns remark And explicitly block all other ICMP packets deny ipv6 any any log
The network element must be configured to include controls to block inbound exploitable ICMP traffic message types.
Review the configuration and ensure only approved ICMP types are permitted to exit the enclave. IOS example interface FastEthernet 0/0 description upstream to DoD backbone ipv6 address 2001:db8:60::f14:65a1 ipv6 traffic-filter outbound-from-enclave in ipv6 access-list outbound-from-enclave ….. remark Allow outbound ping request from LAN subnet permit icmp 2001:db8:60::/44 2000::/3 echo-request remark Allow Path MTU to function permit icmp 2001:db8:60::/44 2000::/3 packet-too-big remark Allow ND ICMP types generally, but not RD permit icmp any any nd-na permit icmp any any nd-ns remark Explicitly block all other ICMP packets deny icmp any any log-input remark And explicitly deny by default deny ipv6 any any log-input
The network element must be configured to include controls to block outbound ICMP traffic message types.
Review the router configuration and verify that all internal interfaces have been configured with an ACL or filter on an inbound direction.
Bind the ingress ACL to the external interface (inbound) and the egress ACL to the internal interface (inbound).
Review the perimeter device configuration to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the local host IP address space of 127.0.0.0/8. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly. Config Example: ! interface FastEthernet 0/0 description to NIPRNet core router ip address 199.36.92.1 255.255.255.252 ip access-group 100 in ... access-list 100 deny ip 127.0.0.0 0.255.255.255 any log !
Configure the perimeter device to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the local host IP address space of 127.0.0.0/8. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly.
Review the perimeter device configuration to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the link-local IP address space of 169.254.0.0/16. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly. Config Example: ! interface FastEthernet 0/0 description to NIPRNet core router ip address 199.36.92.1 255.255.255.252 ip access-group 100 in ... access-list 100 deny ip 169.254.0.0 0.0.255.255 any log
Configure the perimeter device to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the local host IP address space of 169.254.0.0/16. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly.
External Interfaces peering with NIPRNet or SIPRNet: Review the inbound ACLs on external facing interfaces of perimeter devices attached to the NIPR or SIPR to validate access control lists are configured to block, deny, or drop inbound IP addresses using RFC5735 and RFC6598. Examples of address space specified in RFC5735 and RFC6598: 0.0.0.0 255.0.0.0 100.64.0.0 255.192.0.0 192.0.0.0 255.255.255.0 192.0.2.0 255.255.255.0 198.18.0.0 255.254.0.0 198.51.100.0 255.255.255.0 203.0.113.0 255.255.255.0 224.0.0.0 240.0.0.0 240.0.0.0 240.0.0.0 External Interfaces peering with commercial ISPs or other non-DoD network sources: Review the inbound ACLs on external facing interfaces of perimeter devices to validate access control lists are configured to block, deny, or drop inbound IP addresses specified in both RFC5735 and RFC6598. Along with network address space specified in RFC5735 and RFC6598, perimeter devices connected to commercial ISPs for Internet or other non-DoD network sources will need to be reviewed for a full bogon list that includes IP space that has been allocated to the RIRs but not assigned by the RIR to an ISP or other end-user can be obtained at the link below, as it is updated regularly. If RFC5735 and RFC 6598 address space isn't blocked on the external interface, this is a finding.
Configure inbound ACLs on external facing interfaces of perimeter devices peering with NIPRNet or SIPRNet to block, deny, or drop inbound IP addresses specified in RFC5735 and RFC6598. Configure inbound ACLs on external facing interfaces of perimeter devices peering with commercial ISPs or other non-DoD networks to block, deny, or drop inbound IP addresses specified in RFC5735 and RFC6598. Along with network address space specified in RFC5735 and RFC6598, perimeter devices connected to commercial ISPs for Internet or other non-DoD network sources will need to be reviewed for a fullbogon list that includes IP space that has been allocated to the RIRs but not assigned by the RIR to an ISP or other end-user can be obtained at the link below, as it is updated regularly. http://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt
Review the perimeter device configuration to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the RFC1918 IP address space of 10.0.0.0/8, 172.16.0.0 /12, and 192.168.0 /16. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly. Config Example: interface FastEthernet 0/0 description to NIPRNet core router ip address 199.36.92.1 255.255.255.252 ip access-group 100 in ….. access-list 100 deny ip 10.0.0.0 0.255.255.255 any log access-list 100 deny ip 172.16.0.0 0.15.255.255 any log access-list 100 deny ip 192.168.0.0 0.0.255.255 any log
Configure the perimeter device to ensure access control lists are configured to block, deny, or drop inbound IP addresses using the RFC1918 IP address space of 10.0.0.0/8, 172.16.0.0 /12, and 192.168.0 /16. Depending on the security posture of the access control list, this requirement may be met explicitly or inexplicitly.
Review the device configuration to ensure FEC0::/10 IP addresses are not defined. If FEC0::/10 IP addresses are defined, this is a finding.
Configure the device using authorized IP addresses.
Base Procedure: Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or implicitly. If ingress and egress ACLs for IPv6 have not been defined to deny Site Local Unicast Addresses and log all violations, this is a finding.
The administrator will configure the router ACLs to restrict IP addresses that contain any Site Local Unicast addresses.
Review the device configuration to ensure filters are in place to restrict inbound IP addresses explicitly, or inexplicitly. Verify that an ingress ACL for IPv6 has been defined to deny IPv6 Loopback, and log all violations. If the appropriate filters are not configured and applied, this is a finding.
Configure and apply the filters to restrict IP addresses that contain any loopback addresses.
Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or implicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny the Unspecified Address and log all violations. If the appropriate filters are not configured and applied, this is a finding.
The administrator will configure the router ACLs to restrict IP addresses that contain any Unspecified Address.
Review the perimeter router configuration to ensure filters are in place to restrict the IP addresses. Verify that ingress and egress ACLs for IPv6 have been defined to deny the multicast source addresses and log all violations.
Configure the perimeter router access control lists to deny any IPv6 multicast address used as a source address.
Base Procedure: Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or inexplicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny the embedded IPv4-compatible IPv6 addresses and log all violations.
The administrator will configure the router ACLs to restrict IP addresses that contain any embedded IPv4-compatible IPv6 addresses.
Base Procedure: Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or inexplicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny the embedded IPv4-mapped IPv6 addresses and log all violations.
The administrator will configure the router ACLs to restrict IP addresses that contain any embedded IPv4-mapped IPv6 addresses.
Base Procedure: Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or inexplicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny the Unique Local Unicast addresses and log all violations.
The administrator will configure the router ACLs to restrict IP addresses that contain any Unique Local Unicast addresses.
IOS Procedure: Review all Cisco routers to ensure that CEF has been enabled. The configuration should look similar to the following: ipv6 cef
The IAO will ensure that the ipv6 cef command has been configured on Cisco routers.
Unicast Strict mode: Review the router configuration to ensure uRPF has been configured on all internal interfaces.
The network element must be configured to ensure that an ACL is configured to restrict the router from accepting any outbound IP packet that contains an external IP address in the source field.
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 ISATAP tunnels are terminated on the infrastructure routers or L3 switches within the enclave. Example configuration of an ISATAP tunnel endpoint: interface tunnel 1 no ip address no ip redirects tunnel source ethernet 1 tunnel mode ipv6ip isatap ipv6 address 2001:0DB8::/64 eui-64 no ipv6 nd suppress-ra
Terminate ISATAP tunnels at the infrastructure router to prohibit tunneled traffic from exiting the enclave perimeter prior to inspection by the IDS, IPS, or firewall.
Base Procedure: Specifying the IPv4 address of the 6to4 relay on the 6to4 router can mitigate these vulnerabilities.
Define a filter that allows 6to4 tunneling from trusted 6to4 relays.
Inspect the network device configuration to validate Teredo packets, UDP port 3544 is blocked both inbound to the enclave and outbound from the enclave. This requirement must be administered on either the perimeter router or firewall. If Teredo is not blocked one of these devices, this is a finding.
Configure either the perimeter router or firewall to block UDP port 3544 traffic inbound and outbound.
Base Procedure:Review network diagram in the STIG and ensure the architecture is designed correctly. The interface adjacent to the IPv4 LAN interface must not deploy IPv6 over IPv4. The techniques include using manually configured tunnels, generic routing encapsulation (GRE) tunnels, semiautomatic tunnel mechanisms such as tunnel broker services, and fully automatic tunnel mechanisms such as 6to4 for the WAN and intra-site automatic tunnel addressing protocol (ISATAP).
If NAT/PT is required the tunnel needs to be removed.
Review network diagram in the STIG and ensure the architecture is designed correctly. The interface facing the IPv4 LAN network must not receive IPv6 traffic. This can be accomplished by not having IPv6 on the interface supporting the IPv4 network. In addition a filter can be added to deny IPv6 at this interface. If interfaces supporting IPv4 in NAT-PT receive IPv6 traffic, this is a finding.
This can be accomplished by not having IPv6 enabled on the interface supporting the IPv4 network. In addition a filter can be added to deny IPv6 at the interface.
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.
Review the device configuration to determine if IPSec tunnels used in transiting management traffic are filtered to only accept authorized traffic based on source and destination IP addresses of the management network. If filters are not restricting only authorized management traffic into the IPSec tunnel, this is a finding.
Configure filters based on source and destination IP address to restrict only authorized management traffic into IPSec tunnels used for transiting management data.
Verify the configuration at the remote VPN end-point is a mirror configuration as that reviewed for the local end-point.
Configure he crypto access-list used to identify the traffic to be protected so that it is a mirror (both IP source and destination address) of the crypto access list configured at the remote VPN peer.
Verify that the OOBM interface is an adjacency only in the IGP routing domain for the management network. The following would be an example where EIGRP is run on the management network 10.0.0.0 and OSPF in the managed network 172.20.0.0. The network 10.1.20.0/24 is the OOBM backbone and 10.1.1.0 is the local management LAN connecting to the OOBM interfaces of the managed network (i.e., the private and service network) elements. interface Serial0/0 description to_OOBM_Backbone ip address 10.1.20.3 255.255.255.0 interface Fastethernet 0/0 description Enclave_Management_LAN ip address 10.1.1.1 255.255.255.0 interface Fastethernet 0/1 description to_our_PrivateNet ip address 172.20.4.2 255.255.255.0 interface Fastethernet 0/2 description to_our_ServiceNet ip address 172.20.5.2 255.255.255.0 ! router ospf 1 network 172.20.0.0 ! router eigrp 12 network 10.0.0.0 passive-interface Fastethernet 0/1 Note: the passive-interface command is configured to avoid building an EIGRP adjacency with a managed router, while at the same time, enabling EIGRP to advertise the enclave’s management subnet to the EIGRP neighbors of the management network backbone. If the non-dedicated OOBM gateway and the NOC gateway are not connected by an OOB backbone—that is, connectivity is provided over an IP backbone (i.e. NIPRNet)—and an IGP is used to advertise routes within the management network, the IGP traffic must be encapsulated via GRE so that it can traverse the IPsec tunnel. The configuration below is an example of GRE over IPSec. The IPSec policy is applied to the GRE traffic that will encapsulate IGP packets (notice the EIGRP network statement includes the GRE tunnel; hence, EIGRP will form adjacencies with neighbors on the other side of this tunnel. Premise Router Configuration crypto isakmp policy 10 authentication pre-share crypto isakmp key ourkey address 166.4.24.3 ! crypto ipsec transform-set VPN-trans esp-3des esp-md5-hmac ! crypto map vpnmap 10 ipsec-isakmp set peer 166.4.24.3 set transform-set VPN-trans match address 102 ! interface Ethernet1 ip address 10.1.1.1 255.255.255.0 ! interface Serial1/0 ip address 141.22.4.3 255.255.255.252 ! interface Tunnel0 ip address 10.10.255.1 255.255.255.252 ip mtu 1400 tunnel source Serial0/0 tunnel destination 166.4.24.3 crypto map vpnmap ! router eigrp 100 network 10.0.0.0 0.0.0.255 no auto-summary ! ip route 0.0.0.0 0.0.0.0 141.22.4.1 ! access-list 102 permit gre host 141.22.4.3 host 166.4.24.3 OOBM VPN Gateway Configuration crypto isakmp policy 10 authentication pre-share crypto isakmp key ourkey address 141.22.4.3 ! crypto ipsectransform-set VPN-trans esp-3des esp-md5-hmac ! crypto map vpnmap 10 ipsec-isakmp set peer 141.22.4.3 set transform-set VPN-trans match address 102 ! interface Ethernet1 ip address 10.1.2.1 255.255.255.0 ! interface Serial1/0 ip address 166.4.24.3 255.255.255.252 ! interface Tunnel0 ip address 10.10.255.2 255.255.255.252 ip mtu 1400 tunnel source Serial0/0 tunnel destination 141.22.4.3 crypto map vpnmap ! router eigrp 100 network 10.0.0.0 0.0.0.255 no auto-summary ! ip route 0.0.0.0 0.0.0.0 166.4.24.1 ! access-list 102 permit gre host 166.4.24.3 host 141.22.4.3
Ensure that multiple IGP instances configured on the OOBM gateway router peer only with their appropriate routing domain. Verify that the all interfaces are configured for the appropriate IGP instance.
Verify that the IGP instance used for the managed network does not redistribute routes into the IGP instance used for the management network and vice versa. Route advertisements between two the two routing domains such as OSPF and EIGRP can only be shared via redistribution. Verify that there are no redistribute commands configured under IGP domain for the management network that would enable distributing routes from the IGP domain of the managed network, or vice-versa. The following would be an example of redistributing routes from EIGRP into OSPF. router ospf 1 network 172.20.0.0 redistribute eigrp 12 IOS supports multiple instances of OSPF and EIGRP that are configured using a different process ID. Each EIGRP or OSPF process will run only on the interfaces of the networks specified. Each EIGRP process maintains a separate topology database; likewise, each OSPF process maintains a separate link-state database. Route advertisements between two processes can only be shared via redistribution. Verify that there are no redistribution commands that would distribute routes from the IGP routing domain for the management network into the IGP routing domain of the managed network, or vice-versa. The following would be an example of redistributing routes from one EIGRP into another EIGRP. ! router eigrp 15 network 172.20.0.0 ! router eigrp 10 network 10.0.0.0 redistribute eigrp 15 As an alternative, static routes can be used to forward management traffic to the OOBM interface; however, this method may not scale well. If static routes are used to forward management traffic to the OOB backbone network, verify that the OOBM interface is not an IGP adjacency and that the correct destination prefix has been configured to forward the management traffic to the correct next-hop and interface for the static route. In the following configuration examples, 10.1.1.0/24 is the management network and 10.1.20.4 is the interface address of the OOB backbone router that the OOB gateway router connects to. The network 10.1.20.0/24 is the OOBM backbone. interface Serial0/0 description to_OOBM_Backbone ip address 10.1.20.3 255.255.255.0 interface Fastethernet 0/0 description to_our_PrivateNet ip address 172.20.4.2 255.255.255.0 interface Fastethernet 0/1 description to_our_ServiceNet ip address 172.20.5.2 255.255.255.0 ! router ospf 1 network 172.20.0.0 ! ip route 10.1.1.0 255.255.255.0 10.1.20.4 Serial0/0
Ensure that the IGP instance used for the managed network does not redistribute routes into the IGP instance used for the management network and vice versa.
Review the ACL or filters for the router’s receive path and verify that only traffic sourced from the management network is allowed to access the router. This would include both management and control plane traffic. Step 1: Verify that the global ip receive acl statement has been configured as shown in the following example: ip receive acl 199 Note: The IOS IP Receive ACL feature provides filtering capability for traffic that is destined for the router. The IP Receive ACL filtering occurs after any input ACL bound to the ingress interface. On distributed platforms (i.e., 12000 series), the IP receive ACL filters traffic on the distributed line cards before packets are received by the route processor; thereby preventing the flood from degrading the performance of the route processor. Step 2: Determine the address block of the management network at the NOC. In the example configuration below, the 10.2.2.0/24 is the management network at the NOC. Step 3: Verify that the ACL referenced by the ip receive acl statement restricts all management plane traffic to the validated network management address block at the NOC. Management traffic can include telnet, SSH, SNMP, TACACS, RADIUS, TFTP, FTP, and ICMP. Control plane traffic from OOBM backbone neighbors should also be allowed to access the router. The ACL configuration should look similar to the following: access-list 199 deny ip any any fragments access-list 199 permit ospf 10.1.20.0 0.0.0.255 any access-list 199 permit tcp 10.2.2.0 0.0.0.255 any eq ssh access-list 199 permit udp host 10.2.2.24 any eq snmp access-list 199 permit udp host 10.2.2.25 any eq snmp access-list 199 permit udp host 10.2.2.26 any eq ntp access-list 199 permit udp host 10.2.2.27 any eq ntp access-list 199 permit tcp host 10.2.2.30 eq tacacs any gt 1023 established access-list 199 permit tcp host 10.2.2.77 eq ftp any gt 1023 established access-list 199 permit tcp host 10.2.2.77 gt 1024 any eq ftp-data access-list 199 permit icmp 10.2.2.0 0.0.0.255 any access-list 199 deny ip any any log In the example above, the OSPF neighbors would be adjacencies with the OOBM backbone network 10.1.20.0/24. If the platform does not support the receive path filter, then verify that all non-OOBM interfaces have an ingress ACL to restrict access to that interface address or any of the router’s loopback addresses to only traffic sourced from the management network. Exception would be to allow packets destined to these interfaces used for troubleshooting such as ping and traceroute.
Ensure that traffic from the managed network is not able to access the OOBM gateway router using either receive path or interface ingress ACLs.
Examine the egress filter on the OOBM interface of the gateway router to verify that only traffic sourced from the management address space is allowed to transit the OOBM backbone. In the example configurations below, the 10.1.1.0/24 is the management network address space at the enclave or managed network and 10.2.2.0/24 is the management network address space at the NOC. IOS interface Serial0/0 description to_OOBM_Backbone ip address 10.1.20.3 255.255.255.0 ip access-group 101 out interface Fastethernet 0/0 description Enclave_Management_LAN ip address 10.1.1.1 255.255.255.0 interface Fastethernet 0/1 description to_our_ServiceNet ip address 172.20.5.2 255.255.255.0 ! access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 access-list 101 deny ip any any log
Configure the OOBM gateway router interface ACLs to ensure traffic from the managed network does not leak into the management network.
Examine the ingress filter on the OOBM interface of the gateway router to verify that traffic is only destined to the local management address space. In the example configurations below, the 10.1.1.0/24 is the local management network address space at the enclave or managed network and 10.2.2.0/24 is the management network address space at the NOC. IOS interface Serial0/0 description to_OOBM_Backbone ip address 10.1.20.3 255.255.255.0 ip access-group 100 in ip access-group 101 out interface Fastethernet 0/0 description Enclave_Management_LAN ip address 10.1.1.2 255.255.255.0 interface Fastethernet 0/1 description to_our_ServiceNet ip address 172.20.5.2 255.255.255.0 interface Fastethernet 0/2 description to_our_PrivateNet ip address 172.20.4.2 255.255.255.0 ! access-list 100 permit ip 10.2.2.0 0.0.0.255 10.1.1.0 0.0.0.255 access-list 100 deny ip any any log
Configure access control lists or filters to block any traffic from the management network destined for the managed network's production address spaces.
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. Cisco router interface Fastethernet 0/0 description Enclave_Management_LAN ip address 10.1.1.22 255.255.255.0 Cisco Catalyst MLS Switch 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 or interface FastEthernet1/6 no switchport ip address 10.1.1.22 255.255.255.0 Caveat: If the interface is configured as a routed interface as shown in the above configuration, the requirements specified in NOC180 must be implemented.
Configure the OOB management interface with an IP address from the address space belonging to the OOBM network.
Step 1: Verify that the managed interface has an inbound and outbound ACL configured as shown in the following example: interface FastEthernet1/1 description Enclave_Management_LAN ip address 10.1.1.22 255.255.255.0 ip access-group 100 in ip access-group 101 out Step 2: Verify that the ingress ACL blocks all transit traffic—that is, any traffic not destined to the router itself. In addition, traffic accessing the managed elements should be originated at the NOC. In the example the management network at the NOC is 10.2.2.0/24. access-list 100 permit ip 10.2.2.0 0.0.0.255 host 10.1.1.22 access-list 100 deny ip any any log Note that the destination used by any host within the management network to access the managed elements must be via the management interface. The loopback should not be a valid address since these prefixes would not be advertised into the management network IGP domain. This could only be possible if the managed network Elements: had an IGP adjacency with the managed network, which should not be the case. Step 3: Verify that the egress ACL blocks any traffic not originated by the managed element access-list 101 deny ip any any log Cisco router-generated packets are not inspected by outgoing access-lists. Hence, the above configuration would simply drop any packets not generated by the router itself and allow all local traffic. To filter local traffic, IOS provides a feature called local policy routing, which enables the administrator to apply a route-map to any local router-generated traffic. To prohibit outgoing traffic from the local router to any destination other than the NOC, the a configuration such as the following could be used: ! Do not drop traffic destined to 10.2.2.0/24. Hence, do not include it in ! the local policy route map, but include all other destinations. ! ip access-list extended BLOCK_INVALID_DEST deny ip any 10.2.2.0 0.0.0.255 permit ip any any ! route-map LOCAL_POLICY 10 match ip address BLOCK_INVALID_DEST set interface Null 0 ! ip local policy route-map LOCAL_POLICY Alternative Solution: The IOS Management Plane Protection Feature Cisco introduced the Management Plane Protection (MPP) feature with IOS 12.4(6)T which allows any physical in-band interface to be dedicated for OOB management. The MPP feature allows a network operator to designate one or more router interfaces as management interfaces. Management traffic is permitted to enter a device only through these management interfaces. All of the other in-band interfaces not enabled for MPP will automatically drop all ingress packets associated with any of the supported MPP protocols (FTP, HTTP, HTTPS, SCP, SSH, SNMP, Telnet, and TFTP). Hence, after MPP is enabled, no interfaces except management interfaces will accept network management traffic destined to the device. This feature also provides the capability to restrict which management protocols are allowed. This feature does not change the behavior of the console, auxiliary, and management Ethernet interfaces. The following configuration example depicts FastEthernet1/1 as being the designated management interface that will only allow ssh and snmp traffic. control-plane host management-interface FastEthernet1/1 allow ssh snmp ! interface FastEthernet1/1 description Enclave_Management_LAN ip address 10.1.1.22 255.255.255.0
If the management interface is a routed interface, it must be configured with both an ingress and egress ACL. The ingress ACL should block any transit traffic, while the egress ACL should block any traffic that was not originated by the managed network device.
If the managed network element is a layer 3 device, review the configuration to verify the management interface is configured as passive for the IGP instance for the managed network. Depending on the platform and routing protocol, this may simply require that the interface or its IP address is not included in the IGP configuration. The following configuration would be an example where OSPF is only enabled on all interfaces except the management interface: interface Fastethernet 0/0 description Enclave_Management_LAN ip address 10.1.1.22 255.255.255.0 ip access-group 100 in ip access-group 101 out interface Fastethernet 0/1 description to_our_PrivateNet ip address 172.20.4.2 255.255.255.0 interface Fastethernet 0/2 description to_our_ServiceNet ip address 172.20.5.2 255.255.255.0 interface Fastethernet 1/1 description to_our_DMZ ip address 172.20.3.1 255.255.255.0 ! router ospf 1 network 172.20.0.0 255.255.255.0 area 1 Note: The MPP feature has no effect on control plane traffic. Hence, the routing protocol must still be configured so that it is not enabled on the management interface.
Configure the management interface as passive for the IGP instance configured for the managed network. Depending on the platform and routing protocol, this may simply require that the interface or its IP address is not included in the IGP configuration.
Review the managed switch configuration and verify that the access port connected to the OOBM access switch has been assigned to the management VLAN.
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
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.
Prune the management VLAN from any VLAN trunk links belonging to the managed network’s infrastructure.
The gateway router of the managed network must be configured with an ACL or filter on the egress interface to block all outbound management traffic. Review router configuration to verify that any traffic destined to the management network is blocked. The configuration example below is blocking all traffic with a destination address from the 10/8 prefix which is being used as the address block for the management network. IOS interface Serial0/0 description to_NIPRNet ip address 188.1.20.3 255.255.255.0 ip access-group 100 in ip access-group 101 out interface Fastethernet 0/0 description to_our_PrivateNet ip address 192.168.1.1 255.255.255.0 ! access-list 101 deny ip any 10.0.0.0 0.255.255.255 log access-list 101 permit ip … … access-list 101 deny ip any any log
Configure the gateway router of the managed network with an ACL or filter on the egress interface to block all outbound management traffic.
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 configuration to determine if an inbound ACL has been configured for the management VLAN interface to block non-management traffic. If an inbound ACL has not been configured, this is a finding.
If an MLS is used to provide inter-VLAN routing, configure an inbound ACL for the management network VLAN interface.
Review the router configuration and verify that an inbound ACL has been configured for the management network sub-interface as illustrated in the following example configuration: IOS interface GigabitEthernet3 no ip redirects no ip directed-broadcast interface GigabitEthernet3.10 encapsulation dot1q 10 description Management VLAN ip address 10.1.1.1 255.255.255.0 ip access-group 108 in ! access-list 108 permit …
If a router is used to provide inter-VLAN routing, configure an inbound ACL for the management network sub-interface for the trunk link to block non-management traffic.
Verify that all traffic from the managed network to the management network and vice-versa is secured via IPSec encapsulation. In the configuration examples, 10.2.2.0/24 is the management network at the NOC and 192.168.1.0/24 is address space used at the network being managed (i.e., the enclave). For Cisco router, the access-list referenced by the crypto map must have the source and destination addresses belonging to the management network address space at the enclave and NOC respectively. hostname Premrouter ! interface Serial1/0 ip address 19.16.1.1 255.255.255.0 description NIPRNet_Link crypto map myvpn interface Fastethernet 0/0 description Enclave_Management_LAN ip address 192.168.1.1 255.255.255.0 ! crypto isakmp policy 1 authentication pre-share lifetime 84600 crypto isakmp key ******* address 19.16.2.1 ! crypto ipsec transform-set toNOC esp-des esp-md5-hmac ! crypto map myvpn 10 ipsec-isakmp set peer 19.16.2.1 set transform-set toNOC match address 101 ! access-list 101 permit ip any 10.2.2.0 0.0.0.255
Where IPSec technology is deployed to connect the managed network to the NOC, it is imperative that the traffic entering the tunnels is restricted to only the authorized management packets based on destination address.
class-map match-all MANAGEMENT-TRAFFIC match access-group name CLASSIFY-MANAGEMENT-TRAFFIC ! policy-map DIST-LAYER-POLICY class MANAGEMENT-TRAFFIC set ip dscp 48 ! interface FastEthernet0/0 description link to LAN1 ip address 192.168.1.1 255.255.255.0 service-policy input DIST-LAYER-POLICY interface FastEthernet0/1 description link to LAN2 ip address 192.168.2.1 255.255.255.0 service-policy input DIST-LAYER-POLICY interface FastEthernet0/2 description link to core ip address 192.168.13.1 255.255.255.0 ! ip access-list extended CLASSIFY-MANAGEMENT-TRAFFIC permit ip any 10.2.2.0 0.0.0.255 Note: Traffic is marked using the set command in a policy map. For DSCP rewrite, if a packet encounters both input and output classification policy, the output policy has precedence. If there is no output policy, then the input policy has precedence.
When management traffic must traverse several nodes to reach the management network, classify and mark management traffic at the nearest upstream MLS or router.
When management traffic must traverse several nodes to reach the management network, ensure that all core routers within the managed network have been configured to provide preferred treatment for management traffic. This will ensure that management traffic receives guaranteed bandwidth at each forwarding device along the path to the management network. Step 1: Verify that a service policy is bound to all core or internal router interfaces as shown in the configuration below: interface FastEthernet0/1 ip address 192.168.2.1 255.255.255.0 service-policy output QoS-Policy interface FastEthernet0/2 ip address 192.168.1.1 255.255.255.0 service-policy output QoS-Policy Step 2: Verify that the class-maps place management traffic in the appropriate forwarding class as shown in the example below: class-map match-all best-effort match ip dscp 0 class-map match-any data-AF13-AF23 match ip dscp 14 match ip dscp 22 class-map match-any video-AF33-AF43 match ip dscp 30 match ip dscp 38 class-map match-all voice-EF match ip dscp 46 class-map match-all network-control match ip dscp 48 Step 3: Verify that the classes are receiving the required service. policy-map QoS-Policy class best-effort bandwidth percent 10 random-detect dscp-based class data-AF13-AF23 bandwidth percent 30 random-detect dscp-based class video-AF33 bandwidth percent 15 random-detect dscp-based class video-AF43 bandwidth percent 20 random-detect dscp-based class voice-EF priority percent 20 class network-control bandwidth percent 5 random-detect dscp-based Note 1: The dscp-based argument enables WRED to use the DSCP value of a packet when it calculates the drop probability for the packet; whereas if the prec-based argument is specified, WRED will use the IP Precedence value to calculate drop probability. If neither is specified, the default is prec-based. Note 2: LLQ is enabled with the priority command using either a kbps value or a bandwidth percentage using the percent keyword followed by a percentage value. Note 3: Traffic that does not meet the match criteria specified in the forwarding classes is treated as belonging to the default forwarding class. If a default class is not configured, the default class has no QoS functionality. These packets are then placed into a FIFO queue and forwarded at a rate determined by the available underlying bandwidth. This FIFO queue is managed by tail drop—a means of avoiding congestion that treats all traffic equally and does not differentiate between classes of service. When the output queue is full and tail drop is in effect, packets are dropped until the congestion is eliminated and the queue is no longer full. The following example configures a default class called policy1. policy-map policy1 class class-default fair-queue 10 queue-limit 20 The default class shown above has these characteristics: 10 queues for traffic that does not meet the match criteria of other classes whose policy is defined by policy1, and a maximum of 20 packets per queue before tail drop is enacted to handle additional queued packets.
When management traffic must traverse several nodes to reach the management network, ensure that all core routers within the managed network have been configured to provide preferred treatment for management traffic.
Review the firewall protecting the server farm to validate an ACL with a deny-by-default security posture has been implemented that secures the servers located on the VLAN. If the filter is not defined on the firewall and the architecture contains a layer 3 switch between the firewall and the server, then review the ACL configured for the VLAN on the L3 switch.
Configure an ACL to protect the server VLAN interface. The ACL must be in a deny-by-default security posture.
Review the firewall protecting the server farm. Vlan configurations should have a filter that secures the servers located on the vlan segment. Identify the source ip addresses that have access to the servers and verify the privilege intended with the SA. The filter should be in a deny by default posture. If the filter is not defined on the firewall and the architecture contains a layer 3 switch between the firewall and the server, than review the VLAN definition on the L3 switch.
Review the filter and ensure access from other server segments is denied unless necessary for application operation. The intent of the policy should be to protect servers from a server that has been compromised by an intruder.
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.
To verify compliance with this requirement, an ACL must be configured on the L3 switch VLAN interface assigned for the printer VLAN, or on the firewall interface connecting to the printer VLAN. Exception to this requirement is traffic from RSD sensors connected to the VLAN. Note: The SA managing the local enclave should identify the printer port traffic within the enclave. Ports commonly used by printers are ports 515, 631, 1782, 9100, 9101, and 9102. The SA can review RFC 1700 Port Assignments and review printer vendor documents to determine what ports should be allowed.
Define the filter on the VLAN ACL or build a firewall ruleset to accomplish the requirment.
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 device configuration to ensure filters are in place to restrict the IP addresses explicitly or implicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny 6-to-4 tunnel addresses and log all violations. source type: 2002::/16 If filters are not in place to deny 6-to-4 tunnel addresses, this is a finding.
Configure the device using filters to restrict IP addresses that contain any 6-to-4 addresses.
Base Procedure: Review the premise router configuration to ensure filters are in place to restrict the IP addresses explicitly, or inexplicitly. Verify that ingress and egress ACLs for IPv6 have been defined to deny the 6bone address space and log all violations.
The administrator will configure the router ACLs to restrict IP addresses that contain any 6bone addresses.
Review the network device configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv4 or IPv6 packets with any of the following tunneling protocols: Source Demand Routing Protocol (SDRP) - protocol field value of 0x2A (42) AX.25 - protocol field value of 0x5D (93) IP-within-IP Encapsulation Protocol - protocol field value of 0x5E (94) EtherIP protocol - protocol field value of 0x61 (97) Encapsulation Header Protocol - protocol field value of 0x62 (98) PPTP - TCP or UDP destination port (0x06BB) 1723 The following example will block any IPv6 inbound packet using any of the outdated tunneling protocols as previously discussed: interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ip access-list IPV6_INGRESS_ACL deny 42 any any deny 93 any any deny 94 any any deny 97 any any deny 98 any any deny tcp any any eq 1723 deny udp any any eq 1723
Configure the network device to drop all inbound and outbound IPv4 or IPv6 packets with any of the following tunneling protocols: Source Demand Routing Protocol (SDRP) - protocol field value of 0x2A (42) AX.25 - protocol field value of 0x5D (93) IP-within-IP Encapsulation Protocol - protocol field value of 0x5E (94) EtherIP protocol - protocol field value of 0x61 (97) Encapsulation Header Protocol - protocol field value of 0x62 (98) PPTP - TCP or UDP destination port (0x06BB) 1723
These filtering actions enforce proper tunnel endpoint addresses at the border of the tunnel entry and exit points. Filtering is necessary because implementations may not enforce tunnel addresses in all cases. Filtering is also necessary because GRE tunneling implementations are not required by standards to check or enforce tunnel endpoint addresses. Endpoint Verification at the Exit point (I) - Allow inbound IPv4 packets with a protocol value of 0x04 (4) that have both source and destination addresses of a deliberately configured IPv4-in-IPv4 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv4-in-IPv4 tunnel. Endpoint Verification at the Exit network (II) - Allow inbound IPv4 packets with a protocol value of 0x29 (41) that have both source and destination addresses of a deliberately configured IPv6-in-IPv4 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv6-in-IPv4 tunnel. Endpoint Verification at the Exit network (III) - Allow inbound IPv6 packets with a protocol value of 0x04 (4) that have both source and destination addresses of a deliberately configured IPv4-in-IPv6 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv4-in-IPv6 tunnel. Endpoint Verification at the Exit network (IV) - Allow inbound IPv6 packets with a protocol value of 0x29 (41) that have both source and destination addresses of a deliberately configured IPv6-in-IPv6 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv6-in-IPv6 tunnel. Endpoint Verification at the Exit network (v) - Allow inbound IPv4 and IPv6 packets with a protocol value of 0x2F (47) that have both source and destination addresses of a deliberately configured GRE tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured GRE tunnel. Network configuration - Report bad inbound tunnel packets as a Security Event. Inbound packets that fail the filtering of the actions at the exit point should trigger a security alert since the entry point network filtering should catch all legitimate mistakes. These occurrences are likely the result of network attacks. These filtering actions enforce proper tunnel endpoint addresses at the border of the entry point network. By filtering the tunneled data for validity, the entry point network can detect configuration errors and users conducting unauthorized tunneling operations. By filtering the addresses of tunneled data for validity, the entry point network can detect configuration errors and unauthorized tunneling operations by bad users. Endpoint Verification at the Entry network, (I) Allow outbound IPv4 packets with a protocol value of 0x04 (4) that have both source and destination addresses of a deliberately configured IPv4-in-IPv4 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv4-in-IPv4 tunnel. Endpoint Verification at the Entry network, (II) Allow outbound IPv4 packets with a protocol value of 0x29 (41) that have both source and destination addresses of a deliberately configured IPv6-in-IPv4 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv6-in-IPv4 tunnel. Endpoint Verification at the Entry network, (III) Allow outbound IPv6 packets with a protocol value of 0x04 (4) that have both source and destination addresses of a deliberately configured IPv4-in-IPv6 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv4-in-IPv6 tunnel. Endpoint Verification at the Entry network, (IV) Description: Allow outbound IPv6 packets with a protocol value of 0x29 (41) that have both source and destination addresses of a deliberately configured IPv6-in-IPv6 tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured IPv6-in-IPv6 tunnel. Endpoint Verification at the Entry network, (v) Allow outbound IPv4 and IPv6 packets with a protocol value of 0x2F (47) that have both source and destination addresses of a deliberately configured GRE tunnel. This refers to the IP addresses of the outer IP layer. Drop any such packet that does not match both source and destination addresses of a deliberately configured GRE tunnel. Network configuration - Report bad outbound tunnel packets as Network Management errors. Outbound packets that fail the filtering of actions at the entry point should trigger a network management error since these are likely configuration or routing errors. This may also detect unauthorized tunneling by users. Review the tunnel end-points and verify a filter is present. The filter for the tunnel entry-point must be defined to permit expected traffic that enters the tunnel. All other traffic must be denied. This filter must contain a permit statement that explicitly permits the tunnel type (protocol) and the source and destination address. The filter for the tunnel exit-point must be defined to permit the expect traffic that exits the tunnel. All other traffic must be denied. This filter must contain a permit statement that explicitly permits the tunnel type (protocol) and the source and destination address.
Explicitly permit trusted network traffic and establish a deny by default policy at the tunnel entry and exit points.
This vulnerability description and required safeguard is not applicable to MPLS auto tunnels used in traffic engineering. The following three tunnel types (4-in-4, 4-in-6, and 6-in-6) do not have requirements built into the standards. Tunnel exit points must be filtered to ensure these protocols have a valid destination address. If a destination address is not defined for these protocols, than drop the packets via the deny-by-default tunnel policy. 4-in-4 - protocol number: 0x04 (4) 4-in-6 - protocol number: 0x04 (4) 6-in-6 - protocol number: 0x29 (41) GRE - protocol number: 0x2F (47) ESP - protocol (50) AH - protocol (51) The language in the actions above such as “Drop any ... packet” should be modified as appropriate to account for the packets of any legitimate and deliberately chosen mechanisms. However these deliberate tunnels that do not comply with this policy need to be documented in the SSAA detailing purpose and verification data.
Review identified protocols allowed to enter the enclave. If the tunnels do not have explicit IP addresses than drop the tunnel by the deny-by-default tunnel policy, else document the auto configured tunnel in the SSAA describing the activity and perform periodic reviews for the tunnel need.
NOTE: This requirement applies to any tunnel that is not an IPSec tunnel between two sites, part of the same enclave, and is under control of the same DAA. This guidance describes three ways in which the inner IP layer filtering task may be accomplished, depending on the advances in firewall technology. Refer to NSA firewall design considerations for IPv6 section 5.2 for a description of desired firewall filtering capabilities for tunneled traffic. This reference document defines primary filtering as a firewall that can filter the inner source and destination IP addresses of a tunneled packet in a manner similar to filtering source and destination ports of a TCP or UDP packet. Secondary filtering capability is defined to be the ability to fully filter the entire inner IP layer to the same degree an untunneled packet is filtered. The Primary guidance below assumes an advanced firewall with the capability to perform both the primary and secondary filtering functions as explained above. Alternative 1 below assumes that the firewall can perform only the primary filtering function. Alternative 2 assumes the firewall cannot do either primary or secondary filtering as may be the case with some existing firewall products. For Alternatives 1 and 2, the decapsulation point may be an interior router with the filtering of the inner IP layer performed by a secondary firewall. Additional actions are provided to protect the decapsulating node itself from being attacked, since this node is in front of the protective filtering. Primary (FW can do both primary and secondary filtering) ACTION #1 Enforce Proper Tunnel Access (per IP address): At the tunnel exit point network, drop any emerging tunnel packets (of either IP version) whose inner IP layer source address is not within the range or set of ranges of expected values from the tunnel entry point network. The expected addresses are those that are configured into the tunnel via routes to a tunnel by name, by address, or by interface (NET-TUNL-012). Regardless of how traffic is routed into a tunnel entry point, the network should ensure that the resulting tunnel packets have a specific tunnel entry point source address (i.e. outer IP layer) that can be used for reliable filtering. Note: The primary filtering capability defined in the justification section above can be used to accomplish this task in conjunction with the tunnel endpoint verification of NET-TUNL-004. Primary (FW can do both primary and secondary filtering) ACTION #2 Apply Baseline Filtering as a Minimum: All packets that pass the filtering of action #1 above must be fully filtered per the baseline guidance defined ( Apply all NET-IPV6-xxx filtering to the inner IP layer via the firewall’s secondary filtering capability, and NET-TUNL-001. Notes: a) Includes (drop all Neighbor Discovery packets that emerge from tunnels). b) Includes (drop all packets containing a Link-local source or destination address that emerge from tunnels). c) Includes “Filtering Integrity for Fragmented Packets” applied to the inner IP layer. d) Includes blocking IP-in-IP tunneling. This applies to the next tunnel layer. Primary (FW can do both primary and secondary filtering) ACTION #3 Restrict Tunnel contents to the greatest extent possible: Description: Network administrators should apply additional filtering to restrict the tunnel contents to only the intended traffic types and destinations. The details of this filtering must be determined on a case-by-case basis. Note1: Tunnels are employed for a specific purpose and type of traffic, therefore it is likely that the tunnel traffic can be restricted more stringently than normal (un-tunneled) traffic. Note 2: The source addresses of the decapsulated packets can be used reliably to distinguish tunnels if there are more than one. This is true because action #1 above has already verified proper inner IP source address for each tunnel. ------------------------------------------------------------------------------------------------------------------------------- Alternative 1 - (FW can do only primary filtering) - Action #4 - Enforce Proper Tunnel Access (per IP address) Description: (Same as Primary Guidance action #1 above). At the tunnel exit point network, drop any emerging tunnel packets (of either IP version) whose inner IP layer source address is not within the range or set of ranges of expected values from the tunnel entry point network. The expected addresses are those that are configured into the tunnel via routing action (NET-TUNL-012). Note: The primary filtering capability defined in the justification section above can be used to accomplish this task in conjunction with the tunnel endpoint verification of NET-TUNL-004. Alternative 1 - (FW can do only primary filtering) - Action #5 - Apply Baseline Filtering as a minimum: Description: All packets that pass the filtering of action #1 above must be fully filtered per the baseline guidance. Apply all filtering to the inner IP layer. Since the border FW does not have the ability to filter the inner IP layer beyond the IP addresses, a second level of filtering (another firewall, internal) is needed to achieve this task. The border FW guarantees the proper tunnel decapsulation points which are likely located on an internal router or the secondary FW. In either case, it must not be possible for packets to be decapsulated and avoid filtering. For example, a decapsulating router MUST be configured to route all tunnel contents toward the internal FW and not out some other interface. All packets that pass the filtering of action #1 above must be fully filtered per the baseline guidance defined by the 2nd Firewall ( Apply all NET-IPV6-xxx filtering to the inner IP layer via the 2nd firewall, and NET-TUNL-001. Notes: a) Includes (drop all Neighbor Discovery packets that emerge from tunnels). b) Includes (drop all packets containing a Link-local source or destination address that emerge from tunnels). c) Includes “Filtering Integrity for Fragmented Packets” applied to the inner IP layer. d) Includes blocking IP-in-IP tunneling. This applies to the next tunnel layer. Alternative 1 - (FW can do only primary filtering) - ACTION #6 - Restrict Tunnel contents to the greatest extent possible: Apply action 3 controls. Alternative 1 - (FW can do only primary filtering) - ACTION #7 - Protect the Decapsulating node: Description: Drop any tunneled packets whose inner IP destination address belongs to an interface on the decapsulating node. The primary filtering capability defined in the justification section above can be used to accomplish this task. Note: Since the baseline IPv6 filtering is being performed by a secondary firewall (action #5 above), any packets allowed out of the tunnel directly to the decapsulating node would bypass this filtering and must not be allowed. ------------------------------------------------------------------------------------------------------------------------------- Alternative 2 - (FW can do neither primary nor secondary filtering) - Action #8 - Enforce Proper Tunnel Access (per IP address): Description: In this case, the border FW can only filter the outer IP layer and cannot see the internal IP addresses. Therefore, the decapsulating node or secondary firewall must filter the decapsulated packets to drop any emerging tunnel packets (of either IP version) whose inner IP layer source address is not within the range or set of ranges of expected values from the tunnel entry point network. Also, If the tunnel is GRE the border FW can only filter the out IP layer holding the GRE header and can not see the internal IP address. Note that multiple tunnels will likely require separate decapsulation points (separate routers) in order to verify that the proper ranges are emerging from each tunnel. It is not correct to filter all decapsulated traffic from several tunnels at the same router interface since there would be no way to detect traffic from tunnel A containing inner IP layer source addresses intended for tunnel B (i.e. users from one remote network using the privileges intended for another network). Alternative 2 - (FW can do neither primary nor secondary filtering) - Action #9 - Apply Baseline Filtering as a minimum: All packets that pass the filtering of action #8 above must be fully filtered per the baseline guidance defined by the 2nd Firewall ( Apply all NET-IPV6-xxx filtering to the inner IP layer via the 2nd firewall, and NET-TUNL-001. As with Alternative 1, the secondary firewall must achieve this task. The border firewall guarantees the proper tunnel decapsulation points which are likely located on an internal router or secondary firewall. It must not be possible for packets to be decapsulated and avoid filtering. For example, a decapsulating router MUST be configured to route all tunnel contents toward the secondary firewall and not out some other interface. Notes: a) Includes (drop all Neighbor Discovery packets that emerge from tunnels). b) Includes (drop all packets containing a Link-local source or destination address that emerge from tunnels). c) Includes “Filtering Integrity for Fragmented Packets” applied to the inner IP layer. d) Includes blocking IP-in-IP tunneling. This applies to the next tunnel layer. Alternative 2 - (FW can do neither primary nor secondary filtering) - Action #10 - Restrict Tunnel contents to the greatest extent possible: Apply action 3 controls. Alternative 2 - (FW can do neither primary nor secondary filtering) - Action #11 - Protect the Decapsulating node: Description: Drop any tunneled packets whose inner IP destination address belongs to an interface on the decapsulating node. The decapsulating node must be able to perform this filtering itself since the border FW cannot see the inner IP addresses (an assumption for Alternative 2). Note: Since the baseline IPv6 filtering is being performed by a secondary firewall (action #9 above), any packets allowed out of the tunnel directly to the decapsulating node would likely bypass this filtering and must not be allowed. Alternative 2 - (FW can do neither primary nor secondary filtering) - Action #12 - Non-IP GRE Payloads: Per action 8, if payloads other than IP are being delivered by the GRE tunnels, they must be guaranteed proper filtering. Administrators must be sure that all tunnel contents are filtered. How this is achieved must be handled on a case-by-case basis depending on the particular GRE payload type and filtering/routing capabilities of the decapsulating node. If possible avoid this case by using IP-in-IP tunneling instead.
To ensure the enclave can be protected from tunnels, the end-point must be decapsulated to inspect the Inner IP packet or the firewall must have the capability to perform primary and secondary filtering and content inspection. Tracing these tunnel end-points and ensuring filters that protect the enclave may be necessary. Apply deny by default. Apply destination addresses to tunnels to extended tunnels.. Apply PPS policies to protocols at all decapsulation end-points. Apply content inspection.
Review procedures defined in NET-TUNL-002. After determining the final decapsulation end-points, ensure the tunnel implements protocol inspection, filtering and mitigation as defined in the PPS VA reports.
Ensure the tunnel implements protocol inspection, filtering and mitigation as defined in the PPS VA reports.
Follow the procedures defined in NET-TUNL-002 to determine all tunnel entry and exit points, then ensure each end-point is in a deny by default posture inbound and outbound.
Apply a deny by default posture on every tunnel end-point.
Control Plane Policing (CoPP) If supported by the router, CoPP should be used to increase security on Cisco routers by protecting the RP from unnecessary and malicious traffic. CoPP allows network operators to classify traffic based on importance that then enables the router to filter and rate limit the traffic according to the defined policy for each class. 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 match access-group commands 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 snmptrap permit tcp any any eq 22 permit tcp any any eq 23 remark other control plane traffic not configured on router 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 cp-default-in 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: Starting with IOS release 12.4(4)T, 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 CoPP is not supported, then the alternative would be the implementation of a receive path filter. Step 1: A receive path ACL or an inbound ACL on each interface must be configured to restrict traffic destined to the router. The IOS IP Receive ACL feature provides filtering capability explicitly for traffic that is destined for the router. Verify that the global ip receive acl statement has been configured as shown in the following example: ip receive acl 199 Note: If the platform does not support the ip receive path acl feature, an inbound ACL on each interface must be configured. Step 2: Verify that the ACL referenced by the ip receive acl statement restricts all control plane and management plane traffic. The ACL configuration should look similar to the following: access-list 199 deny ip any any fragments access-list 199 remark allow specific management plane traffic access-list 199 permit tcp [management subnet] 0.0.0.255 any eq 22 access-list 199 permit udp host [SNMP manager] any eq snmp access-list 199 permit tcp host [TACACS server] eq tacacs any access-list 199 permit udp host [NTP server] eq ntp any access-list 199 permit icmp [management subnet] 0.0.0.255 any access-list 199 remark allow specific control plane traffic access-list 199 permit ospf host [OSPF neighbor A] any access-list 199 permit ospf host [OSPF neighbor B] any access-list 199 permit pim host [PIM neighbor A] any access-list 199 permit pim host [PIM neighbor B] any access-list 199 permit pim host [RP addr] any access-list 199 permit igmp any 224.0.0.0 15.255.255.255 access-list 199 permit tcp host [BGP neighbor] eq bgp host [local BGP addr] access-list 199 permit tcp host [BGP neighbor] host [local BGP addr] eq bgp access-list 199 remark all other traffic destined to the device is dropped access-list 199 deny ip any any Note: If the Management Plane Protection (MPP) feature is enabled for an OOBM interface, there would be no purpose in filtering this traffic on the receive path. With MPP enabled, no interfaces except the management interface will accept network management traffic destined to the device. This feature also provides the capability to restrict which management protocols are allowed. See NET0992 for additional configuration information.
Implement control plane protection by classifying traffic types based on importance levels and configure filters to restrict and rate limit the traffic punted to the route processor as according to each class.
An administratively scoped IP multicast region is defined to be a topological region in which there are one or more boundary routers with common boundary definitions. Such a router is said to be a boundary for multicast scoped addresses in the range defined in its configuration. In order to support administratively scoped multicast, a multicast boundary router will drop multicast traffic matching an interface's boundary definition in either direction. The IPv4 administrative scoped multicast address space is 239/8 which is divided into two scope levels: the Local Scope and Organization Local Scope. The Local Scope range is 239.255.0.0/16 and can expand into the reserved ranges 239.254.0.0/16 and 239.253.0.0/16 if 239.255.0.0/16 is exhausted. The IPv4 Organization Local Scope is 239.192.0.0/14 is the space from which an organization should allocate sub-ranges when defining scopes for private use. This scope can be expanded to 239.128.0.0/10, 239.64.0.0/10, and 239.0.0.0/10 if necessary. The scope of IPv6 multicast packets are determined by the scope value where 4 (ffx4::/16) is Admin-local, 5 (ffx5::/16) is Site-local, and 8 (ffx8::/16) is Organization-local. Review the multicast topology to determine any documented Admin-local (scope = 4) or Site-local (scope = 5) multicast boundaries for IPv6 traffic or any Local-scope (address block 239.255.0.0/16) boundary for IPv4 traffic. Verify that appropriate boundaries are configured on the applicable multicast-enabled interfaces. IPv4: The following example will establish a multicast boundary on the interface to ensure that Local-scope traffic is not allowed into or out of the administratively scoped IPv4 multicast region: ip multicast-routing ! interface FastEthernet0/1 description Boundary for multicast region A ip address 198.18.0.1 255.255.255.0 ip pim sparse-mode ip multicast boundary MCAST_ADMIN_SCOPED_BOUNDARY ! ip access-list standard MCAST_ADMIN_SCOPED_BOUNDARY deny 239.255.0.0 0.255.255.255 permit 224.0.0.0 15.255.255.255 ! Note: The filter used by multicast boundary command will effect multicast traffic outside of the administratively scoped IPv4 multicast space. If Organization Local Scope traffic must cross this site boundary, include the necessary permit statement from this address range (239.192.0.0 255.252.0.0). To allow global multicast traffic to pass by this boundary, ensure that the filter will permit the global address space (224.0.1.0-238.255.255.255) if the enclave has deployed inter-domain multicast routing. IPv6: The following example will establish a multicast boundary on the interface to ensure that Site-local scope traffic is not allowed into or out of the administratively scoped IPv6 multicast region: ipv6 multicast-routing ! interface FastEthernet0/1 description link to Site A ipv6 address 2001:1:0:146::/64 eui-64 ipv6 multicast boundary scope 5 Note: Filtering the scope value of 5 will ensure that any multicast traffic received by the interface in either direction with a scope equal to or less than 5 (Site-local) will be dropped. Hence, all Site-local and Admin-local traffic will be dropped while allowing Organization-local (scope = 8) and global multicast traffic (scope =14) to be forwarded for an inter-site as well as inter-domain multicast routing deployment.
Local Scope range is 239.255.0.0/16 and can expand into the reserved ranges 239.254.0.0/16 and 239.253.0.0/16 if 239.255.0.0/16 is exhausted. The scope of IPv6 multicast packets are determined by the scope value where 4 is Admin-local and 5 is Site-local. Configure the necessary boundary to ensure packets addressed to these administratively scoped multicast addresses do not cross the applicable administrative boundaries.
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.
Verify that the software implemented on the router has been updated to a release that mitigates the risk of a DNS cache poisoning attack. The vulnerable releases of IOS 12.4 will be noted with either the available fix or to contact Cisco TAC. Those releases of 12.4 that are not vulnerable will be noted. 12.4 Fixed with 12.4(18b), 12.4(19a), 12.4(19b), 12.4(21) 12.4JA Not Vulnerable 12.4JK Not Vulnerable 12.4JMA Not Vulnerable 12.4JMB Not Vulnerable 12.4JMC Not Vulnerable 12.4JX Not Vulnerable 12.4MD Fixed with 12.4(15)MD 12.4MR Fixed with 12.4(19)MR 12.4SW Vulnerable; contact TAC 12.4T Fixed with 12.4(20)T 12.4XA Fixed with 12.4(20)T 12.4XB Fixed with 12.4(2)XB10 12.4XC Vulnerable; contact TAC 12.4XD Fixed with 12.4(4)XD11 12.4XE Fixed with 12.4(20)T 12.4XF Not Vulnerable 12.4XG Not Vulnerable 12.4XJ Fixed with 12.4(20)T 12.4XK Not Vulnerable 12.4XL Fixed with 12.4(15)XL2 12.4XM Fixed with 12.4(15)XM1 12.4XN Vulnerable; contact TAC 12.4XQ Vulnerable; contact TAC 12.4XT Vulnerable; contact TAC 12.4XV Vulnerable; contact TAC 12.4XW Fixed with 12.4(11)XW8 12.4XY Fixed with 12.4(15)XY3 12.4XZ Fixed with 12.4(20)T For release prior to 12.4 go to the following URL to verify if the router or switch is vulnerable: http://www.cisco.com/en/US/products/products_security_advisory09186a00809c2168.shtml
Update the OS to the release that mitigates the risk of a DNS cache poisoning attack
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.
If IPv4 or IPv6 multicast routing is enabled, ensure that all interfaces enabled for PIM is documented in the network’s multicast topology diagram. Review the router or multi-layer switch configuration to determine if multicast routing is enabled and what interfaces are enabled for PIM. Step 1: Determine if multicast routing is enabled. By default, multicast is disabled globally. The following global configuration commands will enable IPv4 and IPv6 multicast routing: ip multicast-routing ipv6 multicast-routing Step 2: PIM is enabled on an interface with either of the following commands: ip pim sparse-mode, ip pim dense-mode, ip pim sparse-dense-mode. Review all interface configurations and verify that only the required interfaces are enabled for PIM as documented in the network topology diagram. With IPv4, PIM is disabled by default on all interfaces. Following is an example of an interface with PIM enabled. interface FastEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip pim sparse-mode You can also verify what IPv4 interfaces are enabled for PIM with the show ip pim interface command. With IPv6, PIM is enabled by default on all IPv6-enabled interfaces if IPv6 multicast routing is enabled on the router via the global ipv6 multicast-routing command. An interface can be disabled for PIM using the no ipv6 pim interface command. interface FastEthernet0/1 ipv6 address 2001:1:0:146::/64 eui-64 no ipv6 pim You can also verify what ipv6 interfaces are enabled for PIM with the show ipv6 pim interface command.
If IPv4 or IPv6 multicast routing is enabled, ensure that all interfaces enabled for PIM is documented in the network’s multicast topology diagram. Enable PIM only on the applicable interfaces according to the multicast topology diagram.
Review the router or multi-layer switch to determine if either IPv4 or IPv6 multicast routing is enabled. If either is enabled, verify that all interfaces enabled for PIM has a neighbor filter to only accept PIM control plane traffic from the documented routers according to the multicast topology diagram. IPv4 Step 1: Verify that an ACL is configured that will specify the allowable PIM neighbors similar to the following example: ip access-list standard PIM_NEIGHBORS permit 192.0.2.1 permit 192.0.2.3 deny any log Step 2: Verify that a pim neighbor-filter command is configured on all PIM-enabled interfaces that is referencing the PIM neighbor ACL similar to the following example: interface FastEthernet0/3 ip address 192.0.2.2 255.255.255.0 ip pim sparse-mode ip pim neighbor-filter PIM_NEIGHBORS IPv6 Step 1: Verify that an ACL is configured that will specify the allowable PIM neighbors similar to the following example: ipv6 access-list PIM_NEIGHBORS permit host FE80::1 any permit host FE80::3 any deny any any log Note: IPv6 PIM adjacenencies are created using the router unicast link-local addresses Step 2: Verify that a pim neighbor-filter global command is configured ipv6 pim neighbor-filter list PIM_NEIGHBORS
If IPv4 or IPv6 multicast routing is enabled, ensure that all interfaces enabled for PIM has a neighbor filter to only accept PIM control plane traffic from the documented routers according to the multicast topology diagram.
An administratively scoped IP multicast region is defined to be a topological region in which there are one or more boundary routers with common boundary definitions. Such a router is said to be a boundary for multicast scoped addresses in the range defined in its configuration. In order to support administratively scoped multicast, a multicast boundary router will drop multicast traffic matching an interface's boundary definition in either direction. The IPv4 administrative scoped multicast address space is 239/8 which is divided into two scope levels: the Local Scope and Organization Local Scope. The Local Scope range is 239.255.0.0/16 and can expand into the reserved ranges 239.254.0.0/16 and 239.253.0.0/16 if 239.255.0.0/16 is exhausted. The IPv4 Organization Local Scope is 239.192.0.0/14 is the space from which an organization should allocate sub-ranges when defining scopes for private use. This scope can be expanded to 239.128.0.0/10, 239.64.0.0/10, and 239.0.0.0/10 if necessary. The scope of IPv6 multicast packets are determined by the scope value where 4 (ffx4::/16) is Admin-local, 5 (ffx5::/16) is Site-local, and 8 (ffx8::/16) is Organization-local. Review the perimeter router or multi-layer switch to determine if multicast routing is enabled on any external-facing interface. If enabled, determine if there is a multicast boundary configured on the external-facing interface to ensure that no administrative scope traffic is not allowed into or out of the enclave. The following examples will establish a multicast boundary on the external-facing interface to ensure that no administrative scoped traffic is allowed into or out of the enclave: IPv4 ip multicast-routing ! interface FastEthernet0/1 description DISN CORE facing ip address 198.18.0.1 255.255.255.0 ip pim sparse-mode ip multicast boundary MCAST_ADMIN_SCOPED_BOUNDARY ! ip access-list standard MCAST_ADMIN_SCOPED_BOUNDARY deny 239.0.0.0 0.255.255.255 permit 224.0.0.0 15.255.255.255 ! Note: The filter used by multicast boundary command will effect multicast traffic outside of the administratively scoped IPv4 multicast space. To allow global multicast traffic to pass by this boundary, ensure that the filter will permit the global address space (224.0.1.0-238.255.255.255) if the enclave has deployed inter-domain multicast routing. IPv6 ipv6 multicast-routing ! interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::/64 eui-64 ipv6 multicast boundary scope 8 Note: Filtering the scope value of 8 will ensure that any multicast traffic received by the interface in either direction with a scope equal to or less than 8 (organization-local) will be dropped. Hence, all administrative scoped traffic will be dropped while allowing global multicast traffic (scope of 14) to be forwarded for an inter-domain multicast routing deployment.
Local Scope range is 239.255.0.0/16 and can expand into the reserved ranges 239.254.0.0/16 and 239.253.0.0/16 if 239.255.0.0/16 is exhausted. The IPv4 Organization Local Scope is 239.192.0.0/14 is defined to be and is the space from which an organization should allocate sub- ranges when defining scopes for private use. The scope of IPv6 multicast packets are determined by the scope value where 4 is Admin-local, 5 is Site-local, and 8 is Organization-local. Configure the necessary boundary to ensure packets addressed to these administratively scoped multicast addresses do not cross the applicable administrative boundaries.
Review the perimeter router or multi-layer switch configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv6 packets containing a Hop-by-Hop header with option type values of 0x04 (Tunnel Encapsulation Limit), 0xC9 (Home Address Destination), or 0xC3 (NSAP Address). The following example will block any inbound IPv6 packet containing a Hop-by-Hop header with option type values of 0x04 (Tunnel Encapsulation Limit), 0xC9 (Home Address Destination), or 0xC3 (NSAP Address): interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ipv6 access-list IPV6-INGRESS_ACL deny 0 any any dest-option-type 4 deny 0 any any dest-option-type 195 deny 0 any any dest-option-type home-address permit ipv6 … … deny ipv6 any any or ipv6 access-list IPV6_INGRESS_ACL deny 0 any any dest-option permit ipv6 … … deny ipv6 any any Because hop-by-hop and destination options have the same exact header format, they are combined under the dest-option-type keyword. According to Cisco, since Hop-by-Hop and Destination Option headers have non-overlapping types, you can use dest-option-type to match either. You can filter the Hop-by-Hop and Destination Option headers via protocol 0 and 60 respectively.
Configure the perimeter router or multi-layer switch to drop all inbound and outbound IPv6 packets containing a Hop-by-Hop header with option type values of 0x04 (Tunnel Encapsulation Limit), 0xC9 (Home Address Destination), or 0xC3 (NSAP Address).
The maximum number of hops used in router advertisements and all IPv6 packets that are originated by the router can be set using the ipv6 hop-limit command in global configuration mode. Review the router or multi-layer switch configuration to determine if the maximum hop limit has been configured. If it has been configured, then it must be set to at least 32. The following global command sets the max hop limit to 128: ipv6 hop-limit 128 Note: The IOS default is 64. Hence, if the hop limit is not configured, the router will be in compliance with the requirement.
Configure maximum hop limit to at least 32.
Review the perimeter router or multi-layer switch configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv6 packets containing a Destination Option header with option type values of 0x05 (Router Alert) or 0xC2 (Jumbo Payload). The following example will block any inbound IPv6 packet containing a Destination Option header with option type values of with option type values of 0x05 (Router Alert) or 0xC2 (Jumbo Payload): interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ipv6 access-list IPV6-INGRESS_ACL deny 60 any any dest-option-type 5 deny 60 any any dest-option-type 194 permit ipv6 … … deny ipv6 any any or ipv6 access-list IPV6_INGRESS_ACL deny 60 any any dest-option permit ipv6 … … deny ipv6 any any Because hop-by-hop and destination options have the same exact header format, they are combined under the dest-option-type keyword. According to Cisco, since Hop-by-Hop and Destination Option headers have non-overlapping types, you can use dest-option-type to match either. You can filter the Hop-by-Hop and Destination Option headers via protocol 0 and 60 respectively.
Configure the perimeter router or multi-layer switch to drop all inbound and outbound IPv6 packets containing a Destination Option header with option type values of 0x05 (Router Alert) or 0xC2 (Jumbo Payload).
Review the perimeter router or multi-layer switch configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv6 packets containing an option type values of 0x8A (Endpoint Identification) regardless of whether it appears in a Hop-by-Hop or Destination Option header. The following example will block any inbound IPv6 packet containing an extension header with the option type value of 0x8A (Endpoint Identification): interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ipv6 access-list IPV6-INGRESS_ACL deny any any dest-option-type 138 permit ipv6 … … deny ipv6 any any or ipv6 access-list IPV6_INGRESS_ACL deny any any dest-option permit ipv6 … … deny ipv6 any any Because hop-by-hop and destination options have the same exact header format, they are combined under the dest-option-type keyword. According to Cisco, since Hop-by-Hop and Destination Option headers have non-overlapping types, you can use dest-option-type to match either. You can filter the Hop-by-Hop and Destination Option headers via protocol 0 and 60 respectively.
Configure the perimeter router or multi-layer switch to drop all inbound and outbound IPv6 packets containing an option type values of 0x8A (Endpoint Identification) regardless of whether it appears in a Hop-by-Hop or Destination Option header
Review the perimeter router or multi-layer switch configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv6 packets containing a Destination Option header with option type value of 0xC3 (NSAP address). The following example will block any inbound IPv6 packet containing a Destination Option header with option type value of 0xC3 (NSAP address): interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ipv6 access-list IPV6-INGRESS_ACL deny 60 any any dest-option-type 195 permit ipv6 … … deny ipv6 any any or ipv6 access-list IPV6_INGRESS_ACL deny 60 any any dest-option permit ipv6 … … deny ipv6 any any Because hop-by-hop and destination options have the same exact header format, they are combined under the dest-option-type keyword. According to Cisco, since Hop-by-Hop and Destionation Option headers have non-overlapping types, you can use dest-option-type to match either. You can filter the Hop-by-Hop and Destionation Option headers via protocol 0 and 60 respectively.
Configure the perimeter router or multi-layer switch to drop all inbound and outbound IPv6 packets containing a Destination Option header with option type value of 0xC3 (NSAP address).
Review the perimeter router or multi-layer switch configuration and determine if filters are bound to the applicable interfaces to drop all inbound and outbound IPv6 packets containing an undefined option type value regardless of whether they appear in a Hop-by-Hop or Destination Option header. Undefined values are 0x02, 0x03, 0x06 through 0x89 inclusive, 0x8B through 0xC1 inclusive, 0xC4 through 0xC8 inclusive, and anything greater than 0xC9. The following example will block any inbound IPv6 packet containing a an extension header with an invalid or undefined option type value: interface FastEthernet0/1 description DISN CORE facing ipv6 address 2001:1:0:146::4/64 ipv6 traffic-filter IPV6_INGRESS_ACL in ! … ! ipv6 access-list IPV6-INGRESS_ACL deny any any dest-option-type 2 deny any any dest-option-type 3 deny any any dest-option-type 6 deny any any dest-option-type 7 deny any any dest-option-type 8 … deny any any dest-option-type 137 deny any any dest-option-type 139 deny any any dest-option-type 193 deny any any dest-option-type 196 deny any any dest-option-type 197 deny any any dest-option-type 198 deny any any dest-option-type 199 deny any any dest-option-type 200 deny any any dest-option-type 202 … deny any any dest-option-type 255 permit ipv6 … … deny ipv6 any any or ipv6 access-list IPV6_INGRESS_ACL deny any any dest-option permit ipv6 … … deny ipv6 any any Note: Option type 0(0x00) and 1(0x01) are reserved for the Pad1 and PadN options respectively. They are used for both Hop-by-Hop or Destination Option header when it is necessary to align subsequent options and to pad out the header to a multiple of 8 octets in length.
Configure the perimeter router or multi-layer switch to drop all inbound and outbound IPv6 packets containing an undefined option type value regardless of whether they appear in a Hop-by-Hop or Destination Option header. Undefined values are 0x02, 0x03, 0x06 through 0x89 inclusive, 0x8B through 0xC1 inclusive, 0xC4 through 0xC8 inclusive, and anything greater than 0xC9.
If the router is functioning as a 6to4 router, verify that there is an egress filter (inbound on the internal-facing interface) to drop any outbound IPv4 packets that are tunneling IPv6 packets. Step 1: Determine if the router is functioning as a 6to4 router. You should find a tunnel configuration similar to the following example: interface Tunnel0 no ip address no ip redirects ipv6 address 2000:C0A8:6301::1/64 tunnel source FastEthernet0/1 tunnel mode ipv6ip 6to4 ! … ipv6 route 2002::/16 Tunnel0 Step 2: Verify that there is an egress filter (inbound on the internal-facing interface) to drop any outbound IPv4 packets that are tunneling IPv6 packets. You should find a configuration similar to the following example: interface FastEthernet0/1 description internal link ip address 192.168.1.1 255.255.255.0 ipv6 address 6TO4PREFIX ::1:0:0:0:1/64 ip access-group IPV4_EGRESS_FILTER in ! ip access-list extended IPV4_EGRESS_FILTER remark only this 6to4 router can tunnel IPv6 traffic deny 41 any any log … … Note: normally you would want to configure the internal interface for a 6to4 router as dual stack. However IPv6 only is possible and if configured as such, having an IPv4 ACL is irrelevant since the interface will not accept any IPv4 packets.
If the router is functioning as a 6to4 router, configure an egress filter (inbound on the internal-facing interface) to drop any outbound IPv4 packets that are tunneling IPv6 packets.
If the router is functioning as a 6to4 router, verify that an egress filter (inbound on the internal-facing interface) has been configured to drop any outbound IPv6 packets from the internal network with a source address that is not within the 6to4 prefix 2002:V4ADDR::/48 where V4ADDR is the designated IPv4 6to4 address for the enclave. The examples below are using 2002:c612:1::/48 where c612:1 maps to 198.18.0.1 which is the imbedded V4ADDR. The subnet in this example is 2002:c612:1:1::/64. The IPV6 ACL will filter the source address of the IPv6 packets before they are forwarded to the 6to4 tunnel. ipv6 general-prefix 6TO4_PREFIX 6to4 FastEthernet0/1 ! interface Tunnel0 ipv6 address 2000:c0a8:6301::1/64 tunnel source FastEthernet0/0 tunnel mode ipv6ip 6to4 ! interface FastEthernet0/0 ip address 10.1.12.1 255.255.255.0 ipv6 address 6TO4_PREFIX ::1:0:0:0:1/64 ipv6 traffic-filter IPV6_EGRESS_FILTER in ! interface FastEthernet0/1 description DISN CORE facing ip address 198.18.0.1 255.255.255.0 ! ipv6 route 2002::/16 Tunnel0 ! ipv6 access-list IPV6_EGRESS_FILTER permit ipv6 2002:C612:1::/48 any deny ipv6 any any log Note: normally you would want to configure the internal interface dual stack, allthough IPv6 only is possible.
If the router is functioning as a 6to4 router, configure an egress filter (inbound on the internal-facing interface) to drop any outbound IPv6 packets from the internal network with a source address that is not within the 6to4 prefix 2002:V4ADDR::/48 where V4ADDR is the designated IPv4 6to4 address for the enclave.
Review the router or multi-layer switch configuration and determine if L2TPv3 has been configured to provide transport across an IP network. If it has been configured, verify that the L2TPv3 session requires authentication. Step 1: Determine if an L2TPv3 pseudowire is configured on an interface which will look similar to the following configuration: pseudowire-class L2TPV3 encapsulation l2tpv3 ip local interface Loopback0 ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ! interface FastEthernet0/0 xconnect 5.5.5.5 1 encapsulation l2tpv3 pw-class L2TPV3 If you do not see a configuration similar to the one above, then this vulnerability is not applicable. Otherwise, proceed to step 2. Step2: Verify that the l2tp-class global command has been configured with authentication as shown in the following example. l2tp-class L2TP_CLASS authentication password 7 011E1F145A1815182E5E4A Note: If a password is not configured in the l2tp-class command the password associated with the remote peer router is taken from the value entered with the global username hostname password value. Note: Layer 2 Forwarding or L2F (RFC2341), which is the "version 1", and L2TPv2 (RFC 2661) are used for remote access services based on the Virtual Private Dial-up Network (VPDN) model—not for tunneling IP packets across a backbone as with L2TPv3. With the VPDN model, a user obtains a layer-2 connection to a RAS using dialup PSTN or ISDN service and then establishes a PPP session over that connection. The L2 termination and PPP session endpoints reside on the RAS. L2TP extends the PPP model by allowing the L2 and PPP endpoints to reside on different devices that are interconnected by a backbone network. A remote access client has an L2 connection to an L2TP Access Concentrator (LAC) that tunnels PPP frames across the IP backbone to the L2TP Network Server (LNS) residing in the private network.
Configure L2TPv3 to use authentication for any peering sessions.
Review the router configuration to determine if authentication is being used for all peers. A password should be defined for each BGP neighbor regardless of the autonomous system the peer belongs as shown in the following example: outer bgp 100 neighbor external-peers peer-group neighbor 171.69.232.90 remote-as 200 neighbor 171.69.232.90 peer-group external-peers neighbor 171.69.232.100 remote-as 300 neighbor 171.69.232.100 peer-group external-peers neighbor 171.69.232.90 password xxxxxxxxxx neighbor 171.69.232.100 password xxxxxxxxxx
Configure the device to authenticate all BGP peers.
Review the device configuration; if the statement "no mop enabled" is not present on every enabled Ethernet, FastEthernet, and GigabitEthernet interface, this is a finding. Not all releases of Cisco IOS support this capability and this does not apply to Cisco NX OS. If the "no mop enabled" statement is not present in the device configuration, determine if the IOS version and feature set support Maintenance Operations Protocol. If it does not, this is not a finding.
Configure the device to disable Maintenance Operation Protocol (MOP). Issue the following command on all Ethernet, FastEthernet, and GigabitEthernet interfaces: (config-if) no mop enable Not all releases of Cisco IOS support this capability and this does not apply to Cisco NX OS. Document the IOS release and feature set; if the device IOS does not support Maintenance Operation Protocol, no configuration change is necessary.