Juniper NETWORKS MX240Junos OS Devices with Services Card User Guide

June 16, 2024
JUNIPER NETWORKS

Juniper NETWORKS MX240Junos OS Devices with Services Card

Juniper-NETWORKS-MX240Junos-OS-Devices-with-Services-
Card

Product Information

Product Name: Common Criteria Configuration Guide for MX240, MX480, and MX960 Devices with MX-SPC3 Services Card

Publication Date: 2023-12-25

Release Version: 22.2R1

Manufacturer: Juniper Networks, Inc.

Manufacturer Address: 1133 Innovation Way Sunnyvale, California 94089 USA

Manufacturer Contact: 408-745-2000

Manufacturer Website: https://www.juniper.net

Trademark: Juniper Networks, Junos

Product Usage Instructions

Overview

Common Criteria Evaluated Configuration Overview:
The Common Criteria evaluated configuration provides an overview of the security features and configurations required for the MX240, MX480, and MX960 devices with MX-SPC3 Services Card. This section explains the purpose and scope of the evaluated configuration.

Junos OS in FIPS Mode of Operation Overview:
The Junos OS in FIPS mode of operation ensures compliance with the Federal Information Processing Standards (FIPS) for cryptographic modules. This section provides an overview of the FIPS mode and its benefits.

Overview of FIPS Terminology and Supported Cryptographic Algorithms:
This section explains the terminology used in the FIPS mode and provides information about the supported cryptographic algorithms.

Identify Secure Product Delivery:
This section provides guidelines on how to ensure the secure delivery of the product, including verifying the integrity of the delivered software packages.

Management Interfaces Overview:
Learn about the different management interfaces available for the MX240, MX480, and MX960 devices with MX-SPC3 Services Card. This section explains the purpose and usage of each interface.

Configure Roles and Authentication Methods

Overview of Roles and Services for Junos OS:
This section provides an overview of the different roles and services available in Junos OS and explains how to configure them for the evaluated configuration.

Overview of the Operational Environment for Junos OS in FIPS Mode:
Understand the operational environment requirements for running Junos OS in FIPS mode. This section covers the necessary configurations and considerations.

Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode:
Learn about the password specifications and guidelines for Junos OS in FIPS mode. This section provides recommendations for creating strong and secure passwords.

Download Software Packages from Juniper Networks:
Step-by-step instructions on how to download software packages from Juniper Networks’ website. This section ensures you have the latest firmware updates and security patches.

Install Junos Software Packages:
A detailed guide on how to install Junos software packages on your MX240, MX480, or MX960 device. This section covers both the initial installation and upgrade processes.

Overview of Zeroization to Clear System Data for FIPS Mode:
Understand the process of zeroizing the system to clear sensitive data when operating in FIPS mode. This section explains the steps and considerations involved.

**Zeroize the System:

**

Step-by-step instructions on how to zeroize the system to remove all sensitive data. This section ensures the proper erasure of data before disposal or reconfiguration.

Enable FIPS Mode:
Learn how to enable FIPS mode on your MX240, MX480, or MX960 device. This section provides the necessary configurations and considerations.

Configure Security Administrator and FIPS User Identification and Access:
This section explains how to configure the security administrator and FIPS user identification and access. It covers the required steps for proper authentication and authorization.

Configure Security Administrator Access:
A detailed guide on configuring security administrator access for the evaluated configuration. This section covers the necessary configurations and best practices.

Configure FIPS User Login Access:
Step-by-step instructions on configuring FIPS user login access for the evaluated configuration. This section ensures secure user authentication and access control.

Configure Administrative Credentials and Privileges

Understanding the Associated Password Rules for an Authorized Administrator:
This section provides an understanding of the password rules associated with an authorized administrator. It covers password complexity, expiration, and other related considerations.

Configuring a Network Device Collaborative Protection Profile Authorized Administrator:
A detailed guide on configuring a network device collaborative protection profile authorized administrator. This section ensures proper administrative access control for the evaluated configuration.

Customize Time:
Learn how to customize time settings on your MX240, MX480, or MX960 device. This section covers the necessary configurations for accurate time synchronization.

Inactivity Timeout Period Configuration, and Local and Remote Idle Session Termination:
Configure the inactivity timeout period and local/remote idle session termination for the evaluated configuration. This section provides instructions on setting session timeouts.

Configure Session Termination:
Step-by-step instructions on how to configure session termination for the evaluated configuration. This section ensures proper session management and security.

Sample Output for Local Administrative Session Termination:
Sample output and examples of local administrative session termination for reference. This section helps you understand the expected behavior and output.

Sample Output for Remote Administrative Session Termination:
Sample output and examples of remote administrative session termination for reference. This section helps you understand the expected behavior and output.

Sample Output for User Initiated Termination:
Sample output and examples of user-initiated session termination for reference. This section helps you understand the expected behavior and output.

Configure SSH and Console Connection

Configure a System Login Message and Announcement:
This section explains how to configure a system login message and announcement for the evaluated configuration. It provides instructions on customizing the login experience.

Configure SSH on the Evaluated Configuration for NDcPPv2.2e:
Step-by-step instructions on how to configure SSH on the evaluated configuration for NDcPPv2.2e compliance. This section ensures secure remote access to the device.

Limit the Number of User Login Attempts for SSH Sessions:
Learn how to limit the number of user login attempts for SSH sessions on the evaluated configuration. This section provides instructions for enhancing security against brute-force attacks.

Specifications

Common Criteria Configuration Guide: MX240, MX480, and MX960 Devices with MX-SPC3 Services Card

Publication Date: 2023-12-25

Release Version: 22.2R1

Frequently Asked Questions (FAQ)

Q: Are Juniper Networks hardware and software products Year 2000 compliant?
A: Yes, Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the year 2038.

Q: Where can I find the End User License Agreement (EULA) for Juniper Networks software?
A: The End User License Agreement (EULA) for Juniper Networks software can be found at https://support.juniper.net/support/eula/. By downloading, installing, or using the software, you agree to the terms and conditions of the EULA.

Junos® OS
Common Criteria Configuration Guide for MX240, MX480, and MX960 Devices with MX-SPC3 Services Card

Published
2023-12-25

RELEASE
22.2R1

ii
Juniper Networks, Inc. 1133 Innovation Way Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net
Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered marks, or registered service marks are the property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.
Junos® OS Common Criteria Configuration Guide for MX240, MX480, and MX960 Devices with MX-SPC3 Services Card 22.2R1 Copyright © 2023 Juniper Networks, Inc. All rights reserved.
The information in this document is current as of the date on the title page.
YEAR 2000 NOTICE
Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.
END USER LICENSE AGREEMENT
The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted at https://support.juniper.net/support/eula/. By downloading, installing or using such software, you agree to the terms and conditions of that EULA.

About This Guide

Use this guide to configure and evaluate MX240, MX480, and MX960 devices for Common Criteria (CC) compliance. Common Criteria for information technology is an international agreement signed by several countries that permit the evaluation of security products against a common set of standards.
RELATED DOCUMENTATION Common Criteria and FIPS Certifications

1 CHAPTER
Overview
Common Criteria Evaluated Configuration Overview | 2 Junos OS in FIPS Mode of Operation Overview | 3 Overview of FIPS Terminology and Supported Cryptographic Algorithms | 5 Identify Secure Product Delivery | 8 Management Interfaces Overview | 9

Common Criteria Evaluated Configuration Overview
IN THIS SECTION Common Criteria Overview | 2 Supported Platforms | 3
This document describes the steps required to duplicate the configuration of the device running Junos OS when the device is evaluated. This is referred to as the evaluated configuration. The following list describes the standards to which the device has been evaluated: · NDcPPv2.2e–https://www.niap- ccevs.org/MMO/PP/CPP_ND_V2.2E.pdf · MOD_VPN–https://www.niap- ccevs.org/Profile/Info.cfm?PPID=449 The Archived Protection Profiles documents are available at https://www.niap-ccevs.org/Profile/PP.cfm? archived=1.
NOTE: MX240, MX480, and MX960 devices with Junos OS Release 22.2R1 is certified for Common Criteria with FIPS mode enabled on the devices.
Common Criteria Overview
Common Criteria for information technology is an international agreement signed by several countries that permits the evaluation of security products against a common set of standards. In the Common Criteria Recognition Arrangement (CCRA) at https://www.commoncriteriaportal.org/ccra/, the participants agree to mutually recognize evaluations of products performed in other countries. All evaluations are performed using a common methodology for information technology security evaluation. For more information on Common Criteria, see https://www.commoncriteriaportal.org/.

3
Supported Platforms
For the features described in this document, the following platforms are supported with MX-SPC3 Services Card. The NDcPPv2.2e and MOD_VPN apply to: · MX240 (https://www.juniper.net/us/en/products/routers/mx-series/mx240 -universal-routing-
platform.html) · MX480 (https://www.juniper.net/us/en/products/routers/mx- series/mx480-universal-routing-
platform.html) · MX960 (https://www.juniper.net/us/en/products/routers/mx- series/mx960-universal-routing-
platform.html)
RELATED DOCUMENTATION Identify Secure Product Delivery | 8
Junos OS in FIPS Mode of Operation Overview
IN THIS SECTION About the Cryptographic Boundary on Your Device | 4 How FIPS Mode of Operation Differs from Non-FIPS Mode of Operation | 4 Validated Version of Junos OS in FIPS Mode of Operation | 5
Federal Information Processing Standards (FIPS) 140-3 defines security levels for hardware and software that perform cryptographic functions. Junos-FIPS is a version of the Junos operating system (Junos OS) that complies with Federal Information Processing Standard (FIPS) 140-3. Operating your security devices in a FIPS 140-3 Level 2 environment requires enabling and configuring FIPS mode of operation on the device from the Junos OS command-line interface (CLI).

4
The Security Administrator enables FIPS mode of operation in Junos OS Release 22.2R1 and sets up keys and passwords for the system and other FIPS users who can view the configuration. Both user types can also perform normal configuration tasks on the device (such as modify interface types) as individual user configuration allows.
BEST PRACTICE: Be sure to verify the secure delivery of your device and apply tamperevident seals to its vulnerable ports.
About the Cryptographic Boundary on Your Device
FIPS 140-3 compliance requires a defined cryptographic boundary around each cryptographic module on a device. Junos OS in FIPS mode of operation prevents the cryptographic module from running any software that is not part of the FIPS-certified distribution, and allows only FIPS-approved cryptographic algorithms to be used. No critical security parameters (CSPs), such as passwords and keys, can cross the cryptographic boundary of the module by, for example, being displayed on a console or written to an external log file.
CAUTION: Virtual Chassis features are not supported in FIPS mode of operation. Do not configure a Virtual Chassis in FIPS mode of operation.
To physically secure the cryptographic module, all Juniper Networks devices require a tamper-evident seal on the USB and mini-USB ports.
How FIPS Mode of Operation Differs from Non-FIPS Mode of Operation
Unlike Junos OS in non-FIPS mode of operation, Junos OS in FIPS mode of operation is a nonmodifiable operational environment. In addition, Junos OS in FIPS mode of operation differs in the following ways from Junos OS in non-FIPS mode of operation: · Self-tests of all cryptographic algorithms are performed at startup. · Self-tests of random number and key generation are performed continuously. · Weak cryptographic algorithms such as Data Encryption Standard (DES) and MD5 are disabled. · Weak, remote, or unencrypted management connections must not be configured. However, TOE
allows local and un-encrypted console access across all modes of operation.

5
· Passwords must be encrypted with strong one-way algorithms that do not permit decryption. · Junos-FIPS administrator passwords must be at least 10 characters long. · Cryptographic keys must be encrypted before transmission. The FIPS 140-3 standard is available for download from the National Institute of Standards and Technology (NIST) at http://csrc.nist.gov/publications/fips/fips140-3/fips1402.pdf.
Validated Version of Junos OS in FIPS Mode of Operation
To determine whether a Junos OS release is NIST-validated, see the compliance page on the Juniper Networks Web site (https://apps.juniper.net/compliance).
RELATED DOCUMENTATION Identify Secure Product Delivery | 8
Overview of FIPS Terminology and Supported Cryptographic Algorithms
IN THIS SECTION FIPS Terminology | 6 Supported Cryptographic Algorithms | 7
Use the definitions of FIPS terms, and supported algorithms to help you understand Junos OS in FIPS mode.

6

FIPS Terminology

Critical security parameter (CSP)

Security-related information–for example, secret and private cryptographic keys and authentication data such as passwords and personal identification numbers (PINs)– whose disclosure or modification can compromise the security of a cryptographic module or the information it protects.

Cryptographic module

The set of hardware, software, and firmware that implements approved security functions (including cryptographic algorithms and key generation) and is contained within the cryptographic boundary.

Security Administrator

Person with appropriate permissions who is responsible for securely enabling, configuring, monitoring, and maintaining Junos OS in FIPS mode of operation on a device. For details, see “Junos OS in FIPS Mode of Operation Overview” on page 3.

ESP

Encapsulating Security Payload (ESP) protocol. The part of the IPsec protocol that

guarantees the confidentiality of packets through encryption. The protocol ensures

that if an ESP packet is successfully decrypted, and no other party knows the secret

key the peers share, the packet was not wiretapped in transit.

FIPS

Federal Information Processing Standards. FIPS 140-3 specifies requirements for

security and cryptographic modules. Junos OS in FIPS mode of operation complies

with FIPS 140-3 Level 2.

IKE

The Internet Key Exchange (IKE) is part of IPsec and provides ways to securely

negotiate the shared private keys that the authentication header (AH) and ESP

portions of IPsec need to function properly. IKE employs Diffie-Hellman key-

exchange methods and is optional in IPsec. (The shared keys can be entered manually

at the endpoints.)

IPsec

The IP Security (IPsec) protocol. A standard way to add security to Internet communications. An IPsec security association (SA) establishes secure communication with another FIPS cryptographic module by means of mutual authentication and encryption.

KATs

Known answer tests. System self-tests that validate the output of cryptographic algorithms approved for FIPS and test the integrity of some Junos OS modules. For details, see “FIPS Self-Tests Overview” on page 122.

SA

Security association (SA). A connection between hosts that allows them to

communicate securely by defining, for example, how they exchange private keys. As

Security Administrator, you must manually configure an internal SA on devices

7

SPI SSH Zeroization

running Junos OS in FIPS mode of operation. All values, including the keys, must be statically specified in the configuration.
Security parameter index (SPI). A numeric identifier used with the destination address and security protocol in IPsec to identify an SA. Because you manually configure the SA for Junos OS in FIPS mode of operation, the SPI must be entered as a parameter rather than derived randomly.
A protocol that uses strong authentication and encryption for remote access across a nonsecure network. SSH provides remote login, remote program execution, file copy, and other functions. It is intended as a secure replacement for rlogin, rsh, and rcp in a UNIX environment. To secure the information sent over administrative connections, use SSHv2 for CLI configuration. In Junos OS, SSHv2 is enabled by default, and SSHv1, which is not considered secure, is disabled.
Erasure of all CSPs and other user-created data on a device before its operation as a FIPS cryptographic module–or in preparation for repurposing the device for nonFIPS operation. The Security Administrator can zeroize the system with a CLI operational command. For details, see “Overview of Zeroization to Clear System Data for FIPS Mode” on page 23.

Supported Cryptographic Algorithms
Each implementation of an algorithm is checked by a series of known answer test (KAT) self-tests. Any self-test failure results in a FIPS error state.

BEST PRACTICE: For FIPS 140-3 compliance, use only FIPS-approved cryptographic algorithms in Junos OS in FIPS mode of operation.

The following cryptographic algorithms are supported in FIPS mode of operation. Symmetric methods use the same key for encryption and decryption, while asymmetric methods (preferred) use different keys for encryption and decryption.

AES

The Advanced Encryption Standard (AES), defined in FIPS PUB 197. The AES algorithm uses

keys of 128, 192, or 256 bits to encrypt and decrypt data in blocks of 128 bits.

DiffieHellman

A method of key exchange across a nonsecure environment (such as the Internet). The Diffie-Hellman algorithm negotiates a session key without sending the key itself across the network by allowing each party to pick a partial key independently and send part of that key

8

ECDH ECDSA HMAC

to the other. Each side then calculates a common key value. This is a symmetrical method, and keys are typically used only for a short time, discarded, and regenerated.
Elliptic Curve Diffie-Hellman. A variant of the Diffie-Hellman key exchange algorithm that uses cryptography based on the algebraic structure of elliptic curves over finite fields. ECDH allows two parties, each having an elliptic curve public-private key pair, to establish a shared secret over an insecure channel. The shared secret can be used either as a key or to derive another key for encrypting subsequent communications using a symmetric key cipher.
Elliptic Curve Digital Signature Algorithm. A variant of the Digital Signature Algorithm (DSA) that uses cryptography based on the algebraic structure of elliptic curves over finite fields. The bit size of the elliptic curve determines the difficulty of decrypting the key. The public key believed to be needed for ECDSA is about twice the size of the security level, in bits. ECDSA using the P-256, P-384, or the P-521 curve can be configured under OpenSSH.
Defined as “Keyed-Hashing for Message Authentication” in RFC 2104, HMAC combines hashing algorithms with cryptographic keys for message authentication. For Junos OS in FIPS mode of operation, HMAC uses the iterated cryptographic hash function SHA-1 (designated as HMAC-SHA1) along with a secret key.

RELATED DOCUMENTATION FIPS Self-Tests Overview | 122 Overview of Zeroization to Clear System Data for FIPS Mode | 23
Identify Secure Product Delivery
There are several mechanisms provided in the delivery process to ensure that a customer receives a product that has not been tampered with. The customer should perform the following checks upon receipt of a device to verify the integrity of the platform. · Shipping label–Ensure that the shipping label correctly identifies the correct customer name and
address as well as the device. · Outside packaging–Inspect the outside shipping box and tape. Ensure that the shipping tape has not
been cut or otherwise compromised. Ensure that the box has not been cut or damaged to allow access to the device.

9
· Inside packaging–Inspect the plastic bag and seal. Ensure that the bag is not cut or removed. Ensure that the seal remains intact.
If the customer identifies a problem during the inspection, he or she should immediately contact the supplier. Provide the order number, tracking number, and a description of the identified problem to the supplier. Additionally, there are several checks that can be performed to ensure that the customer has received a box sent by Juniper Networks and not a different company masquerading as Juniper Networks. The customer should perform the following checks upon receipt of a device to verify the authenticity of the device: · Verify that the device was ordered using a purchase order. Juniper Networks devices are never
shipped without a purchase order. · When a device is shipped, a shipment notification is sent to the e-mail address provided by the
customer when the order is taken. Verify that this e-mail notification was received. Verify that the email contains the following information: · Purchase order number · Juniper Networks order number used to track the shipment · Carrier tracking number used to track the shipment · List of items shipped including serial numbers · Address and contacts of both the supplier and the customer · Verify that the shipment was initiated by Juniper Networks. To verify that a shipment was initiated by Juniper Networks, you should perform the following tasks: · Compare the carrier tracking number of the Juniper Networks order number listed in the Juniper
Networks shipping notification with the tracking number on the package received. · Log on to the Juniper Networks online customer support portal at https://support.juniper.net/
support/ to view the order status. Compare the carrier tracking number or the Juniper Networks order number listed in the Juniper Networks shipment notification with the tracking number on the package received.
Management Interfaces Overview
The following management interfaces can be used in the evaluated configuration:

10
· Local Management Interfaces–The RJ-45 console port on the device is configured as RS-232 data terminal equipment (DTE). You can use the command- line interface (CLI) over this port to configure the device from a terminal.
· Remote Management Protocols–The device can be remotely managed over any Ethernet interface. SSHv2 is the only permitted remote management protocol that can be used in the evaluated configuration. The remote management protocols J-Web and Telnet are not available for use on the device.

2 CHAPTER
Configure Roles and Authentication Methods
Overview of Roles and Services for Junos OS | 12 Overview of the Operational Environment for Junos OS in FIPS Mode | 14 Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode |
18 Download Software Packages from Juniper Networks | 19 Install Junos Software Packages | 20 Overview of Zeroization to Clear System Data for FIPS Mode | 23 Zeroize the System | 24 Enable FIPS Mode | 26 Configure Security Administrator and FIPS User Identification and Access | 28

12
Overview of Roles and Services for Junos OS
IN THIS SECTION Security Administrator Role and Responsibilities | 12 FIPS User Role and Responsibilities | 13 What Is Expected of All FIPS Users | 13
The Security Administrator is associated with the defined login class security-admin, which has the necessary permission set to permit the administrator to perform all tasks necessary to manage Junos OS. Administrative users (Security Administrator) must provide unique identification and authentication data before any administrative access to the system is granted. Security Administrator roles and responsibilities are as follows: 1. Security Administrator can administer locally and remotely. 2. Create, modify, delete administrator accounts, including configuration of authentication failure
parameters. 3. Re-enable an Administrator account. 4. Responsible for the configuration and maintenance of cryptographic elements related to the
establishment of secure connections to and from the evaluated product. The Juniper Networks Junos operating system (Junos OS) running in non-FIPS mode allows a wide range of capabilities for users, and authentication is identity- based. Security Administrator performs all FIPS-mode-related configuration tasks and issue all statements and commands for Junos OS in FIPS mode.
Security Administrator Role and Responsibilities
The Security Administrator is the person responsible for enabling, configuring, monitoring, and maintaining Junos OS in FIPS mode on a device. The Security Administrator securely installs Junos OS on the device, enables FIPS mode, establishes keys and passwords for other users and software modules, and initializes the device before network connection.

13
BEST PRACTICE: We recommend that the Security Administrator administer the system in a secure manner by keeping passwords secure and checking audit files.
The permissions that distinguish the Security Administrator from other FIPS users are secret, security, maintenance, and control. Assign the Security Administrator to a login class that contains all of these permissions. Among the tasks related to Junos OS in FIPS mode, the Security Administrator is expected to: · Set the initial root password. The length of the password should be at least 10 characters. · Reset user passwords with FIPS-approved algorithms. · Examine log and audit files for events of interest. · Erase user-generated files, keys, and data by zeroizing the device.
FIPS User Role and Responsibilities
All FIPS users, including the Security Administrator, can view the configuration. Only the user assigned as the Security Administrator can modify the configuration. FIPS user can view status output but cannot reboot or zeroize the device.
What Is Expected of All FIPS Users
All FIPS users, including the Security Administrator, must observe security guidelines at all times. All FIPS users must: · Keep all passwords confidential. · Store devices and documentation in a secure area. · Deploy devices in secure areas. · Check audit files periodically. · Conform to all other FIPS 140-3 security rules. · Follow these guidelines:

14
· Users are trusted. · Users abide by all security guidelines. · Users do not deliberately compromise security. · Users behave responsibly at all times.
RELATED DOCUMENTATION Zeroize the System | 24
Overview of the Operational Environment for Junos OS in FIPS Mode
IN THIS SECTION Hardware Environment for Junos OS in FIPS Mode | 14 Software Environment for Junos OS in FIPS Mode | 15 Critical Security Parameters | 16
A Juniper Networks device running the Juniper Networks Junos operating system (Junos OS) in FIPS mode forms a special type of hardware and software operational environment that is different from the environment of a device in non-FIPS mode:
Hardware Environment for Junos OS in FIPS Mode
Junos OS in FIPS mode establishes a cryptographic boundary in the device that no critical security parameters (CSPs) can cross using plain text. Each hardware component of the device that requires a cryptographic boundary for FIPS 140-3 compliance is a separate cryptographic module. There are two types of hardware with cryptographic boundaries in Junos OS in FIPS mode: one for each Routing Engine and one for entire chassis.

15
Cryptographic methods are not a substitute for physical security. The hardware must be located in a secure physical environment. Users of all types must not reveal keys or passwords, or allow written records or notes to be seen by unauthorized personnel.
Software Environment for Junos OS in FIPS Mode
A Juniper Networks device running Junos OS in FIPS mode forms a special type of nonmodifiable operational environment. To achieve this environment on the device, the system prevents the execution of any binary file that was not part of the certified Junos OS in FIPS mode distribution. When a device is in FIPS mode, it can run only Junos OS. The Junos OS in FIPS mode software environment is established after the Security Administrator successfully enables FIPS mode on a device. The Junos OS image that includes FIPS mode is available on the Juniper Networks website and can be installed on a functioning device. For FIPS 140-3 compliance, we recommend that you delete all user-created files and data by zeroizing the device before enabling FIPS mode. Enabling FIPS mode disables many of the usual Junos OS protocols and services. In particular, you cannot configure the following services in Junos OS in FIPS mode: · finger
· ftp
· rlogin
· telnet
· tftp
· xnm-clear-text
Attempts to configure these services, or load configurations with these services configured, result in a configuration syntax error. You can use only SSH as a remote access service. All passwords established for users after upgrading to Junos OS in FIPS mode must conform to Junos OS in FIPS mode specifications. Passwords must be between 10 and 20 characters in length and require the use of at least three of the five defined character sets (uppercase and lowercase letters, digits, punctuation marks, and keyboard characters, such as % and &, not included in the other four categories). Attempts to configure passwords that do not conform to these rules result in an error. All passwords and keys used to authenticate peers must be at least 10 characters in length, and in some cases the length must match the digest size.

16

NOTE: Do not attach the deviceto a network until the Security Administrator completes configuration from the local console connection.
For strict compliance, do not examine core and crash dump information on the local console in Junos OS in FIPS mode because some CSPs might be shown in plain text.

Critical Security Parameters

Critical security parameters (CSPs) are security-related information such as cryptographic keys and passwords that can compromise the security of the cryptographic module or the security of the information protected by the module if they are disclosed or modified.
Zeroization of the system erases all traces of CSPs in preparation for operating the deviceor Routing Engine as a cryptographic module.
Table 1 on page 16 lists CSPs on devices running Junos OS.
Table 1: Critical Security Parameters

CSP

Description

Zeroize

Use

SSHv2 private host key

ECDSA / RSA key used to identify the host, generated the first time SSH is configured.

Zeroize command.

Used to identify the host.

SSHv2 session keys

Session key used with SSHv2 and as a Power cycle and

Diffie-Hellman private key.

terminate session.

Encryption: AES-128, AES-256.

Symmetric key used to encrypt data between host and client.

MACs: HMAC-SHA-1, HMACSHA-2-256, HMAC-SHA2-512.

Key exchange: dh-group14-sha1, ECDH-sha2-nistp256, ECDH-sha2nistp384, and ECDH-sha2-nistp521.

17

Table 1: Critical Security Parameters (Continued)

CSP

Description

Zeroize

Use

User authentication Hash of the user’s password: SHA256, Zeroize command.

key

SHA512.

Used to authenticate a user to the cryptographic module.

Crypto Officer authentication key

Hash of the Crypto Officer’s password: SHA256, SHA512.

Zeroize command.

Used to authenticate the Security Administrator to the cryptographic module.

HMAC DRBG seed

Seed for deterministic randon bit generator (DRBG).

Seed is not stored by the cryptographic module.

Used for seeding DRBG.

HMAC DRBG V value

The value (V) of output block length (outlen) in bits, which is updated each time another outlen bits of output are produced.

Power cycle.

A critical value of the internal state of DRBG.

HMAC DRBG key value

The current value of the outlen-bit key, which is updated at least once each time that the DRBG mechanism generates pseudorandom bits.

Power cycle.

A critical value of the internal state of DRBG.

NDRNG entropy

Used as entropy input string to the HMAC DRBG.

Power cycle.

A critical value of the internal state of DRBG.

In Junos OS in FIPS mode, all CSPs must enter and leave the cryptographic module in encrypted form. Any CSP encrypted with a non-approved algorithm is considered plain text by FIPS.
Local passwords are hashed with the SHA256 or SHA512 algorithm. Password recovery is not possible in Junos OS in FIPS mode. Junos OS in FIPS mode cannot boot into single-user mode without the correct root password.

RELATED DOCUMENTATION Overview of Zeroization to Clear System Data for FIPS Mode | 23

18
Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode
All passwords established for users by the Security Administrator must conform to the following Junos OS in FIPS mode requirements. Attempts to configure passwords that do not conform to the following specifications result in an error. · Length: Passwords must contain between 10 and 20 characters. · Character set requirements: Passwords must contain at least three of the following five defined
character sets: · Uppercase letters · Lowercase letters · Digits · Punctuation marks · Keyboard characters not included in the other four sets–such as the percent sign (%) and the
ampersand (&) · Authentication requirements: All passwords and keys used to authenticate peers must contain at
least 10 characters, and in some cases the number of characters must match the digest size. · Password encryption: To change the default encryption method (SHA512) include the format
statement at the [edit system login password] hierarchy level. Guidelines for strong passwords: Strong, reusable passwords can be based on letters from a favorite phrase or word and then concatenated with other unrelated words, along with added digits and punctuation. In general, a strong password is: · Easy to remember so that users are not tempted to write it down. · Made up of mixed alphanumeric characters and punctuation. For FIPS compliance include at least
one change of case, one or more digits, and one or more punctuation marks. · Changed periodically. · Not divulged to anyone. Characteristics of weak passwords: Do not use the following weak passwords: · Words that might be found in or exist as a permuted form in a system files such as /etc/passwd.

19
· The hostname of the system (always a first guess). · Any word or phrase that appears in a dictionary or other well-known source, including dictionaries
and thesauruses in languages other than English; works by classical or popular writers; or common words and phrases from sports, sayings, movies or television shows. · Permutations on any of the above–for example, a dictionary word with letters replaced with digits (r00t) or with digits added to the end. · Any machine-generated password. Algorithms reduce the search space of password-guessing programs and so must not be used.
RELATED DOCUMENTATION Overview of the Operational Environment for Junos OS in FIPS Mode | 14
Download Software Packages from Juniper Networks
You can download the Junos OS software package from the Juniper Networks website. Before you begin to download the software, ensure that you have a Juniper Networks Web account and a valid support contract. To obtain an account, complete the registration form at the Juniper Networks website: https://userregistration.juniper.net/. To download software packages from Juniper Networks: 1. Using a Web browser, follow the links to the download URL on the Juniper Networks webpage.
https://support.juniper.net/support/downloads/ 2. Log in to the Juniper Networks authentication system using the username (generally your e-mail
address) and password supplied by Juniper Networks representatives. 3. Download the software. See Downloading Software.
RELATED DOCUMENTATION Installation and Upgrade Guide

Install Junos Software Packages

You can use this procedure to upgrade Junos OS on device with a single Routing Engine. To install software upgrades on a device with a single Routing Engine:

  1. Download the software package as described in “Download Software Packages from Juniper
    Networks” on page 19. 2. If you have not already done so, connect to the console port on the device from your management
    device, and log in to the Junos OS CLI. 3. (Optional) Back up the current software configuration to a second storage option. See the Software
    Installation and Upgrade Guide for instructions on performing this task. 4. (Optional) Copy the software package to the device. We recommend that you use FTP to copy the
    file to the /var/tmp/ directory. This step is optional because Junos OS can also be upgraded when the software image is stored at a remote location. These instructions describe the software upgrade process for both scenarios. 5. Install the new package on the device:
    user@host> request vmhost software add
    Replace package with one of the following paths: · For a software package in a local directory on the device, use /var/tmp/package.tgz. · For a software package on a remote server, use one of the following paths, replacing variable
    option package with the software package name. · ftp://hostname/pathname/package.tgz · http://hostname/pathname/package.tgz 6. Reboot the device to load the installation:
    user@host> request vmhost reboot 7. After the reboot has completed, log in and use the show version command to verify that the new
    version of the software is successfully installed.
    user@host> show version Hostname: hostname Model: mx240

21
Junos: 22.2R1.10 JUNOS OS Kernel 64-bit [20210529.2f59a40_builder_stable_12] JUNOS OS libs [20210529.2f59a40_builder_stable_12] JUNOS OS runtime [20210529.2f59a40_builder_stable_12] JUNOS OS time zone information [20210529.2f59a40_builder_stable_12] JUNOS network stack and utilities [20210622.124332_builder_junos_212_r1] JUNOS libs [20210622.124332_builder_junos_212_r1] JUNOS OS libs compat32 [20210529.2f59a40_builder_stable_12] JUNOS OS 32-bit compatibility [20210529.2f59a40_builder_stable_12] JUNOS libs compat32 [20210622.124332_builder_junos_212_r1] JUNOS runtime [20210622.124332_builder_junos_212_r1] Junos vmguest package [20210622.124332_builder_junos_212_r1] JUNOS sflow mx [20210622.124332_builder_junos_212_r1] JUNOS py extensions [20210622.124332_builder_junos_212_r1] JUNOS py base [20210622.124332_builder_junos_212_r1] JUNOS OS vmguest [20210529.2f59a40_builder_stable_12] JUNOS OS crypto [20210529.2f59a40_builder_stable_12] JUNOS OS boot-ve files [20210529.2f59a40_builder_stable_12] JUNOS na telemetry [22.2R1.10] JUNOS Security Intelligence [20210622.124332_builder_junos_212_r1] JUNOS mx libs compat32 [20210622.124332_builder_junos_212_r1] JUNOS mx runtime [20210621.124332_builder_junos_212_r1] JUNOS RPD Telemetry Application [22.2R1.10] JUNOS Routing mpls-oam-basic [20210621.124332_builder_junos_212_r1] JUNOS Routing mpls-oam-advanced [20210621.124332_builder_junos_212_r1] JUNOS Routing lsys [20210621.124332_builder_junos_212_r1] JUNOS Routing controller-internal [20210621.124332_builder_junos_212_r1] JUNOS Routing controller-external [20210621.124332_builder_junos_212_r1] JUNOS Routing 32-bit Compatible Version [20210621.124332_builder_junos_212_r1] JUNOS Routing aggregated [20210621.124332_builder_junos_212_r1] Redis [20210621.124332_builder_junos_212_r1] JUNOS probe utility [20210621.124332_builder_junos_212_r1] JUNOS common platform support [20210621.124332_builder_junos_212_r1] JUNOS Openconfig [22.2R1.10] JUNOS mtx network modules [20210621.124332_builder_junos_212_r1] JUNOS modules [20210621.124332_builder_junos_212_r1] JUNOS mx modules [20210621.124332_builder_junos_212_r1] JUNOS mx libs [20210621.124332_builder_junos_212_r1] JUNOS SQL Sync Daemon [20210621.124332_builder_junos_212_r1] JUNOS mtx Data Plane Crypto Support [20210621.124332_builder_junos_212_r1] JUNOS daemons [20210621.124332_builder_junos_212_r1] JUNOS mx daemons [20210621.124332_builder_junos_212_r1] JUNOS Broadband Egde User Plane Apps [22.2R1.10]

22
JUNOS appidd-mx application-identification daemon [20210621.124332_builder_junos_212_r1] JUNOS TPM2 [20210621.124332_builder_junos_212_r1] JUNOS Services URL Filter package [20210621.124332_builder_junos_212_r1] JUNOS Services TLB Service PIC package [20210621.124332_builder_junos_212_r1] JUNOS Services Telemetry [20210621.124332_builder_junos_212_r1] JUNOS Services TCP-LOG [20210621.124332_builder_junos_212_r1] JUNOS Services SSL [20210621.124332_builder_junos_212_r1] JUNOS Services SOFTWIRE [20210621.124332_builder_junos_212_r1] JUNOS Services Stateful Firewall [20210621.124332_builder_junos_212_r1] JUNOS Services RTCOM [20210621.124332_builder_junos_212_r1] JUNOS Services RPM [20210621.124332_builder_junos_212_r1] JUNOS Services PCEF package [20210621.124332_builder_junos_212_r1] JUNOS Services NAT [20210621.124332_builder_junos_212_r1] JUNOS Services Mobile Subscriber Service Container package [20210621.124332_builder_junos_212_r1] JUNOS Services MobileNext Software package [20210621.124332_builder_junos_212_r1] JUNOS Services Logging Report Framework package [20210621.124332_builder_junos_212_r1] JUNOS Services LL-PDF Container package [20210621.124332_builder_junos_212_r1] JUNOS Services Jflow Container package [20210621.124332_builder_junos_212_r1] JUNOS Services Deep Packet Inspection package [20210621.124332_builder_junos_212_r1] JUNOS Services IPSec [20210621.124332_builder_junos_212_r1] JUNOS Services IDS [20210621.124332_builder_junos_212_r1] JUNOS IDP Services [20210621.124332_builder_junos_212_r1] JUNOS Services HTTP Content Management package [20210621.124332_builder_junos_212_r1] JUNOS Services DNS Filter package (i386) [20210621.124332_builder_junos_212_r1] JUNOS Services Crypto [20210621.124332_builder_junos_212_r1] JUNOS Services Captive Portal and Content Delivery Container package [20210621.124332_builder_junos_212_r1] JUNOS Services COS [20210621.124332_builder_junos_212_r1] JUNOS AppId Services [20210621.124332_builder_junos_212_r1] JUNOS Services Application Level Gateways [20210621.124332_builder_junos_212_r1] JUNOS Services AACL Container package [20210621.124332_builder_junos_212_r1] JUNOS SDN Software Suite [20210621.124332_builder_junos_212_r1] JUNOS Extension Toolkit [20210621.124332_builder_junos_212_r1] JUNOS Packet Forwarding Engine Support (wrlinux9) [20210621.124332_builder_junos_212_r1] JUNOS Packet Forwarding Engine Support (MX/EX92XX Common) [20210621.124332_builder_junos_212_r1] JUNOS Packet Forwarding Engine Support (M/T Common) [20210621.124332_builder_junos_212_r1] JUNOS Packet Forwarding Engine Support (aft) [20210621.124332_builder_junos_212_r1] JUNOS Packet Forwarding Engine Support (MX Common) [20210621.124332_builder_junos_212_r1] JUNOS Juniper Malware Removal Tool (JMRT) [1.0.0+20210621.124332_builder_junos_212_r1] JUNOS J-Insight [20210621.124332_builder_junos_212_r1] JUNOS jfirmware [20210621.124332_builder_junos_212_r1]

23
JUNOS Online Documentation [20210621.124332_builder_junos_212_r1] JUNOS jail runtime [20210529.2f59a40_builder_stable_12] RELATED DOCUMENTATION Installation and Upgrade Guide
Overview of Zeroization to Clear System Data for FIPS Mode
IN THIS SECTION Why Zeroize? | 24 When to Zeroize? | 24
Zeroization completely erases all configuration information on the device, including all plaintext passwords, secrets, and private keys for SSH, local encryption, local authentication, and IPsec. To exit the FIPS mode you need to zeroize the device. Security Administrator initiates the zeroization process by entering the request vmhost zeroize no-forwarding operational command. In reference to cryptographic key destruction, TOE does not support delayed key destruction.
CAUTION: Perform system zeroization with care. After the zeroization process is complete, no data is left on the device. Zeroization can be time-consuming. Although all configurations are removed in a few seconds, the zeroization process goes on to overwrite all media, which can take considerable time depending on the size of the media.

24
Why Zeroize?
Your device is not considered a valid FIPS cryptographic module until all critical security parameters (CSPs) have been entered–or reentered–while the device is in FIPS mode. For FIPS 140-3 compliance, you must zeroize the system to remove sensitive information before disabling FIPS mode on the device.
When to Zeroize?
As Security Administrator, perform zeroization in the following situations: · Before enabling FIPS mode of operation: To prepare your device for operation as a FIPS
cryptographic module, perform zeroization before enabling FIPS mode. · Before disabling FIPS mode of operation: To begin repurposing your device for non- FIPS operation,
perform zeroization before disabling FIPS mode on the device.
NOTE: Juniper Networks does not support installing non-FIPS software in a FIPS environment, but doing so might be necessary in certain test environments. Be sure to zeroize the system first.
RELATED DOCUMENTATION Zeroize the System | 24
Zeroize the System
To zeroize your device, follow the below procedure:

25
1. Login to the device as Crypto Officer and from CLI, enter
crypto-officer@host> request vmhost zeroize no-forwarding VMHost Zeroization : Erase all data, including configuration and log files ? [yes,no] (no) yes
2. To initiate the zeroization process, type yes at the prompt:
Erase all data, including configuration and log files? [yes, no] (no) yes VMHost Zeroization : Erase all data, including configuration and log files ? [yes,no] (no) yes
warning: Vmhost will reboot and may not boot without configuration warning: Proceeding with vmhost zeroize Zeroise secondary internal disk … Proceeding with zeroize on secondary disk Mounting device in preparation for zeroize… Cleaning up target disk for zeroize … Zeroize done on target disk. Zeroize of secondary disk completed Zeroize primary internal disk … Proceeding with zeroize on primary disk /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_rsa_key Mounting device in preparation for zeroize… Cleaning up target disk for zeroize … Zeroize done on target disk. Zeroize of primary disk completed Zeroize done warning: Proceeding with vmhost reboot Initiating vmhost reboot…
The entire operation can take considerable time depending on the size of the media, but all critical security parameters (CSPs) are removed within a few seconds. The physical environment must remain secure until the zeroization process is complete.

26

Enable FIPS Mode

As Security Administrator, you must establish a root password conforming to the FIPS password requirements in “Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode” on page 18. When you enable FIPS mode in Junos OS on the device, you cannot configure passwords unless they meet this standard.
Local passwords are encrypted with the secure hash algorithm SHA256 or SHA512. Password recovery is not possible in Junos OS in FIPS mode. Junos OS in FIPS mode cannot boot into single-user mode without the correct root password.
To enable FIPS mode in Junos OS on the device:
1. Zeroize the device to delete all CSPs before entering FIPS mode. Refer to “Zeroize the System” on page 24 section for details.
2. After the device comes up in ‘Amnesiac mode’, login using username root and password “” (blank).

FreeBSD/amd64 (Amnesiac) (ttyu0) login: root — JUNOS 22.2R1.10 Kernel 64-bit root@:~ # cli root>

JNPR-12.1-20210529.2f59a40_build

3. Configure root authentication with password at least 10 characters or more.

root> edit Entering configuration mode [edit] root# set system root- authentication plain-text-password New password: Retype new password: [edit] root# commit commit complete
4. Load configuration onto device and commit new configuration. Configure Security Administrator and
login with Security Administrator credentials.

27
5. The fips-mode and jpfe-fips are optional packages needed for enabling FIPS. These packages are part of Junos OS software. To enable these packages, use below commands:
security-administrator@hostname> request system software add optional://fips- mode.tgz Verified fips-mode signed by PackageDevelopmentECP256_2020 method ECDSA256+SHA256cryptoofficer@hostname> request system software add optional ://jpfe-fips.tgz /usr/sbin/pkg: package jpfe-fips-x86-32-20.3I- 20200610_dev_common.0.0743 is already installed
6. Configure chassis boundary fips by setting set system fips chassis level 1 and commit.
Device might display the Encrypted-password must be re-configured to use FIPS compliant hash warning to delete older CSPs in loaded configuration.
7. After deleting and reconfiguring CSPs, commit will go through and device needs reboot to enter FIPS mode.
[edit] security-administrator@hostname# commit [edit] system reboot is required to transition to FIPS level 1 commit complete [edit] security- administrator@hostname# run request vmhost reboot
8. After rebooting the device, FIPS self-tests will run and device enters FIPS mode.
security-administrator@hostname:fips>

28
Configure Security Administrator and FIPS User Identification and Access
IN THIS SECTION Configure Security Administrator Access | 28 Configure FIPS User Login Access | 30
Security Administrator and FIPS users perform all configuration tasks for Junos OS in FIPS mode and issue all Junos OS in FIPS mode statements and commands. Security Administrator and FIPS user configurations must follow Junos OS in FIPS mode guidelines.
Configure Security Administrator Access
Junos OS in FIPS mode offers a finer granularity of user permissions than those mandated by FIPS 140-3. For FIPS 140-3 compliance, any FIPS user with the secret, security, maintenance, and control permission bits set is a Security Administrator. In most cases the super-user class suffices for the Security Administrator. To configure login access for a Security Administrator: 1. Log in to the device with the root password if you have not already done so, and enter configuration
mode:
root@hostname# edit Entering configuration mode [edit] root@hostname# 2. Name the user security-administrator and assign the Security Administrator a user ID (for example, 6400, which must be a unique number associated with the login account in the range of 100 through

29
64000) and a class (for example, super-user). When you assign the class, you assign the permissions– for example, secret, security, maintenance, and control.
[edit] root@hostname# set system login user username uid value class class- name
For example:
[edit] root@hostname# set system login user security-administrator uid 6400 class super-user
3. Following the guidelines in “Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode” on page 18, assign the Security Administrator a plain-text password for login authentication. Set the password by typing a password after the prompts New password and Retype new password.
[edit] root@hostname# set system login user username class class-name authentication (plain-testpassword | encrypted-password)
For example:
[edit] root@hostname# set system login user security-administrator class super-user authentication plain-text-password
4. Optionally, display the configuration:
[edit] root@hostname#edit system [edit system] root@hostname#show login {
user security-administrator { uid 6400; authentication { encrypted-password “”; ## SECRET-DATA } class super-user;

30
} }
5. If you are finished configuring the device, commit the configuration and exit:
[edit] root@hostname# commit commit completeroot@hostname# exit
Configure FIPS User Login Access
A fips-user is defined as any FIPS user that does not have the secret, security, maintenance, and control permission bits set. As the Security Administrator you set up FIPS users. FIPS users cannot be granted permissions normally reserved for the Security Administrator–for example, permission to zeroize the system. To configure login access for a FIPS user: 1. Log in to the device with your Security Administrator password if you have not already done so, and
enter configuration mode:
security-administrator@hostname:fips> edit Entering configuration mode [edit] security-administrator@hostname:fips# 2. Give the user, a username, and assign the user a user ID (for example, 6401, which must be a unique number in the range of 1 through 64000) and a class. When you assign the class, you assign the permissions–for example, clear, network, resetview, and view- configuration.
[edit] security-administrator@hostname:fips# set system login user username uid value class classname

31
For example:
[edit]security-administrator@hostname:fips# set system login user fips-user1 uid 6401 class read-only
3. Following the guidelines in “Overview of Password Specifications and Guidelines for Junos OS in FIPS Mode” on page 18, assign the FIPS user a plain-text password for login authentication. Set the password by typing a password after the prompts New password and Retype new password.
[edit] security-administrator@hostname:fips# set system login user username class class-name authentication (plain-text-password | encrypted-password)
For example:
[edit] security-administrator@hostname:fips# set system login user fips-user1 class read-only authentication plain-text-password
4. Optionally, display the configuration:
[edit] security-administrator@hostname:fips# edit system [edit system] security-administrator@hostname:fips# show login {
user fips-user1 { uid 6401; authentication { encrypted-password “<cipher- text>”; ## SECRET-DATA } class read-only;
} }

32
5. If you are finished configuring the device, commit the configuration and exit:
[edit] security-administrator@hostname:fips# commit security- administrator@hostname:fips# exit
RELATED DOCUMENTATION Overview of Roles and Services for Junos OS | 12

3 CHAPTER
Configure Administrative Credentials and Privileges
Understanding the Associated Password Rules for an Authorized Administrator | 34
Configuring a Network Device Collaborative Protection Profile Authorized Administrator | 36 Customize Time | 37 Inactivity Timeout Period Configuration, and Local and Remote Idle Session Termination | 38

34
Understanding the Associated Password Rules for an Authorized Administrator
The authorized administrator is associated with a defined login class, and the administrator is assigned with all permissions. Data is stored locally for fixed password authentication.
NOTE: We recommend to not use control characters in passwords.
Use the following guidelines and configuration options for passwords and when selecting passwords for authorized administrator accounts. Passwords should be: · Easy to remember so that users are not tempted to write it down. · Changed periodically. · Private and not shared with anyone. · Contain a minimum of 10 characters. The minimum password length is 10 characters.
[ edit ] security-administrator@host# set system login password minimum-length 10
· Include both alphanumeric and punctuation characters, composed of any combination of upper and lowercase letters, numbers, and special characters such as, “!”, “@”, “#”, “$”, “%”, “^”, “&”, “*”, “(“, and “)”. There should be at least a change in one case, one or more digits, and one or more punctuation marks.
· Contain character sets. Valid character sets include uppercase letters, lowercase letters, numbers, punctuation, and other special characters.
[ edit ] security-administrator@host# set system login password change-type character-sets

35
· Contain the minimum number of character sets or character set changes. The minimum number of character sets required in plain-text passwords in Junos FIPS is 3.
[ edit ] security-administrator@host# set system login password minimum- changes 3
· The hashing algorithm for user passwords can be either SHA256 or SHA512 (SHA512 is the default hashing algorithm).
[ edit ] security-administrator@host# set system login password format sha512
NOTE: The device supports ECDSA (P-256, P-384, and P-521) and RSA (2048, 3072, and 4092 modulus bit length) key-types.
NOTE: The new hash algorithm affect only those passwords that are generated after commit.
Weak passwords are: · Words that might be found in or exist as a permuted form in a system file such as /etc/passwd. · The hostname of the system (always a first guess). · Any words appearing in a dictionary. This includes dictionaries other than English, and words found
in works such as Shakespeare, Lewis Carroll, Roget’s Thesaurus, and so on. This prohibition includes common words and phrases from sports, sayings, movies, and television shows. · Permutations on any of the above. For example, a dictionary word with vowels replaced with digits (for example f00t) or with digits added to the end. · Any machine-generated passwords. Algorithms reduce the search space of password-guessing programs and so should not be used. Strong reusable passwords can be based on letters from a favorite phrase or word, and then concatenated with other, unrelated words, along with additional digits and punctuation.

36
Configuring a Network Device Collaborative Protection Profile Authorized Administrator
An account for root is always present in a configuration and is not intended for use in normal operation. In the evaluated configuration, the root account is restricted to the initial installation and configuration of the evaluated device. An NDcPPv2.2e authorized administrator must have all permissions, including the ability to change the device configuration. To configure an authorized administrator: 1. Create a login class named security-admin with all permissions.
[edit] root@host# set system login class security-admin permissions all 2. Configure the hashed algorithm for plain-text passwords as sha512.
[edit] root@host# set system login password format sha512 3. Commit the changes.
[edit] root@host# commit 4. Define your NDcPPv2.2e user authorized administrator.
[edit] root@host# set system login user NDcPPv2-user class security-admin authentication encryptedpassword
OR
[edit] root@host# set system login user NDcPPv2-user class security-admin authentication plain-textpassword

37
5. Load an SSH key file that was previously generated using ssh-keygen. This command loads RSA (SSH version 2), or ECDSA (SSH version 2).
[edit] root@host# set system root-authentication load-key-file url:filename 6. Set the log-key-changes configuration statement to log when SSH authentication keys are added or removed.
[edit] root@host# set system services ssh log-key-changes
NOTE: When the log-key-changes configuration statement is enabled and committed (with the commit command in configuration mode), Junos OS logs the changes to the set of authorized SSH keys for each user (including the keys that were added or removed). Junos OS logs the differences since the last time the log-key-changes configuration statement was enabled. If the log-key- changes configuration statement was never enabled, then Junos OS logs all the authorized SSH keys.
7. Commit the changes.
[edit] root@host# commit
NOTE: The root password should be reset following the change to sha256 / sha512 for the password storage format. This ensures the new password is protected using a sha256 / sha512 hash. To reset the root password, use the set system root-authentication plain-textpassword password command, and confirm the new password when prompted.
Customize Time
To customize time, disable NTP and set the date.

38
1. Disable NTP.
[edit] security-administrator@hostname:fips# deactivate groups global system ntp security-administrator@hostname:fips# deactivate system ntp security- administrator@hostname:fips# commit security-administrator@hostname:fips# exit 2. Setting date and time. Date and time format is YYYYMMDDHHMM.ss.
[edit] security-administrator@hostname:fips# set date 201803202034.00 security-administrator@hostname:fips# set cli timestamp
Inactivity Timeout Period Configuration, and Local and Remote Idle Session Termination
IN THIS SECTION Configure Session Termination | 38 Sample Output for Local Administrative Session Termination | 40 Sample Output for Remote Administrative Session Termination | 40 Sample Output for User Initiated Termination | 41
Configure Session Termination
Terminate the session after the security administrator specifies inactive timeout period.

39
1. Set the idle timeout.
[edit] security-administrator@host:fips# set system login class security-admin idle-timeout 2 2. Configure the login access privileges.
[edit] security-administrator@host:fips# set system login class security-admin permissions all 3. Commit the configuration.
[edit] security-administrator@host:fips# commit
commit complete 4. Set the password.
[edit] security-administrator@host:fips# set system login user NDcPPv2-user authentication plaintext-password New password: Retype new password: 5. Define login class.
[edit] security-administrator@host:fips# set system login user NDcPPv2-user class security-admin 6. Commit the configuration.
[edit] security-administrator@host:fips# commit
commit complete

40
Sample Output for Local Administrative Session Termination
con host Trying a.b.c.d… ‘autologin’: unknown argument (‘set ?’ for help). Connected to device.example.com Escape character is ‘^]’.
Type the hot key to suspend the connection: Z FreeBSD/amd64 (host) (ttyu0) login: NDcPPv2-user Password: Last login: Sun Jun 23 22:42:27 from 10.224.33.70
— JUNOS 22.2R1.4 Kernel 64-bit JNPR-11.0-20190316.df99236_buil NDcPPv2-user@host> Warning: session will be closed in 1 minute if there is no activity Warning: session will be closed in 10 seconds if there is no activity Idle timeout exceeded: closing session
FreeBSD/amd64 (host) (ttyu0)
Sample Output for Remote Administrative Session Termination
ssh NDcPPv2-user@host Password: Last login: Sun Jun 23 22:48:05 2019 — JUNOS 22.2R1.4 Kernel 64-bit JNPR-11.0-20190316.df99236_buil NDcPPv2-user@host> exit
Connection to host closed. ssh NDcPPv2-user@host Password: Last login: Sun Jun 23 22:50:50 2019 from 10.224.33.70 — JUNOS 22.2R1.6 Kernel 64-bit JNPR-11.0-20190316.df99236_buil NDcPPv2-user@host> Warning: session will be closed in 1 minute if there is no activity Warning: session will be closed in 10 seconds if there is no activity Idle timeout exceeded: closing session

41
Connection to host closed.
Sample Output for User Initiated Termination
ssh NDcPPv2-user@host Password: Last login: Sun Jun 23 22:48:05 2019 — JUNOS 22.2R1.4 Kernel 64-bit JNPR-11.0-20190316.df99236_buil NDcPPv2-user@host> exit Connection to host closed.

4 CHAPTER
Configure SSH and Console Connection
Configure a System Login Message and Announcement | 43 Configure SSH on the Evaluated Configuration for NDcPPv2.2e | 44 Limit the Number of User Login Attempts for SSH Sessions | 45

43
Configure a System Login Message and Announcement
A system login message appears before the user logs in and a system login announcement appears after the user logs in. By default, no login message or announcement is displayed on the device. To configure a system login message through console or management interface, use the following command:
[edit] security-administrator@host:fips# set system login message login- message-banner-text To configure system announcement, use the following command:
[edit] security-administrator@host:fips# set system login announcement system- announcement-text
NOTE: · If the message text contains any spaces, enclose it in quotation marks. · You can format the message using the following special characters:
· n–New line · t–Horizontal tab · ‘–Single quotation mark · “–Double quotation mark · \–Backslash

44
Configure SSH on the Evaluated Configuration for NDcPPv2.2e
SSH through remote management interface allowed in the evaluated configuration. This topic describes how to configure SSH for remote management of TOE. The following algorithms that needs to be configured to validate SSH for NDcPPv2.2e. To configure SSH on the TOE: 1. Specify the permissible SSH host-key algorithms for the system services.
[edit] security-administrator@host:fips# set system services ssh hostkey- algorithm ssh-ecdsa security-administrator@host:fips# set system services ssh hostkey-algorithm no-ssh-dss security-administrator@host:fips# set system services ssh hostkey-algorithm ssh-rsa security-administrator@host:fips# set system services ssh hostkey-algorithm no-ssh-ed25519
2. Specify the SSH key-exchange for Diffie-Hellman keys for the system services.
[edit] security-administrator@host:fips# set system services ssh key-exchange dh-group14-sha1 security-administrator@host:fips# set system services ssh key- exchange ecdh-sha2-nistp256 security-administrator@host:fips# set system services ssh key-exchange ecdh-sha2-nistp384 security-administrator@host:fips# set system services ssh key-exchange ecdh-sha2-nistp521
3. Specify all the permissible message authentication code algorithms for SSHv2
[edit] security-administrator@host:fips# set system services ssh macs hmac- sha1 security-administrator@host:fips# set system services ssh macs hmac- sha2-256 security-administrator@host:fips# set system services ssh macs hmac- sha2-512
4. Specify the ciphers allowed for protocol version 2.
[edit] security-administrator@host:fips# set system services ssh ciphers aes128-cbc security-administrator@host:fips# set system services ssh ciphers aes256-cbc

45

security-administrator@host:fips# set system services ssh ciphers aes128-ctr security-administrator@host:fips# set system services ssh ciphers aes256-ctr
Supported SSH hostkey algorithm:

ssh-ecdsa ssh-rsa

Allow generation of ECDSA host-key Allow generation of RSA host-key

Supported SSH key-exchange algorithm:

dh-group14-sha1 ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521

The RFC 4253 mandated group14 with SHA1 hash The EC Diffie-Hellman on nistp256 with SHA2-256 The EC Diffie-Hellman on nistp384 with SHA2-384 The EC Diffie- Hellman on nistp521 with SHA2-512

Supported MACs algorithm:

hmac-sha1 hmac-sha2-256 hmac-sha2-512

Hash-based MAC using Secure Hash Algorithm (SHA1) Hash-based MAC using Secure Hash Algorithm (SHA2) Hash-based MAC using Secure Hash Algorithm (SHA2)

Supported SSH ciphers algorithm:

aes128-cbc aes128-ctr aes256-cbc aes256-ctr

128-bit AES with Cipher Block Chaining 128-bit AES with Counter Mode 256-bit AES with Cipher Block Chaining 256-bit AES with Counter Mode

Limit the Number of User Login Attempts for SSH Sessions
An administrator may login remotely to a device through SSH. Administrator credentials are stored locally on the device. If the remote administrator presents a valid username and password, access to the TOE is granted. If the credentials are invalid, the TOE allows the authentication to be retried after an interval that starts after 1 second and increases exponentially. If the number of authentication attempts

46
exceed the configured maximum, no authentication attempts are accepted for a configured time interval. When the interval expires, authentication attempts are again accepted.
You configure the amount of time the device gets locked after failed attempts. The amount of time in minutes before the user can attempt to log in to the device after being locked out due to the number of failed login attempts specified in the tries-before-disconnect statement. When a user fails to correctly login after the number of allowed attempts specified by the tries- before-disconnect statement, the user must wait the configured amount of minutes before attempting to log in to the device again.
The lockout-period must be greater than zero. The range at which you can configure the lockout-period is one through 43,200 minutes.
[edit system login] security-administrator@host:fips# set retry-options lockout-period
You can configure the device to limit the number of attempts to enter a password while logging through SSH. Using the following command, the connection.
[edit system login] security-administrator@host:fips# set retry-options tries- before-disconnect
Here, tries-before-disconnect is the number of times a user can attempt to enter a password when logging in. The connection closes if a user fails to log in after the number specified. The range is from 1 through 10, and the default value is 10.
The local administrator access will be maintained even if the remote administration is made permanently or temporarily unavailable due to the multiple failed login attempts. The console login for local administration will be available to the users during the lockout period.
You can also configure a delay, in seconds, before a user can try to enter a password after a failed attempt.
[edit system login] security-administrator@host:fips# set retry-options backoff-threshold
Here, backoff-threshold is the threshold for the number of failed login attempts before the user experiences a delay in being able to enter a password again. Use the backoff-factor option to specify the length of the delay in seconds. The range is from 1 through 3, and the default value is 2 seconds.

47
In addition, the device can be configured to specify the threshold for the number of failed attempts before the user experiences a delay in entering the password again.
[edit system login] security-administrator@host:fips# set retry-options backoff-factor
Here, backoff-factor is the length of time, in seconds, before a user can attempt to log in after a failed attempt. The delay increases by the value specified for each subsequent attempt after the threshold. The range is from 5 through 10, and the default value is 5 seconds. You can control user access through SSH. By configuring ssh root-login deny, you can ensure the root account remains active and continues to have local administrative privileges to the TOE even if other remote users are logged off.
[edit system] security-administrator@host:fips# set services ssh root-login deny
The SSH2 protocol provides secure terminal sessions utilizing the secure encryption. The SSH2 protocol enforces running the key-exchange phase and changing the encryption and integrity keys for the session. Key exchange is done periodically, after specified seconds or after specified bytes of data have passed over the connection. You can configure thresholds for SSH rekeying, FCS_SSHS_EXT.1.8 and FCS_SSHC_EXT.1.8. The TSF ensures that within the SSH connections the same session keys are used for a threshold of no longer than one hour, and no more than one gigabyte of the transmitted data. When either of the thresholds are reached, a rekey must be performed.
[edit system] security-administrator@host:fips# set services ssh rekey time- limit
Time limit before renegotiating session keys is 1 through 1440 minutes.
[edit system] security-administrator@host:fips# set services ssh rekey data- limit
Data limit before renegotiating session keys is 51200 through 4294967295 byte.
NOTE: Need to re-initiate the SSH connection in case the connection is broken unintentionally.

5 CHAPTER
Configure the Remote Syslog Server
Sample Syslog Server Configuration on a Linux System | 49

49
Sample Syslog Server Configuration on a Linux System
A secure Junos OS environment requires auditing of events and storing them in a local audit file. The recorded events are simultaneously sent to an external syslog server. A syslog server receives the syslog messages streamed from the device. The syslog server must have an SSH client with NETCONF support configured to receive the streamed syslog messages. Use the configuration details and establish a session between the target of evaluation (TOE) and the audit server. Examine the traffic that passes between the audit server and the TOE during several activities, and the generated audit data to be transferred to the audit server. Examine the TOE Summary Specification (TSS) to ensure that it specifies the means by which the audit data is transferred to the external audit server and how the trusted channel is provided. The NDcPP logs capture the following events: · Committed changes · System startup · Login and logout of users · Failure to establish an SSH session · Establishment or termination of an SSH session · Changes to the system time · Initiation of a system update To configure event logging to a remote server when the SSH connection to the ToE is initiated from the remote system log server. 1. Generate an RSA public key on the remote syslog server.
$ ssh-keygen -b 2048 -t rsa -C ‘syslog-monitor key pair’ -f ~/.ssh/syslog- monitor
You will be prompted to enter the desired pass phrase. The storage locations for the syslog-monitor key pair is displayed.

50
2. On the TOE, create a class named monitor that has permission to trace events.
[edit system login] security-administrator@host:fips# set class monitor permissions trace
3. Create a user named syslog-mon with the class monitor, and with authentication that uses the syslogmonitor key pair from the key pair file located on the remote syslog server.
[edit system login] security-administrator@host:fips# set user syslog-mon class monitor authentication ssh-rsa public key from syslog-monitor key pair
4. Set up NETCONF with SSH.
[edit system services] security-administrator@host:fips# set netconf ssh
5. Configure syslog to log all the messages at /var/log/messages..
[edit system services] security-administrator@host:fips# set syslog file messages any any commit
6. On the remote system log server, start up the SSH agent ssh-agent. The start up is required to simplify the handling of the syslog-monitor key.
$ eval ssh-agent -s
7. On the remote syslog server, add the syslog-monitor key pair to the ssh- agent.
$ ssh-add ~/.ssh/syslog-monitor You will be prompted to enter the desired passphrase. Enter the same passphrase used in Step 1.

51

8. After logging in to the external_syslog_server session, establish a tunnel to the device and start NETCONF.

security-administrator@host:fips# $ssh syslog-mon@NDcPP_TOE -s netconf > test.out
9. After NETCONF is established, configure a system log events message stream. This RPC will cause the NETCONF service to start transmitting messages over the SSH connection that is established.

messages 10\. The examples for syslog messages are listed below. Monitor the event log generated for admin actions on TOE are received on syslog server. Examine the traffic that passes between the audit server and the TOE, observing that these data are not viewed during this transfer, and that they are successfully received by the audit server. Match the logs between local event logging and remote event logged in syslog server and record the particular software (name, version) used on the audit server during testing. The following output shows test log results for syslog-server.

host@ssh-keygen -b 2048 -t rsa -C ‘syslog-monitor key pair’ -f ~/.ssh/syslog- monitor

Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/host/.ssh/syslog-monitor.

Your public key has been saved in /home/host/.ssh/syslog-monitor.pub.

The key fingerprint is:

ef:75:d7:68:c5:ad:8d:6f:5e:7a:7e:9b:3d:f1:4d:3f syslog-monitor key pair

The key’s randomart image is:

+–[ RSA 2048]—-+

|

|

|

|

|

|

|

..|

|

S

+|

|

. Bo|

|

. . *.X|

|

. . o E@|

|

. .BX|

+—————–+

[host@nms5-vm-linux2 ~]$ cat /home/host/.ssh/syslog-monitor.pub

ssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQCrUREJUBpjwAoIgRrGy9zgt+

52

D2pikk3Q/Wdf8I5vr+njeqJhCx2bUAkrRbYXNILQQAZbg7kLfi/8TqqL eon4HOP2e6oCSorKdx/GrOTzLONL4fh0EyuSAk8bs5JuwWNBUokV025 gzpGFsBusGnlj6wqqJ/sjFsMmfxyCkbY+pUWb8m1/A9YjOFT+6esw+9S tF6Gbg+VpbYYk/Oday4z+z7tQHRFSrxj2G92aoliVDBLJparEMBc8w LdSUDxmgBTM2oadOmm+kreBUQjrmr6775RJn9H9YwIxKOxGm4SFnX/Vl4 R+lZ9RqmKH2wodIEM34K0wXEHzAzNZ01oLmaAVqT syslog-monitor key pair [host@nms5 -vm-linux2 ~]$ eval ssh-agent -s Agent pid 1453 [host@nms5-vm-linux2 ~]$ ssh-add ~/.ssh/syslog-monitor Enter passphrase for /home/host/.ssh/syslog- monitor: Identity added: /home/host/.ssh/syslog-monitor (/home/host/.ssh /syslog-monitor)
Net configuration channel

host@nms5-vm-linux2 ~]$ ssh syslog-mon@starfire -s netconf
this is NDcPP test device
<!– No zombies were killed during the creation of this user interface -<!– user syslog-mon, class j-monitor ->

urn:ietf:params:xml:ns:netconf:base:1.0 urn:ietf:params:xml:ns:netconf:capability:candidate:1.0 urn:ietf:params:xml:ns:netconf:capability:confirmed- commit:1.0 urn:ietf:params:xml:ns:netconf:capability:validate:1.0 urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file http://xml.juniper.net/netconf/junos/1.0 http://xml.juniper.net/dmi/system/1.0 ]]>]]> The following output shows event logs generated on the TOE that are received on the syslog server.

Jan 20 17:04:51 Jan 20 17:04:51 Jan 20 17:04:53 55571 ssh2

starfire sshd[4182]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key starfire sshd[4182]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key starfire sshd[4182]: Accepted password for sec- admin from 10.209.11.24 port

53
Jan 20 17:04:53 starfire mgd[4186]: UI_AUTH_EVENT: Authenticated user ‘sec- admin’ at permission level ‘j-administrator’ Jan 20 17:04:53 starfire mgd[4186]: UI_LOGIN_EVENT: User ‘sec-admin’ login, class ‘jadministrator’ [4186], ssh-connection ‘10.209.11.24 55571 10.209.14.92 22’, client-mode ‘cli’
Net configuration channel
host@nms5-vm-linux2 ~]$ ssh syslog-mon@starfire -s netconf this is NDcPP test device
<!– No zombies were killed during the creation of this user interface -<!– user syslog-mon, class j-monitor ->

urn:ietf:params:xml:ns:netconf:base:1.0 urn:ietf:params:xml:ns:netconf:capability:candidate:1.0 urn:ietf:params:xml:ns:netconf:capability:confirmed- commit:1.0 urn:ietf:params:xml:ns:netconf:capability:validate:1.0 urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file http://xml.juniper.net/netconf/junos/1.0 http://xml.juniper.net/dmi/system/1.0 ]]>]]> The following output shows that the local syslogs and remote syslogs received were similar. Local : an 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Redundancy interface management process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/rdd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/rdd’, PID 4317, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Dynamic flow capture service checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/dfcd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/dfcd’, PID 4318, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Connectivity fault management process checking new configuration

54
Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/cfmd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/cfmd’, PID 4319, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Layer 2 address flooding and learning process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/l2ald’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/l2ald’, PID 4320, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Layer 2 Control Protocol process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/l2cpd’ Jan 20 17:09:30 starfire l2cp[4321]: Initializing PNAC state machines Jan 20 17:09:30 starfire l2cp[4321]: Initializing PNAC state machines complete Jan 20 17:09:30 starfire l2cp[4321]: Initialized 802.1X module and state machinesJan 20 17:09:30 starfire l2cp[4321]: Read acess profile () config Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/l2cpd’, PID 4321, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Multicast Snooping process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/mcsnoopd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/mcsnoopd’, PID 4325, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: commit wrapup… Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: activating ‘/var/etc/ntp.conf’ Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: start ffp activate Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/ffp’ Jan 20 17:09:30 starfire ffp[4326]: “dynamic-profiles”: No change to profiles ……………
Remote : an 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Redundancy interface management process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/rdd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/rdd’, PID 4317, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Dynamic flow capture service checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/dfcd’

55
Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/dfcd’, PID 4318, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Connectivity fault management process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/cfmd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/cfmd’, PID 4319, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Layer 2 address flooding and learning process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/l2ald’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/l2ald’, PID 4320, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Layer 2 Control Protocol process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/l2cpd’ Jan 20 17:09:30 starfire l2cp[4321]: Initializing PNAC state machines Jan 20 17:09:30 starfire l2cp[4321]: Initializing PNAC state machines complete Jan 20 17:09:30 starfire l2cp[4321]: Initialized 802.1X module and state machinesJan 20 17:09:30 starfire l2cp[4321]: Read acess profile () config Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/l2cpd’, PID 4321, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: Multicast Snooping process checking new configuration Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/mcsnoopd’ Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_STATUS: Cleanup child ‘/usr/sbin/mcsnoopd’, PID 4325, status 0 Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: commit wrapup… Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: activating ‘/var/etc/ntp.conf’ Jan 20 17:09:30 starfire mgd[4186]: UI_COMMIT_PROGRESS: Commit operation in progress: start ffp activate Jan 20 17:09:30 starfire mgd[4186]: UI_CHILD_START: Starting child ‘/usr/sbin/ffp’ Jan 20 17:09:30 starfire ffp[4326]: “dynamic-profiles”: No change to profiles ……………

6 CHAPTER
Configure Audit Log Options
Configure Audit Log Options in the Evaluated Configuration | 57 Sample Code Audits of Configuration Changes | 58

57
Configure Audit Log Options in the Evaluated Configuration
IN THIS SECTION Configure Audit Log Options | 57
The following section describes how to configure audit log options in the evaluated configuration.
Configure Audit Log Options
To configure audit log options: 1. Specify the number of files to be archived in the system logging facility.
[edit system syslog] security-administrator@host:fips# set archive files 2 2. Specify the file in which to log data. [edit system syslog] security- administrator@host:fips# set file syslog any any 3. Specify the size of files to be archived. [edit system syslog] security-administrator@host:fips# set file syslog archive size 10000000

58
4. Specify the priority and facility in messages for the system logging facility.
[edit system syslog] security-administrator@host:fips# set file syslog explicit-priority
5. Log system messages in a structured format.
[edit system syslog] security-administrator@host:fips# set file syslog structured-data
Sample Code Audits of Configuration Changes
This sample code audits all changes to the configuration secret data and sends the logs to a file named Audit-File: .
[edit system] syslog {
file Audit-File { authorization info; change-log info; interactive-commands info;
} }
This sample code expands the scope of the minimum audit to audit all changes to the configuration, not just secret data, and sends the logs to a file named Audit-File: .
[edit system] syslog {
file Audit-File { any any; authorization info; change-log any; interactive- commands info;

59
kernel info; pfe info; } }
Example: System Logging of Configuration Changes
This example shows a sample configuration and makes changes to users and secret data. It then shows
the information sent to the audit server when the secret data is added to the original configuration and committed with the load command.
[edit system] location {
country-code US; building B1; } … login { message “UNAUTHORIZED USE OF THIS ROUTERntIS STRICTLY PROHIBITED!”;
user admin { uid 2000; class super-user;
authentication { encrypted-password “$ABC123”; # SECRET-DATA
} } } radius-server 192.0.2.15 { secret “$ABC123” # SECRET-DATA } services { ssh; } syslog { user *{
any emergency; } file messages {
any notice; authorization info; }

60

file interactive-commands { interactive-commands any;
} } … …
The new configuration changes the secret data configuration statements and adds a new user.

security-administrator@host:fips# show | compare

[edit system login user admin authentication]

­ encrypted-password “$ABC123”; # SECRET-DATA

+ encrypted-password “$ABC123”; # SECRET-DATA

[edit system login]

+ user admin2 {

uid 2001;

class operator;

authentication {

encrypted-password “$ABC123”;

SECRET-DATA

}

+ }

[edit system radius-server 192.0.2.15]

­ secret “$ABC123”; # SECRET-DATA

+ secret “$ABC123″; # SECRET-DATA

7 CHAPTER
Configure Event Logging
Event Logging Overview | 62 Interpret Event Messages | 79 Log Changes to Secret Data | 80 Login and Logout Events Using SSH | 81 Logging of Audit Startup | 82

62

Event Logging Overview

The evaluated configuration requires the auditing of configuration changes through the system log. In addition, Junos OS can: · Send automated responses to audit events (syslog entry creation). · Allow authorized managers to examine audit logs. · Send audit files to external servers. · Allow authorized managers to return the system to a known state. The logging for the evaluated configuration must capture the events. The logging events are listed below: Table 2 on page 62 shows sample for syslog auditing for NDcPPv2.2e: Table 2: Auditable Events

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FAU_GEN.1

None

None

FAU_GEN.2

None

None

FAU_STG_EXT.1

None

None

FAU_STG.1

None

None

FCS_CKM.1

None

None

FCS_CKM.2

None

None

FCS_CKM.4

None

None

63

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FCS_COP.1/ DataEncryption

None

None

FCS_COP.1/SigGen None

None

FCS_COP.1/Hash

None

None

FCS_COP.1/ KeyedHash

None

None

FCS_RBG_EXT.1

None

None

FDP_RIP.2

None

None

FIA_AFL.1

Unsuccessful login attempts limit is met or exceeded.

Origin of the attempt (e.g., IP address).

sshd SSHD_LOGIN_ATTEMPTS_THRESHOLD [junos@2636.1.1.1.2.164 limit=”3″ username=”root”] Threshold for unsuccessful authentication attempts (3) reached by user ‘root’

FIA_PMG_EXT.1

None

None

64

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FIA_UIA_EXT.1

All use of identification and authentication mechanism.

Provided user identity, origin of the attempt (e.g., IP address).

Successful Remote Login
mgd 70652 UI_AUTH_EVENT [junos@2636.1.1.1.2.164 username=”root” authentication-level=”super-user”] Authenticated user ‘root’ assigned to class ‘super-user’
mgd 70652 UI_LOGIN_EVENT [junos@2636.1.1.1.2.164 username=”root” class-name =”super-user” local-peer=”” pid=”70652″ ssh-connection=”10.223.5.251 53476 10.204.134.54 22″ client-mode=”cli”] User ‘root’ login, class ‘super-user’ [70652], ssh-connection ‘10.223.5.251 53476 10.204.134.54 22’, client-mode ‘cli’
Unsuccessful Remote Login
sshd – SSHD_LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”10.223.5.251″] Login failed for user ‘root’ from host ‘10.223.5.251’
Successful Local Login
login 2671 LOGIN_INFORMATION [junos@2636.1.1.1.2.164 username=”root” hostname=”[unknown]” tty-name=”ttyu0″] User root logged in from host [unknown] on device ttyu0
login 2671 LOGIN_ROOT [junos@2636.1.1.1.2.164 username=”root” hostname=”[unknown]” tty-name=”ttyu0″] User root logged in as root from host [unknown] on device ttyu0
Unsuccessful Local Login
login 70818 LOGIN_PAM_ERROR [junos@2636.1.1.1.2.164 username=”root” error- message=”error in service module”]

65

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

Failure while authenticating user root: error in service module
login 70818 LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”ttyu0″] Login failed for user root from host ttyu0

66

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FIA_UAU_EXT.2

All use of identification and authentication mechanism.

Origin of the attempt (e.g., IP address).

Successful Remote Login
mgd 70652 UI_AUTH_EVENT [junos@2636.1.1.1.2.164 username=”root” authentication-level=”super-user”] Authenticated user ‘root’ assigned to class ‘super-user’
mgd 70652 UI_LOGIN_EVENT [junos@2636.1.1.1.2.164 username=”root” class-name =”super-user” local-peer=”” pid=”70652″ ssh-connection=”10.223.5.251 53476 10.204.134.54 22″ client-mode=”cli”] User ‘root’ login, class ‘super-user’ [70652], ssh-connection ‘10.223.5.251 53476 10.204.134.54 22’, client-mode ‘cli’
Unsuccessful Remote Login
sshd – SSHD_LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”10.223.5.251″] Login failed for user ‘root’ from host ‘10.223.5.251’
Successful Local Login
login 2671 LOGIN_INFORMATION [junos@2636.1.1.1.2.164 username=”root” hostname=”[unknown]” tty-name=”ttyu0″] User root logged in from host [unknown] on device ttyu0
login 2671 LOGIN_ROOT [junos@2636.1.1.1.2.164 username=”root” hostname=”[unknown]” tty-name=”ttyu0″] User root logged in as root from host [unknown] on device ttyu0
Unsuccessful Local Login
login 70818 LOGIN_PAM_ERROR [junos@2636.1.1.1.2.164 username=”root” error- message=”error in service module”]

67

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

Failure while authenticating user root: error in service module
login 70818 LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”ttyu0″] Login failed for user root from host ttyu0

FIA_UAU.7

None

None

FMT_MOF.1/ ManualUpdate

Any attempt to initiate a manual update.

None

UI_CMDLINE_READ_LINE [junos@2636.1.1.1.2.164 username=”secofficer” command=”request system software add /var/tmp/junos-mx240-22.2R1.1.tgz novalidate “] User ‘sec-officer’, command ‘request system software add /var/tmp/ junos-mx240-22.2R1.1.tgz no-validate ‘

FMT_MTD.1/ CoreData

All management activities of TSF data

None

Refer to the audit events listed in this table.

FMT_SMF.1/IPS

None

None

None

FMT_SMF.1/ND

None

None

None

FMT_SMR.2

None

None

FPT_SKP_EXT.1

None

None

FPT_APW_EXT.1

None

None

FPT_TST_EXT.1

None

None

68

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FPT_TUD_EXT.1

Initiation of update; result of the update attempt (success or failure)

None

UI_CMDLINE_READ_LINE [junos@2636.1.1.1.2.164 username=”secofficer” command=”request system software add /var/tmp/junos-mx240-22.2R1.1.tgz novalidate “] User ‘sec-officer’, command ‘request system software add /var/tmp/ junos-mx240-22.2R1.1.tgz no-validate ‘

FPT_STM_EXT.1

Discontinuous changes to time either Administrator actuated or changed through an automated process.

For discontinuous changes to time: The old and new values for the time. Origin of the attempt to change time for success and failure (such as, IP address).

mgd 71079 UI_CMDLINE_READ_LINE [junos@2636.1.1.1.2.164 username=”root” command=”set date 202005201815.00 “] User ‘root’, command ‘set date 202005201815.00 ‘
mgd 71079 UI_COMMIT_PROGRESS [junos@2636.1.1.1.2.164 message=”signaling ‘Network security daemon’, pid 2641, signal 31, status 0 with notification errors enabled”] Commit operation in progress: signaling ‘Network security daemon’, pid 2641, signal 31, status 0 with notification errors enabled nsd 2641 NSD_SYS_TIME_CHANGE – System time has changed

FTA_SSL_EXT.1 (if terminate the session is selected)

The termination of a local interactive session by the session locking mechanism.

None

cli – UI_CLI_IDLE_TIMEOUT [junos@2636.1.1.1.2.164 username=”root”] Idle timeout for user ‘root’ exceeded and session terminated

FTA_SSL.3

The termination of a remote session by the session locking mechanism.

None

cli – UI_CLI_IDLE_TIMEOUT [junos@2636.1.1.1.2.164 username=”root”] Idle timeout for user ‘root’ exceeded and session terminated

69

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FTA_SSL.4

The termination of an interactive session.

None

mgd 71668 UI_LOGOUT_EVENT [junos@2636.1.1.1.2.164 username=”root”] User ‘root’ logout

FTA_TAB.1

None

None

FCS_SSHS_EXT.1

Failure to establish Reason for failure an SSH session

sshd 72404 – – Unable to negotiate with 1.1.1.2 port 42168: no matching cipher found. Their offer: chacha20poly1305@openssh.com, aes128-ctr, aes192-ctr,aes256-ctr, aes128gcm@openssh.com, aes256gcm@openssh.com, aes128-cbc, aes192-cbc, aes256-cbc

FTP_ITC.1

Initiation of the trusted channel. Termination of the trusted channel. Failure of the trusted channel functions

Identification of the initiator and target of failed trusted channels establishment attempt

Initiation of the trusted path
sshd 72418 – – Accepted keyboardinteractive/pam for root from 10.223.5.251 port 42482 ssh2
Termination of the trusted path
sshd 72418 – – Disconnected from user root 10.223.5.251 port 42482 Failure of the trusted path
sshd – SSHD_LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”10.223.5.251″] Login failed for user ‘root’ from host ‘10.223.5.251’

70

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FTP_TRP.1/Admin

Initiation of the trusted path. Termination of the trusted path. Failure of the trusted path functions.

None

Initiation of the trusted path
sshd 72418 – – Accepted keyboardinteractive/pam for root from 10.223.5.251 port 42482 ssh2
Termination of the trusted path
sshd 72418 – – Disconnected from user root 10.223.5.251 port 42482
Failure of the trusted path
sshd – SSHD_LOGIN_FAILED [junos@2636.1.1.1.2.164 username=”root” source- address=”10.223.5.251″] Login failed for user ‘root’ from host ‘10.223.5.251’

FCS_SSHS_EXT.1

Failure to establish Reason for failure an SSH session

sshd 72404 – – Unable to negotiate with 1.1.1.2 port 42168: no matching cipher found. Their offer: chacha20poly1305@openssh.com, aes128-ctr,aes192ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com, aes128-cbc, aes192-cbc, aes256-cbc

FIA_X509_EXT.1/Rev

Unsuccessful attempt to validate a certificate

Reason for failure

verify-sig 72830 – – cannot validate ecerts.pem: subject issuer mismatch: /C=US/ ST=CA/L=Sunnyvale/O=Juniper Networks/ OU=Juniper CA/CN=PackageProduction TestEc_2017_NO_DEFECTS/emailAddress =ca@juniper.net

FIA_X509_EXT.2

None

None

FIA_X509_EXT.3

None

None

71

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FMT_MOF.1/ Functions

Modification of the behaviour of the transmission of audit data to an external IT entity, the handling of audit data, the audit functionality when Local Audit Storage Space is full.

None

mgd 71891 UI_RESTART_EVENT [junos@2636.1.1.1.2.164 username=”root” process- name=”Network security daemon” description=” immediately”] User ‘root’ restarting daemon ‘Network security daemon’ immediately init – – – networksecurity (PID 72907) terminated by signal number 9! init – – – network- security (PID 72929) started

FMT_MOF.1/ Services

Starting and stopping of services.

None

FMT_MTD.1/ CryptoKeys

Management of cryptographic keys.

None

SSH key
ssh-keygen 2706 – – Generated SSH key file /root/.ssh/id_rsa.pub with fingerprint SHA256:EQotXjlahhlVplg + YBLbFR3TdmJMpm6D1FSjRo6lVE4 ssh-keygen 2714 – – Generated SSH key file /root/.ssh/id_ecdsa.pub with fingerprint SHA256:ubQWoesME9bpOT1e/ sYv871hwWUzSG8hNqyMUe1cNc0
IPSEC keys
pkid 2458 PKID_PV_KEYPAIR_GEN [junos@2636.1.1.1.2.164 argument1=”384″ argument2=”ECDSA” argument3=”cert1″] A 384 bit ECDSA key-Pair has been generated for cert1
pkid 2458 PKID_PV_KEYPAIR_GEN [junos@2636.1.1.1.2.164 argument1=”4096″ argument2=”RSA” argument3=”cert2″] A 4096 bit RSA key-Pair has been generated for cert2

72

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FCS_IPSEC_EXT.1

Session Establishment with peer

Entire packet contents of packets transmitted/ received during session establishment

user@host:fips# run show log iked | no-more | grep vpn
Jun 14 10:40:49.291712 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ipsec-sa selection successful for spi (0x8a45e874) local-ip (20.1.1.1) remote-ip (20.1.1.2) vpn (IPSEC_VPN)
user@host:fips# run show log iked | no-more | grep success
Jun 14 10:40:49.278061 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ike-atec-dh- generate successful response received for ipcindex=45109,local-ip=none,remote- ip=none
Jun 14 10:40:49.290742 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] atec-validate- migrate for ed (0x2c09028) success in remote id validation
Jun 14 10:40:49.291392 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] TSi: traffic- selectormatch for ts-match Successful,C:ipv4(0.0.0.0-255.255.255.255) R:ipv4(10.1.1.0-10.1.1.255) N:ipv4(10.1.1.0-10.1.1.255)
Jun 14 10:40:49.291656 [EXT] [TUNL] [20.1.1.1 <-> 20.1.1.2] ike_tunnel_anchor_node_tunnel_add: Anchor tunnel add for tunnel 500009: success total tunnel adds:9
Jun 14 10:40:49.291682 [DET] [TUNL] [20.1.1.1 <-> 20.1.1.2] tunnel-sadb-add success with local-spi (0x8a45e874)
Jun 14 10:40:49.291712 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ipsec-sa selection successful for spi (0x8a45e874) local-ip

73

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

(20.1.1.1) remote-ip (20.1.1.2) vpn (IPSEC_VPN)
Jun 14 10:40:49.292404 [TER] [PEER] [20.1.1.1 <-> 20.1.1.2] IKE: Gateway N:IKE_GW L:20.1.1.1:500 R:20.1.1.2:500 Successful ike-id:20.1.1.2 U:N/A IKE:IKEv2 Role:R
Jun 14 10:40:49.294256 [DET] [DIST] [20.1.1.1 <-> 20.1.1.2] ike_dist_ipsec_tunnel_info_add: IPsec distribution tunnel info add to db successful Tunnel Id:500009 Client Id:20 Instance:0
Jun 14 10:40:49.295072 [EXT] [IPSC] [20.1.1.1 <-> 20.1.1.2] ipsec_common_msg_send: Successfully sent IPC msg tag 4 from iked to SPU.0.20
Jun 14 10:40:49.295292 [EXT] [IPSC] [20.1.1.1 <-> 20.1.1.2] ipsec_common_msg_send: Successfully sent IPC msg tag 4 from iked to SPU.0.21
Jun 14 10:40:49.296004 [DET] [STER] [20.1.1.1 <-> 20.1.1.2] Successfully modified st0 next hop meta data for tunnel 500009
Jun 14 10:40:49.297336 [EXT] [IPSC] [20.1.1.1 <-> 20.1.1.2] ipsec_common_msg_send: Successfully sent IPC msg tag 4 from iked to SPU.0.20
Jun 14 10:42:24.328902 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ike-atec-dh- generate successful response received for ipcindex=45111,local-ip=none,remote- ip=none
Jun 14 10:42:24.332381 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ike-atec-dh- compute successful response received for ipc-index=0

74

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

Jun 14 10:42:24.333295 [DET] [PUBL] [20.1.1.1 <-> 20.1.1.2] publish-ike-sa successful for ike-sa-index 11282 ike-sa 0x21dec24
Jun 14 10:42:29.316880 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] TSi: traffic- selectormatch for ts-match Successful,C:ipv4(0.0.0.0-255.255.255.255) R:ipv4(10.1.1.0-10.1.1.255) N:ipv4(10.1.1.0-10.1.1.255)
Jun 14 10:42:29.316889 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] TSr: traffic- selectormatch for ts-match Successful,C:ipv4(0.0.0.0-255.255.255.255) R:ipv4(30.1.1.0-30.1.1.255) N:ipv4(30.1.1.0-30.1.1.255)
Jun 14 10:42:29.317147 [DET] [TUNL] [20.1.1.1 <-> 20.1.1.2] tunnel-sadb-add success with local-spi (0x80eeab18)
Jun 14 10:42:29.317178 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ipsec-sa selection successful for spi (0x80eeab18) local-ip (20.1.1.1) remote-ip (20.1.1.2) vpn (IPSEC_VPN)
Jun 14 10:42:29.320369 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ike-atec-dh- generate successful response received for ipcindex=45113,local-ip=none,remote- ip=none
Jun 14 10:42:29.323800 [DET] [ATEC] [20.1.1.1 <-> 20.1.1.2] ike-atec-dh- compute successful response received for ipc-index=0
Jun 14 10:42:29.325513 [EXT] [IPSC] [20.1.1.1 <-> 20.1.1.2] ipsec_common_msg_send: Successfully sent IPC msg tag 4 from iked to SPU.0.20

75

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FIA_X509_EXT.1

Session establishment with CA

Entire packet contents of packets transmitted/ received during session establishment

kmd 7200 KMD_VPN_UP_ALARM_USER [junos@2636.1.1.1.2.164 vpnname=””vpn1″” remote-address=””5.5.5.1″” local-address=””11.11.11.1″” ga tewayname=””gw1″” group-name=””vpn1″” tunnelid=””131073″” interface-name=””st0.0″” internal-ip =””Not-Available”” name=””11.11.11.1″” peer-name=””5.5.5.1″” client-name =””Not-Applicable”” vrrp-groupid=””0″” traffic-selector-name= “””” trafficselector-cfg-local-id=””ipv4_subnet(any:0, [0..7]=0.0.0.0/0)”” traffic- selector-cfgremote-id= “”ipv4_subnet(any: 0, [0..7]=0.0.0.0/0)”” argument1= “”Static””] VPN vpn1 from 5.5.5.1 is up. Local-ip: 11.11.11.1, gateway name: gw1, vpn name: vpn1, tunnel-id: 131073, local tunnel-if: st0.0, remote tunnel- ip: Not-Available, Local IKE-ID: 11.11.11.1, Remote IKE-ID: 5.5.5.1, AAA username: Not-Applicable, VR id: 0, Traffic-selector: , Traffic-selector local ID: ipv4_subnet(any:0,[0..7]=0.0.0.0/0), Trafficselector remote ID: ipv4_subnet(any:0, [0..7]=0.0.0.0/0), SA Type: Static

76

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

FPF_RUL_EXT.1

Application of rules configured with the `log’ operation

Source and destination addresses. Source and destination ports. Transport Layer Protocol TOE Interface

[edit] root@host:fips# run show firewall

Filter: default_bpdu_filter

Filter: fw_filter1 Counters: Name
Bytes inc1
0 inc2
840

Packets 0 10

[edit] root@host:fips# [edit]

root@host:fips# run show firewall log

Log :

Time

Filter Action

Interface

Protocol

Src

Addr

Dest Addr

11:05:31 pfe

R

st0.1

ICMP

30.1.1.1

10.1.1.1

11:05:30 pfe

R

st0.1

ICMP

30.1.1.1

10.1.1.1

11:05:29 pfe

R

st0.1

ICMP

30.1.1.1

10.1.1.1

11:05:28 pfe

R

st0.1

ICMP

30.1.1.1

10.1.1.1

root@host:fips# run show firewall log

Log :

Time

Filter Action

Interface

Protocol

Src

77

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

Addr 11:19:59 pfe st0.1 30.1.1.1

Dest Addr R TCP
10.1.1.1

root@host:fips# run show firewall log

Log :

Time

Filter Action

Interface

Protocol

Src

Addr

Dest Addr

13:00:18 pfe

A

ge-0/0/4.0

ICMP

30.1.1.5

10.1.1.1

13:00:17 pfe

A

ge-0/0/4.0

ICMP

30.1.1.5

10.1.1.1

13:00:16 pfe

A

ge-0/0/4.0

ICMP

30.1.1.5

10.1.1.1

13:00:15 pfe

A

ge-0/0/4.0

ICMP

30.1.1.5

10.1.1.1

root@host:fips# run show firewall log

Log :

Time

Filter Action

Interface

Protocol

Src

Addr

Dest Addr

13:00:45 pfe

A

ge-0/0/4.0

TCP

30.1.1.5

10.1.1.1

78

Table 2: Auditable Events (Continued)

Requirement

Auditable Events

Additional Audit Record Contents

How Event is Generated

Indication of packets dropped due to too much network traffic

TOE interface that is unable to process packets

RT_FLOW – RT_FLOW_SESSION_DENY [junos@2636.1.1.1.2.164 sourceaddress=” 1.1.1. 2″ source-port=”10001″ destination-address=”2.2.2.2″ destinationport=” 21″ connection-tag=”0″ servicename=” junos-ftp” protocol-id=”6″ icmptype=” 0″ policy-name=”p2″ source-zone-na me=”ZO_A” destination-zone-name=”ZO_B” application=”UNKNOWN” nestedapplication=” UNKNOWN” username=”N/A” roles=”N/A” packet-incominginterface=” ge-0/0/0.0″ encrypted=”No” reason=”D enied by policy” sessionid32=”3″ application-category=”N/A” application-sub- category=”N/A” applicationrisk=”1″ application-characteristics=”N/A” src-vrf- grp=”N/A” dst-vrf-grp=” N/A”] session denied 1.1.1.2/10001->2.2.2.2/21 0x0 junos-ftp 6(0) p2 ZO_A ZO_B UNKNOWN UNKNOWN N/A(N/A) ge-0/0/0.0 No Denied by policy 3 N/A N/A -1 N/A N/A N/A

In addition, Juniper Networks recommends: · To capture all changes to the configuration. · To store logging information remotely. For more information on log details, see Specifying Log File Size, Number, and Archiving Properties

79

Interpret Event Messages

The following output shows a sample event message.

Feb 27 02:33:04 bm-a mgd[6520]: UI_LOGIN_EVENT: User ‘security-officer’ login, class ‘j-superuser’ [6520], ssh-connection ”, client-mode ‘cli’ Feb 27 02:33:49 bm-a mgd[6520]: UI_DBASE_LOGIN_EVENT: User ‘security-officer’ entering configuration mode Feb 27 02:38:29 bm-a mgd[6520]: UI_CMDLINE_READ_LINE: User ‘security-officer’, command ‘run show log Audit_log | grep LOGIN

Table 3 on page 79 describes the fields for an event message. If the system logging utility cannot determine the value in a particular field, a hyphen ( – ) appears instead.
Table 3: Fields in Event Messages

Field
timestamp

Description

Examples

Time when the message was generated, in one of two representations:
· MMM-DD HH:MM:SS.MS+/-HH:MM, is the month, day, hour,
minute, second and millisecond in local time. The hour and minute that follows the plus sign (+) or minus sign (-) is the offset of the local time zone from Coordinated Universal Time (UTC).

Feb 27 02:33:04 is the timestamp expressed as local time in the United States. 2012-02-27T09:17:15.719Z is 2:33 AM UTC on 27 Feb 2012.

· YYYY-MM-DDTHH:MM:SS.MSZ is the year, month, day, hour,
minute, second and millisecond in UTC.

hostname

Name of the host that originally generated the message. router1

process

Name of the Junos OS process that generated the

message.

mgd

processID

UNIX process ID (PID) of the Junos OS process that

generated the message.

4153

80

Table 3: Fields in Event Messages (Continued)

Field

Description

TAG

Junos OS system log message tag, which uniquely

identifies the message.

username

Username of the user initiating the event.

message-text English-language description of the event .

Examples UI_DBASE_LOGOUT_EVENT
“admin”
set: [system radius-server 1.2.3.4 secret]

RELATED DOCUMENTATION Event Logging Overview
Log Changes to Secret Data
The following are examples of audit logs of events that change the secret data. Whenever there is a change in the configuration example, the syslog event should capture the below logs:
Jul 24 17:43:28 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ set: [system radiusserver 1.2.3.4 secret] Jul 24 17:43:28 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ set: [system login user admin authentication encrypted-password] Jul 24 17:43:28 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ set: [system login user admin2 authentication encrypted-password] Everytime a configuration is updated or changed, the syslog should capture these logs:
Jul 24 18:29:09 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ replace: [system radius-server 1.2.3.4 secret] Jul 24 18:29:09 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ replace: [system login

81
user admin authentication encrypted-password] Jul 24 18:29:09 router1 mgd[4163]: UI_CFG_AUDIT_SET_SECRET: User ‘admin’ replace: [system login user admin authentication encrypted-password]

RELATED DOCUMENTATION Interpreting Event Messages

Login and Logout Events Using SSH

System log messages are generated whenever a user successfully or unsuccessfully attempts SSH access. Logout events are also recorded. For example, the following logs are the result of two failed authentication attempts, then a successful one, and finally a logout:

Dec 20 23:17:35 Dec 20 23:17:42 Dec 20 23:17:53 Dec 20 23:17:53
Dec 20 23:17:53 Dec 20 23:17:56 Dec 20 23:17:56

bilbo sshd[16645]: Failed password for op from 172.17.58.45 port 1673 ssh2 bilbo sshd[16645]: Failed password for op from 172.17.58.45 port 1673 ssh2 bilbo sshd[16645]: Accepted password for op from 172.17.58.45 port 1673 ssh2 bilbo mgd[16648]: UI_AUTH_EVENT: Authenticated user ‘op’ at permission level
‘j-operator’ bilbo mgd[16648]: UI_LOGIN_EVENT: User ‘op’ login, class ‘j-operator’ [16648] bilbo mgd[16648]: UI_CMDLINE_READ_LINE: User ‘op’, command ‘quit ‘ bilbo mgd[16648]: UI_LOGOUT_EVENT: User ‘op’ logout

RELATED DOCUMENTATION Interpreting Event Messages

82

Logging of Audit Startup

The audit information logged includes startups of Junos OS. This in turn identifies the startup events of the audit system, which cannot be independently disabled or enabled. For example, if Junos OS is restarted, the audit log contains the following information:

Dec 20 23:17:35 Dec 20 23:17:35 Dec 20 23:17:35 status=1 Dec 20 23:17:42 Dec 20 23:17:53

bilbo syslogd: exiting on signal 14 bilbo syslogd: restart bilbo syslogd /kernel: Dec 20 23:17:35 init: syslogd (PID 19128) exited with
bilbo /kernel: init: syslogd (PID 19200) started

RELATED DOCUMENTATION Login and Logout Events Using SSH

8 CHAPTER
Configure VPNs
MOD_VPN | 84

84
MOD_VPN

SUMMARY This section describes how the MOD_VPN works.

IN THIS SECTION
MOD_VPN Overview | 84 Supported IPsec-IKE Algorithms | 85 Configure VPN on a Device Running Junos OS | 88 Configuring Firewall Rules | 111

MOD_VPN Overview
The MOD_VPN describes the security requirements for a VPN Gateway. This is defined to be a device at the edge of a private network that terminates an IPsec tunnel (support IPsec on tunnel mode), which provides device authentication, confidentiality, and integrity of information traversing a public or untrusted network. This mode is intended to provide a minimal, baseline set of requirements that are targeted at mitigating well defined and described threats to VPN Gateway technology. This introduction describes the features of a compliant Target of Evaluation (TOE), and also discusses how to use the MOD_VPN in conjunction with the NDcPPv2.
NOTE: For IPsec connection be unintentionally broken, clear the IPsec session with following commands. It re-initiates and establishes the IPsec session.
user@host# run clear security ipsec security-associations user@host# run clear security ike security-associations

85
Supported IPsec-IKE Algorithms
IN THIS SECTION Supported encryption algorithms for IPsec | 85 Supported encryption algorithms for IKE | 86 Supported IKE DH groups | 86 Supported IPsec authentication algorithm | 87 Supported IKE authentication algorithms | 87 Supported authentication methods | 87

Your device supports the following IPsec-IKE algorithms:
Supported encryption algorithms for IPsec

aes-128-cbc aes-128-gcm aes-192-cbc aes-192-gcm aes-256-cbc aes-256-gcm

AES-CBC 128-bit encryption algorithm AES-GCM 128-bit encryption algorithm AES- CBC 192-bit encryption algorithm AES-GCM 192-bit encryption algorithm AES-CBC 256-bit encryption algorithm AES-GCM 256-bit encryption algorithm

[edit] user@host# set security ipsec proposal ipsec-proposal1 encryption- algorithm aes-128-cbc user@host# set security ipsec proposal ipsec-proposal1 encryption-algorithm aes-128-gcm user@host# set security ipsec proposal ipsec- proposal1 encryption-algorithm aes-192-cbc user@host# set security ipsec proposal ipsec-proposal1 encryption-algorithm aes-192-gcm user@host# set security ipsec proposal ipsec-proposal1 encryption-algorithm aes-256-cbc user@host# set security ipsec proposal ipsec-proposal1 encryption-algorithm aes-256-gcm

86

Supported encryption algorithms for IKE

aes-128-cbc aes-128-gcm aes-192-cbc aes-256-cbc aes-256-gcm

AES-CBC 128-bit encryption algorithm AES-GCM 128-bit encryption algorithm AES- CBC 192-bit encryption algorithm AES-CBC 256-bit encryption algorithm AES-GCM 256-bit encryption algorithm

[edit] user@host# set security ike proposal ipsec-proposal1 encryption- algorithm aes-128-cbc user@host# set security ike proposal ipsec-proposal1 encryption-algorithm aes-128-gcm user@host# set security ike proposal ipsec- proposal1 encryption-algorithm aes-192-cbc user@host# set security ike proposal ipsec-proposal1 encryption-algorithm aes-256-cbc user@host# set security ike proposal ipsec-proposal1 encryption-algorithm aes-256-gcm

Supported IKE DH groups

group14 group15 group16 group19 group20 group21 group24

Diffie-Hellman Group 14 Diffie-Hellman Group 15 Diffie-Hellman Group 16 Diffie-Hellman Group 19 Diffie-Hellman Group 20 Diffie-Hellman Group 21 Diffie-Hellman Group 24

[edit] user@host# set security ike proposal ipsec-proposal1 dh-group group14 user@host# set security ike proposal ipsec-proposal1 dh-group group15 user@host# set security ike proposal ipsec-proposal1 dh-group group16 user@host# set security ike proposal ipsec-proposal1 dh-group group19 user@host# set security ike proposal ipsec-proposal1 dh-group group20 user@host# set security ike proposal ipsec-proposal1 dh-group group21 user@host# set security ike proposal ipsec-proposal1 dh-group group24

87

Supported IPsec authentication algorithm

hmac-sha-256-128 hmac-sha-384 hmac-sha-512

HMAC-SHA-256-128 authentication algorithm HMAC-SHA-384 authentication algorithm HMAC-SHA-512 authentication algorithm

[edit] user@host# set security ipsec proposal ipsec-proposal1 authentication- algorithm hmac-sha-256-128 user@host# set security ipsec proposal ipsec- proposal1 authentication-algorithm hmac-sha-384 user@host# set security ipsec proposal ipsec-proposal1 authentication-algorithm hmac-sha-512

Supported IKE authentication algorithms

sha-256 sha-384 sha-512

SHA 256-bit authentication algorithm SHA 384-bit authentication algorithm SHA 512-bit authentication algorithm

[edit] user@host# set security ike proposal ipsec-proposal1 authentication- algorithm sha-256 user@host# set security ike proposal ipsec-proposal1 authentication-algorithm sha-384 user@host# set security ike proposal ipsec- proposal1 authentication-algorithm sha-512

Supported authentication methods

certificates

Allows ECDSA, RSA and DSA certificates, requires IKEv2

ecdsa-signatures-256 ECDSA signatures (256 bit modulus)

ecdsa-signatures-384 ECDSA signatures (384 bit modulus)

ecdsa-signatures-521 ECDSA signatures (521 bit modulus)

pre-shared-keys

Preshared keys

rsa-signatures

RSA signatures

[edit] user@host# set security ike proposal ipsec-proposal1 authentication- method certificates user@host# set security ike proposal ipsec-proposal1 authentication-method ecdsa-signatures-256 user@host# set security ike proposal ipsec-proposal1 authentication-method ecdsa-signatures-384

88
user@host# set security ike proposal ipsec-proposal1 authentication-method ecdsa-signatures-521 user@host# set security ike proposal ipsec-proposal1 authentication-method pre-shared-keys user@host# set security ike proposal ipsec-proposal1 authentication-method rsa-signatures
Configure VPN on a Device Running Junos OS
IN THIS SECTION Configuring an IPsec VPN with a Preshared Key for IKE Authentication | 91 Configuring an IPsec VPN with an RSA Signature for IKE Authentication | 98 Configuring an IPsec VPN with an ECDSA Signature for IKE Authentication | 104
This section describes a sample configurations of an IPsec VPN on a Junos OS device using the following IKE authentication methods: · “Configuring an IPsec VPN with a Preshared Key for IKE Authentication” on page 91 · “Configuring an IPsec VPN with an RSA Signature for IKE Authentication” on page 98 · “Configuring an IPsec VPN with an ECDSA Signature for IKE Authentication” on page 104 Figure 1 on page 89 illustrates the VPN topology used in all the examples described in this section. Here, H0 and H1 are the host, and R0 and R1 are the two endpoints of the IPsec VPN tunnel.

89 Figure 1: VPN Topology

Table 4 on page 89 provides a complete list of the supported IKE protocols, tunnel modes, Phase 1 negotiation mode, authentication method or algorithm, encryption algorithm, DH groups supported for the IKE authentication and encryption (Phase1, IKE Proposal), and for IPsec authentication and encryption (Phase2, IPsec Proposal). The listed protocols, modes, and algorithms are supported and required for 21.2R2 Common Criteria.
Table 4: VPN Combination Matrix

IKE Protoc ol

Tunnel Mode

Phase1 Negotiatio n Mode

Phase 1 Proposal (P1, IKE) Authentication Method

Authentication DH Group Algorithm

Encryption Algorithm

IKEv1 Main Route

pre-shared-keys

sha-256

group14

aes-128-cbc

IKEv2

rsa-signatures-2048

sha-384

group15

aes-128-gcm

ecdsa-signatures-256

sha-512

group16

aes-192-cbc

ecdsa-signatures-384

group19

aes-256-cbc

ecdsa-signatures-521

group20

aes-256-gcm

90

Table 4: VPN Combination Matrix (Continued)

IKE Protoc ol

Tunnel Mode

Phase1 Negotiatio n Mode

Phase 1 Proposal (P1, IKE) Authentication Method

Authentication DH Group Algorithm

Encryption Algorithm

group21

group24

IKE Protoc ol

Tunne l Mode

Phase1 Negotiatio n Mode

Phase 2 Proposal (P2, IPsec) Authentication Algorithm

DH Group (PFS)

IKEv1 Main Route

hmac-sha-256-128

group14

IKEv2

hmac-sha-384

group15

hmac-sha-512

group16

group19

group20

group21

group24

Encryption Method

Encryption Algorithm

ESP

aes-128-cbc

aes-128-gcm

aes-192-cbc

aes-192-gcm

aes-256-cbc

aes-256-gcm

NOTE: The following sections provide sample configurations of IKEv1 IPsec VPN examples for selected algorithms. Authentication algorithms can be replaced in the configurations to

91

accomplish the user’s desired configurations. Use set security ike gateway gw- name version v2-only command for IKEv2 IPsec VPN.

Configuring an IPsec VPN with a Preshared Key for IKE Authentication

In this section, you configure devices running Junos OS for IPsec VPN using a preshared key as the IKE authentication method. The algorithms used in IKE or IPsec authentication, or encryption is shown in Table 5 on page 91
Table 5: IKE or IPsec Authentication Example

IKE Protoc ol

Tunnel Mode

Phase1 Negotiatio n Mode

Phase 1 Proposal (P1, IKE) Authentication Method

Authentication DH Group Algorithm

Encryption Algorithm

IKEv1 Main Route

pre-shared-keys

sha-256

group14

aes-256-cbc

IKE Protoc ol

Tunne l Mode

Phase1 Negotiatio n Mode

Phase 2 Proposal (P2, IPsec) Authentication Algorithm

DH Group (PFS)

IKEv1 Main Route

hmac-sha-256-128

group14

Encryption Method

Encryption Algorithm

ESP

aes-256-cbc

NOTE: A device running Junos OS uses certificate-based authentication or preshared keys for IPsec. TOE accepts ASCII preshared or bit-based keys up to 255 characters (and their binary equivalents) that contain uppercase and lowercase letters, numbers, and special characters such as !, @, #, $, %, ^, &, *, (, and ). The device accepts the preshared text keys and converts the text string into an authentication value as per RFC 2409 for IKEv1 or RFC 4306 for IKEv2, using the PRF that is configured as the hash algorithm for the IKE exchanges. The Junos OS does not impose minimum complexity requirements for preshared keys. Hence, users are advised to carefully choose long preshared keys of sufficient complexity.

92
Configuring IPsec VPN with Preshared Key as IKE Authentication on the Initiator 1. Configure the IKE proposal:
[edit] user@host# set security ike proposal ike-proposal1 authentication- method pre-shared-keys user@host# set set security ike proposal ike-proposal1 dh-group group14 user@host# set security ike proposal ike-proposal1 authentication-algorithm sha256 user@host# set security ike proposal ike- proposal1 encryption-algorithm aes-256-cbc
NOTE: Here, ike-proposal1 is the IKE proposal name given by the authorized administrator.
2. Configure the IKE policy:
[edit] user@host# set security ike policy ike-policy1 mode main user@host# set security ike policy ike-policy1 proposals ike-proposal1
NOTE: Here, ike-policy1 is the IKE policy name and ike-proposal1 is the IKE proposal name given by the authorized administrator.
user@host# prompt security ike policy ike-policy1 pre-shared-key ascii-text New ascii-text (secret): Retype new ascii-text (secret):
NOTE: You must enter and reenter the preshared key when prompted. For example, the preshared key can be Modvpn@jnpr1234.
NOTE: The preshared key can alternatively be entered in hexadecimal format. For example: [edit] root@host# prompt security ike policy ike-policy1 pre- shared-key hexadecimal

93
New hexadecimal (secret): Retype new hexadecimal (secret): Enter the hexadecimal preshared key value.
3. Configure the IPsec proposal:
[edit] user@host# set security ipsec security proposal ipsec-proposal1 protocol esp user@host# set security ipsec security proposal ipsec-proposal1 authentication-algorithm hmacsha-256-128 user@host# set security ipsec proposal ipsec-proposal1 encryption-algorithm aes-256-cbc
NOTE: Here, ipsec-proposal1 is the IPsec proposal name given by the authorized administrator.
4. Configure the IPsec policy:
[edit] user@host# set security ipsec policy ipsec-policy1 perfect-forward- secrecy keys group14 user@host# set security ipsec policy ipsec-policy1 proposals ipsec-proposal1
NOTE: Here, ipsec-policy1 is the IPsec policy name and ipsec-proposal1 is the IPsec proposal name given by the authorized administrator.
5. Configure the IKE:
[edit] user@host# set security ike gateway gw1 ike-policy ike-policy1 user@host# set security ike gateway gw1 address 20.1.1.2 user@host# set security ike gateway gw1 local-identity inet 20.1.1.1 user@host# set security ike gateway gw1 external-interface xe-0/0/2 user@host# set security ike gateway gw1 version v2-only

94
NOTE: Here, gw1 is an IKE gateway name, 20.1.1.2 is the peer VPN endpoint IP, 20.1.1.1 is the local VPN endpoint IP, and xe-0/0/2 is a local outbound interface as the VPN endpoint. The following additional configuration is also needed in the case of IKEv2.
6. Configure the VPN:
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set security ipsec vpn vpn1 establish-tunnels immediately
NOTE: Here, vpn1 is the VPN tunnel name given by the authorized administrator.
7. Configure service-set:
[edit] user@host# set services service-set IPSEC_SS_SPC3 next-hop-service inside-service-interface vms-5/0/0.1 user@host# set services service-set IPSEC_SS_SPC3 next-hop-service outside-service-interface vms-5/0/0.2 user@host# set services service-set IPSEC_SS_SPC3 ipsec-vpn vpn1
8. Configure interfaces and routing-option:
[edit] user@host# set interfaces xe-0/0/2 unit 0 family inet address 20.1.1.1/24 user@host# set interfaces vms-5/0/0 unit 0 family inet user@host# set interfaces vms-5/0/0 unit 1 family inet user@host# set interfaces vms-5/0/0 unit 1 family inet6 user@host# set interfaces vms-5/0/0 unit 1 service-domain inside user@host# set interfaces vms-5/0/0 unit 2 family inet user@host# set interfaces vms-5/0/0 unit 2 family inet6 user@host# set interfaces vms-5/0/0 unit 2 service-domain outside user@host# set interfaces st0 unit 1 family inet user@host# set interfaces st0 unit 1 family inet6 user@host# set interfaces st0 unit 2 family inet

95
user@host# set interfaces st0 unit 2 family inet6 user@host# set routing- options static route 30.1.1.0/24 next-hop st0.0
Configuring IPsec VPN with Preshared Key as IKE Authentication on the Responder 1. Configure the IKE proposal:
[edit] user@host# set security ike proposal ike-proposal1 authentication- method pre-shared-keys user@host# set security ike proposal ike-proposal1 dh- group group14 user@host# set security ike proposal ike-proposal1 authentication-algorithm sha256 user@host# set security ike proposal ike- proposal1 encryption-algorithm aes-128-cbc
NOTE: Here, ike-proposal1 is the IKE proposal name given by the authorized administrator.
2. Configure the IKE policy:
[edit] user@host# set security ike policy ike-policy1 mode main user@host# set security ike policy ike-policy1 proposals ike-proposal1
NOTE: Here, ike-policy1 is the IKE policy name and ike-proposal1 is the IKE proposal name given by the authorized administrator.
user@host# prompt security ike policy ike-policy1 pre-shared-key ascii-text New ascii-text (secret): Retype new ascii-text (secret):
NOTE: You must enter and reenter the preshared key when prompted. For example, the preshared key can be Modvpn@jnpr1234.

96
NOTE: The pre-share key could alternatively be entered in hexadecimal format. For example, user@host# prompt security ike policy ike-policy1 pre-shared-key hexadecimal New hexadecimal (secret): Retype new hexadecimal (secret): Here, the hexadecimal preshared key can be cc2014bae9876543.
3. Configure the IPsec proposal:
[edit] user@host# set security ipsec proposal ipsec-proposal1 protocol esp user@host# set security ipsec proposal ipsec-proposal1 authentication- algorithm hmacsha-256-128 user@host# set security ipsec proposal ipsec- proposal1 encryption-algorithm 3des-cbcaes-128cbc
NOTE: Here, ipsec-proposal1 is the IPsec proposal name given by the authorized administrator.
4. Configure the IPsec policy:
[edit] user@host# set security ipsec policy ipsec-policy1 perfect-forward- secrecy keys group14 user@host# set security ipsec policy ipsec-policy1 proposals ipsec-proposal1
NOTE: Here, ipsec-policy1 is the IPsec policy name and ipsec-proposal1 is the IPsec proposal name given by the authorized administrator.
5. Configure the IKE.
[edit] user@host# set security ike gateway gw1 ike-policy ike-policy1 user@host# set security ike gateway gw1 address 20.1.1.1 user@host# set security ike gateway gw1 local-identity inet 20.1.1.2

97
user@host# set security ike gateway gw1 external-interface xe-0/0/3 user@host# set security ike gateway gw1 version v2-only
NOTE: Here, gw1 is an IKE gateway name, 20.1.1.1 is the peer VPN endpoint IP, 20.1.1.2 is the local VPN endpoint IP, and xe-0/0/3 is a local outbound interface as the VPN endpoint. The following additional configuration is also needed in the case of IKEv2.
6. Configure the VPN:
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security ipsec vpn vpn1 bind-interface st0.0 user@host# set security ipsec vpn vpn1 establish-tunnels immediately
NOTE: Here, vpn1 is the VPN tunnel name given by the authorized administrator.
7. Configure service-set:
[edit] user@host# set services service-set IPSEC_SS_SPC3 next-hop-service inside-service-interface vms-4/0/0.1 user@host# set services service-set IPSEC_SS_SPC3 next-hop-service outside-service-interface vms-4/0/0.2 user@host# set services service-set IPSEC_SS_SPC3 ipsec-vpn vpn1
8. Configure Interfaces and routing-option:
[edit] user@host# set interfaces xe-0/0/3 unit 0 family inet address 20.1.1.2/24 user@host# set interfaces vms-4/0/0 unit 0 family inet user@host# set interfaces vms-4/0/0 unit 1 family inet user@host# set interfaces vms-4/0/0 unit 1 family inet6 user@host# set interfaces vms-4/0/0 unit 1 service-domain inside user@host# set interfaces vms-4/0/0 unit 2 family inet user@host# set interfaces vms-4/0/0 unit 2 family inet6

98
user@host# set interfaces vms-4/0/0 unit 2 service-domain outside user@host# set interfaces st0 unit 1 family inet user@host# set interfaces st0 unit 1 family inet6 user@host# set interfaces st0 unit 2 family inet user@host# set interfaces st0 unit 2 family inet6 user@host# set routing-options static route 10.1.1.0/24 next-hop st0.0

Configuring an IPsec VPN with an RSA Signature for IKE Authentication

The following section provides an example to configure Junos OS devices for IPsec VPN using RSA Signature as IKE Authentication method, whereas the algorithms used in IKE/IPsec authentication/ encryption is as shown in the following table. In this section, you configure devices running Junos OS forIPsec VPN using an RSA signature as the IKE authentication method. The algorithms used in IKE or IPsec authentication or encryption is shown in Table 6 on page 98
Table 6: IKE/IPsec Authentication and Encryption Example

IKE Protoc ol

Tunnel Mode

Phase1 Negotiatio n Mode

Phase 1 Proposal (P1, IKE) Authentication Method

Authentication DH Group Algorithm

Encryption Algorithm

IKEv1 Main Route

rsa-signatures-2048

sha-256

group19

aes-128-cbc

IKE Protoc ol

Tunne l Mode

Phase1 Negotiatio n Mode

Phase 2 Proposal (P2, IPsec) Authentication Algorithm

DH Group (PFS)

IKEv1 Main Route

hmac-sha-256-128

group19

Encryption Method

Encryption Algorithm

ESP

aes-128-cbc

Configuring IPsec VPN with RSA Signature as IKE Authentication on the Initiator 1. Configure the PKI. See Example: Configuring PKI. 2. Generate the RSA key pair. See Example: Generating a Public-Private Key Pair. 3. Generate and load the CA certificate. See Example: Loading CA and Local Certificates Manually.

99
4. Load the CRL. See Example: Manually Loading a CRL onto the Device . 5. Generate and load a local certificate. See Example: Loading CA and Local Certificates Manually. 6. Configure the IKE proposal:
[edit] user@host# set security ike proposal ike-proposal1 authentication- method rsa-signatures user@host# set security ike proposal ike-proposal1 dh- group group19 user@host# set security ike proposal ike-proposal1 authentication-algorithm sha-256 user@host# set security ike proposal ike- proposal1 encryption-algorithm aes-128-cbc
NOTE: Here, ike-proposal1 is the name given by the authorized administrator.
7. Configure the IKE policy:
[edit] user@host# set security ike policy ike-policy1 mode main user@host# set security ike policy ike-policy1 proposals ike-proposal1 user@host# set security ike policy ike-policy1 certificate local-certificate cert1
NOTE: Here, ike-policy1 IKE policy name given by the authorized administrator.
8. Configure the IPsec proposal:
[edit] user@host# set security ipsec proposal ipsec-proposal1 protocol esp user@host# set security ipsec proposal ipsec-proposal1 authentication- algorithm hmacsha-256-128 user@host# set security ipsec proposal ipsec- proposal1 encryption-algorithm aes-128-cbc
NOTE: Here, ipsec-proposal1 is the name given by the authorized administrator.

Configure the IPsec policy:
[edit] user@host# set security ipsec policy ipsec-policy1 perfect-forward- secrecy keys group19 user@host# set security ipsec policy ipsec-policy1 proposals ipsec-proposal1
NOTE: Here, ipsec-policy1 is the name given by the authorized administrator.
10. Configure the IKE:
[edit] user@host# set security ike gateway gw1 ike-policy ike-policy1 user@host# set security ike gateway gw1 address 20.1.1.2 user@host# set security ike gateway gw1 local-identity inet 20.1.1.1 user@host# set security ike gateway gw1 external-interface xe-0/0/3 user@host# set security ike gateway gw1 version v2-only
NOTE: Here, 20.1.1.2 is the peer VPN endpoint IP, 20.1.1.1 is the local VPN endpoint IP, and xe-0/0/3 is the local outbound interface as VPN endpoint. The following configuration is also needed for IKEv2.
11. Configure VPN:
[edit] user@host# set security ipsec vpn vpn1 ike gateway gw1 user@host# set security ipsec vpn vpn1 ike ipsec-policy ipsec-policy1 user@host# set security i

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

JUNIPER NETWORKS User Manuals

Related Manuals