Refresh HA1 SSH Keys and Configure Key Options
Focus
Focus

Refresh HA1 SSH Keys and Configure Key Options

Table of Contents
End-of-Life (EoL)

Refresh HA1 SSH Keys and Configure Key Options

Refresh SSH host keys and configure various SSH connection parameters with an HA SSH service profile.
All Palo Alto Networks firewalls come with Secure Shell (SSH) pre-configured, and the high availability (HA) firewalls can act as SSH server and SSH client simultaneously. When you configure active/passive or active/active HA, you can enable encryption for the HA1 (control link) connection between the HA firewalls. We recommend you secure the HA1 traffic between the HA peers with encryption, particularly if the firewalls aren’t located in the same site. After you enable encryption on the HA1 control link, you can use the CLI to create an SSH service profile and secure the connection between the HA firewalls.
SSH service profiles enable you to change the default host key type, generate a new pair of public and private SSH host keys for the HA1 control link, and configure other SSH HA1 settings. You can apply the new host keys and configured settings to the firewalls without restarting the HA peers. The firewall will reestablish HA1 sessions with its peer to synchronize the configuration changes. It also generates system logs (subtype is ha) for reestablishing HA1 and HA1-backup sessions.
The following examples show how to configure various SSH settings for your HA1 after you enable encryption and access the CLI. (See Refresh SSH Keys and Configure Key Options for Management Interface Connection for SSH management server profile examples.)
You must enable encryption and it must be functioning properly on an HA pair before you can perform the following tasks.
If you are configuring the HA1 control link in FIPS-CC mode, you must set automatic rekeying parameters for session keys.
To use the same SSH connection settings for each Dedicated Log Collector (M-series or Panorama virtual appliance in Log Collector mode) in a Collector Group, 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.
  • Create an SSH service profile to exercise greater control over SSH connections between your HA firewalls.
    This example creates an HA profile without configuring any settings.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ha-profiles <name>
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. To verify that the new profile has been created and view the settings for any existing profiles:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles
  • (Optional) Set the SSH server to use only the specified encryption ciphers for the HA1 sessions.
    By default, HA1 SSH allows all supported ciphers for encryption of CLI HA sessions. When you set one or more ciphers, the SSH server advertises only those ciphers while connecting, and if the SSH client (HA peer) tries to connect using a different cipher, the server terminates the connection.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ciphers ha-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—AES 256-bit cipher with Counter Mode
      aes256-gcm—AES 256-bit cipher with GCM
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    6. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the HA peers. (Using the force option when an HA1 backup is configured has no effect.)
    7. To verify the ciphers have been updated:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles ciphers
  • (Optional) Set the default host key type.
    If you enable encryption on the HA1 control link, the firewall uses a default host key type of RSA 2048 unless you change it. The HA1 SSH connection uses only the default host key type to authenticate the HA peers (before an encrypted session is established between them). 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 to an ECDSA key of 256 bits. It also re-establishes the HA1 connection using the new host key without restarting the HA peers.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ha-profiles <name> default-hostkey key-type ECDSA key-length 256
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. admin@PA-3250> request high-availability sync-to-remote ssh-key
      An HA connection must already be established between the HA firewalls. If the firewalls have not yet established an HA connection, you must enable encryption on the control link connection, export the HA key to a network location and import the HA key on the peer. See Configure Active/Passive HA or Configure Active/Active HA.
    6. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    7. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option when an HA1 backup is configured has no effect.)
    8. To verify the host key has been updated:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles <name> default-hostkey
  • (Optional) Delete a cipher from the set of ciphers you selected for SSH over the HA1 control link.
    This example deletes the AES CBC cipher with 128-bit key.
    1. admin@PA-3250> configure
    2. admin@PA-3250# delete deviceconfig system ssh profiles ha-profiles <name> ciphers aes128-cbc
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    6. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option when an HA1 backup is configured has no effect.
    7. To verify the cipher has been deleted:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles <name> ciphers
  • (Optional) Set the session key exchange algorithms the HA1 SSH server will support.
    By default, the SSH server (HA firewall) advertises all the key exchange algorithms to the SSH client (HA peer firewall).
    If you are using an ECDSA default key type, the best practice is to use an ECDH key algorithm.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ha-profiles <name> kex <value>
      diffie-hellman-group14-sha1—Diffie-Hellman group 14 with SHA1 hash
      ecdh-sha2-nistp256—Elliptic-Curve Diffie-Hellman over National Institute of Standards and Technology (NIST) P-256 with SHA2-256 hash
      ecdh-sha2-nistp384—Elliptic-Curve Diffie-Hellman over NIST P-384 with SHA2-384 hash
      ecdh-sha2-nistp521—Elliptic-Curve Diffie-Hellman over NIST P-521 with SHA2-521 hash
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    6. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option when an HA1 backup is configured has no effect.
    7. To verify the key exchange algorithms have been updated:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles
  • (Optional) Set the message authentication codes (MAC) the HA1 SSH server will support.
    By default, the server advertises all of the MAC algorithms to the client.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ha-profiles <name> mac <value>
      hmac-sha1—MAC with SHA1 cryptographic hash
      hmac-sha2-256—MAC with SHA2-256 cryptographic hash
      hmac-sha2-512—MAC with SHA2-512 cryptographic hash
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    6. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option has no effect when an HA1 backup is configured.
    7. To verify the MAC algorithms have been updated:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles
  • (Optional) Regenerate ECDSA or RSA host keys for HA1 SSH to replace the existing keys, and re-establish HA1 sessions between HA peers using the new keys without restarting the HA peers.
    The HA peers use the host keys to authenticate each other. This example regenerates the ECDSA 256 default host key.
    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-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh regenerate-hostkeys ha key-type ECDSA key-length 256
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. admin@PA-3250> request high-availability sync-to-remote ssh-key
      An HA connection must already be established between the HA firewalls. If the firewalls have not yet established an HA connection, you must enable encryption on the control link connection, export the HA key to a network location, and import the HA key on the peer. See Configure Active/Passive HA or Configure Active/Active HA.
    6. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    7. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option when an HA1 backup is configured has no effect.)
  • (Optional) Set rekey parameters to establish when automatic rekeying of the session keys occurs for SSH over the HA1 control link.
    The session keys are used to encrypt the traffic between the HA peers. 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 soon 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-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh profiles ha-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 ha-profiles <name> session-rekey data default command, which sets the data parameter to the default value of the individual cipher you are using.
    3. admin@PA-3250# set deviceconfig system ssh profiles ha-profiles <name> session-rekey interval 3600
      Rekeying occurs after the specified time interval (in seconds) passes following the previous rekeying. By default, time-based rekeying is disabled (set to none). The range is 10 to 3,600.
    4. admin@PA-3250# set deviceconfig system ssh profiles ha-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 ha-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-3250# commit
    6. admin@PA-3250# exit
    7. (HA1 Backup is configured) admin@PA-3250> request high-availability session-reestablish
    8. (No HA1 Backup is configured or HA1 Backup link is down) admin@PA-3250> request high-availability session-reestablish force
      You can force the firewall to reestablish HA1 sessions if there is no HA1 backup, which causes a brief split-brain condition between the two HA peers. (Using the force option when an HA1 backup is configured has no effect.)
    9. To verify the changes:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh profiles ha-profiles <name> session-rekey
  • Activate the profile by selecting the profile and restarting HA1 SSH service.
    1. admin@PA-3250> configure
    2. admin@PA-3250# set deviceconfig system ssh ha ha-profile <name>
    3. admin@PA-3250# commit
    4. admin@PA-3250# exit
    5. admin@PA-3250> set ssh service-restart ha
    6. To verify the correct profile is in use:
      admin@PA-3250> configure
      admin@PA-3250# show deviceconfig system ssh ha