Juniper Router NDM Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- JUNI-ND-000010
- Vuln IDs
-
- JUNI-ND-000010
- Rule IDs
-
- JUNI-ND-000010_rule
Checks: C-JUNI-ND-000010_chk
Review the router configuration to determine if concurrent SSH sessions are limited as show in the example below: system { services { ssh { max-sessions-per-connection 1; connection-limit 2; } } Note: the max-sessions-per-connection must be set to 1 to limit the number of sessions per connection which is limited by the connection-limit. If the router is not configured to limit the number of concurrent sessions, this is a finding.
Fix: F-JUNI-ND-000010_fix
Configure the router to limit the number of concurrent sessions as shown in the example below: [edit system services] set ssh connection-limit 2 set ssh max-sessions-per-connection 1
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- JUNI-ND-000090
- Vuln IDs
-
- JUNI-ND-000090
- Rule IDs
-
- JUNI-ND-000090_rule
Checks: C-JUNI-ND-000090_chk
Review the router configuration to determine if it audits account creation. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If account creation is not audited, this is a finding.
Fix: F-JUNI-ND-000090_fix
Configure the router to audit the creation of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: [edit system] set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001403
- Version
- JUNI-ND-000100
- Vuln IDs
-
- JUNI-ND-000100
- Rule IDs
-
- JUNI-ND-000100_rule
Checks: C-JUNI-ND-000100_chk
Review the router configuration to determine if it audits account modification. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If account modification is not audited, this is a finding.
Fix: F-JUNI-ND-000100_fix
Configure the router to audit the modification of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: [edit system] set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001404
- Version
- JUNI-ND-000110
- Vuln IDs
-
- JUNI-ND-000110
- Rule IDs
-
- JUNI-ND-000110_rule
Checks: C-JUNI-ND-000110_chk
Review the router configuration to determine if it audits the disabling of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If the disabling of accounts is not audited, this is a finding. Note: Accounts can be disabled by changing the assigned class to unauthorized (no permissions).
Fix: F-JUNI-ND-000110_fix
Configure the router to audit the disabling of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: [edit system] set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001405
- Version
- JUNI-ND-000120
- Vuln IDs
-
- JUNI-ND-000120
- Rule IDs
-
- JUNI-ND-000120_rule
Checks: C-JUNI-ND-000120_chk
Review the router configuration to determine if it audits the deletion of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If the deletion of accounts is not audited, this is a finding.
Fix: F-JUNI-ND-000120_fix
Configure the router to audit the deletion of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: [edit system] set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001368
- Version
- JUNI-ND-000140
- Vuln IDs
-
- JUNI-ND-000140
- Rule IDs
-
- JUNI-ND-000140_rule
Checks: C-JUNI-ND-000140_chk
Review the router configuration to verify that it is compliant with this requirement. Step 1: Verify that an input filter has been configured for the loopback interfaces as shown in the example below. interfaces { … … … } lo0 { unit 0 { family inet { filter { input RESTRICT_MGMT_ACCESS; } address 2.2.2.2/32; } } } } Step 2: Verify that the filter restricts management traffic. The configuration example below restricts management access to specific IP addresses via SSH. filter RESTRICT_MGMT_ACCESS { term ALLOW_SSH { from { source-address { x.x.x.x/24; } protocol tcp; port ssh; } then accept; } term DENY_SSH { from { protocol tcp; port ssh; } then { log; discard; } } } Note: Management and control plane traffic destined to the router is punted to the routing engine. Hence, applying the filter to the loopback ensures that this traffic can be monitored regardless of the ingress physical interface. If the Juniper router is not configured to enforce approved authorizations for controlling the flow of management information within the device based on control policies, this is a finding.
Fix: F-JUNI-ND-000140_fix
Step 1: Configure the router to restrict management access to specific IP addresses via SSH as shown in the example below. [edit firewall family inet] set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from source-address x.x.x.x/24 set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from protocol tcp set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from port ssh set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH then accept set filter RESTRICT_MGMT_ACCESS term DENY_SSH from protocol tcp set filter RESTRICT_MGMT_ACCESS term DENY_SSH from port ssh set filter RESTRICT_MGMT_ACCESS term DENY_SSH then log set filter RESTRICT_MGMT_ACCESS term DENY_SSH then discard Step 2: Apply the filter to the loopback interface. [edit interfaces lo0 unit 0 family inet] set filter input RESTRICT_MGMT_ACCESS Note: Management and control plane traffic destined to the router is punted to the routing engine. Hence, applying the filter to the loopback ensures that this traffic can be monitored regardless of the ingress physical interface. Step 1: Configure the router to restrict management access to specific IP addresses via SSH as shown in the example below. [edit firewall family inet] set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from source-address x.x.x.x/24 set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from protocol tcp set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH from port ssh set filter RESTRICT_MGMT_ACCESS term ALLOW_SSH then accept set filter RESTRICT_MGMT_ACCESS term DENY_SSH from protocol tcp set filter RESTRICT_MGMT_ACCESS term DENY_SSH from port ssh set filter RESTRICT_MGMT_ACCESS term DENY_SSH then log set filter RESTRICT_MGMT_ACCESS term DENY_SSH then discard Step 2: Apply the filter to the loopback interface. [edit interfaces lo0 unit 0 family inet] set filter input RESTRICT_MGMT_ACCESS Note: Management and control plane traffic destined to the router is punted to the routing engine. Hence, applying the filter to the loopback ensures that this traffic can be monitored regardless of the ingress physical interface.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- JUNI-ND-000150
- Vuln IDs
-
- JUNI-ND-000150
- Rule IDs
-
- JUNI-ND-000150_rule
Checks: C-JUNI-ND-000150_chk
Review the router configuration to verify that it enforces the limit of three consecutive invalid logon attempts and shown in the example below. login { retry-options { tries-before-disconnect 3; } If the router is not configured to enforce the limit of three consecutive invalid logon attempts, this is a finding.
Fix: F-JUNI-ND-000150_fix
Configure the router to enforce the limit of three consecutive invalid logon attempts as shown in the example below. [edit system login] set retry-options tries-before-disconnect
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- JUNI-ND-000160
- Vuln IDs
-
- JUNI-ND-000160
- Rule IDs
-
- JUNI-ND-000160_rule
Checks: C-JUNI-ND-000160_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. login { message "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. "; retry-options { tries-before-disconnect 3; } } If the router is not configured to display the Standard Mandatory DoD Notice and Consent Banner before granting access to the device, this is a finding.
Fix: F-JUNI-ND-000160_fix
Configure the router to display the Standard Mandatory DoD Notice and Consent Banner before granting access as shown in the following example: [edit system login] set message "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. "
- RMF Control
- AU-10
- Severity
- M
- CCI
- CCI-000166
- Version
- JUNI-ND-000210
- Vuln IDs
-
- JUNI-ND-000210
- Rule IDs
-
- JUNI-ND-000210_rule
Checks: C-JUNI-ND-000210_chk
Review the router configuration to determine if it logs configuration changes as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If configuration change activity is not logged, this is a finding.
Fix: F-JUNI-ND-000210_fix
Configure the router to log configuration changes as shown in the following example: set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- JUNI-ND-000230
- Vuln IDs
-
- JUNI-ND-000230
- Rule IDs
-
- JUNI-ND-000230_rule
Checks: C-JUNI-ND-000230_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below various types of events to be logged. syslog { file LOG_FILE { authorization info; security info; firewall info; change-log info; } } Note: The parameter "any" can be in place of configuring specific events as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } } } If the router is not configured to generate log records for DoD-defined auditable events, this is a finding.
Fix: F-JUNI-ND-000230_fix
Configure the router to generate log records for DoD-defined auditable events as shown in the configuration example below. [edit system] set syslog file LOG_FILE authorization info set syslog file LOG_FILE security info set syslog file LOG_FILE firewall info set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of configuring specific events as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000171
- Version
- JUNI-ND-000240
- Vuln IDs
-
- JUNI-ND-000240
- Rule IDs
-
- JUNI-ND-000240_rule
Checks: C-JUNI-ND-000240_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below allows only users belonging to the AUDITOR class to configure the logging parameters. system { login { class AUDITOR { permissions [configure view-configuration]; allow-configuration "(system syslog)"; } class SR_ENGINEER { permissions all; deny-configuration "(system syslog)"; } } } If the router is not configured to allow only the ISSM to select which auditable events are to be audited, this is a finding.
Fix: F-JUNI-ND-000240_fix
Create a login class that provides the permission to configure logging parameters as well as a classes that do not allow configuration of logging parameters as shown in the example below. set login class AUDITOR permissions [configure view-configuration] set login class AUDITOR allow-configuration "(system syslog)" Note: The auditor must also be allowed to view the configuration to verify. set login class SR_ENGINEER permissions all set login class SR_ENGINEER deny-configuration "(system syslog)"
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-000250
- Vuln IDs
-
- JUNI-ND-000250
- Rule IDs
-
- JUNI-ND-000250_rule
Checks: C-JUNI-ND-000250_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below will log all logon attempts. syslog { file LOG_FILE { authorization info; } } Note: The parameter "any" can be in place of "authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } } } If the router is not configured to generate audit records when successful/unsuccessful attempts to logon, this is a finding.
Fix: F-JUNI-ND-000250_fix
Configure the router to log all logon attempts as shown in the example below. [edit system] set syslog file LOG_FILE authorization info Note: The parameter "any" can be in place of "authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000135
- Version
- JUNI-ND-000330
- Vuln IDs
-
- JUNI-ND-000330
- Rule IDs
-
- JUNI-ND-000330_rule
Checks: C-JUNI-ND-000330_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below will log all configuration changes. syslog { file LOG_FILE { change-log info; } } Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } } } If the router is not configured to generate audit records of configuration changes, this is a finding.
Fix: F-JUNI-ND-000330_fix
Configure the router to log all configuration changes as shown in the example below. [edit system] set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- JUNI-ND-000380
- Vuln IDs
-
- JUNI-ND-000380
- Rule IDs
-
- JUNI-ND-000380_rule
Checks: C-JUNI-ND-000380_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below allows only users belonging to the AUDITOR class to configure the logging parameters. system { login { class AUDITOR { permissions [configure view-configuration]; allow-configuration "(system syslog)"; } class SR_ENGINEER { permissions all; deny-configuration "(system syslog)"; } } } If the router is not configured to protect audit information from unauthorized modification, this is a finding.
Fix: F-JUNI-ND-000380_fix
Create a login class that provides the permission to configure logging parameters as well as a classes that do not allow configuration of logging parameters as shown in the example below. [edit system] set login class AUDITOR permissions [configure view-configuration] set login class AUDITOR allow-configuration "(system syslog)" set login class SR_ENGINEER permissions all set login class SR_ENGINEER deny-configuration "(system syslog)"
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000164
- Version
- JUNI-ND-000390
- Vuln IDs
-
- JUNI-ND-000390
- Rule IDs
-
- JUNI-ND-000390_rule
Checks: C-JUNI-ND-000390_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below depicts a class JR_ENGINEER which does not permit users belonging to the class to delete files or make changes to logging parameters. login { class JR_ENGINEER { permissions all; deny-commands "(file delete)"; deny-configuration "(system syslog)"; } } Note: The predefined classes operator and Read-only do not have permissions to delete files. If the router is not configured to protect audit information from unauthorized deletion, this is a finding.
Fix: F-JUNI-ND-000390_fix
Configure one or more classes as shown in the example below whose users will not be permitted to delete files or make changes to logging parameters. [edit system] set login class JR_ENGINEER permissions all set login class JR_ENGINEER deny-configuration "(system syslog)" set login class JR_ENGINEER deny-commands “(file delete)”
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- JUNI-ND-000460
- Vuln IDs
-
- JUNI-ND-000460
- Rule IDs
-
- JUNI-ND-000460_rule
Checks: C-JUNI-ND-000460_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below depicts a class JR_ENGINEER that is not permitted to add, change, or delete software installed on the router. login { class JR_ENGINEER { permissions all; deny-commands "request system software"; } Note: The following are the options under request system software: abort - Abort software upgrade add - Add extension or upgrade package delete - Remove extension or upgrade package rollback - Roll back to previous set of packages validate - Verify package compatibility with current configuration If the router is not configured to limit privileges to change the software resident within software libraries, this is a finding.
Fix: F-JUNI-ND-000460_fix
Configure one or more classes as shown in the example below whose users will not be permitted to add, change, or delete software installed on the router. [edit system] set login class JR_ENGINEER permissions all set login class JR_ENGINEER deny-commands “(request system software)” Note: The predefined classes "operator" and "Read-only" do not have permissions to install or delete software.
- RMF Control
- CM-7
- Severity
- H
- CCI
- CCI-000382
- Version
- JUNI-ND-000470
- Vuln IDs
-
- JUNI-ND-000470
- Rule IDs
-
- JUNI-ND-000470_rule
Checks: C-JUNI-ND-000470_chk
Review the services that have been enabled as shown in the following configuration example: services { finger; telnet; xnm-clear-text; netconf { ssh; } } Services such as finger, telnet, and clear text-based JUNOScript connections should never be enabled. Other services such as Netconf, FTP, DHCP, and SSL-based JUNOScript connections should only be enabled if operationally required. If the router is not configured to prohibit the use of all unnecessary and non-secure functions, ports, protocols, and services, this is a finding.
Fix: F-JUNI-ND-000470_fix
Disable the following services if enabled as shown in the example below. [edit system services] delete telnet delete finger delete xnm-clear-text
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002111
- Version
- JUNI-ND-000490
- Vuln IDs
-
- JUNI-ND-000490
- Rule IDs
-
- JUNI-ND-000490_rule
Checks: C-JUNI-ND-000490_chk
Review the router configuration to verify that a local account for last resort has been configured with privileges that will enable the administrator to troubleshoot network outage and restore operations as shown in the following example: system { authentication-order [ radius password ]; } login { class JR_ENGINEER { permissions all; deny-commands "(file delete)"; deny-configuration "(system syslog)"; } user Last_Resort { uid 2000; class JR_ENGINEER; authentication { encrypted-password "$1$CYrhql/I$v2ydLnac9EPdA1F/KvROT1"; ## SECRET-DATA } } If the router is not configured with only one local account to be used as the account of last resort in the event the authentication server is unavailable, this is a finding.
Fix: F-JUNI-ND-000490_fix
Step 1: Configure a class with the necessary privileges to troubleshoot network outage and restore operations as shown in the following example: [edit system] set login class JR_ENGINEER permissions all set login class JR_ENGINEER deny-configuration "(system syslog)" set login class JR_ENGINEER deny-commands “(file delete)” Step 2: Assign the account of last resort to the JR_ENGINEER class set user LAST_RESORT class JR_ENGINEER authentication plain-text-password New password: xxxxxxxxxxxxx Step 3: Configure the authentication order to use the local account if the authentication server is not reachable as shown in the following example: [edit system] set authentication-order [radius password]
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-001941
- Version
- JUNI-ND-000530
- Vuln IDs
-
- JUNI-ND-000530
- Rule IDs
-
- JUNI-ND-000530_rule
Checks: C-JUNI-ND-000530_chk
Review the router configuration to verify that SSH is configured to use FIPS-140-2 compliant HMACs as shown in the example below. system { … … … services { ssh { protocol-version v2; macs [hmac-sha1-96 hmac-sha2-256 hmac-sha2-512]; } Note: An SSH configuration enables a server and client to authorize the negotiation of only those algorithms that are configured from the allowed list. If a remote party tries to negotiate using an algorithm that is not part of the allowed list, the request is rejected and the session is not established. If the router is not configured to implement replay-resistant authentication mechanisms for network access to privileged accounts, this is a finding.
Fix: F-JUNI-ND-000530_fix
Configure SSH to use FIPS-140-2 compliant HMACs as shown in the example below. [edit system services] set ssh protocol-version v2 set ssh macs [hmac-sha1-96 hmac-sha2-256 hmac-sha2-512] Note: An SSH configuration enables a server and client to authorize the negotiation of only those algorithms that are configured from the allowed list. If a user tries to negotiate using an algorithm that is not part of the allowed list, the request is rejected and the session is not established.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- JUNI-ND-000550
- Vuln IDs
-
- JUNI-ND-000550
- Rule IDs
-
- JUNI-ND-000550_rule
Checks: C-JUNI-ND-000550_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-length 7; } } If the router is not configured to enforce a minimum 15-character password length, this is a finding.
Fix: F-JUNI-ND-000550_fix
Configure the router to enforce a minimum 15-character password length as shown in the example below. [edit system login] set password minimum-length 15
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- JUNI-ND-000570
- Vuln IDs
-
- JUNI-ND-000570
- Rule IDs
-
- JUNI-ND-000570_rule
Checks: C-JUNI-ND-000570_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-upper-cases 1; } } If the router is not configured to enforce password complexity by requiring that at least one upper-case character be used, this is a finding.
Fix: F-JUNI-ND-000570_fix
Configure the router to enforce password complexity by requiring that at least one upper-case character be used as shown in the example below. [edit system login] set password minimum-upper-cases 1
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000193
- Version
- JUNI-ND-000580
- Vuln IDs
-
- JUNI-ND-000580
- Rule IDs
-
- JUNI-ND-000580_rule
Checks: C-JUNI-ND-000580_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-lower-cases 1; } } If the router is not configured to enforce password complexity by requiring that at least one lower-case character be used, this is a finding.
Fix: F-JUNI-ND-000580_fix
Configure the router to enforce password complexity by requiring that at least one lower-case character be used as shown in the example below. [edit system login] set password minimum-lower-cases 1
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- JUNI-ND-000590
- Vuln IDs
-
- JUNI-ND-000590
- Rule IDs
-
- JUNI-ND-000590_rule
Checks: C-JUNI-ND-000590_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-numerics 1; } } If the router is not configured to enforce password complexity by requiring that at least one numeric character be used, this is a finding.
Fix: F-JUNI-ND-000590_fix
Configure the router to enforce password complexity by requiring that at least one numeric character be used as shown in the example below. [edit system login] set password minimum-numerics 1
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- JUNI-ND-000600
- Vuln IDs
-
- JUNI-ND-000600
- Rule IDs
-
- JUNI-ND-000600_rule
Checks: C-JUNI-ND-000600_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-punctuations 1; } } If the router is not configured to enforce password complexity by requiring that at least one special character be used, this is a finding.
Fix: F-JUNI-ND-000600_fix
Configure the router to enforce password complexity by requiring that at least one special character be used as shown in the example below. [edit system login] set password minimum-punctuations 1
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000195
- Version
- JUNI-ND-000610
- Vuln IDs
-
- JUNI-ND-000610
- Rule IDs
-
- JUNI-ND-000610_rule
Checks: C-JUNI-ND-000610_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … login { password { minimum-changes 8; } } If the router is not configured to require that when a password is changed, the characters are changed in at least eight of the positions within the password, this is a finding.
Fix: F-JUNI-ND-000610_fix
Configure the router to enforce password complexity by requiring that when a password is changed, the characters are changed in at least eight of the positions within the password as shown in the example below. [edit system login] set minimum-changes 8
- RMF Control
- SC-10
- Severity
- H
- CCI
- CCI-001133
- Version
- JUNI-ND-000710
- Vuln IDs
-
- JUNI-ND-000710
- Rule IDs
-
- JUNI-ND-000710_rule
Checks: C-JUNI-ND-000710_chk
Review the router configuration to verify that all login classes have the idle-timeout value to 10 minutes or less as shown in the following example: system { … … … } login { class ADMIN { idle-timeout 10; permissions admin-control; } } If the router is not configured to terminate all network connections associated with a device management after 10 minutes of inactivity, this is a finding.
Fix: F-JUNI-ND-000710_fix
Set the idle timeout value to 10 minutes or less on all configured login classes as shown in the example below. [edit system login] set class ADMIN idle-timeout 10
- RMF Control
- AC-12
- Severity
- M
- CCI
- CCI-002361
- Version
- JUNI-ND-000830
- Vuln IDs
-
- JUNI-ND-000830
- Rule IDs
-
- JUNI-ND-000830_rule
Checks: C-JUNI-ND-000830_chk
Review the router configuration to verify that it is compliant with this requirement. As shown in the example below, a condition or event could be a period of inactivity such as 5 minutes for a specific user class. system { … … … } login { class ADMIN { idle-timeout 5; permissions admin-control; } } If the router is not configured to automatically terminate a network administrator session after organization-defined conditions or trigger events requiring session disconnect, this is a finding.
Fix: F-JUNI-ND-000830_fix
Set the idle timeout value for specific login classes to a value less than 10 minutes as shown in the example below. [edit system login] set class ADMIN idle-timeout 5
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002130
- Version
- JUNI-ND-000870
- Vuln IDs
-
- JUNI-ND-000870
- Rule IDs
-
- JUNI-ND-000870_rule
Checks: C-JUNI-ND-000870_chk
Review the router configuration to determine if it audits the enabling of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: system { syslog { file LOG_FILE { change-log info; } } } Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } file LOG_FILE { change-log info; } console { any error; } } } If the enabling of accounts is not audited, this is a finding. Note: Accounts can be disabled by changing the assigned class to unauthorized (no permissions). Hence, accounts can be enabled by changing the assigned class for the user to a class other than unauthorized.
Fix: F-JUNI-ND-000870_fix
Configure the router to audit the enabling of accounts. This requirement can be met by ensuring that configuration changes are logged as shown in the following example: set syslog file LOG_FILE change-log info Note: The parameter “any” can be in place of “change-log” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info Note: Accounts can be disabled by changing the assigned class to unauthorized (no permissions). Hence, accounts can be enabled by changing the assigned class for the user to a class other than unauthorized.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-000890
- Vuln IDs
-
- JUNI-ND-000890
- Rule IDs
-
- JUNI-ND-000890_rule
Checks: C-JUNI-ND-000890_chk
Review the router configuration to verify that the device is configured to use an authentication server as primary source for authentication as shown in the following example: system { authentication-order [radius password ]; } radius-server { 10.1.58.2 secret "$9$xYW-dsq.5zF/wYnC"; ## SECRET-DATA } or system { authentication-order [tacplus password ]; root-authentication { encrypted-password "$1$4Ou0B0Nk$IXPAsRmgLqLM./.I1XUuh1"; ## SECRET-DATA } tacplus-server { 10.1.58.2 secret "$9$emHMWxZGiq.5X7PQ"; ## SECRET-DATA } If the router is not configured to use an authentication server as primary source for authentication, this is a finding.
Fix: F-JUNI-ND-000890_fix
Step 1: Configure the router to use an authentication server as shown in the following examples: [edit system] set radius-server 10.1.58.2 secret xxxxxxxxx or set tacplus-server 10.1.58.2 secret xxxxxxxxx Step2: Configure the authentication order to use the authentication server as primary source for authentication as shown in the following examples: set authentication-order [radius password] or set authentication-order [tacplus password]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-002234
- Version
- JUNI-ND-000930
- Vuln IDs
-
- JUNI-ND-000930
- Rule IDs
-
- JUNI-ND-000930_rule
Checks: C-JUNI-ND-000930_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below will log all commands entered from the command line interface as well as log all configuration changes. syslog { file LOG_FILE { interactive-commands; change-log info } } Note: The parameter "any" can be in place of configuring specific events as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host 10.1.58.2 { any info; } } If the router is not configured to log all commands entered from the command line interface as well as log all configuration changes, this is a finding.
Fix: F-JUNI-ND-000930_fix
Configure the router to log all commands entered from the command line interface as well as log all configuration changes as shown in the following example: [edit system] set syslog file LOG_FILE interactive-commands set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of configuring specific events as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host 10.1.58.2 any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-001914
- Version
- JUNI-ND-000960
- Vuln IDs
-
- JUNI-ND-000960
- Rule IDs
-
- JUNI-ND-000960_rule
Checks: C-JUNI-ND-000960_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below allows users from the AUDITOR class to view the configuration and to make changes to the logging parameters. system { login { class AUDITOR { permissions [configure view-configuration]; allow-configuration "(system syslog)"; } } Note: The auditor must also be allowed to view the configuration to verify. If the router is not configured to enable organization-identified individuals or roles to change the auditing to be performed based on all selectable event criteria, this is a finding.
Fix: F-JUNI-ND-000960_fix
Create a login class that provides the permission to configure logging parameters. [edit system] set login class AUDITOR permissions [configure view-configuration] set login class AUDITOR allow-configuration "(system syslog)" Note: The auditor must also be allowed to view the configuration to verify.
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001849
- Version
- JUNI-ND-000970
- Vuln IDs
-
- JUNI-ND-000970
- Rule IDs
-
- JUNI-ND-000970_rule
Checks: C-JUNI-ND-000970_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below specifies 12 archive log files and the maximum size of the active log file to be reached prior to archiving. syslog { file LOG_FILE { any info; archive size 1000000 files 12; } } Note: To prevent log files from growing too large, by default the Junos logging utility writes messages to a sequence of files of a defined size. The files in the sequence are referred to as archive files to distinguish them from the active file to which messages are currently being written. The default maximum size depends on the platform type. By default, the logging utility creates up to 10 archive files in this manner. When the maximum number of archive files is reached and when the size of the active file reaches the configured maximum size, the contents of the last archived file are overwritten by the current active file. If the router is not configured to allocate audit record storage capacity in accordance with organization-defined audit record storage requirements, this is a finding.
Fix: F-JUNI-ND-000970_fix
Configure the number or archive files and the maximum size of the active log file to be reached prior to archiving as shown in the example below. [edit system] set syslog file LOG_FILE any info set syslog file LOG_FILE archive files 12 size 1000000
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001858
- Version
- JUNI-ND-000990
- Vuln IDs
-
- JUNI-ND-000990
- Rule IDs
-
- JUNI-ND-000990_rule
Checks: C-JUNI-ND-000990_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { syslog { host x.x.x.x { any critical; } } Note: The parameter "critical" can be replaced with a lesser severity level (i.e., error, warning, notice, info). If the router is not configured to generate an alert for all audit failure events, this is a finding.
Fix: F-JUNI-ND-000990_fix
Configure the router to send critical to emergency log messages to the syslog server as shown in the example below. set syslog host x.x.x.x any critical Note: The parameter "critical" can replaced with a lesser severity level (i.e., error, warning, notice, info).
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001893
- Version
- JUNI-ND-001020
- Vuln IDs
-
- JUNI-ND-001020
- Rule IDs
-
- JUNI-ND-001020_rule
Checks: C-JUNI-ND-001020_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the configuration example below. system { … … … } ntp { server x.x.x.x prefer; server x.x.x.x; } If the router is not configured to synchronize its clock with redundant authoritative time sources, this is a finding.
Fix: F-JUNI-ND-001020_fix
Configure the router to synchronize its clock with redundant authoritative time sources as shown in the example below. [edit system ntp] set server x.x.x.x set server x.x.x.x prefer
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001890
- Version
- JUNI-ND-001030
- Vuln IDs
-
- JUNI-ND-001030
- Rule IDs
-
- JUNI-ND-001030_rule
Checks: C-JUNI-ND-001030_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { time-zone UTC; Note: UTC is the default; hence, the command set time-zone may not be seen in the configuration. This can be verified using the show system uptime command If the router is not configured record time stamps for log records that can be mapped to UTC or GMT, this is a finding.
Fix: F-JUNI-ND-001030_fix
[edit system] set time-zone UTC
- RMF Control
- CM-11
- Severity
- M
- CCI
- CCI-001812
- Version
- JUNI-ND-001060
- Vuln IDs
-
- JUNI-ND-001060
- Rule IDs
-
- JUNI-ND-001060_rule
Checks: C-JUNI-ND-001060_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration example below depicts a class JR_ENGINEER that is not permitted to add or change software installed on the router. login { class JR_ENGINEER { permissions all; deny-commands "request system software"; } Note: The following are the options under request system software: abort -Abort software upgrade add -Add extension or upgrade package delete -Remove extension or upgrade package rollback -Roll back to previous set of packages validate -Verify package compatibility with current configuration If the router is not configured to prohibit installation of software without explicit privileged status, this is a finding.
Fix: F-JUNI-ND-001060_fix
Configure one or more classes as shown in the example below whose users will not be permitted to add or change software installed on the router. [edit system] set login class JR_ENGINEER permissions all set login class JR_ENGINEER deny-commands “(request system software)” Note: The predefined classes operator and Read-only do not have permissions to install software.
- RMF Control
- IA-3
- Severity
- M
- CCI
- CCI-001967
- Version
- JUNI-ND-001120
- Vuln IDs
-
- JUNI-ND-001120
- Rule IDs
-
- JUNI-ND-001120_rule
Checks: C-JUNI-ND-001120_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. snmp { v3 { usm { local-engine { user R5_NMS { authentication-sha { authentication-key "$9$vOiLX-Vb2oaUwsJDiHmPz3690BcSevM"; ## SECRET-DATA } } } } target-address NMS_HOST { address x.x.x.x; address-mask 255.255.255.0; tag-list NMS; target-parameters TP1; } target-parameters TP1 { parameters { message-processing-model v3; security-model usm; security-level authentication; security-name R5_NMS; } } notify SEND_TRAPS { type trap; tag NMS; } snmp-community index1 { security-name R5_NMS; tag NMS; } } } If the router is not configured to authenticate SNMP messages using a FIPS-validated HMAC, this is a finding.
Fix: F-JUNI-ND-001120_fix
Configure the router to authenticate SNMP messages as shown in the example below. [edit snmp] set v3 usm local-engine user R5_NMS authentication-sha authentication-password xxxxxxxxxx set v3 target-address NMS_HOST address x.x.x.x edit v3 target-address NMS_HOST [edit snmp v3 target-address NMS_HOST] set address-mask 255.255.255.0 set tag-list NMS set target-parameters TP1 exit [edit snmp] set v3 target-parameters TP1 parameters message-processing-model v3 set v3 target-parameters TP1 parameters security-model usm set v3 target-parameters TP1 parameters security-name R5_NMS set v3 target-parameters TP1 parameters security-level authentication set v3 snmp-community index1 security-name R5_NMS tag NMS set v3 notify SEND_TRAPS type trap tag NMS
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- JUNI-ND-001130
- Vuln IDs
-
- JUNI-ND-001130
- Rule IDs
-
- JUNI-ND-001130_rule
Checks: C-JUNI-ND-001130_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. snmp { v3 { usm { local-engine { user R5_NMS { authentication-sha { authentication-key "$9$vOiLX-Vb2oaUwsJDiHmPz3690BcSevM"; ## SECRET-DATA } privacy-aes128 { privacy-key "$9$3Q4T9CuOBESyK1IrvW87NwYgoDiPfz3nCs24Z"; ## SECRET-DATA } } } } target-address NMS_HOST { address 10.1.58.2; address-mask 255.255.255.0; tag-list NMS; target-parameters TP1; } target-parameters TP1 { parameters { message-processing-model v3; security-model usm; security-level privacy; security-name R5_NMS; } } notify SEND_TRAPS { type trap; tag NMS; } snmp-community index1 { security-name R5_NMS; tag NMS; } } } Note: SNMPv3 security level privacy also authenticates the messages using the configured HMAC. If the router is not configured to encrypt SNMP messages using a FIPS 140-2 approved algorithm, this is a finding.
Fix: F-JUNI-ND-001130_fix
Configure the router to encrypt SNMP messages using a FIPS 140-2 approved algorithm as shown in the example below. [edit snmp] set v3 usm local-engine user R5_NMS authentication-sha authentication-password xxxxxxxxxx set v3 usm local-engine user R5_NMS privacy-aes128 privacy-password xxxxxxxxxx set v3 target-address NMS_HOST address 10.1.58.2 edit v3 target-address NMS_HOST [edit snmp v3 target-address NMS_HOST] set address-mask 255.255.255.0 set tag-list NMS set target-parameters TP1 exit [edit snmp] set v3 target-parameters TP1 parameters message-processing-model v3 set v3 target-parameters TP1 parameters security-model usm set v3 target-parameters TP1 parameters security-name R5_NMS set v3 target-parameters TP1 parameters security-level privacy set v3 snmp-community index1 security-name R5_NMS tag NMS set v3 notify SEND_TRAPS type trap tag NMS Note: SNMPv3 security level privacy also authenticates the messages using the configured HMAC; hence, the authentication key must also be configured as shown in the example above.
- RMF Control
- IA-3
- Severity
- M
- CCI
- CCI-001967
- Version
- JUNI-ND-001140
- Vuln IDs
-
- JUNI-ND-001140
- Rule IDs
-
- JUNI-ND-001140_rule
Checks: C-JUNI-ND-001140_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the configuration example below. system { … … … } ntp { authentication-key 1 type md5 value "$9$LMK7NbHkPTQnVwF/"; ## SECRET-DATA authentication-key 2 type md5 value "$9$I3KceWbwgJUH"; ## SECRET-DATA server x.x.x.x key 1 prefer; ## SECRET-DATA server x.x.x.x key 2; ## SECRET-DATA trusted-key [1 2]; } If the router is not configured to authenticate NTP sources using authentication that is cryptographically based, this is a finding.
Fix: F-JUNI-ND-001140_fix
Configure the router to authenticate NTP sources using authentication that is cryptographically based as shown in the example below. [edit system ntp] set authentication-key 1 type md5 value xxxxxxxxx set authentication-key 2 type md5 value xxxxxxxxx set server x.x.x.x key 1 prefer set server x.x.x.x key 2 set trusted-key [1 2]
- RMF Control
- MA-4
- Severity
- H
- CCI
- CCI-002890
- Version
- JUNI-ND-001190
- Vuln IDs
-
- JUNI-ND-001190
- Rule IDs
-
- JUNI-ND-001190_rule
Checks: C-JUNI-ND-001190_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { … … … } services { ssh { protocol-version v2; macs hmac-sha1-96; } } If the router is not configured to use FIPS-validated HMAC to protect the integrity of remote maintenance sessions, this is a finding.
Fix: F-JUNI-ND-001190_fix
Configure SSH to use FIPS-validated HMAC for remote maintenance sessions as shown in the following example: [edit system services] set ssh protocol-version v2 set ssh macs hmac-sha1-96
- RMF Control
- MA-4
- Severity
- H
- CCI
- CCI-003123
- Version
- JUNI-ND-001200
- Vuln IDs
-
- JUNI-ND-001200
- Rule IDs
-
- JUNI-ND-001200_rule
Checks: C-JUNI-ND-001200_chk
Review the router configuration to verify that it is compliant with this requirement. system { … … … } services { ssh { protocol-version v2; ciphers aes128-cbc; macs hmac-sha1-96; } } If the router is not configured to implement cryptographic mechanisms to protect the confidentiality of remote maintenance sessions using a FIPS 140-2 approved algorithm, this is a finding.
Fix: F-JUNI-ND-001200_fix
Configure the router to implement cryptographic mechanisms to protect the confidentiality of remote maintenance sessions using a FIPS 140-2 approved algorithm as shown in the example below. [edit system services] set ssh ciphers aes128-cbc
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-002385
- Version
- JUNI-ND-001210
- Vuln IDs
-
- JUNI-ND-001210
- Rule IDs
-
- JUNI-ND-001210_rule
Checks: C-JUNI-ND-001210_chk
Review the router configuration to verify that it is compliant with this requirement. Step 1: Verify that the loopback interfaces has been configured with an input filter. The example below defined a control plane policing (CoPP) filter named CoPP_Policy. interfaces { … … … lo0 { unit 0 { family inet { filter { input CoPP_Policy; } address 5.5.5.5/32; } } } } Step 2: Verify that the filter will protect against DoS attacks. firewall { … … … } filter CoPP_Policy { term CRITICAL { from { protocol [ ospf pim tcp ]; source-port bgp; destination-port bgp; } then policer CRITICAL; } term IMPORTANT { from { source-address { 10.1.1.0/24; } protocol tcp; destination-port [ ssh snmp ntp ]; } then { policer IMPORTANT; discard; } } term NORMAL { from { protocol icmp; icmp-type [ echo-reply echo-request ]; icmp-code [ ttl-eq-zero-during-transit port-unreachable ]; } then policer NORMAL; } term UNDESIRABLE { from { protocol udp; destination-port 1434; } then policer UNDESIRABLE; } term ALL-OTHER { from { address { 0.0.0.0/0; } } then policer ALL-OTHER; } } } Step 3: verify that policers configured will restrict bandwidth based on traffic types as shown in the example below. firewall { … … … } policer CRITICAL { filter-specific; if-exceeding { bandwidth-limit 4m; burst-size-limit 1500; } then discard; } policer IMPORTANT { filter-specific; if-exceeding { bandwidth-limit 512k; burst-size-limit 16k; } then discard; } policer NORMAL { filter-specific; if-exceeding { bandwidth-limit 64k; burst-size-limit 2k; } then discard; } policer UNDESIRABLE { filter-specific; if-exceeding { bandwidth-limit 32k; burst-size-limit 1500; } then discard; } policer ALL-OTHER { filter-specific; if-exceeding { bandwidth-limit 32k; burst-size-limit 1500; } then discard; } If the router is not configured to protect against known types of DoS attacks by employing organization-defined security safeguards, this is a finding.
Fix: F-JUNI-ND-001210_fix
Configure the router protect against known types of DoS attacks on the route processor. Implementing a CoPP policy as shown in the example below is a best practice method. Step 1: Configure policers for specific traffic types. set firewall policer CRITICAL filter-specific set firewall policer CRITICAL if-exceeding bandwidth-limit 4000000 burst-size-limit 1500 set firewall policer CRITICAL then discard set firewall policer IMPORTANT filter-specific set firewall policer IMPORTANT if-exceeding bandwidth-limit 512000 burst-size-limit 16000 set firewall policer IMPORTANT then discard set firewall policer NORMAL filter-specific set firewall policer NORMAL if-exceeding bandwidth-limit 64000 burst-size-limit 2000 set firewall policer NORMAL then discard set firewall policer UNDESIRABLE filter-specific set firewall policer UNDESIRABLE if-exceeding bandwidth-limit 32000 burst-size-limit 1500 set firewall policer UNDESIRABLE then discard set firewall policer ALL-OTHER filter-specific set firewall policer ALL-OTHER if-exceeding bandwidth-limit 32000 burst-size-limit 1500 set firewall policer ALL-OTHER then discard Step 2: Configure the CoPP filter by applying policers to the appropriate traffic types. set firewall filter CoPP_Policy term CRITICAL from protocol ospf set firewall filter CoPP_Policy term CRITICAL from protocol pim set firewall filter CoPP_Policy term CRITICAL from protocol tcp destination-port bgp set firewall filter CoPP_Policy term CRITICAL from protocol tcp source-port bgp set firewall filter CoPP_Policy term CRITICAL then policer CRITICAL set firewall filter CoPP_Policy term IMPORTANT from source-address 10.1.1.0/24 set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port ssh set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port snmp set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port ntp set firewall filter CoPP_Policy term IMPORTANT then policer IMPORTANT set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port ssh set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port snmp set firewall filter CoPP_Policy term IMPORTANT from protocol tcp destination-port ntp set firewall filter CoPP_Policy term IMPORTANT then discard set firewall filter CoPP_Policy term NORMAL from protocol icmp icmp-code ttl-eq-zero-during-transit set firewall filter CoPP_Policy term NORMAL from protocol icmp icmp-code port-unreachable set firewall filter CoPP_Policy term NORMAL from protocol icmp icmp-type echo-reply set firewall filter CoPP_Policy term NORMAL from protocol icmp icmp-type echo-request set firewall filter CoPP_Policy term NORMAL then policer NORMAL set firewall filter CoPP_Policy term UNDESIRABLE from protocol udp destination-port 1434 set firewall filter CoPP_Policy term UNDESIRABLE then policer UNDESIRABLE set firewall filter CoPP_Policy term ALL-OTHER from address 0.0.0.0/0 set firewall filter CoPP_Policy term ALL-OTHER then policer ALL-OTHER Step 3: Apply the CoPP filter to the loopback interface. set interface lo0 unit 0 family inet filter input CoPP_Policy
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001230
- Vuln IDs
-
- JUNI-ND-001230
- Rule IDs
-
- JUNI-ND-001230_rule
Checks: C-JUNI-ND-001230_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the examples below. syslog { file LOG_FILE { change-log info; } } Note: The parameter "any" can be in place of "authorization info" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate log records when administrator privileges are modified, this is a finding.
Fix: F-JUNI-ND-001230_fix
Configure the router to generate log records when account privileges are modified as shown in the example below. [edit system] set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001240
- Vuln IDs
-
- JUNI-ND-001240
- Rule IDs
-
- JUNI-ND-001240_rule
Checks: C-JUNI-ND-001240_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. syslog { file LOG_FILE { change-log info; } } Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate log records when administrator privileges are deleted, this is a finding.
Fix: F-JUNI-ND-001240_fix
Configure the router to generate log records when administrator privileges are deleted as shown in the example below. [edit system] set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001250
- Vuln IDs
-
- JUNI-ND-001250
- Rule IDs
-
- JUNI-ND-001250_rule
Checks: C-JUNI-ND-001250_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the examples below. syslog { file LOG_FILE { authorization info; } } Note: The parameter "any" can be in place of "authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate audit records when successful/unsuccessful logon attempts occur, this is a finding.
Fix: F-JUNI-ND-001250_fix
Configure the router to generate audit records when successful/unsuccessful logon attempts occur as shown in the example below. [edit system] set syslog file LOG_FILE authorization info Note: The parameter "any" can be in place of authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001260
- Vuln IDs
-
- JUNI-ND-001260
- Rule IDs
-
- JUNI-ND-001260_rule
Checks: C-JUNI-ND-001260_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example configurations below. syslog { file LOG_FILE { change-log info; interactive-commands info; } } Note: The parameter "any" can be in place of "change-log" and “interactive-commands” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate log records for privileged activities, this is a finding.
Fix: F-JUNI-ND-001260_fix
Configure the router to generate log records for privileged activities as shown in the example below. [edit system] set syslog file LOG_FILE change-log info set syslog file LOG_FILE interactive-commands info Note: The parameter "any" can be in place of "change-log" and “interactive-commands” as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001280
- Vuln IDs
-
- JUNI-ND-001280
- Rule IDs
-
- JUNI-ND-001280_rule
Checks: C-JUNI-ND-001280_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the examples below. syslog { file LOG_FILE { authorization info; } } Note: The parameter "any" can be in place of "authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate log records when concurrent logons from different workstations occur, this is a finding.
Fix: F-JUNI-ND-001280_fix
Configure the router to generate log records when concurrent logons from different workstations occur as shown in the example below. [edit system] set syslog file LOG_FILE authorization info Note: The parameter "any" can be in place of authorization" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- JUNI-ND-001290
- Vuln IDs
-
- JUNI-ND-001290
- Rule IDs
-
- JUNI-ND-001290_rule
Checks: C-JUNI-ND-001290_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the examples below. syslog { file LOG_FILE { change-log info; } } Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to generate log records for all account creations, modifications, disabling, and termination events, this is a finding.
Fix: F-JUNI-ND-001290_fix
Configure the router to generate log records for all account creations, modifications, disabling, and termination events as shown in the example below. [edit system] set syslog file LOG_FILE change-log info Note: The parameter "any" can be in place of "change-log" as this will log everything. Also, a syslog server can be configured in addition to or in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001851
- Version
- JUNI-ND-001300
- Vuln IDs
-
- JUNI-ND-001300
- Rule IDs
-
- JUNI-ND-001300_rule
Checks: C-JUNI-ND-001300_chk
Review the router configuration to verify that it is compliant with this requirement as shown in the example below. system { syslog { host x.x.x.x { any info; } } If the router is not configured to off-load log records onto a different system than the system being audited, this is a finding.
Fix: F-JUNI-ND-001300_fix
Configure the router to send log records to a syslog server as shown in the example below. [edit system] set syslog host x.x.x.x any info
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-001340
- Vuln IDs
-
- JUNI-ND-001340
- Rule IDs
-
- JUNI-ND-001340_rule
Checks: C-JUNI-ND-001340_chk
Review the router configuration to verify that it is compliant with this requirement. The example below illustrates how selected events can be logged. syslog { file LOG_FILE { authorization info; security info; firewall info; change-log info; } } Note: A syslog server can be configured in lieu of logging to a file as shown in the example below. system { syslog { host x.x.x.x { authorization info; security info; firewall info; change-log info; } } If the router is not configured to generate log records for a locally developed list of auditable events, this is a finding.
Fix: F-JUNI-ND-001340_fix
Configure the router to generate log records for a locally developed list of auditable events as shown in the example below. [edit system] set syslog file LOG_FILE authorization info set syslog file LOG_FILE security info set syslog file LOG_FILE firewall info set syslog file LOG_FILE change-log info Note: A syslog server can be configured in lieu of logging to a file as shown in the example below. set syslog host x.x.x.x authorization info set syslog host x.x.x.x security info set syslog host x.x.x.x firewall info set syslog host x.x.x.x change-log info
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000370
- Version
- JUNI-ND-001360
- Vuln IDs
-
- JUNI-ND-001360
- Rule IDs
-
- JUNI-ND-001360_rule
Checks: C-JUNI-ND-001360_chk
Review the router configuration to verify that the device is configured to use an authentication server as primary source for authentication as shown in the following example: system { authentication-order [radius password]; } radius-server { x.x.x.x secret "$9$xYW-dsq.5zF/wYnC"; ## SECRET-DATA } If the router is not configured to use an authentication server for the purpose of authenticating users prior to granting administrative access, this is a finding.
Fix: F-JUNI-ND-001360_fix
Step 1: Configure the authentication server as shown in the following example: [edit system] set radius-server x.x.x.x secret xxxxxxxxx Step 2: Configure the authentication order to use the authentication server as primary source for authentication as shown in the following example: set authentication-order [radius password]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-001400
- Vuln IDs
-
- JUNI-ND-001400
- Rule IDs
-
- JUNI-ND-001400_rule
Checks: C-JUNI-ND-001400_chk
Review the router configuration to verify that it is compliant with this requirement. The example configuration below will send the router configuration to an FTP server upon the commit command. system { … … … archival { configuration { transfer-on-commit; archive-sites { "ftp://ftpuserxxx:pswdxxx@x.x.x.x"; } } } } If the router is not configured to conduct backups of the configuration when changes occur, this is a finding.
Fix: F-JUNI-ND-001400_fix
Configure the router to send the configuration to an FTP server up a commit command as shown in the example below. set archival configuration transfer-on-commit archive-sites ftp://ftpuserxxx:pswdxxx @x.x.x.x
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-001430
- Vuln IDs
-
- JUNI-ND-001430
- Rule IDs
-
- JUNI-ND-001430_rule
Checks: C-JUNI-ND-001430_chk
Review the router configuration to verify that it is compliant with this requirement. The configuration below is an example of a Certificate Authority profile defining name of the CA, the location of CRL for revocation check and to refresh the CRL every 24 hours, and the email address to send a certificate request. security { pki { ca-profile DODXX_CA { ca-identity xxxxx.mil; revocation-check { crl { url http://server1.xxxxx.mil/CertEnroll/example.crl; refresh-interval 24; } } administrator { email-address "certadmin@xxxxx.mil"; } } } } If the router is not configured to obtain its public key certificates from an appropriate certificate policy through an approved service provider, this is a finding.
Fix: F-JUNI-ND-001430_fix
Step 1. Create a trusted profile and email address to send certificate request to [edit security] set pki ca-profile DODXX_CA ca-identity xxxxx.mil set pki ca-profile DODXX_CA administrator email-address certadmin@xxxxx.mil Step2. Create a revocation check to specify a method for checking certificate revocation. set pki ca-profile DODXX_CA revocation-check crl url http://server1.example.mil/CertEnroll/example.crl set pki ca-profile DODXX_CA revocation-check crl refresh-interval 24
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-001440
- Vuln IDs
-
- JUNI-ND-001440
- Rule IDs
-
- JUNI-ND-001440_rule
Checks: C-JUNI-ND-001440_chk
Verify that the router is configured to send logs to a syslog server. The configuration should look similar to the example below: system { syslog { host x.x.x.x { any info; } } If the router is not configured to send log data to the syslog server, this is a finding
Fix: F-JUNI-ND-001440_fix
Configure the router to send log data to a syslog server as shown in the example below. set syslog host x.x.x.x any info
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- JUNI-ND-001450
- Vuln IDs
-
- JUNI-ND-001450
- Rule IDs
-
- JUNI-ND-001450_rule
Checks: C-JUNI-ND-001450_chk
Verify that the router is configured to send traps to the SNMP manager. The SNMP configuration should contain commands similar to the example below. snmp { v3 { … … … } target-address NMS_HOST { address x.x.x.x; address-mask 255.255.255.0; tag-list NMS; } … … … } notify SEND_TRAPS { type trap; tag NMS; } snmp-community index1 { security-name R5_NMS; tag NMS; } } } If the router is not configured to send traps to the SNMP manager, this is a finding.
Fix: F-JUNI-ND-001450_fix
Configure the router to send SNMP traps to the SNMP manager. [edit snmp] set v3 target-address NMS_HOST address x.x.x.x edit v3 target-address NMS_HOST [edit snmp v3 target-address NMS_HOST] set address-mask 255.255.255.0 set tag-list NMS exit [edit snmp] set v3 notify SEND_TRAPS type trap tag NMS