: Refresh SSH Keys and Configure Key Options for Management Interface Connection
Focus
Focus

Refresh SSH Keys and Configure Key Options for Management Interface Connection

Table of Contents

Refresh SSH Keys and Configure Key Options for Management Interface Connection

Regenerate SSH keys and configure other SSH connection parameters with a management SSH service profile.
When you verify your Secure Shell (SSH) connection to the firewall, the verification uses SSH keys. To change the default host key type, generate a new pair of public and private SSH host keys, and configure other SSH settings, create an SSH service profile.
The following examples show how to configure various SSH settings for a management SSH service profile after you access the CLI. The settings marked as recommended provide a stronger security posture. (See Refresh HA1 SSH Keys and Configure Key Options for SSH HA profile examples.)
If you are using SSH to access the CLI of the firewall in FIPS-CC mode, you must set automatic rekeying parameters for session keys.
Palo Alto Networks allows you to specify only recommended ciphers, key exchange algorithms, and message authentication algorithms for the SSH configurations below.
Also note that, to use the same SSH connection settings for each Dedicated Log Collector (M-Series or Panorama™ virtual appliances in Log Collector mode) in a Collector Group, you must configure an SSH service profile from the Panorama management server, Commit the changes to Panorama, and then Push the configuration to the Log Collectors. You can use the set log-collector-group <name> general-setting management ssh commands.
Each of the following configuration steps includes a commit and an SSH service restart if you perform only one step (except when you create a profile without configuring any settings). Otherwise, you can set multiple SSH options and then commit your changes and restart SSH when you’re done.
  • Create an SSH service profile to exercise greater control over SSH connections to your management interface.
    This example creates a Management - Server profile without configuring any settings.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name>
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. To verify that the new profile has been created and view the settings for any existing profiles:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles
  • (Optional) Set the SSH server to use only the specified encryption ciphers.
    By default, SSH allows all supported ciphers for encryption of CLI management sessions. When you set one or more ciphers in an SSH service profile, the SSH server advertises only those ciphers while connecting and, if the SSH client tries to connect using a different cipher, the server terminates the connection.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> ciphers <cipher>
      aes128-cbc—AES 128-bit cipher with Cipher Block Chaining
      aes128-ctr—AES 128-bit cipher with Counter Mode
      aes128-gcm—AES 128-bit cipher with GCM (Galois/Counter Mode)
      aes192-cbc—AES 192-bit cipher with Cipher Block Chaining
      aes192-ctr—AES 192-bit cipher with Counter Mode
      aes256-cbc—AES 256-bit cipher with Cipher Block Chaining
      aes256-ctr—(Recommended) AES 256-bit cipher with Counter Mode
      aes256-gcm—(Recommended) AES 256-bit cipher with GCM
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the ciphers have been updated:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles ciphers
  • (Optional) Set the default host key type.
    The firewall uses a default host key type of RSA 2048 unless you change it. The SSH connection uses only the default host key type (not other host key types) to authenticate the firewall. You can change the default host key type; the choices are ECDSA (256, 384, or 521) or RSA (2048, 3072, or 4096).
    Change the default host key type if you prefer a longer RSA key length or if you prefer ECDSA rather than RSA. This example sets the default host key type for a management profile to the recommended ECDSA key of 256 bits. It also restarts SSH for the management connection so the new key type takes effect.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> default-hostkey key-type ECDSA 256
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the host key has been updated:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles <name> default-hostkey
  • (Optional) Delete a cipher from the set of ciphers you selected to encrypt your CLI sessions.
    This example deletes the AES CBC cipher with 128-bit key.
    1. admin@PA-3260> configure
    2. admin@PA-3260# delete deviceconfig system ssh profiles mgmt-profiles server-profiles <name> ciphers aes128-cbc
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the cipher has been deleted:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles <name> ciphers
  • (Optional) Set the session key exchange algorithms the SSH server will support.
    By default, the SSH server advertises all the key exchange algorithms to the SSH client.
    If you are using an ECDSA default key type, best practice is to use an ECDH key algorithm.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> kex <value>
      diffie-hellman-group14-sha1—Diffie-Hellman group 14 with SHA1 hash
      ecdh-sha2-nistp256—(Recommended) Elliptic-Curve Diffie-Hellman over National Institute of Standards and Technology (NIST) P-256 with SHA2-256 hash
      ecdh-sha2-nistp384—(Recommended) Elliptic-Curve Diffie-Hellman over NIST P-384 with SHA2-384 hash
      ecdh-sha2-nistp521—(Recommended) Elliptic-Curve Diffie-Hellman over NIST P-521 with SHA2-521 hash
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the key exchange algorithms have been updated:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles
  • (Optional) Set the message authentication codes (MAC) the SSH server will support.
    By default, the server advertises all of the MAC algorithms to the client.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> mac <value>
      hmac-sha1—MAC with SHA1 cryptographic hash
      hmac-sha2-256—(Recommended) MAC with SHA2-256 cryptographic hash
      hmac-sha2-512—(Recommended) MAC with SHA2-512 cryptographic hash
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the MAC algorithms have been updated:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles
  • (Optional) Regenerate ECDSA or RSA host keys for SSH to replace the existing keys.
    The remote device uses the host keys to authenticate the firewall. Regenerate your default host key at the frequency you determine necessary for security purposes. This example regenerates the ECDSA 256 default host key because that is the default host key type set in an earlier step.
    Regenerating a host key does not change your default host key type. To regenerate the default host key you are using, you must specify your default host key type and length when you regenerate. Regenerating a host key that isn’t your default host key type simply regenerates a key that you aren’t using and therefore has no effect.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh regenerate-hostkeys mgmt key-type ECDSA key-length 256
    3. admin@PA-3260# commit
    4. admin@PA-3260> exit
    5. admin@PA-3260> set ssh service-restart mgmt
  • (Optional) Set rekey parameters to establish when automatic rekeying of the session keys occurs.
    The session keys are used to encrypt traffic between the remote device and the management interface. The parameters you can set are data volume (in megabytes), time interval (seconds), and packet count. After any one rekey parameter reaches its configured value, SSH initiates a key exchange.
    You can set a second or third parameter if you aren’t sure the parameter you configured will reach its value as fast as you want rekeying to occur. The first parameter to reach its configured value will prompt a rekey, then the firewall will reset all rekey parameters.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey data 32
      Rekeying occurs after the volume of data (in megabytes) is transmitted following the previous rekey. The default is based on the cipher you use and ranges from 1GB to 4GB. The range is 10MB to 4,000MB. Alternatively, you can enter set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey data default, which sets the data parameter to the default value of the individual cipher you are using.
    3. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey interval 3600
      Rekeying occurs after the specified time interval (in seconds) passes following the previous rekey. By default, time-based rekeying is disabled (set to none). The range is 10 to 3,600.
      If you are configuring the management interface in FIPS-CC mode, you must set a time interval within the range; you cannot leave it disabled.
    4. admin@PA-3260# set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey packets 27
      Rekeying occurs after the defined number of packets (2n) are transmitted following the previous rekey. For example, 14 configures that a maximum of 214 packets are transmitted before a rekey occurs. The default is 228. The range is 12 to 27 (212 to 227). Alternatively, you can enter set deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey packets default, which sets the packets parameter to 228.
      Choose rekeying parameters based on your type of traffic and network speeds (in addition to FIPS-CC requirements if they apply to you). Don’t set the parameters so low that they affect SSH performance.
    5. admin@PA-3260# commit
    6. admin@PA-3260# exit
    7. admin@PA-3260> set ssh service-restart mgmt
    8. To verify the changes:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh profiles mgmt-profiles server-profiles <name> session-rekey
  • Activate the profile by selecting the profile and restarting SSH service.
    1. admin@PA-3260> configure
    2. admin@PA-3260# set deviceconfig system ssh mgmt server-profile <name>
    3. admin@PA-3260# commit
    4. admin@PA-3260# exit
    5. admin@PA-3260> set ssh service-restart mgmt
    6. To verify the correct profile is in use:
      admin@PA-3260> configure
      admin@PA-3260# show deviceconfig system ssh mgmt