f5 Master Key Backup and Restore
The f5 master key is used to encrypt and decrypt all that is secure on your f5 appliance including certificate keys, passphrases and UCS configuration files; this is obviously therefore an absolutely vital piece of information in certain situations.
If you have a synchronized cluster then this is not so much of an issue: when you add a new device to the cluster – be that a new member or an RMA replacement for a failed appliance – then the master key will be synchronized as well.
Situations where this can really impact your ability to get back up and running quickly is when you have a standalone appliance or you are transferring config from one machine to another:
- Standalone appliance fails, monitoring systems go crazy and red lights start blinking everywhere – you call it in and you have a new machine on site in 4 hours (if you bought the right support contract!)
- You plug it in and give it a management IP and access the GUI
- Feeling smug because you’ve taken regular backups and stored them offline, you upload your latest UCS archive to restore the configuration
- Config load fails as it is unable to decrypt the SSL keys passphrases, LDAP profiles passphrases, cookie encryption passphrases etc. etc.
- You may see the following in the logs: Decryption of the field (field_name) for object (object_name) failed
- Trawl through the config, edit out the passphrases and re-key most of it from scratch
- Change the master key to the one from the failed appliance, upload your UCS config and engage ultra-smug mode.
This is very easily done using the “f5 Master Key Utility” and should form part of your backup process for all your f5 appliances:
Backup the Master Key Using f5mku
- Use the “-K” switch to display the master key and then copy the resulting key securely to an offline vault:
[root@f5] ~ # f5mku -K
Restore the Master Key Uing f5mku
- Use the “-r” switch to restore the key to your new appliance:
[root@f5] ~ # f5mku -r 7gcOKj3dhFjhr4mFy0AU1p==
Rekeying Master Key...
[root@f5] ~ #
- Job done! Now you can upload the UCS config archive without needing to worry about decryption failures.
Note: f5kmu Options
[root@f5] ~ # f5mku --h
f5mku: invalid option -- -
Usage: f5mku [d:?fhHr:t:uUvYZ]
Commands: (one of these must be specified)
-d bits generate a base64 encoded RSA key and output to stdout
-f fetch unit key
-Z dump debug information
-r key rekey with the specifed master key (b64 encoded)
-? -h this help
-t # Timeout value in seconds (1-500)
-u Unit test posture (no HAL)
-U Test unit key functionality.
-H Force I/O to HAL storage
-v set verbose mode
-Y Answer Yes to any queries
Log messages (including debug) go to authpriv and local6 facilities.